Skip to content

fighters-legacy/fa-bridge

fa-bridge — FA Bridge Plugin

FA Bridge Plugin for fighters-legacy. Implements the engine's IContentPack interface, using fx_lib to transcode Jane's Fighters Anthology (1998) asset formats into the engine's canonical open formats.

What this is

fighters-legacy is a clean-room GPL v3 reimplementation of the combat flight simulator engine. It has no knowledge of FA-specific formats — all content enters through IContentPack as raw bytes in canonical formats (glTF, PNG, OGG Vorbis, TOML, YAML). This repository is one implementation of that interface: a bridge, not a content pack. It ships no assets of its own — it transcodes content from the end-user's own FA installation into engine-compatible assets, cached locally before first use.

You must own a legitimate copy of Jane's Fighters Anthology to use this plugin. No FA game assets are included or may be committed to this repository.

Status

fx_lib integration (roadmap Phase 2). The plugin builds on all three platforms as libfa-bridge.so / fa-bridge.dll / libfa-bridge.dylib with fx_lib linked unconditionally. It discovers the user's FA install (env var → persisted config → Windows registry/drive probes), hosts a native folder-picker first-run flow via the engine window, mounts every .LIB archive into a case-insensitive memory-mapped VFS, and answers hasAsset/listAssets truthfully from the mount; a self-invalidating translation cache underpins the coming transcoders. It still serves no transcoded assets — the load*() pipelines are roadmap Phase 3. Which FA content is ready to bridge — aircraft flight models, entity/weapon/sensor stats, ~95% of 3D models, all 2D art, sound effects — is tracked in docs/asset-support-matrix.md.

Dependencies

Dependency Source
fighters-legacy Engine interface headers (IContentPack.h + the IWindow set for configure()), vendored at extern/fl-headers, pinned to engine v0.3.6 (PIN.md)
fx_lib extern/fx_lib submodule from fighters-codex, pinned to a release tag

The reverse-engineering documentation this bridge builds on lives in fighters-codex (the FA reconstruction). Two of its components are worth noting for the engine-side work: fx_render — a shared MIT render module (OpenGL + FA-faithful software backends), built engine-agnostic so the classic/parity render path can adopt it instead of a bespoke rasterizer — and fxe, a clean-room MIT source port of the game executable. fxe is an independent sibling that validates the same reconstruction; it is not a dependency of this bridge. (fx_render builds as part of the submodule embed; the bridge links only fx::lib.)

Quick start

git clone --recurse-submodules https://github.com/fighters-legacy/fa-bridge.git
cmake --preset debug
cmake --build --preset debug

Note: fx_lib is linked unconditionally (the former FA_WITH_FX_LIB option is gone) — fighters-codex ships it cross-platform on Linux and Windows, and this repo's macOS CI leg is the proving ground for the remaining upstream macOS gap (fighters-codex#155).

See docs/development.md for full prerequisites and build instructions.

License

GPL v3. See LICENSE.

Final distribution positioning (free GPL plugin vs. the paid model sketched in early engine docs) is an open decision tracked in #37 and docs/roadmap.md.

Never commit FA game assets (*.LIB, *.PIC, *.PAL, *.SH, *.PT, *.OT, *.M, *.MM, *.T2, *.CB8, and the rest of the extension set in .gitignore). They are owned by Electronic Arts and are not covered by this project's license.

About

FA Bridge Plugin — IContentPack implementation for fighters-legacy using Jane's FA assets

Topics

Resources

License

Code of conduct

Contributing

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Packages

 
 
 

Contributors