1
Newcomer's Board / Re: Nayuta no Kiseki: Decompress/Compress (Help Please)
« on: January 06, 2015, 02:50:30 am »
If you've found the decompression routine then you might want to first step through it in the debugger while watching the memory to get an idea of how it works.
Most of the time this is some variant of LZ compression, which you can Google to get a basic idea of.
Rewriting the decompression routine out in C++ should let you get a dump of the raw text.
If you have a good enough understanding of the compression routine you can then recompress and reinsert these.
Alternatively, if you're confident in ASM you can try to modify the subroutine to load and read the text uncompressed (just loading raw text as though it went through the routine).
Depending on how much you need to translate you might be able to directly copy the decompressed text out of the game's memory.
I'm new to this myself, but I think you figured out the two options. Researching MIPS ASM and LZ compression techniques should help you reverse-engineer the compression algorithm.
Most of the time this is some variant of LZ compression, which you can Google to get a basic idea of.
Rewriting the decompression routine out in C++ should let you get a dump of the raw text.
If you have a good enough understanding of the compression routine you can then recompress and reinsert these.
Alternatively, if you're confident in ASM you can try to modify the subroutine to load and read the text uncompressed (just loading raw text as though it went through the routine).
Depending on how much you need to translate you might be able to directly copy the decompressed text out of the game's memory.
I'm new to this myself, but I think you figured out the two options. Researching MIPS ASM and LZ compression techniques should help you reverse-engineer the compression algorithm.