mirror of
https://github.com/isledecomp/isle-portable.git
synced 2026-05-02 18:43:56 +00:00
* WIP: Add character customization to multiplayer Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * Refine character customization: fix message buffering, DRY up code, request-based model - Register NetworkManager with TickleManager via HandleCreate hook in LegoOmni::Create(), so packets are processed continuously instead of buffering between Connect() and OnWorldEnabled() - Spawn unspawned remote players in OnWorldEnabled() (created before world was ready) - Switch to request-based customization: HandleROIClick sends MSG_CUSTOMIZE to server, server echoes to all peers, HandleCustomize applies state and plays effects - DRY up SwitchVariant to delegate LOD cloning to ApplyHatVariant - Add ApplyChange helper consolidating the switch-on-changeType pattern - Fix InitFromActorInfo to derive dependent color parts from independent parts (matching Unpack rules) - Remove dead code: m_hasBeenTicked, ApplyCustomizeChange on RemotePlayer, m_localCustomizeState on NetworkManager - Add null ROI checks in HandleCustomize for unspawned players - Move MSG_CUSTOMIZE constant to shared protocol.ts Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * Fix * Fix character customization bugs from code review - BUG-1: Add bounds check in SwitchColor to prevent OOB access from unvalidated network input (p_partIndex could exceed array bounds) - BUG-2: Enforce allowRemoteCustomize on receiver side in HandleCustomize (was only checked on sender side, byppassable by malicious client) - BUG-3: Document stale-state sound asymmetry for remote targets - OBS-1: Remove unused bodyVariantIndex from CustomizeState (never modified, wasted 3 bits per state message) - NAME-1: Fix p_ prefix convention on ApplyCustomizeChange parameters |
||
|---|---|---|
| .. | ||
| lego | ||
| modeldb | ||
| mxdirectx | ||
| mxgeometry | ||
| mxstl | ||
| omni | ||
| realtime | ||
| res | ||
| tgl | ||
| viewmanager | ||
| cursor.h | ||
| define.cpp | ||
| define.h | ||
| lego1_export.h | ||
| lego1_pch.h | ||
| library_msvc.h | ||
| library_smack.h | ||
| library_smartheap.h | ||
| main.cpp | ||