Commit Graph

209 Commits

Author SHA1 Message Date
olebeck
f7d7a2007b Merge remote-tracking branch 'upstream/master' 2025-07-12 12:19:45 +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
olebeck
519ca1e1e2 Merge remote-tracking branch 'upstream/master' 2025-07-10 18:36:21 +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
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
olebeck
d360fa290b use ifdefs for all d3drm backends, cpack to generate vpk 2025-07-09 18:16:49 +02:00
olebeck
4446aaaf53
translate and scale touch coordinates to the viewport (#565) 2025-07-09 12:55:26 +00:00
olebeck
4c7a44e0f3 Merge remote-tracking branch 'upstream/master' 2025-07-09 13:51:06 +02:00
Christian Semmler
4dc8bfc0ac
Add full screen support (#560) 2025-07-09 00:17:20 +02:00
Christian Semmler
37c6abe3b5
Disable offscreen canvases in case of no WebGL support (#559) 2025-07-08 21:43:34 +02:00
Korbo
6aeeb520c4
3DS CIA support (#542) 2025-07-08 01:45:49 +02:00
olebeck
8158bca0ab Merge remote-tracking branch 'upstream/master' 2025-07-07 15:03:03 +02:00
olebeck
0efac83ac5 move CONFIG_vita 2025-07-07 15:02:57 +02:00
Helloyunho
b82cfc4b36
Recheck through gamepads when gamepad is added or removed (#546)
* 🩹 fix: recheck through gamepads when gamepad is added or removed

* 🚑️ fix: oops i forgot to put lego1_export
2025-07-07 02:36:37 +00:00
olebeck
53e57a0ccb Merge remote-tracking branch 'upstream/master' 2025-07-06 22:24:42 +02:00
Anders Jenbo
9e14aac98a
Implement real transition for 3DS (#538) 2025-07-06 15:00:39 +00:00
olebeck
02b942b491 clang format 2025-07-06 16:41:04 +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
Helloyunho
dbff98f354
🩹 fix: click trigger spam clicks (#537) 2025-07-06 15:22:21 +02:00
olebeck
02371e33ba fix transition on gxm 2025-07-06 13:21:31 +02:00
olebeck
df27d5c9b5 Merge remote-tracking branch 'upstream/master' 2025-07-06 12:42:45 +02:00
Anders Jenbo
fd0b6bcaca
Some quick dpad mouse control (#533) 2025-07-06 05:45:27 +00:00
Anders Jenbo
004b88e02e
Start virtual mouse at center of screen (#532) 2025-07-06 07:06:14 +02:00
olebeck
24a2e18c9c Merge remote-tracking branch 'upstream/master' 2025-07-06 01:59:53 +02:00
Helloyunho
80514e2af7
Support gamepad (#527) 2025-07-05 21:27:24 +02:00
olebeck
3c9c35538c Merge remote-tracking branch 'upstream/master' 2025-07-04 22:02:40 +02:00
olebeck
0ff088959e change defaults 2025-07-04 21:50:12 +02:00
Anders Jenbo
af045eefed
Add fake mosaic to config tool (#522) 2025-07-04 17:41:18 +02:00
Anders Jenbo
92a96282b3
Fix tabbign in and out of fullscreen (#514) 2025-07-04 04:48:09 +02:00
olebeck
cc897bb0fa make config app not crash on launch 2025-07-04 01:53:06 +02:00
Christian Semmler
f1b22ee025
Allow Web port to be playable in Firefox Private (#513) 2025-07-04 01:28:45 +02:00
Helloyunho
0191be7461
Make draw cursor feature work for modern platforms (#480) 2025-07-03 18:05:46 +02:00
olebeck
9909aeae8a add messagebox on vita 2025-07-03 17:11:56 +02:00
olebeck
20460ba623 Merge remote-tracking branch 'upstream/master' 2025-07-03 12:13:39 +02:00
Christian Semmler
be73b40ae8
Add monkey patch to Emscripten to disable OffscreenCanvas at runtime (#493)
* Add runtime option to disable OffscreenCanvas in web port

* Remove old patch
2025-07-03 02:10:02 +00:00
olebeck
bada87b975 transform touch events to virtual size 2025-07-03 00:00:37 +02:00
Christian Semmler
10b6d28cf8
Revert "Add resizable property to window creation (#477)"
This reverts commit 0e70735549.
2025-07-02 08:06:09 -07:00
VoxelTek
0e70735549
Add resizable property to window creation (#477)
Add resizable property to window creation. Allows Close button to be present in some cases where it did not appear.
2025-07-02 15:16:54 +02:00
olebeck
b12d246b3f add vita to dist folder 2025-07-02 03:28:46 +02:00
olebeck
fae97351a5 Merge remote-tracking branch 'upstream/master' 2025-07-02 02:24:36 +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
olebeck
47704c89ec remove a change thats not needed 2025-07-01 02:48:21 +02:00
olebeck
3c548d987c Merge remote-tracking branch 'upstream/master' 2025-06-30 21:10:28 +02:00
David Gow
e87184b502
Fix the OpenGL backends on non-glx Linux platforms (and remove GLEW dependency) (#446)
* Work around issues with depth-buffer size on EGL-based platforms

The OpenGL 1.1 and OpenGL ES 2.0 backends can break on EGL-based platforms,
such as Wayland, or X11 with SDL_VIDEO_FORCE_EGL=1. One of the reasons for
this (the other being glew on the GL1.1 backend) is that SDL/egl get very
confused by the way we set OpenGL attributes, particularly SDL_GL_DEPTH_SIZE,
resulting in SDL_GL_CreateContext() failing with EGL_BAD_MATCH.

The exact cause of this is unknown, but it seems to be a combination of:
- SDL_GL_SetAttribute() is supposed to be called _before_ the window is
  created, and we're calling it afterward.
- Creating several test windows during the enumeration process, mixing
  and matching between OpenGL and OpenGL ES profiles.

The "most correct" solution is probably to delay creating the game window
until the backend creation process, rather than before the enumeration
occurs. But that's a real refactor, which could cause other issues.

Instead, set the 24-bit bit depth (which we've hardcoded anyway) before
creating the window, and use SDL_GL_ResetAttributes() when creating backends.

This seems to work here in all of the cases I was able to try (modulo the GLEW
dependency, which is removed in the next patch).

* miniwin: Remove GLEW dependency for OpenGL 1.1

GLEW normally backs directly onto glXGetProcAddress on Linux, which is broken
on non-GLX setups, such as Wayland (but also X11 with EGL, and presumably KMSDRM).

Replace it with manual calls to SDL_GL_GetProcAddress() for the VBO path.

Note, however, that SDL_opengl.h includes "windows.h", so conflicts with the
miniwin implementation, which breaks builds on windows.

In order to work around this, we do what the Direct3D9 implementation does and
push all of the OpenGL calls to a separate file, actual.cpp.

Going forward, it may make sense to load _all_ OpenGL entry points via SDL,
which would allow us to avoid linking directly with libGL/libOpenGL, and
therefore eliminate the separate build dependency altogether, as well as
allowing more runtime configurability as to the OpenGL library to load.

(But that's definitely a bit uglier, and also useful very rarely.)
2025-06-29 17:47:09 +02:00
Christian Semmler
020969c483
Add transition type to ini (#441) 2025-06-29 02:49:46 +02:00
olebeck
2aeeff7d07 remove some unneeded changes 2025-06-28 03:30:03 +02:00
olebeck
a6b90abcca Merge remote-tracking branch 'upstream/master' 2025-06-28 02:47:07 +02:00
Christian Semmler
a987595e1e
1.0 compatibility (#434)
* Make Infocenter compatible with 1.0 versions

* Fix

* Emscripten patch

* Fix

* Fix Emscripten patch

* Window title

* Naming

* Don't exit car build automatically in 1.0

* Disable character selection by clicking icon in 1.0

* Remove obsolete includes
2025-06-27 02:30:24 +02:00