Skip to content

Releases: TheRunaway5/Phase-Distorter

0.2.1

Choose a tag to compare

@TheRunaway5 TheRunaway5 released this 04 Oct 22:43
  • Preserve the original horizontal NPC scan and add the wider scan afterward,
    fixing people, lamps, presents, containers and sanctuary markers disappearing
    when entering the original viewport. Cover both regions and execution paths.
  • Extend scripted map cutscenes and the robot ending across widescreen without
    changing the source camera or scene timing. Expand captured prayer apertures
    around their original focus, preserving their shape.
  • Add ultrawide capture padding to prevent black edge strips during fractional
    camera interpolation.
  • Replace temporary automatic dimming with the recovered SNES Classic brightness
    ramp and PSI/Giygas temporal feedback, processed once per completed game frame.
  • Preserve suspended battle PSI state during prayer cutscenes, fixing prolonged
    stalls after battle return and supporting mid-prayer snapshot restoration.
  • Save snapshot format 7 with aperture, prayer/filter context and pending NPC
    scans; retain loading compatibility with formats 1–6.
  • Rebuild both launcher applications and provide v0.2.1 Linux, Windows and
    combined launcher bundles, notes, version records and integrity metadata.

0.2

0.2

Choose a tag to compare

@TheRunaway5 TheRunaway5 released this 04 Oct 20:41

Phase Distorter v0.2

Prepared October 4, 2026. Covers changes since the original v0.1 release on
September 27, including the current working-tree fixes packaged for v0.2.

This release improves widescreen presentation, motion, frame pacing, audio
delivery, controllers and debugging in both EarthBound and Mother 2. It also
includes substantial work on independent native engine components and the
organization of the source. The playable desktop application still uses the
compatibility game runtime; the full native engine migration remains in progress.

Widescreen, ultrawide and scene fixes

  • Expanded world rendering now uses published actor descriptors, including
    sprite parts clipped out of the original hardware object list. Nearby NPC,
    enemy and prop artwork is prepared separately from gameplay activation.
  • Fixed streetlights, decorations and other prepared sprites being cut off
    inside the original viewport or disappearing with widescreen disabled.
  • Reduced activation pop-in for presents, trash containers and the sparkling
    Your Sanctuary boss markers. Newly created props retain their artwork until
    the source publishes their first pose; opened, defeated and hidden states
    still follow the game's conditions.
  • Corrected source/prepared NPC ownership during map loading and cutscenes,
    removing duplicate bodies and noninteractive previews. Newly created Saturn
    Valley actors retain their initial artwork through their first source draw.
  • Lumine Hall's scrolling message stays within its authored 30-column wall
    patch, including direct scene rendering. The game's boss/story condition
    still controls when the message appears.
  • Forest borders and the black void around caves and rooms extend naturally
    without pulling the presentation camera away from the player. Short road
    tunnels to Threed/Fourside and desert traffic retain their boundaries.
  • Fixed the pyramid demo's scenery and party drifting outside its circular
    aperture at wide and ultrawide aspects.
  • Preserved authored cutscene stages, prayer apertures and fixed black borders
    during direct rendering. Post-Giygas robot corpses keep their original
    centered framing, and departing souls travel beyond the full wide display
    before their source sprites are released.
  • PSI animations use the wider battle canvas while targeted effects stay
    anchored to their enemy. Battle backgrounds remain visible through exit fades.
  • The War Against Giygas still card uses its centered 4:3 composition. Animated
    Giygas static extends across wide margins; Mother 2's logo background extends
    while the original logo and copyright remain centered.
  • Fixed repeated widescreen texture uploads turning black on the NVIDIA path.
  • Added README screenshot pairs at 16:9, 21:9 and 32:9, showing identical
    gameplay frames with CRT effects off and on.

Motion, performance and audio

  • Added saved Native, 90–300 FPS and Uncapped presentation choices, with game
    logic and generated audio retaining their native cadence.
  • Added direct overworld scene rendering with smooth camera/actor positions
    between game frames. Unsupported raster effects and battles retain completed
    game pictures; optional motion interpolation provides intermediate pictures.
  • Added interpolation controls, scene-cut/history resets and an exact completed
    frame opt-out. Image-based interpolation adds one game frame of visual latency
    and can produce blending artifacts.
  • Reduced original overworld slowdown with a bounded extra entity-update CPU
    budget. Hardware arithmetic, transfers and frame waits retain their timing;
    --original-timing preserves the original comparison path.
  • Added host-owned overworld sprite allocation, custom/overlay artwork and
    active-actor edge retention. The experimental widening of source gameplay
    activation was disabled after reproducing sprite-pool exhaustion in the
    attract demo and Twoson; visual preparation supplies the wider view.
  • Improved fixed-refresh pacing and matched playback audio to its cadence.
    Optional saved VRR pacing is available in Display settings and through
    --vrr / --no-vrr; driver/monitor VRR still needs its own configuration.
  • Fixed short Windows waits rounding to roughly 16 ms and limiting high-FPS
    presentation. The updated wait path supports the requested higher caps.
  • Bounded catch-up presentation starvation during sustained host load so new
    pictures continue to appear without dropping simulation or audio ticks.
  • Reduced rendering cost by skipping disabled background layers and decoding
    tile rows once per scanline, preserving palette/scroll/transfer behavior.
  • Added a 64 ms playback jitter reserve and audio underrun recovery. These
    improve delivery under delayed callbacks without changing generated PCM.
  • Warm enabled CRT shaders before timed playback; Linux requests a foreground
    scheduling improvement when the existing account permits it.

