isle-portable/LEGO1
foxtacles e0a1ac781f
Add free camera controls (#10)
* Add free camera orbit controls to multiplayer third-person camera

Replace the fixed camera offset with dynamic orbit parameters (yaw,
pitch, distance) computed from spherical coordinates. Mouse wheel
controls zoom, right-click drag controls orbit, and two-finger
touch gestures support pinch-zoom and orbit on touchscreens.

The controls are always active when third-person mode is enabled.
A single SDL event forwarding hook is added to the main event loop;
all other changes are contained within the multiplayer extension.

https://claude.ai/code/session_013FyPCrJSaHxiJwdfGBVnYP

* Fix linker error and refactor orbit camera controls

Move HandleSDLEvent extension call from ISLE (no EXTENSIONS define) into
LegoInputManager::UpdateLastInputMethod in LEGO1 to fix unresolved
symbol errors. DRY up orbit camera code with ClampPitch/ClampDistance/
ResetOrbitState/ApplyOrbitCamera helpers. Simplify direction vector
computation. Fix mouse orbit yaw direction.

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

* Fixes

---------

Co-authored-by: Claude <noreply@anthropic.com>
2026-03-08 06:23:57 +01:00
..
lego Add free camera controls (#10) 2026-03-08 06:23:57 +01:00
modeldb Merge remote-tracking branch 'isle/master' 2025-06-24 09:05:44 -07:00
mxdirectx Plug leaks until Information Center, detected by the LeakSanitizer (#764) 2026-01-04 03:35:42 +01:00
mxgeometry Merge remote-tracking branch 'isle/master' 2025-09-12 12:35:22 -07:00
mxstl Implement LegoPathController::FUN_10048310 (#1192) 2024-12-06 20:50:40 +01:00
omni Update miniaudio to 0.11.24 (#774) 2026-01-30 19:42:06 -08:00
realtime Merge remote-tracking branch 'isle/master' 2026-01-30 17:06:10 -08:00
res Support building isle with modern MSVC + msys2 (#421) 2024-01-10 23:34:32 +01:00
tgl Plug memory leaks while moving around in the Information Center (#768) 2026-01-06 04:17:23 +01:00
viewmanager Merge remote-tracking branch 'isle/master' 2026-01-07 16:39:54 -07:00
cursor.h Make draw cursor feature work for modern platforms (#480) 2025-07-03 18:05:46 +02:00
define.cpp Match LegoActor and LegoPathActor in BETA10 (#1524) 2025-05-27 22:04:01 +02:00
define.h Implement/match LegoRaceActor (#1072) 2024-08-02 22:29:21 -07:00
lego1_export.h Use SDL3 functions in more locations (#44) 2024-12-24 18:04:46 -07:00
lego1_pch.h Merge remote-tracking branch 'isle/master' 2026-01-30 17:06:10 -08:00
library_msvc.h Beta match LegoLOD and related classes (#1704) 2026-01-05 23:45:36 +01:00
library_smack.h Fix inclusion guards of 3 files (#1509) 2025-05-20 02:15:30 +02:00
library_smartheap.h Add SmartHeap for LEGO1 (#1694) 2025-10-12 07:36:36 +02:00
main.cpp Restructure miniwin and add support for 3D backends 2025-05-29 04:07:53 +02:00