Nicktoons MLB *.big file

Extraction and unpacking of game archives and compression, encryption, obfuscation, decoding of unknown files
JackTheRipper
Posts: 51
Joined: Mon Jan 10, 2022 12:12 am

Nicktoons MLB *.big file

Post by JackTheRipper »

I'm trying to extract the games music that the Wii version uses custom headered DSP, where the 360 version uses some headerless XMA.
The game used Blue Castle engine seen in The Bigs, Bigs 2, Dead Rising 2, and some others.
It starts at \x04\x03\x02\x01 as BE or \x01\x02\x03\x04 as LE, but files start at 0x800.
Script: deadrising2_otr.bms
File #1: music.big from Wii version
File #2: music_mg.big from Wii version
File #3: music.big from the 360 version
Last edited by JackTheRipper on Mon Jan 10, 2022 1:50 am, edited 2 times in total.
BloodRaynare
Posts: 367
Joined: Fri Mar 10, 2017 7:23 am

Re: Nicktoons MLB *.big file

Post by BloodRaynare »

I have two methods for these, choose what you prefer:

BMS scripts + TXTH scripts

BMS scripts:

Code: Select all

get ID long
get HEADER_SZ long
get BIG_SIZE long
get FILES long
get FILE_INFO_START long
get NAME_OFF_START long

for i = 0 < FILES
   get NAME_OFF long
   savepos INFO
   goto NAME_OFF
   get NAME string
   goto INFO
   get SIZE long
   get OFFSET long
   get MUL long
   get ZERO long
   log NAME OFFSET SIZE
next i


TXTH scripts (for use with the extracted files)
Save it as ".dspi.txth" then put it to where you extracted the contents of music.big

Code: Select all

codec = DSP

start_offset = 0xc0
sample_rate = @0x08:BE
channels = 2
coef_offset = 0x1c
coef_spacing = 0x60
coef_endianness = BE

num_samples = data_size


Or just a TXTH scripts to play the big files directly with vgmstream.
Save this as "music.big.txth" and put it on the same directory as the music.big.

Code: Select all

codec = DSP

subsong_count = @0x0c
base_offset = @0x10
subsong_spacing = 0x14

name_offset_absolute = @0x00 - base_offset
data_size = @0x04
base_offset = @0x08
subsong_spacing = 0

start_offset = base_offset + 0xc0
sample_rate = @0x08:BE
channels = 2
coef_offset = 0x1c
coef_spacing = 0x60
coef_endianness = BE

num_samples = data_size


To play the files just use a media player (like foobar2000) that supports vgmstream plugin.
Both of the TXTH scripts needs you to check the "Enable unknown exts" option in vgmstream's preference if you're using foobar2000.