Skip to content

Releases: e-gleba/airstrike3d-tools

v1.0.9 - add DirectX8 support!

Choose a tag to compare

@github-actions github-actions released this 09 Jul 22:41
1a39c51

🎮 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.

v1.0.8 - new lua backend

Choose a tag to compare

@github-actions github-actions released this 05 Jul 21:52
f0d2fbb

🔧 Utility / Maintenance Release

This is a tooling and dependency maintenance release — no breaking changes.
Highlights include CI/CD action version bumps, a professional Lua tabbed UI framework, README badge polish, and crash fixes in the wallhack overlay.


What's Changed

  • feat: unified proton/wine/native runner + shared deploy_game.cmake, v1.0.8 by @e-gleba in #51
  • fix(ci): correct invalid CodeRabbit issue_assessment mode value by @e-gleba in #55
  • refactor(lua): isolate sol2 into detail/, clean modern C++23 architecture by @e-gleba in #57
  • feat(logging): modern C++23 logging wrapper — spdlog fully encapsulated by @e-gleba in #58
  • refactor(logging): replace macros with type-safe wrapper functions by @e-gleba in #59
  • feat: add CTest integration for Proton launcher emulator (2_06, 2_51, 2_71) by @e-gleba in #61
  • chore: update safetyhook 0.6.9 → 0.7.0 by @e-gleba in #62
  • refactor(sdk): clean up API with explicit backend naming and abstraction by @e-gleba in #63
  • refactor(sdk): modernize to C++20 with Boost-style guidelines by @e-gleba in #64
  • refactor(sdk): public API split, contract checks, and noexcept audit by @e-gleba in #65
  • refactor(scripting): migrate from sol2 to LuaBridge3 for C++20/23 compliance by @e-gleba in #66
  • feat(plugins): ultra-professional Lua 5.5.0 plugin system overhaul by @e-gleba in #67

Full Changelog: v1.0.7...v1.0.8

v1.0.7

Choose a tag to compare

@github-actions github-actions released this 30 May 01:41
34f7265

🔧 Utility / Maintenance Release

This is a tooling and dependency maintenance release — no breaking changes.
Highlights include CI/CD action version bumps, a professional Lua tabbed UI framework, README badge polish, and crash fixes in the wallhack overlay.

image_2026-05-30_04-41-40

✨ Highlights

