Christian Semmler
c760db50a9
Extract WorldStateSync from NetworkManager
...
Move world state synchronization logic (snapshots, events, entity
mutation routing) into a dedicated WorldStateSync class, reducing
NetworkManager from ~790 to ~420 lines.
2026-03-01 10:14:47 -08:00
Christian Semmler
a0629c45a1
Minimize LEGO1 changes: revert globals, move CreateCharacterClone to extension
...
Revert plant/building manager globals back to private class statics
(matching master) and use friend declarations for extension access.
Move CreateCharacterClone out of LegoCharacterManager into a new
CharacterCloner class in the multiplayer extension.
2026-03-01 10:04:13 -08:00
Christian Semmler
12a63c105c
Implement multiplayer world state sync for plants and buildings
...
Add serialization framework using C++ templates and table-driven lookup
to sync plant and building state between players. Includes world snapshot
routing to requesting peer, relay server Docker support, and fixes for
building color sync, ride vehicle visibility, and ARM compilation.
2026-03-01 09:48:03 -08:00
Christian Semmler
5c8a2ffd3b
Implement multiplayer MVP: WebSocket networking, remote player rendering, vehicle support
...
- WebSocket relay server (Cloudflare Worker + Durable Object)
- Remote player character cloning with walk/idle/ride animations
- Vehicle support for remote players
- INI config for relay URL
- Extension hook for world transition ROI management
2026-02-28 12:00:01 -08:00
Christian Semmler
a3122cd209
Merge remote-tracking branch 'isle/master'
CI / clang-format (push) Waiting to run
CI / ${{ matrix.name }} (false, --toolchain /usr/local/vitasdk/share/vita.toolchain.cmake, false, false, Ninja, Vita, ubuntu-latest, true, true) (push) Waiting to run
CI / ${{ matrix.name }} (false, -DCMAKE_SYSTEM_NAME=WindowsStore -DCMAKE_SYSTEM_VERSION=10.0.26100.0, false, false, Visual Studio 17 2022, true, Xbox One, windows-latest, amd64, false, true) (push) Waiting to run
CI / ${{ matrix.name }} (false, -DCMAKE_TOOLCHAIN_FILE=/opt/devkitpro/cmake/3DS.cmake, false, devkitpro/devkitarm:latest, false, Ninja, true, Nintendo 3DS, ubuntu-latest, true) (push) Waiting to run
CI / ${{ matrix.name }} (false, -DCMAKE_TOOLCHAIN_FILE=/opt/devkitpro/cmake/Switch.cmake, false, devkitpro/devkita64:latest, false, Ninja, Nintendo Switch, true, ubuntu-latest, true) (push) Waiting to run
CI / ${{ matrix.name }} (false, emcmake, false, false, true, Ninja, Emscripten, ubuntu-latest, true) (push) Waiting to run
CI / ${{ matrix.name }} (false, false, false, Ninja, true, MSVC (arm64), windows-latest, amd64_arm64, false) (push) Waiting to run
CI / ${{ matrix.name }} (false, false, true, Ninja, true, MSVC (x86), windows-latest, amd64_x86, false) (push) Waiting to run
CI / ${{ matrix.name }} (false, true, false, Ninja, true, MSVC (x64), windows-latest, amd64, false) (push) Waiting to run
CI / ${{ matrix.name }} (false, true, true, false, Ninja, true, MSVC (x64 Debug), windows-latest, amd64, false) (push) Waiting to run
CI / ${{ matrix.name }} (true, false, -DCMAKE_SYSTEM_NAME=iOS, false, false, Xcode, true, iOS, macos-15, true) (push) Waiting to run
CI / ${{ matrix.name }} (true, false, false, Ninja, true, mingw-w64-i686, mingw32, msys2 mingw32, windows-latest, msys2 {0}, true) (push) Waiting to run
CI / ${{ matrix.name }} (true, false, false, false, Ninja, Android, ubuntu-latest, true) (push) Waiting to run
CI / ${{ matrix.name }} (true, false, true, false, Ninja, macOS, macos-latest, true) (push) Waiting to run
CI / ${{ matrix.name }} (true, true, false, Ninja, true, mingw-w64-x86_64, mingw64, msys2 mingw64, windows-latest, msys2 {0}, true) (push) Waiting to run
CI / ${{ matrix.name }} (true, true, true, false, Ninja, true, Linux (Debug), ubuntu-latest, true) (push) Waiting to run
CI / ${{ matrix.name }} (true, true, true, false, Ninja, true, Linux, ubuntu-latest, true) (push) Waiting to run
CI / Flatpak (${{ matrix.arch }}) (aarch64, ubuntu-22.04-arm) (push) Waiting to run
CI / Flatpak (${{ matrix.arch }}) (x86_64, ubuntu-latest) (push) Waiting to run
CI / C++ (push) Waiting to run
CI / Release (push) Blocked by required conditions
Docker / Publish web port (push) Waiting to run
2026-01-30 17:06:10 -08:00
Fabian Neundorf
971fe939a6
Clear unknowns in LegoPathActor ( #1731 )
...
Co-authored-by: Christian Semmler <mail@csemmler.com>
2026-01-31 01:47:11 +01:00
MS
935be9de55
Implement LegoTestTimer ( #1732 )
...
* Implement LegoTestTimer
* Fix variable name
* Use override
2026-01-27 13:21:56 -05:00
Fabian Neundorf
5e7a787af0
Clear unknowns in LegoPathBoundary ( #1730 )
2026-01-25 20:48:36 +01:00
Fabian Neundorf
a251424b10
Clear unknowns in legoracers.h ( #1729 )
2026-01-25 20:45:58 +01:00
Fabian Neundorf
e094e38147
Clear unknowns in IslePathActor ( #1725 )
2026-01-19 14:13:01 -08:00
Fabian Neundorf
e05cb05983
Clear unknowns in LegoPathController ( #1724 )
2026-01-18 12:31:56 -08:00
Fabian Neundorf
01c92d1966
Clear unknowns in LegoPathEdgeContainer and LegoBEWithFloat ( #1723 )
...
Renames `LegoBEWithFloat` also to `LegoBEWithMidpoint` to be more specific.
2026-01-18 06:50:17 -08:00
Fabian Neundorf
8b0b6d9082
Clear unknowns in LegoActionControlPresenter ( #1722 )
2026-01-14 16:51:42 -07:00
Fabian Neundorf
197ae3ee10
Clear unknowns in LegoNavController ( #1720 )
2026-01-14 16:50:09 -07:00
Fabian Neundorf
600079215f
Anim presenters ( #1719 )
...
* Clear unknowns in `LegoAnimPresenter`, `LegoLocomotionAnimPresenter` and `LegoHideAnimPresenter`
* Clear visibility unknowns in animation presenters
---------
Co-authored-by: Florian Kaiser <mail@floriankaiser.org>
Co-authored-by: Christian Semmler <mail@csemmler.com>
2026-01-13 21:54:44 +01:00
Fabian Neundorf
dace101b85
Clear unknowns in LegoExtraActor ( #1718 )
2026-01-13 00:39:16 +01:00
Fabian Neundorf
faa4e45e48
Clear unknowns in MxCompositePresenter ( #1717 )
2026-01-12 15:16:44 -07:00
Fabian Neundorf
c31b3dcdff
Clear unknowns in MxCompositeMediaPresenter ( #1716 )
2026-01-12 15:15:21 -07:00
Fabian Neundorf
ea61077c1b
Clear unknowns in Act3Ammo ( #1715 )
2026-01-12 02:49:16 +01:00
Fabian Neundorf
812202f650
Clear unknowns in Doors ( #1714 )
2026-01-11 17:59:46 +01:00
Fabian Neundorf
4bcc2b964b
Clear unknowns in LegoUnknown and rename to LegoSpline ( #1711 )
2026-01-10 20:00:26 +01:00
Sebastian Mischke
da69997480
Clear unknowns in LegoRaceMap ( #1705 )
...
* Rename FUN_1005d4b0 to UpdateMapLocatorPosition
* Rename m_unk0x08 to m_mapEnabled
* Rename m_unk0x14 to m_worldXOffset
* Rename m_unk0x1c to m_worldYOffset
* Rename m_unk0x18 to m_worldXScale
* Rename m_unk0x20 to m_worldYScale
* Rename m_unk0x24 to m_screenXScale
* Rename m_unk0x28 to m_screenYScale
* Rename m_unk0x2c to m_screenXOffset
* Rename m_unk0x30 to m_screenYOffset
* Rename worldY to worldZ
---------
Co-authored-by: Christian Semmler <mail@csemmler.com>
2026-01-10 19:49:04 +01:00
Christian Semmler
d121ae1ecd
Merge remote-tracking branch 'isle/master'
CI / clang-format (push) Has been cancelled
CI / ${{ matrix.name }} (false, --toolchain /usr/local/vitasdk/share/vita.toolchain.cmake, false, false, Ninja, Vita, ubuntu-latest, true, true) (push) Has been cancelled
CI / ${{ matrix.name }} (false, -DCMAKE_SYSTEM_NAME=WindowsStore -DCMAKE_SYSTEM_VERSION=10.0.26100.0, false, false, Visual Studio 17 2022, true, Xbox One, windows-latest, amd64, false, true) (push) Has been cancelled
CI / ${{ matrix.name }} (false, -DCMAKE_TOOLCHAIN_FILE=/opt/devkitpro/cmake/3DS.cmake, false, devkitpro/devkitarm:latest, false, Ninja, true, Nintendo 3DS, ubuntu-latest, true) (push) Has been cancelled
CI / ${{ matrix.name }} (false, -DCMAKE_TOOLCHAIN_FILE=/opt/devkitpro/cmake/Switch.cmake, false, devkitpro/devkita64:latest, false, Ninja, Nintendo Switch, true, ubuntu-latest, true) (push) Has been cancelled
CI / ${{ matrix.name }} (false, emcmake, false, false, true, Ninja, Emscripten, ubuntu-latest, true) (push) Has been cancelled
CI / ${{ matrix.name }} (false, false, false, Ninja, true, MSVC (arm64), windows-latest, amd64_arm64, false) (push) Has been cancelled
CI / ${{ matrix.name }} (false, false, true, Ninja, true, MSVC (x86), windows-latest, amd64_x86, false) (push) Has been cancelled
CI / ${{ matrix.name }} (false, true, false, Ninja, true, MSVC (x64), windows-latest, amd64, false) (push) Has been cancelled
CI / ${{ matrix.name }} (false, true, true, false, Ninja, true, MSVC (x64 Debug), windows-latest, amd64, false) (push) Has been cancelled
CI / ${{ matrix.name }} (true, false, -DCMAKE_SYSTEM_NAME=iOS, false, false, Xcode, true, iOS, macos-15, true) (push) Has been cancelled
CI / ${{ matrix.name }} (true, false, false, Ninja, true, mingw-w64-i686, mingw32, msys2 mingw32, windows-latest, msys2 {0}, true) (push) Has been cancelled
CI / ${{ matrix.name }} (true, false, false, false, Ninja, Android, ubuntu-latest, true) (push) Has been cancelled
CI / ${{ matrix.name }} (true, false, true, false, Ninja, macOS, macos-latest, true) (push) Has been cancelled
CI / ${{ matrix.name }} (true, true, false, Ninja, true, mingw-w64-x86_64, mingw64, msys2 mingw64, windows-latest, msys2 {0}, true) (push) Has been cancelled
CI / ${{ matrix.name }} (true, true, true, false, Ninja, true, Linux (Debug), ubuntu-latest, true) (push) Has been cancelled
CI / ${{ matrix.name }} (true, true, true, false, Ninja, true, Linux, ubuntu-latest, true) (push) Has been cancelled
CI / Flatpak (${{ matrix.arch }}) (aarch64, ubuntu-22.04-arm) (push) Has been cancelled
CI / Flatpak (${{ matrix.arch }}) (x86_64, ubuntu-latest) (push) Has been cancelled
CI / C++ (push) Has been cancelled
Docker / Publish web port (push) Has been cancelled
CI / Release (push) Has been cancelled
2026-01-07 16:39:54 -07:00
Sebastian Mischke
923b450008
Clear unknowns in TowTrack ( #1709 )
...
* Rename FUN_1004dcb0 to PlayActorAnimation
* Rename m_unk0x160 to m_unused_0x160
* Rename m_unk0x168 to m_unused_0x168
* Fix variable naming pattern
2026-01-08 00:31:28 +01:00
Fabian Neundorf
29dda2c369
Clear unknowns in LegoActor ( #1708 )
2026-01-05 20:29:30 +01:00
Fabian Neundorf
c0c56be530
Clear unknowns in CarRace ( #1707 )
...
* Clear unknowns in `Carrace`
* Clear unknowns in `CarRace`
---------
Co-authored-by: Florian Kaiser <mail@floriankaiser.org>
2026-01-05 20:28:46 +01:00
Fabian Neundorf
e7a15d7270
Clear unknowns in JetskiRace ( #1706 )
2026-01-05 20:28:05 +01:00
Fabian Neundorf
056bdfb0b8
Clear unknowns in LegoRace and LegoRaceState ( #1702 )
2026-01-04 17:23:56 -07:00
Fabian Neundorf
36d760c686
Clear unknowns in Score ( #1701 )
2026-01-04 17:17:02 -07:00
3b56c9b607
fix WASD input conflict with debug mode ( #743 )
CI / clang-format (push) Waiting to run
CI / ${{ matrix.name }} (false, --toolchain /usr/local/vitasdk/share/vita.toolchain.cmake, false, false, Ninja, Vita, ubuntu-latest, true, true) (push) Waiting to run
CI / ${{ matrix.name }} (false, -DCMAKE_SYSTEM_NAME=WindowsStore -DCMAKE_SYSTEM_VERSION=10.0.26100.0, false, false, Visual Studio 17 2022, true, Xbox One, windows-latest, amd64, false, true) (push) Waiting to run
CI / ${{ matrix.name }} (false, -DCMAKE_TOOLCHAIN_FILE=/opt/devkitpro/cmake/3DS.cmake, false, devkitpro/devkitarm:latest, false, Ninja, true, Nintendo 3DS, ubuntu-latest, true) (push) Waiting to run
CI / ${{ matrix.name }} (false, -DCMAKE_TOOLCHAIN_FILE=/opt/devkitpro/cmake/Switch.cmake, false, devkitpro/devkita64:latest, false, Ninja, Nintendo Switch, true, ubuntu-latest, true) (push) Waiting to run
CI / ${{ matrix.name }} (false, emcmake, false, false, true, Ninja, Emscripten, ubuntu-latest, true) (push) Waiting to run
CI / ${{ matrix.name }} (false, false, false, Ninja, true, MSVC (arm64), windows-latest, amd64_arm64, false) (push) Waiting to run
CI / ${{ matrix.name }} (false, false, true, Ninja, true, MSVC (x86), windows-latest, amd64_x86, false) (push) Waiting to run
CI / ${{ matrix.name }} (false, true, false, Ninja, true, MSVC (x64), windows-latest, amd64, false) (push) Waiting to run
CI / ${{ matrix.name }} (false, true, true, false, Ninja, true, MSVC (x64 Debug), windows-latest, amd64, false) (push) Waiting to run
CI / ${{ matrix.name }} (true, false, -DCMAKE_SYSTEM_NAME=iOS, false, false, Xcode, true, iOS, macos-15, true) (push) Waiting to run
CI / ${{ matrix.name }} (true, false, false, Ninja, true, mingw-w64-i686, mingw32, msys2 mingw32, windows-latest, msys2 {0}, true) (push) Waiting to run
CI / ${{ matrix.name }} (true, false, false, false, Ninja, Android, ubuntu-latest, true) (push) Waiting to run
CI / ${{ matrix.name }} (true, false, true, false, Ninja, macOS, macos-latest, true) (push) Waiting to run
CI / ${{ matrix.name }} (true, true, false, Ninja, true, mingw-w64-x86_64, mingw64, msys2 mingw64, windows-latest, msys2 {0}, true) (push) Waiting to run
CI / ${{ matrix.name }} (true, true, true, false, Ninja, true, Linux (Debug), ubuntu-latest, true) (push) Waiting to run
CI / ${{ matrix.name }} (true, true, true, false, Ninja, true, Linux, ubuntu-latest, true) (push) Waiting to run
CI / Flatpak (${{ matrix.arch }}) (aarch64, ubuntu-22.04-arm) (push) Waiting to run
CI / Flatpak (${{ matrix.arch }}) (x86_64, ubuntu-latest) (push) Waiting to run
CI / C++ (push) Waiting to run
CI / Release (push) Blocked by required conditions
Docker / Publish web port (push) Waiting to run
2025-12-17 20:20:02 -05:00
dc995c9c97
implement WASD control option ( #740 )
...
CI / clang-format (push) Has been cancelled
CI / ${{ matrix.name }} (false, --toolchain /usr/local/vitasdk/share/vita.toolchain.cmake, false, false, Ninja, Vita, ubuntu-latest, true, true) (push) Has been cancelled
CI / ${{ matrix.name }} (false, -DCMAKE_SYSTEM_NAME=WindowsStore -DCMAKE_SYSTEM_VERSION=10.0.26100.0, false, false, Visual Studio 17 2022, true, Xbox One, windows-latest, amd64, false, true) (push) Has been cancelled
CI / ${{ matrix.name }} (false, -DCMAKE_TOOLCHAIN_FILE=/opt/devkitpro/cmake/3DS.cmake, false, devkitpro/devkitarm:latest, false, Ninja, true, Nintendo 3DS, ubuntu-latest, true) (push) Has been cancelled
CI / ${{ matrix.name }} (false, -DCMAKE_TOOLCHAIN_FILE=/opt/devkitpro/cmake/Switch.cmake, false, devkitpro/devkita64:latest, false, Ninja, Nintendo Switch, true, ubuntu-latest, true) (push) Has been cancelled
CI / ${{ matrix.name }} (false, emcmake, false, false, true, Ninja, Emscripten, ubuntu-latest, true) (push) Has been cancelled
CI / ${{ matrix.name }} (false, false, false, Ninja, true, MSVC (arm64), windows-latest, amd64_arm64, false) (push) Has been cancelled
CI / ${{ matrix.name }} (false, false, true, Ninja, true, MSVC (x86), windows-latest, amd64_x86, false) (push) Has been cancelled
CI / ${{ matrix.name }} (false, true, false, Ninja, true, MSVC (x64), windows-latest, amd64, false) (push) Has been cancelled
CI / ${{ matrix.name }} (false, true, true, false, Ninja, true, MSVC (x64 Debug), windows-latest, amd64, false) (push) Has been cancelled
CI / ${{ matrix.name }} (true, false, -DCMAKE_SYSTEM_NAME=iOS, false, false, Xcode, true, iOS, macos-15, true) (push) Has been cancelled
CI / ${{ matrix.name }} (true, false, false, Ninja, true, mingw-w64-i686, mingw32, msys2 mingw32, windows-latest, msys2 {0}, true) (push) Has been cancelled
CI / ${{ matrix.name }} (true, false, false, false, Ninja, Android, ubuntu-latest, true) (push) Has been cancelled
CI / ${{ matrix.name }} (true, false, true, false, Ninja, macOS, macos-latest, true) (push) Has been cancelled
CI / ${{ matrix.name }} (true, true, false, Ninja, true, mingw-w64-x86_64, mingw64, msys2 mingw64, windows-latest, msys2 {0}, true) (push) Has been cancelled
CI / ${{ matrix.name }} (true, true, true, false, Ninja, true, Linux (Debug), ubuntu-latest, true) (push) Has been cancelled
CI / ${{ matrix.name }} (true, true, true, false, Ninja, true, Linux, ubuntu-latest, true) (push) Has been cancelled
CI / Flatpak (${{ matrix.arch }}) (aarch64, ubuntu-22.04-arm) (push) Has been cancelled
CI / Flatpak (${{ matrix.arch }}) (x86_64, ubuntu-latest) (push) Has been cancelled
CI / C++ (push) Has been cancelled
CI / Release (push) Has been cancelled
Docker / Publish web port (push) Has been cancelled
* implement WASD control option
* remove unnecessary getter function
2025-12-12 21:36:08 -07:00
Christian Semmler
f2871ce36c
Merge remote-tracking branch 'isle/master'
2025-11-23 09:17:40 -07:00
Anonymous Maarten
85ff14e997
Remove debug window ( #736 )
...
* Remove debug window
* LEGO1: remove a few exports
* LEGO1: Remove a few `friend class DebugViewer` declarations
2025-11-21 14:20:37 +00:00
jonschz
dfffb873ed
BETA10: Fix reccmp regressions, match RealtimeView ( #1696 )
...
---------
Co-authored-by: jonschz <jonschz@users.noreply.github.com>
2025-11-02 17:35:21 +01:00
Christian Semmler
b06f05ccf9
Merge remote-tracking branch 'isle/master'
2025-10-18 10:23:53 -07:00
Fabian Neundorf
9531678dfd
Clear unknowns in LegoCarBuild ( #1691 )
2025-10-07 23:04:02 +02:00
Fabian Neundorf
d05d583368
Clear unknown parameter in LegoEntity::SetROI ( #1688 )
2025-09-21 11:11:04 -07:00
Christian Semmler
ec3c770c61
Merge remote-tracking branch 'isle/master'
2025-09-12 12:35:22 -07:00
Fabian Neundorf
6c83ceb549
Clear unknowns in Act2Actor ( #1687 )
2025-09-12 21:22:48 +02:00
Fabian Neundorf
4460d2a33d
Clear unknowns in LegoVehicleBuildState ( #1684 )
2025-09-08 09:19:49 -07:00
Fabian Neundorf
ef2d438a7d
Clear unknowns in LegoCarBuildAnimPresenter ( #1683 )
2025-09-07 15:07:39 -07:00
Fabian Neundorf
e3b77fb50b
Clear unknowns in LegoAct2 ( #1679 )
2025-09-07 22:54:22 +02:00
jonschz
48febaf5c5
Match Mx3DPointFloat overloads on BETA10 ( #1682 )
...
* Match Mx3DPointFloat overloads on BETA10
---------
Co-authored-by: jonschz <jonschz@users.noreply.github.com>
2025-09-07 17:16:36 +02:00
jonschz
a7c43cbe17
Small BETA10 corrections ( #1681 )
...
* Small BETA10 corrections
---------
Co-authored-by: jonschz <jonschz@users.noreply.github.com>
2025-09-06 17:39:28 +02:00
Fabian Neundorf
190c040c96
Clear unknowns in LegoWorld ( #1674 )
2025-08-25 15:13:10 -04:00
Fabian Neundorf
34293a9c04
Clear unknowns in RegistrationBook ( #1678 )
2025-08-25 08:18:56 -04:00
Christian Semmler
12cad70d94
Merge remote-tracking branch 'isle/master'
2025-08-20 15:05:49 -07:00
Christian Semmler
7c95890cad
Remove obsolete enums in Infocenter ( #1677 )
2025-08-21 00:04:08 +02:00
Christian Semmler
6a8aaaabe2
Add widescreen.si to web port ( #666 )
...
* Add widescreen.si to web port
* Move logic
2025-08-11 04:41:42 +02:00
Christian Semmler
0f1b8e8430
Merge remote-tracking branch 'isle/master'
2025-08-10 13:16:30 -07:00