FreeCol v1.2.0, PATCHVERSE browser adaptation, 2026-10-21.
Upstream complete source, artwork originals and history:
https://github.com/FreeCol/freecol/tree/v1.2.0
https://github.com/FreeCol/freecol/archive/refs/tags/v1.2.0.zip
License: GNU GPL version 2 or later, see LICENSE.
Artwork credits/terms remain in each data/**/resources.properties file.
Runtime data source formats (PNG, OGG, XML, properties) are available in
the runtime archive URLs listed in assets.json (relative to https://aihanhua.top).
For self-hosting, download those archives and adjust assets.json, or provide
the included allowlisted R2 asset route with your own bucket.
The upstream srcdata/ directory above also contains original artwork/editing files.

Changes: property-gated in-memory byte streams replace singleplayer TCP;
browser save/import API and optional local backups; native JS audio adapter;
lazy image loading; browser-friendly PNG color-profile normalization;
browser low-memory rendering with unused high-resolution alternatives omitted.
Upstream release tag retains a development version string; this build labels
the exact release tag as 1.2.0 / PATCHVERSE to distinguish the browser build.
Multiplayer network controls are disabled. Game rules are unchanged.

Compile included patched Java sources using JDK 11 or newer and Apache Ant:
ant -DFreeCol.Revision=1.2.0-patchverse package
The provided distribution was compiled with Eclipse ECJ 4.20, target Java 11.
Copy FreeCol.jar as the versioned jar referenced in web/index.html, then serve
that jar, jars/, web/index.html, assets.json, preload.json and runtime resource zips.
Web runtime is loaded from CheerpJ's official 4.3 CDN (Java 17) under its Community license;
CheerpJ is not bundled or relicensed as GPL. https://cheerpj.com/docs/licensing
Build/asset scripts, normalized data manifest and browser source are included.
Asset archives are hashed and loaded automatically, without player resource uploads.
