Members morrigan Posted March 17 Members Posted March 17 (edited) Hi everyone, I've recently been trying to translate the PS1 game Chou Jikuu Yousai Macross - Ai Oboete Imasu ka (Macross: Do You Remember Love?), but I've found that the game's resource files are all in a compressed format with the extension GKO. I'm not very skilled at handling compressed formats, especially these older ones. The GKO files all start by recording the original filenames before compression, and a single GKO file might contain more than one compressed file. Beyond that, I'm lost. I'm hoping to get help from experts familiar with compression on how to decompress these files. Of course, it would be even better if you could also tell me how to recompress them. I've prepared a few example files and attached them. files.zip Edited March 17 by morrigan
Engineers Solution Rabatini Posted March 30 Engineers Solution Posted March 30 On 3/17/2025 at 11:10 AM, morrigan said: Hi everyone, I've recently been trying to translate the PS1 game Chou Jikuu Yousai Macross - Ai Oboete Imasu ka (Macross: Do You Remember Love?), but I've found that the game's resource files are all in a compressed format with the extension GKO. I'm not very skilled at handling compressed formats, especially these older ones. The GKO files all start by recording the original filenames before compression, and a single GKO file might contain more than one compressed file. Beyond that, I'm lost. I'm hoping to get help from experts familiar with compression on how to decompress these files. Of course, it would be even better if you could also tell me how to recompress them. I've prepared a few example files and attached them. files.zip 792.1 kB · 2 downloads .GKO file is a container. you have analise the files inside it. get entries long FOR RIP = 1 to ENTRIES getdstring name 0x10 get offset long get size long log name offset size next rip
Members morrigan Posted April 11 Author Members Posted April 11 On 3/30/2025 at 10:53 PM, Rabatini said: .GKO file is a container. you have analise the files inside it. get entries long FOR RIP = 1 to ENTRIES getdstring name 0x10 get offset long get size long log name offset size next rip Thanks for your help! The BMS script worked perfectly. But, the unpacked files are in an image format I've never seen before, so it looks like I'll be busy.😂
Engineers Rabatini Posted yesterday at 05:44 AM Engineers Posted yesterday at 05:44 AM (edited) On 4/11/2025 at 8:36 AM, morrigan said: Thanks for your help! The BMS script worked perfectly. But, the unpacked files are in an image format I've never seen before, so it looks like I'll be busy.😂 This .pud files is another container that contains custom lzss blocks files, for example Title.pud contains 2 images with custom lzss compressed, if you decompress it you will see.. Edited yesterday at 05:51 AM by Rabatini 1
Members morrigan Posted yesterday at 03:28 PM Author Members Posted yesterday at 03:28 PM (edited) 9 hours ago, Rabatini said: This .pud files is another container that contains custom lzss blocks files, for example Title.pud contains 2 images with custom lzss compressed, if you decompress it you will see.. Okay, thanks for the lead. I successfully uncompressed the PUD file, and it is indeed a container. The value 0x2 represents the number of files within it. The uncomressed images are raw pixel data and need to be combined with the PAL file to get the correct image. can use imageheat to view the correct image. Edited yesterday at 03:31 PM by morrigan 1
Engineers Rabatini Posted yesterday at 03:51 PM Engineers Posted yesterday at 03:51 PM Yes. If you need the descompressor, let me know.
Members morrigan Posted yesterday at 04:55 PM Author Members Posted yesterday at 04:55 PM I've made a decompressor, and it's currently working correctly. However, to translate this game, also need to create a compressor. Perhaps someone else might find these tools useful, so I'm releasing them. Thanks again, Rabatini. pud_decompressor.py
Engineers Rabatini Posted 17 hours ago Engineers Posted 17 hours ago 9 hours ago, morrigan said: I've made a decompressor, and it's currently working correctly. However, to translate this game, also need to create a compressor. Perhaps someone else might find these tools useful, so I'm releasing them. Thanks again, Rabatini. pud_decompressor.py 4.53 kB · 1 download I did the descompressor and compressor but in c++, need to test the compressor thought, because is compressing better than the original. Test in game and show the results, if works. MACROSS_PS1_TOOL.zip
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now