diff --git a/0001-Revert-Switch-to-miniz-from-zlib.patch b/0001-Revert-Switch-to-miniz-from-zlib.patch index d4611bc..fd98fcd 100644 --- a/0001-Revert-Switch-to-miniz-from-zlib.patch +++ b/0001-Revert-Switch-to-miniz-from-zlib.patch @@ -29,10 +29,10 @@ https://docs.fedoraproject.org/en-US/fesco/Bundled_Software_policy/ tools/zipdir/zipdir.c | 3 ++- 17 files changed, 39 insertions(+), 20 deletions(-) -Index: gzdoom-g4.12.2/CMakeLists.txt +Index: gzdoom-g4.13.0/CMakeLists.txt =================================================================== ---- gzdoom-g4.12.2.orig/CMakeLists.txt -+++ gzdoom-g4.12.2/CMakeLists.txt +--- gzdoom-g4.13.0.orig/CMakeLists.txt ++++ gzdoom-g4.13.0/CMakeLists.txt @@ -215,6 +215,7 @@ option( NO_OPENAL "Disable OpenAL sound find_package( BZip2 ) @@ -49,10 +49,10 @@ Index: gzdoom-g4.12.2/CMakeLists.txt add_subdirectory( tools ) add_subdirectory( wadsrc ) add_subdirectory( wadsrc_bm ) -Index: gzdoom-g4.12.2/src/CMakeLists.txt +Index: gzdoom-g4.13.0/src/CMakeLists.txt =================================================================== ---- gzdoom-g4.12.2.orig/src/CMakeLists.txt -+++ gzdoom-g4.12.2/src/CMakeLists.txt +--- gzdoom-g4.13.0.orig/src/CMakeLists.txt ++++ gzdoom-g4.13.0/src/CMakeLists.txt @@ -319,7 +319,7 @@ add_custom_target( revision_check ALL # required libraries @@ -71,10 +71,10 @@ Index: gzdoom-g4.12.2/src/CMakeLists.txt if( ${HAVE_VM_JIT} ) add_definitions( -DHAVE_VM_JIT ) -Index: gzdoom-g4.12.2/src/common/audio/music/i_music.cpp +Index: gzdoom-g4.13.0/src/common/audio/music/i_music.cpp =================================================================== ---- gzdoom-g4.12.2.orig/src/common/audio/music/i_music.cpp -+++ gzdoom-g4.12.2/src/common/audio/music/i_music.cpp +--- gzdoom-g4.13.0.orig/src/common/audio/music/i_music.cpp ++++ gzdoom-g4.13.0/src/common/audio/music/i_music.cpp @@ -37,7 +37,8 @@ #include #endif @@ -85,10 +85,10 @@ Index: gzdoom-g4.12.2/src/common/audio/music/i_music.cpp #include #include "filesystem.h" -Index: gzdoom-g4.12.2/src/common/engine/serializer.cpp +Index: gzdoom-g4.13.0/src/common/engine/serializer.cpp =================================================================== ---- gzdoom-g4.12.2.orig/src/common/engine/serializer.cpp -+++ gzdoom-g4.12.2/src/common/engine/serializer.cpp +--- gzdoom-g4.13.0.orig/src/common/engine/serializer.cpp ++++ gzdoom-g4.13.0/src/common/engine/serializer.cpp @@ -37,7 +37,8 @@ #define RAPIDJSON_HAS_CXX11_RANGE_FOR 1 #define RAPIDJSON_PARSE_DEFAULT_FLAGS kParseFullPrecisionFlag @@ -99,10 +99,10 @@ Index: gzdoom-g4.12.2/src/common/engine/serializer.cpp #include "rapidjson/rapidjson.h" #include "rapidjson/writer.h" #include "rapidjson/prettywriter.h" -Index: gzdoom-g4.12.2/src/common/filesystem/source/files_decompress.cpp +Index: gzdoom-g4.13.0/src/common/filesystem/source/files_decompress.cpp =================================================================== ---- gzdoom-g4.12.2.orig/src/common/filesystem/source/files_decompress.cpp -+++ gzdoom-g4.12.2/src/common/filesystem/source/files_decompress.cpp +--- gzdoom-g4.13.0.orig/src/common/filesystem/source/files_decompress.cpp ++++ gzdoom-g4.13.0/src/common/filesystem/source/files_decompress.cpp @@ -39,7 +39,8 @@ #include "Xz.h" // CRC table needs to be generated prior to reading XZ compressed files. @@ -113,10 +113,10 @@ Index: gzdoom-g4.12.2/src/common/filesystem/source/files_decompress.cpp #include #include #include -Index: gzdoom-g4.12.2/src/common/filesystem/source/filesystem.cpp +Index: gzdoom-g4.13.0/src/common/filesystem/source/filesystem.cpp =================================================================== ---- gzdoom-g4.12.2.orig/src/common/filesystem/source/filesystem.cpp -+++ gzdoom-g4.12.2/src/common/filesystem/source/filesystem.cpp +--- gzdoom-g4.13.0.orig/src/common/filesystem/source/filesystem.cpp ++++ gzdoom-g4.13.0/src/common/filesystem/source/filesystem.cpp @@ -36,7 +36,8 @@ // HEADER FILES ------------------------------------------------------------ @@ -127,10 +127,10 @@ Index: gzdoom-g4.12.2/src/common/filesystem/source/filesystem.cpp #include #include #include -Index: gzdoom-g4.12.2/src/common/filesystem/source/resourcefile.cpp +Index: gzdoom-g4.13.0/src/common/filesystem/source/resourcefile.cpp =================================================================== ---- gzdoom-g4.12.2.orig/src/common/filesystem/source/resourcefile.cpp -+++ gzdoom-g4.12.2/src/common/filesystem/source/resourcefile.cpp +--- gzdoom-g4.13.0.orig/src/common/filesystem/source/resourcefile.cpp ++++ gzdoom-g4.13.0/src/common/filesystem/source/resourcefile.cpp @@ -35,7 +35,8 @@ */ @@ -141,10 +141,10 @@ Index: gzdoom-g4.12.2/src/common/filesystem/source/resourcefile.cpp #include "resourcefile.h" #include "md5.hpp" #include "fs_stringpool.h" -Index: gzdoom-g4.12.2/src/common/models/model.cpp +Index: gzdoom-g4.13.0/src/common/models/model.cpp =================================================================== ---- gzdoom-g4.12.2.orig/src/common/models/model.cpp -+++ gzdoom-g4.12.2/src/common/models/model.cpp +--- gzdoom-g4.13.0.orig/src/common/models/model.cpp ++++ gzdoom-g4.13.0/src/common/models/model.cpp @@ -25,7 +25,6 @@ ** General model handling code ** @@ -168,10 +168,10 @@ Index: gzdoom-g4.12.2/src/common/models/model.cpp } //=========================================================================== -Index: gzdoom-g4.12.2/src/common/platform/win32/i_crash.cpp +Index: gzdoom-g4.13.0/src/common/platform/win32/i_crash.cpp =================================================================== ---- gzdoom-g4.12.2.orig/src/common/platform/win32/i_crash.cpp -+++ gzdoom-g4.12.2/src/common/platform/win32/i_crash.cpp +--- gzdoom-g4.13.0.orig/src/common/platform/win32/i_crash.cpp ++++ gzdoom-g4.13.0/src/common/platform/win32/i_crash.cpp @@ -68,7 +68,8 @@ #include "i_mainwindow.h" @@ -182,10 +182,10 @@ Index: gzdoom-g4.12.2/src/common/platform/win32/i_crash.cpp // MACROS ------------------------------------------------------------------ -Index: gzdoom-g4.12.2/src/common/textures/m_png.cpp +Index: gzdoom-g4.13.0/src/common/textures/m_png.cpp =================================================================== ---- gzdoom-g4.12.2.orig/src/common/textures/m_png.cpp -+++ gzdoom-g4.12.2/src/common/textures/m_png.cpp +--- gzdoom-g4.13.0.orig/src/common/textures/m_png.cpp ++++ gzdoom-g4.13.0/src/common/textures/m_png.cpp @@ -36,7 +36,8 @@ #include @@ -196,10 +196,10 @@ Index: gzdoom-g4.12.2/src/common/textures/m_png.cpp #include #ifdef _MSC_VER #include // for alloca() -Index: gzdoom-g4.12.2/src/common/thirdparty/m_crc32.h +Index: gzdoom-g4.13.0/src/common/thirdparty/m_crc32.h =================================================================== ---- gzdoom-g4.12.2.orig/src/common/thirdparty/m_crc32.h -+++ gzdoom-g4.12.2/src/common/thirdparty/m_crc32.h +--- gzdoom-g4.13.0.orig/src/common/thirdparty/m_crc32.h ++++ gzdoom-g4.13.0/src/common/thirdparty/m_crc32.h @@ -32,11 +32,13 @@ ** */ @@ -215,10 +215,10 @@ Index: gzdoom-g4.12.2/src/common/thirdparty/m_crc32.h inline uint32_t CalcCRC32 (const uint8_t *buf, unsigned int len) { return crc32 (0, buf, len); -Index: gzdoom-g4.12.2/src/g_pch.h +Index: gzdoom-g4.13.0/src/g_pch.h =================================================================== ---- gzdoom-g4.12.2.orig/src/g_pch.h -+++ gzdoom-g4.12.2/src/g_pch.h +--- gzdoom-g4.13.0.orig/src/g_pch.h ++++ gzdoom-g4.13.0/src/g_pch.h @@ -10,7 +10,8 @@ #include #include @@ -229,10 +229,10 @@ Index: gzdoom-g4.12.2/src/g_pch.h #include #include #include -Index: gzdoom-g4.12.2/src/g_pch2.h +Index: gzdoom-g4.13.0/src/g_pch2.h =================================================================== ---- gzdoom-g4.12.2.orig/src/g_pch2.h -+++ gzdoom-g4.12.2/src/g_pch2.h +--- gzdoom-g4.13.0.orig/src/g_pch2.h ++++ gzdoom-g4.13.0/src/g_pch2.h @@ -11,7 +11,8 @@ #include #include @@ -243,12 +243,12 @@ Index: gzdoom-g4.12.2/src/g_pch2.h #include #include #include -Index: gzdoom-g4.12.2/src/maploader/glnodes.cpp +Index: gzdoom-g4.13.0/src/maploader/glnodes.cpp =================================================================== ---- gzdoom-g4.12.2.orig/src/maploader/glnodes.cpp -+++ gzdoom-g4.12.2/src/maploader/glnodes.cpp -@@ -42,7 +42,8 @@ - +--- gzdoom-g4.13.0.orig/src/maploader/glnodes.cpp ++++ gzdoom-g4.13.0/src/maploader/glnodes.cpp +@@ -36,7 +36,8 @@ + #include #endif -#include @@ -257,10 +257,10 @@ Index: gzdoom-g4.12.2/src/maploader/glnodes.cpp #include "m_argv.h" #include "c_dispatch.h" -Index: gzdoom-g4.12.2/src/serializer_doom.cpp +Index: gzdoom-g4.13.0/src/serializer_doom.cpp =================================================================== ---- gzdoom-g4.12.2.orig/src/serializer_doom.cpp -+++ gzdoom-g4.12.2/src/serializer_doom.cpp +--- gzdoom-g4.13.0.orig/src/serializer_doom.cpp ++++ gzdoom-g4.13.0/src/serializer_doom.cpp @@ -38,7 +38,8 @@ #define RAPIDJSON_HAS_CXX11_RANGE_FOR 1 #define RAPIDJSON_PARSE_DEFAULT_FLAGS kParseFullPrecisionFlag @@ -271,10 +271,10 @@ Index: gzdoom-g4.12.2/src/serializer_doom.cpp #include "rapidjson/rapidjson.h" #include "rapidjson/writer.h" #include "rapidjson/prettywriter.h" -Index: gzdoom-g4.12.2/tools/zipdir/CMakeLists.txt +Index: gzdoom-g4.13.0/tools/zipdir/CMakeLists.txt =================================================================== ---- gzdoom-g4.12.2.orig/tools/zipdir/CMakeLists.txt -+++ gzdoom-g4.12.2/tools/zipdir/CMakeLists.txt +--- gzdoom-g4.13.0.orig/tools/zipdir/CMakeLists.txt ++++ gzdoom-g4.13.0/tools/zipdir/CMakeLists.txt @@ -1,9 +1,9 @@ cmake_minimum_required( VERSION 3.16 ) @@ -287,10 +287,10 @@ Index: gzdoom-g4.12.2/tools/zipdir/CMakeLists.txt + target_link_libraries( zipdir ${ZLIB_LIBRARIES} ${BZIP2_LIBRARIES} lzma ) set( CROSS_EXPORTS ${CROSS_EXPORTS} zipdir PARENT_SCOPE ) endif() -Index: gzdoom-g4.12.2/tools/zipdir/zipdir.c +Index: gzdoom-g4.13.0/tools/zipdir/zipdir.c =================================================================== ---- gzdoom-g4.12.2.orig/tools/zipdir/zipdir.c -+++ gzdoom-g4.12.2/tools/zipdir/zipdir.c +--- gzdoom-g4.13.0.orig/tools/zipdir/zipdir.c ++++ gzdoom-g4.13.0/tools/zipdir/zipdir.c @@ -46,7 +46,8 @@ #include #include diff --git a/g4.12.2.tar.gz b/g4.12.2.tar.gz deleted file mode 100644 index d672f57..0000000 --- a/g4.12.2.tar.gz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:864c5a1ec976dd6068f9cd93f92c5404c662824996101f1411ddb25a54afc732 -size 25910359 diff --git a/g4.13.0.tar.gz b/g4.13.0.tar.gz new file mode 100644 index 0000000..f374976 --- /dev/null +++ b/g4.13.0.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c773d6efc7d84e13af2293ab5b13e06ba12a8da3f9cf04021ea1a8a5cf17fe17 +size 25950480 diff --git a/gzdoom.changes b/gzdoom.changes index 90b2e01..df2b780 100644 --- a/gzdoom.changes +++ b/gzdoom.changes @@ -1,3 +1,19 @@ +------------------------------------------------------------------- +Sat Oct 12 08:46:50 UTC 2024 - Jan Engelhardt + +- Update to release 4.13.0 + * Added pistol start gameplay option. + * A few ID24 spec implementations, added support for new + Bethesda DOOM + DOOM II re-release and Legacy of Rust. + * Several multiplayer network fixes, especially with + prediction. + * Added Extra Parameters to iwad selection box. + * IWAD selection box now always shows unless one of the + following is true: it is disabled, -iwad is used from command + line, or you load in a gameinfo that suggests an IWAD. + * Added MBF21 and MBF21-strict compatibility presets. + * Particles and rollsprites are now square. + ------------------------------------------------------------------- Mon Jul 1 07:25:08 UTC 2024 - Jan Engelhardt diff --git a/gzdoom.spec b/gzdoom.spec index 457724b..27c5c84 100644 --- a/gzdoom.spec +++ b/gzdoom.spec @@ -17,7 +17,7 @@ Name: gzdoom -Version: 4.12.2 +Version: 4.13.0 Release: 0 Summary: A DOOM source port with graphic and modding extensions License: GPL-3.0-only @@ -37,7 +37,7 @@ BuildRequires: gcc-c++ BuildRequires: libjpeg-devel BuildRequires: pkg-config BuildRequires: unzip -BuildRequires: zmusic-devel +BuildRequires: zmusic-devel >= 1.1.14 BuildRequires: pkgconfig(bzip2) BuildRequires: pkgconfig(flac) BuildRequires: pkgconfig(gl) @@ -58,6 +58,7 @@ Provides: bundled(gdtoa) Provides: bundled(glslang) = 11.10.0 Provides: bundled(re2c) = 0.16.0 Provides: bundled(vulkan) = 1.2.189.1 +Provides: bundled(vulkan-volk) Provides: bundled(xbrz) = 1.8 Suggests: freedoom diff --git a/more-32bit.patch b/more-32bit.patch index fa1df1d..614ec8c 100644 --- a/more-32bit.patch +++ b/more-32bit.patch @@ -3,10 +3,13 @@ Date: Wed, 8 May 2024 13:33:41 +0200 Subject: [PATCH] build: portability fixes References: https://github.com/ZDoom/gzdoom/pull/2562 -Different architectures have different type sizes and alignments. -Don't test void* for a hardcoded size if there is not an inherent -dependency on the size. I have hereby tested gzdoom.i586 runs -inside a chroot-on-x64. +Different architectures have different type sizes and alignments. Don't test +void* for a hardcoded size if there is not an inherent dependency on the size. +With this change, gzdoom compiles and Doom2 MAP01 runs fine on +i586-in-a-x64-chroot. This is not to say everything is known to be fine, but, +those who are running a non-x64 openSUSE system in the first place are savvy +enough to know that (a) software is never finished, (b) especially so on +second/third-tier targets. VkSurfaceKHR is not a pointer on some platforms but an integral type. Using {} will clear it without running into a type error: @@ -16,15 +19,15 @@ Using {} will clear it without running into a type error: VkSurfaceKHR surfacehandle = nullptr; --- src/CMakeLists.txt | 5 +++++ - src/common/engine/i_interface.cpp | 2 -- + src/common/engine/i_interface.cpp | 8 -------- src/common/platform/posix/sdl/sdlglvideo.cpp | 2 +- src/playsim/p_effect.h | 7 +++++-- - 4 files changed, 11 insertions(+), 5 deletions(-) + 4 files changed, 11 insertions(+), 11 deletions(-) -Index: gzdoom-g4.12.2/src/CMakeLists.txt +Index: gzdoom-g4.13.0/src/CMakeLists.txt =================================================================== ---- gzdoom-g4.12.2.orig/src/CMakeLists.txt -+++ gzdoom-g4.12.2/src/CMakeLists.txt +--- gzdoom-g4.13.0.orig/src/CMakeLists.txt ++++ gzdoom-g4.13.0/src/CMakeLists.txt @@ -44,6 +44,11 @@ if( ${TARGET_ARCHITECTURE} MATCHES "x86_ set( X64 64 ) add_definitions( -DARCH_IA32 ) @@ -37,23 +40,29 @@ Index: gzdoom-g4.12.2/src/CMakeLists.txt if( NOT PROJECT_LIBRARIES ) set( PROJECT_LIBRARIES "" ) -Index: gzdoom-g4.12.2/src/common/engine/i_interface.cpp +Index: gzdoom-g4.13.0/src/common/engine/i_interface.cpp =================================================================== ---- gzdoom-g4.12.2.orig/src/common/engine/i_interface.cpp -+++ gzdoom-g4.12.2/src/common/engine/i_interface.cpp -@@ -5,8 +5,6 @@ - #include "c_cvars.h" +--- gzdoom-g4.13.0.orig/src/common/engine/i_interface.cpp ++++ gzdoom-g4.13.0/src/common/engine/i_interface.cpp +@@ -6,14 +6,6 @@ #include "gstrings.h" + #include "version.h" --static_assert(sizeof(void*) == 8, "32 builds are not supported"); +-static_assert(sizeof(void*) == 8, +- "Only LP64/LLP64 builds are officially supported. " +- "Please do not attempt to build for other platforms; " +- "even if the program succeeds in a MAP01 smoke test, " +- "there are e.g. known visual artifacts " +- " " +- "that lead to a bad user experience."); - // Some global engine variables taken out of the backend code. FStartupScreen* StartWindow; SystemCallbacks sysCallbacks; -Index: gzdoom-g4.12.2/src/common/platform/posix/sdl/sdlglvideo.cpp +Index: gzdoom-g4.13.0/src/common/platform/posix/sdl/sdlglvideo.cpp =================================================================== ---- gzdoom-g4.12.2.orig/src/common/platform/posix/sdl/sdlglvideo.cpp -+++ gzdoom-g4.12.2/src/common/platform/posix/sdl/sdlglvideo.cpp +--- gzdoom-g4.13.0.orig/src/common/platform/posix/sdl/sdlglvideo.cpp ++++ gzdoom-g4.13.0/src/common/platform/posix/sdl/sdlglvideo.cpp @@ -400,7 +400,7 @@ DFrameBuffer *SDLVideo::CreateFrameBuffe builder.RequireExtension(names[i]); auto instance = builder.Create(); @@ -63,11 +72,11 @@ Index: gzdoom-g4.12.2/src/common/platform/posix/sdl/sdlglvideo.cpp if (!I_CreateVulkanSurface(instance->Instance, &surfacehandle)) VulkanError("I_CreateVulkanSurface failed"); -Index: gzdoom-g4.12.2/src/playsim/p_effect.h +Index: gzdoom-g4.13.0/src/playsim/p_effect.h =================================================================== ---- gzdoom-g4.12.2.orig/src/playsim/p_effect.h -+++ gzdoom-g4.12.2/src/playsim/p_effect.h -@@ -70,7 +70,10 @@ enum EParticleFlags +--- gzdoom-g4.13.0.orig/src/playsim/p_effect.h ++++ gzdoom-g4.13.0/src/playsim/p_effect.h +@@ -75,7 +75,10 @@ enum EParticleFlags class DVisualThinker; struct particle_t { @@ -79,7 +88,7 @@ Index: gzdoom-g4.12.2/src/playsim/p_effect.h DVector3 Pos; //+24 = 32 FVector3 Vel; //+12 = 44 FVector3 Acc; //+12 = 56 -@@ -83,7 +86,7 @@ struct particle_t +@@ -88,7 +91,7 @@ struct particle_t float Roll, RollVel, RollAcc; //+12 = 100 uint16_t tnext, snext, tprev; //+6 = 106 uint16_t flags; //+2 = 108