Submit Your Article


 
RPG Maker

Welcome Guest ( Log In | Register )


  Games Resources RPG Maker VX RPG Maker XP Scripts Tutorials Downloads

2 Pages V   1 2 >  
Reply to this topicStart new topic
> Screen Resolution Script, Enable 640 X 480 resolution for VX
neclords
post Apr 19 2008, 12:41 AM
Post #1


Love me! I wanna you to love me!
Group Icon

Group: Revolutionary
Posts: 196
Type: Event Designer
RM Skill: Beginner







TDS Resolution Change


Introduction

Well if you want to transition your project to VX or just want the old 640 x 480 this script will help you out.

Features

It just changes the default 544 x 416 screen resolution of VX to 640 x 480 the RPG Maker XP resolution.

Screenshots

Default RPG Maker VX Resolution with black border.



New 640 x 480 resolution without border.



Demo
N/A

Script


CODE
#======================================================================
========
# ** TDS Resolution Change[VX]
# Version: 1.8
#------------------------------------------------------------------------------
# This script changes the resolution from the default VX resolution
# of 544 x 416 to 640 x 480 RMXP Resolution
#==============================================================================

#--------------------------------------------------------------------------
# * Graphics - Rezise Screen
#--------------------------------------------------------------------------
Graphics.resize_screen(640, 480)

#==============================================================================
# ▼ Game Objects
#------------------------------------------------------------------------------
# All clases below the Game Objects tab
#==============================================================================

#==============================================================================
# ** Game_Map
#------------------------------------------------------------------------------
# This class handles maps. It includes scrolling and passage determination
# functions. The instance of this class is referenced by $game_map.
#==============================================================================

class Game_Map
#--------------------------------------------------------------------------
# * Scroll Setup
#--------------------------------------------------------------------------
alias tds_vx_resolution_change_setup_scroll setup_scroll
def setup_scroll
tds_vx_resolution_change_setup_scroll
@scroll_direction = 2
@scroll_rest = 0
@scroll_speed = 4
@margin_x = (width - 20) * 256 / 2 # Screen non-display width /2
@margin_y = (height - 15) * 256 / 2 # Screen non-display height /2
end

#--------------------------------------------------------------------------
# * Calculate X coordinate for parallax display
# bitmap : Parallax bitmap
#--------------------------------------------------------------------------
alias tds_vx_resolution_change_calc_parallax_x calc_parallax_x
def calc_parallax_x(bitmap)
tds_vx_resolution_change_calc_parallax_x(bitmap)
if bitmap == nil
return 0
elsif @parallax_loop_x
return @parallax_x / 16
elsif loop_horizontal?
return 0
else
w1 = bitmap.width - 640
w2 = @map.width * 32 - 640
if w1 <= 0 or w2 <= 0
return 0
else
return @parallax_x * w1 / w2 / 8
end
end
end

#--------------------------------------------------------------------------
# * Calculate Y coordinate for parallax display
# bitmap : Parallax bitmap
#--------------------------------------------------------------------------
alias tds_vx_resolution_change_calc_parallax_y calc_parallax_y
def calc_parallax_y(bitmap)
tds_vx_resolution_change_calc_parallax_y(bitmap)
if bitmap == nil
return 0
elsif @parallax_loop_y
return @parallax_y / 16
elsif loop_vertical?
return 0
else
h1 = bitmap.height - 480
h2 = @map.height * 32 - 480
if h1 <= 0 or h2 <= 0
return 0
else
return @parallax_y * h1 / h2 / 8
end
end
end

#--------------------------------------------------------------------------
# * Scroll Down
# distance : scroll distance
# *Note: Could not be aliased because it causes the scrolling to look
# Unnatural
#--------------------------------------------------------------------------
def scroll_down(distance)
if loop_vertical?
@display_y += distance
@display_y %= @map.height * 256
@parallax_y += distance
else
last_y = @display_y
@display_y = [@display_y + distance, (height - 15) * 256].min
@parallax_y += @display_y - last_y
end
end

#--------------------------------------------------------------------------
# * Scroll Right
# distance : scroll distance
# *Note: Could not be aliased because it causes the scrolling to look
# Unnatural
#--------------------------------------------------------------------------
def scroll_right(distance)
if loop_horizontal?
@display_x += distance
@display_x %= @map.width * 256
@parallax_x += distance
else
last_x = @display_x
@display_x = [@display_x + distance, (width - 20) * 256].min
@parallax_x += @display_x - last_x
end
end
end


#==============================================================================
# ** Game_Player
#------------------------------------------------------------------------------
# This class handles maps. It includes event starting determinants and map
# scrolling functions. The instance of this class is referenced by $game_map.
#==============================================================================

class Game_Player < Game_Character
#--------------------------------------------------------------------------
# * Constants
#--------------------------------------------------------------------------
CENTER_X = (640 / 2 - 16) * 8 # Screen center X coordinate * 8
CENTER_Y = (480 / 2 - 16) * 8 # Screen center X coordinate * 8
#--------------------------------------------------------------------------
# * Set Map Display Position to Center of Screen
# x : x-coordinate
# y : y-coordinate
#--------------------------------------------------------------------------
alias tds_vx_resolution_change_center center
def center(x, y)
tds_vx_resolution_change_center(x, y)
display_x = x * 256 - CENTER_X # Calculate coordinates
unless $game_map.loop_horizontal? # No loop horizontally?
max_x = ($game_map.width - 20) * 256 # Calculate max value
display_x = [0, [display_x, max_x].min].max # Adjust coordinates
end
display_y = y * 256 - CENTER_Y # Calculate coordinates
unless $game_map.loop_vertical? # No loop vertically?
max_y = ($game_map.height - 15) * 256 # Calculate max value
display_y = [0, [display_y, max_y].min].max # Adjust coordinates
end
$game_map.set_display_pos(display_x, display_y) # Change map location
end
end


#==============================================================================
# ▼ Sprites
#------------------------------------------------------------------------------
# All clases below the Sprites tab
#==============================================================================

