Skip to content

Latest commit

Β 

History

1,337 Commits

Folders and files

NameName
Last commit message
Last commit date
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Atian Tools

Build

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

meme

Dependencies

This tool is using and providing different dependencies, see LICENSE.md for a full list.

Downloads

You can download the latest release here:

The tool checkupdate allows to check for the latest update.

Fast Files

Fast Files (ff) are compressed archives containing the different assets of the Call of Duty games.

Fast Files Dumpers

The dumpers extract the fast files assets.

Supported games and assets

Game Reader Handler Pools
Black Ops 3 βœ… bo3 rawfile, scriptparsetree
Black Ops 4 βœ… bo4 aitype, arenaseasons, bgcache, character, characterbodytype, cpu_occlusion_data, customization, ddl, entitlement, entitlementlist, firstpartyentitlement, firstpartyentitlementlist, gametypetable, hierarchical_task_network, keyvaluepairs, localize_entry, luafile, comworld, entity_list, gfxworld, maptable, maptable_list, maptable_preview_images, trigger_list, objective, player_outfit, player_role_category, player_role_category_table, player_role_template, playlists, playlist_global_settings, playlist_schedule, rank, ranktable, prestige, prestigetable, rawstring, scriptbundle, scriptbundlelist, scriptparsetree, scriptparsetreedbg, sound, sprayorgestureitem, sprayorgesturelist, storagefile, storagefilelist, storeproduct, storecategory, storecategorylist, labelstore, labelstorelist, sku, streamkey, stringtable, structured_table, unlockable_item, unlockable_item_table, weapon, weapon_camo, weapon_tunables, zbarrier
Modern Warfare 2019 βœ… mw19 rawfile, scriptfile (gpl*), luafile, localize
Black Ops Cold War βœ… cw rawfile, scriptparsetree, using, scriptbundle, bgcache, ddl, localizeentry, keyvaluepairs, weapon_frontend, zbarrier
Vanguard βœ… vg rawfile, scriptfile (gpl*), luafile, localize
Modern Warfare II βœ… mwii rawfile, scriptfile (gpl*), luafile, stringtable, ddl, scriptbundle, localize
Modern Warfare II SP βœ… mwiisp rawfile, scriptfile (gpl*), luafile, stringtable, ddl, scriptbundle, localize
Modern Warfare III βœ… mwiii rawfile, gscobj, luafile, stringtable, ddl, scriptbundle, localize
ModernΒ WarfareΒ IIIΒ SP βœ… mwiiisp rawfile, gscobj, luafile, stringtable, ddl, scriptbundle, localize
Black Ops 6 βœ… bo6 rawfile, gscobj, gscgdb, luafile, aitype, scriptbundle, stringtable, keyvaluepairs, netconststrings, operator, operatorlist, reactiveoperator, operatorskin, spray, contraildata, parachutedata, ddl, aishootstyleslist, ai_token_types, ai_token_stealing_definitions, ai_token_definitions, localize, soundbank, soundbanktransient
Black Ops 6 SP βœ… bo6sp rawfile, gscobj, gscgdb, stringtable, ddl, scriptbundle, netconststrings, luafile, aitype, localize
Black Ops 7 βœ… bo7 rawfile, gscobj, gscgdb, luafile, aitype, scriptbundle, stringtable, keyvaluepairs, netconststrings, operator, operatorlist, reactiveoperator, operatorskin, spray, contraildata, parachutedata, ddl, aishootstyleslist, ai_token_types, ai_token_stealing_definitions, ai_token_definitions, localize, soundbank, soundbanktransient

The gsc handler can read scriptparsetree, gscobj or scriptfile pools from decompressed fastfiles.

See the wiki page Fast Files Dumper.

Fast Files Linkers

The linkers create custom fast files.

Supported games and assets

Game Linker Pools
Black Ops 3 bo3 scriptparsetree
Black Ops 4 bo4 aitype, character, rawfile, scriptparsetree, scriptparsetreedbg, scriptparsetreeforced, structuredtable, luafile, rawstring, scriptbundle, stringtable, image, keyvaluepairs, objective, rank, ranktable, prestige, prestigetable, localize, ttf, bgcache, zbarrier
BlackΒ OpsΒ ColdΒ War cw rawfile, scriptparsetree, scriptparsetreedbg, using, bgcache, localize, keyvaluepairs

See the wiki page Fast Files Linker.

Game Script Code (GSC)

The GSC file format contains the scripts used by the different games.

Supported games

