So, I'm trying to make a sprite hack of Kirby's Dream Land (which clearly has never been done before, and I'm starting to see why), but so far, the sprites are mixed in with the games code in such a way that makes custom sprites seem almost impossible.
The same situation happens with YY-CHR, the only helpful thing it has is that it can re-arrange the tiles, but still can't tell apart sprites from game data.
I'm dead in the water, but maybe someone out there knows what's really happening right here?
Looks like some type of compression. Dunno how to decompress.
They're compressed. The only way to decompress and recompress them is with Devin Acker's
Exhal toolset.
I don't know the offsets though.
(02-07-2016, 04:56 PM)Raccoon Sam Wrote: [ -> ]They're compressed. The only way to decompress and recompress them is with Devin Acker's Exhal toolset.
I don't know the offsets though.
Ok, I'm glad to know a decompressing tool exists. I think i know where the offset is, it appears to begin where the sprites start coming in? I'm not sure...
(I could atleast try figuring it out in BGB...)
Can anyone figure out where the offset is, or can someone tell me how to find it?
Start with the first tile after the 2 black tiles.
(02-07-2016, 07:24 PM)Deathbringer Wrote: [ -> ]Start with the first tile after the 2 black tiles.
You mean $8000? That seemed to work, but how do I get it to decompress the sprites rather than decompress whatever data was mixed in with the sprites?
(I also ran the output file in bgb and got a strange sound. Strange, isn't it?)
Due to the awkward silence, I guess I'm on my own on this one.
(atleast i have a starting point)
You probably typed in "8000" while you should've typed "0x8000"
Here's my command line usage:
exhal kirbydreamland.gb 0x8000 graphics.bin
this was spat out:
I'd imagine you can use the inhal program to push the edited graphics in just the same way
(02-10-2016, 03:33 AM)Raccoon Sam Wrote: [ -> ]You probably typed in "8000" while you should've typed "0x8000"
Here's my command line usage:
exhal kirbydreamland.gb 0x8000 graphics.bin
this was spat out:
I'd imagine you can use the inhal program to push the edited graphics in just the same way
Wow, that actually worked! Whelp, should of thought about that, but atleast it worked.
No problem. It should be noted that that's only one chunk of graphics. I did some testing and apparently new graphics begin usually where the old one ends. After decompressing the graphics from 0x8000 you get a console message:
Compressed size: 2133 bytes.
You must then count {your original offset} + {2133 in hex} to get the next offset. 2133 in hex is 0x855, so because 0x8000 + 0x855 is 0x8855, the next batch of compressed graphics is at 0x8855. I would figure there should be a way to automate this but I'm not smart enough for that.
Game Boy banks are also always 0x4000 bytes, so if you ever feel lost, try starting anew from a new bank. Using YY-CHR or Tile Molester helps a lot too, because usually you can 'see' the compressed graphics and take an educated guess.