#==============================================================================
# ** Sprite_Base
#------------------------------------------------------------------------------
# A sprite class with animation display processing added.
#==============================================================================
class Sprite_Base < Sprite
#--------------------------------------------------------------------------
# * Start Animation
#--------------------------------------------------------------------------
alias tds_vx_resolution_change_start_animation start_animation
def start_animation(animation, mirror = false)
tds_vx_resolution_change_start_animation(animation, mirror = false)
dispose_animation
@animation = animation
return if @animation == nil
@animation_mirror = mirror
@animation_duration = @animation.frame_max * 4 + 1
load_animation_bitmap
@animation_sprites = []
if @animation.position != 3 or not @@animations.include?(animation)
if @use_sprite
for i in 0..15
sprite = ::Sprite.new(viewport)
sprite.visible = false
@animation_sprites.push(sprite)
end
unless @@animations.include?(animation)
@@animations.push(animation)
end
end
end
if @animation.position == 3
if viewport == nil
@animation_ox = 640 / 2
@animation_oy = 480 / 2
else
@animation_ox = viewport.rect.width / 2
@animation_oy = viewport.rect.height / 2
end
else
@animation_ox = x - ox + width / 2
@animation_oy = y - oy + height / 2
if @animation.position == 0
@animation_oy -= height / 2
elsif @animation.position == 2
@animation_oy += height / 2
end
end
end
end

#==============================================================================
# ** Spriteset_Map
#------------------------------------------------------------------------------
# This class brings together map screen sprites, tilemaps, etc. It's used
# within the Scene_Map class.
#==============================================================================

class Spriteset_Map
#--------------------------------------------------------------------------
# * Create Viewport
#--------------------------------------------------------------------------
alias tds_vx_resolution_change_create_viewports create_viewports
def create_viewports
tds_vx_resolution_change_create_viewports
@viewport1 = Viewport.new(0, 0, 640, 480)
@viewport2 = Viewport.new(0, 0, 640, 480)
@viewport3 = Viewport.new(0, 0, 640, 480)
@viewport2.z = 50
@viewport3.z = 100
end
end


Instructions
Just put it above main in the area for new scripts and it does all its functions alone.

Compatibility

It's recommended that you use the minimum map size of Width x 20 Height x 15 so the script wont try to loop on the remaining map.

Well... The script is not complete... Mostly because I've been busy and cant find the time to go class by class and making it compatible.

If any other scripter wishes to make the other VX scripts compatible with the new screen resolution it will greatly appreciated.


Credits and Thanks
TDS


__________________________

~Time To sWallow tHe Pain and VaniSH OuR HuRt~
Go to the top of the page
 
+Quote Post
   
Cryoma
post May 29 2008, 06:51 PM
Post #2


Level 4
Group Icon

Group: Member
Posts: 53
Type: Musician
RM Skill: Undisclosed




Dandy, I'm assuming I can change it around for any resolution but I'll wait till I get home to find out :]
Go to the top of the page
 
+Quote Post
   
platipus
post May 30 2008, 12:38 PM
Post #3


Level 11
Group Icon

Group: Revolutionary
Posts: 191
Type: Event Designer
RM Skill: Skilled




it changed the window size for me but not the game screen >.>


__________________________
using xp now and will continue to until a better rpg maker
Go to the top of the page
 
+Quote Post
   
captainregal
post Apr 21 2009, 06:48 PM
Post #4


Level 5
Group Icon

Group: Member
Posts: 68
Type: Event Designer
RM Skill: Advanced




QUOTE (platipus @ May 30 2008, 04:38 PM) *
it changed the window size for me but not the game screen >.>

