Here I am back with yet another huge post

This time for Rayman 3 GBA rather than Rayman 1. We've now finished reverse engineering that game, as well as all the games which use its engine. Here is a list for those curious:
Code: Select all
• Batman Vengeance
• Sabrina the Teenage Witch: Potion Commotion
• Rayman 3
• Splinter Cell
• Prince of Persia: The Sands of Time
• Batman: Rise of Sin Tzu
• Splinter Cell: Pandora Tomorrow
• Star Wars Trilogy: Apprentice of the Force
• Star Wars Episode III: Revenge of the Sith
• King Kong
• Open Season
• TMNT
• Surf's Up
Now getting back to Rayman 3;
General
Just like Rayman 1 Ray1Map can load the maps with animations. Unlike Rayman 1 we can also load the backgrounds since they're just different map layers. Not all backgrounds scroll with the level though, so the size doesn't always match, but for the ones it does they look really good!
Just like Rayman 1 there is a system to link objects (known as actors) in a level. Unlike Rayman 1 the links are one-way only, and one object can link to up to four other objects. This seems to be used for different things - here are some examples:
There are sadly very few sprites/animations, but we did find this:
This sprite is also unused:
There are also HUD icons for other characters I'm not sure if they're unused or not... Maybe for the multiplayer?
Also some random animations I think are unused:
GameCube Levels
The GameCube levels, which are stored on the GameCube disc, work as well
N-Gage version
As you may know the game was ported to the Nokia N-Gage. This version lacks the Mode7 maps and instead has some unique levels as replacement. What we didn't know was that it also has an all new multiplayer mode, "Capture the Flag". Not even RayWiki seems to mention this. Here are some of the levels for it:
What's interesting is that the way the data is stored in this engine makes it very easy to modify. It's all in one block at the end of the ROM with a nice system for referencing the data which is all relative to this block. The same applies for the N-Gage version, so it got me thinking, what if you used the N-Gage data on the GBA? Well after relocating some offsets and moving over the data it actually works!

Yes, this is indeed a GBA emulator running the first level from the N-Gage version using the N-Gage sprites and other data

Sadly hub worlds crash, and some animations cause crashes too, but it's pretty cool this works at all.
Now for some unique sprites/animations:
Prototype
Recently an early prototype for the game was dumped, which has been of great help for this project as it includes some source file names, function names etc. for a crash handler. It has a lot of small changes I won't be showing here, but one of the bigger ones is River of Fire 2 & 3 which are almost entirely different:
Some other changes:
Different colors
One of many unused menu animations
A very different design for the kart
Different colors for this thing
Different, much longer, animation for breaking cages
Some palette swap version of the exit
Hopefully I didn't miss anything now

If anyone wants to see anything for those other games in the same engine just let me know. I'm not showing it here since it's not really relevant to Rayman, and I'm not familiar with any of those games at all

As mentioned before also, Rayman Raving Rabbids GBA sadly runs in a different engine, so nothing to show from that yet. There's also the DigiBlast version of R3 which we sadly haven't been able to add support for due to the ROM not being publicly available.