Tools And Plugins

Stuff I've made at some point in time.

WORK IN PROGRESS

This page is incomplete, there's more stuff to come!

Platform Definitions

There are various platforms that can be listed for a plugin/script. Below is some additional information if needed.

For use with Rich Whitehouse's Noesis which can be downloaded from the Projects section on their site. Place the Python plugin in the .\plugins\python\ directory.

Standalone Python 3 script.

For use with Luigi Auriemma's QuickBMS which can be downloaded from the QuickBMS section on their site. Either run the executable on its own for a sort-of GUI, or run it via command line and specify the script and output path as the following two arguments.

fmt_PS2memcard.py

Noesis

https://github.com/EdnessP/scripts/blob/main/ps2/fmt_PS2memcard.py

A model and texture plugin that supports PlayStation 2 Memory Card .ICN and .ICO files.
Note! This script has been published incomplete as-is. See the script comments for further explanation!

ms_timestamp.py

Python

https://github.com/EdnessP/scripts/blob/main/other/ms_timestamp.py

A script that parses Windows, Xbox, Xbox 360, Xbox One .DBG, .EXE (MZ/PE), .IDB, .ILK, .PDB, .XBE (Alpha, Final), .XDB, .XEX (Alpha, Beta, Final), .XVD files, as well as Xbox and Xbox 360 Disc Manufacturing Information and Security Sector binaries, and prints their embedded timestamp.

PICparse.py

Python

https://github.com/EdnessP/scripts/blob/main/other/PICparse.py

A script that parses Blu-Ray Permanent Information & Control PIC.BIN files and prints the information contained within it. Live version.

xbexexmzpe.bms

QuickBMS

https://github.com/EdnessP/scripts/blob/main/other/xbexexmzpe.bms

No longer maintained – superseded by ms_timestamp.py! A script that parses Windows, Xbox, Xbox 360 .EXE (MZ/PE), .XBE (Alpha, Final), .XEX (Alpha, Beta, Final) files and prints their baked in timestamp.

activisionRPF.bms

QuickBMS

https://github.com/EdnessP/scripts/blob/main/other/activisionRPF.bms

A script that extracts Activison Anthology PS2 .RPF files.
There is an error that may show up if it reaches EOF early, but this doesn't affect the file exporting process.

atetdbidkPAK.bms

QuickBMS

https://github.com/EdnessP/scripts/blob/main/other/atetdbidkPAK.bms

A script that extracts Adventure Time: Explore the Dungeon Because I Don't Know! PC, PS3, Wii U, Xbox 360 .PAK files.

atariGLM.bms

QuickBMS

https://github.com/EdnessP/scripts/blob/main/other/atariGLM.bms

A script that extracts the Atari Anthology PS2 and Xbox ATARI.GLM file.

fmt_BigRigsOTRR.py

Noesis

https://github.com/EdnessP/scripts/blob/main/other/fmt_BigRigsOTRR.py

A model plugin that supports Big Rigs: Over the Road Racing PC .SCO files.

fmt_Burnout3LRD.py

Noesis

https://github.com/EdnessP/scripts/blob/main/burnout/fmt_Burnout3LRD.py

A texture plugin that supports Black PS2 and Xbox .BIN and .DB files.
Originally written for Burnout 3: Takedown, Legends, Revenge, Dominator, but format similarities also extend to this game. See changelog.

tex_BombermanActZero.py

Noesis

https://github.com/EdnessP/scripts/blob/main/other/tex_BombermanActZero.py

A texture plugin that supports Bomberman Act:Zero Xbox 360 .DAT and .XPR files.

BombermanActZero.bms

QuickBMS

https://github.com/EdnessP/scripts/blob/main/other/BombermanActZero.bms

A script that extracts Bomberman Act:Zero Xbox 360 FILEA##.DAT files.

BombermanActZeroFILEB0.bms

QuickBMS

https://github.com/EdnessP/scripts/blob/main/other/BombermanActZeroFILEB0.bms

A script that extracts the Bomberman Act:Zero Xbox 360 FILEB0.DAT file.

fmt_BullySE_Wii.py

Noesis

https://github.com/EdnessP/scripts/blob/main/bully/fmt_BullySE_Wii.py

A model and texture plugin that supports Bully: Scholarship Edition Wii .DFF and .TXD files. The textures require the lib zq nintendo tex.py and fmt wii tpl.py Noesis library/plugin to function.

fmt_BullyAE.py

Noesis

https://github.com/EdnessP/scripts/blob/main/bully/fmt_BullyAE.py

A model and texture plugin that supports Bully: Anniversary Edition Android and iOS .MSH and .TEX files.

hash_build.py

Python