[Show/Hide] Code Wraps dont work
#=========================================================================
=====# ** TDS Resolution Change[VX]# Version: 1.8#------------------------------------------------------------------------------# This script changes the resolution from the default VX resolution # of 544 x 416 to 640 x 480 RMXP Resolution#=====================================================================
========= #-------------------------------------------------------------------------- # * Graphics - Rezise Screen #-------------------------------------------------------------------------- Graphics.resize_screen(640, 480)#===========================================================================
===# ▼ Game Objects#------------------------------------------------------------------------------# All clases below the Game Objects tab#============================================================================
==#==============================================================================
# ** Game_Map#------------------------------------------------------------------------------# This class handles maps. It includes scrolling and passage determination# functions. The instance of this class is referenced by $game_map.#=================================================================
=============class Game_Map #-------------------------------------------------------------------------- # * Scroll Setup #-------------------------------------------------------------------------- alias tds_vx_resolution_change_setup_scroll setup_scroll def setup_scroll tds_vx_resolution_change_setup_scroll @scroll_direction = 2 @scroll_rest = 0 @scroll_speed = 4 @margin_x = (width - 20) * 256 / 2 # Screen non-display width /2 @margin_y = (height - 15) * 256 / 2 # Screen non-display height /2 end #-------------------------------------------------------------------------- # * Calculate X coordinate for parallax display # bitmap : Parallax bitmap #-------------------------------------------------------------------------- alias tds_vx_resolution_change_calc_parallax_x calc_parallax_x def calc_parallax_x(bitmap) tds_vx_resolution_change_calc_parallax_x(bitmap) if bitmap == nil return 0 elsif @parallax_loop_x return @parallax_x / 16 elsif loop_horizontal? return 0 else w1 = bitmap.width - 640 w2 = @map.width * 32 - 640 if w1 <= 0 or w2 <= 0 return 0 else return @parallax_x * w1 / w2 / 8 end end end #-------------------------------------------------------------------------- # * Calculate Y coordinate for parallax display # bitmap : Parallax bitmap #-------------------------------------------------------------------------- alias tds_vx_resolution_change_calc_parallax_y calc_parallax_y def calc_parallax_y(bitmap) tds_vx_resolution_change_calc_parallax_y(bitmap) if bitmap == nil return 0 elsif @parallax_loop_y return @parallax_y / 16 elsif loop_vertical? return 0 else h1 = bitmap.height - 480 h2 = @map.height * 32 - 480 if h1 <= 0 or h2 <= 0 return 0 else return @parallax_y * h1 / h2 / 8 end end end #-------------------------------------------------------------------------- # * Scroll Down # distance : scroll distance # *Note: Could not be aliased because it causes the scrolling to look # Unnatural #-------------------------------------------------------------------------- def scroll_down(distance) if loop_vertical? @display_y += distance @display_y %= @map.height * 256 @parallax_y += distance else last_y = @display_y @display_y = [@display_y + distance, (height - 15) * 256].min @parallax_y += @display_y - last_y end end #-------------------------------------------------------------------------- # * Scroll Right # distance : scroll distance # *Note: Could not be aliased because it causes the scrolling to look # Unnatural #-------------------------------------------------------------------------- def scroll_right(distance) if loop_horizontal? @display_x += distance @display_x %= @map.width * 256 @parallax_x += distance else last_x = @display_x @display_x = [@display_x + distance, (width - 20) * 256].min @parallax_x += @display_x - last_x end endend#=========================================================================
=====# ** Game_Player#------------------------------------------------------------------------------# This class handles maps. It includes event starting determinants and map# scrolling functions. The instance of this class is referenced by $game_map.#=================================================================
=============class Game_Player < Game_Character #-------------------------------------------------------------------------- # * Constants #-------------------------------------------------------------------------- CENTER_X = (640 / 2 - 16) * 8 # Screen center X coordinate * 8 CENTER_Y = (480 / 2 - 16) * 8 # Screen center X coordinate * 8 #-------------------------------------------------------------------------- # * Set Map Display Position to Center of Screen # x : x-coordinate # y : y-coordinate #-------------------------------------------------------------------------- alias tds_vx_resolution_change_center center def center(x, y) tds_vx_resolution_change_center(x, y) display_x = x * 256 - CENTER_X # Calculate coordinates unless $game_map.loop_horizontal? # No loop horizontally? max_x = ($game_map.width - 20) * 256 # Calculate max value display_x = [0, [display_x, max_x].min].max # Adjust coordinates end display_y = y * 256 - CENTER_Y # Calculate coordinates unless $game_map.loop_vertical? # No loop vertically? max_y = ($game_map.height - 15) * 256 # Calculate max value display_y = [0, [display_y, max_y].min].max # Adjust coordinates end $game_map.set_display_pos(display_x, display_y) # Change map location endend#=========================================================================
=====# ▼ Sprites#------------------------------------------------------------------------------# All clases below the Sprites tab#============================================================================
==#==============================================================================
# ** Sprite_Base#------------------------------------------------------------------------------# A sprite class with animation display processing added.#=========================================================================
=====class Sprite_Base < Sprite #-------------------------------------------------------------------------- # * Start Animation #-------------------------------------------------------------------------- alias tds_vx_resolution_change_start_animation start_animation def start_animation(animation, mirror = false) tds_vx_resolution_change_start_animation(animation, mirror = false) dispose_animation @animation = animation return if @animation == nil @animation_mirror = mirror @animation_duration = @animation.frame_max * 4 + 1 load_animation_bitmap @animation_sprites = [] if @animation.position != 3 or not @@animations.include?(animation) if @use_sprite for i in 0..15 sprite = ::Sprite.new(viewport) sprite.visible = false @animation_sprites.push(sprite) end unless @@animations.include?(animation) @@animations.push(animation) end end end if @animation.position == 3 if viewport == nil @animation_ox = 640 / 2 @animation_oy = 480 / 2 else @animation_ox = viewport.rect.width / 2 @animation_oy = viewport.rect.height / 2 end else @animation_ox = x - ox + width / 2 @animation_oy = y - oy + height / 2 if @animation.position == 0 @animation_oy -= height / 2 elsif @animation.position == 2 @animation_oy += height / 2 end end endend#=========================================================================
=====# ** Spriteset_Map#------------------------------------------------------------------------------# This class brings together map screen sprites, tilemaps, etc. It's used# within the Scene_Map class.#=========================================================================
=====class Spriteset_Map #-------------------------------------------------------------------------- # * Create Viewport #-------------------------------------------------------------------------- alias tds_vx_resolution_change_create_viewports create_viewports def create_viewports tds_vx_resolution_change_create_viewports @viewport1 = Viewport.new(0, 0, 640, 480) @viewport2 = Viewport.new(0, 0, 640, 480) @viewport3 = Viewport.new(0, 0, 640, 480) @viewport2.z = 50 @viewport3.z = 100 endend
Go to the top of the page
 
+Quote Post
   
TalesOf_Fantasy
post Apr 21 2009, 10:14 PM
Post #5


Level 3
Group Icon

Group: Member
Posts: 42
Type: Artist
RM Skill: Skilled




Great! Now i can make my game in full screen without those anoyying black boards
THANKS FOR THE SCRIPT!


__________________________



MZ Multimedia Studios current projcts:

Divine Fantasy
Entusia 'The Unlimited Sky'
Go to the top of the page
 
+Quote Post
   
1a42
post Apr 30 2009, 04:39 PM
Post #6


Level 1
Group Icon

Group: Member
Posts: 14
Type: Event Designer
RM Skill: Beginner




I had to put the Line breaks myself and I have a problem with line 90. All line 90 says is end.
Attached File(s)
Attached File  Script_FS_error_Line_90.jpg ( 146.96K ) Number of downloads: 162
 
Go to the top of the page
 
+Quote Post
   
ShinAlcatraz
post Jul 6 2009, 08:08 AM
Post #7


Level 8
Group Icon

Group: Revolutionary
Posts: 126
Type: Scripter
RM Skill: Advanced




I have a problem, the window message are in the middle of the screen not down of this


__________________________
Ps: My girlfriend is a good many times in my Account, so please don't be confused when I "sound" like a girl :)



Aeternum Kafkaesk - Runen von Asgard (Runes of Asgard)

Story: 43%
Scripts: 94%
Mapping: 31%
Events: 33%
Others: 85%
Demo Status: 0.26


Add the Dark Druid Nergal to your sig, and help him liberate the world!
Go to the top of the page
 
+Quote Post
   
onidsouza
post Jul 6 2009, 11:24 AM
Post #8


image master of doom
Group Icon

Group: Revolutionary
Posts: 603
Type: None
RM Skill: Undisclosed




lol, i found topic number 666: showtopic=666


