# RED4ext logging shim `EdgeWeightGPS` is a RED4ext plugin used to probe native GPS/mappin code paths without changing gameplay data. It writes `EdgeWeightGPS.log` beside the installed DLL: ```text Cyberpunk 2077/red4ext/plugins/EdgeWeightGPS/EdgeWeightGPS.log ``` Current behavior: - Logs plugin load/unload. - Logs the RED4ext plugin handle and SDK pointer value passed to `Main`. - Registers Running game-state callbacks so route tests can be timestamped. - Hooks selected native wrappers and cores around `GPSSystem`, mappin tracking, world-map mappin selection, and map path framing. - Hooks `JournalManager.TrackEntry` at RVA `0x5944fc`, which is the native handoff used by quest/objective world-map route plotting. - Dumps the `JournalManager` listener array at offsets `0x210`/`0x21c` and the listener vtable slots `0x28`, `0x30`, and `0x50`, matching the indirect calls made by the native `TrackEntry` implementation. - Resolves the native mappin system when one of those paths fires, logs relevant vtable slot addresses, and temporarily hooks the route-adjacent slots. Current route-probe focus: - `FrameMappinPath` wrapper/core: `0x27c4314`, `0x27bc1ec` - `SetSelectedMappin` wrappers/core: `0x27c4a38`, `0x27c4944`, `0x27c49c4`, `0x27c1684` - `TrackCustomPositionMappin` wrapper/core: `0x27c4aac`, `0x27c2318` - mappin-system slots `0x1f0`, `0x280`, and `0x2f0` - `JournalManager.TrackEntry` implementation: `0x5944fc` Quest/objective pins did not fire the mappin tracking hooks in live tests. The REDscript decompile shows that those pins call `JournalManager.TrackEntry` instead, so the current useful runtime question is which native listener reacts to tracked-entry changes. Build and install from the Fedora toolbox: ```bash toolbox run -c 2077 ./tools/install_red4ext_shim.sh ``` This shim is read-only. It does not enable any of the archived traffic data patches.