• Welcome to Smashboards, the world's largest Super Smash Brothers community! Over 250,000 Smash Bros. fans from around the world have come to discuss these great games in over 19 million posts!

    You are currently viewing our boards as a visitor. Click here to sign up right now and start on your path in the Smash community!

BRSAR Notes - *Pretty Much Complete*

...:::VILE:::...

Smash Ace
Joined
Apr 15, 2009
Messages
786
Took me a few hours, knock yourselves out.


BRSAR (Raw Sound ARchive)

BRSAR Header:
0x00(4) - RSAR ASCII
0x04(10)- A bunch of UNK values, lol
0x0E(2) - File count within archive
0x10(?) - BRSAR Relocation Group

BRSAR Relocation Group:
0x00(4) - Offset to file start (relative to start if BRSAR Header)
0x04(4) - Length of file
This goes on for as long as the File Count


SYMB (SYM Bank?)

SYMB Header:
0x00(4) - SYMB ASCII
0x04(4) - File Length
0x08(4) - Offset to String Relocation Group (relative to 0x08 of SYMB Header)
0x0C(4) - Mask Offset (relative to 0x08 of SYMB Header)
0x10(4) - Mask Offset (relative to 0x08 of SYMB Header)
0x14(4) - Mask Offset (relative to 0x08 of SYMB Header)
0x18(4) - Mask Offset (relative to 0x08 of SYMB Header)

String Relocation Group:
0x00(4) - Entry count

String Relocation Group: Entries:
0x00(4) - Offset to String (relative to 0x08 of SYMB Header)

Mask:
0x00(4) - UNK
0x04(4) - Entry Count

Mask Entry
0x00(14)- UNK


INFO (INFO)

INFO Header:
0x00(4) - INFO ASCII
0x04(4) - File Length
0x08(8) - 01 then offset to Sound Header
0x10(8) - 01 then offset to Banks Relocation Group (relative to 0x08 in INFO Header)
0x18(8) - 01 then offset to Types Relocation Group (relative to 0x08 in INFO Header)
0x20(8) - 01 then offset to Collections Relocation Group (relative to 0x08 in INFO Header)
0x28(8) - 01 then offset to Group Relocation Group (relative to 0x08 in INFO Header)
0x30(8) - 01 then offset to UNK Header (relative to 0x08 in INFO Header)
0x38(?) - INFO Relocation Group 1

Sound Header:
0x00(4) - String ID
0x04(4) - Group ID
0x08(4) - 00 00 00 00 constant
0x0C(8) - 01 then offset to Sound UNK 1 (relative to 0x08 in INFO Header)
0x14(1) - Flag 1
0x15(1) - Flag 2
0x16(1) - Flag 3
0x17(1) - Flag 4
0x18(8) - 01 (then 03 ??) then offset to Sound UNK 2 (relative to0x08 in INFO Header)
0x20(4) - UNK
0x24(4) - UNK
0x28(4) - UNK

Sound UNK 1:
0x00(4) - UNK
0x04(4) - UNK
0x08(4) - UNK

Sound UNK 2:
0x00(4) - Group Index
0x04(4) - UNK
0x08(4) - UNK
0x0C(4) - UNK

Banks Relocation Group:
0x00(4) - Entry count

Banks Relocation Group Entries:
0x00(1) - 01
0x01(7) - Offset to Bank Data (relative to 0x08 in INFO Header)

Bank Data:
0x00(4) - String ID
0x04(4) - Collection ID

Types Relocation Group:
0x00(4) - Entry count

Types Relocation Group Entries:
0x00(1) - 01
0x01(7) - Offset to Types Data (relative to 0x08 in INFO Header)

Types Data:
0x00(4) - UNK (Some sort of ID)
0x04(1) - UNK
0x05(11)- UNK

Collections Relocation Group:
0x00(4) - Entry count

Collections Relocation Group Entries:
0x00(1) - 01
0x01(7) - Offset to Collections Header (relative to 0x08 in INFO Header)

Collections Header:
0x00(4) - Length
0x04(4) - UNK
0x08(4) - FF FF FF FF constant
0x0C(8) - 00 00 00 00 00 00 00 00 constant
0x14(4) - Offset to Collections UNK Relocation Group

Collections UNK Relocation Group:
0x00(4) - Entry Count

Collections UNK Relocation Group Entry:
0x00(1) - 01
0x01(7) - Offset to Collections UNK

Collections UNK:
0x00(4) - UNK
0x04(4) - UNK

Group Relocation Group:
0x00(4) - Entry count

Group Relocation Group Entries:
0x00(1) - 01
0x01(7) - Offset to Group Data (relative to 0x08 in INFO Header)

Group Data:
0x00(4) - ID
0x04(4) - FF FF FF FF constant
0x08(4) - UNK
0x0C(4) - UNK
0x10(4) - Offset to RWSD (relative to 0x00 in BRSAR Header)
0x14(4) - RWSD length
0x18(4) - Offset to Raw Data (relative to 0x00 in BRSAR Header)
0x1C(4) - Length of Raw Data
0x20(8) - 01 then offset to Group Data Relocation Group (relative to 0x08 in INFO Header)

Raw Data:
Raw data

Group Data Relocation Group:
0x00(4) - Entry count

Group Data Relocation Group Entry:
0x00(1) - UNK (usually 01)
0x01(7) - Offset to Sound Group Header (relative to 0x08 in INFO Header)