__________________________
Gabba Gabba Hey! enjoy your life ^^
lol (by keet's brother)
some lol
more lol
even MORE lol
Serious Discussion
why all my lol's have Teh Parakeet involved?

me ^^

bacon

Spamming is always better with bacon
Go to the top of the page
 
+Quote Post
   
pertdts
post Jul 6 2009, 03:22 PM
Post #9



Group Icon

Group: Member
Posts: 2
Type: Developer
RM Skill: Skilled




This thing rocks.
Well it has some thingies that need to get fixed but it's nothing really annoying or hard to repair.

For example: If you use this script with the default Title screen you will get black borders on right side and bottom side.
Solution: Use only 640x480 pics(obviously...)

Another one: All boxes (menus,messages etc.) seem to be a bit misplaced
Well about this one: I'm not really sure whether you can or can't fix that on the given script but I'm sure you can fix it by editing
the scripts that RMVX already uses

For example: The start menu
Open up the script editor and find the script named: Scene_Title
Find lines 147-164
CODE
#--------------------------------------------------------------------------
# * Create Command Window
#--------------------------------------------------------------------------
def create_command_window
s1 = Vocab::new_game
s2 = Vocab::continue
s3 = Vocab::shutdown
@command_window = Window_Command.new(172, [s1, s2, s3])
@command_window.x = (544 - @command_window.width) / 2
@command_window.y = 288
if @continue_enabled # If continue is enabled
@command_window.index = 1 # Move cursor over command
else # If disabled
@command_window.draw_item(1, false) # Make command semi-transparent
end
@command_window.openness = 0
@command_window.open
end


This is where the program creates the Main Menu window
Lines 155 and 156 are the positioning. Simply change the two 3digit numbers(544 and 288)
I find that x=640... and y=240 are pretty well centered for my liking.
I will find the scripts for the rest of the windows and post them as soon as I can.
Or if someone else could find and post them, or knows of a way to fix the positioning please let us know...

Apart from these thingies, it's an excellent script. I think it will be one of the scripts that I will use in any game I create.



__________________________
Maybe blowing this part of the universe into a flaming storm of nothingness will cheer me up...
Go to the top of the page
 
+Quote Post
   
ShinAlcatraz
post Jul 7 2009, 04:25 AM
Post #10


Level 8
Group Icon

Group: Revolutionary
Posts: 126
Type: Scripter
RM Skill: Advanced




QUOTE (pertdts @ Jul 6 2009, 04:22 PM) *
For example: The start menu
Open up the script editor and find the script named: Scene_Title
Find lines 147-164
This is where the program creates the Main Menu window
Lines 155 and 156 are the positioning. Simply change the two 3digit numbers(544 and 288)
I find that x=640... and y=240 are pretty well centered for my liking.
I will find the scripts for the rest of the windows and post them as soon as I can.
Or if someone else could find and post them, or knows of a way to fix the positioning please let us know...

Apart from these thingies, it's an excellent script. I think it will be one of the scripts that I will use in any game I create.


And for the normal message window? ><



__________________________
Ps: My girlfriend is a good many times in my Account, so please don't be confused when I "sound" like a girl :)



Aeternum Kafkaesk - Runen von Asgard (Runes of Asgard)

Story: 43%
Scripts: 94%
Mapping: 31%
Events: 33%
Others: 85%
Demo Status: 0.26


Add the Dark Druid Nergal to your sig, and help him liberate the world!
Go to the top of the page
 
+Quote Post
   
pertdts
post Jul 7 2009, 04:50 AM
Post #11



Group Icon

Group: Member
Posts: 2
Type: Developer
RM Skill: Skilled




For the normal message window I found two parts that need tweaking:

First, find the script: Window_Message
Find line 16, it should look something like:
CODE
super(0, 288, 544, 128)


Change it so it looks like this:
CODE
super(0, 288, 640, 128)


This will allow you to print text in a 640 scale, which in simple word means a bit longer text lines.

Now for the box(window) itself:

Well... in order to make the window to totally cover the screen horizontaly you need to change the MessageBack picture
This should be in the resource manager, in the Graphics/System folder.
This picture's scale is originally 544x???(can't remember vertical right now,too bored to check tongue.gif ).
You have to change it with one that is of a 640x??? scale.
Attached File  MessageBack.png ( 3.52K ) Number of downloads: 133

This picture should do it.
Simply import it from the resource manager so it will replace the old,shorter scale one.

I hope this helps you...


__________________________
Maybe blowing this part of the universe into a flaming storm of nothingness will cheer me up...
Go to the top of the page
 
+Quote Post
   
Seano299
post Jul 31 2009, 03:06 AM
Post #12


Level 1
Group Icon

Group: Member
Posts: 6
Type: Event Designer
RM Skill: Beginner




unsure.gif Hey I have a problem, when ever I try to put this script in all of it is on line 1, It just goes in one long line! Help! and it's not only this script! it happens with loads of other scripts!
Go to the top of the page
 
+Quote Post
   
SuperMega
post Jul 31 2009, 07:58 AM
Post #13


Public memberTitle(String n)
Group Icon

Group: Revolutionary
Posts: 683
Type: Developer
RM Skill: Skilled




QUOTE (Seano299 @ Jul 31 2009, 06:06 AM) *
unsure.gif Hey I have a problem, when ever I try to put this script in all of it is on line 1, It just goes in one long line! Help! and it's not only this script! it happens with loads of other scripts!

Try to paste the script in notepad first, then into the script editor. That will solve your problem.


__________________________
Translated Scripts:
Diagonal Movement (Eight Direction) and Smooth Jumping
Attack Party, Heal Enemies
Display Party Status On Map (DQ Style)
Display Maps Under Maps
Save Screen Customization
Subtitled Menus

If you want to suggest a translation for something, PM me, and I'll take a look. I AM TRYING TO GIVE AWAY LOCKERZ.com INVITES, SO PLEASE LET ME KNOW IF YOU WANT ONE.
Currently Working on 2 RPG Maker VX Projects. They are very unique, and have a different kind of style then the usual RPGs. So don't think of them as just another RPG. Did that sound rude? :D Not sure if I want them to go public yet, but we'll see how it goes.
Need a script translated? Come talk to me, and I'll see what I can do.
Go to the top of the page
 
+Quote Post
   
Valnar
post Aug 7 2009, 12:25 AM
Post #14


Level 4
Group Icon

Group: Member
Posts: 47
Type: Developer
RM Skill: Masterful




i whould have 2 Question (acctuly 3 but this got answered about the message window misplace)
first is could it be to change the Relution to 800x600 or higher?


