[SOLVED] Harry Potter and the Half-Blood Prince DS - "Neko" files

Extraction and unpacking of game archives and compression, encryption, obfuscation, decoding of unknown files
AlphaTwentyThree
Posts: 909
Joined: Sat Aug 09, 2014 11:21 am

[SOLVED] Harry Potter and the Half-Blood Prince DS - "Neko" files

Post by AlphaTwentyThree »

Hi there!

Luigi has updated his fxp script for the DS version (thanks for that :)) but now there's another problem: The extracted files need some other transformation.
Here's a picture of the "Neko" archive that contains the SDAT:

Image

What has to be done to correctly get the data here?
I've attached said file for you to take a look.
Last edited by AlphaTwentyThree on Sat Jan 29, 2022 2:37 pm, edited 1 time in total.
aluigi
Site Admin
Posts: 12984
Joined: Wed Jul 30, 2014 9:32 pm

Re: Harry Potter and the Half-Blood Prince DS - "Neko" files

Post by aluigi »

The main compression used on Nintendo is lz77wii but here I don't see any compression of that type, I don't even know where the compressed data is supposed to start... 0x20 maybe?
Not even lzss returns good data.
AlphaTwentyThree
Posts: 909
Joined: Sat Aug 09, 2014 11:21 am

Re: Harry Potter and the Half-Blood Prince DS - "Neko" files

Post by AlphaTwentyThree »

Well, I cut the first few bytes of the files up to the "Neko" identifier. Here's the full file:

Image

Does that offer more insight?
AlphaTwentyThree
Posts: 909
Joined: Sat Aug 09, 2014 11:21 am

Re: Harry Potter and the Half-Blood Prince DS - "Neko" files

Post by AlphaTwentyThree »

Yeah ok, it's lz77wii, just like you said. Maybe you could also implement it into the main script? Would be cool. :)
aluigi
Site Admin
Posts: 12984
Joined: Wed Jul 30, 2014 9:32 pm

Re: Harry Potter and the Half-Blood Prince DS - "Neko" files

Post by aluigi »

But the script I updated few days ago (0.1.2) already implements the lz77wii compression, doesn't it work?
AlphaTwentyThree
Posts: 909
Joined: Sat Aug 09, 2014 11:21 am

Re: Harry Potter and the Half-Blood Prince DS - "Neko" files

Post by AlphaTwentyThree »

Oh, my bad actually. I added my function identifier to the script and it had an error inside. Sorry about that. ;)
Works of course.