Skip to content

Onslaught CE V0.1.10

Choose a tag to compare

@dlprentice dlprentice released this 29 Oct 06:37

Getting 0.1.10

If you have 0.1.8 or 0.1.9: start Onslaught CE as usual. It finds this update, checks its signature and asks you; say yes and
it installs 0.1.10 inside its own folder and restarts. Your careers and settings are kept, and running the launcher with --rollback
(how) takes you back to the version you had if you need it. (On Linux the update check needs the system curl.)

On Linux, the 0.1.8 and 0.1.9 launchers can crash before they ask anything when zenity is not installed and the 32-bit libXrandr
is missing: the dialog they fall back to calls into that library without checking that it is there. If yours closes at once, install
zenity (or your distribution's 32-bit libXrandr) and start it again, or set update_check=0 in ce.ini (in your user folder, ~/.local/share/onslaught-ce by default; --no-update-check or
BEA_NO_UPDATE_CHECK=1 does the same) and download 0.1.10 by hand as below. The 0.1.10 launcher checks first, shows its questions on the terminal when no dialog works, and otherwise never installs
anything without your answer.

If you have 0.1.0 to 0.1.7: these cannot update themselves, so download 0.1.10 once by hand:

  1. Close Onslaught CE.
  2. Back up your careers and settings: copy the folder ~/.local/share/onslaught-ce (Linux) or %APPDATA%\Onslaught CE (Windows; paste that into the Explorer address bar) somewhere safe.
  3. Download the 0.1.10 package for your system below.
  4. Extract it into a new, empty folder.
  5. Run onslaught-ce (Linux) or onslaught-ce.exe (Windows) from the new folder. Your careers and settings are picked up automatically. Point your shortcut at the new folder.

Never run the old launcher again (why). From then on it updates itself.

New players: download the package for your system, extract it into a new empty folder and run it. You need your own PC
copy of Battle Engine Aquila (testing uses the Steam edition); no game files are included.

A data-safety fix: saving over an existing career

Two things were wrong, one on Linux only and one on both systems.

Linux: the overwrite question came twice, and the second Yes lost your copy. If a career's name existed both in
your Onslaught CE folder and in the original game's savegames folder, answering Yes to "A game with this name already
exists and will be overwritten. Are you sure?" deleted your Onslaught CE copy, found the original of the same name,
asked again, and then reported "Couldn't overwrite the existing savegame, please choose another name". The newer career
was gone and nothing had been saved. Windows already asked only once; it was not affected by this part.

Both systems: a save emptied the file before refilling it. A career (and defaultoptions.bea) was rewritten in
place, so a save that failed part-way left a short or empty file, and on Linux the game could still report the save as
done. The new career is now written to a temporary file in the same folder, flushed to disk and read back; only then
does it replace the old one in a single step.

What you see now:

  • One question. Saving to a name that already exists asks once. Yes writes the new career; No changes nothing.
  • The game's own folder is never written. If the name belongs to a career in the original game's savegames
    folder, Yes writes your new career into the Onslaught CE folder, where it is listed instead of the original. The
    original file stays exactly as it was.
  • A failed save keeps what you had. On the save screen the game shows its usual "save failed" message and the
    career you had is unchanged. Saves made without a screen of their own (the pause menu's Continue, a language
    change, the options file) cannot show that message; they too leave the old file alone and the failure is
    recorded in the log.
  • Deleting such a career from the Directory screen removes only your Onslaught CE copy, so the original of that name
    is listed again with its older contents. Nothing in the game folder is ever deleted or changed.
  • A save takes a few milliseconds longer (about 20 ms measured on a Linux SSD), because the file is flushed to disk
    and checked before it replaces the old one.

What's new

  • Aquila Prototype: play the original demo's bonus level from the Onslaught CE menu. The bonus debrief does not
    add mission progress to your career; pause/continue can still save settings to the selected career.
  • Local co-op: the two bonus Defence selections support two players on the same PC in split screen. They share a
    defence scenario but use different resource archives. Internet multiplayer and campaign co-op are still in development.
  • Bonus settings: inversion, God-mode settings and volume changes made during a bonus mission stay in effect when
    returning to the front end. Other career progress is restored from the pre-bonus snapshot at that point.
  • Photo mode and screenshots: F11 (or photo in the console) hides the cockpit, the HUD, its radio messages and
    the developer information for pictures; F11 again brings them back. It changes what is drawn, not the battle. F12
    saves what is on screen as a PNG in the screenshots folder of your user folder. Both work in single-player
    levels, not while a session is recorded or replayed, in a demo, in multiplayer or in a network game.
  • Flight sticks: the default button 7 zoom-out mapping is corrected. Custom mappings remain supported.
  • Controls and tutorial: short gamepad button presses are retained between updates in the tested cases, and
    fractional mouse movement is accumulated. English tutorial cues can describe the active dodge and zoom bindings.
    Some unusual controller mappings still use sampled input; a short tap can be missed there.
  • Music and diagnostics: changing or clearing a custom playlist stops the previous stream before the next one
    starts, and a normal-exit log can retain a bounded summary of mixer activity even when the event log fills.
  • Launcher and fidelity: the Linux launcher handles an unavailable dialog fallback more safely; several game
    calculations were adjusted toward the retail reference.