#= fixed
#and second it got an problem iwth the battle back
#
[Show/Hide] Picture


#i already tryed editing in the spriteset_battle but didn´t done anything in the end so any help?


[And yeah the last post is kinda old]

This post has been edited by Valnar: Aug 7 2009, 09:59 AM


__________________________
Memories....
http://avalnar.co.cc/ - PHP;HTML;CSS;SQL;PS;TOP Tutorials and Sources

Go to the top of the page
 
+Quote Post
   
Zudane
post Aug 17 2009, 02:13 AM
Post #15



Group Icon

Group: Member
Posts: 2
Type: None
RM Skill: Undisclosed




Needs MAJOR updates to menu coords...

If someone can change the script t add these in. And as a note: any other scripts that set menus need to be changed if you use this.

You'll need to figure it out for yourself though, I managed to - and I'm new to this all!

These are all the other parts that need to be fixed:

what better way to learn than by doing.... I put them together into the script. I only take credit for correcting it, but this should work:

CODE
#======================================================================
# ** TDS Resolution Change[VX]
# Version: 1.8
#------------------------------------------------------------------------------
# This script changes the resolution from the default VX resolution
# of 544 x 416 to 640 x 480 RMXP Resolution
#==============================================================================

#--------------------------------------------------------------------------
# * Graphics - Rezise Screen
#--------------------------------------------------------------------------
Graphics.resize_screen(640, 480)

#==============================================================================
# ? Game Objects
#------------------------------------------------------------------------------
# All clases below the Game Objects tab
#==============================================================================

#==============================================================================
# ** Game_Map
#------------------------------------------------------------------------------
# This class handles maps. It includes scrolling and passage determination
# functions. The instance of this class is referenced by $game_map.
#==============================================================================

class Game_Map
#--------------------------------------------------------------------------
# * Scroll Setup
#--------------------------------------------------------------------------
alias tds_vx_resolution_change_setup_scroll setup_scroll
def setup_scroll
tds_vx_resolution_change_setup_scroll
@scroll_direction = 2
@scroll_rest = 0
@scroll_speed = 4
@margin_x = (width - 20) * 256 / 2 # Screen non-display width /2
@margin_y = (height - 15) * 256 / 2 # Screen non-display height /2
end

#--------------------------------------------------------------------------
# * Calculate X coordinate for parallax display
# bitmap : Parallax bitmap
#--------------------------------------------------------------------------
alias tds_vx_resolution_change_calc_parallax_x calc_parallax_x
def calc_parallax_x(bitmap)
tds_vx_resolution_change_calc_parallax_x(bitmap)
if bitmap == nil
return 0
elsif @parallax_loop_x
return @parallax_x / 16
elsif loop_horizontal?
return 0
else
w1 = bitmap.width - 640
w2 = @map.width * 32 - 640
if w1 <= 0 or w2 <= 0
return 0
else
return @parallax_x * w1 / w2 / 8
end
end
end

#--------------------------------------------------------------------------
# * Calculate Y coordinate for parallax display
# bitmap : Parallax bitmap
#--------------------------------------------------------------------------
alias tds_vx_resolution_change_calc_parallax_y calc_parallax_y
def calc_parallax_y(bitmap)
tds_vx_resolution_change_calc_parallax_y(bitmap)
if bitmap == nil
return 0
elsif @parallax_loop_y
return @parallax_y / 16
elsif loop_vertical?
return 0
else
h1 = bitmap.height - 480
h2 = @map.height * 32 - 480
if h1 <= 0 or h2 <= 0
return 0
else
return @parallax_y * h1 / h2 / 8
end
end
end

#--------------------------------------------------------------------------
# * Scroll Down
# distance : scroll distance
# *Note: Could not be aliased because it causes the scrolling to look
# Unnatural
#--------------------------------------------------------------------------
def scroll_down(distance)
if loop_vertical?
@display_y += distance
@display_y %= @map.height * 256
@parallax_y += distance
else
last_y = @display_y
@display_y = [@display_y + distance, (height - 15) * 256].min
@parallax_y += @display_y - last_y
end
end

#--------------------------------------------------------------------------
# * Scroll Right
# distance : scroll distance
# *Note: Could not be aliased because it causes the scrolling to look
# Unnatural
#--------------------------------------------------------------------------
def scroll_right(distance)
if loop_horizontal?
@display_x += distance
@display_x %= @map.width * 256
@parallax_x += distance
else
last_x = @display_x
@display_x = [@display_x + distance, (width - 20) * 256].min
@parallax_x += @display_x - last_x
end
end
end


#==============================================================================
# ** Game_Player
#------------------------------------------------------------------------------
# This class handles maps. It includes event starting determinants and map
# scrolling functions. The instance of this class is referenced by $game_map.
#==============================================================================

class Game_Player < Game_Character
#--------------------------------------------------------------------------
# * Constants
#--------------------------------------------------------------------------
CENTER_X = (640 / 2 - 16) * 8 # Screen center X coordinate * 8
CENTER_Y = (480 / 2 - 16) * 8 # Screen center X coordinate * 8
#--------------------------------------------------------------------------
# * Set Map Display Position to Center of Screen
# x : x-coordinate
# y : y-coordinate
#--------------------------------------------------------------------------
alias tds_vx_resolution_change_center center
def center(x, y)
tds_vx_resolution_change_center(x, y)
display_x = x * 256 - CENTER_X # Calculate coordinates
unless $game_map.loop_horizontal? # No loop horizontally?
max_x = ($game_map.width - 20) * 256 # Calculate max value
display_x = [0, [display_x, max_x].min].max # Adjust coordinates
end
display_y = y * 256 - CENTER_Y # Calculate coordinates
unless $game_map.loop_vertical? # No loop vertically?
max_y = ($game_map.height - 15) * 256 # Calculate max value
display_y = [0, [display_y, max_y].min].max # Adjust coordinates
end
$game_map.set_display_pos(display_x, display_y) # Change map location
end
end


#==============================================================================
# ? Sprites
#------------------------------------------------------------------------------
# All clases below the Sprites tab
#==============================================================================

