Skip to content

v0.5.0 — The Cursor Update

Choose a tag to compare

@EarthboundPromoter EarthboundPromoter released this 07 Jul 18:36
· 38 commits to main since this release

Returning players: TRANSITION.md walks these changes in
learning order, quick start first.

Added

  • Shift + Tab reverse target cycling while targeting, walking, or looking —
    the game's Tab cycle stepped backward, same voice and "N of M" counter. A fresh
    press starts from the far end of the list, so in walk mode it jumps straight to
    the rifts. Requested by Neurrone.

  • Setup step required: Steam silently reserves Shift + Tab for its in-game
    overlay and the game never receives the chord — even though the overlay never
    visibly opens in Rift Wizard 3. Disable the overlay for this game (Rift Wizard 3
    Properties, General tab, uncheck "Enable the Steam Overlay while in-game") or
    reverse cycling cannot work. Every other Shift chord is unaffected. Steps in
    the README.

  • New setting speak_pickup_effects (default true): set false to trim Ruby Heart
    and Memory Orb cursor reads to name-only. Walk-on shrines always speak their
    effect.

  • Two-arrow diagonal chording. Press two orthogonal arrows as one gesture —
    Up+Right is northeast — for a single diagonal step; add Shift for the 4-tile
    diagonal. No modifier, both hands or one, and it follows your movement
    rebinds. A lone press still steps normally (it waits one imperceptible frame
    for a partner). Held arrows keep the game's native auto-walk untouched.

  • Ctrl + direction: the axis jump. Skim the cursor along a line until what
    you'd hear changes — across open floor to the next unit, item, wall, or
    cloud, in one keypress. Speaks the landing tile, then the distance
    ("6 east"; "Edge" when the map ends the run). Either Ctrl, and it composes
    with everything: Ctrl+arrow straight, Ctrl+pair diagonal, Ctrl+numpad free.
    By default the jump stops at every unit; the new jump_coalesce_units
    setting (default off) strides same-name clusters instead. Cursor modes only
    — your wizard never jumps.

  • Pins: the mark grows into a pin list on K. Alt+K pins or unpins the
    last spoken target — or, with nothing spoken, bookmarks the tile you're on
    or looking at (the deploy cursor works too, and the pin carries into the
    level). K cycles your pins in category blocks — enemies, allies, landmarks,
    bookmarks — nearest first within each block, with a count header on a fresh
    cycle; Shift+K reverses and Ctrl+K jumps block to block. Alt+K on a
    just-cycled pin unpins it. Pins live per level, follow their unit, and
    announce deaths and collected landmarks. The newest or last-cycled pin is
    the focused pin: it carries the per-turn guidance line ("North to Wolf,
    12 HP."), and Shift+P re-announces its full path. New setting
    pin_speak_all (default off) speaks every pin's update line each turn.

  • Scans route the cursor. In Look mode, deploy, and pure-teleport
    targeting (Blink and kin — Translocation spells with no area to aim), every
    scan and pin-cycle press also parks the cursor on the result it just spoke:
    the scan line is the announcement, T and D answer for that tile
    immediately, and Enter acts on it — the missing mouse-flick. A cycle keeps
    measuring from where it started, so repeated presses walk outward instead
    of chasing the cursor. While aiming any other spell the cursor is your
    tuned aim and scans leave it alone.

  • J: jump to the last spoken result. From normal play, J opens Look mode
    right on the last thing a scan or pin cycle spoke; while aiming, J moves
    the aim there deliberately (any spell). If it died or was collected since
    it spoke, J says "gone" and stays put — it never asserts stale truth.
    Shift+J bounces back to where the cursor was before the jump. J and Y had
    been freed by the scan-key move; J is now the bridge.

  • Overlay latches: Alt+L and Alt+T. The game's hold-to-see overlays,
    pinned: latch line of sight or threat and it stays active — the overlay
    keeps drawing (like holding the key), and every cursor step gains a short
    tag: "in sight" / "out of sight", "threatened" / "clear". Latched from
    normal play, line of sight follows you as you move; latched from Look,
    aiming, or deploy, it watches from that tile — a deploy latch carries
    into the level with you. Examine an enemy first and Alt+T latches just
    that enemy's reach ("Latched: Night Hag's threat"). One latch at a time,
    same chord releases, F reports what's latched, and holding the real key
    still works and takes over while held. New setting latch_visual_overlay
    (default on) controls the drawn half; the spoken tags work either way.

Changed

  • The global threat query now answers "Threatened" or "Safe" — nothing
    more.
    The old readout listed every threatening enemy with counts and
    directions, but the game itself shows threat as an anonymous red zone and
    gates who threatens behind examining each enemy one at a time. The old
    report assembled a tactical summary no sighted player ever got in one
    glance — you were overserved — and computing it was the freeze players
    felt pressing T on crowded levels. The new answer reads the game's own
    threat zone (built once per turn, shared with the held-T overlay), so it's
    instant after the first press of a turn. Who-threatens is unchanged where
    it always lived: examine an enemy and press T ("Threatens you" / "Can't
    hit you") — with scans now parking the cursor, that loop is three
    keypresses. The old readout survives verbatim under a new setting,
    threat_enumeration_legacy (default off), as a time capsule: it will be
    removed in a future release, so if you rely on it, say so.
  • The "From destination" scan qualifier now follows the routing rule
    spoken only for teleports whose target is truly a destination. It used to
    key on the bare Translocation tag, which mislabeled Disperse's area aim as
    a destination.
  • Alt+scan marking is now the pin toggle. The one-mark-at-a-time limit is
    gone; Alt + I / N / O / U pin without replacing what you marked before, and
    scan lines say "pinned" where they said "marked". If you relied on marking
    to auto-replace, unpin with a second Alt+K on the old target.
  • Right Ctrl no longer means diagonal — Ctrl now means one thing, either
    side.
    The RCtrl+arrow diagonal and its AltGr synonym are retired, replaced
    by two-arrow chording; the mod never distinguishes left from right Ctrl
    again. Bare Ctrl (either one) cancels speech; Ctrl chords are the axis jump
    (see Added). Hard switch, no legacy setting.
  • Shift + arrow now speaks the landing tile plus a short "Crossed:" summary
    of everything the cursor skimmed past — units, props, clouds, walls, chasms,
    and floor, grouped with counts ("Crossed: 2 floors, web") — instead of
    reading all four tiles in sequence. Floor counts so the distance never needs
    arithmetic. A move stopped short by the map edge appends "Edge"; a move
    pinned at the edge says "Edge" instead of nothing. Applies in Look,
    targeting, walking, and deploy, straight or diagonal, arrows or numpad.
  • The scan keys moved onto the game's own highlight keys — the key that
    lights a category on screen is now the key that speaks it. Enemy scan: J is
    now I (Highlight Enemies). Ally scan: Y is now U (Highlight Allies).
    Landmark scan: Q is now O (Highlight Objects). Tap to scan, hold to show
    the tiles; the pairing follows your rebinds — rebind Highlight Enemies and
    the enemy scan moves with it. N (spawners) and X (hazards) are unchanged;
    they have no game highlight. The Alt+key toggle moved with the scans
    (Alt + I / N / O / U). Q and Y are now unbound, reserved for upcoming
    features; J was given its new job as the cursor jump (see Added). This is
    a hard switch with no legacy-keys setting — the old letters simply stop
    answering.

Fixed

  • Shift + numpad now actually moves 4 tiles — when NVDA isn't running. A
    Windows keyboard legacy ("fake shift") strips Shift from NumLock-on numpad
    presses at the driver level, below every application — so the game's own
    Shift+numpad move silently stepped one tile, for every player, screen
    reader or none. The mod now recognizes the stripped chord's signature and
    performs the 4-tile move itself, with the same landing-plus-crossed voice.
    KNOWN LIMIT, verified by event capture: with NVDA running, NVDA's keyboard
    hook consumes the numpad keypress outright and nothing reaches the game to
    repair — use the arrow gestures (Shift+arrow, Shift+pair), which are
    immune. NumLock stays on either way; NVDA's NumLock-off review keys are
    untouched.
  • Ctrl speech cancel actually works now — and either Ctrl does it. A
    modifier guard swallowed the press before the cancel branch could ever run —
    dead code since it shipped, masked by NVDA's own control-interrupt: the
    synth went quiet, but the mod's queued lines kept arriving afterward. Cancel
    now also clears the mod's speech queue and pending HP announcements, and
    scan cycling survives a mid-cycle cancel.
  • Walk-on props (Ruby Heart, Memory Orb, and the three walk-on shrines) now read
    their description in Look mode and the targeting brief, matching the game's
    examine panel, which shows it on mere cursor-over. Reported by Neurrone.
  • Units no longer hide the prop or cloud beneath them: the targeting brief, the
    Tab-cycle read, and Look mode's portal branch all spoke the unit and dropped
    what it stood on. All three now speak what's beneath, threat-first. Reported
    by Neurrone.