From 40f95c54568fdc93f815ff1ba4091d8d602e5a4f Mon Sep 17 00:00:00 2001 From: Alexander Pavlov Date: Thu, 15 Feb 2024 00:17:11 +0300 Subject: [PATCH] Add AppImage. --- README.md | 17 ++- .../0001-AppImage-CMakeLists.txt.patch | 134 ++++++++++++++++++ .../patches/0002-AppImage-Engine.cpp.patch | 120 ++++++++++++++++ appimage/patches/0003-Gfx_Vulkan.cpp.patch | 22 +++ appimage/patches/0004-SeriousSam.cpp.patch | 22 +++ .../SeriousSamTFE-Vk.AppImageBuilder.yml | 57 ++++++++ appimage/serioussam/serioussam.appdata.xml | 55 +++++++ appimage/serioussam/serioussam.desktop | 12 ++ .../SeriousSamTSE-Vk.AppImageBuilder.yml | 57 ++++++++ .../serioussamse/serioussamse.appdata.xml | 55 +++++++ appimage/serioussamse/serioussamse.desktop | 12 ++ 11 files changed, 562 insertions(+), 1 deletion(-) create mode 100644 appimage/patches/0001-AppImage-CMakeLists.txt.patch create mode 100644 appimage/patches/0002-AppImage-Engine.cpp.patch create mode 100644 appimage/patches/0003-Gfx_Vulkan.cpp.patch create mode 100644 appimage/patches/0004-SeriousSam.cpp.patch create mode 100644 appimage/serioussam/SeriousSamTFE-Vk.AppImageBuilder.yml create mode 100644 appimage/serioussam/serioussam.appdata.xml create mode 100644 appimage/serioussam/serioussam.desktop create mode 100644 appimage/serioussamse/SeriousSamTSE-Vk.AppImageBuilder.yml create mode 100644 appimage/serioussamse/serioussamse.appdata.xml create mode 100644 appimage/serioussamse/serioussamse.desktop diff --git a/README.md b/README.md index 55c60bd..cc19da7 100644 --- a/README.md +++ b/README.md @@ -1,7 +1,7 @@ # Serious Sam Classic: Vulkan [![Build status](https://github.com/tx00100xt/SeriousSamClassic-VK/actions/workflows/cibuild.yml/badge.svg)](https://github.com/tx00100xt//SeriousSamClassic-VK/actions/) [![License: GPL v2](https://img.shields.io/badge/License-GPL_v2-blue.svg)](https://www.gnu.org/licenses/old-licenses/gpl-2.0.en.html) -[![GitHub release (latest by date)](https://img.shields.io/github/v/release/tx00100xt/SeriousSamClassic-VK)](https://github.com/tx00100xt/SeriousSamClassic-VK/releases/tag/v1.10.6) +[![GitHub release (latest by date)](https://img.shields.io/github/v/release/tx00100xt/SeriousSamClassic-VK)](https://github.com/tx00100xt/SeriousSamClassic-VK/releases/tag/1.10.6d) [![Github downloads](https://img.shields.io/github/downloads/tx00100xt/SeriousSamClassic-VK/total.svg?logo=github&logoColor=white&style=flat-square&color=E75776)](https://github.com/tx00100xt/SeriousSamClassic-VK/releases/) Vulkan Serious Engine port based on [open source version](https://github.com/sultim-t/Serious-Engine-Vk). @@ -289,6 +289,21 @@ you will be asked to place your game data along the following paths: You can place game data in these paths before starting the game. Then the game will start immediately. To start the game, use the application menu. More detailed information about snap on the [SeriousSamClassic-VK Snap wiki.](https://github.com/tx00100xt/SeriousSamClassic-VK/wiki/Snap.md) +AppImage +-------- +[![Get Appimage](https://raw.githubusercontent.com/srevinsaju/get-appimage/master/static/badges/get-appimage-branding-blue.png)](https://github.com/tx00100xt/SeriousSamClassic-VK/releases/tag/1.10.6d) + +You can also run the game using AppImage. When you first start the game, +you will be asked to place your game data along the following paths: +``` +~/.local/share/Serious-Engine/serioussam +``` +``` +~/.local/share/Serious-Engine/serioussamse +``` +You can place game data in these paths before starting the game. Then the game will start immediately. +You can also place your game data anywhere in your home directory. The first time you start the game, it will find it itself. + Build only the OpenGL version ----------------------------- ### Note: diff --git a/appimage/patches/0001-AppImage-CMakeLists.txt.patch b/appimage/patches/0001-AppImage-CMakeLists.txt.patch new file mode 100644 index 0000000..b19c918 --- /dev/null +++ b/appimage/patches/0001-AppImage-CMakeLists.txt.patch @@ -0,0 +1,134 @@ +--- a/CMakeLists.txt 2024-02-13 17:08:26.497923000 +0300 ++++ b/CMakeLists.txt 2024-02-13 12:52:24.473932056 +0300 +@@ -1,4 +1,4 @@ +-cmake_minimum_required(VERSION 3.7) ++cmake_minimum_required(VERSION 3.4) + project(SeriousEngine) + + # Set @rpath for Mac OS X shared library install names. +--- a/SamTFE/Sources/CMakeLists.txt 2024-02-13 13:18:55.092066026 +0300 ++++ b/SamTFE/Sources/CMakeLists.txt 2024-02-13 13:02:50.340893761 +0300 +@@ -1,4 +1,4 @@ +-cmake_minimum_required(VERSION 3.7) ++cmake_minimum_required(VERSION 3.4) + project(SeriousEngine) + + # set minimal standart +@@ -309,7 +309,7 @@ + set(CMAKE_INSTALL_LIBDIR "/usr/lib") + if(CMAKE_SIZEOF_VOID_P EQUAL 8) + set(CMAKE_ARCH_BITS 64) +- set(CMAKE_INSTALL_LIBDIR "/usr/lib64") ++ #set(CMAKE_INSTALL_LIBDIR "/usr/lib64") + endif() + + if(FREEBSD) +@@ -321,33 +321,6 @@ + endif() + + message(STATUS "Arch bits: ${CMAKE_ARCH_BITS}") +- +-if(DEBIAN_FOUND OR UBUNTU_FOUND) +- #set libdir for debian based OS +- if(${CMAKE_SYSTEM_PROCESSOR} MATCHES "riscv64") +- set(CMAKE_INSTALL_LIBDIR "/usr/lib/riscv64-linux-gnu") +- elseif(CMAKE_SYSTEM_PROCESSOR MATCHES "^(arm.*|ARM.*)") # 32bit) +- set(CMAKE_INSTALL_LIBDIR "/usr/lib/arm-linux-gnueabihf") +- elseif(CMAKE_SYSTEM_PROCESSOR MATCHES "^(aarch64.*|AARCH64.*)") +- set(CMAKE_INSTALL_LIBDIR "/usr/lib/aarch64-linux-gnu") +- if(NOT "${CMAKE_SIZEOF_VOID_P}" EQUAL "8") +- message(FATAL_ERROR "invalid pointer size") +- endif() +- elseif(CMAKE_SYSTEM_PROCESSOR MATCHES "^(powerpc|ppc)64") +- set(CMAKE_INSTALL_LIBDIR "/usr/lib/powerpc64-linux-gnu") +- elseif(CMAKE_SYSTEM_PROCESSOR STREQUAL s390x) +- set(CMAKE_INSTALL_LIBDIR "/usr/lib/s390x-linux-gnu") +- elseif((CMAKE_SYSTEM_PROCESSOR MATCHES "i386|i686|x86|amd64|AMD64") AND (CMAKE_SIZEOF_VOID_P EQUAL 4)) +- set(CMAKE_INSTALL_LIBDIR "/usr/lib/i386-linux-gnu") +- elseif((CMAKE_SYSTEM_PROCESSOR MATCHES "x86_64|amd64|AMD64") AND (CMAKE_SIZEOF_VOID_P EQUAL 8)) +- set(CMAKE_INSTALL_LIBDIR "/usr/lib/x86_64-linux-gnu") +- elseif((CMAKE_SYSTEM_PROCESSOR MATCHES "i386") AND (CMAKE_SIZEOF_VOID_P EQUAL 8) AND (APPLE)) +- set(CMAKE_INSTALL_LIBDIR "/usr/lib/i386-linux-gnu") +- else() +- message(FATAL_ERROR "Unknown architecture") +- endif() +-endif() +- + message(STATUS "Installed libraries dir: ${CMAKE_INSTALL_LIBDIR}") + + ## ** RAKE! start compiler specific flags section ** +@@ -372,9 +345,9 @@ + add_compile_options(-mpowerpc64) + else() + if(LOCAL_INSTALL) +- add_compile_options(-march=native) ++ add_compile_options(-mtune=generic) + elseif(CMAKE_SYSTEM_PROCESSOR MATCHES "i386|i586|i686|x86|amd64|AMD64|x86_64") +- add_compile_options(-march=native) # set mtune=generic if nedded ++ add_compile_options(-mtune=generic) # set mtune=generic if nedded + endif() + endif() + endif() +--- a/SamTSE/Sources/CMakeLists.txt 2024-02-13 13:18:55.092066026 +0300 ++++ b/SamTSE/Sources/CMakeLists.txt 2024-02-13 13:02:50.340893761 +0300 +@@ -1,4 +1,4 @@ +-cmake_minimum_required(VERSION 3.7) ++cmake_minimum_required(VERSION 3.4) + project(SeriousEngine) + + # set minimal standart +@@ -309,7 +309,7 @@ + set(CMAKE_INSTALL_LIBDIR "/usr/lib") + if(CMAKE_SIZEOF_VOID_P EQUAL 8) + set(CMAKE_ARCH_BITS 64) +- set(CMAKE_INSTALL_LIBDIR "/usr/lib64") ++ #set(CMAKE_INSTALL_LIBDIR "/usr/lib64") + endif() + + if(FREEBSD) +@@ -321,33 +321,6 @@ + endif() + + message(STATUS "Arch bits: ${CMAKE_ARCH_BITS}") +- +-if(DEBIAN_FOUND OR UBUNTU_FOUND) +- #set libdir for debian based OS +- if(${CMAKE_SYSTEM_PROCESSOR} MATCHES "riscv64") +- set(CMAKE_INSTALL_LIBDIR "/usr/lib/riscv64-linux-gnu") +- elseif(CMAKE_SYSTEM_PROCESSOR MATCHES "^(arm.*|ARM.*)") # 32bit) +- set(CMAKE_INSTALL_LIBDIR "/usr/lib/arm-linux-gnueabihf") +- elseif(CMAKE_SYSTEM_PROCESSOR MATCHES "^(aarch64.*|AARCH64.*)") +- set(CMAKE_INSTALL_LIBDIR "/usr/lib/aarch64-linux-gnu") +- if(NOT "${CMAKE_SIZEOF_VOID_P}" EQUAL "8") +- message(FATAL_ERROR "invalid pointer size") +- endif() +- elseif(CMAKE_SYSTEM_PROCESSOR MATCHES "^(powerpc|ppc)64") +- set(CMAKE_INSTALL_LIBDIR "/usr/lib/powerpc64-linux-gnu") +- elseif(CMAKE_SYSTEM_PROCESSOR STREQUAL s390x) +- set(CMAKE_INSTALL_LIBDIR "/usr/lib/s390x-linux-gnu") +- elseif((CMAKE_SYSTEM_PROCESSOR MATCHES "i386|i686|x86|amd64|AMD64") AND (CMAKE_SIZEOF_VOID_P EQUAL 4)) +- set(CMAKE_INSTALL_LIBDIR "/usr/lib/i386-linux-gnu") +- elseif((CMAKE_SYSTEM_PROCESSOR MATCHES "x86_64|amd64|AMD64") AND (CMAKE_SIZEOF_VOID_P EQUAL 8)) +- set(CMAKE_INSTALL_LIBDIR "/usr/lib/x86_64-linux-gnu") +- elseif((CMAKE_SYSTEM_PROCESSOR MATCHES "i386") AND (CMAKE_SIZEOF_VOID_P EQUAL 8) AND (APPLE)) +- set(CMAKE_INSTALL_LIBDIR "/usr/lib/i386-linux-gnu") +- else() +- message(FATAL_ERROR "Unknown architecture") +- endif() +-endif() +- + message(STATUS "Installed libraries dir: ${CMAKE_INSTALL_LIBDIR}") + + ## ** RAKE! start compiler specific flags section ** +@@ -372,9 +345,9 @@ + add_compile_options(-mpowerpc64) + else() + if(LOCAL_INSTALL) +- add_compile_options(-march=native) ++ add_compile_options(-mtune=generic) + elseif(CMAKE_SYSTEM_PROCESSOR MATCHES "i386|i586|i686|x86|amd64|AMD64|x86_64") +- add_compile_options(-march=native) # set mtune=generic if nedded ++ add_compile_options(-mtune=generic) # set mtune=generic if nedded + endif() + endif() + endif() diff --git a/appimage/patches/0002-AppImage-Engine.cpp.patch b/appimage/patches/0002-AppImage-Engine.cpp.patch new file mode 100644 index 0000000..6fcf8fa --- /dev/null +++ b/appimage/patches/0002-AppImage-Engine.cpp.patch @@ -0,0 +1,120 @@ +--- a/SamTFE/Sources/Engine/Engine.cpp 2024-02-13 13:19:08.215747324 +0300 ++++ b/SamTFE/Sources/Engine/Engine.cpp 2024-02-13 13:06:48.202436314 +0300 +@@ -742,53 +742,11 @@ + CPrintF(TRANSV("Running %d-bit version\n"), sys_iGameBits); + + #ifdef PLATFORM_UNIX +-#if defined(__OpenBSD__) || defined(__FreeBSD__) +- int _isystempath = strncmp((const char *)strExePath, (const char *) "/usr/local/bin/", (size_t) 15 ); +-#elif defined(__NetBSD__) +- int _isystempath = strncmp((const char *)strExePath, (const char *) "/usr/pkg/bin/", (size_t) 13 ); +-#else +- int _isystempath = strncmp((const char *)strExePath, (const char *) "/usr/bin/", (size_t) 9 ); +-#endif +- if( _isystempath == 0 ) { +- sys_iSysPath = 1; // using system path +- } else { +- sys_iSysPath = 0; // using standarted path +- } + +- // get library path for mods +- _fnmModLibPath = ""; +-#if defined(__OpenBSD__) || defined(__FreeBSD__) +- if( sys_iSysPath == 1 ) { +- _fnmModLibPath = "/usr/local/lib/" + strGameID + "/"; +-#elif defined(__NetBSD__) +- if( sys_iSysPath == 1 ) { +- _fnmModLibPath = "/usr/pkg/lib/" + strGameID + "/"; +-#else +- if( sys_iSysPath == 1 && sys_iGameBits == 64 && _pFileSystem->IsDirectory((const char *) "/usr/lib/aarch64-linux-gnu/" + strGameID)) { +- _fnmModLibPath = "/usr/lib/aarch64-linux-gnu/" + strGameID + "/"; +- } else if( sys_iSysPath == 1 && sys_iGameBits == 32 && _pFileSystem->IsDirectory((const char *) "/usr/lib/arm-linux-gnueabihf/" + strGameID)) { +- _fnmModLibPath = "/usr/lib/arm-linux-gnueabihf/" + strGameID + "/"; +- } else if( sys_iSysPath == 1 && sys_iGameBits == 64 && _pFileSystem->IsDirectory((const char *) "/usr/lib/riscv64-linux-gnu/" + strGameID)) { +- _fnmModLibPath = "/usr/lib/riscv64-linux-gnu/" + strGameID + "/"; +- } else if( sys_iSysPath == 1 && sys_iGameBits == 64 && _pFileSystem->IsDirectory((const char *) "/usr/lib/s390x-linux-gnu/" + strGameID)) { +- _fnmModLibPath = "/usr/lib/s390x-linux-gnu/" + strGameID + "/"; +- } else if( sys_iSysPath == 1 && sys_iGameBits == 64 && _pFileSystem->IsDirectory((const char *) "/usr/lib/powerpc64-linux-gnu/" + strGameID)) { +- _fnmModLibPath = "/usr/lib/powerpc64-linux-gnu/" + strGameID + "/"; +- } else if( sys_iSysPath == 1 && sys_iGameBits == 64 && _pFileSystem->IsDirectory((const char *) "/usr/lib/x86_64-linux-gnu/" + strGameID)) { +- _fnmModLibPath = "/usr/lib/x86_64-linux-gnu/" + strGameID + "/"; +- } else if( sys_iSysPath == 1 && sys_iGameBits == 32 && _pFileSystem->IsDirectory((const char *) "/usr/lib/i386-linux-gnu/" + strGameID)) { +- _fnmModLibPath = "/usr/lib/i386-linux-gnu/" + strGameID + "/"; +- } else if( sys_iSysPath == 1 && sys_iGameBits == 64 && _pFileSystem->IsDirectory((const char *) "/usr/lib64/" + strGameID)) { +- _fnmModLibPath = "/usr/lib64/" + strGameID + "/"; +- } else if( sys_iSysPath == 1 && sys_iGameBits == 32 && _pFileSystem->IsDirectory((const char *) "/usr/lib//" + strGameID)) { +- _fnmModLibPath = "/usr/lib/" + strGameID + "/"; +-#endif +- } else if( sys_iSysPath == 0 ) { +- _fnmModLibPath = _fnmApplicationPath; +- } else { +- CPrintF(TRANSV("ERROR: Game libraries not ound!\n")); +- FatalError(TRANSV("Failed to search game libraries installed!\nPlease reinstall the game.\nSee the log for more details.\nGame log is here: ~/.local/share/Serious-Engine/%s/SeriousSam.log"),(const char *) strGameID); +- } ++ // using system path ++ sys_iSysPath = 1; ++ // library path for mods ++ _fnmModLibPath = _fnmApplicationPath + "lib/" + strGameID + "/"; + + if( sys_iSysPath == 1 ) { // search game data + CTFileName _fnm_usr_TestFile, _fnm_local_TestFile, _fnm_home_TestFile; +--- a/SamTSE/Sources/Engine/Engine.cpp 2024-02-13 13:19:08.215747324 +0300 ++++ b/SamTSE/Sources/Engine/Engine.cpp 2024-02-13 13:06:48.202436314 +0300 +@@ -742,53 +742,11 @@ + CPrintF(TRANSV("Running %d-bit version\n"), sys_iGameBits); + + #ifdef PLATFORM_UNIX +-#if defined(__OpenBSD__) || defined(__FreeBSD__) +- int _isystempath = strncmp((const char *)strExePath, (const char *) "/usr/local/bin/", (size_t) 15 ); +-#elif defined(__NetBSD__) +- int _isystempath = strncmp((const char *)strExePath, (const char *) "/usr/pkg/bin/", (size_t) 13 ); +-#else +- int _isystempath = strncmp((const char *)strExePath, (const char *) "/usr/bin/", (size_t) 9 ); +-#endif +- if( _isystempath == 0 ) { +- sys_iSysPath = 1; // using system path +- } else { +- sys_iSysPath = 0; // using standarted path +- } + +- // get library path for mods +- _fnmModLibPath = ""; +-#if defined(__OpenBSD__) || defined(__FreeBSD__) +- if( sys_iSysPath == 1 ) { +- _fnmModLibPath = "/usr/local/lib/" + strGameID + "/"; +-#elif defined(__NetBSD__) +- if( sys_iSysPath == 1 ) { +- _fnmModLibPath = "/usr/pkg/lib/" + strGameID + "/"; +-#else +- if( sys_iSysPath == 1 && sys_iGameBits == 64 && _pFileSystem->IsDirectory((const char *) "/usr/lib/aarch64-linux-gnu/" + strGameID)) { +- _fnmModLibPath = "/usr/lib/aarch64-linux-gnu/" + strGameID + "/"; +- } else if( sys_iSysPath == 1 && sys_iGameBits == 32 && _pFileSystem->IsDirectory((const char *) "/usr/lib/arm-linux-gnueabihf/" + strGameID)) { +- _fnmModLibPath = "/usr/lib/arm-linux-gnueabihf/" + strGameID + "/"; +- } else if( sys_iSysPath == 1 && sys_iGameBits == 64 && _pFileSystem->IsDirectory((const char *) "/usr/lib/riscv64-linux-gnu/" + strGameID)) { +- _fnmModLibPath = "/usr/lib/riscv64-linux-gnu/" + strGameID + "/"; +- } else if( sys_iSysPath == 1 && sys_iGameBits == 64 && _pFileSystem->IsDirectory((const char *) "/usr/lib/s390x-linux-gnu/" + strGameID)) { +- _fnmModLibPath = "/usr/lib/s390x-linux-gnu/" + strGameID + "/"; +- } else if( sys_iSysPath == 1 && sys_iGameBits == 64 && _pFileSystem->IsDirectory((const char *) "/usr/lib/powerpc64-linux-gnu/" + strGameID)) { +- _fnmModLibPath = "/usr/lib/powerpc64-linux-gnu/" + strGameID + "/"; +- } else if( sys_iSysPath == 1 && sys_iGameBits == 64 && _pFileSystem->IsDirectory((const char *) "/usr/lib/x86_64-linux-gnu/" + strGameID)) { +- _fnmModLibPath = "/usr/lib/x86_64-linux-gnu/" + strGameID + "/"; +- } else if( sys_iSysPath == 1 && sys_iGameBits == 32 && _pFileSystem->IsDirectory((const char *) "/usr/lib/i386-linux-gnu/" + strGameID)) { +- _fnmModLibPath = "/usr/lib/i386-linux-gnu/" + strGameID + "/"; +- } else if( sys_iSysPath == 1 && sys_iGameBits == 64 && _pFileSystem->IsDirectory((const char *) "/usr/lib64/" + strGameID)) { +- _fnmModLibPath = "/usr/lib64/" + strGameID + "/"; +- } else if( sys_iSysPath == 1 && sys_iGameBits == 32 && _pFileSystem->IsDirectory((const char *) "/usr/lib//" + strGameID)) { +- _fnmModLibPath = "/usr/lib/" + strGameID + "/"; +-#endif +- } else if( sys_iSysPath == 0 ) { +- _fnmModLibPath = _fnmApplicationPath; +- } else { +- CPrintF(TRANSV("ERROR: Game libraries not ound!\n")); +- FatalError(TRANSV("Failed to search game libraries installed!\nPlease reinstall the game.\nSee the log for more details.\nGame log is here: ~/.local/share/Serious-Engine/%s/SeriousSam.log"),(const char *) strGameID); +- } ++ // using system path ++ sys_iSysPath = 1; ++ // library path for mods ++ _fnmModLibPath = _fnmApplicationPath + "lib/" + strGameID + "/"; + + if( sys_iSysPath == 1 ) { // search game data + CTFileName _fnm_usr_TestFile, _fnm_local_TestFile, _fnm_home_TestFile; diff --git a/appimage/patches/0003-Gfx_Vulkan.cpp.patch b/appimage/patches/0003-Gfx_Vulkan.cpp.patch new file mode 100644 index 0000000..92e3b6f --- /dev/null +++ b/appimage/patches/0003-Gfx_Vulkan.cpp.patch @@ -0,0 +1,22 @@ +--- a/SamTFE/Sources/Engine/Graphics/Gfx_Vulkan.cpp 2024-02-14 23:09:04.922212716 +0300 ++++ b/SamTFE/Sources/Engine/Graphics/Gfx_Vulkan.cpp 2024-02-14 23:09:16.938635079 +0300 +@@ -169,7 +169,7 @@ + appInfo.applicationVersion = VK_MAKE_VERSION(1, 10, 6); + appInfo.pEngineName = "Serious Engine 1"; + appInfo.engineVersion = VK_MAKE_VERSION(1, 10, 6); +- appInfo.apiVersion = VK_API_VERSION_1_2; ++ appInfo.apiVersion = VK_API_VERSION_1_0; + + + VkInstanceCreateInfo instanceInfo = {}; +--- a/SamTSE/Sources/Engine/Graphics/Gfx_Vulkan.cpp 2024-02-14 23:09:04.922212716 +0300 ++++ b/SamTSE/Sources/Engine/Graphics/Gfx_Vulkan.cpp 2024-02-14 23:09:16.938635079 +0300 +@@ -169,7 +169,7 @@ + appInfo.applicationVersion = VK_MAKE_VERSION(1, 10, 6); + appInfo.pEngineName = "Serious Engine 1"; + appInfo.engineVersion = VK_MAKE_VERSION(1, 10, 6); +- appInfo.apiVersion = VK_API_VERSION_1_2; ++ appInfo.apiVersion = VK_API_VERSION_1_0; + + + VkInstanceCreateInfo instanceInfo = {}; diff --git a/appimage/patches/0004-SeriousSam.cpp.patch b/appimage/patches/0004-SeriousSam.cpp.patch new file mode 100644 index 0000000..26ec0ee --- /dev/null +++ b/appimage/patches/0004-SeriousSam.cpp.patch @@ -0,0 +1,22 @@ +--- a/SamTFE/Sources/SeriousSam/SeriousSam.cpp 2024-02-14 22:53:00.349090113 +0300 ++++ b/SamTFE/Sources/SeriousSam/SeriousSam.cpp 2024-02-14 23:08:49.377669933 +0300 +@@ -110,7 +110,7 @@ + __extern INDEX sam_iDisplayDepth = 0; // 0==default, 1==16bit, 2==32bit + __extern INDEX sam_iDisplayAdapter = 0; + #ifdef SE1_VULKAN +-__extern INDEX sam_iGfxAPI = 1; // default opengl //1; // 1==Vulkan ++__extern INDEX sam_iGfxAPI = 0; // default opengl //1; // 1==Vulkan + #else + __extern INDEX sam_iGfxAPI = 0; // 0==OpenGL + #endif // SE1_VULKAN +--- a/SamTSE/Sources/SeriousSam/SeriousSam.cpp 2024-02-14 22:53:00.349090113 +0300 ++++ b/SamTSE/Sources/SeriousSam/SeriousSam.cpp 2024-02-14 23:08:49.377669933 +0300 +@@ -110,7 +110,7 @@ + __extern INDEX sam_iDisplayDepth = 0; // 0==default, 1==16bit, 2==32bit + __extern INDEX sam_iDisplayAdapter = 0; + #ifdef SE1_VULKAN +-__extern INDEX sam_iGfxAPI = 1; // default opengl //1; // 1==Vulkan ++__extern INDEX sam_iGfxAPI = 0; // default opengl //1; // 1==Vulkan + #else + __extern INDEX sam_iGfxAPI = 0; // 0==OpenGL + #endif // SE1_VULKAN diff --git a/appimage/serioussam/SeriousSamTFE-Vk.AppImageBuilder.yml b/appimage/serioussam/SeriousSamTFE-Vk.AppImageBuilder.yml new file mode 100644 index 0000000..ae6b053 --- /dev/null +++ b/appimage/serioussam/SeriousSamTFE-Vk.AppImageBuilder.yml @@ -0,0 +1,57 @@ +# appimage-builder recipe see https://appimage-builder.readthedocs.io for details +version: 1 +AppDir: + path: ./SeriousSamTFE-Vk.AppDir + app_info: + id: serioussam + name: SeriousSamTFE-Vk + icon: serioussam + version: 1.10.6d + exec: usr/bin/serioussam + exec_args: $@ + apt: + arch: + - amd64 + allow_unauthenticated: true + sources: + - sourceline: deb http://ru.archive.ubuntu.com/ubuntu/ xenial main restricted + - sourceline: deb http://ru.archive.ubuntu.com/ubuntu/ xenial-updates main restricted + - sourceline: deb http://ru.archive.ubuntu.com/ubuntu/ xenial universe + - sourceline: deb http://ru.archive.ubuntu.com/ubuntu/ xenial-updates universe + - sourceline: deb http://ru.archive.ubuntu.com/ubuntu/ xenial multiverse + - sourceline: deb http://ru.archive.ubuntu.com/ubuntu/ xenial-updates multiverse + - sourceline: deb http://ru.archive.ubuntu.com/ubuntu/ xenial-backports main restricted + universe multiverse + - sourceline: deb http://security.ubuntu.com/ubuntu xenial-security main restricted + - sourceline: deb http://security.ubuntu.com/ubuntu xenial-security universe + - sourceline: deb http://security.ubuntu.com/ubuntu xenial-security multiverse + include: + - libc6:amd64 + files: + include: [] + exclude: + - usr/share/man + - usr/share/doc/*/README.* + - usr/share/doc/*/changelog.* + - usr/share/doc/*/NEWS.* + - usr/share/doc/*/TODO.* + test: + fedora-30: + image: appimagecrafters/tests-env:fedora-30 + command: ./AppRun + debian-stable: + image: appimagecrafters/tests-env:debian-stable + command: ./AppRun + archlinux-latest: + image: appimagecrafters/tests-env:archlinux-latest + command: ./AppRun + centos-7: + image: appimagecrafters/tests-env:centos-7 + command: ./AppRun + ubuntu-xenial: + image: appimagecrafters/tests-env:ubuntu-xenial + command: ./AppRun +AppImage: + sign-key: 6E9137E3B0FE3FDC67D70F2ECDC41982C027BAAA + arch: x86_64 + update-information: guess diff --git a/appimage/serioussam/serioussam.appdata.xml b/appimage/serioussam/serioussam.appdata.xml new file mode 100644 index 0000000..734cf96 --- /dev/null +++ b/appimage/serioussam/serioussam.appdata.xml @@ -0,0 +1,55 @@ + + + + + serioussam + SeriousSamTFE-Vk + Open source first person shooter based on Serious-Engine + CC0-1.0 + GPL-2.0 + + Alexander Pavlov + t.x00100x.t@yandex.ru + + https://github.com/tx00100xt/SeriousSamClassic + https://github.com/tx00100xt/SeriousSamClassic/wiki + https://github.com/tx00100xt/SeriousSamClassic + + serioussam.desktop + + +