https://github.com/EdnessP/scripts/blob/main/midnight-club/hash_build.py

A script that imports and exports Bully (Canis Canem Edit) and Bully: Scholarship Edition PC, PS2, Wii, Xbox 360 Hash archive files.

rstm_build.py

Python

https://github.com/EdnessP/scripts/blob/main/midnight-club/rstm_build.py

A script builds Bully (Canis Canem Edit) PS2 RSTM .RSM sound files. Requires MFAUDIO_PATH and/or PS2STR_PATH to be set in the script with a path to the MFAudio and/or PS2STR (from the SDK) executable.

lipfile_update.py

Python

https://github.com/EdnessP/scripts/blob/main/bully/lipfile_update.py

A script updates Bully (Canis Canem Edit) .LIP files in World.IMG to match the newly built Speech.BIN metadata.

BullyAE_encryption.py

Python

https://github.com/EdnessP/scripts/blob/main/bully/BullyAE_encryption.py

A script that encrypts and decrypts Bully: Anniversary Edition Android and iOS .EFF, .MTL, .WDB, .XML files. Decryption was originally rewritten from pre-existing C and C++ reimplementations of the DecryptText function. Encryption was reimplemented from the EncryptText function. Live version.

BullyAE_parse.py

Python

https://github.com/EdnessP/scripts/blob/main/bully/BullyAE_parse.py

A script that parses Bully: Anniversary Edition info strings found in various file headers and converts them to functional Python dictionaries and lists.

BullyAEjumptable.bms

QuickBMS

https://github.com/EdnessP/scripts/blob/main/bully/BullyAEjumptable.bms

A script that exports all of the save games found in Bully: Anniversary Edition's JUMPTABLE.BIN.

BullyHash.py

Python

https://github.com/EdnessP/scripts/blob/main/bully/BullyHash.py

Python reimplementation of Bully's zipHashFile::Hash and HashUCstring functions, used for looking up audio files and string labels respectively. Live version.

BullyX360img.bms

QuickBMS

https://github.com/EdnessP/scripts/blob/main/bully/BullyX360img.bms

A script that supports Bully: Scholarship Edition's Wii and Xbox 360 (big endian) .IMG and .DIR files. Originally written by Amzy, this is an updated version that supports XMemDecompress used by the Xbox 360 version.

tex_Burnout1.py

Noesis

https://github.com/EdnessP/scripts/blob/main/burnout/tex_Burnout1.py

