commit 748f0a368c6ac8225959c945bd22f997c4f515c51ad1640bfb84950d3e142efe Author: Jan Engelhardt Date: Thu Aug 15 16:46:02 2024 +0000 [info=cfd1f4cc845b2a14f58de59adf07092ffbb52f3836ad71e831b44e3f8a7336d0] OBS-URL: https://build.opensuse.org/package/show/games/gzdoom?expand=0&rev=118 diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..9b03811 --- /dev/null +++ b/.gitattributes @@ -0,0 +1,23 @@ +## Default LFS +*.7z filter=lfs diff=lfs merge=lfs -text +*.bsp filter=lfs diff=lfs merge=lfs -text +*.bz2 filter=lfs diff=lfs merge=lfs -text +*.gem filter=lfs diff=lfs merge=lfs -text +*.gz filter=lfs diff=lfs merge=lfs -text +*.jar filter=lfs diff=lfs merge=lfs -text +*.lz filter=lfs diff=lfs merge=lfs -text +*.lzma filter=lfs diff=lfs merge=lfs -text +*.obscpio filter=lfs diff=lfs merge=lfs -text +*.oxt filter=lfs diff=lfs merge=lfs -text +*.pdf filter=lfs diff=lfs merge=lfs -text +*.png filter=lfs diff=lfs merge=lfs -text +*.rpm filter=lfs diff=lfs merge=lfs -text +*.tbz filter=lfs diff=lfs merge=lfs -text +*.tbz2 filter=lfs diff=lfs merge=lfs -text +*.tgz filter=lfs diff=lfs merge=lfs -text +*.ttf filter=lfs diff=lfs merge=lfs -text +*.txz filter=lfs diff=lfs merge=lfs -text +*.whl filter=lfs diff=lfs merge=lfs -text +*.xz filter=lfs diff=lfs merge=lfs -text +*.zip filter=lfs diff=lfs merge=lfs -text +*.zst filter=lfs diff=lfs merge=lfs -text diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..57affb6 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +.osc diff --git a/0001-Revert-Switch-to-miniz-from-zlib.patch b/0001-Revert-Switch-to-miniz-from-zlib.patch new file mode 100644 index 0000000..d4611bc --- /dev/null +++ b/0001-Revert-Switch-to-miniz-from-zlib.patch @@ -0,0 +1,303 @@ +From: Jan Engelhardt +Date: Fri, 27 Oct 2023 09:01:47 +0200 + +Use system-provided zlib. Heed + +Heed +https://en.opensuse.org/openSUSE:Bundled_software_policy +https://docs.fedoraproject.org/en-US/fesco/Bundled_Software_policy/ + +(This reverts commit ba9ce0e83f6e25e3ddef5000bd51d53f2e3947a2.) + +--- + CMakeLists.txt | 2 +- + src/CMakeLists.txt | 4 ++-- + src/common/audio/music/i_music.cpp | 3 ++- + src/common/engine/serializer.cpp | 3 ++- + src/common/filesystem/source/files_decompress.cpp | 3 ++- + src/common/filesystem/source/filesystem.cpp | 3 ++- + src/common/filesystem/source/resourcefile.cpp | 3 ++- + src/common/models/model.cpp | 9 +++++++-- + src/common/platform/win32/i_crash.cpp | 3 ++- + src/common/textures/m_png.cpp | 3 ++- + src/common/thirdparty/m_crc32.h | 4 +++- + src/g_pch.h | 3 ++- + src/g_pch2.h | 3 ++- + src/maploader/glnodes.cpp | 3 ++- + src/serializer_doom.cpp | 3 ++- + tools/zipdir/CMakeLists.txt | 4 ++-- + tools/zipdir/zipdir.c | 3 ++- + 17 files changed, 39 insertions(+), 20 deletions(-) + +Index: gzdoom-g4.12.2/CMakeLists.txt +=================================================================== +--- gzdoom-g4.12.2.orig/CMakeLists.txt ++++ gzdoom-g4.12.2/CMakeLists.txt +@@ -215,6 +215,7 @@ option( NO_OPENAL "Disable OpenAL sound + + find_package( BZip2 ) + find_package( VPX ) ++find_package( ZLIB ) + + include( TargetArch ) + +@@ -406,7 +407,6 @@ install(DIRECTORY docs/ + option( DYN_OPENAL "Dynamically load OpenAL" ON ) + + add_subdirectory( libraries/lzma ) +-add_subdirectory( libraries/miniz ) + add_subdirectory( tools ) + add_subdirectory( wadsrc ) + add_subdirectory( wadsrc_bm ) +Index: gzdoom-g4.12.2/src/CMakeLists.txt +=================================================================== +--- gzdoom-g4.12.2.orig/src/CMakeLists.txt ++++ gzdoom-g4.12.2/src/CMakeLists.txt +@@ -319,7 +319,7 @@ add_custom_target( revision_check ALL + + # required libraries + +-set( PROJECT_LIBRARIES ${PROJECT_LIBRARIES} miniz "${BZIP2_LIBRARIES}" "${CMAKE_DL_LIBS}" "${DRPC_LIBRARIES}") ++set( PROJECT_LIBRARIES ${PROJECT_LIBRARIES} "${ZLIB_LIBRARIES}" "${BZIP2_LIBRARIES}" "${CMAKE_DL_LIBS}" "${DRPC_LIBRARIES}") + if (HAVE_VULKAN) + list( APPEND PROJECT_LIBRARIES "zvulkan" ) + endif() +@@ -383,7 +383,7 @@ else() + message( SEND_ERROR "Could not find libvpx" ) + endif() + +-include_directories( SYSTEM "${BZIP2_INCLUDE_DIR}" "${LZMA_INCLUDE_DIR}" "${ZMUSIC_INCLUDE_DIR}" "${DRPC_INCLUDE_DIR}") ++include_directories( SYSTEM "${ZLIB_INCLUDE_DIR}" "${BZIP2_INCLUDE_DIR}" "${LZMA_INCLUDE_DIR}" "${ZMUSIC_INCLUDE_DIR}" "${DRPC_INCLUDE_DIR}") + + if( ${HAVE_VM_JIT} ) + add_definitions( -DHAVE_VM_JIT ) +Index: gzdoom-g4.12.2/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 +@@ -37,7 +37,8 @@ + #include + #endif + +-#include ++#include ++#include + + #include + #include "filesystem.h" +Index: gzdoom-g4.12.2/src/common/engine/serializer.cpp +=================================================================== +--- gzdoom-g4.12.2.orig/src/common/engine/serializer.cpp ++++ gzdoom-g4.12.2/src/common/engine/serializer.cpp +@@ -37,7 +37,8 @@ + #define RAPIDJSON_HAS_CXX11_RANGE_FOR 1 + #define RAPIDJSON_PARSE_DEFAULT_FLAGS kParseFullPrecisionFlag + +-#include ++#include ++#include + #include "rapidjson/rapidjson.h" + #include "rapidjson/writer.h" + #include "rapidjson/prettywriter.h" +Index: gzdoom-g4.12.2/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 +@@ -39,7 +39,8 @@ + #include "Xz.h" + // CRC table needs to be generated prior to reading XZ compressed files. + #include "7zCrc.h" +-#include ++#include ++#include + #include + #include + #include +Index: gzdoom-g4.12.2/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 +@@ -36,7 +36,8 @@ + + // HEADER FILES ------------------------------------------------------------ + +-#include ++#include ++#include + #include + #include + #include +Index: gzdoom-g4.12.2/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 +@@ -35,7 +35,8 @@ + */ + + #include +-#include ++#include ++#include + #include "resourcefile.h" + #include "md5.hpp" + #include "fs_stringpool.h" +Index: gzdoom-g4.12.2/src/common/models/model.cpp +=================================================================== +--- gzdoom-g4.12.2.orig/src/common/models/model.cpp ++++ gzdoom-g4.12.2/src/common/models/model.cpp +@@ -25,7 +25,6 @@ + ** General model handling code + ** + **/ +-#include // offsetof() macro. + + #include "filesystem.h" + #include "cmdlib.h" +@@ -132,7 +131,13 @@ FTextureID LoadSkin(const char * path, c + + int ModelFrameHash(FSpriteModelFrame * smf) + { +- return crc32(0, (const unsigned char *)(&smf->type), offsetof(FSpriteModelFrame, hashnext) - offsetof(FSpriteModelFrame, type)); ++ const uint32_t *table = GetCRCTable (); ++ uint32_t hash = 0xffffffff; ++ const char * s = (const char *)(&smf->type); // this uses type, sprite and frame for hashing ++ const char * se= (const char *)(&smf->hashnext); ++ for (; s +-#include ++#include ++#include + + // MACROS ------------------------------------------------------------------ + +Index: gzdoom-g4.12.2/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 +@@ -36,7 +36,8 @@ + + #include + #include +-#include ++#include ++#include + #include + #ifdef _MSC_VER + #include // for alloca() +Index: gzdoom-g4.12.2/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 +@@ -32,11 +32,13 @@ + ** + */ + #pragma once +-#include ++#include ++#include + #include + + // miniz includes some CRC32 stuff, so just use that + ++inline const uint32_t *GetCRCTable () { return (const uint32_t *)get_crc_table(); } + 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 +=================================================================== +--- gzdoom-g4.12.2.orig/src/g_pch.h ++++ gzdoom-g4.12.2/src/g_pch.h +@@ -10,7 +10,8 @@ + #include + #include + #include +-#include ++#include ++#include + #include + #include + #include +Index: gzdoom-g4.12.2/src/g_pch2.h +=================================================================== +--- gzdoom-g4.12.2.orig/src/g_pch2.h ++++ gzdoom-g4.12.2/src/g_pch2.h +@@ -11,7 +11,8 @@ + #include + #include + #include +-#include ++#include ++#include + #include + #include + #include +Index: gzdoom-g4.12.2/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 @@ + + #endif + +-#include ++#include ++#include + + #include "m_argv.h" + #include "c_dispatch.h" +Index: gzdoom-g4.12.2/src/serializer_doom.cpp +=================================================================== +--- gzdoom-g4.12.2.orig/src/serializer_doom.cpp ++++ gzdoom-g4.12.2/src/serializer_doom.cpp +@@ -38,7 +38,8 @@ + #define RAPIDJSON_HAS_CXX11_RANGE_FOR 1 + #define RAPIDJSON_PARSE_DEFAULT_FLAGS kParseFullPrecisionFlag + +-#include ++#include ++#include + #include "rapidjson/rapidjson.h" + #include "rapidjson/writer.h" + #include "rapidjson/prettywriter.h" +Index: gzdoom-g4.12.2/tools/zipdir/CMakeLists.txt +=================================================================== +--- gzdoom-g4.12.2.orig/tools/zipdir/CMakeLists.txt ++++ gzdoom-g4.12.2/tools/zipdir/CMakeLists.txt +@@ -1,9 +1,9 @@ + cmake_minimum_required( VERSION 3.16 ) + + if( NOT CMAKE_CROSSCOMPILING ) +- include_directories( SYSTEM "${BZIP2_INCLUDE_DIR}" "${LZMA_INCLUDE_DIR}" ) ++ include_directories( SYSTEM "${ZLIB_INCLUDE_DIR} ${BZIP2_INCLUDE_DIR}" "${LZMA_INCLUDE_DIR}" ) + add_executable( zipdir + zipdir.c ) +- target_link_libraries( zipdir miniz ${BZIP2_LIBRARIES} lzma ) ++ 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 +=================================================================== +--- gzdoom-g4.12.2.orig/tools/zipdir/zipdir.c ++++ gzdoom-g4.12.2/tools/zipdir/zipdir.c +@@ -46,7 +46,8 @@ + #include + #include + #include +-#include ++#include ++#include + #include "bzlib.h" + #include "LzmaEnc.h" + #include "7zVersion.h" diff --git a/_scmsync.obsinfo b/_scmsync.obsinfo new file mode 100644 index 0000000..a16fdd4 --- /dev/null +++ b/_scmsync.obsinfo @@ -0,0 +1,4 @@ +mtime: 1719937004 +commit: cfd1f4cc845b2a14f58de59adf07092ffbb52f3836ad71e831b44e3f8a7336d0 +url: https://src.opensuse.org/jengelh/gzdoom +revision: master diff --git a/build.specials.obscpio b/build.specials.obscpio new file mode 100644 index 0000000..217a3dd --- /dev/null +++ b/build.specials.obscpio @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f21ad31d9e535ee71455955cbc4df6834dd7e7640f20a3c67027dd3b11d40880 +size 256 diff --git a/g4.12.2.tar.gz b/g4.12.2.tar.gz new file mode 100644 index 0000000..d672f57 --- /dev/null +++ b/g4.12.2.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:864c5a1ec976dd6068f9cd93f92c5404c662824996101f1411ddb25a54afc732 +size 25910359 diff --git a/gzdoom-discord.patch b/gzdoom-discord.patch new file mode 100644 index 0000000..4814db3 --- /dev/null +++ b/gzdoom-discord.patch @@ -0,0 +1,43 @@ +From: Jan Engelhardt +Date: 2022-06-12 10:37:00.984596068 +0200 + +Use system-provided discord-rpc library. Heed + +* https://docs.fedoraproject.org/en-US/fesco/Bundled_Software_policy/ +* https://en.opensuse.org/openSUSE:Bundled_software_policy + +--- + CMakeLists.txt | 6 +++--- + libraries/discordrpc/src/CMakeLists.txt | 2 +- + 2 files changed, 4 insertions(+), 4 deletions(-) + +Index: gzdoom-g4.12.2/CMakeLists.txt +=================================================================== +--- gzdoom-g4.12.2.orig/CMakeLists.txt ++++ gzdoom-g4.12.2/CMakeLists.txt +@@ -345,9 +345,9 @@ add_subdirectory( libraries/ZWidget ) + add_subdirectory( libraries/webp ) + + add_subdirectory( libraries/discordrpc EXCLUDE_FROM_ALL ) +-set( DRPC_INCLUDE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/libraries/discordrpc/include" ) +-set( DRPC_LIBRARIES discord-rpc ) +-set( DRPC_LIBRARY discord-rpc ) ++set( DRPC_INCLUDE_DIR "/ignore" ) ++set( DRPC_LIBRARIES -ldiscord-rpc ) ++set( DRPC_LIBRARY -ldiscord-rpc ) + + if( HAVE_VM_JIT AND UNIX ) + check_symbol_exists( "backtrace" "execinfo.h" HAVE_BACKTRACE ) +Index: gzdoom-g4.12.2/libraries/discordrpc/src/CMakeLists.txt +=================================================================== +--- gzdoom-g4.12.2.orig/libraries/discordrpc/src/CMakeLists.txt ++++ gzdoom-g4.12.2/libraries/discordrpc/src/CMakeLists.txt +@@ -28,7 +28,7 @@ endif(${BUILD_SHARED_LIBS}) + if(WIN32) + add_definitions(-DDISCORD_WINDOWS) + set(BASE_RPC_SRC ${BASE_RPC_SRC} connection_win.cpp discord_register_win.cpp) +- add_library(discord-rpc ${BASE_RPC_SRC}) ++ add_library(discord-rpc STATIC ${BASE_RPC_SRC}) + if (MSVC) + if(USE_STATIC_CRT) + foreach(CompilerFlag diff --git a/gzdoom-lzma-simd.patch b/gzdoom-lzma-simd.patch new file mode 100644 index 0000000..154c966 --- /dev/null +++ b/gzdoom-lzma-simd.patch @@ -0,0 +1,27 @@ +From: Jan Engelhardt +Date: 2024-05-01 00:14:04.625759204 +0200 +Subject: Fix build failures involving SIMD code + +When using the bundled copy of lzma-sdk, there is a build failure +on Leap 15.6/gcc-7 amd64: + +[ 31s] C/SwapBytes.c:312:7: error: incompatible types when initializing type +'__m256i {aka const __vector(4) long long int}' using type 'int' + +--- + libraries/lzma/C/SwapBytes.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +Index: gzdoom-g4.12.2/libraries/lzma/C/SwapBytes.c +=================================================================== +--- gzdoom-g4.12.2.orig/libraries/lzma/C/SwapBytes.c ++++ gzdoom-g4.12.2/libraries/lzma/C/SwapBytes.c +@@ -22,7 +22,7 @@ typedef UInt32 CSwapUInt32; + // #if defined(__INTEL_COMPILER) && (__INTEL_COMPILER >= 1900) + #if defined(__clang__) && (__clang_major__ >= 4) \ + || defined(Z7_GCC_VERSION) && (Z7_GCC_VERSION >= 40701) +- #define k_SwapBytes_Mode_MAX k_SwapBytes_Mode_AVX2 ++ #define k_SwapBytes_Mode_MAX k_SwapBytes_Mode_SSE2 + #define SWAP_ATTRIB_SSE2 __attribute__((__target__("sse2"))) + #define SWAP_ATTRIB_SSSE3 __attribute__((__target__("ssse3"))) + #define SWAP_ATTRIB_AVX2 __attribute__((__target__("avx2"))) diff --git a/gzdoom-lzma.patch b/gzdoom-lzma.patch new file mode 100644 index 0000000..518a13a --- /dev/null +++ b/gzdoom-lzma.patch @@ -0,0 +1,81 @@ +From: Jan Engelhardt +Date: 2018-01-08 13:48:59+0100 + +Use system-provided lzma-sdk. Heed + +* https://docs.fedoraproject.org/en-US/fesco/Bundled_Software_policy/ +* https://en.opensuse.org/openSUSE:Bundled_software_policy + +--- + CMakeLists.txt | 4 ++-- + src/CMakeLists.txt | 4 ++-- + tools/zipdir/CMakeLists.txt | 4 ++-- + 3 files changed, 6 insertions(+), 6 deletions(-) + +Index: gzdoom-g4.12.2/CMakeLists.txt +=================================================================== +--- gzdoom-g4.12.2.orig/CMakeLists.txt ++++ gzdoom-g4.12.2/CMakeLists.txt +@@ -50,6 +50,7 @@ set(CMAKE_CXX_EXTENSIONS OFF) + + list( APPEND CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/cmake ) + include( FindPackageHandleStandardArgs ) ++include(FindPkgConfig) + + # Support cross compiling + option( FORCE_CROSSCOMPILE "Turn on cross compiling." NO ) +@@ -397,7 +398,7 @@ else() + set( BZIP2_LIBRARY bz2 ) + endif() + +-set( LZMA_INCLUDE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/libraries/lzma/C" ) ++pkg_check_modules(LZMA REQUIRED clzma) + + if( NOT CMAKE_CROSSCOMPILING ) + if( NOT CROSS_EXPORTS ) +@@ -417,7 +418,6 @@ install(DIRECTORY docs/ + + option( DYN_OPENAL "Dynamically load OpenAL" ON ) + +-add_subdirectory( libraries/lzma ) + add_subdirectory( tools ) + add_subdirectory( wadsrc ) + add_subdirectory( wadsrc_bm ) +Index: gzdoom-g4.12.2/src/CMakeLists.txt +=================================================================== +--- gzdoom-g4.12.2.orig/src/CMakeLists.txt ++++ gzdoom-g4.12.2/src/CMakeLists.txt +@@ -383,7 +383,7 @@ else() + message( SEND_ERROR "Could not find libvpx" ) + endif() + +-include_directories( SYSTEM "${ZLIB_INCLUDE_DIR}" "${BZIP2_INCLUDE_DIR}" "${LZMA_INCLUDE_DIR}" "${ZMUSIC_INCLUDE_DIR}" "${DRPC_INCLUDE_DIR}") ++include_directories( SYSTEM "${ZLIB_INCLUDE_DIR}" "${BZIP2_INCLUDE_DIR}" "${LZMA_INCLUDE_DIRS}" "${ZMUSIC_INCLUDE_DIR}" "${DRPC_INCLUDE_DIR}") + + if( ${HAVE_VM_JIT} ) + add_definitions( -DHAVE_VM_JIT ) +@@ -1267,7 +1267,7 @@ if( UNIX ) + endif() + endif() + +-target_link_libraries( zdoom ${PROJECT_LIBRARIES} lzma ${ZMUSIC_LIBRARIES} ) ++target_link_libraries( zdoom ${PROJECT_LIBRARIES} ${LZMA_LIBRARIES} ${ZMUSIC_LIBRARIES} ) + + include_directories( + BEFORE +Index: gzdoom-g4.12.2/tools/zipdir/CMakeLists.txt +=================================================================== +--- gzdoom-g4.12.2.orig/tools/zipdir/CMakeLists.txt ++++ gzdoom-g4.12.2/tools/zipdir/CMakeLists.txt +@@ -1,9 +1,9 @@ + cmake_minimum_required( VERSION 3.16 ) + + if( NOT CMAKE_CROSSCOMPILING ) +- include_directories( SYSTEM "${ZLIB_INCLUDE_DIR} ${BZIP2_INCLUDE_DIR}" "${LZMA_INCLUDE_DIR}" ) ++ include_directories( SYSTEM "${ZLIB_INCLUDE_DIR} ${BZIP2_INCLUDE_DIR}" "${LZMA_INCLUDE_DIRS}" ) + add_executable( zipdir + zipdir.c ) +- target_link_libraries( zipdir ${ZLIB_LIBRARIES} ${BZIP2_LIBRARIES} lzma ) ++ target_link_libraries( zipdir ${ZLIB_LIBRARIES} ${BZIP2_LIBRARIES} ${LZMA_LDFLAGS} ) + set( CROSS_EXPORTS ${CROSS_EXPORTS} zipdir PARENT_SCOPE ) + endif() diff --git a/gzdoom.changes b/gzdoom.changes new file mode 100644 index 0000000..90b2e01 --- /dev/null +++ b/gzdoom.changes @@ -0,0 +1,734 @@ +------------------------------------------------------------------- +Mon Jul 1 07:25:08 UTC 2024 - Jan Engelhardt + +- Resolve improper __DATE__ replacement [boo#1226829] + +------------------------------------------------------------------- +Fri May 17 22:04:47 UTC 2024 - Jan Engelhardt + +- Delete gzdoom-waddir.patch (substitute by logic in build recipe), + delete 0001-Revert-use-static_assert-to-make-32-bit-builds-fail.patch + and 0001-removed-some-32bit-only-CMake-code.patch + (merged into more-32bit.patch) + +------------------------------------------------------------------- +Wed May 8 11:37:09 UTC 2024 - Jan Engelhardt + +- Update more-32bit.patch to fix i586/ILP32 FTBFS. + +------------------------------------------------------------------- +Tue Apr 30 10:40:25 UTC 2024 - Jan Engelhardt + +- Update to release 4.12.2 + * Set default backend to Vulkan, if Vulkan fails go GLES not OpenGL. + * Added a `mapinfo` console command. + * zscript: add `final` and `sealed` as class options. + * Always save a copy of the map in a savegame's metadata. + * Added wall texture skewing. + * Implemented dsda-doom's sector scrolling properties, added + UDMF wall scrolling properties from DSDA, added friction and + colormap related properties from DSDA, added DSDA's thrust + properties for UDMF, and added per-sector sky UDMF + properties. + * Allow defining zero gravity through MAPINFO + * Added rudimentary support for DSDA's COMPLVL lump. + * Added actor flag +BILLBOARDFACECAMERA. + * Added `sv_pistolstart` server flag. +- Add gzdoom-lzma-simd.patch + +------------------------------------------------------------------- +Fri Oct 27 04:20:10 UTC 2023 - Jan Engelhardt + +- Update to release 4.11.3 + * Several new languages: Danish, Norwegian, Swedish and Turkish. + * Cleanup of Doom's and Chex Quest's small font to use proper + character heights for international support. + * Extended all fonts to be capable of handling all European + languages which are in common use. + * DSDHacked support. + * WebP and QOI support for textures. + * Sanitized the light mode selection to make it a first class + mapping feature by separating map dependent light mode setup + from performance related user preferences for the default + setting. + * Lots of new ZScript features. +- Delete gzdoom-vulkan.patch, gcc13.diff +- Add more-32bit.patch, 0001-Revert-Switch-to-miniz-from-zlib.patch + +------------------------------------------------------------------- +Thu Mar 30 22:02:53 UTC 2023 - Jan Engelhardt + +- Add gcc13.diff + +------------------------------------------------------------------- +Tue Feb 7 18:44:20 UTC 2023 - Jan Engelhardt + +- Update gzdoom-vulkan.patch for glslang 12 + +------------------------------------------------------------------- +Sun Dec 4 15:39:27 UTC 2022 - Jan Engelhardt + +- Update to release 4.10.0 + * Map and MapIterator for ZScript + * Quaternion support for model rotations + * Improved IQM support +- Delete 0001-build-unbreak-compilation-on-Linux.patch (merged) + +------------------------------------------------------------------- +Sun Nov 6 23:02:58 UTC 2022 - Jan Engelhardt + +- Update description for the removal of SoftPoly + +------------------------------------------------------------------- +Sat Nov 5 19:55:42 UTC 2022 - Jan Engelhardt + +- Update to release 4.9.0 + * IQM bone model support + * Textured particles + * The SoftPoly renderer was removed +- Delete gzdoom-sdlbug.patch (obsolete), + 0001-fix-gzdoom.pk3-not-found-error.patch (merged) +- Add 0001-build-unbreak-compilation-on-Linux.patch, + 0001-removed-some-32bit-only-CMake-code.patch + +------------------------------------------------------------------- +Mon Oct 24 23:24:06 UTC 2022 - Jan Engelhardt + +- Update gzdoom-vulkan.patch for glslang-11.12. + +------------------------------------------------------------------- +Sun Jul 24 07:43:09 UTC 2022 - Jan Engelhardt + +- Replace 0001-Revert-load-the-hex-font-as-early-as-possible.patch + by better fix, 0001-fix-gzdoom.pk3-not-found-error.patch . +- Drop gzdoom-asmjit.patch (no longer needed; the linkage error + it used to fix seems just gone) + +------------------------------------------------------------------- +Sun Jul 10 08:32:53 UTC 2022 - Jan Engelhardt + +- Disable rpath + +------------------------------------------------------------------- +Tue Jul 5 00:26:11 UTC 2022 - Jan Engelhardt + +- Update to release 4.8.2 + * add a few maps to the rebuildnodes compatibility block + +------------------------------------------------------------------- +Sun Jun 26 13:02:04 UTC 2022 - Jan Engelhardt + +- Update to release 4.8.1 + * Bugfix for software mode mirrors not working + * Feature: Add +ONLYVISIBLEINMIRRORS and +INVISIBLEINMIRRORS + actor flags. The former makes the actor only visible in + reflections, while the latter makes the actor not cast + reflections in mirrors. +- Drop 0001-Resolve-build-failure-on-i686-linux.patch (merged) +- Add 0001-Revert-use-static_assert-to-make-32-bit-builds-fail.patch + +------------------------------------------------------------------- +Thu Jun 23 21:42:38 UTC 2022 - Jan Engelhardt + +- Add 0001-Revert-load-the-hex-font-as-early-as-possible.patch + +------------------------------------------------------------------- +Mon Jun 6 21:22:12 UTC 2022 - Jan Engelhardt + +- Update to release 4.8.0 + * Added Raze-style HUD scaling. Not exposed in the menu yet, + Set hud_oldscale to 0 and use shift with the screen resize + keys to scale the status bar. + * Handle the start/endoom screens with the ingame renderer. + They are now present on all platforms and use the full screen + size of the game. + * Many MBF21 fixes. + * Added the cutscene system from Raze. +- Add gzdoom-discord.patch +- Add 0001-Resolve-build-failure-on-i686-linux.patch + +------------------------------------------------------------------- +Sat Apr 23 01:04:05 UTC 2022 - Jan Engelhardt + +- Reenable use of system vulkan libraries on Tumbleweed. + +------------------------------------------------------------------- +Fri Apr 15 23:08:58 UTC 2022 - Cristian Rodríguez + +- Drop unused nasm from buildrequires. + +------------------------------------------------------------------- +Wed Oct 20 21:47:30 UTC 2021 - Jan Engelhardt + +- Update to release 4.7.1 + * Allow map markers to scale relative to automap zoom. + * Add cvars to control automap line alpha and thickness. + * Resolved a VM abort upon morphing while the tome of power is + active. +- Remove 0001-gles-look-for-libGLESv2.so.2.patch (merged) + +------------------------------------------------------------------- +Wed Sep 22 11:26:37 UTC 2021 - Jan Engelhardt + +- Update to release 4.7.0 + * GLES2 backend + * Widescreen graphics for Strife + * MBF21 support (beta) + * DEHEXTRA works properly now + * Various enhancements and fixes for ZScript +- Add 0001-gles-look-for-libGLESv2.so.2.patch + +------------------------------------------------------------------- +Wed Jul 28 11:24:38 UTC 2021 - Jan Engelhardt + +- Update to release 4.6.1 + * Bug fixes, and widepix updates + +------------------------------------------------------------------- +Sat May 22 17:03:00 UTC 2021 - Jan Engelhardt + +- Update to release 4.6 + * Widescreen graphics for Heretic and Hexen + * Sprite shadows like in the Build engine. Both in software and + hardware renderer. + * 16 bit channel PNG files can be read. + * DEHEXTRA working properly now. + * Various enhancements and fixes for ZScript. + +------------------------------------------------------------------- +Thu Mar 4 19:55:21 UTC 2021 - Jan Engelhardt + +- Add 0001-fixed-zipdir-inability-to-update-empty-zip-file.patch +- Update to release 4.5.0 + * For all of Doom's fullscreen images, there's now widescreen + versions provided. + * A simplified options menu is now available for quick setup of + the important settings. + * New keybindings presets. Users can now choose between the + classic layout and a WASD-based one. + * Menu and intermission screen now scale to the original + Doom.exe's layout by default. + * Major additions to the menu system - animated menu + transitions, image slideshows and fixed size menus can now be + created. + * The console now uses the border flat as default background + instead of the titlepic. + * It is now possible to fully quit the fullscreen console and + get back to the title loop. + * Interpolate positions and angles in the automap for smoother + appearance. + * Added $PitchSet for SNDINFO. + * Allow indirections in the string table by prefixing the + language string with '$$' the remaining text is interpreted + as another string label to resolve. + * Optimization of the patch texture checker - do not read in + the entire file if checking the initial header is sufficient + for rejecting it. This can speed up loading of large mods + quite significantly. + * OPUS support (via libsndfile) +- Drop gzdoom-spirv.patch (merged) + +------------------------------------------------------------------- +Tue Sep 15 23:25:49 UTC 2020 - Jan Engelhardt + +- Drop Recommends for music backends + (this has moved to zmusic.spec) +- Demote Recommends to Suggests + +------------------------------------------------------------------- +Wed Jun 17 14:33:30 UTC 2020 - Jan Engelhardt + +- Update to release 4.4.2 + * Made the new "Build" light mode operational + +------------------------------------------------------------------- +Fri Jun 12 00:26:10 UTC 2020 - Jan Engelhardt + +- Add gzdoom-sdlbug.patch. + +------------------------------------------------------------------- +Thu Jun 11 15:19:30 UTC 2020 - Jan Engelhardt + +- Update to release 4.4.1 + * Heretic's "bag of holding" had incorrectly given mace capacity. + * Mapped "Smooth mouse" back to the "m_filter" CVAR, and + removed the "smooth_mouse" CVAR. + * Fixed crash with texture upscaling in the truecolor software + renderer. + * Fixed crash rendering 3D floors without ceiling or floor + textures in software. + +------------------------------------------------------------------- +Sun Jun 7 23:39:42 UTC 2020 - Jan Engelhardt + +- Update to release 4.4.0 + * Heretic's "bag of holding" had incorrectly given mace ammo. + * Added per pixel lighting for decals. + * Added a compatibility option for a bad teleporter in the + final map of Strife. + * Add a cvar to control weapon bobbing while firing. + * Fixed crash on maps with out of range sidedef and sector + numbers. + * Fixed missing sound for Polyobj_MoveTo. + * Attenuated lights for Strife. + * Added MTF_NOCOUNT to spawn flags. +- Drop gzdoom-system-gme.patch (moved to zmusic.spec), + gzdoom-dl.patch (unnecessary). Add gzdoom-spirv.patch. + +------------------------------------------------------------------- +Wed Jan 29 17:43:59 UTC 2020 - Michael Scafidi + +- Update to release 4.3.3 + * fixed resetting of music volume after closing dialogue + * exposed Level.MusicVolume to ZScript + * fixed calling a function on string CVar + * added ability to filter VM disassembly dump + * add check for unity version of Nerve.wad + * infrastructure in place in case Nerve.wad changes again, this + can be extended. + * customized invulnerability colormap does not interfere with + Powerup.ColorMap. + * precache a few sounds being referenced in common game code. + * define misc/secret for Hexen, too. By now there are some mods + defining secrets for the game so this sound should be present + there. + * Implement special colormap support for softpoly + * Softpoly: Fix broken fixed camera light for walls + * make nosave standalone CVar flag, alongside server and user + * implemented screenshots in softpoly backend + +------------------------------------------------------------------- +Sun Jan 19 11:03:29 UTC 2020 - Jan Engelhardt + +- Update to release 4.3.2 + * Added ML_NOSKYWALLS and ML_DRAWFULLHEIGHT + * Added support for new Bethesda.Net Unity Edition WADs. + +------------------------------------------------------------------- +Sat Jan 11 22:33:30 UTC 2020 - Jan Engelhardt + +- Update to release 4.3.1 + * New softpoly backend for the hardware renderer. + * Advanced texture colorization options. + * Scripted map postprocessor. + * Dictionary class for ZScript. + * Add PSPF_PLAYERTRANSLATED flag (makes a PSprite layer + translated to the user's color). + * Support for MIDI on Linux via ALSA sequencer. + +------------------------------------------------------------------- +Tue Dec 17 00:10:32 UTC 2019 - Jan Engelhardt + +- Update to release 4.2.4 + * This is a bugfix release without new features. The notable + highlight is that this fixes translucent objects in the + software renderer. +- Add gzdoom-system-gme.patch, gzdoom-dl.patch + +------------------------------------------------------------------- +Tue Oct 1 06:23:02 UTC 2019 - Jan Engelhardt + +- Add gzdoom-asmjit.patch. +- Enable SSE/SSE2. + +------------------------------------------------------------------- +Fri Sep 13 11:39:15 UTC 2019 - Jan Engelhardt + +- Update to release 4.2.1 + * Level compatibility additions for Scythe 2 and Hell Revealed. + * Add current, max and average velocity as stat. + * Let Hexen Cleric and Mage use unique health chains. + * Allow custom status bars to override notification and + centered message display. + * Improve crosshair health color to be more informative. + * Added obituary fallbacks for actors that do not have + any defined. +- Remove fl2.patch (merged) + +------------------------------------------------------------------- +Fri Aug 23 12:40:51 UTC 2019 - Jan Engelhardt + +- Update to new upstream release 4.2.0 + * The survey code has been re-enabled for this version: it sends + basic info about the operating system but no private data: + the number of CPU cores, the graphics card, and supported + OpenGL/Vulkan versions. + * Restored original vanilla behavior of Lost Souls' charging + attack. + * Exposed Append() method to ZScript dynamic array + * Fixed an inconsistency with missiles bouncing off actors. + * Added A_SoundPitch and an optional pitch parameter to + A_PlaySound and S_Sound. + * Attachable dynamic lights with ZScript or DECORATE. +- Drop _service and gzdoom-wadsrc-extra.patch, + both unused since 4.1.3. + +------------------------------------------------------------------- +Fri Aug 23 12:28:14 UTC 2019 - Jan Engelhardt + +- Turn off LTO, it is broken. [boo#1142267] + +------------------------------------------------------------------- +Sun Jun 9 11:31:24 UTC 2019 - Martin Hauke + +- Update to new upstream release 4.1.3 + * bug fixes for both zscript and vulkan (the vulkan renderer is + pretty much complete at this point) + * added native double round(double) function + * added a crosshair on/off toggle + * cl_blockcheats 2 blocks cheats without showing any messages, + useful for streamers who happen to be mappers/modders/etc +- Update to new upstream release 4.1.0 + * workaround buggy preprocessor in old AMD OpenGL drivers + * fix bloom pass regression + * fixed scale calculations for option menus. + * implement custom post process shaders for vulkan backend + * improve error handling during vulkan initialization + * fixed inverted logic for displaying the generic log in Strife. +- Remove patch: + * gzdoom-staticlibs.patch (fixed by upstream) +- Update patch: + * gzdoom-vulkan.patch + +------------------------------------------------------------------- +Mon Apr 08 20:31:53 UTC 2019 - Jan Engelhardt + +- Update to new upstream release 4.0.0 + * Experimental Vulkan renderer (via "+vid_backend 0" console + option) + * Scaling has been changed. GZDoom now runs at a minimum of + 640x400. An extra mode (960x600) has been added to replace the + lost 320x200 one. + * Added "cl_blockcheats" - useful for people who use debugging + keys, allows a user to consciously turn off cheats without + affecting the serveradd "cl_blockcheats" - useful for people + who use debugging keys, allows a user to consciously turn off + cheats without affecting the server + * "wait" console commands no longer execute inside the level, + and can run during intermissions and outside the game. +- Folded gzdoom-asmjit.patch into gzdoom-staticlibs.patch. +- Added gzdoom-vulkan.patch. + +------------------------------------------------------------------- +Wed Jan 23 15:22:45 UTC 2019 - Jan Engelhardt + +- Update to new upstream release 3.7.2 + * The resolution selector now sets to auto detected resolution at + startup, no longer uses entries from the config file. + * Committing a scaling change for fullscreen sets scaling to 1.0 + to guarantee the selected number of pixels are actually used. + * For details, see https://forum.zdoom.org/viewtopic.php?t=63346 + +------------------------------------------------------------------- +Thu Jan 3 01:37:12 UTC 2019 - Jan Engelhardt + +- Update to new upstream release 3.7.1 + * Expand UDMF and ZScript API for side's own additive colors + * Added NOFRICTION and NOFRICTIONBOUNCE actor flags + * Added an AMD64 JIT for DECORATE and ZScript + * Lights are now referenced by sections rather than surface, to + speed up light linking. This should allow a dynamically-lit + plasma bolt to pass over a 3D bridge in Frozen Time without + turning the game into a slide show. + * Add shader cache for Intel GPUs which should result in faster + startups. +- Add gzdoom-asmjit.patch + +------------------------------------------------------------------- +Wed Nov 14 09:58:09 UTC 2018 - Jan Engelhardt + +- Update description + +------------------------------------------------------------------- +Tue Oct 16 11:52:51 UTC 2018 - Jan Engelhardt + +- Update to new upstream release 3.6.0 + * Add OBJ model support + * Add HITOWNER flag, when set, allows a projectile to collide + with its shooter. + * Enabled the linear shadowmap filter. + * Added 5x and 6x upscaling with xBRZ + * Exports various resurrection-related functions to ZScript. +- Update to new upstream release 3.5.1 + * Added post processing support to the software renderer and + softpoly. +- Add fl2.patch + +------------------------------------------------------------------- +Sun Aug 5 12:00:27 UTC 2018 - mardnh@gmx.de + +- Update to version 3.5.0 + * (modern branch only) Fullscreen is now borderless window (which, + technically, it always has been, anyhow). Removed hacks which + changed the desktop resolution in order to simulate exclusive + fullscreen because they were a constant stability concern. + * (modern branch only) fixed a performance regression with the + software renderer, introduced by the recent changes to the video + backend in 3.4. + * Save item statistics - Items are now saved into save games and + are displayed on the statfile + * Upgrade libADLMIDI and libOPNMIDI + * Large number of MinGW fixes + * add tags for all Doom and Heretic monsters for mods that reveal + monster names + * various compatibility fixes for old maps and mods + * fixed titlepic animation + * Custom hardware shaders now can use custom texture units + * default to "fullscreen" display + * fixed a potential exploit with malformed WAD files. + +- Update to version 3.4.1 + * fixed: redirect script access to the compatflags CVARs to their + internal shadow variables. This is needed so that MAPINFO settings + for these flags don't get ignored. + * fixed: flag CVars in ZScript referenced wrong addresses + * fixed: ZScript used the wrong variable for compatflags2. + * fixed: remove ARM specific gl_es definition since it's not even + really much different from the main line definition, anyhow + * fixed generation of brightmaps for sprites. This forgot to take + the added empty border for filtering improvement into account. + * fixed ADynamicLight's shadowmap index must be reset when loading + a savegame. + * fixed portal restoration on revisiting level in hub. + * Added function to FLevelLocals to test if map is being reentered. + * fixed crash with GL 3.x and fixed colormap active. + +- Update to version 3.4.0 + * enable #include support in modeldef files + * removed DirectDraw and Direct3D backends, removed unaccerated SDL + framebuffer backend + * reorganization of 2D and 3D rendering code in preparation for Vulkan + in the future, performance improvements on newer hardware + * CVAR that handles it is now 'vid_rendermode' - vid_renderer, + swtruecolor, and r_polyrender have been removed and combined into + new CVAR + * added a 'lightsizefactor' command to gldefs. + * allow animated title pics. + * Add support for Unreal Engine 1 vertex mesh format. + * added LevelLocals vec2/3Offset(Z) functions for portal-aware + offsetting without needing actors + * Add "OnGiveSecret" virtual function on Actor for customizing behavior + of secret finding. + * BLOCKASPLAYER flag: treat non-player actors as blockable by + "block players" lines + * added 'revealed on automap' linedef flag, UDMF only + * added forced automap style to linedef, UDMF only + * Added startup song definition for custom IWADs + * This release contains a major render optimization for highly detailed + maps that may give a +20% performance improvement on Intel and AMD + hardware (less on NVidia because the driver has far less overhead that + could be optimized away.) + +- Update to version 3.3.2 + * Fixed detection of .ipk7 custom IWADs + * Restored vanilla behavior of lightning for original Hexen + * Added loading of ZSDF lumps by full paths + * Disabled the survey code + * Exported P_ActivateLine() to ZScript along with constants for + activation type + * Increased size of the savegame comment area. + +- Update to version 3.3.1 + * Better handling of defaults with some ZScript/DECORATE functions + * Many bug fixes since 3.3.0 + +- Update to version 3.3.0 + ZScript & Mapping Highlights + * Added dynamic spot lights, configurable in the UDMF map format + * Exported GetChecksum() function as part of FLevelLocals in ZScript + * Mod-defined aliases no longer permanently change CVARs + * Added FriendlySeeBlocks actor property that allows a modder to expand + the maximum radius that a friendly monster can see enemies. It's + accessible from both ZScript/DECORATE and UDMF + * Custom submenus are no longer removed from altered protected menu + * Exported S_GetMSLength() function to ZScript + * Added GetRadiusDamage() function. It returns the raw calculated + explosion damage falloff by distance only + * Added Screen.getViewWindow() function + * Exported Trace() interface to ZScript + * Added TeleportSpecial() as an alias for Teleport() in ZScript to + deconflict from Actor.Teleport() function + * Added Distance2DSquared() and Distance3DSquared() functions + * Fixed skip_super application for ZScript + * Split off the interface part of DHUDMessage + * Exported sector effect pointers + * Fixed missing pointer assignment on Lighting effect creation + * Made left button down event available to UI event handler + * Exported Inventory.AltHUDIcon field to ZScript + * Added WorldLinePreActivated to override line activation + * Added DI_MIRROR flag to statusbar image drawing, useful for rearview + mirrors + * Enabled string and float user_ properties in UDMF things + Other Highlights + * Added in-game reverb editor using the menu system + * Improved French translations + * Fixed 'precise' rendering in OpenGL + * Added new Materials Shader system to allow textures to show new + properties such as glossiness and specularity, affected by dynamic + lights, or with PBR, reflecting their direct surroundings + * Added new rocket smoke sprites by Talon1024 + * Embedded Timidity++ into GZDoom directly + * Added light definition for megasphere + * Fixed midtex nowrap clipping bug when 3d floors are in view + (Software Renderer) + * Improved profilethinkers in various ways + * Added variables am_unexploredsecretcolor and am_ovunexploredsecretcolor + to mark undiscovered secrets differentl + +- Drop patch (Upstream updated to 18.05): + * 0001-Update-LZMA-SDK-to-version-17.01.patch +- Rebase patch: + * gzdoom-lzma.patch + +------------------------------------------------------------------- +Mon Jan 8 12:48:59 UTC 2018 - jengelh@inai.de + +- Update to new upstream 3.2.5 + * Implemented 'i_soundinbackground' to continue playing sounds + and music while in background. + * OpenGL rendering now continues even when losing focus if not + running fullscreen. + * Added 'playerrespawn' skill flag to allow gameplay mods to + retroactively enable player respawns in single player on + all maps. + * Improved Advanced Sound Options menu - added option for + FluidSynth chorus, removed fractional part from FluidSynth + voices option. + * Fixed applying of Doom 64 lighting to horizon portals. + * Particles are now interpolated. +- Use system lzma-sdk +- Add 0001-Update-LZMA-SDK-to-version-17.01.patch, + gzdoom-lzma.patch, gzdoom-wadsrc-extra.patch + +------------------------------------------------------------------- +Tue Jan 2 13:14:54 UTC 2018 - jengelh@inai.de + +- Remove zdoom from the specfile (which had built both zdoom and + gzdoom due to their similarity) and rename to gzdoom.spec. +- Update to new upstream release 3.2.4 + * Recognition for the HacX 2.0 IWAD + * Recognition for the modified Doom 1/2/U IWADs and the "No Rest + for the Living" expansion pack shipped in the Doom3 BFG Edition. + * New GL3 node format for complex UDMF maps which need fractional + precision on node splitters. + * The ZScript scripting language has been added. + * A new 32-bit software renderer has been added. + The classic 8-bit renderer remains available. +- Add gzdoom-waddir.patch, gzdoom-staticlibs.patch. + +------------------------------------------------------------------- +Sun Mar 24 00:38:53 UTC 2013 - jengelh@inai.de + +- Standardize on /usr/share/doom for IWADs. +- Per-user configuration is to be moved to ~/.config/zdoom + (XDG environment variables are not respected, though), + ~/.config/gzdoom and ~/.config/zandronum for the different + game engines respectively. + +------------------------------------------------------------------- +Thu Mar 21 16:06:30 UTC 2013 - jengelh@medozas.de + +- Update to new upstream release zdoom-2.6.0+svn4191 + and gzdoom-1.7.01+svn1526 +* berserk indicator on alternative HUD +* support for BFG edition IWADs +* sound precaching through MAPINFO. +- Imported zandronum-1.0+hg3641 (formerly Skulltag) + +------------------------------------------------------------------- +Tue Jul 10 14:12:20 UTC 2012 - jengelh@inai.de + +- Update to new upstream release 2.6.0 (gzdoom-1.6.0) +* Added Hacx IWAD support. +* Added text-format Strife conversation system with USDF and ZSDF. +* A textured automap is now available; automap graphics are now + externalized. +* Rewritten menu system, which can now be defined with the MENUDEF + lump. +* Externalized intermissions to MAPINFO. +* Externalized IWAD detection and gave each IWAD its own + independent config section. +* Added FluidSynth and GUS emulator softsynths; fixed issues with + TiMidity++. +* Added VOC support and enhanced MIDI playback with support for + alternative formats such as XMI and HMI. +* Action specials: Added Ceiling_LowerAndCrushDist and + Thing_SetConversation. Added console command to execute specials. +* ACS: Increased maximum script number from 999 to 32767. +* ACS: Named scripts allow to avoid script number conflicts + altogether. +* ACS: Added StrCopy, CheckSight, SetActivator, SetPointer + functions. +* ACS: Added APROP_ScaleX/Y and APROP_Mass actor properties. +* ACS: Added temporary dynamic strings variables with StrParam. +* ACS: Scripts can now have up to four parameters. +* DECORATE: Added A_CheckFlag, A_FaceMaster, A_FaceTracer, + A_RadiusGive, A_SetMass, A_SetScale, A_Warp and A_WolfAttack... +* DECORATE: Enhanced A_AlertMonsters, A_BFGSpray, A_Blast, + A_CustomBulletAttack, A_FireBullets, A_GunFlash, A_PainAttack, + A_RadiusThrust... +* DECORATE: Added an actor pointer manipulation system with several + new codepointers... +* DECORATE: Added DOHARMSPECIES, DONTCORPSE, SEEINVISIBLE and + INVENTORY.UNTOSSABLE +* DECORATE: Increased damage type flexibility in several ways with + DeathType and PainType. +* DECORATE: Added customizable fléchettes. +* DECORATE: Made accuracy and stamina accessible through DECORATE + expressions. +* DECORATE: Added ProjectileKickback, Inventory.RestrictedTo and + Inventory.ForbiddenTo class-based properties. +* DECORATE: Backported VisibleToTeam, VisibleToPlayerClass and + weapon DropItem feature from Skulltag, and enhanced them. +* DECORATE: Added "Fast" keyword for states and deprecated the + unreliable FASTER and FASTMELEE flags. +* Added a secret hint system. +* 3D floors support. +* FraggleScript support. +* Voxel support. +* SBARINFO: Ammo 1/2 capacities added to DrawNumber, support for + color names in colored text. +* SNDINFO: Added musicalias and attenuation. +* Compatibility: fixed issues with Eternal Doom, Happy Time Circus, + Phobos, vanilla compat, Boom compat, light levels higher than + 255, Heretic, Strife, MUSINFO, misnamed UDMF field. +* Fixed loading of BMF palettes. +* restart console command. +* Added PALVERS lump for specifying alternate graphics to use with + a paletted render, in case the graphics you really want to use + look bad without true color. +* Custom IWADs no longer need to include a COLORMAP, as ZDoom will + generate one automatically if it is missing. +* Fixed vertical tiling of non-power-of-two textures. + +------------------------------------------------------------------- +Sat Nov 27 22:30:43 UTC 2010 - jengelh@medozas.de + +- cmake is really weird when it comes to CFLAGS. + Pass :STRING= to make it actually use our flags. +- set RPM group for gzdoom to one that rpmlint accepts +- disable strip to make debuginfo packages work +- fix a crash caused by an uninitialized variable + +------------------------------------------------------------------- +Fri Sep 10 17:39:21 UTC 2010 - jengelh@medozas.de + +- Enable building with experimental fluidsynth support +- Optimize PNGs before packing up +- Do not use FMODEx for building on non-x86 +- Remove unneeded p7zip build dependency (repacked + patched + .tar.xz is used since a while) +- Update to ZDoom 2.5.0 +* Obsoleted zdoom-binutils.diff +- Update to GZDoom 1.5.02 + +------------------------------------------------------------------- +Fri Jul 30 12:56:27 UTC 2010 - jengelh@medozas.de + +- Add patch to workaround compile issues with binutils 2.20.0 + +------------------------------------------------------------------- +Wed Jul 28 12:44:57 UTC 2010 - jengelh@medozas.de + +- Split up zdoom package into its components +- zdoom, gzdoom, zdoom-devel diff --git a/gzdoom.spec b/gzdoom.spec new file mode 100644 index 0000000..457724b --- /dev/null +++ b/gzdoom.spec @@ -0,0 +1,114 @@ +# +# spec file for package gzdoom +# +# Copyright (c) 2024 SUSE LLC +# +# All modifications and additions to the file contributed by third parties +# remain the property of their copyright owners, unless otherwise agreed +# upon. The license for this file, and modifications and additions to the +# file, is the same license as for the pristine package itself (unless the +# license for the pristine package is not an Open Source License, in which +# case the license is the MIT License). An "Open Source License" is a +# license that conforms to the Open Source Definition (Version 1.9) +# published by the Open Source Initiative. + +# Please submit bugfixes or comments via https://bugs.opensuse.org/ +# + + +Name: gzdoom +Version: 4.12.2 +Release: 0 +Summary: A DOOM source port with graphic and modding extensions +License: GPL-3.0-only +Group: Amusements/Games/3D/Shoot +URL: https://zdoom.org/ + +#Git-Clone: https://github.com/zdoom/gzdoom +Source: https://github.com/zdoom/gzdoom/archive/g%version.tar.gz +Patch2: gzdoom-discord.patch +Patch3: 0001-Revert-Switch-to-miniz-from-zlib.patch +Patch4: gzdoom-lzma-simd.patch +Patch5: gzdoom-lzma.patch +Patch8: more-32bit.patch +BuildRequires: cmake >= 2.8.7 +BuildRequires: discord-rpc-devel +BuildRequires: gcc-c++ +BuildRequires: libjpeg-devel +BuildRequires: pkg-config +BuildRequires: unzip +BuildRequires: zmusic-devel +BuildRequires: pkgconfig(bzip2) +BuildRequires: pkgconfig(flac) +BuildRequires: pkgconfig(gl) +BuildRequires: pkgconfig(gtk+-3.0) +BuildRequires: pkgconfig(libwebp) +BuildRequires: pkgconfig(openal) +BuildRequires: pkgconfig(sdl2) >= 2.0.6 +BuildRequires: pkgconfig(vpx) +BuildRequires: pkgconfig(zlib) +%if 0%{?suse_version} >= 1599 +BuildRequires: pkgconfig(clzma) >= 23.01 +%else +Provides: bundled(clzma) = 23.01 +%endif +Provides: qzdoom = 1.3.0 +Provides: zdoom = 2.8.1 +Provides: bundled(gdtoa) +Provides: bundled(glslang) = 11.10.0 +Provides: bundled(re2c) = 0.16.0 +Provides: bundled(vulkan) = 1.2.189.1 +Provides: bundled(xbrz) = 1.8 +Suggests: freedoom + +%description +GZDoom is a port (a modification) of the original Doom source code, featuring: +* an OpenGL renderer, HQnX/xBRZ rescaling, 3D floor and model support +* Truecolor software rendering, extending the classic 8-bit palette +* Heretic, Hexen and Strife game modes and support for a lot of + additional IWADs. +* Boom and Hexen map extension support, scriptability with ACS and + ZScript, and various modding features regarding actors and scenery. +* Demo record/playback of classic and Boom demos is not supported. + +%ifarch %ix86 +SSE2 is a hard requirement even on 32-bit x86. +%endif + +%prep +%autosetup -n %name-g%version -p1 +%if 0%{?suse_version} < 1599 +# system lzma-sdk too old, use bundled copy +%patch -P 5 -R -p1 +%endif +# osc/rpm always has the version identifier (only has an effect when snapshots are used via _service files) +perl -i -pe "s{}{%version}g" tools/updaterevision/UpdateRevision.cmake +# https://en.opensuse.org/openSUSE:Reproducible_Builds +perl -i -pe 's{__DATE__}{"'"$SOURCE_DATE_EPOCH"'"}g' src/common/platform/posix/sdl/i_main.cpp + +%build +# Disable LTO, which does not like seeing handcrafted assembler +%define _lto_cflags %nil + +export CXXFLAGS="$CXXFLAGS -DSHARE_DIR=\\\"%_datadir/doom\\\"" +%cmake -DNO_STRIP=1 \ + -DCMAKE_SHARED_LINKER_FLAGS="" \ + -DCMAKE_EXE_LINKER_FLAGS="" -DCMAKE_MODULE_LINKER_FLAGS="" \ + -DINSTALL_DOCS_PATH="%_defaultdocdir/%name" \ + -DINSTALL_PK3_PATH="%_datadir/doom" \ + -DINSTALL_SOUNDFONT_PATH="%_datadir/doom" \ + -DDYN_OPENAL=OFF -DINSTALL_RPATH:STRING="NO" +%cmake_build + +%install +%cmake_install + +%post +echo "INFO: %name: The global IWAD directory is %_datadir/doom." + +%files +%_bindir/%name +%_defaultdocdir/%name +%_datadir/doom/ + +%changelog diff --git a/more-32bit.patch b/more-32bit.patch new file mode 100644 index 0000000..fa1df1d --- /dev/null +++ b/more-32bit.patch @@ -0,0 +1,90 @@ +From: Jan Engelhardt +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. + +VkSurfaceKHR is not a pointer on some platforms but an integral type. +Using {} will clear it without running into a type error: + + sdlglvideo.cpp:294:54: error: cannot convert 'std::nullptr_t' to + 'VkSurfaceKHR' {aka 'long long unsigned int'} in initialization + VkSurfaceKHR surfacehandle = nullptr; +--- + src/CMakeLists.txt | 5 +++++ + src/common/engine/i_interface.cpp | 2 -- + src/common/platform/posix/sdl/sdlglvideo.cpp | 2 +- + src/playsim/p_effect.h | 7 +++++-- + 4 files changed, 11 insertions(+), 5 deletions(-) + +Index: gzdoom-g4.12.2/src/CMakeLists.txt +=================================================================== +--- gzdoom-g4.12.2.orig/src/CMakeLists.txt ++++ gzdoom-g4.12.2/src/CMakeLists.txt +@@ -44,6 +44,11 @@ if( ${TARGET_ARCHITECTURE} MATCHES "x86_ + set( X64 64 ) + add_definitions( -DARCH_IA32 ) + endif() ++if( ${TARGET_ARCHITECTURE} MATCHES "i386" ) ++ # The production of _mm_load_si128 instructions requires flags. ++ # (This is independent of whether or not they are executed later.) ++ add_definitions( -mmmx -msse -msse2 -mfpmath=sse -DARCH_IA32 ) ++endif() + + if( NOT PROJECT_LIBRARIES ) + set( PROJECT_LIBRARIES "" ) +Index: gzdoom-g4.12.2/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" + #include "gstrings.h" + +-static_assert(sizeof(void*) == 8, "32 builds are not supported"); +- + // 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 +=================================================================== +--- gzdoom-g4.12.2.orig/src/common/platform/posix/sdl/sdlglvideo.cpp ++++ gzdoom-g4.12.2/src/common/platform/posix/sdl/sdlglvideo.cpp +@@ -400,7 +400,7 @@ DFrameBuffer *SDLVideo::CreateFrameBuffe + builder.RequireExtension(names[i]); + auto instance = builder.Create(); + +- VkSurfaceKHR surfacehandle = nullptr; ++ VkSurfaceKHR surfacehandle = {}; + if (!I_CreateVulkanSurface(instance->Instance, &surfacehandle)) + VulkanError("I_CreateVulkanSurface failed"); + +Index: gzdoom-g4.12.2/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 + class DVisualThinker; + struct particle_t + { +- subsector_t* subsector; //+8 = 8 ++ union { ++ subsector_t* subsector; ++ uint64_t _pad0; //+8 = 8 ++ }; + DVector3 Pos; //+24 = 32 + FVector3 Vel; //+12 = 44 + FVector3 Acc; //+12 = 56 +@@ -83,7 +86,7 @@ struct particle_t + float Roll, RollVel, RollAcc; //+12 = 100 + uint16_t tnext, snext, tprev; //+6 = 106 + uint16_t flags; //+2 = 108 +- // uint32_t padding; //+4 = 112 ++ uint32_t padding; //+4 = 112 + FStandaloneAnimation animData; //+16 = 128 + }; +