Files
llamamod/docs/manual/16-original-levels.md
T

107 lines
5.5 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Editing original levels
Besides building new levels you can change the game's own 31 levels: add coins and checkpoints,
move platforms, change the fog and music, open up new paths. Your project stores only the
changes; the original files on the CD and in LlamaMod's game copy are never modified.
## Opening an original level
**File → Open original level…** (**Ctrl+Shift+O**, or **Open original level** on the start page)
shows every level of the CD by name, with its loading picture as a preview:
* *Village – Chapter 1* … *Lab – Chapter 5*, sorted by world and chapter. The worlds are Village,
Jungle at Night, River, Jungle by Day, Mountain, City, Catacombs and Lab.
* Chapters marked *(unused)* exist on the CD but are not reachable from the world map.
* *Other – …* entries are the front-end and demo files (menus, attract demo); they are listed for
completeness.
Pick a level and click **Open**. Loading takes a moment; the level appears exactly as on the CD.
![The Open original level dialog with the loading picture of Village chapter 1](img/ui_dialog_open.jpg)
> **Tip:** you can also start the editor straight into a level from the command line:
> `LlamaMod --editor t1l1m001` (the file name of the level: t1 l*world* m*chapter*).
## What you can change
Everything the editor shows can be edited in an original level, with the same tools as in a new
level:
* **objects** – move, turn, delete, add any type of this level, change parameters
([Objects](09-objects.md));
* **waypoint chains** of enemies, cameras and respawn points ([Waypoints and paths](10-waypoints.md));
* **tiles** – move, turn, paint with other tile models, repaint textures, paint collision
([Building geometry](06-geometry.md));
* new **brushes** and imported **meshes** on top of the original geometry;
* **zones**, fog, music, **lights**, vertex colours and **visibility regions**
([Environment](12-environment.md), [Visibility regions](13-visibility.md));
* **textures** – import new ones or replace pixels ([Textures](08-textures.md)).
The base level of an edited original is the level itself, so all object types of that level are
available.
## The project stores only differences
When you save, the `.llamalevel` file contains only what you changed compared to the original
level, plus imported meshes and textures and a thumbnail. Projects are usually a few kilobytes
and contain no game data, so you may share them freely.
Building is reproducible: the same project and the same CD always give the same level file, and
an unchanged project builds a file that is byte-for-byte identical to the original.
## Keep tile numbers stable
Some object scripts address tiles **by their number** in the level, for example doors or
bridges that swap their model. Deleting an original tile shifts the numbers of all tiles after
it, and such a script may then move the wrong tile.
* Prefer **moving** an unwanted tile out of the way (for example below the ground) or
**painting another model** onto it with the Tiles tool – painting onto a tile at the same
height replaces its model instead of adding a tile, so the numbering stays.
* New tiles are added at the end and never shift existing numbers.
> **Note:** **Edit → Hide selection** (**H**) only hides things in the editor's viewport. Hidden
> tiles and objects are still built into the level and appear in the game.
## Playing your changes
**Play** (**F5**) builds the level, installs it as a LlamaMod mod and starts the game directly in
the changed chapter. **Play from camera position** (**Shift+F5**) puts the llama on the ground in
the middle of your view. See [Building and play-testing](15-build-play.md).
While the level mod is enabled in LlamaMod, your version **replaces that chapter** of the game:
you reach it on the world map as usual, and it uses your save game's progress.
> **Note:** with **Play from camera position** the level's intro fly-by is skipped – the original
> cut-scene camera is tied to the original start position.
## Conflicts with other mods
Only one mod can provide a level file. If two enabled mods change the same original level – for
example two edited versions of Village chapter 1 – LlamaMod stops applying with a message that
names the file. Switch one of them off.
Mods that work on *all* levels are applied after level projects and include your changes:
**Mirror mode**, the **Randomizer**, **Draw distance** and the **Debug wireframe** (see
[LlamaMod mods](18-mods.md)).
## Known oddities
* **Exit floor check:** in 8 original levels **Level → Check for problems** reports that the
LevelDoor has no exit floor (material 16) in its cell. The original exit floors decode one cell
off the door (for example, door cell 42,49 and floor at 43,48 in the Village). The exits work
in the game – ignore this message for original doors. Exits you build yourself are checked
correctly.
* **Snap to floor** on original levels uses the same collision data, so objects may occasionally
land a little off near those exit floors.
* **Environment zones** of original levels are mostly house doors: their trigger cells hold exit
floors. Moving a door without moving its zone breaks the teleport (see
[How the game uses zones](12-environment.md#how-the-game-uses-zones)).
* **Coins near the start** of Village chapter 1 are not drawn at the very beginning, also in the
unmodified game, so changes there are hard to see right after loading.
## Tutorial
[Tutorial: Edit an original level](tutorial-original-level.md) walks through a complete example:
moving coins, adding a checkpoint and changing the music of Village chapter 1.