Name Rev Decompiler Compiler Type(s) Source*
Black Ops 3 (T7) 1A βœ… βœ… pc None
Black Ops 3 (T7) 1B Partial βœ… pc ate47/oldcod-source
Black Ops 3 (T7) 1C βœ… βœ… pc,ps4 ate47/bo3-source
Black Ops 4 (T8) 31 βœ… βœ… ps4 ate47/oldcod-source
Black Ops 4 (T8) 34 βœ… βœ… pc,ps4 ate47/oldcod-source
Black Ops 4 (T8) 35 Partial ❌ pc None
Black Ops 4 (T8) 36 βœ… βœ… pc,ps4 ate47/bo4-source
Black Ops Cold War (T9) 37 Dc βœ… pc,ps4,alpha ate47/oldcod-source
Black Ops Cold War (T9) 38 Dc βœ… pc,ps4 ate47/bocw-source
Modern Warfare III (JUP) 8A βœ… βœ… all ate47/mwiii-source
Modern Warfare III (JUP) 8B Dc βœ… all ate47/mwiii-source
Black Ops 6 (T10) 06 Dc βœ… all ate47/bo6-source
Black Ops 6 (T10) 07 Dc βœ… all ate47/bo6-source
Black Ops 6 (T10) 0B Dc βœ… all ate47/bo6-source
Black Ops 6 (T10) 0C Dc βœ… all ate47/bo6-source
Black Ops 6 (T10) 0D Dc βœ… all ate47/bo6-source
Black Ops 6 (T10) 0E Dc βœ… all ate47/bo6-source
Black Ops 6 (T10) 10 Dc βœ… all ate47/bo6-source
Black Ops 6 (T10) 11 Dc βœ… all ate47/bo6-source
Black Ops 6 (T10) 12 Dc βœ… all ate47/bo6-source
Black Ops 6 (T10) 14 Dc βœ… bo6+bo6_v1 ate47/bo6-source
Black Ops 7 (SAT) 14 Dc βœ… bo7 ate47/bo7-source
Black Ops 7 (SAT) 16 Dc βœ… all ate47/bo7-source
Black Ops 7 (SAT) 18 Dc βœ… all ate47/bo7-source
Black Ops 7 (SAT) 19 Dc βœ… all ate47/bo7-source
Black Ops 7 (SAT) 1a Dc βœ… all ate47/bo7-source
  • * : Some source repositories might not be public yet.
  • Dc: With pre-decode, see the Using encrypted page.
  • Ex: With extensions, The extensions aren't provided publicly, at least not by me.

See the wiki pages GSC Compiler or GSC Decompiler for more information.

Hash Utilities

Various games use hashes, the lookup is done using the loaded hashes.

It is suggested to run acts download_hash_index after installation to get all the default hashes.

To add more hashes, it can be done manually:

  • Using a file named strings.txt with one hash per line
  • Using .wni/.cdb files in bin/package_index
  • By downloading a .zip file containing wni or cdb files with the acts download_hash_index [url] command.

Or they can be downloaded from multiple sources

Multiple utilities for brute forcing hashes, replace hashes in files, scan for them or compress are available. A list can be obtained using acts list hash.

Game DLLs

Different dlls were created to add features to existing games

Black Ops 3

File: acts-bo3.dll

Features:

  • Allow loading of script debug information in the zone directory, can be generated by the decompiler or downloaded here.

Project Black Ops 4 Plugin

This dll is made as a plugin for project-bo4/shield-development, it doesn't work as an independant addon.

File: acts-shield-plugin.dll

Features:

  • Translate error messages
  • Add custom GSC functions
  • Allow loading GSC detours and lazy links
  • Add custom LUA functions
  • Allow loading custom fastfiles

Black Ops Cold War

File: acts-bocw.dll

Features:

  • Allow loading GSC lazy links

Developers

This project is open for more features, see CONTRIBUTING.md for more information.

Setup

External tools

  • cmake is required to setup the project.
  • clang-format is required to format the project, a formatted code is mandatory for pull requests.
  • antlr4 is required to recompile the grammar files used by the different compilers. It can be downloaded using scripts/antlr.ps1.

Path structure

  • /cmake : cmake scripts
  • /config : config files, used by tools
  • /config/data : config files packages with acts
  • /deps : external projects
  • /examples : acts API examples
  • /grammar : grammar files used by antlr4
  • /include : includes for the acts API
  • /licenses : used licenses
  • /scripts : scripts used by the ci or developers
  • /src : source directory
  • /tools : source directory for the tools used to compile the files into the source directory

Plugins and API

Atian Tools supports plugins, see ate47/atian-cod-tools-plugin-example for an example, the api can be obtained in the release zip or in the include/.

API examples are available in examples/.

GitHub Actions

To use the acts command in a GitHub workflow, the ate47/setup-acts action can be used.

- name: Install Atian Tools
    uses: ate47/setup-acts@v1
    with:
    # Atian Tools version to install, latest for the latest version, latest_build 
    # for the latest prerelease build.
    # Default: latest
    version: latest

    # Download the hash index with Atian Tools
    # Default: false
    hashindex: false

Wiki

See the Wiki to know how to use the other features

Releases

Sponsor this project

Used by

Contributors

Languages