Commit Graph

2186 Commits

Author SHA1 Message Date
Joshua Peisach
3898ec1623
cpack: include the .3dsx 2025-06-30 09:03:19 -04:00
Joshua Peisach
5c560df768
Merge branch 'master' into 3ds 2025-06-30 08:56:23 -04: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
Anonymous Maarten
daa0bd1a32
ci: combine ci and release workflow (#453) 2025-06-29 22:50:28 +00:00
Damglador
54694a4611
AppImage packaging (#439)
* AppImage packaging

* Add flags to specify location of required local files

`--build=path` specifies where on the system is the directory with pre-build game binaries (must have binaries `isle` and `isle-config` in `path/bin` and game-specific libraries in `path/lib`)
`--apprun=path` specifies where the apprun is
`--desktop-file=path` same for the desktop file

* Move to packaging/linux

* Move building to appimage/build and ignore it in git

* Use local icon. Option to specify location for it

* Cleaning

* Attempt at Github automation

* Update CMakeLists.txt

* Fix build

* I guess it doesn't need quotes

* Update CMakeLists.txt

* Update release.yml

* Work around for liblego1.so loading, fix arguments

* Create testing.yml

* Update testing.yml

* I should pay more attention to what docs say

* Fix copy-pasting mistake

* Add AppImage packaging to the Release workflow

* Try fixing filepicker

* Delete testing.yml

* Fix releases

Can't specify where linuxdeploy leaves the file without specifying the name of the file, which I don't want to do, so just move the file in `dist` after packaging.

* Remove unnecessary changes

* Add qt6-xdgdesktopportal-platformtheme as deps

Needed to call the xdg filepicker, basically desktop-specific filepicker. Hopefully this will allow to use it in AppImage

* Get back flatpak in release

* Update release.yml

* Remove libglew-dev from apt install

* Fix duplicate upload artifact

* Update release.yml

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

* Remove *.AppImage pattern in Download All Artifacts

---------

Co-authored-by: Christian Semmler <mail@csemmler.com>
2025-06-29 22:53:54 +02:00
Brenden Davidson
6e7347621c
Flatpak Build Support (#407) 2025-06-29 19:04:08 +00:00
Anders Jenbo
53407adf17
Set correct mipmap level for UI textures (#13) 2025-06-29 14:46:29 -04:00
Joshua Peisach
4d47eebad2
Cleanup 2025-06-29 14:26:36 -04:00
Anders Jenbo
93a4448e89
Optimize texture encoding (#12) 2025-06-29 13:39:07 -04:00
Joshua Peisach
033df2d66f
miniwin: use citro3dd if debugging 2025-06-29 13:30:20 -04:00
Joshua Peisach
b1714b4e64
Separate 3DS apt hook code + move cmake 3ds into ISLE_BUILD_APP 2025-06-29 13:29:38 -04:00
Joshua Peisach
8b9f0b7110
Update miniwin/src/d3drm/backends/citro3d/renderer.cpp
Co-authored-by: Anonymous Maarten <madebr@users.noreply.github.com>
2025-06-29 12:34:27 -04:00
Joshua Peisach
a05baacc70
Apply suggestions from code review
Co-authored-by: Christian Semmler <mail@csemmler.com>
Co-authored-by: Anonymous Maarten <madebr@users.noreply.github.com>
2025-06-29 12:22:31 -04:00
Christian Semmler
77bbbfe2ca
(Pepper) Fix building variant switch bug (#451)
* (Pepper) Fix building variant switch bug

* Add comment
2025-06-29 18:15:42 +02:00
Christian Semmler
99be9c8767
Merge remote-tracking branch 'isle/master' 2025-06-29 08:56:06 -07:00
Christian Semmler
aa825aeecf
Add macro for switchable building index (#1596) 2025-06-29 17:55:34 +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
Joshua Peisach
0c9632f9bd
remove unused import 2025-06-29 11:42:37 -04:00
Joshua Peisach
511acfe82d
3ds: implement apt hooks 2025-06-29 11:41:54 -04:00
Joshua Peisach
2b7287452c
Create 3DS default config overrides 2025-06-29 10:33:08 -04:00
Anders Jenbo
019f055b77
Fix tiled textures and improve UI image quality (#11) 2025-06-29 07:23:21 -04:00
Joshua Peisach
b0c64a0a67
Merge branch 'isledecomp:master' into 3ds 2025-06-28 21:33:36 -04:00
Christian Semmler
020969c483
Add transition type to ini (#441) 2025-06-29 02:49:46 +02:00
Anders Jenbo
66a79afb6c
Disable OpenGL on 3DS (#10) 2025-06-28 20:34:46 -04:00
Fabian Neundorf
0982038453
Clear unknown in Hospital (#1595) 2025-06-28 15:38:48 -07:00
Anders Jenbo
d205e00b9b
Fix pure buffer clear frames (#9) 2025-06-28 17:46:21 -04:00
Steven
69f5f6b09b
Added a cleaner icon (#4) 2025-06-28 15:59:13 -04:00
Joshua Peisach
39cf5b9a9f
Merge pull request #7 from AJenbo/3ds
Apply optimizations
2025-06-28 15:58:50 -04:00
Anders Jenbo
c927ffb217 Apply optimizations 2025-06-28 21:54:08 +02:00
Joshua Peisach
929b5767d4
Merge pull request #2 from AJenbo/3ds
Implement 3D rendering
2025-06-28 15:41:08 -04:00
Anders Jenbo
e1c02d05dd Revert "Apply optimizations"
This reverts commit 6660082fef.
2025-06-28 21:06:37 +02:00
Fabian Neundorf
9dcc701fcb
Clear unknowns in GetSoundId (#1594) 2025-06-28 20:32:09 +02:00
Fabian Neundorf
89539a64f1
Clear unknown 0x10 in LegoEntity (#1593)
The naming is a bit weird, as only one bit is used so there are no other usages of this value.
2025-06-28 07:28:13 -07:00
Anders Jenbo
ebb8284af0 Merge remote-tracking branch 'upsream/master' into 3ds 2025-06-28 09:09:20 +02:00
Anders Jenbo
5171472a54 Merge remote-tracking branch '3ds/3ds' into 3ds 2025-06-28 09:08:37 +02:00
Joshua Peisach
6b4f013383 Set 3dsx smdh metadata 2025-06-28 09:06:58 +02:00
Anders Jenbo
87f4c83ff2 Implement lighting 2025-06-28 09:04:09 +02:00
Anders Jenbo
6660082fef Apply optimizations 2025-06-28 03:16:55 +02:00
Anders Jenbo
8891cbc714 Fix 3D rendering 2025-06-28 02:47:34 +02:00
Christian Semmler
02dd261ca9
Fix isle/master merge 2025-06-27 16:15:08 -07:00
Christian Semmler
c0e41a8ef6
Merge remote-tracking branch 'isle/master' 2025-06-27 16:10:31 -07:00
Korbo
16a94c725c
Names for race related or adjacent functions and variables (#1592)
* Names for race related or adjacent functions and variables

* fix formatting

* fix formatting
2025-06-28 01:08:45 +02:00
Anders Jenbo
bd9b528660 Try to upload meshes and convert matricies 2025-06-27 23:39:17 +02:00
Anders Jenbo
4aceebaf64 Clean up Citro3D implementation 2025-06-27 21:37:09 +02:00
Anders Jenbo
8a039a81f6 Remove Citro3D init hacks 2025-06-27 21:27:59 +02:00
Anders Jenbo
9dd3feac8e Push mesh dynamically 2025-06-27 20:54:50 +02:00
Anders Jenbo
cf2435134d Render world content, sort of 2025-06-27 19:22:59 +02:00
Joshua Peisach
afaa64ce91
Set 3dsx smdh metadata 2025-06-27 08:21:54 -04:00
Anders Jenbo
f80a55d4fb Implement 2D rendering via Citro3D 2025-06-27 05:18:39 +02:00