Skip to content

Releases

PaperReality 1.0.6

Choose a tag to compare

@github-actions github-actions released this 02 Nov 10:58

PaperReality 1.0.6

This update improves shadow and effect rendering and organizes unobtainable
badges in the Save Editor. These notes cover changes since 1.0.5.

Download: PaperReality-v1.0.6-unsigned.ipa below. Sign and install it with
AltStore, Sideloadly, or your own signing certificate. Requires iOS/iPadOS 16.3
or later. The game and HD texture packs are supplied by the user.

Changes

  • Fixed shadow flicker above 30 FPS, including when Mario stands on floor
    buttons, by preserving transform precision through interpolated shadow draws.
  • Applied a small, map-local visual offset to the affected ground leaf in
    Goomba Road 3 to address its flicker.
  • Fixed the brief black strip near the Start/menu controls during startup.
  • Corrected the partner-upgrade glow's transparency with HD texture packs.
    The correction retains the HD image and dimensions while making its black
    background transparent.
  • Adjusted dialogue-frame texture sampling to reduce seams between frame pieces.
  • Moved 21 more unobtainable badge entries into the Save Editor's existing
    Unused section: ten distinct unused badges and eleven unused duplicate
    copies. The regular section contains the 80 obtainable badge entries.

The app remains PaperReality, with bundle ID com.damien.paperreality and
native iPhone/iPad support. This release retains build 136's application source;
the version, release notes and release packaging are updated. The separate broad
leaf-rendering experiment is excluded. The Settings timing HUD stays off.

Validation

  • Device testing reported the shadow and targeted leaf fixes working, the
    startup strip removed, and the HD upgrade glow looking better with its
    background corrected.
  • Synthetic regressions cover shadow transform precision and queued ownership,
    startup aspect handling, dialogue-frame commands and HD mask alpha handling.
    The dialogue seam still needs broader visual confirmation across game scenes.
  • The badge-list audit accounts for 80 obtainable and 29 total unused badge
    entries, preserving the obtainable copies of badges with unused duplicates.
  • Release packaging verifies the IPA archive, app identity, version/build number,
    minimum OS and native iPhone/iPad support before publication.

Source details: 1.0.6 source audit.

PaperReality 1.0.5

Choose a tag to compare

@github-actions github-actions released this 31 Oct 03:00

PaperReality 1.0.5

This update improves save-card transition rendering and includes PaperBoat's
latest script-buffer and soft-reset fixes. These notes cover changes since 1.0.4.

Download: PaperReality-v1.0.5-unsigned.ipa below. Sign and install it with
AltStore, Sideloadly, or your own signing certificate. Requires iOS/iPadOS 16.3
or later. The game and HD texture packs are supplied by the user.

Changes

  • Fixed rotating window geometry used in save-card transitions. Queued frames
    retain their own vertices, and all four corners now use valid vertex indices.
    This addresses two defects that could corrupt the transition geometry.
  • Included PaperBoat #278: fixed 64-bit script-buffer overruns in Huff N. Puff,
    Fake Bowser/Koopa Bros. and Bandit code.
  • Clear scripts and workers when performing a soft reset.

The app remains PaperReality with bundle ID com.damien.paperreality and
native iPhone/iPad support. No new settings are added. The experimental ground leaf
rendering change and render diagnostics are excluded from this release;
the known leaf flicker remains unresolved here. The settings FPS HUD stays off.

Validation

  • The window regression checks production rendering commands for valid corner
    indices, initialized vertices, texture coordinates and queued-frame stability,
    including display-context reuse and 64 panels in one frame. It passes with
    AddressSanitizer enabled.
  • The user reported no further save-card flicker while testing 4:3 and Off aspect
    ratios at both 60 and 120 FPS. Because the original symptom was intermittent,
    this does not establish that every possible occurrence is resolved.
  • Release packaging checks the IPA archive, iPhone/iPad support, app name,
    bundle ID, version and build number. The normal Release build retains the
    established UIKit, controller, touch, AirPlay and frame-pacing behavior.

Source details: 1.0.5 source audit.

PaperReality 1.0.4

Choose a tag to compare

@github-actions github-actions released this 26 Oct 03:00

PaperReality 1.0.4

This update adds native iPad support and improves controller navigation in the
iOS settings interface. These notes cover changes since PaperReality 1.0.3.

Download: PaperReality-v1.0.4-unsigned.ipa below. Sign and install it with
AltStore, Sideloadly, or your own signing certificate. Requires iOS/iPadOS 16.3
or later. The game and HD texture packs are supplied by the user.

Changes

  • Added native iPad support alongside iPhone support. Earlier releases declared
    iPhone-only support, causing iPadOS to use compatibility mode. This fixes the
    reported inability to fill the iPad display with Stage Manager enabled.
  • Removed the bottom controller help strip from settings. Controller navigation
    and the focus outline remain available.
  • Fixed controller focus outlines on native dialog actions such as OK, Cancel,
    and Select Save. The outline now follows the full button instead of only the
    text, including cases where a dialog heading has the same text as an action.

The app remains PaperReality with bundle ID com.damien.paperreality.

