<Back to main page
Shining Soul II Sprite Data
My ongoing task of ripping all Shining Soul II sprites, while also documenting other ROM hacking info, such as addresses and palettes.
Because it's an ongoing task, it will be messy for a while until I nail down the exact addresses for everything.
For now, all info here refers to an US version of the ROM, other versions might have the data in different places. If you have a ROM you can verify these addresses by yourself with the GBA Sprite/Tile Viewer I coded here.
Playable Characters
Playable characters have a whooping 16 palettes in this game. The first ten are the palette options you pick from when selecting the character. The next is the holy palette, for when the character equips the Angel's Necklace, and it's usually some mix of baby blue and pale yellow tones. The next is the evil palette, for when the character equips the Fiend's Necklace. A small warning that this one usually has the unfortunate colorist trope of darkening the skin of humanoid characters most of the time.
The remaining four are monochrome palettes for temporary status effects, in the order of: freeze (blue), poison (purple), death (white/pale blue), and blindness (black). Below are the warrior's palettes as an example.

The sprite data for playable characters is... very, very redundant. Characters have fully different sprite sets for each possible weapon they can equip in game (except the ninja with knives), and a base set, used for when the characters are wielding the Force Ring (and when the ninja is using knives), and also when they're being carried by the angel. Each of these sets loads its palette set (the 16 palettes described above) from a different address, despite all these palette sets being identical for each character.
Each sprite set has idle, walking, damage, death, and sleep animations. The base set also has unique sprites for summoning a Shining Soul and for being carried by the angel. The weapon sets, of course, have unique sprites for their regular and charge weapon attacks... Which also get separate palette addresses. For some reason.
While odd, all this redundancy can make ROM hacking pretty flexible. I made my Karna hack with only sprite and palette replacement, and was able to use different colors for each of her weapons, since the existing identical palettes can be replaced each by a different one if you want. You could easily push this further and make characters who change their whole design depending on weapon, or something like that.
There's some peculiar things about the spellcasters as well. First of all, their book set has only regular attacks, as charging with a book charges spells instead. But more importantly, while all other sprite sets are together in the data, the book and charge/spellcasting sprites are way, way further in the data. Given how clunky the idea of books as weapons is in game, it makes me wonder if they had some other idea at first, and had to implement this wonky one in a rush instead.
Finally, sprites from the character select screen are the only one to not use their own palette set, they use the same as the base set. While working on this page I found out that they still have their own palette data however, which is not the same as the others and goes unused. See the Unused Content page for details.
The majority of character sprites are 32x32, with some expanding one or both dimensions to 64, especially attacks, which have extra effects for swinging etc.
That's a long enough preamble, let's list some hexadecimals.
Sprite and palette addresses
Warrior
| Sprite set and preview | Sprite address (US) | Palette address (US) | Notes |
| Base: | 9bd4d8 | 9c3ed8 | |
| Sword: | 9c40d8 | 9ca2d8 | |
| Axe: | 9ca4d8 | 9d1cd8 | Even some idle and walking sprites are 32x64 to fit the big axe. |
| Spear: | 9d1ed8 | 9d80d8 | |
| Sword attacks: | 9d82d8 | 9e06d8 | |
| Axe attacks: | 9e08d8 | 9e76d8 | |
| Spear attacks: | 9e78d8 | 9ea0d8 | Same sprites are used for both regular and charge attacks. |
| Character select: | b4da58 | 9c3ed8 (same as base set) |
Dark Wizard
Spritesheet here (still incomplete, missing Book and Character Select sprites)
| Sprite set and preview | Sprite address (US) | Palette address (US) | Notes |
Base: ![]() | 9ea2d8 | 9f0ad8 | |
| Rod: | 9f0cd8 | 9f70d8 | The side death sprite has some stray pixels and ooooh i can't unsee it now. |
| Rod attacks: | 9f72d8 | 9fded8 | |
| Charge and spellcasting: | 9fe0d8 | 9ffed8 | |
| Book: | (not found yet) | (not found yet) | |
| Character Select: | b52658 | 9f0ad8 (same as base set) |
Archer
| Sprite set and preview | Sprite address (US) | Palette address (US) | Notes |
Base: ![]() | a000d8 | a066d8 | |
| Bow: | a068d8 | a0cad8 | |
| Bow attacks: | a0ccd8 | a0f7d8 | Includes the arrow sprites, which therefore use the same palette as the character. Also, same sprites are used for both regular and charge attacks. |
| Spear: | a0f9d8 | a15bd8 | |
| Spear attacks: | a1c9d8 | a1fdd8 | Includes the spear sprites, which therefore use the same palette as the character. Does not include, however, the effect from charge attacks. |
| Book: | (not found yet) | (not found yet) | |
| Character Select: | b4f658 | a066d8 (same as base set) |
<Back to main page

