mirror of
https://github.com/isledecomp/isle-portable.git
synced 2026-05-03 02:53:57 +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
82 lines
3.6 KiB
YAML
82 lines
3.6 KiB
YAML
configureLegoAnimationManager(MxS32): 'DLL exported function'
|
|
configureLegoBuildingManager(MxS32): 'DLL exported function'
|
|
configureLegoModelPresenter(MxS32): 'DLL exported function'
|
|
configureLegoPartPresenter(MxS32, MxS32): 'DLL exported function'
|
|
configureLegoROI(int): 'DLL exported function'
|
|
configureLegoWorldPresenter(MxS32): 'DLL exported function'
|
|
configureMxTransitionManager(TransitionType): 'DLL exported function'
|
|
GetNoCD_SourceName(): 'DLL exported function'
|
|
m_3dView: 'Allow this variable name'
|
|
m_3dManager: 'Allow this variable name'
|
|
m_16bitPal: 'Allow this variable name'
|
|
m_32bitPal: 'Allow this variable name'
|
|
m_HWDesc: 'Allow this variable name'
|
|
m_HELDesc: 'Allow this variable name'
|
|
p_HWDesc: 'Allow this variable name'
|
|
p_HELDesc: 'Allow this variable name'
|
|
e_RAMStream: 'Allow this enum constant'
|
|
p_RLE: 'Allow this parameter name'
|
|
p_milliseconds: 'Probably a bug with function call'
|
|
m_increaseAmount: "Can't currently detect member in union"
|
|
m_increaseFactor: "Can't currently detect member in union"
|
|
delta_rad: "Allow original naming from 1996"
|
|
delta_pos: "Allow original naming from 1996"
|
|
rot_mat: "Allow original naming from 1996"
|
|
new_pos: "Allow original naming from 1996"
|
|
new_dir: "Allow original naming from 1996"
|
|
p_AnimTreePtr: "Allow original naming from beta"
|
|
m_AnimTreePtr: "Allow original naming from beta"
|
|
m_BADuration: "Allow original naming from beta"
|
|
m_assAnimP: "Allow original naming from beta"
|
|
m_disAnimP: "Allow original naming from beta"
|
|
i_activity: "Allow original naming from beta"
|
|
i_actor: "Allow original naming from beta"
|
|
score: "Allow original naming from beta"
|
|
c_LOCATIONS_NUM: "Allow original naming from beta"
|
|
m_Map_Ctl: "Allow original naming from beta"
|
|
m_ColorBook_Bitmap: "Allow original naming from beta"
|
|
m_Yellow_Ctl: "Allow original naming from beta"
|
|
m_Red_Ctl: "Allow original naming from beta"
|
|
m_Blue_Ctl: "Allow original naming from beta"
|
|
m_Green_Ctl: "Allow original naming from beta"
|
|
m_Gray_Ctl: "Allow original naming from beta"
|
|
m_Black_Ctl: "Allow original naming from beta"
|
|
m_Shelf_Sound: "Allow original naming from beta"
|
|
m_PlaceBrick_Sound: "Allow original naming from beta"
|
|
m_GetBrick_Sound: "Allow original naming from beta"
|
|
m_Paint_Sound: "Allow original naming from beta"
|
|
m_Decal_Sound: "Allow original naming from beta"
|
|
m_Decal_Bitmap: "Allow original naming from beta"
|
|
m_Decals_Ctl: "Allow original naming from beta"
|
|
m_Decals_Ctl1: "Allow original naming from beta"
|
|
m_Decals_Ctl2: "Allow original naming from beta"
|
|
m_Decals_Ctl3: "Allow original naming from beta"
|
|
m_Decals_Ctl4: "Allow original naming from beta"
|
|
m_Decals_Ctl5: "Allow original naming from beta"
|
|
m_Decals_Ctl6: "Allow original naming from beta"
|
|
m_Decals_Ctl7: "Allow original naming from beta"
|
|
p_scorehist: "Allow original naming from beta"
|
|
|
|
ISLE_MMIOINFO: "Re-defined Windows name"
|
|
_ISLE_MMIOINFO: "Re-defined Windows name"
|
|
dwFlags: "Re-defined Windows name"
|
|
cchBuffer: "Re-defined Windows name"
|
|
pchBuffer: "Re-defined Windows name"
|
|
pchNext: "Re-defined Windows name"
|
|
pchEndRead: "Re-defined Windows name"
|
|
pchEndWrite: "Re-defined Windows name"
|
|
lBufOffset: "Re-defined Windows name"
|
|
lDiskOffset: "Re-defined Windows name"
|
|
ISLE_MMCKINFO: "Re-defined Windows name"
|
|
_ISLE_MMCKINFO: "Re-defined Windows name"
|
|
ckid: "Re-defined Windows name"
|
|
cksize: "Re-defined Windows name"
|
|
fccType: "Re-defined Windows name"
|
|
dwDataOffset: "Re-defined Windows name"
|
|
fccType: "Re-defined Windows name"
|
|
SDL_KeyboardID_v: "SDL-based name"
|
|
SDL_MouseID_v: "SDL-based name"
|
|
SDL_JoystickID_v: "SDL-based name"
|
|
SDL_TouchID_v: "SDL-based name"
|
|
Load: "Not a variable but function name"
|
|
HandleCreate: "Not a variable but function name" |