Skip to content

ate47/atian-cod-tools

Repository files navigation

Atian Tools

Build

My set of tools. The code is more important than the features, so feel free to reuse it. 🙂

Supported games

Name Revision Decompiler Compiler PS4 support
Black Ops 3 (T7) 1B Partial
Black Ops 3 (T7) 1C
Black Ops 4 (T8) 36 EXT
Black Ops Cold War (T9) 37 DEC EXT
Black Ops Cold War (T9) 38 DEC EXT
Modern Warfare III (JUP) 8A EXT EXT
Modern Warfare III (JUP) 8B DEC & EXT EXT
  • DEC: with pre-decode
  • EXT: With extensions, The extensions aren't provided publicly, at least not by me.

ACTS Lib

Prototype libary for random stuff, probably not linked to Call of Duty.

Dependencies

This tool is using and providing

Downloads

You can download the latest release here:

Related repositories

Tools

Mods

Mods implemented in my tool, run acts mod for the list.

  • acts mod t8cee - enable EEs in Custom mutations, offline or casual (Black Ops 4).
  • acts mod t9cee - enable EEs in offline (Black Ops Cold War).

Decompiler/Disassembler

Tools to decompile or disassemble the GSC scripts, a bo4 script decompilation is available in the bo4-source and bocw-source repositories.

  • gsc disassembler, made in 3 days with a lot of alcohol so don't use it. acts gscinfo -a -o "output" [input=scriptparsetree]
  • gsc decompiler, same as the disassembler, but 10 days after, not any better. acts gscinfo -g -o "output" [input=scriptparsetree]

Compiler

GSC compiler, not for all the games, the scripts can be compiled using the command acts gscc -g [game] [directory].

GSC Development (Black Ops 4)

Tools to help with the GSC development.

  • gsc vm debugger, dump the function stack when the vm has a crash, acts dbg
    • can dump the var stack -s local var -v
    • can look inside structures with the depth for array -A [depth] and structs -S [depth] (need the game started)

Lookup

To have a lookup over the extracted hashes, you can use a file named strings.txt when using the process, it will be loaded automatically, one string per line.

You can also use .wni compiled files, create a directory with the name package_index and put the .wni files in it.

Credits

  • Serious's t8-compiler for some opcodes for Black Ops 4, it fasted up the process of understanding the internal game functions. Also for the childthread operator syntax.