Area What landed
🎨 UI Valve-style overhaul — 2× scaled fonts, professional dark theme, tabbed Lua framework
🔌 Proxy Multi-version BASS proxy with clean per-version install paths
🐧 Linux Publishing artifacts for 2.51 and 2.71 on Linux (no proxy yet — see #50)
🛠 Fixes Removed spurious end_window() on failed Begin, added missing cursor/window bindings
📦 CI/CD Action version bumps, README badge polish, release-notes template

🐧 Linux Publishing — 2.51 & 2.71

Linux artifacts for game versions 2.51 and 2.71 are now published alongside the Windows builds.

⚠️ No DX8 proxy yet. The graphics interception layer (DirectX 8) still needs a proxy shim in the SDK before full feature parity with Windows. This is being tracked in #50 — DX8 proxy impl for SDK. Once landed, proxy-enabled Linux builds will ship for both versions.


📦 Assets

Platform Format Size
🪟 Windows (win32) .zip ~122 MB
🪟 Windows (win32) .tar.xz ~100 MB
🐧 Linux 2.51 published
🐧 Linux 2.71 published

🔮 Up Next

Issue What Blocks
#50 DX8 proxy for SDK Proxy-enabled Linux 2.51 / 2.71

Full Changelog: v1.0.6...v1.0.7


What's Changed

  • Custom release notes header — utility/maintenance release template by @e-gleba in #42
  • feat: valve-style ui overhaul — 2x scaled fonts, professional dark theme by @e-gleba in #43
  • fix: remove spurious end_window() on failed Begin + add missing cursor/window bindings by @e-gleba in #44
  • feat: multi-version bass proxy with clean per-version install by @e-gleba in #45

Full Changelog: v1.0.6...v1.0.7

v1.0.6

Choose a tag to compare

@github-actions github-actions released this 02 May 23:15
760237e
image

What's Changed

  • docs: professional repository upgrade — README, templates, governance files by @e-gleba in #20
  • build: upgrade CMake toolchain, CPM bootstrap, presets, and deps to latest template by @e-gleba in #21
  • build: fix imgui freetype target detection for CPM-based deps by @e-gleba in #22
  • build: remove x86_64 presets — proxy DLL is i686-only by @e-gleba in #23
  • build: clean MSVC presets, workflow-centric builds, genexp C++ standard by @e-gleba in #24
  • ci: add GitHub Actions workflow using CMake workflow presets by @e-gleba in #25
  • ci: clean step names, single-word actions, aligned workflow terminology by @e-gleba in #26
  • ci: bump actions/checkout v4→v6, actions/upload-artifact v4→v7 by @e-gleba in #27
  • ci: add setup-python v6, cache v5; simplify deps step by @e-gleba in #28
  • ci: snake_case all names, rename ci.yml to build_and_package.yml by @e-gleba in #29
  • ci: add publish_release workflow with auto-generated release notes by @e-gleba in #30
  • chore: reorganize meta files, add path filters and explicit permissions by @e-gleba in #31
  • fix(proxy): include windows.h before GL/gl.h on msvc by @e-gleba in #32
  • fix(ci): correct cancel-in-progress spelling by @e-gleba in #33
  • fix: include windows.h before GL/gl.h on msvc by @e-gleba in #34
  • Replace MSVC with pure Clang Windows x86 preset and CI by @e-gleba in #35
  • Restore MSVC presets in CMakePresets.json (CI unchanged) by @e-gleba in #37
  • Professional tabbed UI framework for 2_06 Lua plugins by @e-gleba in #38
  • Polish README badges and update build instructions by @e-gleba in #39
  • Fix wallhack tab crash — replace combo with button-based selector by @e-gleba in #40
  • Professional release workflow — auto-build, tag, and publish artifacts by @e-gleba in #41

Full Changelog: v1.0.4...v1.0.6

v1.0.5-preview — free_camera-only minimal release

Choose a tag to compare

@e-gleba e-gleba released this 22 Nov 21:09
675323c

v1.0.5-preview — free_camera-only minimal release

image

https://www.youtube.com/watch?v=i5yy5CHlysM

stripped to essentials

removed all runtime modifications except free camera (6dof noclip movement). speedhack + logging infra axed — focus shifted to single-feature demo for testing camera implementation in isolation.

changes from 1.0.4

removed:

  • speedhack functionality
  • logging enhancements
  • all other runtime hooks/features

kept:

  • free camera (6dof noclip) only

why preview/prerelease

minimal feature set for testing camera system independently. not production-ready — educational/preservation purposes as usual.

usage

same dll injection workflow. only free camera active — binds unchanged from 1.0.4 camera controls.

Full Changelog: v1.0.4...v1.0.5-preview

v1.0.4 — speedhack + logging enhancements

Choose a tag to compare

@e-gleba e-gleba released this 18 Nov 19:14
8994901

v1.0.4 — speedhack + logging enhancements

log_file

dll overlay expansion: game speed manipulation + diagnostic infrastructure.

new features

speedhack implementation

  • added game speed manipulation functionality via timeGetTime hook
  • allows real-time acceleration/deceleration of game physics and timing
  • integrated into bass proxy overlay for seamless injection

logging improvements

file-based diagnostic output

  • implemented persistent file logging alongside console output
  • logs written to bass_proxy.log in game directory
  • useful for troubleshooting proton/wine deployments where console unavailable

logging refactor

  • cleaned up logging infrastructure for better readability
  • lowercase unix-style format with std::quoted()-like inserts
  • improved diagnostic messages across overlay components

build & tooling

cmake modernization

  • warning flags moved to dedicated compiler warnings target
  • better separation of concerns in build configuration
  • cmake formatting cleanup

c++26 performance optimizations

  • minor perf improvements leveraging c++26 stdlib features
  • reduced overhead in timing-critical code paths

proton/steam runtime

improved linux deployment

  • enhanced launch_proton.sh script reliability
  • better handling of file copies vs symlinks in wine prefix
  • automatic log file accessible for debugging steam proton sessions

changelog: v1.0.3 (2025-11-17) → v1.0.4 (2025-11-18)

full changelog: v1.0.3...v1.0.4

v1.0.3 — cross-compilation & linux proton support

Choose a tag to compare

@e-gleba e-gleba released this 17 Nov 20:09
903fb5a

v1.0.3 — cross-compilation & linux proton support

comprehensive refactor => llvm-mingw cross-compilation support + proton/steam runtime for running on linux.

build system improvements

cross-compilation via llvm-mingw

  • added cmake preset llvm-mingw-i686 for cross-compiling to win32 from linux
  • moved toolchain configuration from separate files into cmake presets — cleaner, reproducible builds
  • switched to .tar.xz packaging on linux (instead of .zip)
  • fixed parallel link deadlock => forced jobs=1 in preset (lld issue in mingw context)
  • updated .gitignore for llvm-mingw/ directory

glad & opengl loader

  • replaced external rust-based glad generator with manual glad config (opengl 2.1, core profile)
  • documented generator url in cmake: https://glad.dav1d.de/
  • removed cpplint, replaced with clang-tidy

cmake policy & deps

  • temporary cmake policy 3.5 for freetype compatibility
  • cleaned up presets structure for better cross-platform workflow

linux compatibility (steam proton)

proton launch automation

  • added launch_proton.sh script for deploying game + overlay under steam proton
  • improved script: symlinks → file copies (wine/proton compat)
  • script auto-deploys bass proxy + runtime to steam compat directory

mesa opengl workaround

  • documented MESA_EXTENSION_MAX_YEAR=2003 fix for old games on amd gpu + fedora linux (already in readme, reinforced in scripts)

runtime fixes

missing runtime dependency

  • resolved startup crash caused by missing bass_real.dll (not bundled properly)

code quality

modern c++ standard

  • upgraded project to c++26 (was c++20)
  • removed unused threading lib calls
  • removed obsolete game_path variable
  • general code cleanup, formatting, logging improvements

readme updates

  • documented lld linker deadlock on parallel linking => workaround via jobs=1 in preset
  • added build instructions for ucrt vs msvcrt llvm-mingw flavors (win10+ vs win7+)

build from source:

# 1. download llvm-mingw from https://github.com/mstorsjo/llvm-mingw/releases
#    - llvm-mingw-YYYYMMDD-ucrt-ubuntu-20.04-x86_64.tar.xz (win10+)
#    - llvm-mingw-YYYYMMDD-msvcrt-ubuntu-20.04-x86_64.tar.xz (win7+ legacy)
# 2. extract to repo root as llvm-mingw/
# 3. run:
cmake --preset llvm-mingw-i686
cmake --build --preset llvm-mingw-i686

run on linux via proton:

./launch_proton.sh

WARNING

x86_64 build is not working and attached only for historical reasons and ease of automation

changelog covers commits from v1.0.2 (2025-08-28) → head (2025-11-17).

Full Changelog: v1.0.2...v1.0.3

v1.0.2 — overlay ui improvements & code cleanup

Choose a tag to compare

@e-gleba e-gleba released this 28 Aug 13:14

v1.0.2 — overlay ui improvements & code cleanup

image

comprehensive refactor of bass proxy overlay => improved ui, logging, and stability fixes.

overlay ui improvements

ui 2.0 redesign

  • complete visual overhaul of imgui interface
  • improved layout and readability across main/hooks/performance tabs
  • enhanced imgui backend integration for opengl 3.x rendering

logging enhancements

  • refactored logging system for clearer diagnostics
  • lowercase unix-style formatting with std::quoted()-like inserts
  • better error tracking and debug output

runtime stability

bass.dll dependency fix

  • resolved startup crash caused by missing bass_real.dll
  • ensured proper bundling in release artifacts
  • fixed dll path resolution logic

threading cleanup

  • removed obsolete thread library calls that could cause hangs
  • streamlined initialization sequence

code quality

general cleanup

  • removed unused game_path variable
  • reformatted codebase for consistency
  • cleanup of cpp proxy code
  • removed performance monitoring data

build system updates

clang-win32 toolchain

  • added new toolchain for win32 targeting
  • small build configuration fixes

reverse engineering artifacts

decompiled sources

  • added new decompiled game sources from ghidra
  • improved understanding of main loop and rendering pipeline
  • extracted dll_main for better analysis

game executable

  • added dumped exe for reverse engineering reference

dependencies

glm integration

  • added glm math library for future shader/matrix work

changelog covers commits from v1.0.1 (2025-08-22 21:54:12) → v1.0.2 (2025-08-28 13:14:00).

Full Changelog: v1.0.1...v1.0.2

bass.dll proxy is released!

Choose a tag to compare

@e-gleba e-gleba released this 22 Aug 21:55
6ea42aa

Release v1.0.1 — bass.dll Proxy

What's New

  • Initial release of the bass.dll proxy with OpenGL overlay
  • Forwarding of all original BASS API calls to bass_real.dll
  • In-game ImGui overlay: performance stats, hook list, post-processing shaders

Quick Tutorial: Enabling the Overlay in AirStrike 3D

  1. Download v1.0.1 Assets

    • bass.dll (proxy)
    • bass_real.dll (the original BASS library, renamed)
    • Any accompanying files (e.g., ImGui backends)
  2. Locate Your Game Directory

    • Typically:
      C:\Program Files\Steam\steamapps\common\AirStrike 3D\
      
    • Or wherever you installed the game.
  3. Backup Original BASS DLL

    • Rename the existing bass.dll in the game folder:
      bass.dll → bass_original.dll
      
  4. Copy Proxy and Real DLL

    • From the downloaded v1.0.1 release, place into the game folder:
      bass.dll
      bass_real.dll
      
    • Ensure bass_real.dll is the genuine library—you must have the original bass.dll renamed.
  5. Launch the Game

    • Start AirStrike 3D as usual.
    • The proxy will inject itself and forward all audio calls.
    • Press Insert (default) to toggle the overlay.
  6. Use the Overlay

    • Explore tabs:
      • Main: clear-color, wireframe, invert, shader selection
      • Hooks: active function interceptions
      • Performance: FPS, memory, CPU/RAM, network stats
  7. Reverting

    • To disable the proxy, delete bass.dll and bass_real.dll from the game folder.
    • Rename bass_original.dll back to bass.dll.

Enjoy live instrumentation and custom shaders in AirStrike 3D!

Full Changelog: v1.0.0...v1.0.1

Unpacked .apk data released!

Choose a tag to compare

@e-gleba e-gleba released this 13 Aug 12:42