Kalgoorlie Retro Docs

Documentation for the Kalgoorlie Retro BBS, its games and servers

User Tools

Site Tools


riveroath:building

This is an old revision of the document!


Table of Contents

River Oath: source and licence

River Oath is Copyright (C) 2026 Michael Slater. It is free software under the GNU General Public License, version 2 or (at your option) any later version, and comes with no warranty. The retro screen, font and hex battle come from Sengoku and The Broken Seal.

The source is river-oath-0.1.0-source.tar.gz from https://retro.theiguru.au/riveroath/. It needs Free Pascal 3.2.2 and the Lazarus 4.4 LCL (GTK 2), as Sengoku does.

Building

make            # builds ./river_oath
./run.sh        # builds if needed, then runs
make test       # the rules tests and the screen tests
make gui-test   # the window test, under xvfb
  • tools/build-win64.sh cross-compiles the Windows exe on Linux (needs the win64 cross compiler), and tools/package.py makes the release files.
  • On Windows, build-windows.cmd builds with Lazarus's lazbuild.

What is where

File What it is
src/rogame.pas and ro*.inc The campaign rules: places, bands, tasks, the month's end, tales, dikes, the Intendancy, the computer bands, saves
src/robattle.pas The hex battle
src/roui.pas and ui*.inc Every screen (no window code, so the tests can drive it)
src/rodesk.pas The window
assets/data/world.json Places, links, people, ties, officials and scenarios, made by tools/makeworld.py
assets/data/rules.json The numbers of the rules, each checked against a range when the game starts
SPECIFICATION.md The full design, with every number
docs/TESTS.txt What the tests check

Tests

make test checks routes and seasons, every kind of task, tales spreading and fading, hunger, the dikes and the Great Flood, all three victories and the deadline, battles (and that a battle replayed from its moves ends the same), a battle saved halfway and loaded, offers and prisoners, and damaged saves. It then plays ten computer-only campaigns of each beginning to the end, checking the whole game after every month and saving and loading on the way. build/tests/rotests assets/data –full plays a hundred of each.

riveroath/building.1794029716.txt.gz · Last modified: by 127.0.0.1