[PS2] Gladiator - Road to Freedom - Remix DATA.RBB

Extraction and unpacking of game archives and compression, encryption, obfuscation, decoding of unknown files
Hinki
Posts: 8
Joined: Sun Oct 02, 2022 1:45 pm

[PS2] Gladiator - Road to Freedom - Remix DATA.RBB

Post by Hinki »

Header is siff but there's a index txt in a different folder listing items in the file.

The file
https://drive.google.com/file/d/1mgqtRS ... sp=sharing

The index
https://drive.google.com/file/d/1E34b5I ... sp=sharing

I don't know what else to say I've tried a few things but I'm really not well versed in all this. I mostly just want to try and get the supposed English translation to load.

EDIT: I am so sorry for linking the wrong file in question.
Last edited by Hinki on Mon Oct 03, 2022 2:30 pm, edited 1 time in total.
rabatini
Posts: 179
Joined: Tue Jan 18, 2022 12:21 am

Re: [PS2] Gladiator - Road to Freedom - Remix DATA.RBB

Post by rabatini »

14gb?
really?
Hinki
Posts: 8
Joined: Sun Oct 02, 2022 1:45 pm

Re: [PS2] Gladiator - Road to Freedom - Remix DATA.RBB

Post by Hinki »

Oh that's the wrong file entirely somehow, I was drained on sleep I apologize.
BloodRaynare
Posts: 367
Joined: Fri Mar 10, 2017 7:23 am

Re: [PS2] Gladiator - Road to Freedom - Remix DATA.RBB

Post by BloodRaynare »

Try this BMS script below.
I modified my Red Ninja's RBB extraction script to extract the files with the proper filenames which obtained from the RBBINDEX.TXT. Requires the RBBINDEX.TXT and DATA.RBB on the same directory as the script.

Use QuickBMS to run the script

gladiator_rbb.bms

Code: Select all

comtype zlib_noerror

open FDSE RBBINDEX.TXT 1

IDstring "siff"
get RBB_SZ long
do
	getdstring CHUNK_TYPE 4
	get CHUNK_SZ long
	savepos CURRPOS
	if CHUNK_TYPE == "RSRC"
		getDString RC_VER 9
		savepos CURRPOS
		xmath CURRPOS "CHUNK_SZ - 9 + CURRPOS"
		goto CURRPOS
	elif CHUNK_TYPE == "RIDX"
		xmath FILES "CHUNK_SZ / 8"
		for i = 0 < FILES
			get OFFSET long
			get ZSIZE long
			math ZSIZE - 0x80000000
			putarray 0 i OFFSET
			putarray 1 i ZSIZE
		next i
	elif CHUNK_TYPE == "TYPE"
		for i = 0 < FILES
			getDstring EXT 3
			getDstring DIR 1
			putarray 2 i EXT
			putarray 3 i DIR
		next i
	elif CHUNK_TYPE == "EXIX"
		for i = 0 < FILES
			get SIZE long
			putarray 4 i SIZE
		next i
	elif CHUNK_TYPE == "RBB0"
		savepos REL_POS
		for i = 0 < FILES
			getarray OFFSET     0 i
			getarray ZSIZE      1 i
			if RC_VER == "RC ver2.1"
				getarray EXT        2 i
				getarray DIR        3 i
			endif
			getarray SIZE       4 i
			math OFFSET + REL_POS

			getct NAME string 0x09 1
			getct SZ string 0x09 1
			getct RBB_NAME string 0x09 1
			getct ID string 0x0a 1

			if ZSIZE == SIZE
				log NAME OFFSET SIZE
			else
				clog NAME OFFSET ZSIZE SIZE
			endif
		next i
		set CURRPOS REL_POS
		math CURRPOS + CHUNK_SZ
		goto CURRPOS
	else
		math CURRPOS + CHUNK_SZ
		goto CURRPOS
	endif
while CURRPOS < RBB_SZ
Hinki
Posts: 8
Joined: Sun Oct 02, 2022 1:45 pm

Re: [PS2] Gladiator - Road to Freedom - Remix DATA.RBB

Post by Hinki »

I feel like at least some of the .dat files are compressed? I know that title.dat has things like dates and file extensions like .qtx within them. Thank you so much for this script though it at least makes it easier to understand where some of the files the game references are.

The game uses .dat files for other things I can provide one/some if it might help at all. I know that offzip -s -a doesn't give great results.
Hinki
Posts: 8
Joined: Sun Oct 02, 2022 1:45 pm

