* Add Docker web port image
* Comment out master
* Optimize
* Slim down image
* Revert "Comment out master"
This reverts commit 115c9770e8e01c1a4bc2455eca944d4f7f4c1cf4.
* Allow running from ISO
* 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>
* 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.)
* 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
Some architecture uses different type for uint32_t.
For example:
x86_64 | aarch64 = unsigned int
xtensa | riscv32 = long unsigned int
arm = long unsigned int
* 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
* Add tooltips, remove obsolete directory stuff
In the config tool, the "Media Path" entry was removed, as it doesn't do anything in isle-portable as far as I know.
The "Disk Path" and "CD Path" options were merged into one directory editing thing, where CD Path is specified and Disk Path is then derived from that.
A checkbox to enable or disable full-screen was added.
Tooltips were added to the config app, so now users can more easily tell what a setting in the config tool does.
* Make clang-format happy
* oops that's an extra semicolon I don't need
* Remove obsolete full screen forcing
Co-authored-by: Anders Jenbo <anders@jenbo.dk>
* Update CONFIG/config.cpp
Co-authored-by: Anders Jenbo <anders@jenbo.dk>
---------
Co-authored-by: Anders Jenbo <anders@jenbo.dk>