SeriousSamClassic is open source game engine version developed by Croteam for Serious Sam Classic, but it should work on (or be easily portable to) any system that supports Vulkan and SDL2. +

+

Note that while the Serious-Engine source code has been released under GPL, you still need to legally own the game and provide Serious Sam Classic The First Encounter the game data to play. See the How to Install section for more information. +

+
+ + + + https://github.com/tx00100xt/SeriousSamClassic-VK/raw/main/Images/samxplus_1.png + SeriousSamClassic running on Linux with XPLUS Mod. Oasis. + + + https://github.com/tx00100xt/SeriousSamClassic-VK/raw/main/Images/samxplus_2.png + SeriousSamClassic running on Linux with XPLUS Mod. Dunes. + + + https://github.com/tx00100xt/SeriousSamClassic-VK/raw/main/Images/samxplus_3.png + SeriousSamClassic running on Linux with XPLUS Mod. Sacred Yards. + + + + + moderate + none + mild + mild + intense + + + + + + +
+ diff --git a/appimage/serioussam/serioussam.desktop b/appimage/serioussam/serioussam.desktop new file mode 100644 index 0000000..280f88c --- /dev/null +++ b/appimage/serioussam/serioussam.desktop @@ -0,0 +1,12 @@ +[Desktop Entry] +X-AppImage-Arch=x86_64 +X-AppImage-Version=1.10.6d +X-AppImage-Name=SeriousSamTFE-Vk +Name=Serious Sam The First Encounter +Type=Application +Comment=Linux port of Serious Sam Classic The First Encounter +Exec=serioussam +TryExec=serioussam +Icon=serioussam +Categories=Game;ActionGame;Shooter; +Keywords=serious;sam;first;person;shooter;singleplayer;multiplayer; diff --git a/appimage/serioussamse/SeriousSamTSE-Vk.AppImageBuilder.yml b/appimage/serioussamse/SeriousSamTSE-Vk.AppImageBuilder.yml new file mode 100644 index 0000000..17b1d27 --- /dev/null +++ b/appimage/serioussamse/SeriousSamTSE-Vk.AppImageBuilder.yml @@ -0,0 +1,57 @@ +# appimage-builder recipe see https://appimage-builder.readthedocs.io for details +version: 1 +AppDir: + path: ./SeriousSamTSE-Vk.AppDir + app_info: + id: serioussamse + name: SeriousSamTSE-Vk + icon: serioussam + version: 1.10.6d + exec: usr/bin/serioussamse + exec_args: $@ + apt: + arch: + - amd64 + allow_unauthenticated: true + sources: + - sourceline: deb http://ru.archive.ubuntu.com/ubuntu/ xenial main restricted + - sourceline: deb http://ru.archive.ubuntu.com/ubuntu/ xenial-updates main restricted + - sourceline: deb http://ru.archive.ubuntu.com/ubuntu/ xenial universe + - sourceline: deb http://ru.archive.ubuntu.com/ubuntu/ xenial-updates universe + - sourceline: deb http://ru.archive.ubuntu.com/ubuntu/ xenial multiverse + - sourceline: deb http://ru.archive.ubuntu.com/ubuntu/ xenial-updates multiverse + - sourceline: deb http://ru.archive.ubuntu.com/ubuntu/ xenial-backports main restricted + universe multiverse + - sourceline: deb http://security.ubuntu.com/ubuntu xenial-security main restricted + - sourceline: deb http://security.ubuntu.com/ubuntu xenial-security universe + - sourceline: deb http://security.ubuntu.com/ubuntu xenial-security multiverse + include: + - libc6:amd64 + files: + include: [] + exclude: + - usr/share/man + - usr/share/doc/*/README.* + - usr/share/doc/*/changelog.* + - usr/share/doc/*/NEWS.* + - usr/share/doc/*/TODO.* + test: + fedora-30: + image: appimagecrafters/tests-env:fedora-30 + command: ./AppRun + debian-stable: + image: appimagecrafters/tests-env:debian-stable + command: ./AppRun + archlinux-latest: + image: appimagecrafters/tests-env:archlinux-latest + command: ./AppRun + centos-7: + image: appimagecrafters/tests-env:centos-7 + command: ./AppRun + ubuntu-xenial: + image: appimagecrafters/tests-env:ubuntu-xenial + command: ./AppRun +AppImage: + sign-key: 6E9137E3B0FE3FDC67D70F2ECDC41982C027BAAA + arch: x86_64 + update-information: guess diff --git a/appimage/serioussamse/serioussamse.appdata.xml b/appimage/serioussamse/serioussamse.appdata.xml new file mode 100644 index 0000000..4605e3d --- /dev/null +++ b/appimage/serioussamse/serioussamse.appdata.xml @@ -0,0 +1,55 @@ + + + + + serioussamse + SeriousSamTSE-Vk + Open source first person shooter based on Serious-Engine + CC0-1.0 + GPL-2.0 + + Alexander Pavlov + t.x00100x.t@yandex.ru + + https://github.com/tx00100xt/SeriousSamClassic + https://github.com/tx00100xt/SeriousSamClassic/wiki + https://github.com/tx00100xt/SeriousSamClassic + + serioussamse.desktop + + +

