# Boot to level (`boot-to-level`, GAMEPLAY) `mods/boottolevel/BootToLevelMod` – starts the game directly in one level: no logos, no menus, no world map. Used by the level editor's Play button (details, offsets and tests: `editor-playtest.md`). | Option | Default | | |---|---|---| | `world` / `chapter` | 1 / 1 | level to load (world 9 = TestLevel, chapters 1–49) | | `slot` | 3 | save slot the game plays with (new game if empty) | | `logos` | on | skip logo movies and title screen (skipped if intro-skip already patched them) | | `quitOnEscape` | off | Escape (pause) ends the game at once through the normal exit path | | `start` | empty | "x, y, z[, yaw][ @ world/chapter]" in cells: moves the level's player start (WAD rebuild) | **Start bound to a level** (2026-11-07): a start with "@ world/chapter" (`BootToLevelMod.formatStart(world, chapter, …)`) is used only while `world`/`chapter` name that level; for any other level it is ignored with a progress note ("Player start ignored: it was set for world W chapter C") instead of failing with "no collision floor" (a play-test whose restore never ran left its start in config.json, and every later apply for another level failed). A start without "@" applies to whatever level is chosen (old configs, hand-typed values) and is still checked strictly. Tests: `BootToLevelModTest.startOfAnotherLevelIsIgnored`, `parsesStartLevel`. The editor's play-test (`PlaytestRunner.install`) should write the bound form – see the report. **Start camera along** (`StartOverride.apply`): the llama's chain moves and turns with the start when it is a levelbuild/editor start camera – one node within 2.5 cells (`PlayerStart`, levelbuild since 2026-11-07) or the older "node 8 behind + nodes on the llama" chain; original chains stay. Test: `BootToLevelModTest.singleCameraNodeMovesWithTheStart`. In game (apptest 2026-11-07, test world, `start=21, 0.1, 15, 90`, i.e. moved and turned from the plaza start 18/14.6 yaw 0): camera behind the llama, facing the stairs (`img/editor/bootstart_testworld_camera.jpg`). Patches: `jmp` at 0x549C50 (main-menu frame handler) → once: read slots (FUN_0041c0e0), load slot (FUN_0041cc70), set tribe/world/chapter/map 0x584EB4…, music shutdown, state 0x5846E4 = 3, return 1. `quitOnEscape`: `jmp` at 0x549F40 (in-game frame handler): pause bit 0x8 of 0x5FCF08 → state 0x11 (the main menu's "Beenden"), return 1. Data: one 4-byte `allocateData` flag. Registered via ServiceLoader (`META-INF/services/com.eliasmueller.llamamod.mods.Mod`). Verified on display :9: Village 2 and TestLevel 2 load within seconds of the window; Escape ends groove.exe in ~1.3 s without errors.