200 lines
10 KiB
Markdown
200 lines
10 KiB
Markdown
# LlamaMod Level Editor – user guide
|
||
|
||
A 3D level editor for *The Emperor's New Groove* (PC, 2000; German: *Ein Königreich für ein
|
||
Lama*). It is part of **LlamaMod**, the mod manager: levels you make are installed and played
|
||
as LlamaMod mods. Everything is built from **your own copy of the game** – a level project
|
||
contains only your changes, so it can be shared freely.
|
||
|
||

|
||
|
||
* [Getting started](#getting-started)
|
||
* [Moving around](#moving-around)
|
||
* [Creating a new level](#creating-a-new-level)
|
||
* [Editing an original level](#editing-an-original-level)
|
||
* [Objects, waypoints and zones](#objects-waypoints-and-zones)
|
||
* [Importing meshes](#importing-3d-models)
|
||
* [Textures](#textures)
|
||
* [Play-testing](#play-testing)
|
||
* [Sharing levels](#sharing-levels)
|
||
* [Shortcuts](#shortcuts) · [Troubleshooting](#troubleshooting)
|
||
|
||
## Getting started
|
||
|
||
1. Install LlamaMod and let its wizard set up the game from your CD or ISO (Windows or Linux).
|
||
2. Click **Level Editor** in LlamaMod's header (or start `LlamaMod --editor`).
|
||
3. **Help → Getting started** (Shift+F1) shows a five-step tour inside the editor;
|
||
**Help → Shortcut sheet** gives a printable page with every key.
|
||
|
||
The window: menu and toolbar at the top, the **Outliner** (everything in the level as a tree)
|
||
on the left, the **Inspector** (properties of the selection) on the right, the **viewport** in
|
||
the middle and **Assets / Textures / Problems** at the bottom. Panels can be moved to another
|
||
side through their tab's context menu and reopened under **View → Panels**.
|
||
|
||
## Moving around
|
||
|
||
| Input | Action |
|
||
|---|---|
|
||
| right mouse button held + **W A S D**, **Q / E** | fly (Shift = faster, wheel = fly speed) |
|
||
| middle mouse (or Alt + left) | orbit around the selection or the point under the cursor |
|
||
| Shift + middle mouse | pan |
|
||
| mouse wheel | zoom towards the cursor |
|
||
| **F** / **Home** | frame the selection / the whole level |
|
||
| numpad 7 / 1 / 3 / 5 | top / front / side / perspective |
|
||
|
||
Click selects, Shift+click adds, Ctrl+click toggles, dragging in empty space draws a box
|
||
selection. **W** move, **E** rotate, **R** scale (brushes), **Q** select; **G** toggles grid
|
||
snapping, Ctrl while dragging inverts it. Every change can be undone (**Ctrl+Z**); **Edit →
|
||
History** lists all steps.
|
||
|
||
## Creating a new level
|
||
|
||
**File → New level** asks for a name, the **base level** and a template:
|
||
|
||
* **Empty** – nothing but the base level's sky, fog and music,
|
||
* **Flat floor** – a 16×14 grass floor with a start and an exit,
|
||
* **Island** – a grass island with trees in the sea.
|
||
|
||
The *base level* (default: Village chapter 1) supplies the object types, textures, sounds,
|
||
sky, the start zone (fog, music) and the directional lights. Its teleport zones, point lights,
|
||
paths and visibility regions are not taken over. New levels live in the game's hidden **TestLevel** world (world 9); each project gets one
|
||
of its 49 chapters (shown in **Level → Level settings**).
|
||
|
||

|
||
|
||
Build the level from **brushes** (Assets → Brushes: floors, boxes, platforms, ramps, stairs,
|
||
fences, trees, sea, kill planes …) and the base level's **tile models**. Drag them from the
|
||
Assets panel into the viewport. Brush parameters (size, textures, collision material) are in
|
||
the Inspector.
|
||
|
||
Every level needs
|
||
|
||
* a **Llama** – the player start (Assets → Objects → Player & start),
|
||
* an **exit**: a **LevelDoor** on floor with collision material **16** (the templates have one),
|
||
* floor with collision under the start. **Level → Check for problems** lists what is missing.
|
||
|
||
## Editing an original level
|
||
|
||
**File → Open original level** shows all chapters with their loading pictures. You can move,
|
||
add and delete objects, tiles, waypoints, zones and lights. The project stores only the
|
||
differences to the original, and building it with the same CD gives the same file every time.
|
||
|
||
Tip: prefer moving or hiding original tiles over deleting them – some object scripts address
|
||
tiles by their number, and deleting shifts those numbers.
|
||
|
||
## Objects, waypoints and zones
|
||
|
||
* **Objects** (Assets → Objects) are the base level's object types: coins, collectibles,
|
||
checkpoints, enemies, villagers, moving platforms … Their parameters and flags are in the
|
||
Inspector. Only types that exist in the base level can be placed.
|
||
* **Waypoint chains** belong to objects (paths of enemies, camera paths). Select an object to
|
||
see its chain; duplicating an object copies its chain.
|
||
* **Zones** set fog, colours, music and respawn/teleport targets; **lights** colour the level;
|
||
**visibility regions** decide which parts are drawn from where (View → Layers shows them).
|
||
|
||
## Importing 3D models
|
||
|
||
**File → Import mesh** reads OBJ (with MTL and textures) and glTF/GLB. The model becomes a
|
||
*mesh brush*: it is cut into the engine's 1×1-cell tiles at build time, gets collision (choose
|
||
the material in the Inspector) and lit vertex colours. The engine has no free texture
|
||
coordinates – each triangle shows one half of a texture rectangle – so simple, rectangular UV
|
||
layouts look best.
|
||
|
||
## Textures
|
||
|
||
The **Textures** panel (bottom dock, Ctrl+Shift+T, or **Window** for a large separate window)
|
||
is the texture manager:
|
||
|
||

|
||
|
||
* **Pages** (left): the level's 256×256 texture pages with their blend class.
|
||
* **Atlas** (middle): the selected page with every texture rectangle – white = used, red =
|
||
unused, cyan = animated, orange = selected. Drag the selected rectangle to move it, drag its
|
||
handles to resize it, mouse wheel zooms.
|
||
* **Table**: number, name, page, rectangle, blend class, how many faces/models use it, animation.
|
||
Filter by *used / unused / animated / imported*; double-click a texture to paint with it.
|
||
* **Texture** tab: name, position and size, blend class, usage, *Duplicate*, *Select users*.
|
||
* **Animation** tab: flip-books (a sequence of frame textures, frame delay, back and forth) and
|
||
vertical scrolling (rivers, lava), with a live preview.
|
||
|
||
**Import…** adds PNG/JPG/BMP images:
|
||
|
||

|
||
|
||
| Option | |
|
||
|---|---|
|
||
| Size | longest side in pixels; the aspect ratio is kept |
|
||
| Blend class | **Opaque**, **Cut-out** (fully transparent pixels: leaves, fences), **Semi-transparent** (50 % blending: glass, water), **Additive glow** (light, fire), **Darken** |
|
||
| Transparent below alpha | pixels less opaque than this become invisible |
|
||
| Keep half-transparent pixels | for semi-transparent/additive textures |
|
||
| Transparent colour | magenta or the top-left pixel for images without alpha |
|
||
| Dither | smoother gradients in the game's 15-bit colour |
|
||
| Pack into free space | uses unused areas of existing pages of the same blend class before adding pages |
|
||
|
||
The preview shows the image as the game will show it. **Replace pixels…** puts a new image into
|
||
an existing texture's rectangle (all faces using it change), **Export PNG…** saves one; the
|
||
page list's context menu exports or replaces whole pages.
|
||
|
||
**Paint texture** tool (**M**): click a face of a tile to give it the current texture (the
|
||
*scope* box paints the face, all faces of that model with the same texture, or the whole
|
||
model). Clicking a brush sets its top/side/bottom texture by the side you click.
|
||
**Shift+click** or the **eyedropper** (**I**) picks the texture of a face. For the selected face:
|
||
*Rotate* turns the texture, *Mirror* flips it, *Other half* shows another half of the texture
|
||
rectangle. Tiles often share one model – tick **Unique** to give the clicked tile its own copy
|
||
first, otherwise every tile with that model changes.
|
||
|
||

|
||
|
||
## Play-testing
|
||
|
||
**Play** (**F5**) builds the level, installs it as a mod and starts the game **directly in the
|
||
level** – no intro, no menus, no map. **Play from camera position** (**Shift+F5**) puts the llama
|
||
on the ground in the middle of the view, facing the way the camera looks (the editor checks that
|
||
there is walkable collision there – trees and roofs often have none).
|
||
|
||
In the game, **Escape** quits straight back to the editor. When the game has ended, LlamaMod
|
||
switches your normal mod selection back on (the level itself stays installed as a mod).
|
||
|
||

|
||
|
||
Options in the **Level** menu: *Play boots straight into the level* (off = the game starts at the
|
||
main menu with the map cursor on the level) and *Escape quits the play-test*. The save slot used
|
||
for play-testing (default 3, backed up first) is set in **Edit → Preferences**.
|
||
|
||
## Sharing levels
|
||
|
||
Projects are `.llamalevel` files (saved by default in LlamaMod's `levels` folder). They contain
|
||
your changes, imported meshes and textures and a thumbnail – **no game data** – and are usually
|
||
only a few kilobytes. To share a level:
|
||
|
||
1. **File → Save** and send the `.llamalevel` file (forum, Discord, e-mail).
|
||
2. The receiver uses **Mods → Levels → Import level…** in LlamaMod (or copies the file into the
|
||
`levels` folder), ticks the level and clicks **Play**. LlamaMod builds it from their own CD.
|
||
3. New levels appear on the world map as **TestLevel – chapter n**; edited original levels replace
|
||
that chapter while the mod is on.
|
||
|
||
If two level mods use the same TestLevel chapter, change the chapter in the mod's options.
|
||
|
||
## Shortcuts
|
||
|
||
| Keys | Action |
|
||
|---|---|
|
||
| Ctrl+N / Ctrl+O / Ctrl+S | new / open / save |
|
||
| Ctrl+Z / Ctrl+Y | undo / redo |
|
||
| Ctrl+D, Del | duplicate, delete |
|
||
| Q W E R | select, move, rotate, scale |
|
||
| T, I | paint texture, eyedropper |
|
||
| G, X, C, H / Alt+H, L | snapping, local space, collision view, hide / show all, lock |
|
||
| Ctrl+B, F5, Shift+F5 | build, play, play from camera position |
|
||
| Ctrl+Shift+T | texture manager |
|
||
| F1, Shift+F1 | shortcuts, getting started |
|
||
|
||
## Troubleshooting
|
||
|
||
| Problem | Solution |
|
||
|---|---|
|
||
| "OpenGL 3.3 is not available" | update the graphics driver; in a VM enable 3D acceleration |
|
||
| Play: "The game is still running" | quit the game first (level files cannot be replaced while it runs) |
|
||
| The llama falls through the floor (play from here) | point the view at walkable ground; check collision with **C** |
|
||
| Windows Defender warns about groove.exe | play-tests change groove.exe (boot to level); see LlamaMod's antivirus notice |
|
||
| A level does not load / the game crashes | **Level → Check for problems**; keep tiles inside the grid; one player start |
|