I Turned CJ Into a Mirror's Edge Runner in GTA San Andreas
SavegameNostalgia
0:00 / 0:00
I Turned CJ Into a Mirror's Edge Runner in GTA San Andreas
125 380 просмотров · 3 дня назад
SavegameNostalgia
6,6 тыс. подписчиков
125 380 просмотров · 3 дня назад
CJ runs, wall-runs, vaults and slides through Grove Street in the style of Mirror's Edge, in first person, inside the original GTA San Andreas.
How it works:
The movement is not faked with GTA animations. It is the Mirror's Edge style movement code from this open GitHub project: https://github.com/tnrjns/faith-runner
Its movement core (the "faith_move" crate, written in Rust) simulates sprint build-up, jumps, wall-runs, wall-climbs, vaults, slides, rolls and ledge hangs, completely independent of any game engine. I compiled just that part into a 32-bit DLL (target i686-pc-windows-msvc) with a small C interface, and a custom C++ plugin (.asi) inside GTA San Andreas talks to it every frame.
How I got it into GTA:
1. Input: The plugin reads mouse and keys, blocks GTA's own controls while the mode is on, and feeds them into the DLL.
2. Movement: The DLL returns position, velocity and view angles. The plugin moves CJ to that position and drives GTA's camera with it (a hook in GTA's camera code).
3. Collision: The Rust code needs to ask "what is solid here?". The plugin answers by casting many rays through GTA's own collision functions (ProcessLineOfSight), so real walls, buildings, lamp posts and parked cars become things CJ can run along, climb, vault and roll over.
4. Body: CJ's skeleton is read from GTA's player model, and first-person animations from your own installed copy of Mirror's Edge are retargeted onto it, so you see CJ's own arms and legs in the jump, with a full-body motion.
5. Safety: CJ is made fire- and explosion-proof while the mode is on, falls cause damage, and the mode switches off in vehicles.
If you want to start your own project like this:
1. Copy this whole description, give it to Claude Opus 5.5 and tell it to recreate it from scratch, step by step. Start with a plugin that only reads the camera and CJ's position, then add the movement DLL, then the collision bridge, then the body animations. Test after every step and give feedback to Claude.
#gta #gtasanandreas #gtasa #retrogaming #retrogames #grandtheftauto #grandtheftautosanandreas #gtafunny #gtafunnymoments #carljohnson #mirrorsedge #gtamods #gtamodding #carljohnson #cjgtasanandreas