Building - Tkachov/Overstrike GitHub Wiki

Short version

Clone the repo, open .sln in Visual Studio and build.

Pretty sure it'd get the packages it depends on automatically. Obviously, you'd need .NET toolchain installed.

Longer version

These instructions are written assuming you know how to code and you can google a technical question if you face any problems. If you don't, you probably don't need to build the apps yourself, and can simply download them from Releases page.

First, you'd need to get the source code. You can download it in .zip, by pressing Code > Download ZIP on the main page, or from the Assets section in Releases.

If you intend to contribute, you should rather clone the repository using git or some git client, like Github Desktop (or some git extension built into your IDE).

Second, you'd need Visual Studio to open the solution & the projects. Community edition should be enough. Overstrike was developed in VS 2022, so probably newer versions would work fine too, and older versions might not work.

During installation, you'd need to choose .NET desktop development. This is what I have installed:

Visual Studio Installer screenshot

After that, launch Visual Studio and open 'Overstrike.sln' from the repo folder. Then simply press F5, or Debug > Start or a green "play" triangle icon on the top panel. If all done right, the app will be built and run shortly.

Additional information

Overstrike has .NET 7.0 selected as its target framework.

It uses the following packages:

  • BCnEncoder.Net
  • Ionic.Zlib.Core
  • K4os.Compression.LZ4
  • Newtonsoft.Json
  • SharpCompress
  • System.Drawing.Common
  • WindowsAPICodePack-Shell

The code that works with games' formats is in a separate class library project, DAT1.

To support textures GDeflate compression and decompression (used in Insomniac Games' games starting from Ratchet & Clank: Rift Apart), it uses 'libdeflate.dll' file built from NVIDIA's fork of libdeflate. If you want, you can clone that repo and build it yourself (C++ toolchain will be needed). Built files should be put into 'GDeflateWrapper/native/win-x64/' and '.../win-x86/' folders. GDeflateWrapper project allows other C# code to use this .dll, and DAT1 has it as dependency.

The other projects are for Overstrike, ModdingTool and LocalizationTool apps.