Skip to content

A utility to compile & decompile IW engine game scripts.

License

Notifications You must be signed in to change notification settings

user-45-20/gsc-tool

 
 

Repository files navigation

Build status license GitHub issues GitHub release (latest by date)

GSC Tool

A utility to compile & decompile IW engine game scripts.

Supported Games

  • IW5 (Call of Duty: Modern Warfare 3)
  • IW6 (Call of Duty: Ghosts)
  • IW7 (Call of Duty: Infinite Warfare)
  • IW8 (Call of Duty: Modern Warfare (2019))
  • S1 (Call of Duty: Advanced Warfare)
  • S2 (Call of Duty: WWII)
  • S4 (Call of Duty: Vanguard)
  • H1 (Call of Duty: Modern Warfare Remastered)
  • H2 (Call of Duty: Modern Warfare 2 Campaign Remastered)
  • T4 (Call of Duty: World at War) *WIP*
  • T5 (Call of Duty: Black Ops) *WIP*
  • T6 (Call of Duty: Black Ops II) *WIP*

Usage

./gsc-tool.exe <mode> <game> <path>

modes: asm, disasm, comp, decomp

games: iw5, iw6, iw7, iw8, s1, s2, s4, h1, h2

paths: file, directory (recursive process all files with mode extension)

for zonetool files (.cgsc, .cgsc.stack) use: zasm, zdisasm, zcomp, zdecomp

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

Format

  • gsc-tool .gscbin format is a serialized ScriptFile struct: name: null-term string, compressedLen: 4 byte uint, len: 4 byte uint, bytecodeLen: 4 byte uint, buffer: byte array[compressedLen], bytecode: byte array[bytecodeLen].

  • zonetool format made of bytecode file .cgsc and decompressed stack buffer .cgsc.stack.

Credits

This project is based on RektInator's gsc-asm. Special thanks to RektInator, JTAG & Dasfonia.

Disclaimer

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.

About

A utility to compile & decompile IW engine game scripts.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • C++ 100.0%