Validation

  • Build 117's iPad fullscreen fix was reported working on the affected iPad.
  • An iPadOS 26.2 simulator window test verified native iPad mode and a full
    1376 × 1032 canvas with Stage Manager selected. The system fullscreen button
    was not available to automation; its interaction was not simulator-verified.
  • UIKit dialog tests covered side-by-side actions, stacked actions, disabled
    actions, and matching heading/action text.
  • Release packaging checks the IPA archive, iPhone/iPad support, app name,
    bundle ID, version, and build number.

Source details: 1.0.4 source audit.

PaperReality 1.0.3

Choose a tag to compare

@github-actions github-actions released this 25 Oct 03:11

PaperReality 1.0.3

This release brings the native iOS settings interface, controller navigation,
AirPlay improvements, updated editor artwork, and PaperBoat upstream fixes
together in one release. These notes cover changes since PaperReality 1.0.0.

Download: PaperReality-v1.0.3-unsigned.ipa below. Sign and install it with
AltStore, Sideloadly, or your own signing certificate. Requires iOS 16.3 or later.
The game and HD texture packs are supplied by the user.

Native iOS settings

  • Replaced the iOS settings menu with UIKit pages, rounded cards, and a landscape
    sidebar. Settings, Enhancements, Shaders, and Dev Tools expand to show their
    pages. Narrow layouts and larger accessibility text use a category browser.
  • Added system light/dark appearance, Dynamic Type, and readable theme accents.
    Menu Theme changes the settings accent color and touch-stick cursor color.
  • Made UIKit the settings interface on iOS and removed the switch to the original
    menu. Existing preferences remain in use.
  • Added native Console, Controller Bindings, Event Debugger, and Value Viewer
    settings, plus native Save Editor and Blueprint Editor pages. Console commands
    use the existing command registry; enter help to list available commands.
  • Added expandable Event Debugger cards for registered events and listeners.
    Call-site counts remain available only in builds with upstream instrumentation.
  • Added the original Pixel Count Presets, including Custom and presets from 240p
    to 4K, under Settings → Graphics. Enable advanced settings and Fixed Vertical
    Resolution to use them.
  • Fixed outgoing pages showing through subscreens, content overlapping titles,
    sidebar strips, and empty scrolling section bars. Descriptions stay inline
    without opening duplicate text alerts.
  • Made sidebar labels fit consistently on one line and replaced the header's
    paper plane with a transparent red origami boat based on the app icon.
  • Set the Home Screen name to PaperReality while retaining the existing
    com.damien.paperreality bundle identifier for app updates.
  • Fresh launches start with Settings closed while preserving preferences and the
    selected page. Returning to an app that is still running retains its open page.

Controller and touch controls

  • Added controller navigation throughout the native menus, including settings,
    editor pages, app dialogs, import/export buttons, text entry, and color editing.
    D-pad/left stick moves focus, A selects, B goes back, Left/Right adjusts values,
    L/R changes panes, X opens supported search/command entry, and right stick scrolls.
  • Added native button/axis binding capture, stick response controls, device and
    port controls, and supported controller rumble, gyro, and LED configuration.
    Configuring a gyro does not assign it a gameplay function.
  • Kept file and destination selection in the standard iOS Files picker. Those
    system picker selections use touch; the app buttons that open them support
    controller navigation.
  • Added controller support to touch-layout editing: L/R selects a control,
    D-pad moves it, A/B finishes, and X resets the layout.
  • Updated the default touch layout with mirrored L/R placement, an evenly spaced
    C-button diamond, and a revised joystick resting position. Saved custom
    positions are preserved; Reset applies the new defaults.
  • Made A, B, C, and Start use smooth round outlines. The touch D-pad now defaults
    to hidden, with a setting to enable it. Hide With Controller reacts to actual
    game controllers rather than unrelated joystick devices.

AirPlay, frame pacing, and startup

  • Added game-only output on an AirPlay or external display while keeping touch
    controls and menus on the phone. Supports connecting before or after launch.
  • Fixed external drawable sizing and position, including the MSAA-related image
    offset, and kept the interactive startup window on the phone when an external
    display is already connected.
  • Limited the game's effective frame target to the external display's reported
    refresh rate while connected. Disconnecting restores the phone's normal target
    without changing the saved setting.
  • Improved iOS frame deadlines and presentation pacing. Settings requests the
    phone's refresh rate independently, and the frame limiter services UIKit during
    its existing waits to improve scrolling responsiveness.
  • Improved first-run Files presentation and retry handling. A loading message is
    displayed before game setup, and first-run prompts temporarily bypass gameplay
    present pacing before restoring it.
  • Flushes Paperboat.log every second. Temporary AirPlay and first-run tracing was
    removed after investigation. The Settings timing HUD is excluded from this
    release; separate development builds can enable it.

