READ THE RULES: Click here

Follow us on Facebook: :)

King of Fighters Destiny

Read or post about compression. And decompression. Or ask questions how to decompress your files.
Post Reply
Posts: 1
Joined: Sat Jun 15, 2019 12:54 am

King of Fighters Destiny

Post by wrathofgod » Sat Jun 15, 2019 1:17 am

There's a very interesting Chinese only mobile game based on King of Fighters. The sprites are the main attraction here; A lot of sprites from the old school days of KoF were upscaled and shaded to be more modern looking, the results are amazing and I wanted to have them for some projects I'm working on. It took me a while to figure out how to rip the graphics though, as most of them are PKM encoded, but I found out how to convert them simply by removing the garbage data from the beginning of them using a hex editor and running the file through etc1tool, part of the Android development SDK.

Most of the images convert just fine after removing the garbage, but some of them have a peculiar string of text at the start saying "PVR!", which lead me to believe that it was just a PVR file that can be converted using PVRTexToolCLI, but it acts as though it doesn't recognize it. I think it's because it's been encoded somehow, then converted into a PVR file, but I'm no expert on this stuff.

I'm pretty much at the end of my rope here and I've been researching this all day. These PVR files contain important frames of animation (mainly the idle and walking animations) and it makes most of the character near on useless because those are vital animations. If anybody has any suggestions for me, it would be very greatly appreciated. Here's a sample file of a .DT0 that has the PVR! header in hex, like the image above.

(If anybody wants me to upload these files to somewhere else, let me know.)

Posts: 98
Joined: Tue Sep 15, 2009 5:47 pm
Has thanked: 12 times
Been thanked: 19 times

Re: King of Fighters Destiny

Post by Sectus » Sat Jun 22, 2019 11:42 am

Looks like raw RGBA image data (colours are a bit wonky, so maybe this is YUV, or maybe it's supposed to use palette lookup?): ... estiny.png

Offsets in header:
0xD7: Width (1024)
0xDB: Height (1024)

The other data in the header is probably a list of coordinates for each frame in the sprite sheet. And this particular sprite sheet is a bit weird, the idle and running animations are scaled up.

Edit: If you're looking for the raw graphical assets, then it looks like someone did that here: ... 817.0.html

The way it's stored seems a bit unfortunate. The idle and running animations are all lossless but scaled up, and the other sprites are stored in what looks like DXT (which is lossy), so it's all lossy in one way or another.

Post Reply