eurotools / eurochef

Rust crates and utilities for Eurocom EngineX(T) files.
MIT License
13 stars 2 forks source link

is it possible to dump strings with this app? #26

Open israpps opened 10 months ago

israpps commented 10 months ago

I've been looking for info from time to time to translate predator concrete jungle

But no clue after the quickbms unpacking and looking at textures with this program

Swyter commented 10 months ago

Sort of. You can see it can currently read (but not write/repack) EDB text spreadsheets directly: https://github.com/eurotools/eurochef#games-edb

The QuickBMS filelist extractor is obsolete, as it misses a good chunk of each EDB file, especially for files with many sections, like text, you won't find any UTF-16 strings in those trimmed files. So extract your Text.edb correctly.

You can do it right via eurochef, which can also unpack/repack filelists, or, if you want to understand how it works, my original gforce-tools 010 Editor scripts:

https://github.com/Swyter/gforce-tools/blob/master/gforce_filelistbin.1sc

israpps commented 10 months ago

The QuickBMS filelist extractor is obsolete, as it misses a good chunk of each EDB file, especially for files with many sections, like text, you won't find any UTF-16 strings in those trimmed files. So extract your Text.edb correctly.

Eurochef can't unpack the predator filelist.000

It complains of unsupported version or something like that So I guess quickbms is still useful...

cohaereo commented 10 months ago

It complains of unsupported version or something like that So I guess quickbms is still useful...

You need to open the .bin file, not the .000 file

Swyter commented 10 months ago

The QuickBMS filelist extractor is obsolete, as it misses a good chunk of each EDB file, especially for files with many sections, like text, you won't find any UTF-16 strings in those trimmed files. So extract your Text.edb correctly.

Eurochef can't unpack the predator filelist.000

It complains of unsupported version or something like that So I guess quickbms is still useful...

As I said, it's as useful as a bottomless glass; it's extracting a textless Text.edb.

israpps commented 10 months ago

will you ever support dumping the data I'm looking for and repacking? (or you only care for sphinx and others?)

I guess that if you dont, the other option would be trying to get more info from the game ELF with ghidra...

I wanted to translate this game so badly...

cohaereo commented 10 months ago

will you ever support dumping the data I'm looking for and repacking? (or you only care for sphinx and others?)

I guess that if you dont the other option would be trying to get more info from the game ELF with ghidra...

I wanted to translate this game so badly...

Reading spreadsheets (which are used for text) is supported by eurochef. Writing/repacking is not supported yet.

israpps commented 10 months ago

will you ever support dumping the data I'm looking for and repacking? (or you only care for sphinx and others?) I guess that if you dont the other option would be trying to get more info from the game ELF with ghidra... I wanted to translate this game so badly...

Reading spreadsheets (which are used for text) is supported by eurochef. Writing/repacking is not supported yet.

it seems not this one... or i'm missing something else? image

cohaereo commented 10 months ago

Data spreadsheets are not supported yet, but you're not looking for them. Text spreadsheets should work fine

israpps commented 10 months ago

Data spreadsheets are not supported yet, but you're not looking for them. Text spreadsheets should work fine

ok... so the text should be somewhere else....

cohaereo commented 10 months ago

My bad, I just realised there's no longer a console output for text spreadsheets, eurochef should have created some CSV files in the spreadsheets directory

israpps commented 10 months ago

My bad, I just realised there's no longer a console output for text spreadsheets, eurochef should have created some CSV files in the spreadsheets directory

or eurochef is missing something or eurocom decided to hide text spreadsheets in a different way for predator. because I just made a CMD for loop

for %a in (predator\binary\_bin_ps2\*.edb) do eurochef-cli.exe edb spreadsheets "%a">>LOL.TXR

and all the edb files trow the error of data spreadsheets or say No spreadsheets found in file

and before you ask. yes, I redumped with eurochef, and still same issue

israpps commented 10 months ago

theres also no other file on the ISO image

Just PSS VIdeos, IRX modules and IOPRP images, and a 2gb dummy file....

israpps commented 10 months ago

tested again...

Got some messages on stderr

thread 'main' panicked at 'Failed to read header:
 ╺━━━━━━━━━━━━━━━━━━━━┅ Backtrace ┅━━━━━━━━━━━━━━━━━━━━╸

 0: Error: failed to fill whole buffer
           While parsing field 'hashcode' in EXGeoCommonArrayElement
     at eurochef-edb\src\array.rs:250
 1: While parsing field 'common' in EXGeoSpreadSheetHeader
     at eurochef-edb\src\common.rs:147
 2: While parsing field 'spreadsheet_list' in EXGeoHeader
     at eurochef-edb\src\header.rs:53

 ╺━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╸

', eurochef\cli\src\edb\spreadsheets.rs:24:10
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
thread 'main' panicked at 'Failed to read header:
 ╺━━━━━━━━━━━━━━━━━━━━┅ Backtrace ┅━━━━━━━━━━━━━━━━━━━━╸

 0: Error: Se ha intentado mover el puntero del archivo más allá del inicio del archivo. (os error 131)
           While parsing field 'font_list' in EXGeoHeader
     at eurochef-edb\src\header.rs:54

 ╺━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╸

', eurochef\cli\src\edb\spreadsheets.rs:24:10
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
israpps commented 10 months ago

seems theres more interesting things here...

Predator has two custom IRX modules

EXAudCD.irx & EXAudDVD.irx

Maybe these two are in charge of creating that x:/ drive I see on ghidra

Swyter commented 10 months ago

Those are the audio streaming parts of EngineX that run on the PS2 IOP for async playback and bypass the Emotion Engine.

The virtual X: drive from where the filelist is created is documented in the Sphinx modding tools, it's the same for every other project. The game at runtime doesn't care about these paths, it just uses hashcodes to retrieve them. Maybe not for SFX files.

israpps commented 10 months ago

Those are the audio streaming parts of EngineX that run on the PS2 IOP for async playback and bypass the Emotion Engine.

The virtual X: drive from where the filelist is created is documented in the Sphinx modding tools, it's the same for every other project. The game at runtime doesn't care about these paths, it just uses hashcodes to retrieve them. Maybe not for SFX files.

yeah, found out that As soon as I opened the IRX with ghidra and saw the printf() on _start()

israpps commented 10 months ago

seems like filepaths are constructed via sprintf...

all of them save IOPRP...

they even left references to host: on the ELF lol