Repository navigation
Releases: dlprentice/onslaught-ce
Release list
Onslaught CE V0.1.13
0.1.13 adds Bonus Levels, CE Settings and Help & Info to the Onslaught CE menu page and a Photo Mode row to the pause menu, and changes aimed at a Windows player's reports: the pause-menu mouse, the game clock after Alt-Tab, and the system cursor in fullscreen. Those three have not yet been seen on a real Windows PC.
Getting 0.1.13
If you have 0.1.8, 0.1.9, 0.1.10, 0.1.11 or 0.1.12: start Onslaught CE as usual. It finds this update, checks its signature and asks you; say yes and
it installs 0.1.13 inside its own folder and restarts. The update leaves your careers and settings where they are, 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.)
We ran this update on Linux from 0.1.12, with the real 0.1.12 launcher and a copy of the signed 0.1.13 update files, before publication: it checked the signature, asked, and installed 0.1.13 inside its own folder; the next start was 0.1.13; --rollback brought 0.1.12 back; and every file in the user folder (the career, the settings and the options) was byte for byte the same after the update and after the rollback, apart from the launcher's own log files and its update folder. Updates from 0.1.8, 0.1.9, 0.1.10 and 0.1.11 use the same signed feed but were not run for this release, and no update was run on Windows.
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.13 by hand as below. The 0.1.10 to 0.1.13 launchers check first, show their questions on the terminal when no dialog works, and ask before they install anything.
If you have 0.1.0 to 0.1.7: these cannot update themselves, so download 0.1.13 once by hand:
- Close Onslaught CE.
- Locate your launcher and game user-data folders. The default is
$XDG_DATA_HOME/onslaught-ceon Linux (~/.local/share/onslaught-ceif unset or empty) or%APPDATA%\Onslaught CEon Windows. A custom or relativeBEA_USER_DIRcan put the two folders in different places. Follow the manual migration guide, copy each complete data folder to an independent safe location, and verify each backup before proceeding. - Download the 0.1.13 package for your system below.
- Extract it into a new, empty folder.
- Before launching, keep the same default user-data location if you use the default, or follow the migration guide to prepare a separate working copy and set an absolute
BEA_USER_DIRif you used a custom or relative folder. Then runonslaught-ce(Linux) oronslaught-ce.exe(Windows) from the new folder using the same account. Check that your careers and settings appear, keep the verified backups, and 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.
What's new
- New rows on the Onslaught CE page in the main menu. 0.1.12 already had this page, with Report a Problem, Cheats, Aquila Prototype and Defence A and B. 0.1.13 adds Bonus Levels (one list for Aquila Prototype, Building Defence and Race Challenge 1 to 5), CE Settings and Help & Info (Controls & Tips, What's Coming, Updates & Rollback, About Onslaught CE and Special Thanks); each row has a hint under the list. The Options page is still the original's. What's Coming lists planned features and their limits; its entries do not start those features.
- Bonus Levels. Aquila Prototype (the demo's level 201), Building Defence (a two-player map for one PC in split screen, as in the original's multiplayer, level 856; player 2 uses the second key set or a second gamepad; the original ships it twice, as levels 856 and 858, which we treat as the same map, so there is one entry) and Race Challenge 1 to 5 (the original's five one-player time trials, levels 901 to 905). None of them advances career progress. A bonus level started here comes back to this list with its row highlighted. Settings can still be saved during play. In our Linux check, saving inside a bonus level and jumping levels from the console left the career file's bytes unchanged; with the guard taken out and a test write standing in for progress made inside the level, two bytes of the file changed. In the Windows 11 virtual-machine check, four of the seven were started from the Bonus Levels list on the exact package: Aquila Prototype, Building Defence, Race Challenge 1 and Race Challenge 3. In each, the level loaded and ran, the pause menu opened and the level was left through it, the list came back with that level's row highlighted, and the career file was byte for byte the same afterwards (same size, same contents, same save time, and nothing added beside it). Race Challenge 2, 4 and 5 were not started on Windows. The Linux release-candidate checks did not start a bonus level; the Linux sentence above about saving and jumping levels comes from a separate check of the career guard on the independently audited tree.
- Photo Mode in the pause menu. In a single-player level the pause menu has a Photo Mode row, so photo mode can be reached from a gamepad; choosing the row closes the menu and turns photo mode on, as F11 does, and the row itself writes nothing (F12 inside photo mode saves a picture, as before). While it is on the row reads End Photo Mode. In the Windows 11 virtual machine F11 hid and restored the HUD, and the pause menu's row read Photo Mode, then End Photo Mode, and did the same (5 of 5 checks). The gamepad route was run with scripted pad input; no physical gamepad was used.
- The pause-menu mouse (fix). The in-game menus now read the mouse inside the centred picture, so the highlight and the items under the pointer agree in the window sizes we tried (1920x1080 and 1024x768, on Linux). A click is judged where it was made: it lands on the row under the pointer even when you click without moving the mouse first, and a late small movement behind the release no longer moves the click to another row. A Windows player reported that the mouse did not work in the pause menu (a bug since 0.1.0). Checked on Linux, with the Windows build under Wine, and in a Windows 11 virtual machine on the exact package: there the highlight followed the pointer in the pause menu and a click chose the row under it, in a window and in fullscreen (11 of 11 checks passed), while the published 0.1.12 failed 8 of the same 11 in the same machine (the highlight stayed on Continue and a click did nothing). The virtual machine's pointer is a virtual tablet and its graphics are drawn by software. Not yet seen on a real Windows PC with a real mouse, or in fullscreen on a real display.
- Alt-Tab and minimizing (change). CE holds the game clock while it waits for a minimized window, which avoids the fast-forward when you come back (the original can do that on a fast PC;
BEA_PORT_MINIMIZED_CLOCK=runbrings that back for comparison). It is off during recordings and replays. CE holds the clock only while the game waits for a minimized window, which is what a fullscreen Alt-Tab does on Windows; an Alt-Tab that does not minimize the window (a windowed game, or Linux's borderless fullscreen) never makes the game wait, so there is nothing to hold. Measured once on Linux, with a simulated 10-second minimize. In our one Windows 11 virtual-machine run of 0.1.12 the original did not catch up either, so the virtual machine cannot show whether this change helps. In the virtual machine the exact package was minimized and restored: the game stopped drawing while the window was away and drew again after it came back (3 of 3 checks passed). The published 0.1.12 passed the same three, so this check cannot tell the two apart, and it cannot read the game's clock, so it cannot show whether a fast-forward is prevented. Not tested on a real PC. - Fullscreen cursor (Windows fix). In fullscreen the pause menu shows the game's own cursor only, as the original does; the system arrow no longer appears next to it, and it returns on the desktop and in windowed mode. The same change covers every menu while the game is fullscreen, including the front end's mission list a Windows player reported this morning (the virtual machine's check looked at that page too); in a window the Windows arrow still shows, as in 0.1.12. This is Windows-only behaviour, so it cannot be seen on Linux. In the Windows 11 virtual machine, on the exact package, in fullscreen the pause menu and the mission list showed the game's own cursor and no Windows arrow, the arrow was back on the desktop, and in a window the Windows arrow and the game's own cursor both showed at the pointer (5 of 5 checks passed); the published 0.1.12 showed both cursors together in fullscreen in the same machine (3 of the 5 checks failed). Not yet seen on a real PC.
- The HUD sits in the screen's corners on wide screens in single-player play (it kept the 4:3 columns before). Put
hud_anchor=0ince.inito keep the columns. Off in multiplayer, recordings and replays. Looked at on Linux, offscreen, at 1920x1080, 2560x1440 and 3840x2160 (16:9), 2560x1080 (21:9) and 1920x1200 (16:10...
Onslaught CE V0.1.12
0.1.12 fixes the menu music playing twice for players who had saved a sound setting other than its default (details under What's new).
Getting 0.1.12
If you have 0.1.8, 0.1.9, 0.1.10 or 0.1.11: start Onslaught CE as usual. It finds this update, checks its signature and asks you; say yes and
it installs 0.1.12 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.12 by hand as below. The 0.1.10, 0.1.11 and 0.1.12 launchers check first, show their questions on the terminal when no dialog works, and otherwise never install
anything without your answer.
If you have 0.1.0 to 0.1.7: these cannot update themselves, so download 0.1.12 once by hand:
- Close Onslaught CE.
- Locate your launcher and game user-data folders. The default is
$XDG_DATA_HOME/onslaught-ceon Linux (~/.local/share/onslaught-ceif unset or empty) or%APPDATA%\Onslaught CEon Windows. A custom or relativeBEA_USER_DIRcan put the two folders in different places. Follow the manual migration guide, copy each complete data folder to an independent safe location, and verify each backup before proceeding. - Download the 0.1.12 package for your system below.
- Extract it into a new, empty folder.
- Before launching, keep the same default user-data location if you use the default, or follow the migration guide to prepare a separate working copy and set an absolute
BEA_USER_DIRif you used a custom or relative folder. Then runonslaught-ce(Linux) oronslaught-ce.exe(Windows) from the new folder using the same account. Check that your careers and settings appear, keep the verified backups, and 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.
What's new
- The menu music no longer plays twice. If you had saved a sound setting that differs from the game's default (for example Sound quality set to "High (44 Khz, 16 bit)"), the game
started the front end's music twice: two copies of the track played out of step, and in levels the battle music then played over the menu music. A player on 0.1.10 reported it on Windows;
in the log (onslaught-ce.log) the sign isoutstanding_music_starts=2just after the front end starts. The game's own start-up order does this: when it reads your saved options
it brings the sound up once, before its window exists, and starts the front end's track; it then brings the sound up again, and the first copy of the music was never stopped. Onslaught CE
now stops the first copy when the second one starts, so one track plays at a time. Only players whose saved options change a sound setting were affected, on Windows and on Linux; if you worked around it by putting the
setting back to its default, you no longer need to. In a Windows 11 virtual machine with the saved sound rate set to "High (44 Khz, 16 bit)", 0.1.11 started the front end's track twice (outstanding_music_starts=2) and 0.1.12 starts it once. What was checked, on which system, and what was not, is under Validation and limits below. - The package's
README.txtnames mods and the save error message. TheREADME.txtinside both packages now describes the experimental mods (Linux only, not active on Windows)
and the save error message added in 0.1.11, as the project README does, so a player with only the package finds them.
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.
Fixes
- Documents. The project README's "Last updated" dates were brought up to date, its "planned" line now says that mods exist (an early test on Linux, not active on Windows), and it lists the doubled
menu music as corrected in 0.1.12.
Downloads
- Linux i686 package
- Windows i686 package
- Stable latest links: Linux, Windows
ce-update-v2.jsonand its.sigare the signed update feed the launcher reads; you don't need to download them.
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 the commit this release is tagged at, 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.txtgives 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 inRC-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,658 bytes, one more than in 0.1.11, all in the same padding words): some of those words differ even between two runs of the original game, and an independent reviewer accounted for every excluded byte. The Windows build was checked under Wine in an isolated sandbox on level 100, directly (to frame 3,000) and through the launcher (to frame 600). The recorded runs hold the default sound settings, so they never take the start-up path the music fix changes: they show that nothing else moved, not that the fix works (the entry below says what was checked instead). - The music fix, checked on the packages. Linux (an ordinary run of the packaged game, offscreen; dummy audio, so the checks count music streams and nothing is played), with the game's options file changed only in its sound rate ("High (44 Khz, 16 bit)"): the published 0.1.11 package started a music stream at Present 0, before the settings line, set up a second stream at Present 1 without stopping the first, and the front end's start at Present 5 made
outstanding_music_starts2; this release's package stops the first stream when the second is set up (stream re-initialised: the earlier stream is shut down first,outstanding_music_startsback to 0), and the front end's one start leaves it at 1. Windows 11 virtual machine (offline, software rendering), the same saved sound rate in the user folder: the published 0.1.11 package shows the same sequence, at Presents 0, 1 and 5,outstanding_music_starts=2, and this release's package the fixed one (Presents 0, 1 and 6; never above 1; one start at the front end). With the default sound settings both packages set up one stream and start one track. The production music worker was also run in a test driver (8 of 8 cases; without the change two music buffers play at once), and the music and audio test suites pass (development checks, not part of the release-candidate list). Not checked: what a speaker plays, physical sound devices, and the original game under Windows' own DirectSound: the Windows run uses Onslaught CE's sound layer, so it says nothing about the original. - Moving from 0.1.11 and from 0.1.10 was tested on Linux (from 0.1.11) and on Windows 11 (from each, in a virtual machine, software rendering): with the old version's user folder and a real career save, 0.1.12 in a new folder found the game on its own and showed the careers in Load Game; on Linux it also took the game folder and the windowed setting from
ce.ini. The save andce.iniwere byte-for-byte unchanged, and the old install and the folders, files, links and junctions beside it were untouched. - The update from 0.1.11, tested right after publishing, on Linux and on Windows 11 (in a virtual machine, online): the published 0.1.11 found this release's signed update, asked, and after Update downloaded it, checked its size and SHA-256 against the signed list and installed it beside 0.1.11;
--versionthen showed 0.1.12 (build 1911463), and--rollbackreturned to 0.1.11. The career save andce.iniwere unchanged throughout (on Windows byte-identical after the update and after the rollback), and the old install's files were untouched (on Linux the folders beside it too). Updating from 0.1.8, 0.1.9 and 0.1.10 uses the same updater and signing key; it was not run against this release.
...
Onslaught CE V0.1.11
Getting 0.1.11
If you have 0.1.8, 0.1.9 or 0.1.10: start Onslaught CE as usual. It finds this update, checks its signature and asks you; say yes and
it installs 0.1.11 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.11 by hand as below. The 0.1.10 and 0.1.11 launchers check first, show their questions on the terminal when no dialog works, and otherwise never install
anything without your answer.
If you have 0.1.0 to 0.1.7: these cannot update themselves, so download 0.1.11 once by hand:
- Close Onslaught CE.
- 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. - Download the 0.1.11 package for your system below.
- Extract it into a new, empty folder.
- Run
onslaught-ce(Linux) oronslaught-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.
What's new
- Mods (experimental, Linux). Onslaught CE can read replacement game files, such as textures, from mods in the
modsfolder of your user folder,
and a mod can supply a level's world file. Every file is checked when the game starts against the mod'smod.json(size and SHA-256, no links, a file
the game has or a world file); a mod with any problem is not loaded at all and the log says why. There is no mod menu yet. The checks cover where a
file is and what its bytes are, not what a texture or archive does, so install mods only from people you trust. See the
README.
On Windows mods are not active in this release: amods=line ince.iniis ignored, the log says so, and nothing else changes. - Sharper text on wide screens. On a wide screen where the menus' and HUD's text is drawn at twice its original size or more (a 4K screen,
for example), the game draws it from a sharper copy of its letters instead of stretching the original's soft pixels. The letters keep their
shapes, sizes and places; the text looks sharper and brighter than the original's. A font's sharper copy is made the first time it is used,
which can pause the game for about a tenth of a second. Off in recordings and replays, on 4:3 screens and whenBEA_PORT_WIDESCREEN=0.
What was looked at, on which system, and what was not, is under Validation and limits below. - A save that fails now says so. Saving from the pause menu's Continue or after a
language change used to fail without a word (the failure went to the log). They now show the game's own save error message ("An error occurred
during saving." in English, and in the language you chose): at the bottom of the screen for a few seconds in a level, and in the usual message
box in the front end. The career you had is unchanged, as before. The game's other automatic saves of settings (leaving the Options page, after loading
a career, a display reset) stay quiet. Never in recordings and replays. - A tape that cannot be started stops cleanly.
BEA_PORT_TAPEnaming a file that does not exist (or set
together withBEA_PORT_RECORD, orBEA_PORT_PROBESnaming a file that cannot be written) printed its message and then crashed on some graphics
drivers (a segmentation fault, status 139); it now prints the message and exits with status 3. These are developer settings: ordinary play is unaffected. - Predicted aim, one more calculation matched to the original. The lead time of a weapon
that aims ahead of its target sums the speed's squares in the original's order. The original sets predicted aim on exactly three weapon modes (the mech's two
Vulcan cannons and its blaster) and no recorded check reaches them (measured: the tests that call the lead time ran 57,028 times in the nine recorded levels and
199,095 times in 28 more levels that have original references, none with predicted aim set), so the change is by the original's instructions and the
recorded checks cannot show it; they still equal the original on every compared row. - The Coming soon / ideas page says what this version does. Its mods, map tools and HUD entries now describe the current state: mods are experimental and work on Linux only, a level
editor is being built outside the game (in the separate Onslaught Companion app), and text drawn at twice its size or more on a wide screen already uses a sharper copy of the font.
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.
Fixes
- Two copies of the game saving the same career at the same moment. When two processes replaced one career
at the same instant, the one that lost could be told "save failed" although the other had saved a complete career; nothing was lost. A save now waits
for the other's rename (50 microseconds, doubling, 25.55 ms at most) before it looks the file up again. Measured with the repository's own test driver (several
processes replacing one 8 KB career in a loop; every round left one complete career and no temporary file): without the wait, 0.41 % of the replaces failed with
4 writers, 2.16 % with 8 and 3.23 % with 16 on tmpfs, and 0.083 % with 4 on btrfs; with the wait, none failed in 57,600 replaces for each of the three tmpfs
counts and none in 9,600 on btrfs. An independent review's own runs of the same wait had none fail in 288,000 on tmpfs and 9,600 on btrfs. Zero in a
count bounds the rate, it does not make it zero: a rename that takes longer than 25.55 ms is still refused, with the career intact and no temporary file
left, and the save-failed message above shows. - Package text. The Windows notices name all three files that carry llvm-mingw's build paths (
bea.exe,SDL3.dll,libz.dll), the packaged
README.txtgives photo mode's limits as the README does and lists the optional Linux tools and libraries (curl,zenity, the 32-bit X11
libraries), and the Windows text no longer speaks of "earlier" builds.
Downloads
- Linux i686 package
- Windows i686 package
- Stable latest links: Linux, Windows
ce-update-v2.jsonand its.sigare the signed update feed the launcher reads; you don't need to download them.
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 the commit this release is tagged at, 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.txtgives 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 inRC-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,657 bytes, three more than in 0.1.10, all in the same padding words): some of those words differ even between two runs of the original game, and an independent reviewer accounted for every excluded byte. The Windows build was checked under Wine in an isolated sandbox on level 100, directly (to frame 3,000) and through the launcher (to frame 600). The sharper text, the mods code and the save-failed message are switched off in recorded runs, so these checks do not exercise them (the entries below say what was looked at instead); the predicted-aim change is in the code the recorded runs execute, on a branch none of them takes. - Mods on Windows (Windows 11 virtual machine, software rendering; level 100 run to frame 400): with no mod listed the log says nothing about mods. With a valid mod
listed it says once that mods are off on Windows until mod path safety is validated, and nothing is loaded or replaced. With a hostile list (a folder junction that points
outside, a missing...
Onslaught CE V0.1.10
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:
- Close Onslaught CE.
- 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. - Download the 0.1.10 package for your system below.
- Extract it into a new, empty folder.
- Run
onslaught-ce(Linux) oronslaught-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
photoin 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 thescreenshotsfolder 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 i686 package
- Windows i686 package
- Stable latest links: Linux, Windows
ce-update-v2.jsonand its.sigare the signed update feed the launcher reads; you don't need to download them.
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.txtgives 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 inRC-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
savegamesfolder 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 ...
Onslaught CE V0.1.9
A newer version is out: the current release is always at releases/latest. 0.1.9 updates itself: start it and choose Update when it offers the new version. 0.1.10 fixes a way to lose a career when saving over an existing name on Linux, and a start-up crash of this version's Linux launcher when zenity is missing (see the 0.1.10 notes). Please install the current release rather than this one.
Getting 0.1.9
If you have 0.1.8: start Onslaught CE as usual. It finds this update, checks its signature and asks you; say yes and
it installs 0.1.9 inside its own folder and restarts. Your careers and settings are kept, and running the launcher with --rollback
(how) takes you back to 0.1.8 if you need it.
If you have 0.1.0 to 0.1.7: these cannot update themselves, so download 0.1.9 once by hand:
- Close Onslaught CE.
- 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. - Download the 0.1.9 package for your system below.
- Extract it into a new, empty folder.
- Run
onslaught-ce(Linux) oronslaught-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 (Linux)
On Linux, two different career names could end up in the same save file, so saving one could empty the other: a
name with a trademark sign typed on the in-game keyboard shared a file with the same name ending in a quote, and a few names
with an accented capital A followed by a symbol shared a file with another career's. 0.1.9 gives every name its own file, still opens
every existing save under the name it shows, and lists saves copied from Windows with their proper characters. We know
of no case where this cost anyone a career. Windows was not affected.
What's new
- Gamepads and flight sticks work without setup: the menus with the D-pad or left stick (A to select, B back,
Start to pause), and in play the left stick to move, the right stick to turn and look, triggers to fire and use the
landing jets, A to transform. Plug a controller in while the game runs and it is picked up. A player who set up their
own joystick controls keeps them. Controller Options now lists your controllers by name (it said "Not present" before). - Rumble on controllers that have it, when your Battle Engine is hit or shaken by its own weapons (
rumble=0in
ce.initurns it off). - The original developer console, hidden in the PC release, now available in solo play: press the grave key (left of 1), then
help. It is limited to safe commands; level and win commands need the cheat switches. It replaces 0.1.8's small command panel. - Developer statistics overlay (
dev_stats=1): the original's on-screen frame and level information. - Your own music (
music_dirince.ini): a folder of.oggfiles plays instead of the level music. - End-of-level statistics on the victory and defeat screens: mission time, time in jet and walker mode, rounds
fired, accuracy and damage taken, the panel the PC version left commented out (debrief_stats=0hides it). - Options > Cheats explains each switch; the latête cheat now works for careers named on Linux.
Gameplay is the faithful port as before: with every one of these switched on, recorded play still matches the original.
Downloads
- Linux i686 package
- Windows i686 package
- Stable latest links: Linux, Windows
ce-update-v2.jsonand its.sigare the signed update feed the launcher reads; you don't need to download them.
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 clean rebuild from the public repository reproduces them byte for byte.
- Gameplay matches the original game exactly on the recorded checks for levels 100, 200, 221, 400, 512, 521, 611 and 860, and the long multi-level check reaches the same known difference point as earlier releases (reviewed independently). The Windows build was checked under Wine on level 100 (directly and through the launcher).
- With every new switch on at once (console colour, developer statistics, a music folder, end-of-level statistics, rumble, the god mode option, session recording) and a virtual controller attached, recorded play is byte-identical to 0.1.8 on every frame of those checks.
- Moving from 0.1.8 was tested on Linux and on Windows 11 (in a virtual machine, software rendering): with 0.1.8's user folder and a real career save, 0.1.9 in a new folder showed the career in Load Game and used
ce.ini's settings; the save andce.iniwere byte-for-byte unchanged and the old install and the folders, links and junctions beside it untouched. - Offline, the launcher reaches nothing and installs nothing (Windows 11 network capture).
--applyis refused. - The update from 0.1.8, tested right after publishing, on Linux and on Windows 11: the published 0.1.8 found this release's signed update, asked, and after Update downloaded it, checked it against the signed list and installed it beside 0.1.8;
--versionthen showed 0.1.9, and--rollbackreturned to 0.1.8. The career save andce.iniwere unchanged throughout. - The career-name fix is covered by tests that try every name of one or two characters the in-game keyboard can type, saves copied from Windows, and the earlier name clashes.
- The controller tests and the update test were separate runs from the release-candidate checks that
RC-REPORT.txtlists. - Controllers were tested with virtual devices in offscreen runs: menus, both sticks, transforming, a flight stick, and a pad plugged in or out while the game runs.
Not tested: physical gamepads, flight sticks and rumble motors (all controller checks used virtual devices), physical AMD, NVIDIA or Intel graphics on Windows, other Linux distributions with these packages, and audible sound on a real device.
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.
Onslaught CE V0.1.8
A newer version is out: the current release is always at releases/latest. 0.1.8 updates itself: start it and choose Update when it offers the new version. 0.1.10 fixes a way to lose a career when saving over an existing name on Linux, and a start-up crash of this version's Linux launcher when zenity is missing (see the 0.1.10 notes). Please install the current release rather than this one.
Getting 0.1.8: download it once, then it updates itself
If you have any earlier Onslaught CE (0.1.0 to 0.1.7):
- Close Onslaught CE.
- 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. - Download the 0.1.8 package for your system below.
- Extract it into a new, empty folder.
- Run
onslaught-ce(Linux) oronslaught-ce.exe(Windows) from the new folder. Your careers and settings are picked up automatically. Point your shortcut at the new folder.
Keep the old folder and your backup until you are happy, and never run the old launcher again. If you set BEA_USER_DIR before, set it the same way now. Anything unusual? See the detailed steps.
Why by hand, this once? The updater in 0.1.0–0.1.6 tidied up at startup by deleting any folder next to the game folder whose name started like it (for example Onslaught CE.old-backup). We know of no case where it deleted anything of a player's, but it could, so 0.1.7 switched updating off. 0.1.8 has a new updater that only ever touches its own two folders (versions inside the Onslaught CE folder and update-v2 in your user folder), never anything beside them, checks the signature of every update before using it, asks before installing, and can go back (--rollback). Old launchers cannot reach it, so this one download is by hand. From 0.1.8 on, Onslaught CE 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.
What's new
- Updates are back, done safely: a signed update feed, your permission before installing, your previous version kept for
--rollback, and nothing touched outside the updater's own folders. Onslaught CE > Updates shows whether checking is on and wherece.iniis;update_check=0turns it off. - Readable HUD at high resolutions: the radar, portrait, messages and aiming circle scale with the screen.
BEA_PORT_HUD_SCALE=0gives the original size. - Windowed or fullscreen in Video Options ("Display mode", applies when the game next starts).
- Tutorial help names the dodge and zoom controls for your current keys.
- A small command panel: press the grave key (left of 1) during play;
help,status, andcamerafor the free camera when that cheat is on. - Cheat switches explained in Options > Cheats; console key binds fixed.
- Better problem reports: the log now lists your displays, controllers and audio devices and the settings in use (names as your system reports them; your account name is hidden). Nothing is ever uploaded automatically.
- The version shows as Onslaught CE V0.1.8, menus tidied (Onslaught CE page: About, Report a problem, Record sessions, Updates, Special Thanks).
- Special Thanks: Stuart Gillam (desimbr), Jeppi, BermudaMaster and the other early testers, and everyone contributing, including work made with their own AI coding agents.
Gameplay is the faithful port as before.
Downloads
- Linux i686 package
- Windows i686 package
- Stable latest links: Linux, Windows
ce-update-v2.jsonand its.sigare the signed update feed the launcher reads; you don't need to download them.
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 clean rebuild from the public repository reproduces them byte for byte.
- Gameplay matches the original game exactly on the recorded checks for levels 100, 200, 221, 400, 512, 521, 611 and 860, and the long multi-level check reaches the same known difference point as earlier releases. The Windows build was checked under Wine on level 100 (directly and through the launcher).
- Moving from an older version was tested on Linux and on Windows 11 (in a virtual machine, software rendering). The user folder held a real career save and a
ce.ini, as an older version left them. 0.1.8 was extracted into a new folder and started normally:- the career appeared in Load Game;
- the game folder and windowed setting came from
ce.ini; - the save and
ce.iniwere byte-for-byte unchanged afterwards; - the old install folder and the folders, links and junctions beside it were untouched.
- Updating was tested by the launcher's own tests on Linux and Windows (signature checks, tampered and wrong-key feeds, interrupted updates, rollback). Offline, the launcher reports that no feed was reached, installs nothing and opens no connection (Windows 11 network capture).
--applyis refused.
Not tested: physical AMD, NVIDIA or Intel graphics on Windows, physical game controllers, other Linux distributions with these packages, and audible sound on a real device.
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.
Onslaught CE 0.1.7 (preview)
A newer version is out: the current release is always at releases/latest. 0.1.7 cannot update itself, so download the current release once by hand (the steps are at the top of its page); from 0.1.8 on, Onslaught CE updates itself.
Important: install 0.1.7 by hand, into a new empty folder
Do not start any Onslaught CE 0.1.0–0.1.6 launcher again, not even to check its version, update it or with
update checks disabled. Their startup cleanup can delete a neighbouring file or folder whose name starts with the CE
program folder's name followed by .old- (for example Onslaught CE.old-backup beside Onslaught CE). The shipped
0.1.6 Linux launcher did this in a sandbox test, and followed a matching directory symlink into its target. The same
name-based cleanup is in the Windows source.
0.1.7 fixes this: its launcher never removes neighbouring paths, and automatic update checking and installation are
suspended. There is no update feed in this release, so older launchers cannot offer it as an automatic update.
Before you install 0.1.7:
- Close CE. Leave the old program folder and every neighbouring
.old-*,.download-*and.unpack-*path
untouched; they may hold unrelated files or the only copy of your data. - Back up your CE user folder first, without starting the old launcher. By default it is
~/.local/share/onslaught-ceon Linux and%APPDATA%\Onslaught CEon Windows; aBEA_USER_DIRsetting takes
priority, and a relative one can put launcher files and game data in different places. Copy each whole folder to a
separate place and check the copy. - Download the 0.1.7 package for your system and
ASSETS.txtfrom this page, and
verify the package. - Extract it into a new, empty folder, separate from the original game and every old CE folder. Do not install
over an old folder or copy old executables or DLLs into the new one. - Run only the new
onslaught-ce(Linux) oronslaught-ce.exe(Windows). Check Onslaught CE > About, your
careers and settings, then update your shortcut. Keep your backups and the old folders.
The full steps, including separate launcher and game data folders and BEA_USER_DIR, are in the README's
manual migration.
No administrator access or disabled UAC is needed.
Onslaught CE 0.1.7 is a corrective release of the native Linux and Windows port of Battle Engine Aquila. You need
your own supported PC game files; testing uses the Steam edition. No game files are included.
Changes
- The launcher no longer removes any path beside its program folder, on any start.
- Automatic update checking and installation are suspended. The Manual updates menu and
--update-onlygive the
manual steps instead (--update-onlyexits with status 2 without starting the game); the old--applycommand is
refused before it touches any installation, user or update path. - In the game, Onslaught CE > Check for updates is now Manual updates and shows the same steps. Gameplay is
unchanged from 0.1.6.
Downloads
- Linux i686 package
- Windows i686 package
- Stable latest links: Linux, Windows
Linux needs the documented 32-bit Vulkan driver and system libraries; the Windows executable is unsigned, so SmartScreen may warn you.
Validation and limits
Two clean builds produced byte-identical Linux and Windows packages (the attached report records them), and a
separate clean build from the public v0.1.7 tag reproduced both packages byte for byte; that third build is a
maintainer check whose record is not part of the attached report. The attached release-candidate report
and asset hashes describe the
bounded replay checks against the original game and their known exclusions. No GitHub Actions or hosted CI was used.
On these exact packages:
- Linux, in a sandbox with a private home folder:
--version,--update-only(exit 2, guidance),--apply
(refused, nothing touched) and a normal start to the menu and quit. Disposable.old-*neighbours, including a
directory symlink and its target, were unchanged afterwards. - Windows 11 virtual machine (offline, Microsoft's software renderer, no graphics card), as an ordinary user: the same
four checks, films through the title and main menu to Quit, and disposable neighbours (an.old-*folder, file,
directory symlink and junction, plus a near-miss name) unchanged with their contents and link targets, 17 checked
entries in all. No network request was made.
Not tested: physical AMD, NVIDIA or Intel graphics on Windows, game controllers, other Linux distributions with these
packages, and audible sound on a real device. Automatic updating stays off until a separate design is validated.
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; it is never uploaded automatically.
Thanks to early Discord testers Jeppi and BermudaMaster, Stuart Gillam (desimbr) for help, insight and guidance, and everyone contributing fixes, testing and agent-assisted work.
Related work: Companion, Godot rebuild, decompilation, preservation documentation.
Onslaught CE 0.1.6 (preview)
This is an old release. The current one is always at releases/latest. Do not run this version's launcher. Back up your CE user folder, then install the current release by hand into a new empty folder, as its release notes describe. From 0.1.8 on, Onslaught CE updates itself.
Important safety notice — affected launchers
Do not start the Onslaught CE 0.1.0–0.1.6 launchers, including this release, or use their updater, even with update checks disabled. Their source contains startup cleanup that can delete neighboring files or folders whose names start with the CE program folder's name followed by .old-.
In isolated tests, the shipped 0.1.6 Linux launcher deleted a matching folder and followed a matching directory symlink. Earlier versions contain the same cleanup in source; their packaged launchers and native Windows behavior have not been similarly tested.
Keep the existing program folder, matching neighboring items and any link or junction targets in place. Preserve both launcher and game user-data folders. If BEA_USER_DIR is relative, those folders may differ; locate and back up each separately without merging them. See the current safety notice and manual migration guidance. The current release is 0.1.8.
Older instructions below to run this launcher, use automatic updates, install in place, or clean up old folders are superseded by this notice.
Onslaught CE 0.1.6 is an early corrective release for the native Linux and Windows port of Battle Engine Aquila. You need your own supported PC game files; testing uses the Steam edition. No game files are included.
Fixes and improvements
- Honor close requests during full-screen films and credits.
- Discard mouse events left over from earlier capture or focus periods before menus can use them.
- Honor explicit windowed starts and saved display choices, and keep display modes associated with the correct graphics adapter.
- Correct music-finished detection and reused audio timers. Normal Ogg completion is no longer counted as a read failure; genuine read and close errors remain errors.
- Stop drawing terrain from invalid buffers after a failed rebuild or graphics reset, fix recycled render-batch state, and clear uncovered screen regions.
- Improve Windows handling of non-ASCII career names and file-identity checks before overwriting a save.
- Publish recordings only when the tape and its starting-file metadata are complete. Interrupted captures remain marked
.incompleterather than being presented as replayable sessions. - Expand bounded diagnostic logs with sound, music refill, input, focus, display and rendering details. Concurrent launches use separate log slots instead of overwriting an active session's log. Logs are not uploaded automatically.
- Add Onslaught CE > Special Thanks and make the subdued version footer easier to read: Onslaught CE V0.1.6.
Downloads
- Linux i686 package
- Windows i686 package
- Stable latest links: Linux, Windows
The 0.1.6 packages remain available for reference; do not start their launcher or use its updater; use 0.1.8 and its manual migration instructions instead. Administrator execution or disabled UAC is not required. Keep recovery copies of your careers before changing save locations. Linux needs the documented 32-bit Vulkan driver and system libraries; the Windows executable remains unsigned.
Validation and limits
Two clean builds produced byte-identical Linux and Windows packages. The attached release-candidate report and asset hashes describe their bounded replay checks and known exclusions. Missing reference data and unverified pointer observations are not counted as equality. No GitHub Actions or hosted CI was used.
Fresh Windows 11 checks passed for launcher/file handling, recording and two exact replays, ordinary gameplay, menu mouse/focus handling, film shutdown, save preservation and the longer audio lifecycle. The VM uses Microsoft's software renderer. These checks do not validate physical AMD/NVIDIA/Intel GPUs, dual monitors, mixed DPI or listening quality on a physical audio device.
Ordinary Windows automatic takeover from 0.1.5 to 0.1.6 has not passed. The packaged 0.1.6 launcher succeeds under the update-helper filename with ordinary permissions; a complete automatic upgrade from 0.1.6 to a legitimate newer release still needs end-to-end validation.
The reported overlapping/stuttering music, colorful tutorial-map borders and aircraft/geometry artifacts still need reproduction and attribution. These fixes are not claimed as confirmed solutions to those reports. Full-game parity and the tutorial's complete combat route remain unfinished. Online multiplayer and campaign co-op are separate development work and are not included in 0.1.6.
If a problem occurs, send the onslaught-ce*.log files from your CE user folder, with what happened and roughly when. You can send them directly to the maintainer; a GitHub account is not required. No administrator access or automatic upload is needed.
Thanks to early Discord testers Jeppi and BermudaMaster, Stuart Gillam (desimbr) for help, insight and guidance, and everyone contributing fixes, testing and agent-assisted work.
Related work: Companion, Godot rebuild, decompilation, preservation documentation.
Safety, 2026-10-27: this release's latest.json and latest.json.sig update-feed files were removed, so no old launcher can ever be offered this or another affected version as an update. ASSETS.txt still lists their original hashes. Everything else here is unchanged.
Onslaught CE 0.1.5 (preview)
This is an old release. The current one is always at releases/latest. Do not run this version's launcher. Back up your CE user folder, then install the current release by hand into a new empty folder, as its release notes describe. From 0.1.8 on, Onslaught CE updates itself.
Important safety notice — affected launchers
Do not start the Onslaught CE 0.1.0–0.1.6 launchers, including this release, or use their updater, even with update checks disabled. Their source contains startup cleanup that can delete neighboring files or folders whose names start with the CE program folder's name followed by .old-.
In isolated tests, the shipped 0.1.6 Linux launcher deleted a matching folder and followed a matching directory symlink. Earlier versions contain the same cleanup in source; their packaged launchers and native Windows behavior have not been similarly tested.
Keep the existing program folder, matching neighboring items and any link or junction targets in place. Preserve both launcher and game user-data folders. If BEA_USER_DIR is relative, those folders may differ; locate and back up each separately without merging them. See the current safety notice and manual migration guidance. The current release is 0.1.8.
Older instructions below to run this launcher, use automatic updates, install in place, or clean up old folders are superseded by this notice.
Onslaught CE 0.1.5 is a corrective preview release for the native Linux and Windows port of Battle Engine Aquila. You need your own supported PC game files.
Fixes
- Correct the Windows fullscreen mouse hit area when the default display resolution differs from the initial window size.
- Recover the message loop after minimize/restore and Direct3D device loss, and record releases for keys held when focus is lost.
- Finish close requests while the game is minimized, including the title screen and Level 100.
- Cancel pending and in-flight music starts when playback stops. This fixes demonstrated worker races; it is not yet a confirmed explanation for every reported overlapping-music case.
- Bound packed-asset decompression by the destination buffer. This fixes the overrun reproduced during level entry in Fedora 40 software-renderer tests.
- Fix audio-file handle ownership during failed opens, reopening and shutdown.
- Preserve redirected Windows launcher version output for companion applications and scripts.
- Correct three measured simulation sum-order sites in
DeclareOnGround,Explosion::HitandRound::Init. The old Level 200 health and Level 860 energy discrepancies no longer occur within their admitted recorded-reference coverage.
Downloads
- Linux i686 package
- Windows i686 package
- Stable latest links: Linux, Windows
Extract the package outside the original game folder and start onslaught-ce or onslaught-ce.exe. Existing CE launchers can offer the signed update. Keep recovery copies of your careers before changing save locations.
Validation and limits
The attached release-candidate report and asset hashes describe the exact packages. Validation covers local clean builds, replay comparisons and native Windows 11 VM paths. Windows mouse/focus recovery was exercised in default fullscreen, explicit-resolution fullscreen and windowed modes. The VM uses Microsoft's software renderer; the reporter's AMD GPU, dual-monitor and mixed-DPI setup still need hardware testing. No GitHub Actions or hosted CI was used.
Recorded-reference equality is bounded by the available fields and frames. Level 860's reliable original-game comparison ends at frame 3,250; missing player-state rows are not counted as matches. Ordinary-clock music-worker checks and isolated PipeWire captures do not establish listening quality on physical audio devices. The allocator-dependent first foot-landing effect remains documented, without a speculative gameplay change.
The Windows executable remains unsigned. If a problem occurs, share onslaught-ce.log from your CE user folder together with what happened and your display setup. You can send the file directly to the maintainer; a GitHub account is not required to provide a log.
Related work: Companion, Godot rebuild, decompilation, preservation documentation.
Safety, 2026-10-27: this release's latest.json and latest.json.sig update-feed files were removed, so no old launcher can ever be offered this or another affected version as an update. ASSETS.txt still lists their original hashes. Everything else here is unchanged.
Onslaught CE 0.1.4 (preview)
This is an old release. The current one is always at releases/latest. Do not run this version's launcher. Back up your CE user folder, then install the current release by hand into a new empty folder, as its release notes describe. From 0.1.8 on, Onslaught CE updates itself.
Important safety notice — affected launchers
Do not start the Onslaught CE 0.1.0–0.1.6 launchers, including this release, or use their updater, even with update checks disabled. Their source contains startup cleanup that can delete neighboring files or folders whose names start with the CE program folder's name followed by .old-.
In isolated tests, the shipped 0.1.6 Linux launcher deleted a matching folder and followed a matching directory symlink. Earlier versions contain the same cleanup in source; their packaged launchers and native Windows behavior have not been similarly tested.
Keep the existing program folder, matching neighboring items and any link or junction targets in place. Preserve both launcher and game user-data folders. If BEA_USER_DIR is relative, those folders may differ; locate and back up each separately without merging them. See the current safety notice and manual migration guidance. The current release is 0.1.8.
Older instructions below to run this launcher, use automatic updates, install in place, or clean up old folders are superseded by this notice.
Onslaught CE 0.1.4 (preview)
0.1.4 fixes career-list and file-write problems, keeps the title responsive when films are disabled, and improves
Windows crash messages. If you already have Onslaught CE, choose Update when the launcher offers this version.
Download
| System | Package |
|---|---|
| Linux | onslaught-ce-0.1.4-linux-i686.tar.gz — run onslaught-ce |
| Windows | onslaught-ce-0.1.4-windows-i686.zip — run onslaught-ce.exe |
The stable Linux download
and stable Windows download
always fetch the latest published version. These files are byte-identical to the versioned packages.
You need your own PC copy of Battle Engine Aquila. No game files are included. The launcher checks the supported
Steam edition's mission-data files; other editions may be refused. Install Onslaught CE in a separate folder and
keep its user folder separate from the original game. Keep recovery copies of your careers before changing save
locations. This is an unofficial fan project, unaffiliated with the game's developer, publisher or rights holders.
Changes
- Linux careers: the load menu combines careers in the original game and CE user folders. A CE career takes
precedence over a same-named original. Ambiguous case variants are refused instead of listing one file and loading
another. Linked write targets are refused, and failed copy-on-write operations no longer publish partial data. - Settings on both systems:
ce.iniis replaced through an exclusive temporary file with checked writes and
failure handling. Linked parent paths and settings files are refused. Unrelated settings entries are kept; as before, an unterminated final line gains a newline. - Disabled films: ordinary CE play no longer turns black and gets stuck when the idle title tries to play a film
with-skipfmv. Faithful recording/replay keeps the original behavior. Normal film playback remains enabled when
that option is absent. - Linux loose textures: Windows-style separators and filename case now use the same file lookup as other game
data. Previously a loose texture such as the attract splash could fail to load or use the wrong working-directory file. - Windows reports: handled first-chance exceptions are no longer described as fatal. After eight detailed
reports, one message explains that further reports are suppressed. The launcher now has a Windows version resource. - Small fixes: the game-folder message appears once; Linux updates explain when a terminal needs
cd .; download
instructions explain the format ofASSETS.txt. Recording checks reject empty evidence.
Checks and limits
Both packages were built twice from clean homes with the pinned dependencies and compared byte for byte. The
release replay checks, signed metadata, package notices and platform metadata passed. The Windows 11 VM separately
passed boot with films, the title-to-level-100 failure route, direct level 100, and an idle title run lasting beyond
75 seconds with films disabled. The idle run then closed normally.
A third clean build from the public v0.1.4 tag reproduced both complete package archives byte for byte, without masking differences. The actual published 0.1.3 launchers passed both Skip and Update against the signed public feed on Linux and Windows. Updated installations exactly matched these packages, with no leftover update folders. Windows automatically relaunched the game and closed normally; both updated platforms also passed the longer idle-title check.
The Windows VM uses Microsoft's software renderer. These checks do not establish behavior on a Windows PC with a
real graphics driver. Automated runs are offscreen; physical mouse/controller behavior and audible recording sound
still need player testing. The tutorial's final combat route and the wider game's known parity limits remain open.
Linux needs glibc 2.29 or newer and a compatible 32-bit Vulkan 1.3 driver; see the README.
Custom user-folder redirects remain your responsibility: do not point BEA_USER_DIR into the game folder or link it
there. Normal career writes are not newly transactional, and these fixes do not promise recovery from every disk or
power failure. Original save backups remain useful.
Only one game package is needed to play. ASSETS.txt lists hashes and sizes; RC-REPORT.txt records release checks;
latest.json and its signature serve the updater; ffmpeg-7.1.1.tar.xz supplies the source for the bundled replaceable
FFmpeg libraries. Onslaught CE is GPL-3.0-only; third-party components retain the licenses in the package notices.
There is no telemetry. The launcher checks the public signed release feed and downloads an update only with consent.
Related projects: Godot rebuild,
companion,
decompilation,
preservation documentation.
Safety, 2026-10-27: this release's latest.json and latest.json.sig update-feed files were removed, so no old launcher can ever be offered this or another affected version as an update. ASSETS.txt still lists their original hashes. Everything else here is unchanged.