Skip to content

Building the client ​

The client build produces grw-mp/build/, which the launcher copies into %USERPROFILE%\WildM\client\.

Layout of build/ ​

text
build/
├── dinput8.dll                     framework (GRW ScriptHook fork, SH_VERSION 1.0-beta7-wildm1)
├── wildm_inject.exe                injector
├── LICENSE.txt                     GPL-3.0
└── plugins/
    ├── skipintro/   skipintro.asi, skipintro.ini, lang.ini
    ├── test_plugin/ test_plugin.asi          (debug console, 127.0.0.1:9999)
    └── wildm_net/   wildm_net.asi, wildm_net.ini

Framework and plugins: build_wildm.ps1 ​

From forks/gamexueren/, with Visual Studio Build Tools (MSVC, the script uses vcvars64.bat from Build Tools):

powershell
powershell -NoProfile -ExecutionPolicy Bypass -File .\build_wildm.ps1
powershell -NoProfile -ExecutionPolicy Bypass -File .\build_wildm.ps1 -Out D:\somewhere
powershell -NoProfile -ExecutionPolicy Bypass -File .\build_wildm.ps1 -Release

What it does, in order:

  1. Refuses to build into a folder that contains GRW.exe.
  2. Compiles the version resource (from SH_VERSION in scripthook.h), guard.asm, the ImGui overlay (C++17) and the framework sources (C17, /MT), and links dinput8.dll with proxy.def (the real dinput8's full export set).
  3. Builds only the WildM plugins: skipintro, test_plugin, wildm_net — none of the fork's other plugins (trainer, teleport, spawner…).
  4. Copies their companion files: skipintro\lang.ini, skipintro\skipintro.ini (from wildm_net\skipintro.wildm.ini: skip_launch_videos=1, skip_legal_videos=1), wildm_net\wildm_net.ini, and LICENSE.txt.
  5. Removes .exp / .lib files from the output.
  6. Compiles and runs the wildm_net unit tests (tests/test_proto.c) and fails the build if they fail.

The fork's original build_msvc.ps1 (which targets the game folder) is left untouched and is not used for WildM.

Injector ​

injector/wildm_inject.c is a single C file built to build/wildm_inject.exe (Win32 + shell32).

Original ScriptHook ​

grw-scripthook/ is Phiality's original framework with WildM patches (plugins and logs next to its own DLL, intro logos skipped in memory by hooking BinkOpen/BinkDoFrame). It was the first client used for testing; the client is now built from the fork.

Licence ​

The client is a derivative of GRW ScriptHook and is distributed under GPL-3.0; the licence is copied into the build as LICENSE.txt.

WildM is an independent community project. It is not affiliated with or endorsed by Ubisoft. Ghost Recon Wildlands is a trademark of Ubisoft Entertainment.