<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 warrior's palettes. First ten have varying hair and armor colors, with all being light skinned save for the last one that has brown skin. In the row below are the special palettes. The holy one has very light blue hair, eyes, and armor, with a light yellow cape. The evil one has white hair, dark eyes, red cape, black armor, and tanned skin. The other four are the monochrome status palettes as described before.

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

Full spritesheet here

Dark Wizard

Spritesheet here (still incomplete, missing Book and Character Select sprites)

Archer


<Back to main page