AnonBaiter's Script Compendium

Do you know a tool, link or website for working on a specific game files or to help game research? Let's collect them here!
AnonBaiter
Posts: 1125
Joined: Tue Feb 02, 2016 2:35 am

Re: AnonBaiter's Script Compendium

Post by AnonBaiter »

Shellshock: Nam` 67 (PS2, XBOX, PC) - ASSETS.DAT/ASSETS##.DAT

It`s just a rewrite of aluigi`s shellshock67.bms script, yet in this one many lines of code were saved to reflect the current quickBMS version.
AnonBaiter
Posts: 1125
Joined: Tue Feb 02, 2016 2:35 am

Re: AnonBaiter's Script Compendium

Post by AnonBaiter »

Grand Theft Auto San Andreas (PS2/XBOX) - SFX/STREAMS extractor

Well, this was originally going to be a single script for handling two .DAT files(TRAKLKUP.DAT/BANKLKUP.DAT), but the whole idea didn`t work out in the end so I ended up writing two separate scripts instead.

The file containers were set specifically for when vgmstream gets to support these files.

Research notes are included for those clueless about what does these files mean, and although you can just search for the GTAModding wiki an article about the audio system used in the game they only covered the PC version(for example, no mention of PlayStation ADPCM/VAG or Xbox ADPCM is found in those articles that do mention the audio system).

UPDATE(11/06/2017): The gtasa_streams.bms script is finally updated to fix support for the Xbox version of the game.
Last edited by AnonBaiter on Sun Jun 11, 2017 4:54 pm, edited 4 times in total.
AnonBaiter
Posts: 1125
Joined: Tue Feb 02, 2016 2:35 am

Re: AnonBaiter's Script Compendium

Post by AnonBaiter »

Glacier Engine 2 - .[platform]*_binkvid splitter

It`s really interesting how I left these files for too long and just now I wrote this quick script.

On an unrelated note, does anyone know the hash function used for Hitman Sniper Challenge and Hitman Absolution?

* It means the pc/ps3/xbox360(x360?) versions.
Last edited by AnonBaiter on Sat Mar 18, 2017 8:14 pm, edited 1 time in total.
AnonBaiter
Posts: 1125
Joined: Tue Feb 02, 2016 2:35 am

Re: AnonBaiter's Script Compendium

Post by AnonBaiter »

Don`t worry people, I`m fine... Wait a minute, why wasn`t I banned from that argument?
Anyway...
AnonBaiter
Posts: 1125
Joined: Tue Feb 02, 2016 2:35 am

Re: AnonBaiter's Script Compendium

Post by AnonBaiter »

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.
AnonBaiter
Posts: 1125
Joined: Tue Feb 02, 2016 2:35 am

Re: AnonBaiter's Script Compendium

Post by AnonBaiter »

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.
Last edited by AnonBaiter on Sun Dec 24, 2017 7:21 pm, edited 1 time in total.
AnonBaiter
Posts: 1125
Joined: Tue Feb 02, 2016 2:35 am

Re: AnonBaiter's Script Compendium

Post by AnonBaiter »

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.
Last edited by AnonBaiter on Tue Mar 14, 2017 10:17 pm, edited 1 time in total.
AnonBaiter
Posts: 1125
Joined: Tue Feb 02, 2016 2:35 am

Re: AnonBaiter's Script Compendium

Post by AnonBaiter »

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: Select all

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
AnonBaiter
Posts: 1125
Joined: Tue Feb 02, 2016 2:35 am

Re: AnonBaiter's Script Compendium

Post by AnonBaiter »

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)
Last edited by AnonBaiter on Fri Jul 27, 2018 7:26 pm, edited 9 times in total.
AnonBaiter
Posts: 1125
Joined: Tue Feb 02, 2016 2:35 am

Re: AnonBaiter's Script Compendium

Post by AnonBaiter »

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.
Last edited by AnonBaiter on Wed Apr 12, 2017 3:03 pm, edited 1 time in total.
AnonBaiter
Posts: 1125
Joined: Tue Feb 02, 2016 2:35 am

Re: AnonBaiter's Script Compendium

Post by AnonBaiter »

Just Dance (Wii) - *.spk
Last edited by AnonBaiter on Wed Apr 12, 2017 2:58 pm, edited 1 time in total.
AnonBaiter
Posts: 1125
Joined: Tue Feb 02, 2016 2:35 am

Re: AnonBaiter's Script Compendium

Post by AnonBaiter »

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).
Last edited by AnonBaiter on Thu May 11, 2017 6:49 pm, edited 2 times in total.
AnonBaiter
Posts: 1125
Joined: Tue Feb 02, 2016 2:35 am

Re: AnonBaiter's Script Compendium

Post by AnonBaiter »

Chase the Express/Covert Ops: Nuclear Dawn (PS1) - *.DPF archives
AnonBaiter
Posts: 1125
Joined: Tue Feb 02, 2016 2:35 am

Re: AnonBaiter's Script Compendium

Post by AnonBaiter »

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.
Last edited by AnonBaiter on Thu May 11, 2017 6:49 pm, edited 2 times in total.
AnonBaiter
Posts: 1125
Joined: Tue Feb 02, 2016 2:35 am

Re: AnonBaiter's Script Compendium

Post by AnonBaiter »

Formula 1/Bizarre Creations(PS1) - *.pth/*.dat pairs
Last edited by AnonBaiter on Wed Apr 12, 2017 3:03 pm, edited 1 time in total.
AnonBaiter
Posts: 1125
Joined: Tue Feb 02, 2016 2:35 am

Re: AnonBaiter's Script Compendium

Post by AnonBaiter »

Early Polyphony Digital archives

UPDATE(26/05/2017): Added support for Gran Turismo 2000.
Last edited by AnonBaiter on Fri May 26, 2017 1:33 pm, edited 1 time in total.
AnonBaiter
Posts: 1125
Joined: Tue Feb 02, 2016 2:35 am

Re: AnonBaiter's Script Compendium

Post by AnonBaiter »

Evolution Studios - DVD.BIN/DVD.DAT(PS2)
AnonBaiter
Posts: 1125
Joined: Tue Feb 02, 2016 2:35 am

Re: AnonBaiter's Script Compendium

Post by AnonBaiter »

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.
mauzerX
Posts: 7
Joined: Tue Mar 14, 2017 5:06 am

Re: AnonBaiter's Script Compendium

Post by mauzerX »

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.
AnonBaiter
Posts: 1125
Joined: Tue Feb 02, 2016 2:35 am

Re: AnonBaiter's Script Compendium

Post by AnonBaiter »

Here you go.