editor: readable names in inspector, status hover, asset browser and outliner filter, waypoint buttons and long inspector labels wrap, library keeps no collision, autosave no longer hides fresher messages, old menu play-test path removed, task runner always finishes (no stuck loading), play-test starts bound to their level

This commit is contained in:
MineTec committed 2026-11-07 12:48:43 +01:00
1 parent 4a58910fba
commit 22a61246fc
26 files changed
+804 -271

No files matched your search

+7 -3
View File
@@ -66,11 +66,14 @@ The Outliner lists everything in the level as a tree: **Level** (level settings,
visibility regions), **Tiles** (grouped **by model** or **by cell** – choose in the box at the
top), **Objects** (by category and type), **Waypoint chains**, **Zones**, **Lights**,
**Brushes** and **Assets** (tile models, imported meshes, texture pages). The filter field finds
items by name, type or id.
items by the name shown in the tree (*Floor 2*, *Waypoint 4*, *Cell 12, 30* – a number at the
end matches whole numbers, so *Floor 2* does not find *Floor 20*), type or id.
Several items of the same kind are numbered in level order – *Coin 1*, *Coin 2*, *Floor 1*,
*Floor 2* – and the grey column on the right shows where they are (position in cells, for tiles
the height). Hover a row to see its internal id (e.g. `brush:n19`), which problem messages use.
the height). The numbers are not fixed: deleting *Coin 1* makes the old *Coin 2* the new *Coin 1*.
The Inspector header and the status bar use the same names. Hover a row (or the Inspector title)
to see the internal id (e.g. `brush:n19`), which problem messages use.
* Click selects, **Shift+click** and **Ctrl+click** add to the selection, double-click frames
the item in the viewport.
@@ -158,7 +161,8 @@ Navigation → Viewport preferences…** ([Viewport preferences](04-navigation.m
picture in the game.
* **File → Open recent** lists the last ten projects.
* Autosave keeps unsaved changes in the data folder. If the editor or the computer crashes, the
next start offers **Recover**, **Discard** or **Later**.
next start offers **Recover**, **Discard** or **Later**. Its "Autosaved" note waits until the
status bar has shown your last message (for example an export result) for a few seconds.
* **File → Close level** (**Ctrl+W**) and **Close editor** (**Ctrl+Q**) ask before throwing away
changes.
+13 -4
View File
@@ -40,6 +40,9 @@ cells.
| **Largest side** … **cells** + **Fit** | sets the unit scale so the largest side becomes this many cells (default 4) |
| **Turn** | 0°, 90°, 180° or 270° about the vertical axis |
| **Mirror (left ↔ right)** | mirrors the model |
The model appears in the game exactly as in Blender (or any other 3D program): its front stays
its front, and text or an "F" reads the right way round. The preview shows it as the game will.
| **Stand on the ground (bottom at the click point)** | puts the lowest point of the model on the surface you click |
### Textures
@@ -78,6 +81,10 @@ and how many triangles land in the densest cell. It warns in red when
The status bar then says "Placed … – move/turn/scale it with the gizmo tools".
> **Meshes from older projects:** meshes imported with LlamaMod 0.2.0 or earlier were read mirrored. They
> stay as they are, so your levels don't change. To show such a mesh the way it looks in Blender,
> select it in the **Imported** tab and set **Handedness** to **right** in the Inspector.
## The engine's texture rules
> **Engine limit:** the engine has no free texture coordinates. Every triangle always shows one
@@ -142,6 +149,8 @@ every base level – a village house in a jungle level, a set of platforms you b
The asset is written to `<data>/library/<name>.llamamesh` (the LlamaMod data folder). It contains
the tile models with their collision and vertex colours and every texture used, as pictures.
Brushes and meshes are stored in their built form (tiles). Death-plane tiles are left out.
Tiles marked **No collision** keep that mark: inserted again, they are still walk-through
(the model itself keeps its collision, so you can turn the mark off later).
### Inserting from the library
@@ -172,8 +181,8 @@ OBJ for Blender:
* with **Also write the collision polygons (…_collision.obj)** a second OBJ with the collision
polygons, grouped by material.
The coordinates use the importer's convention, so the file can be imported again unchanged: edit
it in Blender, then **File → Import mesh** it back (round trip).
Blender shows the geometry the same way round as the game, and the file can be imported again
unchanged: edit it in Blender, then **File → Import mesh** it back (round trip). 1 unit is 1 cell.
> **Note:** The exported textures are game data – fine for your own editing, please don't share
> them.
@@ -192,9 +201,9 @@ it in Blender, then **File → Import mesh** it back (round trip).
|---|---|
| **Object models** | also the models of placed objects (coins, characters …) as the viewport shows them |
| **Leave out hidden items** | items hidden in the editor (**H**) are not exported |
| **Game orientation** | mirrors the level so that Blender and viewers show it the same way round as the game. Off: the same axes as the OBJ export and **Import mesh**, so the file can be imported again unchanged |
Tiles with **Exclude from build** are left out. 1 unit is 1 cell.
Tiles with **Exclude from build** are left out. 1 unit is 1 cell. Viewers show the level the same
way round as the game, and **Import mesh** reads the file back unchanged.
![glTF export dialog and the exported village read back by Import mesh](img/geo_gltf_export.jpg)