Files

3.0 KiB
Raw Permalink Blame History

TestLevel (world 9)

The game has a hidden ninth world, TestLevel, with 49 chapter slots – but the retail CD ships no data for it. It is the natural home for custom levels: originals stay untouched, and the world map can reach it once a save game unlocks it. Every LlamaMod level mod, the Test World and the Alligator Arena are installed as wads/T1L9M0nn.wad with a loading picture T19n.COR.

Code: save/TestLevelChapters.java, lab notes: notes/testlevel-chapters.md.

Use chapters 1 and 32–49

The game keeps per-chapter coin counters and flag bytes in arrays that only have rows for worlds 0–8 (index world · 6 + chapter). For world 9, chapters 2–31 land on other game variables:

Chapter What its coin counter / flag byte overwrites
1 nothing (free)
5–8 the last played tribe/world/chapter/map
6–9 (flags) the language index
9 the furthest progress – the world map breaks
10–31 options, HUD state and tables used by the original levels
32–49 tables of tribes 2 and 3, which the game never uses – free

So custom levels use chapter 1 or 32–49. The editor only offers these, new projects take the first free chapter from 32, and old projects on other chapters are moved automatically.

LlamaMod additionally relocates both arrays to a 128-entry buffer in unused space of groove.exe (base exe patch, revision 2), so even picking an empty chapter on the world map is harmless with LlamaMod's executable. Mods still keep to 1 and 32–49 so they also work with an unpatched exe. Save games are unaffected: a save after finishing a normal or TestLevel chapter is byte-identical with and without the relocation, and only the 54 entries of worlds 0–8 are saved.

Making world 9 reachable

  • Empty chapters must exist. Finishing chapter n unlocks chapter n + 1, and the world map crashes ("Couldnt load wad") when a selectable chapter has no file. LlamaMod links every missing T1L9M002…049.wad to an installed world-9 WAD and T192…T1949.COR to T191.COR.
  • Never exit to (7, 7, 7). "World finished" in world 9 unlocks a world 10 that has no name; the game crashes after saving. Exits in TestLevel point to (1, 9, chapter).
  • Get there: set a save game's map cursor to world 9 (llamamod --unlock <slot> 9 <chapter> --cursor, the launcher's Save games tab), or use the Boot to level mod / the editor's play-test, which start the game directly in the level.

Tally totals

The tally screen after the exit shows "coins collected x / total". Total is not counted by the game – it is the LNFO chunk (u32 coins, u32 secrets). A new level built on the village would show the village's 55. LlamaMod recounts it for new levels (Coin = 1, Coin5 = 5, Secret objects; the arena adds its dynamic coins).

Cosmetic leftovers: the world map shows no background for world 9 and a garbage coin target, and the loading screen says "TestLevel Kapitel n".