readable names also in io, checks and texture messages (naming moved to editor.model), tile palette filter by name or number, import preview frames the main mass and zooms with the wheel, object palette right-click no longer switches to place, floorfinder built on ground, levelbuild starts get one camera node behind the llama (golden hashes updated, boot-to-level moves it along)

This commit is contained in:
MineTec committed 2026-11-07 14:42:32 +01:00
1 parent 386a06006d
commit 38c679b319
49 files changed
+819 -470

No files matched your search

+4 -3
View File
@@ -10,7 +10,7 @@ screenshot tour `ObjectsTour` (test classes).
| Part | Content |
|---|---|
| **Objects panel** (left dock) | every placeable type of the base with rendered thumbnail, category filter, search (name + schema summary), favourites (right-click, ★ filter), "parameters decoded" marker; drag into the viewport or click → Place tool. Quick setups: Player start, Checkpoint, Exit, Secret, Coin line, Coin arc |
| **Objects panel** (left dock) | every placeable type of the base with rendered thumbnail, category filter, search (name + schema summary), favourites (right-click – it never selects or switches to the Place tool, nor does the click that closes the menu; ★ filter), "parameters decoded" marker; drag into the viewport or click → Place tool. Quick setups: Player start, Checkpoint, Exit, Secret, Coin line, Coin arc |
| **Place tool** (P) | click = place on the collision floor under the cursor (snap to floor, grid snap), yaw = camera direction / facing the camera / 0° / type default; click + drag an object = move along the ground (its waypoints move along); drag the yellow knob = rotate (angle snap; a checkpoint's respawn node turns with it). Modes for the setups |
| Setups | **Player start** moves the existing player (exactly one) or places a Llama with one start camera node 2 cells behind (moving keeps door nodes, carries the near nodes and the village fly-by trigger). **Checkpoint** = CheckPointPost + respawn node 0.4 ahead (floor height). **Exit** = LevelDoor in the cell centre + 1×1 FLOOR brush with collision material 16; target picked in the options bar (world/chapter names, "world finished 7,7,7"). **Secret** = Secret with a 3×3 box (2 nodes). Guards, alligators and spawners get one 4×4 box (and guards event bit 0) on every way of adding an object (`Edits.placeStrat`: Place tool, drag from Objects panel / Assets, double-click) |
| **Coin tool** (O) | Line: two clicks, coins every *spacing*; Arc: centre + point on the circle, *count* coins over *arc°*; Coin/Coin5, height above floor, follow floor; live preview |
@@ -91,8 +91,9 @@ JumpingBeetleBlue with a 4-node patrol path, CityGuard with two boxes):
`GeometryChecks`. Tests: `GuardsTest`, `OriginalExitsTest`, `OriginalStartsTest`.
* Snap-to-floor (`Ground`) follows the engine's floor test (FUN_004036d0, used for strats too):
only tiles listed in the point's cell; then their swap models; a neighbour tile's polygon only
where the cell has no floor at all (`Hit.source`). `GroundTest` compares it with `FloorFinder`
on three originals. The Place tool drag moves only a player start's nodes within 2.5 cells.
where the cell has no floor at all (`Hit.source`). `cellBelow` is the strict engine test (own cell,
death floors included) that the play-test `FloorFinder` and boot-to-level's crash check use (one
implementation since 2026-11-07). `GroundTest` compares the fallbacks with it on three originals. The Place tool drag moves only a player start's nodes within 2.5 cells.
* Zone heights are estimated (+1.2 above the lower node); the engine tests x/z only.
* Camera preview of CameraSide assumes the player in the box centre and default distance 2 /
height 1 when the parameters are 0; the game's FOV is approximated by 60°.