๐ฎ Direct3D 8 โ freecam for every AirStrike build
untitled.mp4
This release brings native Direct3D 8 support so the D3D8 port gets the same tooling as the OpenGL games.
Freecam, overlay, world grid, wallhack โ now on D3D8 too.
Supported games
| Version | API | Before | Now |
|---|---|---|---|
| 2.06 | OpenGL | Freecam + overlay | Same + freecam stacking fixed |
| 2.51 | Direct3D 8 | no ImGui freecam | Full D3D8 hooks + freecam + overlay |
| 2.71 | Direct3D 8 | no ImGui freecam | Full D3D8 hooks + freecam + overlay |
v2.51 is no longer second-class.
Highlights
| Area | What landed |
|---|---|
| ๐ฏ D3D8 backend | Direct3DCreate8 โ device vtable (Present, SetTransform, Reset, โฆ) |
| ๐ท Freecam on D3D8 | Right-handed math, adopts live game camera (not a hard-coded pose) |
| ๐ฅ ImGui on D3D8 | Custom Dear ImGui D3D8 renderer (upstream never shipped one) |
| ๐ One plugin set | Shared lua/ โ freecam / wallhack / world grid work on GL and D3D8 |
| ๐ OpenGL freecam | Modelview reset โ no more stacked view matrices |
| โ #50 | DX8 tracking issue closed |
How D3D8 freecam works
Direct3DCreate8 (inline hook)
โโ CreateDevice (vtable)
โโ Present โ frame + ImGui overlay
SetTransform(VIEW) โ freecam / camera path
Reset โ recover overlay + re-hook
- Dynamic load (
GetProcAddress) โ safe under Wine/Proton load order - Live camera adoption โ freecam starts where the plane actually is
- Device reset safe โ alt-tab / mode change doesnโt leave hooks dead
What's Changed
- feat(proxy): native Direct3D 8 backend with renderer-neutral plugins by @e-gleba in #71
- fix(ci): MSVC-ABI Direct3D 8 SDK + atomic shared_ptr for clang_windows by @e-gleba in #72
Full Changelog: v1.0.8...v1.0.9
(or ...v1.10.0 if you publish under that tag)
Assets
| Platform | Format | Toolchain |
|---|---|---|
| ๐ช Windows (win32) | .zip |
Clang Windows x86 |
| ๐ง Linux (cross) | .tar.xz |
LLVM-MinGW i686 |
Drop the proxy into the game folder as usual. On v2.51, freecam should now behave like on OpenGL builds.
Related
Educational research / game preservation tooling.