Skip to content

Roadmap

Phase Scope Status
0 — Workspace crate skeleton, versioning ✅ done
1 — Core interface layer ICvar, commands, cvars, live console ✅ done, verified in Portal 1
2 — Injector x86 CreateRemoteThread, launch + attach ✅ done, verified
3 — Mod system mod.toml, discovery, Luau bridge ✅ done, verified
4 — Runtime bridges C#, C/C++, Rust, Python, GML, ASM planned
5 — Launcher egui desktop app: detect, browse mods, launch 🚧 live build available
6 — Games + API tiers HL2/Episodes/P2 caps; SP-only scope planned
7 — Total engine exposure hooks, entities, reflection, generated bindings in progress (hooks ✅)
N — Packaging zips, updates, docs site site live at docs.usems.dexx.moe

Phase 7 — what “everything ship” means

Section titled “Phase 7 — what “everything ship” means”

Four discoverable mechanisms, automated instead of hand-bound:

  1. Interface enumeration — ✅ live: regwalk walks s_rgInterfaces chains; 151 interfaces found on Portal 1 (see Interface Resolution).
  2. Hook engine — 🚧 live for frame (client HudUpdate, slot 11) and tick (server GameFrame, slot 5); vtable interposition proven stable on both interfaces concurrently. Next: spawn/damage/death via detours.
  3. Entity reflection — planned: walk server datamaps + client RecvProps; read/write any entity field by name, enumerate, spawn, remove, fire I/O.
  4. Generated bindings — planned: tools/gen_api turns RE results into typed FFI + Luau bindings + cap data. Hand-writing stops.
Tier Highlights
entities GetEntityByIndex, iterate, field get/set, spawn/remove, I/O
player position, velocity, health, weapons, view
hooks tick, spawn, damage, death, usercmd, keys, console line
console cvar change callbacks, exec, ConVarRef for native cvars
world util::TraceLine/TraceHull/TraceRay, physics objects
render screen overlay: text, lines, boxes, tris (ISurface)
ui / sound / files / events VGUI, emit sound, game-FS sandbox, GameEvents

The modding core is C/C++ (ABI-critical code lives in the native bridge), the launcher is Rust, and bindings expose one shared API to many languages. The current Rust-heavy core is an implementation detail of the bootstrap — the boundary is already drawn so the C++ side can grow.

  • Single-player only. No mp-branch support, no dedicated servers. Compiled-in mp code may be hooked/read like any code, but is not a target.
  • No Metamod/SourceMod dependence, ever — that’s the founding constraint.
  • No VAC-evasion infrastructure (follows from SP-only).
  • No engine recompilation: vtable interposition and detours only.