Re: [PS2] Gladiator - Road to Freedom - Remix DATA.RBB

Post by Hinki »

Is there any way to allow reimporting with this script? I could probably manually edit files in small amounts but it's a bit of a pain to edit 472 memory blocks just to update offsets lol
BloodRaynare
Posts: 367
Joined: Fri Mar 10, 2017 7:23 am

Re: [PS2] Gladiator - Road to Freedom - Remix DATA.RBB

Post by BloodRaynare »

Just run quickbms with "-w -r -r" commandline to reimport the files, like this:

Code: Select all

quickbms -w -r -r gladiator_rbb.bms DATA.RBB [output directory, if provided]
Or use reimport2.bat or reimport3.bat for the GUI way.
Hinki
Posts: 8
Joined: Sun Oct 02, 2022 1:45 pm

Re: [PS2] Gladiator - Road to Freedom - Remix DATA.RBB

Post by Hinki »

BloodRaynare wrote:Just run quickbms with "-w -r -r" commandline to reimport the files, like this:

Code: Select all

quickbms -w -r -r gladiator_rbb.bms DATA.RBB [output directory, if provided]
Or use reimport2.bat or reimport3.bat for the GUI way.
For some reason it adds 0x80 to some places? Like

Code: Select all

60 8D 04 00 F0 FA 03 00 50 88 08 00 B0 7A 03 00 00 03 0C 00 70 01 04 00 70 04 10 00 B0 14 04 00
becomes

Code: Select all

60 8D 04 00 F0 FA 03 80 50 88 08 00 B0 7A 03 80 00 03 0C 00 70 01 04 80 70 04 10 00 B0 14 04 80
seems to work with single file edits though or at least the one I was messing with, I was reimporting all data.
Hinki
Posts: 8
Joined: Sun Oct 02, 2022 1:45 pm

Re: [PS2] Gladiator - Road to Freedom - Remix DATA.RBB

Post by Hinki »

BloodRaynare wrote:I modified my Red Ninja's RBB extraction script
Where can I find this btw? I spent a while searching and never found

Curious because some .DAT files within the game seem to have a similar format just without any headers https://drive.google.com/file/d/1aX_4GJ ... sp=sharing definitely aren't compressed though as they contain readable data in hex editors. Just Japanese strings.
BloodRaynare
Posts: 367
Joined: Fri Mar 10, 2017 7:23 am

Re: [PS2] Gladiator - Road to Freedom - Remix DATA.RBB

Post by BloodRaynare »

Hinki wrote: Where can I find this btw? I spent a while searching and never found

Curious because some .DAT files within the game seem to have a similar format just without any headers https://drive.google.com/file/d/1aX_4GJ ... sp=sharing definitely aren't compressed though as they contain readable data in hex editors. Just Japanese strings.
No, you won't find it because it was my not-yet-shared script I created that resides on my external HDD that I haven't been able to access at this moment. Also, the structure of the DAT file is not the same as the RBB one.

Anyway, here's the correct script for the DAT files

gladiator_dat.bms

Code: Select all

get FILES long
math FILES - 1
get NAME_OFF long
math NAME_OFF * 0x10

for i = 0 < FILES
	get OFFSET long
	savepos TMP
	goto NAME_OFF
	getDstring NAME 0x20
	savepos NAME_OFF
	goto TMP
	putarray 0 i OFFSET NAME
next i

for i = 0 < FILES
	getarray OFFSET NAME 0 i
	math i + 1
	if i == FILES
		get DAT_SZ asize
		xmath SIZE "DAT_SZ - (OFFSET * 0x10)"
	else
		getarray NEXT_OFFSET 0 i
		xmath SIZE "(NEXT_OFFSET * 0x10) - (OFFSET * 0x10)"
	endif
	math OFFSET * 0x10
	log NAME OFFSET SIZE
next
Hinki
Posts: 8
Joined: Sun Oct 02, 2022 1:45 pm

Re: [PS2] Gladiator - Road to Freedom - Remix DATA.RBB

Post by Hinki »

There's a interesting amount of CSB files that seem to be the base script files before they're compiled into the ARY files that the game loads
Hinki
Posts: 8
Joined: Sun Oct 02, 2022 1:45 pm

Re: [PS2] Gladiator - Road to Freedom - Remix DATA.RBB

Post by Hinki »

Is there a way for me to extract the SOUNDS2.RBB despite it not having a index file?