Skip to main content

Documentation Index

Fetch the complete documentation index at: https://mintlify.com/angelballay/pes6_game_physics_mod/llms.txt

Use this file to discover all available pages before exploring further.

This guide walks you from a fresh clone to an active, in-game mod in under ten minutes. By the end you will have a built pes6_game_physics_mod.dll, deployed it alongside your PES6 installation, launched the game, and confirmed — either through the Kitserver on-screen overlay or the debug log — that both the Context Hook and the Power Hook have installed successfully and that the pass-power rescaling is live.
1

Prerequisites

Before you begin, confirm the following are in place:
  • Visual Studio 2022 with the Desktop development with C++ workload installed. The project uses platform toolset v145; this workload installs it automatically.
  • Pro Evolution Soccer 6 installed on Windows. The mod targets the unmodified Win32 retail binary (pes6.exe). Note the full path to your PES6 directory — you will need it in Step 4.
  • Git (any recent version) to clone the repository.
No additional SDKs, libraries, or Kitserver installation are required to build. Kitserver is an optional runtime dependency only.
2

Clone the repository and open the solution

Clone the repository and open the Visual Studio solution file:
git clone https://github.com/angelballay/pes6_game_physics_mod.git
cd pes6_game_physics_mod
Then open AB_Gameplay_mod.slnx in Visual Studio 2022:
File → Open → Project/Solution → AB_Gameplay_mod.slnx
The solution contains a single project: pes6_game_physics_mod (root namespace abgameplaymod), configured as a DynamicLibrary for both Win32 and x64 platforms in Debug and Release configurations.
3

Build in Release | Win32 configuration

The game process is 32-bit, so you must build the Release | Win32 configuration. In the Visual Studio toolbar:
  1. Set the Solution Configuration dropdown to Release.
  2. Set the Solution Platform dropdown to Win32.
  3. Press Ctrl+Shift+B (or Build → Build Solution).
Visual Studio compiles all source files (dllmain.cpp, PassContext.cpp, PassPower.cpp, ModState.cpp, HotkeyToggle.cpp, KitserverOverlay.cpp, Logger.cpp, MemoryPatch.cpp, PassPowerConfig.cpp) using C++20 with the precompiled header pch.h. A successful build produces:
ab_gameplay_mod\Release\pes6_game_physics_mod.dll
The Release configuration enables WholeProgramOptimization and IntrinsicFunctions. If you need the debug log for troubleshooting, build Debug | Win32 instead — but still deploy the Win32 (32-bit) DLL.
4

Deploy the DLL to your PES6 directory

Copy the built DLL to your PES6 installation. The exact destination depends on whether you are using Kitserver:Without Kitserver — use a DLL injector or loader of your choice and point it at pes6.exe. Copy the DLL anywhere accessible to your injector, for example directly into the PES6 game folder:
C:\Program Files (x86)\KONAMI\Pro Evolution Soccer 6\
└── pes6_game_physics_mod.dll   ← copy here
With Kitserver — place the DLL inside Kitserver’s plugins folder so that kload.dll is already loaded in the process before the mod DLL initialises. This is required for the overlay to resolve kload.dll exports at runtime:
C:\Program Files (x86)\KONAMI\Pro Evolution Soccer 6\
└── kitserver\
    └── plugins\
        └── pes6_game_physics_mod.dll   ← copy here
5

Launch PES6 and verify the mod is active

Start Pro Evolution Soccer 6 normally. The mod’s DllMain spawns a background thread (MainThread) that waits one second, then installs both hooks and starts the hotkey monitor.To verify activation:
  • Press Ctrl+Shift+P once the game has loaded into a match. The hotkey thread polls every 25 ms for the VK_CONTROL + VK_SHIFT + 'P' combination.
  • If Kitserver is present, the overlay will display “FISICAS ACTIVADAS” centred near the top of the screen for approximately 2.2 seconds, in green. Pressing the hotkey again shows “FISICAS DESACTIVADAS” in red.
  • If Kitserver is not present, enable the debug log (see note below) and check D:\pes6_passspeed.log for the startup banner and hook confirmation lines.
A successful startup log looks like this:
========================================
pes6_game_physics_mod.dll cargada.
Autor: pitycharly
Version: 1.0
Descripcion: mod de fisicas de pases desarrollado por pitycharly.
========================================
Base del EXE: 0x00400000
[OK] Overlay Kitserver activo.
[OK] Hotkey activo: Ctrl + Shift + P
And a context + power log entry from an in-game pass:
[CTX] passId=1 passer=0x12345678 receiver=0x9ABCDEF0 p=(32,18) r=(45,20) dist=13
[PWR] passId=1 pwrHit=1 edi=0x00000050->0x00000068 ball50Before=80 dist=13 boostMode=0x1 ...
The debug log is disabled by default in the shipped source. To enable it, open Logger.cpp, change static const bool ENABLED = false; to static const bool ENABLED = true;, and rebuild. Log entries are appended to D:\pes6_passspeed.log — make sure the D:\ drive exists and is writable, or edit LOG_PATH in Logger.cpp to a path on your system before rebuilding.
Both hooks validate the exact byte sequence present at their target offsets in the live process before writing any detour. If your pes6.exe has been modified by another patch, trainer, or previous mod, the byte check will fail and the log will show [ERROR] Fallo instalando hook de contexto or [ERROR] Fallo instalando hook de potencia. In this case the mod will exit its main thread without applying any changes. Only the unmodified retail Win32 binary is supported.

Build docs developers (and LLMs) love