Skip to content

Development

Christoph Honal edited this page Nov 12, 2020 · 25 revisions

For building, use Visual Studio Community 2019 or a compatible IDE.

All binaries are 32 bit, because the game is 32 bit and also the free version of the Detours library cant do 64 bit. However, everything runs fine on a 64 bit system.

Development happens on the dev branch, beta versions get built from the beta branch and release versions from the master branch.

Tools

First of all, copy setup.bat.example to setup.bat and adjust the paths to your environment. You might want to add Il2CppInspector to your PATH.

Please note that no decompiled source code of the game is provided, instead you must download Il2CppInspector and then run decompile.bat. This will decompile your own copy of the game.

The dynamic_analysis.py script can be used to generate tracing code in order to isolate specific obfuscated functions during runtime.

Build Options

If you want to build for a specific version of the game (each build uses different obfuscated names), append the preprocessor macro GAME_VERSION in the project configuration like this: GAME_VERSION=20209220. See the README for version numbers.

Testing

A post-build task ist defined in Visual Studio, which calls the file vmupload.bat. This script copies the compiled DLL to the Steam game installation directory, and pushes it to a few test VMs if you enabled this in setup.bat.

For testing, I recommend setting up a private game server using https://github.com/Impostor/Impostor or https://github.com/roobscoob/NodePolus.

Coding Style Guide

Prefer C++11 & stdlib features over legacy C, do not use C-like string handling except if required by external APIs. Use the following naming scheme:

  • Functions: CamelCase
  • Variables: lowerCamelCase
  • Classes/Structs: CamelCase
  • Enums/Defines: SCREAMING_CAMEL
Clone this wiki locally