====== Source and credits ======
The source archive is on [[https://retro.theiguru.au/banner-of-the-forty-nine/#downloads|the downloads page]]. It contains the Pascal source, editable world/rule data, browser adapters, tests, build tools, music sources, credits and dependency notices.
===== Desktop builds =====
Free Pascal 3.2.2 with FCL JSON and image units, plus SDL2. From the source folder:
make
make test
The simulation has no desktop dependency. Native rendering, events, audio and preference paths use SDL2. Windows uses the 64-bit Free Pascal cross compiler and matching Windows RTL, plus Mingw windres for icon/version resources. tools/build-win64.sh accepts CROSS and WINRTL overrides. The native build-windows.cmd is included too.
===== Browser build =====
Pas2JS 3.2.0 compiles the shared Pascal model, menus and art algorithms to JavaScript. Browser adapters provide Canvas, image loading, audio, file import/export and local storage. It is a static application; no Node server or database is needed to play.
python3 tools/fetch-build-deps.py
make web
npm install --prefix web
make test-web
The optional dependency fetcher verifies pinned SHA-256 values. Browser tests use Google Chrome and puppeteer-core. The web README explains overrides and local testing. An ordered JSON reader preserves property order for native checksums; native/browser tests compare seeded state, random outputs and two-way save exchange.
===== Packages =====
make installers
python3 tools/package.py
The installer tools need dpkg-deb and wixl. The build produces Linux Debian and portable/per-user packages, a Windows MSI and portable ZIP, a static web ZIP, source archive and checksums.
===== Credits and dependency notices =====
Illustrated portraits, terrain/army artwork and landscape, the political atlas and frames, and the four-track score are included with their project credits. The PNG artwork was generated for this project. The text atlas uses DejaVu Sans Mono. SDL2 is under the zlib license; Free Pascal/FCL and the generated Pas2JS runtime carry their supplied library licenses and independent-module exceptions. Read ASSET-CREDITS.md and packaging/licenses in the source for the full notices.