# Introduction and concepts The **LlamaMod level editor** is a 3D editor for the levels of *The Emperor's New Groove* (PC, 2000, Argonaut's Croc 2 engine; German: *Ein Königreich für ein Lama*). It belongs to **LlamaMod**, a mod manager for the same game: every level you make is installed and played as a LlamaMod mod, and LlamaMod also brings ready-made mods such as a free camera, a randomizer or a mirror mode (see [LlamaMod mods](18-mods.md)). With the editor you can * build **new levels** from blocks, ramps, stairs, water, imported 3D models and the game's own tile models, place coins, enemies, checkpoints and the exit, and play them in the game; * **change the original levels** – move, add or remove anything, repaint textures, change fog, music and light; * **share** your work as a small `.llamalevel` file that contains no game data, so anyone with the game can play it. > **Note:** The editor never changes your installed game or your CD. LlamaMod works on a private > copy of the game data and builds every level from *your own copy* of the game. ## What a level is made of The game stores each level in one `.wad` file. The editor shows its parts as a tree in the **Outliner** and as properties in the **Inspector**: | Part | What it is | |---|---| | **Grid and cells** | A level is a rectangular grid of square **cells**. One cell is one grid square in the viewport (4096 game units); the llama is about 0.6 cells tall. Collision is looked up per cell. | | **Tiles** | The building blocks of the original levels: a *tile model* placed in one cell, turned in steps about the vertical axis. A model can be used by many tiles. | | **Tile models** | The 3D models of the level's tile set with their faces, textures and collision polygons. | | **Brushes** | Editor shapes – floors, blocks, platforms, ramps, stairs, walls, round platforms, fences, trees, water, death planes and imported meshes. They have any size and rotation; when the level is built they are cut into 1×1-cell tiles automatically. See [Building geometry](06-geometry.md). | | **Objects** | Everything with behaviour: the llama (player start), coins, food, checkpoints, the exit door, enemies, villagers, moving platforms, cameras and triggers. The game calls them *strats* (small scripts). See [Objects](09-objects.md). | | **Waypoints** | Chains of points that belong to objects: patrol paths of enemies, camera paths, respawn points, the two corners of trigger boxes. See [Waypoints and paths](10-waypoints.md). | | **Zones** | Environment and teleport entries: fog, sky colour, ambient light and music of an area, and the doors that move the player to another place. See [Environment](12-environment.md). | | **Lights** | Directional and point lights that light the object models. Tiles get their light from baked vertex colours. | | **Visibility regions** | Which parts of the level are drawn from where – the engine's way to stay fast. See [Visibility regions](13-visibility.md). | | **Textures** | 256×256 texture pages and the texture rectangles on them, with optional animations. See [Textures](08-textures.md). | | **Level settings** | Name, author, grid size, death plane height, feature flags and the TestLevel chapter. See [Level settings](14-level-settings.md). | ## Collision materials Every collision polygon has a **material** number that tells the game what happens when the llama touches it. The important ones: | Material | Meaning | |---|---| | **0** | normal ground and walls | | **16** | **exit floor** – the level door (LevelDoor object) ends the level when the llama stands on it in the door's cell | | **30** | **no floor / death** – the llama falls, loses a life and respawns at the last checkpoint | | 17, 18 | selective collision (used by a level feature flag) | | others | special surfaces whose meaning is not known yet | Press **C** in the editor to see collision coloured by material. The **Collision** tool paints materials (see [Building geometry](06-geometry.md)). ## Coordinates Positions are given in **cells**: **x** grows to the east, **y** is the height, **z** is the grid row (it grows to the south). The status bar shows the position under the mouse pointer and the grid cell. Angles are in degrees; an object with yaw 0° faces +z. > **Engine limit:** Tiles and objects can only turn about the vertical axis. Brushes can turn > freely – the build converts them into tiles. ## Base levels Object types, their models and scripts, sounds, the sky and the default textures are not something the editor can create from nothing. Every project therefore has a **base level**: one of the original levels that provides these things. A new level built on *Village chapter 1* can use every object that exists in that chapter – coins, checkpoints, villagers, the exit door and so on. Choose a base whose objects and look you want. The base level is fixed when the project is created. Object types of other levels can be added later with **Assets → All worlds** ([Importing objects from other worlds](09-objects.md#importing-objects-from-other-worlds)). ## Worlds, chapters and the TestLevel The game has eight worlds – **Village, Jungle at Night, River, Jungle by Day, Mountain, City, Catacombs, Lab** – each with several chapters. A ninth, hidden world called **TestLevel** has 49 empty chapter slots; 19 of them (1 and 32–49) are safe to use. New levels go into one of these TestLevel chapters, so they never replace an original level: each project gets its own chapter (shown in the New level dialog and in [Level settings](14-level-settings.md)). In the game they appear on the world-9 map as "TestLevel – chapter *n*". Edited original levels are different: they replace that original chapter while their mod is switched on in LlamaMod. ## Projects The editor saves **projects** as `.llamalevel` files. A project stores only *your changes* to the base level plus your own imported meshes and textures – never the game's files. That keeps projects small (often a few kilobytes) and shareable. When a level is built, the editor reads the base level from your game copy and applies the changes; building the same project with the same game always gives the same result. LlamaMod lists every project in its **levels** folder as a mod in the **Levels** category. Tick it and press **Play** to play the level – or press **F5** in the editor. See [Sharing levels](17-sharing.md). ## What you need * The PC game (CD or ISO image): the German or the English version (see [FAQ](20-troubleshooting.md#faq)). * LlamaMod – see [Installing LlamaMod](02-installing.md). * A graphics card with **OpenGL 3.3** for the editor's 3D view. * On Linux, Wine to run the game (LlamaMod sets it up).