Commit Graph

225 Commits

Author SHA1 Message Date
Christian Semmler
ae886612c5
Fix DirectX5 build (#765) 2026-01-04 17:46:53 +01:00
Anonymous Maarten
e4690a57b8
Plug leaks until Information Center, detected by the LeakSanitizer (#764)
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-04 03:35:42 +01:00
Anonymous Maarten
527c308e28
Add isle:Active in Background config option (#756)
This keeps isle running in the background, useful for multitaskers.
2025-12-31 15:48:40 +00: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
0c7a95f143
Set default Anisotropic to 16 (#753) 2025-12-27 15:36:14 +00:00
Christian Semmler
b3d43a8cf7
Remove touch clamping to support widescreen (#752) 2025-12-26 01:29:14 +00:00
Anonymous Maarten
08a58092f9
SDL updates (#744)
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
* miniwin/shadercross: explicitly add include directory

* miniwin/sdl3gpu: update compiled shaders + add dxbc generation support

* isle: log SDL version at start up
2025-12-18 19:58:52 +00:00
dc995c9c97
implement WASD control option (#740)
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
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
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
Christian Semmler
39d2f52987
Free dictionary on failed load (#733)
Free the dictionary if it failed to load.
2025-11-10 19:38:40 -07:00
It's Rhew!
bad285500a
- Set defaults if ini exists, but empty. (#730)
- Create a new dictionary object, not use null object.

Co-authored-by: SnepOMatic (Rhew) <github@rhew.co.uk>
2025-11-11 02:16:33 +00: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
Christian Semmler
b06f05ccf9
Merge remote-tracking branch 'isle/master' 2025-10-18 10:23:53 -07:00
jonschz
fe5a238ae1
Add SmartHeap for LEGO1 (#1694)
---------

Co-authored-by: jonschz <jonschz@users.noreply.github.com>
2025-10-12 07:36:36 +02:00
Christian Semmler
d890e3db58
Add default MSAA and Anisotropic values to .ini generation (#717) 2025-09-24 19:51:47 +00:00
Christian Semmler
7eb1692290
Remove SDL3 workaround for missing mouse add events (#711) 2025-09-13 18:14:42 +02:00
Christian Semmler
73c6be7abf
Clean up config code (#679)
* Clean up config code

* Export function

* Fix
2025-08-15 18:56:36 +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
VoxelTek
e8140f9d51
Fix debug, improve isle-config (#672)
* Fix debug, improve `isle-config`

* Change to const char, rename to p_execName
2025-08-13 14:29:07 +00: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
Christian Semmler
72dae4dd52
Merge remote-tracking branch 'isle/master' 2025-07-29 16:47:18 -07:00
Christian Semmler
89f2f5cefe
(Web port) Improve loading UX for HD Textures (#648) 2025-07-25 23:08:55 +00:00
Christian Semmler
7473330e47
(Web port) Add HD textures option (#647) 2025-07-24 22:10:15 +00:00
Christian Semmler
f677fe5091
Merge branch 'master' of github.com:isledecomp/isle-portable 2025-07-23 13:21:45 -07:00
Christian Semmler
c774a8edde
Merge remote-tracking branch 'isle/master' 2025-07-23 13:21:39 -07:00
Christian Semmler
1a2e03de47
Make Anisotropic filtering configurable (#641) 2025-07-23 20:18:05 +00:00
Christian Semmler
a5a3c4ec83
Upgrade OpenGL ES renderer to 3.0, add option for MSAA (#636) 2025-07-23 18:00:48 +00:00
VoxelTek
8f6bfe078b
Add MSAA to isle-config, improve Exclusive Fullscreen resolution options. (#638)
* Add dropdown for exclusive fullscreen resolutions

* Add MSAA support

* Make clang-format happy

* Fix tab order

* Make clang-format happy again
2025-07-23 19:33:39 +02:00
Fabian Neundorf
eae038f6a9
Clear unknowns in MxVideoParamFlags (#1648) 2025-07-22 20:58:00 +02:00
Christian Semmler
e86fd71560
Handle SDL_EVENT_FINGER_CANCELED (#633) 2025-07-20 16:33:53 +00:00
Steven
3c3c36c0b9
Added Windows (MSVC) and Linux debug builds to CI (#631)
Also fixed two warnings with the debug program
2025-07-19 20:05:09 +00:00
Anders Jenbo
71c767d92b
Fix bad merge (#628) 2025-07-19 16:00:01 +00:00
Christian Semmler
10195dcbcb
Add more rumble events (#627)
* Add more rumble events

* Add check for haptic
2025-07-18 22:52:42 +00:00
Christian Semmler
38213275cf
Proper cleanup on user requested exit (#624) 2025-07-18 21:40:25 +00:00
VoxelTek
84bd0a1a87
Rework of isle-config, add resolution adjustment and max framerate settings (#608)
* Add resolution adjustment, framerate limit, etc

- isle-config has been reworked to be a smaller, more organised window
- resolution adjustment has now been added to isle-config, so that the resolution on windowed game start can be set
- max framerate setting added to isle-config
- higher-quality options disabled in isle-config if computer has too little RAM (unlikely)

* Make clang-format happy

* Switch to MxS32, move variable declaration to end

* Adjust sizing of resolution spinboxes

* Add full screen video mode

When full screen is enabled, the game goes full-screen, and the screen resolution changes.

* Rework to add Exclusive Fullscreen option.

* Remove comment

* Raise max LoD value to 60

* Fix tab order

* Simplify code
2025-07-16 02:29:45 +00:00
VoxelTek
b6a4f65db4
Add CLI help message, accessible with --help (#614)
* Add CLI --help argument

* Make clang-format happy

* Move to switch instead of creating temp var

* Remove unnecesary break

Co-authored-by: Christian Semmler <mail@csemmler.com>

* Remove unnecesary break 2

Co-authored-by: Christian Semmler <mail@csemmler.com>

* Make clang-format happy again

---------

Co-authored-by: Christian Semmler <mail@csemmler.com>
2025-07-16 00:29:42 +00:00
Christian Semmler
ad2832b096
(Web port) Pass vibration milliseconds into device haptics 2025-07-15 17:18:54 -07: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
Christian Semmler
f20fc475c7
Integrate SDL Haptic API (#607)
* Integrate SDL Haptic API

* Close other devices

* Fixes
2025-07-15 23:47:37 +02: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
Christian Semmler
21ce906a32
Add haptic feedback (rumble) (#596)
* Add rumble event for hit actor

* Add ini option
2025-07-13 20:26:47 -07:00
Christian Semmler
232ef07b51
Allow extensions to define options (#590)
* Allow extensions to define their own options

* Fixes

* Remove logging
2025-07-13 02:30:29 +00:00
Christian Semmler
42bac60ec5
Add new touch control scheme ("gamepad") (#587)
* Add new touch control scheme

* Add export

* Fix enum naming
2025-07-13 04:13:37 +02: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
Helloyunho
96f60cb683
🩹 fix: touch screens go beep and done (#573) 2025-07-10 12:43:46 +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
4e8ac86415
Dynamically on/off virtual cursor (#567)
*  feat: eliminate need of draw_cursor config

* 🩹 fix: type mismatch
2025-07-10 08:58:17 +02:00