Repository navigation
Sonic 3 family 0.7.9
This release updates Sonic 3, Sonic & Knuckles, and Sonic 3 & Knuckles. Stage-specific changes apply to the games containing those stages.
Widescreen stage rendering
- Hydrocity Act 2 uses the installed background canvas during its moving-wall redraw. Foreground bricks no longer substitute for the panorama or cover the player, cylinders and water effects.
- Marble Garden's normal panorama and Carnival Night's background stay correctly positioned when the foreground camera reaches a horizontal limit. Marble Garden Act 2 retains the separate world position needed by its moving boss arena.
- Marble Garden Act 2 correctly reconstructs the boss arena's floor bands and holes as the native drill event changes the layout. A retired or parked boss image no longer appears beside the real actor or survives a native side change.
- A closed Hydrocity Act 1 current keeps its original upper edge in the wider view, leaving the raised opening above it dry. Moving water retains its roof fill and foreground clipping.
- Hydrocity Act 1's extended foreground keeps the stage's own colors while the miniboss borrows a palette for damage flashes. The original viewport still follows the game's palette effects.
- The waiting Knuckles cutscene actor retains its authored colors in the margins before the original viewport installs its palette. Standalone Sonic 3 now draws the waiting Angel Island Act 2 pose through the wider view and hands it over to the native actor. High presentation rates keep that pose attached to the moving ledge.
Sprite art and bonus stages
- Monitor destruction bursts keep their own artwork when a nearby giant ring shares video memory. Marble Garden Spikers likewise retain their spike art while a returning stage loads its title card.
- Carnival Night's red balloons retain their round artwork during title-card loading. The yellow spring after Hydrocity's miniboss retains its coil art in the extended margin after other effects reuse its video-memory tiles.
- Glowing Sphere background strips use the correct signed horizontal position near room limits. Its wider view can display uncollected rings outside the original draw limit while native collection and spawning rules remain in charge.
- Standalone Sonic 3's Gumball bonus stage and entry fade use the selected wider canvas. Its original machine animation and native simulation are preserved.
Ordering, transitions and rewind
- Blue Spheres uses the original sprite/operator depth ordering at contact spheres. Its projected shadow uses the saved ground sample instead of an already replaced field value. The shared runtime carries the priority correction through scalar, captured and HD rendering paths.
- Blue Spheres keeps its cached wide presentation when local rewind or a current-build load resets the renderer, preventing a brief return to the native-width view.
- Level-select exits retain the outgoing SONIC/MILES pattern through the fade. Slot and Glowing Sphere entry fades keep their installed background and palette instead of exposing an incoming or stale margin bank.
- The packaged Sonic 3 README now uses the actual release version. The shared runtime also includes updated SRAM mapping, pending interrupt delivery and interpreter return accounting.
Original behavior retained
Original-ROM comparisons preserve the authored Angel Island camera wraps and scripted formation spawn, the short ring-return loading fragment, result-card movement and act handoff, and the finite Hydrocity intro-bubble lifetime. The save menu's blinking selection frame and native empty player animation poses are preserved. These are controls used to distinguish intended game behavior from rendering changes, rather than additional fixes.
Validation
All three production targets built on Windows and Linux with 21 focused tests passing per platform. All three packages per OS passed launcher, native SRAM and actual campaign-media checks, including the six combined-title configurations. Startup/fade, active/paused warm/repeat/cold states, all-three Blue Spheres wide rewind restores, fresh Fit, saved Off/21:9 and default diagnostic record/replay checks passed. Fresh Windows/Linux captures matched across 1,260 comparisons with zero differences; actual fractional waiting-scene presentation was checked separately on each OS. Rollback probes completed seven depth-eight passes per title per OS with zero divergences or asymmetric restores.
Built runtime was evaluated per title against 0.7.8. Results were neutral or inconclusive within observed variation, with no speedup claimed. Controlled combined-title repeats retained about 3.4% higher median process CPU cost (paired differences about 1 to 6%); native-aspect and core checks did not show a consistent slowdown. Both releases synchronize the tested software renderer despite the uncapped switch, so these samples do not establish absolute uncapped throughput.
Interactive visual/play, controller input-isolation and actual open rewind-preview/scrub/restore checks passed across the three titles.
Packages use adaptive Fit to screen for fresh profiles and preserve explicit saved aspect choices. Native in-game saves and owner-media import requirements are preserved. Credits mode 20 still does not support save-state capture; rejected captures preserve a valid existing current-build slot. Linux x86_64 packages target the established Ubuntu 24.04 / glibc 2.39 baseline.