Aaron Kimbrell
1cdac362ff
refactor(component): an object's starting inventory loads in LoadDataFromTemplate
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-01 08:19:07 -05:00
Aaron Kimbrell
2b8b682a0b
refactor(component): activities load their activity in the client's phases
...
The component ID's activity in LoadDataFromTemplate, the level's activityID in
LoadConfigData; racing control picks its world's activity after both, as before.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-01 08:15:58 -05:00
Aaron Kimbrell
14a11ac6ce
refactor(component): movement AI reads its attached path in LoadConfigData
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-01 08:12:32 -05:00
Aaron Kimbrell
3d1f7cecb8
refactor(component): the model reads its user model ID in LoadConfigData
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-01 08:12:32 -05:00
Aaron Kimbrell
da5ce99f5b
refactor(component): the render component loads its animation groups in LoadDataFromTemplate
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-01 08:10:56 -05:00
Aaron Kimbrell
7a0013696b
refactor(component): the sound trigger reads its level config in LoadConfigData
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-01 08:10:56 -05:00
Aaron Kimbrell
e5607ff0c7
refactor(component): the collectible loads its row in LoadDataFromTemplate
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-01 08:10:56 -05:00
Aaron Kimbrell
3dbbf46876
refactor(component): the bouncer reads its level config in LoadConfigData
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-01 08:10:56 -05:00
Aaron Kimbrell
6fc19c114d
refactor(component): the pet loads its row and preconditions in the client's phases
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-01 08:08:11 -05:00
Aaron Kimbrell
12efcd259c
refactor(component): the switch reads its reset time and factions in LoadConfigData
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-01 08:08:11 -05:00
Aaron Kimbrell
90c7293189
refactor(component): the mission offer loads its missions in LoadDataFromTemplate
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-01 08:08:11 -05:00
Aaron Kimbrell
060517920f
refactor(component): the donation vendor reads its goal and activity in LoadConfigData
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-01 08:08:11 -05:00
Aaron Kimbrell
818ad152ca
refactor(component): vendors load their stock in LoadDataFromTemplate
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-01 08:08:11 -05:00
Aaron Kimbrell
8ef3e323fe
refactor(component): the property entrance loads its row in LoadDataFromTemplate
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-01 08:06:12 -05:00
Aaron Kimbrell
87f0e730c8
refactor(component): the multi-zone entrance reads its worlds in LoadConfigData
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-01 08:06:12 -05:00
Aaron Kimbrell
2519748e2c
refactor(component): the possessable loads its row in LoadDataFromTemplate
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-01 08:06:12 -05:00
Aaron Kimbrell
7577971f43
refactor(component): the rocket launchpad loads its row in LoadDataFromTemplate
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-01 08:06:12 -05:00
Aaron Kimbrell
47668e623a
refactor(component): the rail activator loads its row and level config in the client's phases
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-01 08:06:12 -05:00
Aaron Kimbrell
7a0dba22a5
refactor(component): use is a RequestUse message handler
...
Components no longer have a virtual OnUse; each component that reacts to a
use registers a RequestUse handler, like the client's components. The entity
runs the INTERACT trigger and the script, then delivers a RequestUseEvent
(carrying the user) to the handlers. The mission choice of a multi-interact
use goes only to the mission offer, as before. Switches keep a direct
EnterIfResponding for touches and pets.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-01 07:55:55 -05:00
Aaron Kimbrell
50bfa623ca
refactor(component): the client's component lifecycle
...
Components get the client's per-component functions: LoadDataFromTemplate,
PrepareConfigData, LoadConfigData, LoadFromSaveData, Startup, Run,
OnEnterScope, OnLeaveScope, Preshutdown and Shutdown, called by the entity in
the client's order. Update is renamed Run, LoadFromXml LoadFromSaveData and
UpdateXml WriteSaveData. Nothing sent changes.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-01 07:45:16 -05:00
Aaron Kimbrell
e8406cc829
feat(entity): the client's property plaque component (113)
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-01 07:23:03 -05:00
Aaron Kimbrell
0cdf3afe3d
feat(entity): the client's roller component (105)
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-01 07:21:13 -05:00
Aaron Kimbrell
e585a035e0
feat(entity): the client's gate rush component (103)
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-01 07:19:31 -05:00
Aaron Kimbrell
d1a778a140
feat(entity): the client's faction trigger component (72)
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-01 07:17:47 -05:00
Aaron Kimbrell
a6381be720
feat(entity): the client's rocket landing component (68)
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-01 07:15:54 -05:00
Aaron Kimbrell
8c5e7ee0e1
feat(entity): the client's generic activator component (64)
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-01 07:14:12 -05:00
Aaron Kimbrell
a286bea854
feat(entity): the client's showcase model handler component (62)
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-01 07:12:31 -05:00
Aaron Kimbrell
4dba9c2aeb
feat(entity): the client's custom build assembly component (59)
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-01 07:10:50 -05:00
Aaron Kimbrell
6628aa2d45
feat(entity): the client's package component (53)
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-01 07:09:10 -05:00
Aaron Kimbrell
464dd759fa
feat(entity): the client's choice build component (52)
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-01 07:06:54 -05:00
Aaron Kimbrell
bd6e419290
feat(entity): the client's changeling component (51)
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-01 07:05:18 -05:00
Aaron Kimbrell
912f5998ae
feat(entity): the client's spring pad component (41)
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-01 07:03:00 -05:00
Aaron Kimbrell
b4c25a2512
feat(entity): the client's model builder component (38)
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-01 07:01:24 -05:00
Aaron Kimbrell
6d185b6e2f
feat(entity): the client's arcade component (29)
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-01 06:59:38 -05:00
Aaron Kimbrell
0e37994d6c
feat(entity): the client's module (a car or rocket part) component (28)
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-01 06:57:54 -05:00
Aaron Kimbrell
62c770aa56
feat(entity): the client's blueprint component (24)
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-01 06:56:19 -05:00
Aaron Kimbrell
e2b2c4c48d
feat(entity): the client's chest component (22)
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-01 06:54:42 -05:00
Aaron Kimbrell
939e30e6a8
feat(entity): the client's rebuild activator component (14)
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-01 06:53:03 -05:00
Aaron Kimbrell
d4cd459747
feat(entity): the client's build controller component (13)
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-01 06:51:13 -05:00
Aaron Kimbrell
60aaa9ec3f
feat(entity): the client's modular build (rocket and car building) component (12)
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-01 06:49:28 -05:00
Aaron Kimbrell
b9ad46a52e
feat(entity): the client's platform boundary component (27)
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-01 06:46:20 -05:00
Aaron Kimbrell
a9c4a2fe26
feat(entity): the client's culling plane component (116)
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-01 06:43:53 -05:00
Aaron Kimbrell
e37f919700
feat(entity): the client's 3D ambient sound component (56)
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-01 06:41:32 -05:00
Aaron Kimbrell
ba748d17d2
feat(entity): the client's 2D ambient sound component (55)
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-01 06:39:41 -05:00
Aaron Kimbrell
b971d91a25
feat(entity): the client's sound repeater component (54)
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-01 06:38:00 -05:00
Aaron Kimbrell
ee86102e97
feat(entity): NPC minifigures have the client's minifig component
...
The client makes LWOMiniFigComponent (35) from the registry; DLU had nothing for it. It sends nothing (the client reads the MinifigComponent row itself), so constructions are unchanged; 488 LOTs gain it (LoaderSnapshotTest).
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-01 06:35:45 -05:00
Aaron Kimbrell
cc337a298d
fix(entity): models get their item component, as the client makes it
...
The client makes the registry's item component for models too (only a pet takes it away); DLU skipped it and the model component wrote the item block itself, for the 30 model LOTs without an item row as well, and with the object id as ug_id. Live (Raven Bluff property capture): the item block carries the userModelID for brick built models (LOT 14) and 0 for reward models (LOT 8069). 1,455 LOTs gain the item component; nothing else changes (LoaderSnapshotTest).
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-01 06:27:36 -05:00
Aaron Kimbrell
b2192e158c
refactor(entity): components are made in the client's load order
...
Entity::Initialize walks ComponentOrderVector::Initialize's list (0x0101f8e0) as ObjectLoader2::DoObjectComponentLoad does; ids a component needs from a later one come from the registry; the trigger is added after the walk. All 15,962 LOTs get the same components as before (LoaderSnapshotTest).
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-01 06:17:06 -05:00
Aaron Kimbrell
6ff42bf312
fix(moving platform): a mover started at a waypoint waits there first (issue 964)
...
LWOPlatform::ResumeTravelling: not travelling at a waypoint it waits the waypoint's wait; the AG monument elevator rose at once.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-01 04:55:03 -05:00
Aaron Kimbrell
4fcce48397
fix(proximity): a proximity set again replaces the old one; UnsetProximityRadius
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-01 03:29:42 -05:00