# Apache Longbow

Media collection and reverse engineering workspace for Digital Integration's **Apache Longbow**, released as **Apache** in the US.

[Apache Analysed](https://lost-engines.github.io/apache-analysed/) · [Research archive](https://lostengines.com/apache/) · [Manual](Apache%20Longbow%20-%20Manual.pdf) · [Media comparison and version guide](analysis/media-comparison.md)

The supplied collection contains eight disc images, representing seven different disc contents, plus four patches and a July 1995 demo. All supplied discs are data-only. Six disc layouts remain in [`extracted/`](extracted/), together with the patches and demo. Source images and archives were removed after verification. The duplicate 2024 V2 rebuild and the Sold Out edition have been consolidated; the Sold Out manual is retained at the top level, while its catalogue, installer and generic utilities were discarded.

- [`extracted/`](extracted/): original directory layouts, including installers, game data, manuals and disc extras.
- [`analysis/`](analysis/): findings, browsers, their datasets and selected illustrations or evidence.
- [`analysis/media/`](analysis/media/): source hashes, file manifests, sector checks, executable dates and comparisons.
- [`tools/`](tools/): extraction, integrity checking and comparison scripts.
- `work/`: ignored local working files. Verification output goes in `work/checks/`, DOSBox session files in `work/dosbox/`, and Ghidra projects in `work/ghidra/`.
- [`installs/`](installs/): isolated working installations, copied from the immutable collection.

Raw test captures, logs, caches and failed-run output belong in `work/`, outside the analysis server and source control. Keep only material intended for readers in `analysis/`. The menu comparison viewer uses selected captures in `analysis/menus/comparisons/`; linked result summaries are retained in `analysis/verification/`. See [the tooling notes](tools/README.md#output-locations) for updating that evidence.

Identical extracted files share read-only hardlinks. Make ordinary copies for working installations; do not edit the collection in place.

The October 2000 European disc is the primary reference. Its DOS engine was built in January 1998, alongside the Windows software and 3dfx builds. The original DOS installer has completed an installation in `installs/cd_2000_10_eu/drive_c/DI/APACHE`.

Launch an original DOS installation with `./run.sh demo`, `./run.sh 1995`, `./run.sh v2`, `./run.sh us` or `./run.sh reference`. The script uses your normal DOSBox configuration and only supplies mount and launch commands. Each version keeps its own settings and saves. See the [installation guide](analysis/installations.md).

Start the local analysis workbench from this directory:

```sh
python3 tools/serve_analysis.py
```

Then open [the workbench](http://127.0.0.1:8743/), [models](http://127.0.0.1:8743/models/index.html), [terrain](http://127.0.0.1:8743/terrain/index.html) or [artwork](http://127.0.0.1:8743/media-art/index.html). Keep the server running while browsing. Opening the HTML files directly with `file://` cannot load the viewers' JavaScript modules and data.

The server binds to loopback and serves only `analysis/`. See the [work plan](analysis/work-plan.md) and [executable findings](analysis/executable-map.md) for progress and verification.

The native game is in [`../apache-cpp`](../apache-cpp/). It connects single-player missions and campaigns, the mission planner, flight and combat, audio, persistence and LAN multiplayer. The [verification status](analysis/analysis-review.md) links the original-code comparisons and current release checks. The [engine revision comparison](analysis/executables/comparison.md) covers the earlier Windows builds and the [pose viewer](analysis/poses/index.html) includes the recovered MANEDIT figure.

From this directory, the current local build can use the retained reference files directly:

```sh
../apache-cpp/build/apache --data-dir "$PWD/extracted/cd_2000_10_eu/files"
```

## Publishing the research archive

```sh
./publish.sh --build-only  # Build and verify web-stage/ locally
./publish.sh --dry-run     # Preview the rsync changes
./publish.sh               # Publish to lostengines.com/apache/
```

The publisher stages only the files named in `tools/publish/files.json`, renders the Markdown reports to HTML, and checks links and content hashes before uploading. It does not copy installs, extracted disc directories, executable dumps or working files. References outside the website point to their GitHub locations. See [the publisher notes](tools/publish/README.md) for the input list, requirements and local preview commands.
