Files
EscapistsReintroduced/source/atlas/README.md
T
jakub 6a667d8deb Capture current mission, AI, map and administration development
Include the current addon, terrain integrations, tools, regression tests and recorded development evidence.
2026-10-13 22:52:53 +02:00

3.9 KiB

Solid atlas asset

ERR_Atlas.blend is the editable, locally authored model, generated by tools/build_atlas_model.py. No third-party geometry is copied. Runtime/import files and four materials live in addons/core/Assets/Items/ERR_Atlas/.

The replacement has a 10 mm page block, separate covers, visible page-edge seams and a continuous 14-turn wire helix. These are mesh surfaces with real depth and silhouettes, not UI circles. The stock character map grip is retained; the rigid mesh is offset 15 mm right and 18 mm forward to fit that grip. The runtime map texture is assigned only to the front printable sheet. Its UVs account for the render target's vertical orientation and retain the existing layout gutter.

Rebuild from the repository root:

/home/jakub/devel/gabreta/build/toolchain/blender-4.5.3-linux-x64/blender \
  --background --threads 2 --python tools/build_atlas_model.py

Then run the Workbench Build atlas model plugin, or rebuild Assets/Items/ERR_Atlas/ERR_Atlas.fbx in Resource Manager. The existing XOB meta file holds material assignments and collision settings. The .blend is outside the addon; the source bundle includes the authored FBX/TXO and imported XOB. The procedural model rebuild does not overwrite material or import settings.

Page-turn animation

AtlasTurn.agr/.agf wrap the stock map holding graph. The attachment must explicitly start at ERRAtlasControl; merely setting the AGR default does not change the attachment's entry point. The right arm uses the engine's two-bone IK solver with a target relative to LeftHandProp, preserving the existing left hand grip, aiming, stance and idle poses. The target reaches, sweeps across the paper and returns through native state-machine blends. Forward turns use command argument 1; backward turns use 2 and reverse the hand path and sheet rotation. Direction compares the previous and new printed page numbers, including cover, index and numpad jumps. It does not depend on the delayed rendered page.

The native item-use command CMD_HealSelf is reinterpreted only inside this atlas attachment. The atlas has no consumable component or healing effect. TryUseItemOverrideParams manages the character action instead of writing character bones or moving the whole held item. An item use rejected by the engine falls back to changing the selected page without a forced character pose.

ERR_AtlasLeaf.blend is a separate, lightly curved sheet. Its local visual entity has no replication, physics or collision component. A page update creates one near the viewer, turns it about the binding, commits the new page after crossing, and removes the sheet and timer. The shallow sweep avoids the first-person near plane. No turn ticks run when idle or on a dedicated server. Stowing, opening the interactive map, death and deletion clean up the temporary sheet. Late joiners see the current page without replaying old turns.

Rebuild both ERR_Atlas.fbx and ERR_AtlasLeaf.fbx after changing their generator. The native imported meshes and exact graph assets are admitted by the source bundle validator; editable Blender files remain outside the addon.

Bohemia references: attachment setup, state-machine timing.

Validation limits

Hidden, muted native Everon fixture: model import, standing held grip, correct print orientation, page controls, capture ownership and ordinary-map coexistence. The fixture also captures an oblique view to inspect binding and thickness. The native hand-turn run verifies five repeated actions, actual hand positions, return to idle and leaf cleanup; see docs/evidence/held-atlas-hand-turn-20261011/. This is not a dedicated-server/remote-holder or all-stance visual acceptance. Nothing is deployed or published by the model builder.