8000 GitHub - ImAciidz/gsc-tool
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

ImAciidz/gsc-tool

 
 

Repository files navigation

build license issues releases paypal

GSC Tool

A utility to compile & decompile IW engine game scripts.

Supported Games

  • IW5 (Call of Duty: Modern Warfare 3) PC PS3 Xbox 360
  • IW6 (Call of Duty: Ghosts) PC PS3 PS4 Xbox 360 Xbox One
  • IW7 (Call of Duty: Infinite Warfare) PC PS4 Xbox One
  • IW8 (Call of Duty: Modern Warfare (2019) / Warzone) PC PS4 PS5 Xbox One Xbox Series X|S
  • IW9 (Call of Duty: Modern Warfare II (2022) / Warzone 2) PC PS4 PS5 Xbox One Xbox Series X|S
  • S1 (Call of Duty: Advanced Warfare) PC PS3 PS4 Xbox 360 Xbox One
  • S2 (Call of Duty: WWII) PC PS4 Xbox One
  • S4 (Call of Duty: Vanguard) PC PS4 PS5 Xbox One Xbox Series X|S
  • H1 (Call of Duty: Modern Warfare Remastered) PC PS4 Xbox One
  • H2 (Call of Duty: Modern Warfare 2 Campaign Remastered) PC PS4 PS5 Xbox One Xbox Series X|S
  • T6 (Call of Duty: Black Ops II) PC PS3 Xbox 360 Wii U
  • T7 (Call of Duty: Black Ops III) PC (Decompiler)
  • T8 (Call of Duty: Black Ops 4) *WIP*
  • T9 (Call of Duty: Black Ops Cold War) *WIP*

Usage

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

mode: asm, disasm, comp, decomp, parse

  • note: zonetool files (.cgsc, .cgsc.stack) use: zasm, zdisasm, zcomp, zdecomp modes

game: iw5, iw6, iw7, iw8, iw9, s1, s2, s4, h1, h2, t6 t7 t8 t9< 6FEB /p>

system: pc, ps3, ps4, ps5, xb2 (360), xb3 (One), xb4 (Series X|S), wiiu

path: file or directory (recursive process all files inside the directory)

Example: ./gsc-tool.exe comp iw5 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

File Format

If you need to extract scripts from fastfiles or game memory, use Zonetool or Jekyll.

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

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.

Contribute

If you like my work, consider sponsoring/donating! Would allow me to spend more time adding new features & fixing bugs.

BTC: bc1qky7x9kpjlt6nsvt7pckc3wwzk8rk9pgtnmw98u
ETH: 0x6261BBE1a33F6Fec4b722DbCe2c28B4CC02c9C7B
pypl kofi

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

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • C++ 100.0%
0