• v0.10.2 73488c198f

    intpa released this 2026-11-02 10:07:43 -05:00 | 2 commits to main since this release

    Elite Smash detected as online

    • Elite Smash and Quickplay are online from their first stage load. The
      menu hooks Deluxe used to learn that a match was online do not fire on every
      way into Quickplay: on the console, Elite Smash ran its waiting room and
      every battle with Deluxe's connection still Offline, and only the latency
      hook a few seconds into the first battle marked it online. Each stage load
      now also reads the game's own scene words; an online mode (0x0701xxxx)
      with a waiting-room, Quickplay or Elite battle melee value makes an Offline
      connection Quickplay. Local wireless and Arena are left as they were, and an
      online mode word left over from an earlier session does not promote an
      offline stage. Event 107 a=4 records each promotion.
    • No new hook or write: the reads are 0.9.0's guarded scene-mode reads.

    Verification

    • Host gates: 321 unit and 23 integration tests (new: the console's Elite
      words and Eden's Quickplay word are online; local Smash, Training and
      local-wireless words are not), Clippy with warnings denied (host and
      Skyline), the no-default-features build and the Skyline release build. The
      build from the v0.10.2 tag has the same NRO bytes as the build tested in
      Eden.
    • Eden (2026-11-02), LAN Online Quickplay on two hosts (d01): this build
      logged 107 a=4 at the waiting room and Quickplay at the waiting room,
      battle and results stages; 0.10.1 on the other host logged Offline at the
      same stages. The desync detector on both hosts ended the match at the same
      frame with desync_seen=0.
    • Eden (2026-11-02), the card's 16 plugins (h04): boots, Training and the
      CPU Pilot page work; no Unmapped line.
    • Console: this build had not run on the console when it was released;
      the manifest records runtime_tested=false. Elite Smash itself has not run
      in Eden.

    Install

    Close Smash, then replace libssbu_online_deluxe_rewrite.nro in
    atmosphere/contents/01006A800016E000/romfs/skyline/plugins/.
    Keep only one Deluxe implementation. manifest.json records the exact
    hashes, build ID, module ID and source/native dependency provenance.

    Downloads
  • v0.10.1 03e9d42ad2

    intpa released this 2026-11-01 10:15:25 -05:00 | 7 commits to main since this release

    The label column fits long labels; L+R+X on plugin rows

    • No more clipped labels. Every vertical table widens its label column to
      its longest label, while each value keeps its room. 0.10.0 drew Window
      Options' Stages + Counterpick row as Stages + Count.
    • L+R+X on a plugin row. On the Plugins page or a plugin's own page, L+R+X
      on a value row asks the plugin for the value it already shows, once per
      press. A plugin may use that as the row's second action: ssbu-cpu-pilot
      0.2.1 steps the CPU level on its P1 row (CPU (L1) … CPU (L9)). For any
      other plugin it changes nothing. Deluxe saves nothing for it, and the plugin
      ABI is unchanged (v5), so plugins need no rebuild.

    Verification

    • Host gates: 319 unit and 23 integration tests, Clippy with warnings
      denied (host and Skyline), the no-default-features build and the Skyline
      release build. The build from the v0.10.1 tag has the same NRO bytes as
      the build tested in Eden.
    • Eden (2026-11-01): with the operator's 16-plugin card set and the card's
      settings, and ssbu-cpu-pilot 0.2.1:
      • Window Options showed Stages + Counterpick whole, values aligned.
      • In Training with the window open, each L+R+X stepped the P1 row once
        (CPU (L3) → CPU (L4) → CPU (L5)).
      • On the main menu, outside any battle, L+R+X on the row stepped it once per
        press, through this release's request alone.
    • Console: this build had not run on the console when it was released;
      the manifest records runtime_tested=false.

    Install

    Close Smash, then replace libssbu_online_deluxe_rewrite.nro in
    atmosphere/contents/01006A800016E000/romfs/skyline/plugins/.
    Keep only one Deluxe implementation. manifest.json records the exact
    hashes, build ID, module ID and source/native dependency provenance.

    Downloads
  • v0.10.0 89e9b473db

    intpa released this 2026-11-01 08:54:29 -05:00 | 9 commits to main since this release

    A Window Options row per own page

    • Each plugin page has its own row. Window Options lists one Shown/Hidden
      row per plugin page, between PluginsPage and PerfPage. A hidden page leaves
      the L+R+Down cycle; the others stay. Before, one OwnPages row showed or hid
      every plugin page at once.
    • Config: hide_plugin_pages=<id>,<id> in config.ini, written only
      when a page is hidden. The ids are the plugins' registered ids, such as
      ssbu_cpu_pilot or stages_counterpick. The older hide_pages=own_pages
      still hides every plugin page; the first per-page change turns it into one
      id per registered page.
    • The plugin ABI is unchanged (v5), so plugins need no rebuild.

    Verification

    • Host gates: 315 unit and 21 integration tests, Clippy with warnings
      denied (host and Skyline), the no-default-features build and the Skyline
      release build. The build from the v0.10.0 tag has the same NRO bytes as
      the build tested in Eden.
    • Eden (2026-11-01): with the operator's 16-plugin card set, this build
      and ssbu-cpu-pilot 0.2.0 replacing the installed versions, Window Options
      listed a row for each plugin page
      (CPU Pilot, Stages + Counterpick); showing CPU Pilot wrote
      hide_pages=plugins,performance and hide_plugin_pages=stages_counterpick.
      With a test plugin that registers two pages: each page shown and hidden on
      its own, hidden pages skipped by the cycle, Up/Down wrapping through the new
      rows, and the setting kept after a restart.
    • Console: this build had not run on the console when it was released;
      the manifest records runtime_tested=false.

    Install

    Close Smash, then replace libssbu_online_deluxe_rewrite.nro in
    atmosphere/contents/01006A800016E000/romfs/skyline/plugins/.
    Keep only one Deluxe implementation. manifest.json records the exact
    hashes, build ID, module ID and source/native dependency provenance.

    Downloads
  • v0.9.0 d6402b44f9

    v0.9.0 Stable

    intpa released this 2026-10-30 23:25:06 -04:00 | 11 commits to main since this release

    You-line player modes, lobby practice as Training, and LTO

    0.9.0 releases the work that has been on the operator's Switch as candidate
    3ea3c49 since 2026-10-28.

    • Player modes on the You line. On Settings with You selected,
      ZR+Left/Right moves a light-blue frame between Stealth, Streamer and (with
      the game-aware Horizon-OC fork) the OC clock, and L+R+X toggles the
      framed one. L+R+X acts only on the highlighted row: You, or NetProfile for
      Vanilla+. ZR+X, ZR+Y and ZR+L3 are retired after accidental in-match
      toggles. With hoc_oc=always the clock stays white with a hub.
    • Waiting-room practice counts as Training, whatever stage the lobby
      loads; before, a loaded lobby stage drew the match strip.
    • One log per stage under ultimate/ssbu_online_deluxe_rewrite/matches/.
    • Diagnostics: present-pacing outliers, reacquires and interval changes
      (codes 117–119), and the refresh-clock plugin's 120 Hz counters every 5 s
      from boot (code 120; Deluxe only reads its status file).
    • About 300 KiB less memory. The library was both a cdylib and an rlib,
      and Cargo skips LTO for that combination, so the profile's lto = "thin"
      never applied. Resident size is 1,480 → 1,172 KiB against the 3ea3c49
      build, with the same exports.

    Verification

    • Host gates: 311 unit and 21 integration tests, Clippy with warnings
      denied (host and Skyline), the no-default-features build and the Skyline
      release build.
    • Eden (2026-10-31): this NRO next to the 15 other plugins on the
      operator's card: start-up through fighter_cut_in_ready with no errors, and
      an offline 1v1 against a CPU ran to the results with its per-stage log
      written.
    • Console: candidate 3ea3c49, with the same source, has been on the
      operator's Switch since 2026-10-28. This release build has not run on the
      console yet, and the manifest records runtime_tested=false.

    Install

    Close Smash, then replace libssbu_online_deluxe_rewrite.nro in
    atmosphere/contents/01006A800016E000/romfs/skyline/plugins/.
    Keep only one Deluxe implementation. This NRO replaces the original fork,
    SsbuSync and the PIA manager. manifest.json records the exact hashes, build
    ID, module ID and source/native dependency provenance.

    Downloads
  • v0.8.1 84da224d08

    v0.8.1 Stable

    intpa released this 2026-10-27 22:42:04 -04:00 | 36 commits to main since this release

    Horizon-OC only when online

    Adds an online-only mode for the game-aware Horizon-OC fork
    (source, branch
    game-aware/2.6.0 on Horizon-OC 2.6.0-rel; no binary release of the fork yet).

    • With hoc_oc=online, toggled by ZR+L3 on the Settings page, Smash's saved
      Horizon-OC profile applies only while you are connected to another player,
      over the internet or local wireless. Play counts as connected from the first
      Pia RTT sample. The profile stops 15 s after the last player disconnects,
      unless one reconnects.

    • A small clock after the You-row privacy icons shows the state:

      • green while the profile is applied;
      • grey while it is held back;
      • yellow when there is no Pia signal or the fork stopped answering.

      The Performance Clock row repeats the state. No row was added.

    • Deluxe sends no clock value and never reads or writes Horizon-OC's
      config.ini. With stock Horizon-OC, or none, nothing changes and ZR+L3 does
      nothing.

    • On a console, the client borrows Smash's own sm: session, because a game
      may hold only one.

    • The same online signal lets Auto drop an earlier match's latency mark at a
      new match stage once the session has ended.

    • Events 114 and 115 log the handshake and the gate. The DISABLE_HOC boot
      flag leaves the client off.

    Verification

    • Host gates: 294 tests, strict Clippy, the no-default-features build and
      the Skyline release build.

    • Eden integration: with the test-only tools/hoc-standin in place of
      Horizon-OC.

    • Console: the operator tested candidate 788537d and confirmed:

      • the grey clock;
      • ZR+L3 on and off;
      • green during a live online match;
      • grey again after the match.

      Its event log agrees: the handshake, both toggles, and the profile applied
      through the match (1780–1789 MHz measured).

    • Not yet tested on a console: that candidate released the profile 90 s
      after the last sample. The 15 s release in 0.8.1 is host-tested only.
      This exact build was installed on the operator's Switch but has not run
      yet, and the manifest records runtime_tested=false.

    Install

    Close Smash, then replace libssbu_online_deluxe_rewrite.nro in
    atmosphere/contents/01006A800016E000/romfs/skyline/plugins/.
    Keep only one Deluxe implementation. This NRO replaces the original fork,
    SsbuSync and the PIA manager. manifest.json records the exact hashes, build
    ID, module ID and source/native dependency provenance. The online-only mode
    also needs the game-aware hoc-clk fork, built from its source.

    Downloads
  • v0.8.0 d92bc3d12e

    v0.8.0 Stable

    intpa released this 2026-10-25 17:25:37 -04:00 | 57 commits to main since this release

    Current-match Auto frame count

    Fixes the stale Auto (Nf) display that could carry the preceding match's
    count through the next match. The display now samples the buffer byte used by
    the network update, with a fresh observation generation for each match.

    • New matches start with plain Auto until their own valid sample arrives;
      observations can update during play.
    • Results and rematch character select retain the final count. Offline,
      Training and connection-mode changes clear it.
    • Choosing a manual buffer invalidates the automatic observation. Switching
      back to Auto stays plain until a fresh match rather than showing the manually
      overwritten byte as an automatic choice.
    • The new read-only 13.0.5 hook has an exact instruction signature, retains no
      game-memory pointer, and records changed observations with diagnostic 113.
      Manual buffer application remains at the existing hook.

    Also includes the already-merged revision-5 passive plugin status cells and
    passive-row navigation from 0d28adc. SDK/table versions are unchanged; the
    SDK continues sending revision 4 descriptors.

    Verification

    Host regression coverage includes consecutive 4f→3f matches, in-match updates,
    unknown startup, stale callbacks at lifecycle boundaries, result retention,
    manual-to-Auto suppression and 0–25 bounds. Release gates include host tests,
    strict host and Skyline Clippy, the no-default-features build and Skyline release
    build. The sampling field and exact hook bytes were checked against the
    preserved Smash 13.0.5 executable.

    Live-console timing has not yet been validated for this fix. The package
    manifest records runtime_tested=false; earlier release/device reports do not
    establish 0.8.0 runtime acceptance. Passive status-cell runtime validation also
    remains pending. See docs/NEXT_SESSION.md for the consecutive-match check.

    Install

    Close Smash, then replace libssbu_online_deluxe_rewrite.nro in
    atmosphere/contents/01006A800016E000/romfs/skyline/plugins/.
    Keep only one Deluxe implementation; this NRO replaces the original fork,
    SsbuSync and the PIA manager. manifest.json records the exact hashes, build ID,
    module ID and source/native dependency provenance. No device deployment was
    performed as part of this release.

    Downloads
  • v0.7.0 9a7f81ce19

    v0.7.0 Stable

    intpa released this 2026-10-24 20:40:10 -04:00 | 63 commits to main since this release

    0.7.0 — compact Player Info and LLUltra resolution shortcut

    AI-assisted, human-directed and reviewed.

    • Compact Settings: Stealth/Streamer eye and TV icons on the You row.
      Select You, hold ZR, then tap X/Y to toggle them.
    • One console LLUltra stop: LLUltra (576p), LLUltra+ (720p), LLUltra++
      (1080p). With manual console LLUltra selected, L+R+X cycles the saved
      resolution in place. Elsewhere it toggles Vanilla+.
    • Existing INI settings and SDK/ABI 5.0.0 remain compatible. This release
      accepts plugin descriptor revisions 2–4; post-tag revision 5 is not included.

    Tested in Eden and on an Erista Switch without issues observed (operator report).
    Works with Switch firmware 23.0.1,
    Atmosphère 1.12.1
    and Skyline beta 2eb226f
    (latest checked 2026-10-25). The operator also confirms dispatcher backoff's
    benefit on Switch; numeric Eden measurements remain labelled by platform.

    Verification and artifact

    246 unit tests plus the SDK integration test, warning-free host/Skyline Clippy,
    no-default-features build, formatting and Skyline release build passed when
    this package was produced. The exact release binary was captured in Eden on
    2026-10-24. The earlier 2f5a… candidate's console LLUltra chord was confirmed;
    all 69 non-version archived inputs match. The latest general Switch report
    does not specify an artifact hash. Validation
    keeps those records separate.

    • Source/tag: v0.7.0, 9a7f81ce19374b1f783d35845c02b3fe3a5745ab.
    • Build: 0.7.0-9a7f81ce1937-1792670948.
    • NRO: 1,441,792 bytes; SHA-256
      2ff456161c52522c6881956d0ad3a5a037a1a3fc74c8757a1e3a7afe49012cae.
    • The original manifest is unchanged; its runtime_tested=false reflects the
      packaging checkpoint, before the later Eden capture.

    Assets: the single Deluxe NRO and its manifest. Install the NRO at
    sd:/atmosphere/contents/01006A800016E000/romfs/skyline/plugins/.

    Downloads
  • v0.6.2 302c09574b

    v0.6.2 Stable

    intpa released this 2026-10-19 08:56:17 -04:00 | 65 commits to main since this release

    0.6.2 — Auto shows the frame count the game chose

    With NetLatency on Auto, the buffer label now reads Auto (4f): the frame count the game itself
    picked for the current online session. Before the first online match of a session it reads plain
    Auto; a manual buffer still reads its number.

    • Source: the online-latency hook (event code 9) already reads the game's buffer byte before
      applying our selection. While the selection is Auto that byte is what the game chose; it is
      recorded only then (a manual selection overwrites the byte) and kept until the connection returns
      to Offline, so it stays readable on the results screen and the rematch character select.
    • Shown on the window's You line, the NetLatency row, the in-match strip's Net: field and the
      native character-select / arena You: line (You: Auto:Van | Auto (4f)). The native You line's
      latency field grew from 4 to 10 characters so Auto (25f) fits. The local-wireless lobby digit
      pane keeps plain Auto.
    • Unchanged: manual buffers, the peer exchange (the Opp line still shows the opponent's announced
      Auto), INI keys, event codes (code 9: a = the game's byte, b = applied), chords, plugin API (v4;
      FX Control 0.2.1 remains compatible).

    Operator's console reports the same day: the 0.6.0 layout "seems to work great. menu is much
    cleaner", the 0.6.1 title "shows Window Options now, works fine".

    Verification: 240 + 1 host tests, clippy -D warnings, no-default-features build, Skyline build
    (0.6.2-302c09574b3e-1792414221, NRO SHA-256
    59dab7a8cd60d8d770d7a7c4f30bb668b174854d666e72086ed06e5c238768c4, 1,441,792 B). Console: installed
    on the card 2026-10-19 13:01Z and booted the same day; the operator played online on Auto and
    reports "tested it, Auto (Nf) shows up fine online".

    Assets: libssbu_online_deluxe_rewrite.nro and its manifest.json (SHA-256 in the manifest), plus
    two SD-layout bundles that extract to the SD root:

    • ssbu-online-deluxe-0.6.2-302c095-bundle.zip — Deluxe 0.6.2 and FX Control 0.2.1
      (c33997fc…) in the Skyline plugin folder, a README and a manifest listing every member's SHA-256.
    • ssbu-online-deluxe-0.6.2-302c095-bundle-hoc.zip — the same plus Horizon OC 2.6.0-rel for
      Atmosphère 1.12.1 (hoc.kip, exosphere.bin, the hoc-clk sysmodule, overlay and config templates,
      taken unmodified from the upstream release dist.zip, GPL-2.0) and a
      bootloader/hekate_ipl.ini.horizon-oc.txt snippet with the two lines hekate needs. Deluxe itself
      does no overclocking; its Performance view records the measured clock so OC runs are visible.

    Install path for the bare NRO: sd:/atmosphere/contents/01006A800016E000/romfs/skyline/plugins/.

    Downloads
  • v0.6.1 9d0cec2bcb

    v0.6.1 Stable

    intpa released this 2026-10-19 08:27:20 -04:00 | 66 commits to main since this release

    0.6.1 — Window Options

    The last page of the L+R+Down cycle, added in 0.6.0 for the window's own toggles (PluginsPage,
    OwnPages, PerfPage, PerfView, Hints), was titled just Window. After the operator's console boot of
    0.6.0 on 2026-10-19 ("seems to work great. menu is much cleaner ... other than that things are
    working") the one change asked for was a real name: the page is now titled Window Options.

    Nothing else changed: same rows, same cycle (Settings → (Plugins) → (own pages) → Performance →
    Window Options → hidden), same INI keys, same chords and event codes as 0.6.0. Plugin API unchanged
    (v4); FX Control 0.2.1 remains compatible.

    Verification: 239 + 1 host tests, clippy -D warnings, no-default-features build, Skyline build
    (0.6.1-9d0cec2bcb34-1792412803, NRO SHA-256
    ef46f443e24a7d35d561599b4839c483b7fdff1c655e30f726be4ceb1a5d6051, 1,441,792 B). The 0.6.0 layout itself was
    checked on the console by the operator on 2026-10-19; this title is the only difference.

    Assets: libssbu_online_deluxe_rewrite.nro and its manifest.json (SHA-256 in the manifest).
    Install path: sd:/atmosphere/contents/01006A800016E000/romfs/skyline/plugins/.

    Downloads
  • v0.6.0 fac09de0eb

    v0.6.0 Stable

    intpa released this 2026-10-18 21:39:52 -04:00 | 67 commits to main since this release

    0.6.0 — Main page redesign

    The Player Info window's first page carried 14 settings rows in three columns, the 11-row
    Performance block and the frame-time plot. 0.6.0 keeps the match-time settings there and moves
    everything else off it.

    Settings page (two columns, no opponent column):

    • You summary line: Vanilla+ | Auto | Wi-Fi (profile, buffer, interface).
    • Opp summary line while the peer shows: Mario | LessLag | 3 | 23ms | Ethernet (name, announced
      profile and buffer, ping, interface; unannounced facts are left out), painted in the ping's
      stability colour. With ZR held, Left/Right cycles the station (the old Peer row).
    • Rows: NetLatency, NetProfile (engine status folded in: LessLag | Swap), Stealth, Streamer,
      UltraRes (console). Name, Interface, Status and Ping are no longer rows.
    • One-line footer in the frame-time colour: 60.0 fps | 16.67 ms | 1080p | DRS on. The full
      Performance block and the plot live on the Performance page (and Debug).
    • Dim hint line: ZR+Left/Right edits L+R+Down next page L+R+X Vanilla+ L+R+ZR+Y Streamer.
    • While ZR is held the selected value reads < value >, so the hold rule shows itself.

    Window page (new, last in the L+R+Down cycle, always present): PluginsPage, OwnPages,
    PerfPage, PerfView, Hints. The cycle is now Settings → (Plugins) → (own pages) → Performance →
    Window → hidden; hide_pages=plugins,performance gives Settings → FX Control → Window → hidden.

    In-match strip: line 1 is Net, Profile, Stealth, Stream, UltraRes (the page fields
    moved to the Window page's strip); line 2 is >Opp:<name> | <profile> | <buffer> | <ping> | <if>
    and the timing line.

    INI: one new key, hints=true|false (default true; older files keep the hint line). Nothing
    else changed: chords, event codes, the peer exchange, the native CSS/arena banner, the Performance
    and Debug pages and plugin pages are as in 0.5.7.

    Verification: 239 + 1 host tests, clippy -D warnings, no-default-features build, Skyline build
    (0.6.0-a0dc5d6897aa-1792370244, NRO SHA-256
    4741645e62ea414ce916e1b9151af3198be52a201387c98c0c2659aff3e80293, 1,441,792 B). Not yet
    booted on the console; owed: the new layout in menus, CSS, Training and a match, the Window page in
    the cycle, the < value > marker, the Opp line's colour with a live opponent, the strip in a match.

    Assets: libssbu_online_deluxe_rewrite.nro and its manifest.json (SHA-256 in the manifest).
    Install path: sd:/atmosphere/contents/01006A800016E000/romfs/skyline/plugins/. Plugin API
    unchanged (v4); FX Control 0.2.1 remains compatible.

    Downloads