PS1/2 Translation Need help with translating PS2 game (Gantz - The Game)

It's sad to see some people making fun of others who are struggling to get things done. Dude actually said, "this could've easily been full machine translation," yet they didn't provide anything helpful other than pointing to Hex editors.

Well, that's where I come in. I'm actually building a tool to translate Gantz: The Game. No, it's not "easy"—the game uses fixed offsets that you can't just bypass with standard hex apps, which is exactly why people struggle to make a working ISO. On top of that, there is a strict byte limit for every line, making it incredibly hard to fit the text properly.

I spent hours trying to bypass that character limit before giving up and finding a better way. Here is what my app actually does:
  • Parses the .bin files and lets you translate them directly.
  • Enforces the byte limit automatically so you won't break the game.
  • Supports multiple languages.
Right now, I'm working on a PT-BR translation and using the GANTZ video game translation project as a base for the en_US version (which won't go for long, as it only covers up to the first episode). Since my app supports it, I can easily provide the necessary text files and help anyone else who wants to translate the game into their own language!


Captura de tela 2026-05-24 022325.pngGantz - The Game_SLPM-65950_20260524164125.png
Captura de tela 2026-05-24 001208.pngGantz - The Game_SLPM-65950_20260524164715.png
 
  • Like
Reactions: zfreeman
Game is done, you can download it here: https://pixeldrain.com/u/WDxxWwEz Also contact me at: https://t.me/silentheather/ if any bugs, text errors, texture errors. Current alien boards cant be edited now because its a PSS file (video cutscene) then a 3d texture which im too lazy to decompile right now, but you can play the game through and through with a full english patch, spread around the community if you want but keep in mind the download expires in about 60d. Also added the anime intro + outro instead of the current PSS intro outro. I finished the other game NANA (PS2) which took about 10d of work, but I got this done within a day since i had the structure + tools, if anyone wants that too ill provide it. Also I spent like no time debugging the game, so some text might not be translated if there is any please screenshot and provide here or on telegram.
 
Game is done, you can download it here: https://pixeldrain.com/u/WDxxWwEz Also contact me at: https://t.me/silentheather/ if any bugs, text errors, texture errors. Current alien boards cant be edited now because its a PSS file (video cutscene) then a 3d texture which im too lazy to decompile right now, but you can play the game through and through with a full english patch, spread around the community if you want but keep in mind the download expires in about 60d. Also added the anime intro + outro instead of the current PSS intro outro. I finished the other game NANA (PS2) which took about 10d of work, but I got this done within a day since i had the structure + tools, if anyone wants that too ill provide it. Also I spent like no time debugging the game, so some text might not be translated if there is any please screenshot and provide here or on telegram.
@pringll000
Hey, how did you bypass the byte limit and edit the font?

My app can already parse audio, ELF, and .bin files, although it's still byte limited. It can also automatically build the ISO and generate .xdelta patches (and .chd files as well).

By the way, which app/tool did you use to work with the .pss files?

I'm asking because I've spent most of my time polishing the app and its features instead of trying to brute-force modifications directly in the .bin files.

Aside from a few features I haven't coded or tested yet (.pss and .sap repacking), there shouldn't be any need to manually edit binary files, since my app already handles everything.

Would you be interested in chatting? I'm particularly interested in learning how you modified the font, worked with the .pss files, and removed the byte limit so I can implement those features in my app as well.

Maybe we could merge our tools—mine is pure-Python.
 

Attachments

  • 1780606691115.png
    1780606691115.png
    85.4 KB · Views: 1
@pringll000
Hey, how did you bypass the byte limit and edit the font?

My app can already parse audio, ELF, and .bin files, although it's still byte limited. It can also automatically build the ISO and generate .xdelta patches (and .chd files as well).

By the way, which app/tool did you use to work with the .pss files?

I'm asking because I've spent most of my time polishing the app and its features instead of trying to brute-force modifications directly in the .bin files.

Aside from a few features I haven't coded or tested yet (.pss and .sap repacking), there shouldn't be any need to manually edit binary files, since my app already handles everything.

Would you be interested in chatting? I'm particularly interested in learning how you modified the font, worked with the .pss files, and removed the byte limit so I can implement those features in my app as well.

Maybe we could merge our tools—mine is pure-Python.
you have to use memory hooks into the targeted function, i used claude code and a mcp debugger to target and edit these functions. for pss its pssplex, but im like 90% its a dual hook russian rat so dont use it until i make a tool for that, dm me tele : @silentheather, disc @mxlg ill send you a spanish version maybe later, but your version doesnt work purely for the fact you cant actually translate without finding a spot in ELF to place the hook, then hooking functions to bypass trunication and also place your text translations within the ELF binary itself. Only about 58% of the game can be translated manually along with the trunication you get due to the char limit function itself. I can translate the game to spanish in like 10 min with context using parralel agents, so its not really needed. Anyways any PS2 game is not viable to translate or its insanely annoying without AI tools anymore, since the amount of work you would have to do is absurd considering the RE skillset needed, along with the translation text being <10k entries.
 
In fact, what was missing was bypassing the byte limit and locating the graphics files. But you indirectly helped me by providing your ISO.

✓ Extraction, parsing, and rebuild of ELF/BIN strings were fully implemented.

✓ Both byte-limited and long strings are now supported: menus, tutorials, etc. Only strings that exceed max space require the same patching approach you used; strings that fits are never included in the ELF patch. I was able to do it even w/ byte-limit. Where the game used 6 bytes, I expanded to 15 bytes and so. Now it's up to 200 bytes, as that's seems to be the max the in-game textbox can display correctly.

✓ Extraction and parsing of all game dialogs, including "muted" dialogs (audio-only).

✓ Audio dialog directly in the UI.

✓ ISO extraction, parsing, and rebuilding without need to edit binary files. Except fixed paths like /ovl, /movie, only a few things are hardcoded. The parses extracts the PS2 info directly in the .ISO, finds elf in system.cnf and go to dialogs, audios, videos... I could just make it look for know extensions instead. So it supports any .ISO it can extract its files.

❌ Extracts and parses .nkp/.nkt files, but some textures are still exported as tiled images instead of PNGs. I haven't tested repacking yet, but it may already be working already.

❌ .iap is done, but repacking has not been tested yet. The .sap parser is also not fully accurate. Once both extraction and repacking are done, dubbing will be possible.

❌ .pss files can be extracted into both audio and video, but repacking is not implemented yet. PSSFlex may still be required. I have confirmed that the game accepts .pss files of any size—I successfully tested +100 MB pss.

My goal is to create a tool that anyone can use without any ROM-hacking knowledge.
The app automatically detects and handles everything by itself, no manual config needed.

AI translation? you don't even need to use the UI. Any AI can translate strings directly in JSON files, you can replace the file directly and it will still work. You only have to follow the json structure.
 

Attachments

  • Captura de tela 2026-06-06 013114.png
    Captura de tela 2026-06-06 013114.png
    337.5 KB · Views: 1
  • Captura de tela 2026-06-06 050642.png
    Captura de tela 2026-06-06 050642.png
    84.9 KB · Views: 1
  • Captura de tela 2026-06-06 054257.png
    Captura de tela 2026-06-06 054257.png
    74.6 KB · Views: 1
Last edited by Nonsocial,

Site & Scene News

Popular threads in this forum