Skip intro videos option #1

Closed
opened 2026-10-17 02:09:11 +00:00 by mintopia · 2 comments
Owner

What to build

A player can turn on an option that skips the startup logo videos and pre-level videos, so the game goes straight to the menu or into the level. It's exposed as a row in the game's Options menu (via the Lua patch layer, ADR 0008) and as an env var BLUR_SKIP_INTRO=1 that overrides it. The setting persists.

Acceptance criteria

  • Option on: startup goes straight to the main menu with no intro videos
  • Option on: starting an event skips any pre-level video and the level loads normally
  • Option off: videos play as before
  • BLUR_SKIP_INTRO overrides the menu setting; documented in the README env var table
  • Setting persists across launches
  • Verified on BLUR_ENGINE=recomp

Blocked by

None (can start immediately)

## What to build A player can turn on an option that skips the startup logo videos and pre-level videos, so the game goes straight to the menu or into the level. It's exposed as a row in the game's Options menu (via the Lua patch layer, ADR 0008) and as an env var `BLUR_SKIP_INTRO=1` that overrides it. The setting persists. ## Acceptance criteria - [ ] Option on: startup goes straight to the main menu with no intro videos - [ ] Option on: starting an event skips any pre-level video and the level loads normally - [ ] Option off: videos play as before - [ ] `BLUR_SKIP_INTRO` overrides the menu setting; documented in the README env var table - [ ] Setting persists across launches - [ ] Verified on `BLUR_ENGINE=recomp` ## Blocked by None (can start immediately)
Author
Owner

Implemented (610eb0f).

  • Option: Options > Graphics > Skip Intro Videos (persists in NSUserDefaults SkipIntro); BLUR_SKIP_INTRO=1/0 overrides; README env table updated.
  • Boot logos: recomp hook on 0xbc3210 (src/host/skip_intro.cpp, added to emit.py HOOKS; needs gen.sh).
  • Pre-level videos: patches/Screens/GUIBank.post.lua wraps Amax.CanPlayGameModeVideo; forced replays/credits unaffected.
  • Verified on recomp: on -> no logos, no career/pre-level videos, reaches race; off -> logos and videos play as before; row renders on Graphics page. Persistence uses same NSUserDefaults path as ShowFPS (not separately relaunch-tested). Full ctest not run (tests need unbuilt targets).
Implemented (610eb0f). - Option: Options > Graphics > Skip Intro Videos (persists in NSUserDefaults `SkipIntro`); `BLUR_SKIP_INTRO=1/0` overrides; README env table updated. - Boot logos: recomp hook on 0xbc3210 (`src/host/skip_intro.cpp`, added to emit.py HOOKS; needs `gen.sh`). - Pre-level videos: `patches/Screens/GUIBank.post.lua` wraps `Amax.CanPlayGameModeVideo`; forced replays/credits unaffected. - Verified on recomp: on -> no logos, no career/pre-level videos, reaches race; off -> logos and videos play as before; row renders on Graphics page. Persistence uses same NSUserDefaults path as ShowFPS (not separately relaunch-tested). Full ctest not run (tests need unbuilt targets).
Author
Owner

Completed and merged by Harmonic (task 10).

Completed and merged by Harmonic (task 10).
Sign in to join this conversation.
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
mintopia/blur#1
No description provided.