Gameplay is the faithful port as before. Keep a custom BEA_USER_DIR separate from the original game, and avoid editing
ce.ini while Onslaught CE or another settings tool is running: concurrent settings writes can overwrite one another.

Downloads

Linux needs the documented 32-bit Vulkan driver and system libraries. The Windows executable is unsigned, so SmartScreen may warn you (More info, then Run anyway).

Validation and limits

  • Both packages were built twice from the public source and are byte-identical; a third clean build, made from a fresh clone of the public repository at this tag, reproduces them byte for byte.
  • Gameplay matches the original game on every available reference row of the recorded checks for levels 100, 200, 221, 400, 512, 521, 611, 800 and 860 (RC-REPORT.txt gives the row counts, including the rows the original's reference does not have). A longer recorded session of level 100 (8,882 frames) also matches on every compared value. It does not compare pointer values (834,626 of them are listed as unverified in RC-REPORT.txt) or the full CPU floating-point state, and it excludes the unused padding words of 32 matrix fields in the battle engine's data (295,654 bytes): some of those words differ even between two runs of the original game, and an independent reviewer accounted for every excluded byte. In earlier releases three more bytes differed at frames 4,114 to 4,116; in this release they equal the original's. The Windows build was checked under Wine in an isolated sandbox on level 100, directly and through the launcher.
  • Career saves, checked on the release packages. Linux: the real game was driven through New Game with a name that exists both in the original game's savegames folder and in the Onslaught CE folder. It asked once; Yes wrote the new career into the Onslaught CE folder (10,004 bytes) and left the original byte-identical, and the game said "A new game has been created."; No went back to the name screen with both files unchanged. The published 0.1.9 package, driven the same way, asked twice, then said "Couldn't overwrite the existing savegame, please choose another name", and the Onslaught CE copy was gone. Windows 11 (virtual machine, NTFS): the same route gave one question, the same message, the new career in the Onslaught CE folder and the original byte-identical; and the replace code ran natively against NTFS in 38 cases (new and existing names, writes that fail, stop short or read back wrong, a rename refused while another program holds the file and then released, the process killed at each of seven steps, a reader and a writer on the same career at once): each left the new career or the old one whole, never a partial file, and no temporary file listed. A failing write, a short write, a disk that fills, a failed read-back, a refused rename and a process killed between the temporary file and the rename each left the previous career byte-identical in unit tests (Linux, and the Windows code under Wine, which is not native Windows). Two copies of the game saving the same career at the same instant can make one of the saves fail; that save shows the save-failed message and the career is intact. Not exercised by a person: antivirus holding a career while it is saved, a save that fails during the pause menu's Continue, and a physical disk that fills or disappears.
  • Moving from 0.1.9 was tested on Linux and on Windows 11 (in a virtual machine, software rendering): with 0.1.9's user folder and a real career save, 0.1.10 in a new folder showed the career in Load Game; on Linux it also took the game folder and the windowed setting from ce.ini. The save and ce.ini were byte-for-byte unchanged, and the old install and the folders, links and junctions beside it were untouched.
  • The update from 0.1.9, tested right after publishing, on Linux and on Windows 11 (in a virtual machine): the published 0.1.9 found this release's signed update, asked, and after Update downloaded it, checked it against the signed list and installed it beside 0.1.9; --version then showed 0.1.10, and --rollback returned to 0.1.9. The career save and ce.ini were unchanged throughout. Updating from 0.1.8 uses the same updater and signing key; it was not run against this release.
  • Offline, the launcher reaches nothing and installs nothing (Windows 11 network capture: no query names GitHub or Onslaught and no connection comes from the launcher or the game): --update-only reports that no feed was reached, and --apply is refused.
  • Photo mode. On Linux it was tested in ordinary play and with recorded and replayed sessions. On Windows it was tried only in a virtual machine with software rendering. On the release package, in level 100: F11 hid the cockpit and the HUD, F12 saved a 1280 x 800 PNG without them or the on-screen note, and the second F11 brought everything back; the game then quit normally. It has not been seen on a physical Windows graphics card.
  • Bonus levels. On Windows 11 (virtual machine), Aquila Prototype, Defence A and Defence B each loaded and played, paused and quit back to the menu (the co-op levels in split screen, drawn with the virtual machine's software renderer, so their terrain colours there are not what a graphics card shows); the career save and ce.ini were byte-for-byte unchanged afterwards.
  • The Windows 11 and update runs above were separate from the release-candidate checks that RC-REPORT.txt lists. Controllers were tested with simulated devices, with no window on a screen. The new tutorial-cue wording has not been observed during an ordinary Level 100 run.

Not tested: physical gamepads, flight sticks and rumble motors, physical AMD, NVIDIA or Intel graphics on Windows, other Linux distributions with these packages, and audible sound on a real device. RC-REPORT.txt also lists what its runs did not exercise (fullscreen and the Wayland-only window path, the folder-picker and message-box dialogs, opening a browser from Report a problem, session recording and the log file on Windows); the Windows 11 runs above looked at the Windows log file and the normal game exit, not at those. One player's report of overlapping audio on Windows remains unexplained; the playlist fix above has not been shown to be its cause.

If a problem occurs, choose Onslaught CE > Report a problem (or open an issue on the Issues page), say what happened and roughly when, and attach onslaught-ce.log from your CE user folder (details). Look the log over before sharing it.

Related work: Companion, Godot rebuild, decompilation, preservation documentation.