A utility to compile & decompile IW engine game scripts.
PC
PS3
Xbox 360
PC
PS3
PS4
Xbox 360
Xbox One
PC
PS4
Xbox One
PC
PS4
PS5
Xbox One
Xbox Series X|S
PC
PS4
PS5
Xbox One
Xbox Series X|S
PC
PS3
PS4
Xbox 360
Xbox One
PC
PS4
Xbox One
PC
PS4
PS5
Xbox One
Xbox Series X|S
PC
PS4
Xbox One
PC
PS4
PS5
Xbox One
Xbox Series X|S
PC
PS3
Xbox 360
Wii U
PC
(Decompiler)gsc-tool [OPTIONS..] <path>
path: file or directory to process
options:
-m, --mode <mode>
[REQUIRED] one of: asm
, disasm
, comp
, decomp
, parse
-g, --game <game>
[REQUIRED] one of: iw5
, iw6
, iw7
, iw8
, iw9
, s1
, s2
, s4
, h1
, h2
, t6
t7
t8
t9
jup
-s, --system <system>
[REQUIRED] one of: pc
, ps3
, ps4
, ps5
, xb2
(360), xb3
(One), xb4
(Series X|S), wiiu
-d, --dev
Enable developer mode (dev blocks & generate bytecode map).
-z, --zonetool
Enable zonetool mode (use .cgsc files).
-h, --help
Display help.
-v, --version
Display version.
Example: gsc-tool -m comp -g iw5 -s pc ./data/iw5/my_fancy_script.gsc
Mode | Description | Output |
---|---|---|
asm |
assemble a file.gscasm |
file.gscbin |
disasm |
dissasemble a file.gscbin |
file.gscasm |
comp |
compile a file.gsc |
file.gscbin |
decomp |
decompile a file.gscbin |
file.gsc |
parse |
parse a file.gsc |
file.gsc |
If you need to extract scripts from fastfiles or game memory, use Zonetool or Jekyll.
gsc-tool .gscbin
binary format is a serialized ScriptFile struct:
"GSC\0"
4 byte note: for PS3 & Xbox 360 .gscbin
files (compressedLen, len, bytecodeLen) are saved as little-endian!!
zonetool (IW5) format made of bytecode file .cgsc
and decompressed stack buffer .cgsc.stack
.
treyarch (T6) format is a single buffer with gscobj data .gsc
or .csc
.
git submodule update --init --recursive
premake5 vs2022
(windows) or premake5 gmake2
(linux/macos)If you like my work, consider sponsoring/donating! Would allow me to spend more time adding new features & fixing bugs.
BTC: bc1qky7x9kpjlt6nsvt7pckc3wwzk8rk9pgtnmw98u\ ETH: 0x6261BBE1a33F6Fec4b722DbCe2c28B4CC02c9C7B\
This project is based on RektInator's gsc-asm. Special thanks to RektInator, JTAG & Dasfonia.
This software has been created purely for the purposes of academic research. Project maintainers are not responsible or liable for misuse of the software. Use responsibly.