12-31-2020, 05:28 PM
Happy New Year 2021! How are you guys? Made any new year resolution yet?
In this year, I want to completely rip sprites from Vanillaware. So far, the list is
Progress : on-hold, palette problem
- [Saturn] Princess Crown
- [PSP] Princess Crown
- [PS4] Princess Crown
Progress : up to WebGL, tessellation/blending/animation problem
- [PS2] Odin Sphere
- [PS2] GrimGrimoire
- [NDS] Kumatanchi
- [Wii] Muramasa The Demon Blade
- [PSP] Grand Knights History
- [VITA] Muramasa Rebirth + DLC
- [VITA] Dragon Crown
- [VITA] Odin Sphere Leifthrasir
- [PS3] Dragon Crown
- [PS3] Odin Sphere Leifthrasir
- [PS4] Odin Sphere Leifthrasir
- [PS4] Dragon Crown Pro
- [PS4] 13 Sentinels: Aegies Rim
- [SWITCH] 13 Sentinels: Aegies Rim
- [SWITCH] GrimGrimoire OnceMore
- [SWITCH] Unicorn Overlord
UPDATE : Step-by-step ripping tutorial
https://www.vg-resource.com/thread-38430...#pid668969
https://github.com/rufaswan/Web2D_Games/...steps.adoc
Let's talk about the sprites in these games, and also a bit about quad-rendering.
Quad-rendering - as in rendering a rectangle, is where the game data gives you only the 4 coordinates, and expect you to flip/scale/rotate the sprite parts accordingly, like this:
[attachment=11428]
Just like rotation, it is a lossy process. It creates jagged lines when reassembled.
As noted by Dazz, some console (like Wii) has anti-aliasing. The final sprite is slightly blurred to appear smoother on screen.
All my sprites are ripped without anti-aliasing.
Ripping sprite like this also reveal some "effect" sprites you couldn't get by assembling by hand using VRAM.
This is when Gradriel falling down. Notice her sprites was "squeezed" during landing.
[attachment=11427]
There are a lot more of these kind of sprites, especially on opening/ending related. It is like getting movie frames.
Let's talk about the current progress.
Princess Crown
The sprites are able to reassemble correctly, but the big problem is with its palette.
[attachment=11429]
There are 5 books on the floor, and the book's palette is determined by which book you give her. It's pretty much about digging data from the assembly code now.
And yabause is acting up on me. It refuse to break on memory address or on instruction. The weird part is it works before. I doesn't understand why it refuse to work now...
Muramasa The Demon Blade
If Princess Crown has palette problems, then Muramasa is blending problems.
[attachment=11430]
From my previous note on Legend of Mana thread, that black part is a mask for semi-transparency. On PlayStation, it is by additive blending.
But now I also have white color masks used for shadow!
Some sprites, like save portal, is in grayscale. How does that become blue in-game?
Like Pricess Crown, the emulator is not helping either. The screenshots I get from Dolphin is anti-aliased. I can't examine the image pixel-by-pixel to figure out the blending formula.
For comparison, this is the screenshot and the sprite.
[attachment=11431] [attachment=11432]
Is there a way to get a raw, unscaled and unfiltered screenshot?
Odin Sphere + GrimGrimoire
Both game uses the same file format, so I'll group them together.
The data format is very similar to Muramasa. I can guess where everything is pretty easily.
BUT the image/texture data is arranged in a very weird way. It is so weird I'm having problem in decoding them.
It is pretty amazing Raccoon Sam can decode these kind of data merely by just closely examine them.
In the end, there are still more work need to be done, more stuff need to be learned. 2021 will be a pretty busy year.
I'll post updates here when I made any progress. Until then, take care!
- Rufas
In this year, I want to completely rip sprites from Vanillaware. So far, the list is
Progress : on-hold, palette problem
- [Saturn] Princess Crown
- [PSP] Princess Crown
- [PS4] Princess Crown
Progress : up to WebGL, tessellation/blending/animation problem
- [PS2] Odin Sphere
- [PS2] GrimGrimoire
- [NDS] Kumatanchi
- [Wii] Muramasa The Demon Blade
- [PSP] Grand Knights History
- [VITA] Muramasa Rebirth + DLC
- [VITA] Dragon Crown
- [VITA] Odin Sphere Leifthrasir
- [PS3] Dragon Crown
- [PS3] Odin Sphere Leifthrasir
- [PS4] Odin Sphere Leifthrasir
- [PS4] Dragon Crown Pro
- [PS4] 13 Sentinels: Aegies Rim
- [SWITCH] 13 Sentinels: Aegies Rim
- [SWITCH] GrimGrimoire OnceMore
- [SWITCH] Unicorn Overlord
UPDATE : Step-by-step ripping tutorial
https://www.vg-resource.com/thread-38430...#pid668969
https://github.com/rufaswan/Web2D_Games/...steps.adoc
Let's talk about the sprites in these games, and also a bit about quad-rendering.
Quad-rendering - as in rendering a rectangle, is where the game data gives you only the 4 coordinates, and expect you to flip/scale/rotate the sprite parts accordingly, like this:
[attachment=11428]
Just like rotation, it is a lossy process. It creates jagged lines when reassembled.
As noted by Dazz, some console (like Wii) has anti-aliasing. The final sprite is slightly blurred to appear smoother on screen.
All my sprites are ripped without anti-aliasing.
Ripping sprite like this also reveal some "effect" sprites you couldn't get by assembling by hand using VRAM.
This is when Gradriel falling down. Notice her sprites was "squeezed" during landing.
[attachment=11427]
There are a lot more of these kind of sprites, especially on opening/ending related. It is like getting movie frames.
Let's talk about the current progress.
Princess Crown
The sprites are able to reassemble correctly, but the big problem is with its palette.
[attachment=11429]
There are 5 books on the floor, and the book's palette is determined by which book you give her. It's pretty much about digging data from the assembly code now.
And yabause is acting up on me. It refuse to break on memory address or on instruction. The weird part is it works before. I doesn't understand why it refuse to work now...
Muramasa The Demon Blade
If Princess Crown has palette problems, then Muramasa is blending problems.
[attachment=11430]
From my previous note on Legend of Mana thread, that black part is a mask for semi-transparency. On PlayStation, it is by additive blending.
But now I also have white color masks used for shadow!
Some sprites, like save portal, is in grayscale. How does that become blue in-game?
Like Pricess Crown, the emulator is not helping either. The screenshots I get from Dolphin is anti-aliased. I can't examine the image pixel-by-pixel to figure out the blending formula.
For comparison, this is the screenshot and the sprite.
[attachment=11431] [attachment=11432]
Is there a way to get a raw, unscaled and unfiltered screenshot?
Odin Sphere + GrimGrimoire
Both game uses the same file format, so I'll group them together.
The data format is very similar to Muramasa. I can guess where everything is pretty easily.
BUT the image/texture data is arranged in a very weird way. It is so weird I'm having problem in decoding them.
It is pretty amazing Raccoon Sam can decode these kind of data merely by just closely examine them.
In the end, there are still more work need to be done, more stuff need to be learned. 2021 will be a pretty busy year.
I'll post updates here when I made any progress. Until then, take care!
- Rufas