CRT and reduced flashing

  • Added a saved, flat CRT filter based on CRT-Lottes Fast, with scanlines,
    aperture-grille shading and softness, preserving black and fractional motion.
    It uses no temporal blending.
  • Matched direct-rendered and completed-frame CRT softness in both axes,
    including verification at multiple scales on Mesa and NVIDIA.
  • Replaced selective effect suppression with automatic whole-picture dimming.
    The default-off Photosensitivity filter checks every completed frame for
    luminance, palette and pattern changes, immediately dims repeated flashing,
    and gradually recovers after a quiet period.
  • Detection includes wide margins and the original center independently, so
    dark ultrawide borders cannot dilute a central flash. High-FPS direct redraws
    respect dimming, and catch-up frames advance detection exactly once each.
  • Improved detection of small repeated SNES palette steps in Kraken, Starman
    and Giygas backgrounds. Added asset-backed PSI/background/status probes and
    fixtures for lightning, white-burst and warp-flash mechanisms.
  • The filter is an independent implementation, with its scope and parameters
    documented. Exact Wii U/SNES Mini/Switch equivalence and medical safety have
    not been established.

Controllers, Settings and debugging

  • Corrected SNES Nintendo Switch Online A/B/X/Y labels and Linux USB/Bluetooth
    mappings, including shoulders, Start/Select and the D-pad.
  • Added a Controller settings tab with connected-device information, live
    inputs, remapping of all 12 SNES buttons, stick deadzone and Restore defaults.
    Mappings persist beside display settings and honor --config / --no-config.
  • Fullscreen hides the gameplay bar until the pointer reaches the top edge,
    then overlays it without resizing the game picture.
  • Added Debug controls for infinite HP/PP at 999/999, noclip, enemy avoidance
    and playable-party selection. Story-triggered battles remain available.
  • Added Player does max damage: successful damaging player attacks use
    the source damage routine's 65,535 maximum while retaining its immunity,
    zero-damage and enemy/ally rules.
  • Added a searchable teleport catalog covering 385 named areas and all
    scripted warps/door landings, totaling 1,472 choices. Debug teleports fade
    fully to black before map loading and use the original arrival fade-in.
  • Added named persistent save-state snapshots in Debug, with per-game lists,
    dates/frame numbers, save/load, refresh and confirmed deletion. Loads validate
    format, game content and checksum before replacing play; failed loads leave
    the running session intact. Snapshot restoration also restores debug switches
    and resets host presentation/audio history.
  • Added --replay-only for deterministic desktop input replay without physical
    gameplay-button interference, while retaining window and Settings controls.

Gameplay corrections

  • Fixed the crash after Paula's party-join jingle by accepting the source's
    hidden sprite initialization marker until a visible frame is selected.
  • Restored Threed/Threek's Investigator after Master Belch and kept the Ghost
    Enthusiast available afterward, preserving original placement, sprites and
    dialogue in both games. The Investigator's post-Belch condition follows an
    inference about the unused original appearance flag. Existing imports and
    normal saves need no conversion or reimport.

Native engine and source work

  • Introduced named source-derived C++ gameplay continuations for 808 US and
    783 Japanese dialogue, cutscene, entity, NPC and enemy routines, preserving
    instruction retirement and the original imported content.
  • Split simulation, scene capture/rendering, presentation scheduling, desktop
    window/input, CLI/preferences, replay, storage and audio delivery into explicit
    owners. GameSession can be built and tested without SDL/frontend dependencies.
  • Built independent native world modules for maps, terrain/collision, area
    palettes, map animation/streaming, actors and lifecycle, action programs,
    appearance resources, overlays, camera focus, pathfinding, enemy activation,
    contact and encounter-effect preparation.
  • Built independent native party/story modules for formation, inventory, HP/PP
    rolling, RNG, dialogue control flow and substitutions, regional fonts, text
    windows, prompts/menus, Talk/Check, gifts, character growth and credits.
  • Added native battle components for roster/admission, enemy/background artwork,
    startup, dead-player checks, names/grammar, shields/palette effects, PSI,
    targeting, initiative and turn scheduling. These are component-level migration
    results; the complete battle, startup and world-return flow is still open.
  • Added a native save codec and Continue-prefix restoration work, plus source
    comparisons for input/control modes, walking, retained camera/actor identity
    and map...
Read more

0.1.1

Choose a tag to compare

@TheRunaway5 TheRunaway5 released this 27 Sep 06:24
Fixed title screen and photo-sensitivity modes

Photosensitivity filtering targets identified flashing effects, including battle effects and Franklin Badge lightning.
“The War Against Giygas” displays at 4:3.
Mother 2’s logo background supports widescreen, keeping the logo centered.

0.1

0.1 Pre-release
Pre-release

Choose a tag to compare

@TheRunaway5 TheRunaway5 released this 27 Sep 05:45

First release