How hiddenoffset/ravenfield-external-trainer works
Ravenfield Trainer is an external Windows trainer for Ravenfield EA39. Its main loop locates the game process and UnityPlayer module, resolves game addresses, and applies hotkey-controlled stat and weapon changes through process-memory reads and writes. Separately, the loop gathers enemy actors, projects living enemies to client coordinates, and updates a click-through dot overlay. The README also lists movement, weapon, and ESP toggles; the excerpts show their orchestration in main.cpp, but not every implementation detail. Edges reflect explicit README statements or sampled source references.
Main entry points: main.cpp Hotkey loop · esp.cpp Actor scan and filters · overlay.cpp Dot overlay · process.cpp Pointer resolution
Components 16
Trainer runtime
- Hotkey loop
trainer/main.cpp - Process discovery
trainer/process.cpp - Stat and weapon toggles
trainer/main.cpp - Movement toggles
trainer/main.cpp
Game memory
- Game address map
trainer/addresses.h - Pointer resolution
trainer/process.cpp - Memory modifiers
trainer/memory/address_modifier.cpp - Typed memory reads
trainer/mem.h
Enemy ESP
- Actor scan and filters
trainer/esp.cpp - World projection
trainer/esp.cpp - Projection types
trainer/math_types.h
Window overlay
- Dot overlay
trainer/overlay.cpp - Game window tracking
trainer/process.cpp
Other components
- Trainer user
- Ravenfield EA39
- Windows desktop
Connections 22
- Trainer user → Hotkey loop: presses hotkeys
README.md - Hotkey loop → Process discovery: finds process
trainer/main.cpp - Process discovery → Ravenfield EA39: locates process
trainer/process.cpp - Hotkey loop → Ravenfield EA39: opens and accesses
trainer/main.cpp - Hotkey loop → Pointer resolution: resolves addresses
trainer/main.cpp - Pointer resolution → Game address map: uses pointer chains
trainer/addresses.h - Hotkey loop → Stat and weapon toggles: dispatches toggles
trainer/main.cpp - Hotkey loop → Movement toggles: dispatches toggles
README.md - Stat and weapon toggles → Ravenfield EA39: reads and writes
trainer/main.cpp - Movement toggles → Ravenfield EA39: modifies stats
README.md - Memory modifiers → Pointer resolution: resolves pointers
trainer/memory/address_modifier.cpp - Memory modifiers → Ravenfield EA39: writes memory
trainer/memory/address_modifier.cpp - Hotkey loop → Actor scan and filters: collects enemy dots
trainer/main.cpp - Actor scan and filters → Typed memory reads: reads actor data
trainer/esp.cpp - Actor scan and filters → Game address map: uses game offsets
trainer/esp.cpp - Actor scan and filters → World projection: projects enemy positions
trainer/esp.cpp - World projection → Projection types: uses vector types
- Hotkey loop → Game window tracking: finds game window
trainer/main.cpp - Game window tracking → Windows desktop: enumerates windows
trainer/process.cpp - Hotkey loop → Dot overlay: updates dot overlay
trainer/main.cpp - Dot overlay → Windows desktop: creates and paints window
trainer/overlay.cpp - Dot overlay → Game window tracking: tracks client bounds
trainer/overlay.cpp