March 17, 20251 yr Localization 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, 20251 yr by morrigan
March 30, 20251 yr Supporter Solution 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
April 11, 20251 yr Author Localization 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.😂
November 10, 2025Nov 10 Supporter 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 November 10, 2025Nov 10 by Rabatini
November 10, 2025Nov 10 Author Localization 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 November 10, 2025Nov 10 by morrigan
November 10, 2025Nov 10 Author Localization 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
November 11, 2025Nov 11 Supporter 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
November 13, 2025Nov 13 Supporter @morrigan I tested in game, and compressor works, pack .gko as well works like a glove.
November 14, 2025Nov 14 Author Localization 11 hours ago, Rabatini said: @morrigan I tested in game, and compressor works, pack .gko as well works like a glove. Great work on reversing this game, thank you! The graphics are pretty weird. I saw that every character is a separate image, and it changes from level to level, not a single font texture. 😁That's a really uncommon approach
November 14, 2025Nov 14 Supporter 14 minutes ago, morrigan said: Great work on reversing this game, thank you! The graphics are pretty weird. I saw that every character is a separate image, and it changes from level to level, not a single font texture. 😁That's a really uncommon approach Yes! I´ve to create a tool to merge and split image, so i can merge them, edit and later split to insert.
Create an account or sign in to comment