Skip to content
View in the app

A better way to browse. Learn more.

ResHax

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.
Help us keep the site running.

AnonBaiter's Script Compendium

Featured Replies

  • Author
  • Localization

AnonBaiter, posted Sat Feb 25, 2017 10:11 pm (21019)


Shadow of Memories (XBOX) - game.wad/default.xbe

default.xbe is required for this script(after all the Xbox port of the game was released only on Europe, otherwise I need to do a few extra steps to support other regional releases of said port of the game). Don`t think you`re going to apply this script with just game.wad alone because you`re going to break the script you`re running on if you do so.

Now about the archive itself: some of the files contained in the archive are compressed using the zlib algorithm(it was referred to as "inflate" in default.xbe). However, I have no idea how to decompress those compressed files. Until I manage to work around with those files, this will have to suffice.

shadow_of_memories_xbox.bms

  • Replies 135
  • Views 145
  • Created
  • Last Reply

Top Posters In This Topic

  • Author
  • Localization

AnonBaiter, posted Sun Feb 26, 2017 6:35 pm (21040)


FOOTBALL.CFS

This archive file was used in This is Football and This is Football 2 I guess. I have no idea where versions 1.## and 2.## went.
It also uses some kind of unknown compression algorithm, however I don't know how to decompress those files as of this writing.