Sound Group Header:
0x00(4) - Group ID
0x10(4) - 00 00 00 00 / Offset to RWSD (relative to RWSD offset)
0x14(4) - RWSD length
0x18(4) - 00 00 00 00 / Offset to Sound Data (relative to Sound Data offset)
0x1C(4) - Length of Sound Data

UNK Header:
0x00(16)- A bynch of 16bit UNK values


FILE (FILE)

FILE Header:
0x00(4) - FILE ASCII
0x04(4) - Length


RWSD (RaW SounD)

RWSD Header:
0x00(4) - RWSD ASCII
0x04(10)- A bunch of UNK values, lol
0x0E(2) - File count within archive
0x10(?) - RWSD Relocation Group

RWSD Relocation Group:
0x00(4) - Offset to file start (relative to start if RWSD Header)
0x04(4) - Length of file
This goes on for as long as the File Count


DATA (DATA)

DATA Header:
0x00(4) - DATA ASCII
0x04(4) - Offset to WAVE (relativetostart of DATA Header)
0x08(?) - Additional Sound Header Offset Relocation Group

Additional Sound Header Relocation Group:
0x00(4) - Entry count

Additional Sound Header Relocation Group Entry:
0x00(1) - 01
0x01(7) - Offset to Additional Sound Header Offset (relative to 0x08 from DATA Header)

Additional Sound Header Offset Entry:
0x00(1) - 01
0x01(7) - Offset to Additional Sound Header (relative to 0x08 from DATA Header)

Additional Sound Header:
0x00(4) - UNK float
0x04(4) - UNK float
0x08(2) - UNK
0x0A(2) - UNK
0x0C(4) - UNK
0x10(4) - UNK
0x14(4) - UNK
0x18(4) - UNK
0x1C(4) - UNK
0x20(4) - Additional Sound Header UNK 1 Relocation Group

Additional Sound Header UNK 1 Relocation Group:
0x00(4) - Entry count

Additional Sound Header UNK 1 Relocation Group Entry:
0x00(1) - 01
0x01(7) - Offset to Additional Sound Header UNK 2 Relocation Group Offset (relative to 0x08 in DATA Header)

Additional Sound Header UNK 2 Relocation Group:
0x00(4) - Entry count

Additional Sound Header UNK 2 Relocation Group Entry:
0x00(1) - 01
0x01(7) - Offset to Additional Sound Header UNK 2 (relative to 0x08 in DATA Header)

Additional Sound Header UNK 2:
0x00(4) - UNK
0x04(4) - UNK
0x08(4) - UNK
0x0C(4) - UNK
0x10(?) - Additional Sound Header UNK 3 Relocation Group

Additional Sound Header UNK 3 Relocation Group:
0x00(4) - Entry Count

Additional Sound Header UNK 3 Relocation Group Entry:
0x00(1) - 01
0x01(7) - Offset to Additional Sound Header UNK 3 (relative to 0x08 in DATA Header)

Additional Sound Header UNK 3:
0x00(4) - Index
0x04(4) - 7F 7F 7F 7F constant
0x08(4) - UNK
0x0C(4) - UNK float
0x10(4) - UNK float
0x14(4) - UNK
0x18(4) - UNK
0x1C(4) - UNK
0x20(4) - UNK
0x24(4) - UNK
0x28(4) - UNK
0x2C(4) - UNK


WAVE (WAVE)

WAVE Header:
0x00(4) - WAVE ASCII
0x04(4) - Length
0x08(?) - WAVE Header Relocation Group

WAVE Header Relocation Group:
0x00(4) - Entry count

WAVE Header Relocation Group Entries:
0x00(4) - Offset to WAVE Header (relative to 0x00 in WAVE Header)

WAVE Header:
0x00(1) - Encoding
0x01(2) - Is Looped (boolean, 0 = true, 1 = false)
0x03(3) - Frequency
0x06(4) - UNK
0x0A(2) - Flags
0x0C(4) - Samples
0x10(4) - UNK
0x14(4) - Offset to raw sound (relative to base raw sound)
0x18(4) - UNK
0x1C(4) - UNK
0x20(4) - UNK
0x24(4) - UNK
0x28(1) - UNK
0x29(4) - UNK
0x2D(4) - UNK
0x31(4) - UNK
0x35(4) - UNK
0x39(7) - UNK
0x3C(32)- UNK
0x5C(2) - Gain
0x5E(2) - PS
0x60(2) - YN1
0x62(2) - YN2
0x64(2) - LPS
0x66(3) - LYN1
0x69(3) - LYN2
Just thought I would post this here so it gets a little more exposure.
 

GP&B

Ike 'n' Ike
Joined
May 8, 2009
Messages
4,609
Location
Orlando, FL
NNID
MetalDude
I don't understand much of it, but would any of this help with making BrawlBox once again read the BRSAR properly so we can actually replace files without a huge process?
 

Jaklub

Smash Journeyman
Joined
May 23, 2010
Messages
496
I shall try to understand this this weekend.
If I succeed, longer sounds without frequency changing.
but I probably won't
Still, great job on this.

@up: I think yes.
 

Eternal Yoshi

I've covered ban wars, you know
Joined
Mar 3, 2007
Messages
5,450
Location
Playing different games
NNID
EternalYoshi
3DS FC
3394-4459-7089
Keep this going when you can please. There are more games that have .brsar like Castlevania Judgement.

The header seems to be the same format but Smashbox V0.57 cannot open it.

I just wanna extract Simon Belmont's SFX and VO cause IMO his VA in Judgement is good.
 
Top Bottom