mirror of
https://github.com/isledecomp/isle-portable.git
synced 2026-05-02 10:33:57 +00:00
* Fix camera drifting during multi-part emotes Block translational movement in HandleCameraRelativeMovement() when a multi-part emote is active. Previously, movement input was processed unconditionally, causing the native ROI (and camera) to move forward while the display ROI stayed pinned at the emote position. Now the emote check forces hasInput=false and zeros m_smoothedSpeed so neither position updates nor coasting occur during any phase of a multi-part emote. Camera orbit controls (rotation/pan/zoom) remain unaffected. https://claude.ai/code/session_01QMcZSa3ysdyACVea66QA5K * Fix use-after-free crash in NameBubbleRenderer::Update Lego3DSound::FUN_10011a60 (used by LegoCacheSound::Play) did not reset m_isActor and m_enabled when reassigning the ROI reference. When a cached sound was reused — first for a known actor name (setting m_isActor=TRUE), then for a multiplayer clone found via FindROI — the stale m_isActor flag caused Reset() to call ReleaseActor on the clone's ROI, freeing it while ThirdPersonCamera still held a pointer. The next Tick then dereferenced the dangling pointer in NameBubbleRenderer::Update. Reset the ownership flags at the top of the reassignment path so they match the clean-state semantics of Lego3DSound::Create. Also guard multi-part emotes behind an active 3rd-person camera check and remove a leftover debug log in RemotePlayer. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> --------- Co-authored-by: Claude <noreply@anthropic.com> |
||
|---|---|---|
| .. | ||
| 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 | ||