How to use RGSS2 or RGSS3 with RPG Maker XP
By Dargor
This tutorial will guide you step by step and show you how to implement RGSS2 or RGSS3 and all its cool features into RPG Maker XP.
Requirements
The only thing you need is RPG Maker VX (or VX Ace for RGSS3).
In this tutorial, we will need the following files located in RPG Maker VX/Ace game directories:
- VX: Game.exe and RGSS202E.dll
- Ace: Game.exe and RGSS300.dll
Conversion Table
RPG Maker XP, VX and Ace all share the same structure. Most of the time the only diferrence is the name of the files. This table is here to help you understant which files you need to use depending on the version of RPG Maker you are using.
Step 1 - RTP
If you are using the default RTP, copy/paste all of them into your game folder
Step 2 - RGSS Library, Game.exe and Encrypted Archive
A) The first thing we want is the RGSS Library used by the target RPG Maker (VX or Ace). Copy/paste the dll mentioned above in your game folder and rename it RGSS102E.dll. Note that the name of the DLL might change depending on the version of RPG Maker XP you are using. At the time this tutorial was written, I was using version 1.02 so I had to rename the DLL to RGSS102E. But if you're running version 1.04, then rename the DLL RGSS104E.dll. RMXP will first check your game folder for the needed libraries before checking the folder where you installed the software. Each time you save with RPG Maker, it rewrites Game.ini and changes the Library name (RGSS102E.dll in the case of RMXP. Don't forget, the name of the DLL difers depending on the version opr RPG Maker XP!). So by doing this, you don't need to change the name of the library in Game.ini each time you save your game. However, if you want to replace/move/do whatever with the DLL, make sure it's really the one you want.
B) RPG Maker needs to initialize the right process in order to run the game. (in this case it's Game.exe) Using Game.exe from XP obviously won't work because it was designed for RGSS1. So, all you need to do is replace XP Game.exe with VX/Ace Game.exe.
C) If you try to compile your game and then run the compiled game, you will encounter an error saying "Failed to load scripts". This is because the encrypted games using RGSS2/RGSS3 are looking for the file Game.rgss2a/Game.rgss3a. With XP, the file extension is *.rgssad. Simply rename Game.rgssad to Game.rgss2a or Game.rgss3a if you want RGSS3.
Step 3 - Scripts
A) Open RMXP
B) Open the Help Manual (F1)
C) Open the Script Editor (F11)
D) Copy all RPG objects from the Help Manual into the Script Editor. Make sure to put all of these scripts ABOVE everything else.
Note that RPG::MoveCommand has an error.
Here's how it looks in the manual:
Here's how it should look like:
E) Some hidden classes such as Tilemap or Window have changed in VX and probably won't work anymore. The most important thing to update here is the Tilemap.
There's already a couple of Tilemap class rewrites here so pick the one that suites you best. I personally recommend you Poccil's Tilemap rewrite.
This Tilemap class is faster and allow to have maps larger than 64x64. See RMXP + RGSS2 Bitmap bug for more information. Note that RGSS3 does not have this limitation.
Optionally, you can also use a Window class rewrite. The format of windowskins has changed so if you want to use XP's format, you can use Sewlyn's Window class or any other. If you want to keep it simple, adapt your windowskin to the VX format.
Step 4 - $DEBUG/$TEST Flags
In RPGVX/Ace, $DEBUG changed to $TEST. In the Main script, Right below "begin", add the following line:
$DEBUG = $TEST = true
If you don't want to be in debug mode, set these variables to false.
Don't forget to remove this line when publishing your game!
Known Bugs and Issues
It seems that RGSS2 cannot handle bitmaps larger than 2048x2048. However, RGSS3 does not have this issue.
If you are using SephirothSpawn's Tilemap class (the most recent one), you will not be able to make maps larger than 64x64.
Demo
http://rapidshare.com/files/76211589/rpgxp_rgss2.rar.html
Enjoy it!
-Dargor
By Dargor
This tutorial will guide you step by step and show you how to implement RGSS2 or RGSS3 and all its cool features into RPG Maker XP.
Requirements
The only thing you need is RPG Maker VX (or VX Ace for RGSS3).
In this tutorial, we will need the following files located in RPG Maker VX/Ace game directories:
- VX: Game.exe and RGSS202E.dll
- Ace: Game.exe and RGSS300.dll
Conversion Table
RPG Maker XP, VX and Ace all share the same structure. Most of the time the only diferrence is the name of the files. This table is here to help you understant which files you need to use depending on the version of RPG Maker you are using.
RPG Maker XP:
- Game Executable: Game.exe
- RGSS Library: RGSS1xxE.dll (replace 1xx by the version you are using. I.E.: 1.04 would be RGSS104E.dll)
- Game Archive: Game.rgssad
RPG Maker VX:
- Game Executable: Game.exe
- RGSS Library: RGSS2xxE.dll (replace 2xx by the version you are using. I.E.: 2.02 would be RGSS202E.dll)
- Game Archive: Game.rgss2a
RPG Maker VX Ace:
- Game Executable: Game.exe
- RGSS Library: RGSS3xx.dll (replace 3xx by the version you are using. I.E.: 3.01 would be RGSS301.dll. Ace does not have a different library depending on the language, so the E or J at the end is not needed anymore)
- Game Archive: Game.rgss3a
- Game Executable: Game.exe
- RGSS Library: RGSS1xxE.dll (replace 1xx by the version you are using. I.E.: 1.04 would be RGSS104E.dll)
- Game Archive: Game.rgssad
RPG Maker VX:
- Game Executable: Game.exe
- RGSS Library: RGSS2xxE.dll (replace 2xx by the version you are using. I.E.: 2.02 would be RGSS202E.dll)
- Game Archive: Game.rgss2a
RPG Maker VX Ace:
- Game Executable: Game.exe
- RGSS Library: RGSS3xx.dll (replace 3xx by the version you are using. I.E.: 3.01 would be RGSS301.dll. Ace does not have a different library depending on the language, so the E or J at the end is not needed anymore)
- Game Archive: Game.rgss3a
Step 1 - RTP
If you are using the default RTP, copy/paste all of them into your game folder
Step 2 - RGSS Library, Game.exe and Encrypted Archive
A) The first thing we want is the RGSS Library used by the target RPG Maker (VX or Ace). Copy/paste the dll mentioned above in your game folder and rename it RGSS102E.dll. Note that the name of the DLL might change depending on the version of RPG Maker XP you are using. At the time this tutorial was written, I was using version 1.02 so I had to rename the DLL to RGSS102E. But if you're running version 1.04, then rename the DLL RGSS104E.dll. RMXP will first check your game folder for the needed libraries before checking the folder where you installed the software. Each time you save with RPG Maker, it rewrites Game.ini and changes the Library name (RGSS102E.dll in the case of RMXP. Don't forget, the name of the DLL difers depending on the version opr RPG Maker XP!). So by doing this, you don't need to change the name of the library in Game.ini each time you save your game. However, if you want to replace/move/do whatever with the DLL, make sure it's really the one you want.
B) RPG Maker needs to initialize the right process in order to run the game. (in this case it's Game.exe) Using Game.exe from XP obviously won't work because it was designed for RGSS1. So, all you need to do is replace XP Game.exe with VX/Ace Game.exe.
C) If you try to compile your game and then run the compiled game, you will encounter an error saying "Failed to load scripts". This is because the encrypted games using RGSS2/RGSS3 are looking for the file Game.rgss2a/Game.rgss3a. With XP, the file extension is *.rgssad. Simply rename Game.rgssad to Game.rgss2a or Game.rgss3a if you want RGSS3.
Step 3 - Scripts
A) Open RMXP
B) Open the Help Manual (F1)
C) Open the Script Editor (F11)
D) Copy all RPG objects from the Help Manual into the Script Editor. Make sure to put all of these scripts ABOVE everything else.
Note that RPG::MoveCommand has an error.
Here's how it looks in the manual:
Code:
module RPG
class MoveCommand(code = 0, parameters = [])
def initialize
@code = code
@parameters = parameters
end
attr_accessor :code
attr_accessor :parameters
end
end
Here's how it should look like:
Code:
module RPG
class MoveCommand
def initialize(code = 0, parameters = [])
@code = code
@parameters = parameters
end
attr_accessor :code
attr_accessor :parameters
end
end
E) Some hidden classes such as Tilemap or Window have changed in VX and probably won't work anymore. The most important thing to update here is the Tilemap.
There's already a couple of Tilemap class rewrites here so pick the one that suites you best. I personally recommend you Poccil's Tilemap rewrite.
This Tilemap class is faster and allow to have maps larger than 64x64. See RMXP + RGSS2 Bitmap bug for more information. Note that RGSS3 does not have this limitation.
Optionally, you can also use a Window class rewrite. The format of windowskins has changed so if you want to use XP's format, you can use Sewlyn's Window class or any other. If you want to keep it simple, adapt your windowskin to the VX format.
Step 4 - $DEBUG/$TEST Flags
In RPGVX/Ace, $DEBUG changed to $TEST. In the Main script, Right below "begin", add the following line:
$DEBUG = $TEST = true
If you don't want to be in debug mode, set these variables to false.
Don't forget to remove this line when publishing your game!
Known Bugs and Issues
It seems that RGSS2 cannot handle bitmaps larger than 2048x2048. However, RGSS3 does not have this issue.
If you are using SephirothSpawn's Tilemap class (the most recent one), you will not be able to make maps larger than 64x64.
Demo
http://rapidshare.com/files/76211589/rpgxp_rgss2.rar.html
Enjoy it!
-Dargor