evansvl-SingleplayerPause icon

SingleplayerPause

Freezes gameplay ticks while preserving UI and frame updates in strict singleplayer only.

By evansvl

CHANGELOG

Changelog

0.1.10

  • Extends the held-tool sway guard through the zero-delta resume frame after closing the pause menu.
  • Prevents the first post-pause LateUpdate from poisoning a rod or weapon transform with NaN.

0.1.9

  • Prevents the native held-tool sway update from running with a zero Time.deltaTime while paused.
  • Fixes fishing rods and weapons disappearing after repeated pauses because their sway transform became NaN.

0.1.8

  • Adds bounded runtime state snapshots at pause request, during the freeze, and immediately before release.
  • Captures held/current tool identity, ownership, inventory flags, holders, renderer state, tool and sway positions, hand transition values, and fishing-line state so the remaining disappearance can be diagnosed from one run.
  • Repeats paused snapshots only when state changes, avoiding per-frame log spam.

0.1.7

  • Fixes the second native draw transition in PlayerHands, which could still be incomplete after the tool movement transition had reached 100%.
  • Uses the game's own Tool.TryActivateAnimatedHands path to keep weapon and fishing-rod renderers plus IK active during pause.
  • Removes the PlayerToolMovement.SetTool interception from 0.1.6 so native held-item reconciliation is never deferred or left out of sync.
  • Logs a single runtime recovery line when a hidden held-tool renderer is restored, making the live failure observable.

0.1.6

  • Extends the safe-boundary check from firearms to every held Tool, including fishing rods and melee tools.
  • Waits for the native tool equip/draw transition to finish before freezing scaled time.
  • Defers PlayerToolMovement.SetTool reconciliation while the freeze is owned, preventing the game from hiding the animated hands mesh and resetting draw progress to zero during pause.

0.1.5

  • Waits for the held firearm to finish an active shot, cooldown, queued shot, or reload before acquiring the freeze.
  • Removes the broad Weapon.Update interception so the game's own held-item reconciliation always keeps running.
  • Prevents repeated pauses and pauses during reload from leaving the weapon in a state where projectiles no longer deal damage.

0.1.4

  • Freezes Weapon.Update together with legacy weapon animations during an active singleplayer pause.
  • Prevents reload, cooldown, queued-shot, and visibility state from advancing against a frozen animation.
  • Handles pausing mid-reload and repeated rapid pause cycles without touching fishing-rod or chat updates.

0.1.3

  • Narrows the FishNet hook from the full frame update to simulation tick advancement only.
  • Keeps FishNet OnUpdate, OnLateUpdate, the chat, save notifications, and rod frame maintenance active in pause.
  • Still prevents OnTick, physics simulation, combat, and boss deadlines from advancing.
  • Avoids accumulating catch-up ticks while paused.

0.1.2

  • Freezes the complete FishNet offline simulation instead of compensating only the boss deadline.
  • Prevents weapons, reload state, projectiles, hits, and other tick-driven systems from advancing during pause.
  • Resumes without accumulated catch-up ticks, keeping client and server combat state synchronized.
  • Retains the strict offline host and exactly-one-client safety boundary.

0.1.1

  • Pauses the active boss departure countdown together with gameplay.
  • Compensates FishNet network ticks when the pause closes, so the boss keeps the exact remaining time.
  • Blocks only the boss departure check while the strict singleplayer pause is active.
  • Keeps all boss-timer changes disabled for Steam, multiplayer, clients, and sessions with more than one client.

0.1.0

  • Uses the short public name Singleplayer Pause.
  • Added gameplay freezing while the native pause menu is open.
  • Restricted freezing to offline host sessions with exactly one connected client.
  • Added automatic restoration when pause closes, session conditions change, the mod unloads, or the game exits.