Editors, artwork, and files

  • Added runtime portraits for characters, companions, badges, and items, using
    imported game resources. Missing resources retain a blank placeholder.
  • Made portraits use enabled HD texture replacements, including palette-specific
    variants and aliases, with original artwork as the fallback. Mixed-resolution
    sprite parts retain their alignment and higher-resolution detail.
  • Added model thumbnails for Fake Bowser, Toy Tank, and Light Bulb. These use
    imported model geometry and the currently selected original or HD materials.
  • Grouped eight unobtainable badges and two battle items under Unused in the
    native Save Editor. Their existing editing behavior is retained.
  • Added an on-device Sprite Texture Report covering UI icons, Blueprint portraits,
    and model material selection. It exports metadata rather than game artwork.
  • Fixed iOS file-picker routes for imports, exports, numeric Blueprint presets,
    N64 saves, and opening the app's Files folder. Picker requests are serialized
    and cancelled or dismissed requests are cleaned up.

PaperBoat upstream updates

Merged HarbourMasters/PaperBoat through 781d164cf, including:

  • Show Hidden Blocks — additional visibility choices for hidden blocks (#264).
  • Mute ISpy Sound — silences I Spy's notification sound while keeping its
    visual notification (#270).
  • Always Chuck Quizmo — removes the random appearance requirement in eligible
    locations while retaining story-progress and unanswered-question checks (#272).
    Re-enter the area after enabling it.
  • A Munchlesia animator buffer lifetime fix (#269) and an uninitialized popup-text
    offset fix (#263).
  • Upstream platform build fixes (#262) and web build/runtime/deployment fixes
    (#266). Desktop builds remain paused in the PaperReality repository.

The two newest gameplay switches are available under Enhancements → Gameplay,
default to off, and respect the existing settings lock.

Validation and remaining testing

The merged source passed a full local build and checks across 1,021 native pages
and 6,149 rows, including gameplay event hooks, settings locks, file routing,
controller capture, portraits, and resolution persistence. The release workflow
also checks the UIKit sources with the iOS SDK before building the IPA.

Device reports confirmed smoother settings scrolling, working touch controls,
and resolution of the reported sidebar seams. The automatic refresh-rate switch
between the phone and AirPlay display and broad physical-controller behavior
still need further device testing. The earlier intermittent Jr. Troopa black
screen could not be reproduced; its cause was not confirmed and this release
does not claim a specific fix for it.

The source audit is in docs/source-changes-v1.0.3.md.
The complete release comparison is v1.0.0…v1.0.3.

Thanks to the Harbour Masters PaperBoat team, libultraship contributors, the Paper
Mario decomp and DX teams, texture-pack creators, and everyone testing PaperReality.

PaperReality 1.0.0

Choose a tag to compare

@github-actions github-actions released this 13 Oct 09:50

First release of PaperReality, an iOS port of Paper Mario 64 built on HarbourMasters' PaperBoat (develop at 7f038b8). Everything is the same code as PaperBoat plus the iOS changes below; see docs/CHANGES.md for the full list.

Install: download PaperReality-v1.0.0-unsigned.ipa below, then sign and install it with AltStore, Sideloadly or your own certificate. The game itself is not included: on first launch the app asks for your own copy of the ROM (US SHA1 3837f44cda784b466c9a2d99df70d77c322b97a0).

Heads up: this is an unsigned community build. Not every feature has been tested on every device yet, so expect rough edges and please report what you find.

What's in 1.0.0

iOS app

  • Unsigned IPA built automatically by GitHub Actions. The app's bundle ID is com.damien.paperreality, so it installs separately from any earlier PaperBoat-based build and starts with a fresh data folder. Each build is stamped with its run number so builds can be told apart.
  • Custom red paper boat app icon.
  • iOS build fixes: a missing display-list terminator that crashed on the first frame, and a few type casts and texture-lookup fixes.

First launch

  • A greeting asks you to import your game with the Files picker. The app puts it in the right folder, then continues to the asset generation step.
  • The first-run boxes and the loading bar are larger on iOS so they are easy to read and tap.

Touch controls

  • Round themed joystick: a clean ring with a small translucent thumb dot in your menu theme color. It can fade out completely when not in use ("Hide Joystick When Idle").
  • Redrawn buttons: rounded L and R, a round purple Z, slightly larger C buttons, translucent color fills, and buttons that fill in when pressed.
  • Haptic feedback with a choice of strength.
  • A setting to show or hide the on-screen D-pad.
  • Touch controls hide automatically while a game controller is connected and come back when it disconnects ("Hide With Controller").

Menus

  • Swipe to scroll settings panes and dropdown lists, with flick momentum, instead of dragging the scrollbar.
  • More menu scaling options (1.5x, 1.75x, 2.1x, 2.3x) for phone screens.
  • The Select/Back button on a controller opens the menu, and controller menu navigation turns on once a controller is detected.

Mods

  • New Add Files button on the Mods page: pick .o2r files in the Files app and they are copied to the right folder, followed by a Restart Required prompt. Turn on Alternate Assets to use texture packs.

Performance

  • Smoother frame pacing through a Metal present-pacing change in the libultraship fork this build uses.

Credits

PaperReality builds on the work of the Harbour Masters PaperBoat team (Bass3l, JeodC, KiritoDv, Caladius), libultraship and its contributors (including JeodC's lus-converge branch), the Paper Mario decomp team and the Paper Mario DX team. The iOS changes were written with the help of Claude (Anthropic).