mirror of
https://github.com/isledecomp/isle-portable.git
synced 2026-05-23 03:36:35 +00:00
* 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 --------- |
||
|---|---|---|
| .. | ||
| legoactioncontrolpresenter.cpp | ||
| legoactors.cpp | ||
| legoanimationmanager.cpp | ||
| legoanimmmpresenter.cpp | ||
| legobuildingmanager.cpp | ||
| legocharactermanager.cpp | ||
| legogamestate.cpp | ||
| legoobjectfactory.cpp | ||
| legophoneme.cpp | ||
| legoplantmanager.cpp | ||
| legoplants.cpp | ||
| legostate.cpp | ||
| legotesttimer.cpp | ||
| legotextureinfo.cpp | ||
| legoutils.cpp | ||
| legovariables.cpp | ||
| misc.cpp | ||
| mxcompositemediapresenter.cpp | ||
| mxcontrolpresenter.cpp | ||
| mxtransitionmanager.cpp | ||