isle-portable/LEGO1/lego/legoomni/src/common
foxtacles eb6d2b8728
Sync sky light (#9)
* Sync sky color and light position in multiplayer

Add ENTITY_SKY and ENTITY_LIGHT to the WorldEvent system so the host
controls sky color (hue/saturation via observatory sun/moon/palette
buttons) and light position (globe arrows) with the same
host-authoritative pattern used for plants and buildings. Non-host
players send requests to the host who applies and broadcasts. Sky/light
state is appended to the world snapshot so joining players get the
current values.

https://claude.ai/code/session_01X2cPVQEo7c92wpWA7QPPMG

* Clean up sky/light sync: remove debug logging, DRY apply logic, fix host routing

- Extract ApplySkyLightState helper to deduplicate sky/light apply code
  between RestoreSkyLightState and HandleWorldSnapshot
- Remove all SDL_Log debug calls and SDL_log.h includes
- Remove dead OnWorldEnabled method from WorldStateSync (replaced by
  OnHostChanged in OnSaveLoaded)
- Fix HandleSkyLightMutation host path: return FALSE to let local
  switch case proceed, instead of duplicating via ApplyWorldEvent
- Simplify isle.cpp HandleControl: split observatory cases into
  individual switch arms with single early-return multiplayer hook
- Add save load hooks to sync world state with multiplayer peers
- Fix player count to exclude local player without valid actor
- Support broadcast snapshots (targetPeerId=0) in relay server

---------
2026-03-08 05:55:00 +01:00
..
legoactioncontrolpresenter.cpp Clear unknowns in LegoActionControlPresenter (#1722) 2026-01-14 16:51:42 -07:00
legoactors.cpp Add names to LegoActorInfo.Part (#1538) 2025-06-03 18:11:01 -07:00
legoanimationmanager.cpp Merge remote-tracking branch 'isle/master' 2026-01-30 17:06:10 -08:00
legoanimmmpresenter.cpp Fix 3rd person camera 180-degree flip after cam anim ends (#5) 2026-03-07 17:32:21 +01:00
legobuildingmanager.cpp Minimize LEGO1 changes: revert globals, move CreateCharacterClone to extension 2026-03-01 10:04:13 -08:00
legocharactermanager.cpp Character customization (#8) 2026-03-07 23:20:55 +01:00
legogamestate.cpp Sync sky light (#9) 2026-03-08 05:55:00 +01:00
legoobjectfactory.cpp Fix filenames based on BETA10 MxAutoLock (#1640) 2025-07-20 18:20:40 +02:00
legophoneme.cpp Clear unknowns in LegoPhoneme (#1556) 2025-06-11 23:29:23 +02:00
legoplantmanager.cpp Minimize LEGO1 changes: revert globals, move CreateCharacterClone to extension 2026-03-01 10:04:13 -08:00
legoplants.cpp Fix float constants and conversions (#1279) 2024-12-25 21:01:00 +01:00
legostate.cpp Use SDL_rand/SDL_randf (#203) 2025-05-30 19:01:01 +00:00
legotesttimer.cpp Implement LegoTestTimer (#1732) 2026-01-27 13:21:56 -05:00
legotextureinfo.cpp Add extensions, TextureLoader (#570) 2025-07-10 00:24:59 -07:00
legoutils.cpp Add hdmusic.si asset pack, extend SiLoader with Replace directive (#671) 2025-08-16 21:21:39 +02:00
legovariables.cpp Merge remote-tracking branch 'isle/master' 2025-07-23 13:21:39 -07:00
misc.cpp Match LegoOmni::Create(), other BETA10 matches (#1651) 2025-07-25 17:13:34 +02:00
mxcompositemediapresenter.cpp Clear unknowns in MxCompositeMediaPresenter (#1716) 2026-01-12 15:15:21 -07:00
mxcontrolpresenter.cpp Merge remote-tracking branch 'isle/master' 2025-07-29 16:47:18 -07:00
mxtransitionmanager.cpp Merge remote-tracking branch 'isle/master' 2025-09-12 12:35:22 -07:00