A texture plugin that supports Burnout (Heaven's Drive, Grand Heat) PS2 and Xbox .AC2, .AC3, .AC4, .DIC, .FNT, .P1W, .P2W, .PC1, .PC2, .PCF, .PSS, .PSW, .TRA files.

tex_Burnout2.py

Noesis

https://github.com/EdnessP/scripts/blob/main/burnout/tex_Burnout2.py

A texture plugin that supports Burnout 2: Point of Impact GameCube, PS2, and Xbox .DIC, .GCN, .GRD, .PS2, .PSS, .RCF, .RCX, .TRA files.
The GameCube textures require the lib zq nintendo tex.py Noesis library to function.

fmt_Burnout3LRD.py

Noesis

https://github.com/EdnessP/scripts/blob/main/burnout/fmt_Burnout3LRD.py

A texture and archive plugin that supports Burnout 3: Takedown, Burnout Legends, Burnout Revenge, Burnout Dominator PS2, PSP, Xbox, and Xbox 360 .ARENA, .BGV, .BIN, .BTV, .DAT, .FXP, .TXD files. Also supports Black and Need for Speed: Shift (PSP) due to format similarities. See changelog.

txdscanner.bms

QuickBMS

https://github.com/EdnessP/scripts/blob/main/burnout/txdscanner.bms

A script that scans the executables of Burnout 3: Takedown and Burnout Legends to extract the .TXD font textures.

BLegendsDS.bms

QuickBMS

https://github.com/EdnessP/scripts/blob/main/burnout/BLegendsDS.bms

A script that decompresses Burnout Legends (DS) LZSS compressed files, starting with the identifiers 0x12345678 and 0x87654321.

fmt_BurnoutCRASH.py

Noesis

https://github.com/EdnessP/scripts/blob/main/burnout/fmt_BurnoutCRASH.py

A model and texture plugin that supports Burnout CRASH! PS3, Xbox 360, and iOS .CXM, .DDX, .GTF, .PVR, .PVRU files.

BurnoutCRASH_BIG.bms

QuickBMS

https://github.com/EdnessP/scripts/blob/main/burnout/BurnoutCRASH_BIG.bms

A script that extracts Burnout CRASH! PS3, Xbox 360, and iOS .BIG files. For compatibility with the Noesis plugin, the output directory should ideally be the same as the input .BIG file.

BurnoutCRASH_CSVparse.py

Python

https://github.com/EdnessP/scripts/blob/main/burnout/BurnoutCRASH_CSVparse.py

A script that splits Burnout CRASH! texture sheets using their accompanying .CSV files. Requires FFMPEG_PATH to be set in the script with a path to the FFmpeg executable, and the texture sheets are expected to already be converted to .PNG with the Noesis plugin.

GtHash.py

Python

https://github.com/EdnessP/scripts/blob/main/burnout/GtHash.py

Python reimplementation of Burnout's CGtHash::CalculateHash function, a CRC-32 derivative used for looking up strings and variables by their hashed values. Live version.

GtID.py

Python

https://github.com/EdnessP/scripts/blob/main/burnout/GtID.py

Python reimplementation of Burnout's GtIDCompress and GtIDUnCompress functions, a string compression format that reduces strings up to 12 characters long down to 8 bytes. Used to store track and vehicle names, and file identifiers. Live version.

bxv_palsplit.bms

QuickBMS

https://github.com/EdnessP/scripts/blob/main/burnout/bxv_palsplit.bms

No longer maintained – superseded by fmt_Burnout3LRD.py! Its primary purpose was to split and export the interleaved and grouped PS2 texture palettes for .BGV and .BTV files.

codfh_pak_filenames.py

Python

https://github.com/EdnessP/scripts/blob/main/cod/codfh_pak_filenames.py

A script that extracts the Call of Duty: Finest Hour PS2 and Xbox COD.PAK file with roughly 8700 original / possible filenames unhashed.
See this spreadsheet for hashes that are yet to be reversed.

codfh_hash.py

Python

https://github.com/EdnessP/scripts/blob/main/cod/codfh_hash.py

Python reimplementation of Call of Duty: Finest Hour PS2 and Xbox string hashing function, used for looking up filenames by their hashed names. Live version.

codfhpak.bms

QuickBMS

https://github.com/EdnessP/scripts/blob/main/cod/codfhpak.bms

No longer maintained – superseded by codfh_pak_filenames.py! A script that extracts the Call of Duty: Finest Hour PS2 and Xbox COD.PAK file.

cstrikeRDA.bms

QuickBMS

https://github.com/EdnessP/scripts/blob/main/other/cstrikeRDA.bms

A script that extracts Castle Strike PC .RDA files.

driversf-chnk.bms

QuickBMS

https://github.com/EdnessP/scripts/blob/main/other/driversf-chnk.bms

A script that extracts Driver: San Francisco PC, PS3, Xbox 360 .DNGC, .FCHUNK, .SP files.

DVO3parser.bms

QuickBMS

https://github.com/EdnessP/scripts/blob/main/other/DVO3parser.bms

No longer maintained! A script that prints float values from Driver: San Francisco Wii .VO3 files.

epic_mickey_hash.py

Python

https://github.com/EdnessP/scripts/blob/main/other/epic_mickey_hash.py

Python reimplementation of the Epic Mickey Wii string hashing function. Live version.

tex_FreakyFlyers.py

Noesis

https://github.com/EdnessP/scripts/blob/main/other/tex_FreakyFlyers.py

A texture plugin that supports Freaky Flyers PS2 and Xbox .PTX and .XTX files.

tex_HuneX_MF_PS2.py

Noesis

https://github.com/EdnessP/scripts/blob/main/other/tex_HuneX_MF_PS2.py

A texture plugin that support HuneX developed PS2 games' extracted .DAT files. Confirmed to work for Fate/stay night: Réalta Nua, Maple Colors: Kessen wa Gakuensai!, Ramune: Garasu-bin ni Utsuru Umi, Scarlet: Nichijou no Kyoukaisen, Suzunone Seven! Rebirth Knot, and possibly many other games.

jak1-2vagwad.bms

QuickBMS

https://github.com/EdnessP/scripts/blob/main/jak-daxter/jak1-2vagwad.bms

A script that extracts Jak & Daxter: The Precursor Legacy and Jak II: Renegade PS2 VAGWAD files.

jak3-Xvagwad.py

Python

https://github.com/EdnessP/scripts/blob/main/jak-daxter/jak3-Xvagwad.py

A script that extracts Jak 3 and Jak X: Combat Racing PS2 VAGWAD files.

jak3-Xvagdir_algo.py

Python

https://github.com/EdnessP/scripts/blob/main/jak-daxter/jak3-Xvagdir_algo.py

Python reimplementation of Jak 3 and Jak X: Combat Racing PS2 string compression function, used for storing audio file names. Live version.

dave.py

Python

https://github.com/EdnessP/scripts/blob/main/midnight-club/dave.py

A script that imports and exports many Angel Studios / Rockstar San Diego GameCube, PC, PS2, PSP, Xbox Dave archive files.

hash_build.py

Python

https://github.com/EdnessP/scripts/blob/main/midnight-club/hash_build.py

A script that imports and exports Midnight Club II and Midnight Club 3: DUB Edition PS2 Hash archive files.

rstm_build.py

Python

https://github.com/EdnessP/scripts/blob/main/midnight-club/rstm_build.py

A script builds Midnight Club 3: DUB Edition PS2 RSTM .RSM sound files. Requires MFAUDIO_PATH and/or PS2STR_PATH to be set in the script with a path to the MFAudio and/or PS2STR (from the SDK) executable.

strtbl.py

Python

https://github.com/EdnessP/scripts/blob/main/midnight-club/strtbl.py

A script that imports and exports Midnight Club II, Midnight Club 3: DUB Edition, and many other Angel Studios / Rockstar San Diego GameCube, PC, PS2, PS3, PS4, PSP, Switch, Wii, Xbox, Xbox 360 .STRTBL files.

MclHash.py

Python

https://github.com/EdnessP/scripts/blob/main/midnight-club/MclHash.py

Python reimplementation of Midnight Club II, Midnight Club 3: DUB Edition, and likely other Angel Studios / Rockstar San Diego PC, PS2, PSP, Xbox hashing functions, used for looking up audio files and string labels. Live version.

fmt_Burnout3LRD.py

Noesis

https://github.com/EdnessP/scripts/blob/main/burnout/fmt_Burnout3LRD.py

A texture plugin that supports Need for Speed: Shift PSP .ARENA, .BGV, .BTV, .DAT, .FXP, .TMM, .TXD files.
Originally written for Burnout 3: Takedown, Legends, Revenge, Dominator, but format similarities also extend to this game. See changelog.

ready2rumbleRAT.bms

QuickBMS

https://github.com/EdnessP/scripts/blob/main/other/ready2rumbleRAT.bms

A script that extracts Ready 2 Rumble Boxing and Ready 2 Rumble Boxing: Round 2 DC and PS2 .RAT files.

tex_SpongebobSurfnSkate.py

Noesis

https://github.com/EdnessP/scripts/blob/main/other/tex_SpongebobSurfnSkate.py

A texture plugin that supports SpongeBob's Surf & Skate Roadtrip Xbox 360 .XEN files.

SSZI_LNG.py

Python

https://github.com/EdnessP/scripts/blob/main/strike-suit/SSZI_LNG.py

A script that imports and exports Strike Suit Zero and Strike Suit Infinity .LNG files.

SSZI_decomp.bms

QuickBMS

https://github.com/EdnessP/scripts/blob/main/strike-suit/SSZI_decomp.bms

A script that decompresses Strike Suit Zero and Strike Suit Infinity files starting with the identifiers LPMC and XEMC.

tex_TheSimpsonsGame_NewGen.py

Noesis

https://github.com/EdnessP/scripts/blob/main/simpsons-game/tex_TheSimpsonsGame_NewGen.py

A texture plugin that supports The Simpsons Game PS3 and Xbox 360 .ITXD and .TXD files.

TheSimpsonsGame_NewGen_LH2.py

Python

https://github.com/EdnessP/scripts/blob/main/simpsons-game/TheSimpsonsGame_NewGen_LH2.py

A script that imports and exports The Simpsons Game PS3 and Xbox 360 .LH2 files. Strings must be compliant with Windows Codepage 1252!

tsg_hash.py

Python

https://github.com/EdnessP/scripts/blob/main/simpsons-game/tsg_hash.py

Python reimplementation of The Simpsons Game PS3 and Xbox 360 string hashing function, used for looking up strings by their hashed labels. Live version.

Sims2PetsKeyGen.py

Python

https://github.com/EdnessP/scripts/blob/main/sims-console/Sims2PetsKeyGen.py

Python reimplementation of The Sims 2: Pets Unlock Code gift generator and decoder. Live version.

TRLegendHash.py

Python

https://github.com/EdnessP/scripts/blob/main/other/TRLegendHash.py

Python reimplementation of the Tomb Raider string hashing function. Live version.

tex_Yakuza.py

Noesis

https://github.com/EdnessP/scripts/blob/main/other/tex_Yakuza.py

A texture plugin that supports Yakuza series PS2, PS3, Wii U .TXB files.

txbp-tm2.bms

QuickBMS

https://github.com/EdnessP/scripts/blob/main/other/txbp-tm2.bms

No longer maintained – superseded by tex_Yakuza.py! A script that converts Yakuza series PS2 .TXB files to .TM2.