#==============================================================================
# ** Sprite_Base
#------------------------------------------------------------------------------
# A sprite class with animation display processing added.
#==============================================================================
class Sprite_Base < Sprite
#--------------------------------------------------------------------------
# * Start Animation
#--------------------------------------------------------------------------
alias tds_vx_resolution_change_start_animation start_animation
def start_animation(animation, mirror = false)
tds_vx_resolution_change_start_animation(animation, mirror = false)
dispose_animation
@animation = animation
return if @animation == nil
@animation_mirror = mirror
@animation_duration = @animation.frame_max * 4 + 1
load_animation_bitmap
@animation_sprites = []
if @animation.position != 3 or not @@animations.include?(animation)
if @use_sprite
for i in 0..15
sprite = ::Sprite.new(viewport)
sprite.visible = false
@animation_sprites.push(sprite)
end
unless @@animations.include?(animation)
@@animations.push(animation)
end
end
end
if @animation.position == 3
if viewport == nil
@animation_ox = 640 / 2
@animation_oy = 480 / 2
else
@animation_ox = viewport.rect.width / 2
@animation_oy = viewport.rect.height / 2
end
else
@animation_ox = x - ox + width / 2
@animation_oy = y - oy + height / 2
if @animation.position == 0
@animation_oy -= height / 2
elsif @animation.position == 2
@animation_oy += height / 2
end
end
end
end

class Sprite_Timer < Sprite

#--------------------------------------------------------------------------
# * Object Initialization
# viewport : viewport
#--------------------------------------------------------------------------
def initialize(viewport)
super(viewport)
self.bitmap = Bitmap.new(88, 48)
self.bitmap.font.name = "Arial"
self.bitmap.font.size = 32
self.x = 640 - self.bitmap.width
self.y = 0
self.z = 200
update
end
end

#==============================================================================
# ** Spriteset_Map
#------------------------------------------------------------------------------
# This class brings together map screen sprites, tilemaps, etc. It's used
# within the Scene_Map class.
#==============================================================================

class Spriteset_Map
#--------------------------------------------------------------------------
# * Create Viewport
#--------------------------------------------------------------------------
alias tds_vx_resolution_change_create_viewports create_viewports
def create_viewports
tds_vx_resolution_change_create_viewports
@viewport1 = Viewport.new(0, 0, 640, 480)
@viewport2 = Viewport.new(0, 0, 640, 480)
@viewport3 = Viewport.new(0, 0, 640, 480)
@viewport2.z = 50
@viewport3.z = 100
end
end

class Spriteset_Battle
#--------------------------------------------------------------------------
# * Create Viewport
#--------------------------------------------------------------------------
def create_viewports
@viewport1 = Viewport.new(0, 0, 640, 480)
@viewport2 = Viewport.new(0, 0, 640, 480)
@viewport3 = Viewport.new(0, 0, 640, 480)
@viewport2.z = 50
@viewport3.z = 100
end
end

#==============================================================================
# ? Windows
#------------------------------------------------------------------------------
# All clases below the Windows tab
#==============================================================================

class Window_Help < Window_Base
#--------------------------------------------------------------------------
# * Object Initialization
#--------------------------------------------------------------------------
def initialize
super(0, 0, 640, WLH + 32)
end
end

class Window_MenuStatus < Window_Selectable
#--------------------------------------------------------------------------
# * Object Initialization
# x : window X coordinate
# y : window Y coordinate
#--------------------------------------------------------------------------
def initialize(x, y)
super(x, y, 480, 480)
refresh
self.active = false
self.index = -1
end
end

class Window_SkillStatus < Window_Base
#--------------------------------------------------------------------------
# * Object Initialization
# x : window X coordinate
# y : window Y corrdinate
# actor : actor
#--------------------------------------------------------------------------
def initialize(x, y, actor)
super(x, y, 640, WLH + 32)
@actor = actor
refresh
end
end

class Window_Equip < Window_Selectable
#--------------------------------------------------------------------------
# * Object Initialization
# x : window X coordinate
# y : window Y corrdinate
# actor : actor
#--------------------------------------------------------------------------
def initialize(x, y, actor)
super(x, y, 400, WLH * 5 + 32)
@actor = actor
refresh
self.index = 0
end
end

class Window_EquipStatus < Window_Base
#--------------------------------------------------------------------------
# * Object Initialization
# x : window X coordinate
# y : window Y corrdinate
# actor : actor
#--------------------------------------------------------------------------
def initialize(x, y, actor)
super(x, y, 240, WLH * 5 + 32)
@actor = actor
refresh
end
end

class Window_Status < Window_Base
#--------------------------------------------------------------------------
# * Object Initialization
# actor : actor
#--------------------------------------------------------------------------
def initialize(actor)
super(0, 0, 640, 480)
@actor = actor
refresh
end
end

class Window_SaveFile < Window_Base
#--------------------------------------------------------------------------
# * Object Initialization
# file_index : save file index (0-3)
# filename : filename
#--------------------------------------------------------------------------
def initialize(file_index, filename)
super(0, 56 + file_index % 4 * 90, 640, 90)
@file_index = file_index
@filename = filename
load_gamedata
refresh
@selected = false
end
end

class Window_ShopBuy < Window_Selectable
#--------------------------------------------------------------------------
# * Object Initialization
# x : window X coordinate
# y : window Y coordinate
#--------------------------------------------------------------------------
def initialize(x, y)
super(x, y, 352, 368)
@shop_goods = $game_temp.shop_goods
refresh
self.index = 0
end
end

class Window_ShopNumber < Window_Base
#--------------------------------------------------------------------------
# * Object Initialization
# x : window X coordinate
# y : window Y coordinate
#--------------------------------------------------------------------------
def initialize(x, y)
super(x, y, 352, 368)
@item = nil
@max = 1
@price = 0
@number = 1
end
end

class Window_ShopStatus < Window_Base
#--------------------------------------------------------------------------
# * Object Initialization
# x : window X coordinate
# y : window Y coordinate
#--------------------------------------------------------------------------
def initialize(x, y)
super(x, y, 284, 368)
@item = nil
refresh
end
end


class Window_NameInput < Window_Base
#--------------------------------------------------------------------------
# * Object Initialization
# mode : Defeault input mode (always 0 in English version)
#--------------------------------------------------------------------------
def initialize(mode = 0)
super(88, 148, 464, 276)
@mode = mode
@index = 0
refresh
update_cursor
end
end

