isle-portable/extensions/include
foxtacles 0ad5361e6a
Claude/auto switch camera zoom dcg go (#17)
* Auto-switch camera between 1st and 3rd person based on zoom

When in 3rd person and zooming in past minimum distance (mouse wheel or
pinch), automatically switch to 1st person. When in 1st person and
zooming out (mouse wheel or pinch), automatically switch to 3rd person
starting at minimum distance for a seamless transition.

Adds thirdPersonChanged CustomEvent on canvas to notify the UI toggle
of auto-switch state changes, following the existing PlatformCallbacks
pattern used by OnPlayerCountChanged.

https://claude.ai/code/session_01PuMFBB8Gjd5pyUVUh5QTzz

* Add callback feedback for multiplayer toggle settings

Toggle UI state is now driven by C++ callbacks instead of optimistic
local updates, preventing desync when the game thread hasn't processed
the request yet. Adds OnNameBubblesChanged and OnAllowCustomizeChanged
to PlatformCallbacks, and fires OnThirdPersonChanged for manual toggle
(previously only fired for auto-switch). Includes touch pinch fixes
and ResetTouchState for third-person camera auto-enable.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

* Fix: restrict 3rd person camera to ISLE world only

The camera was activating in the Infocenter (and other non-ISLE worlds)
because OnWorldEnabled/Disabled forwarded to ThirdPersonCamera
unconditionally. Zoom/pan/auto-switch SDL events were also processed
outside the ISLE world. Gate both on the e_act1 world ID check.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

* Fix emote interruption when switching to 1st person camera

Allow movement to interrupt multi-part emote phase 1 (not just
non-multi-part emotes). On the remote player side, only suppress
movement during frozen state rather than all multi-part emote phases,
so the remote animator correctly cancels the emote when the local
player switches cameras and moves.

Also track and stop ROI-bound sounds before the ROI is destroyed
to prevent use-after-free in the sound system's 3D position update.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

* DRY: extract DispatchBoolEvent helper for emscripten callbacks

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

---------

Co-authored-by: Claude <noreply@anthropic.com>
2026-03-13 18:09:06 +01:00
..
extensions Claude/auto switch camera zoom dcg go (#17) 2026-03-13 18:09:06 +01:00