UPDATE(24/12/2017): The entire script has been restructured(it's actually much cleaner now). The script will also inform you of both the compressed and decompressed sizes of a file.

this_is_football.bms

  • Author
  • Localization

AnonBaiter, posted Tue Mar 14, 2017 7:56 pm (21463)


Ubisoft - Common_BAO_0x________/[Language]_BAO_0x________ sorter

The structure of a BAO file changes depending on the values that are located in 0x1c(long) and 0x27(byte) offset(run the script with the -V parameter to see what I mean by this). This script was made to get things a bit easier, especially when you have tons of BAO files to sort it out.

ubisoft_bao_sorter.bms

  • Author
  • Localization

AnonBaiter, posted Tue Mar 14, 2017 9:21 pm (21464)


func_header_GENH.bms

Well, it`s been a while since I wrote an reference header...
I`m not quite there yet, there is still stuff I need to add so consider this as the initial version.

Here`s an example using the included script:
Code:
include "func_header_GENH.bms"

set CHANNELS 2
#set INTERLEAVE 0
set FREQUENCY 44100
set LOOPSTART -1
set GENH_CODEC 0
set STARTOFFSET 0
math STARTOFFSET 0x1000
set HEADERSIZE 0x1000
set AT3MODE 0      # not ready yet
set XMAMODE 0      # ditto
set OFFSET 0

get SIZE asize
math ORIGINALSIZE = SIZE
xmath LOOPEND "SIZE * CHANNELS"
if GENH_CODEC == 0x14 || GENH_CODEC == 0x15      # you can choose which one are you going to remove the "#" symbol on at the start of the line
#   set DATASIZE 0                              # set the raw XMA1/XMA2 datasize here in case there are oddities in the XMA2/XMA2 header
   math DATASIZE = SIZE                        # use this only in cases where the XMA1/XMA2 file in question is headerless
else
endif
math SIZE -= OFFSET
callfunction GENH_1 1

func_header_GENH.bms

  • Author
  • Localization

AnonBaiter, posted Tue Mar 14, 2017 10:16 pm (21465)


Ubisoft Montreal - "scimitar" archive(.forge)

This was only tested on Assassin's Creed(PS3, XBOX360, PC) so if you find any archive that starts with "scimitar" or has the .forge extension that was released before or after Assassin's Creed(so long as it's a Ubisoft game), let me know.

UPDATE(25/03/2017): The script has been updated to support a new version of the archive used from Assassin's Creed 3 and onwards.
UPDATE(05/04/2017): This script had to be... tweaked for "For Honor"(as requested by nikana), and possibly more recent Ubisoft games that use the .forge archives. Which means you can now use this script on any PC version of any game that uses it.
UPDATE(08/12/2017): The script was updated to add a work-around for a "rare" instance in which the ACTUAL_SIZE value is actually 0. In that case, the script will then set the ACTUAL_SIZE variable to the SIZE variable which seem to have the actual size number for that one file. Kudos to vladik4kides for finding this out.
UPDATE(16/07/2018): the script has been updated to "support" this new structure as used in Tom Clancy's Rainbow Six Siege, as requested by lifecoder. kudos.
UPDATE(27/07/2018): fixed a bug in the script that lifecoder spotted while executing said script through some .forge files(Tom Clancy's Rainbow Six Siege)

scimitar.bms

  • Author
  • Localization

AnonBaiter, posted Sat Mar 18, 2017 5:54 pm (21609)


Ubisoft Montreal - *.big/*.fat archives

It was first used on Prince of Persia: The Sands of Time(PS2, GC, XBOX, PC). The usual Ubisoft Montreal`s audio middleware(.ss#/.sb# files) were packed into these archives, however in the PS2 version there were videos packed in as well, albeit separately.

sound_big_fat.bms

  • Author
  • Localization

AnonBaiter, posted Sun Mar 26, 2017 4:38 pm (21777)


Mahjong Fight Club: Zenkoku Taisenban (PS3) - *.IMG archives

UPDATE(26/03/2017): The script has been updated to not include "FDSE" anymore; instead the script can now only work with .IMG files that has the "\x20\x06\x05\x15" value at the start(such as ALL_FONT.img).

mahjong_fight_club_ps3.bms

  • Author
  • Localization

AnonBaiter, posted Sat Apr 08, 2017 6:19 pm (22077)


EA UK/EA Bright Light - *.sdt

For soundbanks like these that were used on some EA games such as F1 2001.

UPDATE(10/04/2017): I got the WAV duration right this time.

f1_2001_sdt.bms

  • Author
  • Localization

AnonBaiter, posted Wed Apr 12, 2017 1:24 am (22150)


Early Polyphony Digital archives

UPDATE(26/05/2017): Added support for Gran Turismo 2000.

motor_toon_grand_prix.bms

  • Author
  • Localization

AnonBaiter, posted Sun Apr 16, 2017 12:50 am (22249)


NFL Fever 2002/Microsoft Game Studios(Xbox) - .#ff archives

For now this only supports archives with the .dmf and .ff extension. Will add support for .tff extension as well when I feel like it, since this is the closest to an archive file anyway.

nfl_fever_2002.bms

  • Author
  • Localization

mauzerX, posted Thu Apr 20, 2017 10:11 am (22456)


AnonBaiter wrote:
Metal Gear Solid HD Collection (Vita) - .9tav->.at9
These files are stored within .sdt files, which can be demuxed with sdt_demux.py(written by Nisto). You can find it here.

Please, upload sdt_demux.py.
All links are dead.
  • Author
  • Localization

mauzerX, posted Thu Apr 20, 2017 4:41 pm (22464)


AnonBaiter, thank you.
  • Author
  • Localization

AnonBaiter, posted Sun Apr 23, 2017 12:39 am (22562)


Crisis Core: Final Fantasy VII - discimg.fse/discimg.pkg

discimg_fse_pkg.bms

  • Author
  • Localization

AnonBaiter, posted Sun Apr 30, 2017 4:30 am (22736)


SCEA/SCEE - SBv2/SBlk/lkBS/MMID archives(PS2 and beyond)

Seems to be first used on early 989 Studios/989 Sports games that were on the PS2 at launch(such as NCAA GameBreaker 2001), as well as a bunch of other SCEA/SCEE games from time to time. It might or might not work on PS1 games that use this format though, especially since I've only tested a few SCEA PS2 games(Kinetica, Jak and Daxter, the aforementioned PS2 sports game, etc.) and one SCEE PSP game(Gangs of London) so far.

UPDATE(30/04/2016): There were minor changes regarding the extension of the extracted files.

989_sound_bank.bms

  • Author
  • Localization

AnonBaiter, posted Mon May 01, 2017 3:05 am (22769)


SCE Santa Monica - *.WAD

I'm just getting started with these kind of .WAD archives used in SCE Santa Monica games...

UPDATE #01(01/05/2017): CURR_OFF was removed, which eliminates at least one error.
UPDATE #02(01/05/2017): DUMMY2 was renamed to TYPE, and now TYPE 0x18 is excluded, eliminating any upcoming errors coming from some .WAD archives(from level_01.wad to level_15.wad).
UPDATE(02/05/2017): I updated the kinetica_wad.bms script, and presented a new one along with it. Do keep in mind though that god_of_war_wad.bms won't actually work on any God of War games released for the PS3.

god_of_war_wad.bms

kinetica_wad.bms

  • Author
  • Localization

AnonBaiter, posted Fri May 12, 2017 2:22 pm (23153)


N.U.D.E.@ Natural Ultimate Digital Experiment - *.tfs

The compression algorithm "used" for the "game" was never seen.

nude_tfs.bms

  • Author
  • Localization

aluigi, posted Fri May 12, 2017 2:55 pm (23156)


If you want I can give a quick look at that compression and file format.
Little note: you must use ZSIZE in the second log.
  • Author
  • Localization

AnonBaiter, posted Fri May 12, 2017 3:16 pm (23158)


aluigi wrote:
If you want I can give a quick look at that compression and file format.
Little note: you must use ZSIZE in the second log.
Too bad that in that game none of the files are compressed between these .tfs archives. I couldn`t even find a zlib sign in there.
  • Author
  • Localization

aluigi, posted Fri May 12, 2017 4:01 pm (23160)


Ah, the format allows compressed files but that specific game doesn't have them and so no way to test it.
Anyway it's an Xbox game so I bet it's xmemcompress.
  • Author
  • Localization

AnonBaiter, posted Fri May 12, 2017 10:38 pm (23166)


SCEI/Sony PS2 - .XWB/.XWH/.XWS(RXWS) splitter

This "rare" format used in SCEI PS2 is a precursor to these SGXD files that were used around SCEI PS3 games, not to mention that the structure itself is different from Microsoft XACT(.xwb) archives that were common starting with 2003.

UPDATE(13/05/2017): The script now keeps the FORM08 value of an ATRAC3(0x1c02) file on its splitted .xwh file.
UPDATE#01(14/05/2017): bnnm has made various improvements to the script, such as getting the STREAM_SIZE/STREAM_OFFSET directly rather than depending on the "size"(actually total number of samples) field, and has added .XWS support. As for what I did with this script, I set the FTXT_SIZE to support filenames that are up to 0x38 characters(lending itself to 0x40 bytes, if it exists) while not letting any unnecessary space for filenames that are lower than 0x8 characters(aka the extra 0x10 bytes). Finally, RXWS_SIZE is now set through xmath operations after FORM_SIZE and FTXT_SIZE for splitting.
UPDATE#02(14/05/2017): The final size of an splitted .XWS file is now set through an xmath operation.
UPDATE(21/08/2017): The script has been completely restructed(the chunks can now be seeked through the "findloc" command, which means you won't get an error when the script tries to find a missing chunk). Furthermore, the "MARK" chunk has been added for splitting.

ps2_xwb_xwh_splitter.bms

Guest
This topic is now closed to further replies.

Account

Navigation

Search

Search

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.