Rayman Designer hacking: Difference between revisions
Hunchman801 (talk | contribs) Integrated event command data from https://github.com/BinarySerializer/BinarySerializer.Ray1/blob/main/src/BinarySerializer.Ray1/DataTypes/Common/CMD/CommandType.cs |
Hunchman801 (talk | contribs) m Fixed links to redirects |
||
| (6 intermediate revisions by 3 users not shown) | |||
| Line 2: | Line 2: | ||
==Graphics== | ==Graphics== | ||
=== Tiles === | === Tiles === | ||
In every world-folder (for example "[[The Dream Forest|jungle]]" or "[[Band Land|music]]") of the game, there is a .PCX graphic file. It contains all the graphic tiles which are used by the Mapper and the levels created from it. Tiles can be changed and added, but the following should not be changed: | In every world-folder (for example "[[The Dream Forest|jungle]]" or "[[Band Land|music]]") of the game, there is a .PCX graphic file. It contains all the graphic tiles which are used by the Mapper and the levels created from it. Tiles can be changed and added, but the following should not be changed: | ||
| Line 21: | Line 20: | ||
==[[Event (Rayman Designer)|Events]]== | ==[[Event (Rayman Designer)|Events]]== | ||
=== Editing events === | === Editing events === | ||
In every world-folder of the game, there is a file called EVE.MLT. It contains the manifest of the events of the current world and can be modified using a text editor. The events are structured in this way: | In every world-folder of the game, there is a file called EVE.MLT. It contains the manifest of the events of the current world and can be modified using a text editor. The events are structured in this way: | ||
| Line 67: | Line 65: | ||
'''Event commands''' | '''Event commands''' | ||
The event commands will repeat themselves when they come to the end. The complete list is as follows: | The event commands will repeat themselves when they come to the end. Ones marked as self-handled will have different behavior depending on the object type and current state. The command names come from leftover debug information in the GameBoy Advance version. The complete list is as follows: | ||
{| class="wikitable" | {| class="wikitable" | ||
| Line 77: | Line 75: | ||
| 0, {arg1} | | 0, {arg1} | ||
| GO_LEFT | | GO_LEFT | ||
| | | (Self-handled) Object moves left | ||
|- | |- | ||
| 1, {arg1} | | 1, {arg1} | ||
| GO_RIGHT | | GO_RIGHT | ||
| | | (Self-handled) Object moves right | ||
|- | |- | ||
| 2 | | 2 | ||
| GO_WAIT | | GO_WAIT | ||
| | | (Self-handled) Object stops moving | ||
|- | |- | ||
| 3, {arg1} | | 3, {arg1} | ||
| GO_UP | | GO_UP | ||
| Sprite moves up | | (Self-handled) Sprite moves up | ||
|- | |- | ||
| 4, {arg1} | | 4, {arg1} | ||
| GO_DOWN | | GO_DOWN | ||
| Sprite moves down | | (Self-handled) Sprite moves down | ||
|- | |- | ||
| 5, {arg1} | | 5, {arg1} | ||
| GO_SUBSTATE | | GO_SUBSTATE | ||
| Set SubEtat ( | | Set object SubEtat (secondary state) to {arg1} | ||
|- | |- | ||
| 6, {arg1} | | 6, {arg1} | ||
| GO_SKIP | | GO_SKIP | ||
| Skips {arg1} | | Skips {arg1} commands | ||
|- | |- | ||
| 7 | | 7 | ||
| GO_ADD | | GO_ADD | ||
| ? | | (Self-handled) ? | ||
|- | |- | ||
| 8, {arg1} | | 8, {arg1} | ||
| GO_STATE | | GO_STATE | ||
| Set Etat ( | | Set object Etat (primary state) to {arg1} | ||
|- | |- | ||
| 9, {arg1} | | 9, {arg1} | ||
| Line 137: | Line 135: | ||
| 15, {arg1} | | 15, {arg1} | ||
| GO_BRANCHTRUE | | GO_BRANCHTRUE | ||
| Skips to label {arg1} if true | | Skips to label {arg1} if TEST is true | ||
|- | |- | ||
| 16, {arg1} | | 16, {arg1} | ||
| GO_BRANCHFALSE | | GO_BRANCHFALSE | ||
| Skips to label {arg1} if false | | Skips to label {arg1} if TEST is false | ||
|- | |- | ||
| 17, {arg1}[, {arg2}] | | 17, {arg1}[, {arg2}] | ||
| Line 153: | Line 151: | ||
| 19, {arg1} | | 19, {arg1} | ||
| GO_WAITSTATE | | GO_WAITSTATE | ||
| Waits {arg1} | | Waits {arg1} | ||
|- | |- | ||
| 20, {arg1}, {arg2}, {arg3} | | 20, {arg1}, {arg2}, {arg3} | ||
| GO_SPEED | | GO_SPEED | ||
| Moves | | (Self-handled) Moves {arg1} with speed X {arg2} and Y {arg3} | ||
|- | |- | ||
| 21, {arg1}, {arg2} | | 21, {arg1}, {arg2} | ||
| Line 181: | Line 179: | ||
| 26, {arg1} | | 26, {arg1} | ||
| RESERVED_GO_GOTOT | | RESERVED_GO_GOTOT | ||
| Skips to LabelOffsets[{arg1}] if true | | Skips to LabelOffsets[{arg1}] if TEST is true | ||
|- | |- | ||
| 27, {arg1} | | 27, {arg1} | ||
| RESERVED_GO_GOTOF | | RESERVED_GO_GOTOF | ||
| Skips to LabelOffsets[{arg1}] if false | | Skips to LabelOffsets[{arg1}] if TEST is false | ||
|- | |- | ||
| 28, {arg1} | | 28, {arg1} | ||
| Line 197: | Line 195: | ||
| 30 | | 30 | ||
| GO_NOP | | GO_NOP | ||
| ? | | (Self-handled) ? | ||
|- | |- | ||
| 31, {arg1} | | 31, {arg1} | ||
| GO_SKIPTRUE | | GO_SKIPTRUE | ||
| Skips {arg1} commands if true | | Skips {arg1} commands if TEST is true | ||
|- | |- | ||
| 32, {arg1} | | 32, {arg1} | ||
| GO_SKIPFALSE | | GO_SKIPFALSE | ||
| Skips {arg1} commands if false | | Skips {arg1} commands if TEST is false | ||
|- | |- | ||
| 33, {arg1} | | 33, {arg1} | ||
| INVALID_CMD | | INVALID_CMD | ||
| Terminates the commands and loops back, {arg1} is always 0xFF which is used as the command | | Terminates the commands and loops back, {arg1} is always 0xFF which is used as the command buffer terminator | ||
|} | |} | ||
| Line 220: | Line 214: | ||
<gallery widths="316px" heights="200px" class="sprite"> | <gallery widths="316px" heights="200px" class="sprite"> | ||
GiantLavaBall.png|A giant [[lava | GiantLavaBall.png|A giant [[lava rock]], acting as scenery. | ||
BetaClouds.png|[[Cloud]]s with a face (known from the Atari Jaguar version). The ones to the right act like disappearing clouds. | BetaClouds.png|[[Cloud]]s with a face (known from the Atari Jaguar version). The ones to the right act like disappearing clouds. | ||
SmallLivingstonePlum.png|A [[ | SmallLivingstonePlum.png|A [[little Livingstone]] on a bouncing [[plum]]. | ||
Big rock.png|A giant [[rock]]. | Big rock.png|A giant [[rock]]. | ||
Bouncing Mr. Sax obstacle.png|A [[wrong note]] from [[Mr Sax]]. Here it can be punched to move like a [[plum]]. | Bouncing Mr. Sax obstacle.png|A [[wrong note]] from [[Mr Sax]]. Here it can be punched to move like a [[plum]]. | ||
Clocks.png|The clocks from the [[continue]] screen, acting as scenery. | Clocks.png|The clocks from the [[continue]] screen, acting as scenery. | ||
Insta-kill events.png|Several red insta-kill events, previously seen in ''[[Rayman | Insta-kill events.png|Several red insta-kill events, previously seen in ''[[Maths and English with Rayman]]''. | ||
Road signs.png|A bunch of colored road signs, acting as scenery. | Road signs.png|A bunch of colored road signs, acting as scenery. | ||
Tarayzan Designer.png|[[Tarayzan]] as a functioning event, except for the text not displaying when he gives [[Rayman]] the [[Magic seed|seed]]. | Tarayzan Designer.png|[[Tarayzan]] as a functioning event, except for the text not displaying when he gives [[Rayman]] the [[Magic seed|seed]]. | ||
| Line 264: | Line 258: | ||
==The Extended ''Rayman Designer'' Editor== | ==The Extended ''Rayman Designer'' Editor== | ||
This is an unofficial 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 1|Rayman]]'' and ''[[Rayman | This is an unofficial 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 1|Rayman]]'' and ''[[Maths and English with Rayman]]'' that was not available in ''Rayman Designer'', and also some new unofficial content. | ||
*Download: http://www.rayman-fanpage.de/character/raymans_world_designer/RDeditor.exe | *Download: http://www.rayman-fanpage.de/character/raymans_world_designer/RDeditor.exe | ||
| Line 271: | Line 265: | ||
Through some editing of the game, the following things have been discovered: | Through some editing of the game, the following things have been discovered: | ||
*If events are placed in groups beyond group 9, it is found that these groups have the same names as the game's levels. This reveals the names of six additional levels. It seems that they have been cut from the final game (or never been finished): "The Gates of the Jungle" ([[The Dream Forest]]), "Diabolical Tunes" ([[Band Land]]), "The Fire Avalanche" ([[ | *If events are placed in groups beyond group 9, it is found that these groups have the same names as the game's levels. This reveals the names of six additional levels. It seems that they have been cut from the final game (or never been finished): "The Gates of the Jungle" ([[The Dream Forest]]), "Diabolical Tunes" ([[Band Land]]), "The Fire Avalanche" ([[Blue Mountains]]), "Miniature Madness" ([[Picture City]]), "Cloud of Doom" ([[The Caves of Skops]]) and "Dessert Anyone?" ([[Candy Château]]). | ||
*A sprite from [[Rayman 2 ( | *A sprite from [[Rayman 2 (cancelled prototype)|the 2D version of ''Rayman 2'']] 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 | *The spritefiles also contain a considerable amount of content from the ''[[Maths and English with Rayman]]'' (such as the world map icons) and some never-before-seen sprites. | ||
{{Rayman 1}} | |||
[[Category:Other]] | [[Category:Other]] | ||