v0.4.20260304
Pre-release
Pre-release
·
964 commits
to master
since this release
A release-sized update focused on expanding playable coverage, ending sequences, and engine maturity.
- Package rename from
uk.co.jamesj999.sonictocom.openggfacross the entire codebase. - Master title screen implemented: engine-wide PNG-based title screen with animated clouds, game
selection, and pixel font renderer. Displayed on startup before entering game-specific title flow. - Sonic 1 has moved from initial support to feature complete: title screen flow, special
stages, major per-zone event scripting, extensive object and badnik additions, multiple boss
implementations (GHZ, MZ, SYZ, LZ, SLZ, FZ), Labyrinth water/drowning/splash behaviour,
ending/credits work, SBZ post-level-end sequence, demo playback, edge balance and push block
collision corrections, and slope crest sensor guard. Expect minor bugs, but the game should be playable
from beginning to end. - Sonic 2 adds title screen support, major object passes for MTZ/SCZ/WFZ/OOZ, 9 boss fights
(MCZ, MTZ, WFZ, and both DEZ bosses — Mecha Sonic and Death Egg Robot, plus Robotnik escape),
a complete credits and ending cutscene system with ROM-accurate visuals, expanded per-zone event
architecture, demo playback, signpost/badnik palette/stair block art fixes, and a systematic
TODO resolution pass with disassembly validation. - Sonic 3&K sees major AIZ progress including intro cutscene systems, hollow tree and vine
traversal parity work, miniboss object set bring-up, initial badnik implementations, shield/PLC
integration fixes, a full water system with provider architecture and underwater palettes,
seamless AIZ fire transition flow, and related regressions/tests. - Cross-game feature donation implemented: a donor game (S2 or S3K) can provide player sprites,
spindash dust, physics, palettes, and SFX while the base game handles levels, collision, objects,
and music. Now includes cross-game Super Sonic delegation. - Per-game physics and Super Sonic state/control flow (implemented for S2, with cross-game
delegation to S1 and S2 game modules). - Profile-driven level loading: declarative
LevelInitProfilesystem with 13 ROM-aligned
steps per game, replacing the monolithicloadLevel()path. - Testability refactor:
GameContext,SharedLevel,HeadlessTestFixturebuilder, and
profile-driven test teardown. Test grouping by level and 8-JVM parallel execution. - Engine fixes: solid object edge jitter fix, S1 slope crest sensor guard, jump-while-airborne
guard, fade transition flash fix, results screen rendering fix, HTZ earthquake fixes, SFX
channel replacement fix. - PLC/art-loader refactors, RomOffsetFinder/ObjectDiscoveryTool enhancements, configuration
documentation, and broad audio/stability/performance hardening.
See CHANGELOG.md for full details.
Full Changelog: v0.3.20260206...v0.4.20260304