Skip to content

Draiget/faf-re

Repository files navigation

FAF-RE

Reconstruction/disassembly project for the old Supreme Commander: Forged Alliance engine and game binaries. Inspired by Forged Alliance Forever team-work.

Recovery Coverage (21/04/2026, fa_full_2026_03_26)

Progress snapshot:

  • Total FAF functions: 67,167
    • IDA index, exported
  • Progress coverage: 91.51%
    • Consists of recovered + skip + external_dependency ÷ exported
    • Total amount of completed tokens: 61,465

Progress DB status breakdown:

  • recovered: 51,962 (84.54%)
  • skip: 5,681 (9.24%) — CRT-internal / compiler-generated / orphan template instantiations / static-init glue
  • external_dependency: 3,822 (6.22%) — third-party libs
    • libpng, zlib, wxWidgets, LuaPlus/Lua, boost, MSVC STL, CRI Sofdec/ADX, undname, bugsplat, CRT helpers
  • needs_evidence: 1,648 (2.45%)
  • blocked: 4,117 (6.13%)
    • strict circular/dep-blocked (in-DB literal status == "blocked")
    • combined with needs_evidence, the "not-yet-recovered non-engine-external" bucket is 5,765
    • the stats tool's blocked_count aggregates the same two buckets and reports 5,765 — functions previously attempted that depend on an unrecovered subsystem, a not-yet-typed owner class, or a non-trivial call-tree not yet walked bottom-up.

Build Quickstart + Patches

Use a Visual Studio developer shell before msbuild:

%comspec% /k "C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\Auxiliary\Build\vcvarsamd64_x86.bat"

Patch/bootstrap required external dependencies:

powershell -ExecutionPolicy Bypass -File scripts\bootstrap_boost_1_34_1_required.ps1 -BoostRoot "<your external boost path>"
powershell -ExecutionPolicy Bypass -File scripts\bootstrap_wxwindows_2_4_2_required.ps1 -WxRoot "<your external wxWindows-2.4.2 path>"

Build:

msbuild src\sdk\main.vcxproj /t:Build /p:Configuration=Debug /p:Platform=Win32

Recommended hang-safe build wrapper:

powershell -ExecutionPolicy Bypass -File scripts\build_sdk_with_timeout.ps1 -TimeoutMinutes 120 -NoOutputTimeoutMinutes 10

Patch/build details:

Known Dependencies in FAF

  • Boost 1.34.1
  • LuaPlus 5.0 build 1081
  • wxWidgets 2.4.2 (MSW)
  • Wild Magic 3.8 (now Geometric Tools)
  • zlib 1.2.3
  • BugSplat
  • CRI Middleware (Sofdec + ADX)
  • DirectX 9/10 (with XACT audio; DX10 path is partial/non-functional in FA)

Projects

  • inspect-injector: injector/launcher for runtime inspection.
  • inspect: injected DLL.
  • main: reconstructed SDK/game code (primary recovered project).

Notes

  • USE_X87_COMPATIBILITY: keeps x87-compatible floating-point behavior where needed.

Credits

Big thanks to all active maintainers and contributors of the FAF project. This work builds on many years of engine inspection and disassembly effort by the FAF community, with special recognition to:

Deprecations & Fixes

  • GetVersionExW - deprecated, ignored via disable warning 4996.

About

SC: FA - reconstruction (disassembly) project

Resources

Stars

3 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages