06-29-2020, 05:40 PM
Found the palettes! Just like SOTN, they hardcoded it into assembly, hence it is pretty hard to find if you don't know what you are looking for.
The whole process is like
1) Look for a monster data, like HP, EXP. From there you'll find the complete set of data including drop item, drop rate, weakness, resist for every monster/boss in the game.
2) One of the data is a function pointer, follow it.
3) You'll see some assembly instruction like this:
loc_2271b4 r1 , Lxx_2132a30
loc_2271b8 r2 , Lxx_22ba95c
loc_2271c0 r3 , Lxx_22aad4c
and r3 is the pointer to the monster palette.
Since this is how it hide its palette, I'm forced to write a ARM assembly parser to locate the data:
https://github.com/rufaswan/Web2D_Games/...n_clut.php
But the problem doesn't stop there. All boss has its own overlay file, so the function and palette is located over there instead. So now you'll need monster + overlay pair data.
OOE Dracula completely breaks the rule. Unlike the rest of the boss, only its function is on its own overlay file, its palette is actually on the map overlay file. The king of the night just do whatever it wants!
In short, the palettes are all over the place, across multiple overlay files, and buried in assembly code. The whole thing is one big wild goose chase!
Since it is hardcoded, I end up patching every monster:
https://github.com/rufaswan/Web2D_Games/...s_ACBJ.txt
(NOTE: POR Loretta palette is only a set of 9 x 16 color palette, not two different .cvpal)
As for the maps, all POR and OOE maps are ripped. DOS maps have something weird going on, and wasn't able to rip correctly.
I combined the maps from multiple overlay files and made a simple grid lines for background:
1) Green line is a tile. It is 16 x 16 pixels.
2) Yellow line is a room. it is 16 x 12 tiles.
3) Cross is added to the center of a room for room symmetry guide.
The full map of Dracula Castle:
OOE :
POR :
I wonder if SOTN maps can be combined?
Cheers,
- Rufas
The whole process is like
1) Look for a monster data, like HP, EXP. From there you'll find the complete set of data including drop item, drop rate, weakness, resist for every monster/boss in the game.
2) One of the data is a function pointer, follow it.
3) You'll see some assembly instruction like this:
loc_2271b4 r1 , Lxx_2132a30
loc_2271b8 r2 , Lxx_22ba95c
loc_2271c0 r3 , Lxx_22aad4c
and r3 is the pointer to the monster palette.
Since this is how it hide its palette, I'm forced to write a ARM assembly parser to locate the data:
https://github.com/rufaswan/Web2D_Games/...n_clut.php
But the problem doesn't stop there. All boss has its own overlay file, so the function and palette is located over there instead. So now you'll need monster + overlay pair data.
OOE Dracula completely breaks the rule. Unlike the rest of the boss, only its function is on its own overlay file, its palette is actually on the map overlay file. The king of the night just do whatever it wants!
In short, the palettes are all over the place, across multiple overlay files, and buried in assembly code. The whole thing is one big wild goose chase!
Since it is hardcoded, I end up patching every monster:
https://github.com/rufaswan/Web2D_Games/...s_ACBJ.txt
(NOTE: POR Loretta palette is only a set of 9 x 16 color palette, not two different .cvpal)
As for the maps, all POR and OOE maps are ripped. DOS maps have something weird going on, and wasn't able to rip correctly.
I combined the maps from multiple overlay files and made a simple grid lines for background:
1) Green line is a tile. It is 16 x 16 pixels.
2) Yellow line is a room. it is 16 x 12 tiles.
3) Cross is added to the center of a room for room symmetry guide.
The full map of Dracula Castle:
OOE :
POR :
I wonder if SOTN maps can be combined?
Cheers,
- Rufas