Rayman Designer hacking
Rayman Designer hacking is the process of modifying the program files of the game in order to change the appearance and the behaviour of in-game events and sceneries.
Normal Platforms (Tiles)
In every World-folder of the game, there is a .PCX graphic file. It contains all the platform tiles which are used by the Mapper. You can change or add stuff, but you cannot edit:
- The color palette used in the file; don't add new colors (or the graphics ingame will be messed up).
- The first square on the top-left corner; it's used to set the transparent color in the file.
- The lowest row of tiles.
- The image size. If you do, the Mapper may not load.
Also note that all maps (exept the ones which ubisoft made) will use the new graphics if you replace the standard tiles.
All animated spites of the game (Rayman himself, enemies etc) are stored in .DES files. These files are packed in the .WLD files of the game. It's totally unclear how to open these files, but when you opem the WLD files of RD (in the "pcmap" folder) with a texteditor, you can see which .DES and .ETA files are packed in it. The .ETA files do order the spitefiles in some way, but what they exctly do is unsure (it seems that they give the events some abilities).
To see whats in the .DES files, you must change some things of an eventcode (see below) with a texteditor, save it, go in the game and see what happens (it may crash cause not all coordinates work). The names of the .DES files are also tell you whats in it (most of them are in French, but some are English.) Examples:
- RAY.DES = Rayman
- SPI.DES = Spider (Cave)
- CLE.DES = Clef (Music)
- MUS.DES = Musician (Mountain)
Some of these files contain only one object (like the CLE.DES) and others conatin very many different objects. Note also that you can't see which .DES files Rayman 1 or the RJ Games have. In these games the .WLD files are packed / encrypted different. But in the .WLD files of the "Fanpack" and in the .WLD files of "Rayman Collector" you can see the filenames.
In every World-Folder of the game, there is a file called EVE.MLT. It contains all the codes of the events of the current world and can be modified any text editor. One has to scroll down to see the codes in question. It is unsure which programming language the game is written in, but the events are coded in this way:
specific event code
Offset_BX, Offset_BY, Offset_HY,
Follow_enabled, follow_sprite, hitpoints,
obj_type , hit_sprite, group,
- œdef = define; this must come first
- eventname = name of the event, could be everything
- DES.FILE = name of the graphic file which should be used for the event
- some number = unsure; it seems to have no effect
- ETA.FILE = name of the ETA file which should be used; it gives the event some behaviours and orders the sprites in some way (it is unsure what it does exactly stand for)
- specific event code = not every event has it; it tells the event which way it should "walk" for example
- 33,255 = unsure; All codes must have this line or the game will crash
- main_X_pos = main x coordinate of the event
- main_Y_pos = main y coordinate of the event
- etat = spriteposition A (of a stored sprite in a .DES file)
- sub_etat = spriteposition B (of a stored sprite in a .DES file)
- Offset_BX = is the x coordinate of the point where rayman could stand on (if the sprite is a "plattform")
- Offset_BY = is the y1 coordinate of the point where rayman could stand on (if the sprite is a "plattform")
- Offset_HY = is the y2 coordinate of the point where rayman could stand on (if the sprite is a "plattform")
- Follow_enabled = if this is =1 than it rayman could stand on the event ("plattform")
- follow_sprite = belongs to the "Follow_enabled". Tells the programm how far from the Offset_BX coordinate rayman can stand (well...it makes a exeact Offset_BX coordinate unnecessary, because you can redirect the coordinate with this number).
- hitpoints = how much "lifes" the event has (enemies). But for a lot of events this number has a different meaning.
- obj_type = this number tells the programm the MAIN behaviours of the sprite like if it is a ting, an enemy or only a background animation.
- hit_sprite = unsure
- group = in which group the event can be found (like group 5 is for enemys etc.)
The Main Code
The main code of an event will repeat itself when it comes to the end. Not all codes work for all events (= behaviours). This is all that is known about this part:
- 0, x, -> sprite walks right (x= time in milliseconds max. 254)
- 1, x, -> sprite walks left (x= time in milliseconds max. 254)
- 3, x, -> sprite walks up (x= time in milliseconds max. 254)
- 4, x, -> sprite walks down (x= time in milliseconds max. 254)
- 5, x -> change subetat (sprite pos. b ) to x
- 6, x, -> skip all code lines until line x
- 8, x, -> change etat (sprite pos. a) to x
- 11, x, -> label x
- 12, x, -> goto label x
- 19, x, -> wait x seconds
- 20, x, y,z, -> moving sprite x time (in milliseconds max. 254) and y, z direction & speed
The Extended Rayman Designer Editor
This is an unoffical tool that makes Rayman Designer modding much easier. It also comes with a large content package which includes a great deal of content from Rayman and Rayman Junior that was not availible in Rayman Designer, and also some new unofficial content.
Through some editing of the game, the following things have been discovered:
- There are some names of levels in the game that are not availible. It seems that they have been cut from the final game (or never been finnished): The Gates of the Jungle (jungle word), Diabolical Tunes (music world), The Fire Avalanche (mountain world), Miniature Madness (image world), Cloud of Doom (cave world), Dessert Anyone? (cake world)
- A sprite from Rayman 2 (2D version) could be found in the sprite files (a small platform that looks like a teleporter)
- The spritefiles also contain a considerable amount of content from the Rayman Junior (such as the world map icons) and some never-before-seen sprites.