SeriousSamClassic is open source game engine version developed by Croteam for Serious Sam Classic, but it should work on (or be easily portable to) any system that supports Vulkan and SDL2. +

+

Note that while the Serious-Engine source code has been released under GPL, you still need to legally own the game and provide Serious Sam Classic The Second Encounter the game data to play. See the How to Install section for more information. +

+
+ + + + https://github.com/tx00100xt/SeriousSamClassic-VK/raw/main/Images/samvulkan_4.png + SeriousSamClassic-VK running on Linux with XPLUS Mod. Sierra de chiapas. + + + https://github.com/tx00100xt/SeriousSamClassic-VK/raw/main/Images/samvulkan_5.png + SeriousSamClassic-VK running on Linux with XPLUS Mod. Land of the Damned. + + + https://github.com/tx00100xt/SeriousSamClassic-VK/raw/main/Images/samvulkan_6.png + SeriousSamClassic-VK running on Linux with XPLUS Mod. The Grand Cathedral. + + + + + moderate + none + mild + mild + intense + + + + + + +
+ diff --git a/appimage/serioussamse/serioussamse.desktop b/appimage/serioussamse/serioussamse.desktop new file mode 100644 index 0000000..eadb9bb --- /dev/null +++ b/appimage/serioussamse/serioussamse.desktop @@ -0,0 +1,12 @@ +[Desktop Entry] +X-AppImage-Arch=x86_64 +X-AppImage-Version=1.10.6d +X-AppImage-Name=SeriousSamTSE-Vk +Name=Serious Sam The Second Encounter +Type=Application +Comment=Linux port of Serious Sam Classic The Second Encounter +Exec=serioussamse +TryExec=serioussamse +Icon=serioussam +Categories=Game;ActionGame;Shooter; +Keywords=serious;sam;first;person;shooter;singleplayer;multiplayer;