Commit Graph

272 Commits

Author SHA1 Message Date
foxtacles
8215544b02
Fix Docker build failure due to missing .git directory (#790)
Only add .git/HEAD as a build dependency when it exists, so the
Emscripten build succeeds in environments without a .git directory
(e.g. Docker).
2026-04-05 15:42:52 +00:00
foxtacles
7b114bbe59
Add multiplayer extension (#789)
* Add multiplayer extension

* Fix animation system to work when host is outside ISLE world

- Move TickHostSessions outside m_inIsleWorld gate so the host can
  coordinate animations from any world
- Load animation catalog early in HandleCreate so the host can
  coordinate before entering the ISLE world
- Use network-reported positions for remote player location detection
  instead of requiring spawned ROIs
- Always erase sessions at launch — the host's job ends when the
  animation starts; clients play and complete independently
- Replace BroadcastAnimComplete with locally-driven completion
  callbacks: host generates eventId at launch, clients cache
  completion JSON at start time, fire it when ScenePlayer finishes
- Make StopAnimation only do local cleanup (stop playback, cancel
  own interest, reset coordinator) without destroying the session
  host, so other players' sessions survive world transitions
- Broadcast state=0 in ResetAnimationState for full teardown paths
  (shutdown, reconnect, host migration) so clients aren't left with
  stale session state

* Fix use-after-free crash in ScenePlayer when remote player disconnects mid-animation

When a remote player's ROI is destroyed (disconnect, timeout, or respawn),
notify all active ScenePlayer instances to null out dangling references
before the ROI is freed. The animation engine already handles null ROI map
entries gracefully, so playback continues for remaining participants.

* Fix crash when performer's child ROIs are left dangling in ScenePlayer

NotifyROIDestroyed now walks the parent chain to also invalidate child
ROIs of the destroyed performer (head, limbs, etc.) that were placed
into the roiMap by BuildROIMap. The ancestor walk happens once; all
other fields are cleaned with simple pointer equality.

* Allow spectator to play click animation during scene playback

* Make PTATCAM track spectator ROI instead of camera in ScenePlayer

* Only regenerate emscripten version files when git state changes

Replace add_custom_target(ALL) with add_custom_command(OUTPUT) so the
version script only runs when .git/HEAD or the current branch ref file
changes, instead of on every build.

* Fix ROI name collision causing dangling pointers in NPC locomotion roiMaps

When ScenePlayer created cloned NPC ROIs for cooperative animations, it
renamed them to match the original character name and added them to the
ViewManager. This created a name collision: two ROIs with the same name.
The original game's AppendROIToScene searches by name and stops at the
first match, so if a locomotion BuildROIMap ran while the clone existed,
it could capture pointers to the clone's child ROIs. When the clone was
later destroyed (CleanupProps), those roiMap entries became dangling
pointers, crashing in AnimateWithTransform at roi.h:151 (SetVisibility).

Fix: use the alias mechanism (already supported by AnimUtils::BuildROIMap)
instead of renaming clones. Also unify all ROI name generation behind a
shared counter to prevent character manager key collisions.
2026-04-05 17:13:15 +02:00
foxtacles
7e4a86fb39
Add third person camera extension (#786)
Some checks failed
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, 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
Introduces a third person camera system with orbit camera, input handling
(mouse/keyboard/touch/gamepad), display actor cloning, and camera-relative
movement. Includes shared character utilities (animator, cloner, customizer)
and an IExtraAnimHandler interface for optional animation extensions.
Also includes generic base game fixes and extension system improvements.
2026-03-31 01:00:07 +02:00
Christian Semmler
a3122cd209
Merge remote-tracking branch 'isle/master'
Some checks are pending
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
MS
935be9de55
Implement LegoTestTimer (#1732)
* Implement LegoTestTimer

* Fix variable name

* Use override
2026-01-27 13:21:56 -05:00
Fabian Neundorf
4bcc2b964b
Clear unknowns in LegoUnknown and rename to LegoSpline (#1711) 2026-01-10 20:00:26 +01:00
Anonymous Maarten
bd537c3f1b
cmake: set install runpath (#767)
Some checks are pending
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-05 00:32:34 +01:00
Christian Semmler
7525bf0fcd
Set SDL window resizable to false for Emscripten (#755)
* Set SDL window resizable to false for Emscripten

* Pin SDL3 version to specific commit

* Update CMakeLists.txt
2025-12-30 21:57:23 +00:00
Christian Semmler
e95f7795c1
Pin SDL3 to release 3.2.28 for Emscripten (#745)
Some checks failed
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
2025-12-19 01:27:48 +01:00
Anonymous Maarten
7e1cc77dbe
cmake: support static system iniparser library (#742) 2025-12-18 00:48:41 +00:00
Anonymous Maarten
a90c7cb985
libweaver: support system library and use latest wip read flags (#735)
* Use system libweaver when DOWNLOAD_DEPENDENCIES is disabled

* Update to latest libweaver master
2025-11-23 00:26:54 +00: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
It's Rhew!
c2b0211304
Switch port (#731)
* - Set defaults if ini exists, but empty.
- Create a new dictionary object, not use null object.

* Switch Port

Todo: Fix: Misc crashes when interacting on island.
Todo: Fix: Joystick pointer is slow to move.
Todo: Fix: Touch doesn't behave.

* Fix: base GetPathInfo fixup in the SDL implementation, with check for null SDL_PathInfo.
Fix: Disable imgui shell functions.

Todo: Display imgui debug if enabled.

* Fix: Correction to suite style guidelines

* - Switch build homebrew NRO
- CI/CD to build Switch

* Fix typo in CI

* clang-format fix

* Clang-format against isleapp.cpp

* Use correct docker container for CI/CD

* Remove SDL fixups and use an SDL3 port with fixes.
Fixes crash bug and world issues!

* Fix: use Clang-Format 17 instead of 21

---------

Co-authored-by: SnepOMatic (Rhew) <github@rhew.co.uk>
2025-11-15 23:51:19 +01:00
olebeck
47736862a7
Add PSVita port (#541)
* add psvita to cmake

* no PIE for vita

* add modules to vpk

* use custom pvr apphint

* select correct renderer for sdl renderer

* patch sdl3 shaders, got something on screen!

* use proper cmake patch for sdl

* add missing module

* remove test window which causes a bug in the vita sdl port to show up

* add gxm renderer (not working with display yet)

* avoid sdl renderer for vita, seems broken

* make gxm renderer work with new d3drm

* fix rendering somewhat, some geometry shows up

* support paletted textures directly to avoid copying the texture twice

* fix Draw2DImage

* make 3d work, broken lights

* clean up a bit

* fix normals matrix

* remove some unneeded changes

* forgot env var

* wrong env dest

* run clang format

* correct texture address mode, use tlsf instead of sceClibMspace

* double buffered uniforms seem to work now

* missed a line

* update GXMRenderer_EnumDevice

* hopefully actually fix uniform buffers

* run clang-format

* remove a change thats not needed

* improve fragment shader performance

* add vita to dist folder

* add base for vita config app

* add config self to vpk

* transform touch events to virtual size

* add livearea graphics

* Update cmake file to include livearea assets

* put manual in the right place

* add sample rco

* add messagebox on vita

* triple buffer textures because fences arent a thing on vita and making draw&cpu sync would be too slow

* make config app not crash on launch

* change defaults

* update gxm renderer with interface changes

* split 2d and 3d shaders completely

* update gxm renderer

* fix transition on gxm

* clang format

* move config cmake

* move CONFIG_vita

* always clear before drawing 2d image

* hopefully fix windows build

* clang-format fix broken includes

* order again

* undo moving qt cmake to its own list

* move uic search path

* use ifdefs for all d3drm backends, cpack to generate vpk

* cmake wrong escape

* small cleanups in gxm renderer

* defer texture delete to avoid overwriting the texture during a frame

* clang-format

* more of the layout for config

* remove top buttons

* use SceAppSettings instead of custom ui

* use select for back to info center on vita, to make screenshots possible again

* remove accidentally left in add_subdirectory

* adjust diskpath to be like other ports

* use vita_create_vpk and not cpack

* gxm: msaa support, fix wrong file path

* gxm: add mipmaps (disabled)

* clang-format

* fix open isle.ini with fopen

* add missing strings

* use iniparser_set not dictionary_set

* add default save path to config

* load config app after initializing ini on vita

* fix config build

* change the default disk & cd path, update the paf library

* update paf library headers

* include orders for clang-format

* clean up

* make shader compiler not required

* move asm language

* warn instead of error when shader source is changed when no compiler is found

---------

Co-authored-by: Li <li@silica.codes>
Co-authored-by: Christian Semmler <mail@csemmler.com>
2025-10-31 23:23:12 +00:00
Anonymous Maarten
3f974f7317
Fix build with disabled precompiled headers (#724) 2025-10-24 20:56:11 +00:00
Christian Semmler
d10ac7e77c
Add hdmusic.si asset pack, extend SiLoader with Replace directive (#671)
* Replace SI objects

* Changes

* Fix

* Remove obsolete file

* Add delete handler

* Updates

* Update assets

* Configure git LFS

* Add HD music

* Move files to LFS

* chmod files

* fix gitattributes

* Fixes

* Fixes

* Add other HD music

* Fix file perms

* Add comment

* Minor update

* Refactor

* Fix

* Add LFS flag

* Add check for file replace

* Exclude assets from CPack

* Attempt fix

* Update libweaver

* Fix MxDSBuffer leak

* Add .lfsconfig

* Set LFS URL

* Fix LFS CI

* Fix

* Space
2025-08-16 21:21:39 +02:00
Cookie
f06731784e
Android port (#656)
* initial files

* get building

* proper paths & default to virtual mouse

* Wrap gradle under cmake & build SDL3.aar

run cmake with  -DANDROID_NDK_PATH=/path/to/ndk to generate the .aar & run the gradle build

if using Android Studio you will have to run the aar script manually(or do the cmake cmd) then put the normal cmake args inside '-PcmakeArgs="-DCMAKE_BUILD_TYPE=Release ...."'  at `Settings > Build, Execution, Deployment > Gradle-Android Compiler > Command-line Options`
Check CMakeLists.txt Android build block for more info

* workflow and format

* dont cmake -> gradle -> cmake

* icons

* prevent first start crash due to missing isle.ini

dont force require gles3 (vulkan & software are options)

* cleanup

* cmake script & ci cleanup

use a cmake script to downoad SDL3 sources for aar building

* script cleanups & gradle stub for android studio

handle the env var setting for the sdl3 aar build script

* signing

needed repository secrets:
- keystore  :  key.jks in base64
- keystorePassword  :  Key store password
- keyAlias  :  Key alias, ex key0
- keyPassword  :  Key Password

* conditionally run action without keys

* compile SDL once & cross-platformize gradle tasks

* suggestions

* use find_package over manual configuration

* use MxString

---------

Co-authored-by: Anders Jenbo <anders@jenbo.dk>
Co-authored-by: Christian Semmler <mail@csemmler.com>
2025-08-15 15:12:35 +00:00
Christian Semmler
841db2a577
Add SI Loader extension (#664)
* SiLoader draft

* Fixes

* Fixes

* Fix asset build on Windows

* Remove whitespace

* Package assets in CI

* Disable clang-tidy

* Fix NCC

* Try this

* Disable extensions on Xbox for now

* Update bitmap

* Update 3rdparty/CMakeLists.txt

Co-authored-by: Anonymous Maarten <madebr@users.noreply.github.com>

* Add DEPFILE for asset command

* Use assets.d instead of .d

---------

Co-authored-by: Anonymous Maarten <madebr@users.noreply.github.com>
2025-08-11 00:59:55 +00:00
Christian Semmler
72dae4dd52
Merge remote-tracking branch 'isle/master' 2025-07-29 16:47:18 -07:00
jonschz
a9e261606d
Fix mxomni.* file names (#1654)
Co-authored-by: jonschz <jonschz@users.noreply.github.com>
2025-07-25 22:19:09 +02:00
Christian Semmler
c774a8edde
Merge remote-tracking branch 'isle/master' 2025-07-23 13:21:39 -07:00
Christian Semmler
a5a3c4ec83
Upgrade OpenGL ES renderer to 3.0, add option for MSAA (#636) 2025-07-23 18:00:48 +00:00
jonschz
36f6d963dc
BETA matches for SoundManagers (#1646)
---------

Co-authored-by: jonschz <jonschz@users.noreply.github.com>
2025-07-21 23:42:42 +02:00
Christian Semmler
6a45dbec34
Merge remote-tracking branch 'isle/master' 2025-07-20 09:25:06 -07:00
jonschz
2980f88bb0
Fix filenames based on BETA10 MxAutoLock (#1640)
* Inline LegoAnimPresenters
---------

Co-authored-by: jonschz <jonschz@users.noreply.github.com>
2025-07-20 18:20:40 +02:00
Christian Semmler
55a3ad71c6
Bump Python to 3.12 (#625) 2025-07-18 21:51:11 +00:00
Christian Semmler
deca5e5a2e
Add device and gamepad haptics to web port (#613)
* Add device and gamepad haptics to web port

* Update skip.yml
2025-07-15 23:50:14 +00:00
MS
bf98bfffdf
CONFIG (#1627) 2025-07-15 12:58:13 -04:00
Christian Semmler
19edb0340e
Remove SDL mouse/touch event bug workaround (#606)
* Remove SDL mouse/touch event bug workaround

* Small refactor

* Add include
2025-07-14 18:51:11 +00:00
Korbo
ee6e230a4d
New 3DS banner sound, move 3DS data to packaging (#605)
* New 3DS banner sound

* move 3DS CIA data to packaging/3ds
2025-07-14 20:37:44 +02:00
MS
10986376cb
Fix #1575 (#1618) 2025-07-11 23:26:21 -04:00
Christian Semmler
7c91a14875
Extended full screen capabilities for Web port (#584)
* Extended full screen capabilities for Web port

* Add Emscripten patches

* Add back newline
2025-07-12 03:05:33 +02:00
Christian Semmler
68c967ebdf
Add extensions, TextureLoader (#570)
* Add extensions, `TextureLoader`

* Fix wording

* Add to default ini

* Add folder to flatpak

* Use different enable strategy
2025-07-10 00:24:59 -07:00
Helloyunho
9d8cb64a19
Add iOS Port (#566)
*  feat: add ios support

* ⚗️ chore: trying some experiments to make ci working

* ⚗️ chore: is it really ci version problem?

* 💚 fix: it really is just a ci version issue

* 🩹 fix: go as low as possible

* 🩹 fix: support ipad
2025-07-10 08:34:52 +02:00
Christian Semmler
37c6abe3b5
Disable offscreen canvases in case of no WebGL support (#559) 2025-07-08 21:43:34 +02:00
Helloyunho
2761d9985a
Create .app when building/packing macOS (#555) 2025-07-08 19:09:11 +02:00
Korbo
6aeeb520c4
3DS CIA support (#542) 2025-07-08 01:45:49 +02:00
Helloyunho
04bcfde38b
Add Xbox One/Series X|S port (#526)
* chore: update README.md

*  feat: got the audio working

* 🔧 feat: add appxmanifest

* 🩹 fix: remove opengl stuff

* ⚗️ feat: add button support

* ⚗️ chore: try to make less modification from upstream

* 🩹 fix: doesnt compile

*  feat: forcibly draw cursor and map right joystick to cursor

* 🩹 fix: remap joystick

* 🎨 fix: formatting

* 🎨 fix: cmakelists formatting

* 🩹 fix: 3ds build

* 👷 feat: add xbox one ci build

* 💚 fix: github hates xbox series naming

* 💚 fix: dont run cpack for xbox one, vs does that for you

* 💚 fix: xbox one need to use vs as generator

* 💚 fix: please

* 💚 fix: it could be msix not bundle

* 💚 fix: try recursive directory search when upload release

* 🔨 feat: support cpack

* 👷 feat: better packaging

* 💚 fix: ignore if mv fails

* 🔧 feat: add mouse sensitivity config

* 🔥 chore: dont need you

* ⚗️ chore: use d3d11

*  feat: hardware acceleration!!

* 🚸 chore: change default cd path so user can easily copy the assets to xbox

* 🧑‍💻 chore: improve reusability

* 🚨 fix: formatting error

* 🚸 chore: draw cursor by default

* 🎨 chore: cmakelists formatting

* chore: match with upstream

* chore: more matching with upstream

* chore: don't need you

* 🩹 fix: apply changes

* 🔥 fix: we don't need controller map anymore

* 🩹 fix: use isle style include guard

* 🩹 fix: last newline fix

* 👷 chore: use cpack

* 💚 fix: try to fix ci

* 💚 fix: i tried my best...
2025-07-06 07:28:00 -07:00
BagelSketches
9862705232
Added building config.exe with qt dlls on msvc 64-bit builds (#520) 2025-07-05 21:33:19 +02:00
Helloyunho
0191be7461
Make draw cursor feature work for modern platforms (#480) 2025-07-03 18:05:46 +02:00
Christian Semmler
e7c7ecf510
Add experimental WebGL support to Emscripten (#440)
Co-authored-by: Anders Jenbo <anders@jenbo.dk>
2025-07-02 06:15:15 +00:00
Christian Semmler
1f1787b5ac
Consolidate into a single CMake folder (#469)
* Consolidate into a single CMake folder'

* Remove extra path thing
2025-07-02 00:46:57 +02:00
Joshua Peisach
1ff768935e
3DS Port (#450)
* [WIP] 3ds port

Recommit of everything after the 2d renderer merge

* VERY AWESOME FEATURE FRFR

* Stopped CPU suicide and app crashing for now

* put in Texture3DS function thing

* Fix clear color

* Implement 2D rendering via Citro3D

* Set 3dsx smdh metadata

* Render world content, sort of

* Push mesh dynamically

* Remove Citro3D init hacks

* Clean up Citro3D implementation

* Try to upload meshes and convert matricies

* Fix 3D rendering

* Apply optimizations

* Implement lighting

* Set 3dsx smdh metadata

* Revert "Apply optimizations"

This reverts commit 6660082fef.

* Apply optimizations

* Added a cleaner icon (#4)

* Fix pure buffer clear frames (#9)

* Disable OpenGL on 3DS (#10)

* Fix tiled textures and improve UI image quality (#11)

* Create 3DS default config overrides

* 3ds: implement apt hooks

* remove unused import

* Apply suggestions from code review

Co-authored-by: Christian Semmler <mail@csemmler.com>
Co-authored-by: Anonymous Maarten <madebr@users.noreply.github.com>

* Update miniwin/src/d3drm/backends/citro3d/renderer.cpp

Co-authored-by: Anonymous Maarten <madebr@users.noreply.github.com>

* Separate 3DS apt hook code + move cmake 3ds into ISLE_BUILD_APP

* miniwin: use citro3dd if debugging

* Optimize texture encoding (#12)

* Cleanup

* Set correct mipmap level for UI textures (#13)

* cpack: include the .3dsx

* Add 3DS CI

* Fix CI

Co-authored-by: Anonymous Maarten <madebr@users.noreply.github.com>

* syntax

* Refactor c3d renderer (#14)

* Refactor c3d renderer

* format

* Apply suggestions from code review

Co-authored-by: Anders Jenbo <anders@jenbo.dk>

---------

Co-authored-by: Anders Jenbo <anders@jenbo.dk>

* n3ds: just distribute the .3dsx

* upload 3dsx

* Skip uploading 3DS artifacts

* Update ci.yml

* Update ci.yml

* Remove extraneous ifdef

---------

Co-authored-by: MaxBrick <maximusbrick@gmail.com>
Co-authored-by: Anders Jenbo <anders@jenbo.dk>
Co-authored-by: Steven <139715581+StevenSYS@users.noreply.github.com>
Co-authored-by: Christian Semmler <mail@csemmler.com>
Co-authored-by: Anonymous Maarten <madebr@users.noreply.github.com>
2025-07-01 02:43:10 +00:00
Anonymous Maarten
a258a89b1f
cmake: fix typo of architecture used in binary artifact (#455) 2025-06-30 00:06:21 +00:00
Anonymous Maarten
79462824e8
Fix continuous release (#454) 2025-06-29 23:35:24 +00:00
Brenden Davidson
6e7347621c
Flatpak Build Support (#407) 2025-06-29 19:04:08 +00:00
VoxelTek
73bab24721
Add Launch Game button to config tool, rename executable to isle-config (#435)
* Add Launch Game option to config tool

* Rename executable from "config" to "isle-config"

* Add error popup if unable to find game executable

* Use one QMessageBox for both Win and *nix

Create one QMessageBox object to use for both Windows and non-Windows platforms. Additionally, set all relevant text during creation of QMessageBox, and show Warning icon as part of message box.

* Add tooltips to save, launch, and exit buttons

* Change "Launch Game" to "Save and Launch"

* Remove unnecessary Windows-specific code
2025-06-26 07:21:11 -07:00
Danct12
19fee55333
Shared library support (#404)
This allows isle-portable to be built using shared libraries
provided by the developer's distribution.
2025-06-23 17:20:39 +02:00
Lukas
510d6f312a
Reflect python 3.11 requirement for shader build script in CMake (#363) 2025-06-21 13:17:50 +00:00
Christian Semmler
48fd42ea36
Check for files (#352)
* Check for files

* Fix
2025-06-21 00:45:21 +02:00