I have been checking around the datafiles in Castlevania HD, and I was able to figure out the way they work, using TiledGGD.
Yes, I know most of the sprites are 1 to 1 copies from DS games or other source material, but the files are pretty nicely organized, and once I figured out the palette files, they should have correct colors aswell, which is hell to figure out on DS files.
The game sprite data, which aren't surfaces, consist of three files.
.col files are the palettes. These files are too dark, and every value needs to be multipled by 8 in order for them to work.
.csr files are the main sprite files
.opd files are most probably files that align and set what needs to be read. Doesn't seem to contain sprites/palettes.
Anyhow, to get stuff working. Load any csr file on tiledGGD, and set stuff like this:
Panel size needs to be 128 x Anything
Format needs to be 4 bits/pixel
Endianness needs to be little endian
Then load up the palette from a .col file in same folder, it needs to be:
4 bytes/colour
Big endian
RGB
The palettes start at offset 0x20 , containing 16 colors each.
In the end, you will get out an image looking something like this:
The palettes, for some RANDOM reason are too dark. I made a little program, which starts reading the palettes at offset 0x20, and multiplies every color by 8. The result looks like this:
I would say this is close to the DS palette. The colors are off ~8 values, since the values needed to be multiplied by 8. Especially noticable on Jonathan, his sprite's outline looked dark gray on DS, black on HD.
And yes, rest of the palettes work as well. Here are few examples of the other, in-game palettes for Julius.
I might do some rips from the game soon, as using these techniques, ripping is pretty easy. Everything that is made in the CSR files should be readable, as the .col files containing the palettes are in the same folder, only too dark.
As xb360 doesn't have an emulator, I can't confirm these too well, but the player palettes seemed to be correct looking on real console. I wonder if this is close enough to make a spritesheet for the site?
I also hope this info would help people rip sprites and make some new, cool castlevania fangames.
Yes, I know most of the sprites are 1 to 1 copies from DS games or other source material, but the files are pretty nicely organized, and once I figured out the palette files, they should have correct colors aswell, which is hell to figure out on DS files.
The game sprite data, which aren't surfaces, consist of three files.
.col files are the palettes. These files are too dark, and every value needs to be multipled by 8 in order for them to work.
.csr files are the main sprite files
.opd files are most probably files that align and set what needs to be read. Doesn't seem to contain sprites/palettes.
Anyhow, to get stuff working. Load any csr file on tiledGGD, and set stuff like this:
Panel size needs to be 128 x Anything
Format needs to be 4 bits/pixel
Endianness needs to be little endian
Then load up the palette from a .col file in same folder, it needs to be:
4 bytes/colour
Big endian
RGB
The palettes start at offset 0x20 , containing 16 colors each.
In the end, you will get out an image looking something like this:
The palettes, for some RANDOM reason are too dark. I made a little program, which starts reading the palettes at offset 0x20, and multiplies every color by 8. The result looks like this:
I would say this is close to the DS palette. The colors are off ~8 values, since the values needed to be multiplied by 8. Especially noticable on Jonathan, his sprite's outline looked dark gray on DS, black on HD.
And yes, rest of the palettes work as well. Here are few examples of the other, in-game palettes for Julius.
I might do some rips from the game soon, as using these techniques, ripping is pretty easy. Everything that is made in the CSR files should be readable, as the .col files containing the palettes are in the same folder, only too dark.
As xb360 doesn't have an emulator, I can't confirm these too well, but the player palettes seemed to be correct looking on real console. I wonder if this is close enough to make a spritesheet for the site?
I also hope this info would help people rip sprites and make some new, cool castlevania fangames.