class Window_NumberInput < Window_Base
#--------------------------------------------------------------------------
# * Object Initialization
# digits_max : digit count
#--------------------------------------------------------------------------
def initialize
super(0, 0, 640, 64)
@number = 0
@digits_max = 6
@index = 0
self.opacity = 0
self.active = false
self.z += 9999
refresh
update_cursor
end
end

class Window_Message < Window_Selectable
#--------------------------------------------------------------------------
# * Object Initialization
#--------------------------------------------------------------------------
def initialize
super(0, 352, 640, 128)
self.z = 200
self.active = false
self.index = -1
self.openness = 0
@opening = false # WIndow opening flag
@closing = false # Window closing flag
@text = nil # Remaining text to be displayed
@contents_x = 0 # X coordinate for drawing next character
@contents_y = 0 # Y coordinate for drawing next character
@line_count = 0 # Line count drawn up until now
@wait_count = 0 # Wait count
@background = 0 # Background type
@position = 2 # Display position
@show_fast = false # Fast forward flag
@line_show_fast = false # Fast forward by line flag
@pause_skip = false # Input standby omission flag
create_gold_window
create_number_input_window
create_back_sprite
end

#--------------------------------------------------------------------------
# * Set Window Background and Position
#--------------------------------------------------------------------------
def reset_window
@background = $game_message.background
@position = $game_message.position
if @background == 0 # Normal window
self.opacity = 255
else # Dim Background and Make it Transparent
self.opacity = 0
end
case @position
when 0 # Top
self.y = 0
@gold_window.y = 448
when 1 # Middle
self.y = 112
@gold_window.y = 0
when 2 # Bottom
self.y = 352
@gold_window.y = 0
end
end

#--------------------------------------------------------------------------
# * Create Gold Window
#--------------------------------------------------------------------------
def create_gold_window
@gold_window = Window_Gold.new(448, 0)
@gold_window.openness = 0
end
end

class Window_TargetEnemy < Window_Command
#--------------------------------------------------------------------------
# * Object Initialization
#--------------------------------------------------------------------------
def initialize
commands = []
@enemies = []
for enemy in $game_troop.members
next unless enemy.exist?
commands.push(enemy.name)
@enemies.push(enemy)
end
super(508, commands, 2, 4)
end
end


#==============================================================================
# ? Scenes
#------------------------------------------------------------------------------
# All clases below the Scenes tab
#==============================================================================


class Scene_Title < Scene_Base
#--------------------------------------------------------------------------
# * Create Command Window
#--------------------------------------------------------------------------
def create_command_window
s1 = Vocab::new_game
s2 = Vocab::continue
s3 = Vocab::shutdown
@command_window = Window_Command.new(172, [s1, s2, s3])
@command_window.x = (640 - @command_window.width) / 2
@command_window.y = 333
if @continue_enabled # If continue is enabled
@command_window.index = 1 # Move cursor over command
else # If disabled
@command_window.draw_item(1, false) # Make command semi-transparent
end
@command_window.openness = 0
@command_window.open
end
end

class Scene_Menu < Scene_Base
#--------------------------------------------------------------------------
# * Start processing
#--------------------------------------------------------------------------
def start
super
create_menu_background
create_command_window
@gold_window = Window_Gold.new(0, 420)
@status_window = Window_MenuStatus.new(160, 0)
end
end

class Scene_Item < Scene_Base
#--------------------------------------------------------------------------
# * Start processing
#--------------------------------------------------------------------------
def start
super
create_menu_background
@viewport = Viewport.new(0, 0, 640, 480)
@help_window = Window_Help.new
@help_window.viewport = @viewport
@item_window = Window_Item.new(0, 56, 640, 424)
@item_window.viewport = @viewport
@item_window.help_window = @help_window
@item_window.active = false
@target_window = Window_MenuStatus.new(0, 0)
hide_target_window
end

#--------------------------------------------------------------------------
# * Show Target Window
# right : Right justification flag (if false, left justification)
#--------------------------------------------------------------------------
def show_target_window(right)
@item_window.active = false
width_remain = 640 - @target_window.width
@target_window.x = right ? width_remain : 0
@target_window.visible = true
@target_window.active = true
if right
@viewport.rect.set(0, 0, width_remain, 480)
@viewport.ox = 0
else
@viewport.rect.set(@target_window.width, 0, width_remain, 480)
@viewport.ox = @target_window.width
end
end
#--------------------------------------------------------------------------
# * Hide Target Window
#--------------------------------------------------------------------------
def hide_target_window
@item_window.active = true
@target_window.visible = false
@target_window.active = false
@viewport.rect.set(0, 0, 640, 480)
@viewport.ox = 0
end
end

class Scene_Skill < Scene_Base
#--------------------------------------------------------------------------
# * Start processing
#--------------------------------------------------------------------------
def start
super
create_menu_background
@actor = $game_party.members[@actor_index]
@viewport = Viewport.new(0, 0, 640, 480)
@help_window = Window_Help.new
@help_window.viewport = @viewport
@status_window = Window_SkillStatus.new(0, 56, @actor)
@status_window.viewport = @viewport
@skill_window = Window_Skill.new(0, 112, 640, 368, @actor)
@skill_window.viewport = @viewport
@skill_window.help_window = @help_window
@target_window = Window_MenuStatus.new(0, 0)
hide_target_window
end


#--------------------------------------------------------------------------
# * Show Target Window
# right : Right justification flag (if false, left justification)
#--------------------------------------------------------------------------
def show_target_window(right)
@skill_window.active = false
width_remain = 640 - @target_window.width
@target_window.x = right ? width_remain : 0
@target_window.visible = true
@target_window.active = true
if right
@viewport.rect.set(0, 0, width_remain, 480)
@viewport.ox = 0
else
@viewport.rect.set(@target_window.width, 0, width_remain, 480)
@viewport.ox = @target_window.width
end
end

#--------------------------------------------------------------------------
# * Hide Target Window
#--------------------------------------------------------------------------
def hide_target_window
@skill_window.active = true
@target_window.visible = false
@target_window.active = false
@viewport.rect.set(0, 0, 640, 480)
@viewport.ox = 0
end
end


class Scene_Equip < Scene_Base
#--------------------------------------------------------------------------
# * Start processing
#--------------------------------------------------------------------------
def start
super
create_menu_background
@actor = $game_party.members[@actor_index]
@help_window = Window_Help.new
create_item_windows
@equip_window = Window_Equip.new(240, 56, @actor)
@equip_window.help_window = @help_window
@equip_window.index = @equip_index
@status_window = Window_EquipStatus.new(0, 56, @actor)
end

#--------------------------------------------------------------------------
# * Create Item Window
#--------------------------------------------------------------------------
def create_item_windows
@item_windows = []
for i in 0...EQUIP_TYPE_MAX
@item_windows[i] = Window_EquipItem.new(0, 208, 640, 272, @actor, i)
@item_windows[i].help_window = @help_window
@item_windows[i].visible = (@equip_index == i)
@item_windows[i].y = 208
@item_windows[i].height = 208
@item_windows[i].active = false
@item_windows[i].index = -1
end
end
end

class Scene_Shop < Scene_Base
#--------------------------------------------------------------------------
# * Start processing
#--------------------------------------------------------------------------
def start
super
create_menu_background
create_command_window
@help_window = Window_Help.new
@gold_window = Window_Gold.new(480, 56)
@dummy_window = Window_Base.new(0, 112, 640, 368)
@buy_window = Window_ShopBuy.new(0, 112)
@buy_window.active = false
@buy_window.visible = false
@buy_window.help_window = @help_window
@sell_window = Window_ShopSell.new(0, 112, 640, 368)
@sell_window.active = false
@sell_window.visible = false
@sell_window.help_window = @help_window
@number_window = Window_ShopNumber.new(0, 112)
@number_window.active = false
@number_window.visible = false
@status_window = Window_ShopStatus.new(352, 112)
@status_window.visible = false
end

#--------------------------------------------------------------------------
# * Create Command Window
#--------------------------------------------------------------------------
def create_command_window
s1 = Vocab::ShopBuy
s2 = Vocab::ShopSell
s3 = Vocab::ShopCancel
@command_window = Window_Command.new(480, [s1, s2, s3], 3)
@command_window.y = 56
if $game_temp.shop_purchase_only
@command_window.draw_item(1, false)
end
end
end


class Scene_Battle < Scene_Base
#--------------------------------------------------------------------------
# * Create Information Display Viewport
#--------------------------------------------------------------------------
def create_info_viewport
@info_viewport = Viewport.new(0, 352, 640, 128)
@info_viewport.z = 100
@status_window = Window_BattleStatus.new
@party_command_window = Window_PartyCommand.new
@actor_command_window = Window_ActorCommand.new
@status_window.viewport = @info_viewport
@party_command_window.viewport = @info_viewport
@actor_command_window.viewport = @info_viewport
@status_window.x = 128
@actor_command_window.x = 640
@info_viewport.visible = false
end
end


29 changes! But it's set on my normal game - and works! just remember to play with any other scripts you got that use menus.

This post has been edited by Zudane: Aug 17 2009, 02:45 AM
Go to the top of the page
 
+Quote Post
   
Cooky101
post Feb 19 2010, 01:10 AM
Post #16



Group Icon

Group: Member
Posts: 1
Type: None
RM Skill: Intermediate




QUOTE (Seano299 @ Jul 31 2009, 04:06 AM) *
unsure.gif Hey I have a problem, when ever I try to put this script in all of it is on line 1, It just goes in one long line! Help! and it's not only this script! it happens with loads of other scripts!


dude i get it with my scripts 2 its fine it dnt do anything bad it just makes it a annoyance to edit
Go to the top of the page
 
+Quote Post
   
TheGOffice
post Dec 17 2011, 04:31 PM
Post #17



Group Icon

Group: Member
Posts: 1
Type: None
RM Skill: Skilled




Really late I know...I was just wondering if this was at all fixable. I dont have mutch time to look at it in depth...so if anyone knows that would be great!



UPDATE
is there a way to extend the text?

This post has been edited by TheGOffice: Dec 17 2011, 04:32 PM
Go to the top of the page
 
+Quote Post
   
Lifespirit
post Dec 27 2011, 06:30 PM
Post #18



Group Icon

Group: Member
Posts: 1
Type: Writer
RM Skill: Beginner




QUOTE (TheGOffice @ Dec 17 2011, 09:31 PM) *
Really late I know...I was just wondering if this was at all fixable. I dont have mutch time to look at it in depth...so if anyone knows that would be great!



UPDATE
is there a way to extend the text?


I found how to fix it. You only have to change the following values in Window_NameEdit (Line 20), Window_NameInput (Line 35) and Window_NumberInput (Line 13). You will find something like this "super(88, 148, 544, 248)" you have to change that "544" to 640 in each of them
example: (super(88, 148, 640, 248), I hope you can understand what im trying to say biggrin.gif
Go to the top of the page
 
+Quote Post
   
Fonstw
post Dec 30 2011, 02:56 AM
Post #19


Level 3
Group Icon

Group: Member
Posts: 36
Type: Writer
RM Skill: Intermediate




In a battle i still see the black border, but then only right and bewol.
And when I'm opening the menu there's alot of space left...


__________________________
Haven't you ever noticed that "four" is the only number with the same amount of letters as it's definition in the entire English language?
Go to the top of the page
 
+Quote Post
   
stripe103
post Dec 30 2011, 02:52 PM
Post #20


PHP ERROR: Couldn't get value from UInteger. Value too large
Group Icon

Group: Revolutionary
Posts: 737
Type: Mapper
RM Skill: Intermediate




That is because this script only changes the window size and makes the map support it.
The rest of the scenes are needed to be modified to use the whole screen space.
Same with all images, they need to be changed to be the same size as the new window space.

This post has been edited by stripe103: Dec 30 2011, 02:53 PM


__________________________

By Axerax

The rest of my sig



Go to the top of the page
 
+Quote Post
   

2 Pages V   1 2 >
Reply to this topicStart new topic
1 User(s) are reading this topic (1 Guests and 0 Anonymous Users)
0 Members:

 

Lo-Fi Version Time is now: 19th May 2013 - 12:44 AM
RPG RPG Revolution is an Privacy Policy and Legal
eXTReMe Tracker