Compare commits

...

4 Commits

Author SHA256 Message Date
0f53b84fd9 gzdoom 4.14 2024-12-18 02:05:55 +01:00
18712dbad5 gzdoom 4.13.2 2024-11-02 22:47:20 +01:00
7dcad71190 gzdoom 4.13 2024-10-12 10:48:05 +02:00
14d31f5135 Resolve improper __DATE__ replacement [boo#1226829] 2024-08-28 02:44:43 +02:00
6 changed files with 146 additions and 82 deletions

View File

@ -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 <sys/wait.h>
#endif
@ -85,10 +85,10 @@ Index: gzdoom-g4.12.2/src/common/audio/music/i_music.cpp
#include <zmusic.h>
#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 <bzlib.h>
#include <algorithm>
#include <stdexcept>
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 <stdlib.h>
#include <ctype.h>
#include <string.h>
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 <algorithm>
@ -196,10 +196,10 @@ Index: gzdoom-g4.12.2/src/common/textures/m_png.cpp
#include <stdint.h>
#ifdef _MSC_VER
#include <malloc.h> // 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 <errno.h>
#include <ctype.h>
@ -229,10 +229,10 @@ Index: gzdoom-g4.12.2/src/g_pch.h
#include <new>
#include <algorithm>
#include <forward_list>
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 <errno.h>
#include <ctype.h>
@ -243,12 +243,12 @@ Index: gzdoom-g4.12.2/src/g_pch2.h
#include <new>
#include <algorithm>
#include <sys/stat.h>
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 <unistd.h>
#endif
-#include <miniz.h>
@ -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 <errno.h>
#include <stdlib.h>

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:864c5a1ec976dd6068f9cd93f92c5404c662824996101f1411ddb25a54afc732
size 25910359

BIN
g4.14.0.tar.gz (Stored with Git LFS) Normal file

Binary file not shown.

View File

@ -1,3 +1,44 @@
-------------------------------------------------------------------
Wed Dec 18 00:52:50 UTC 2024 - Jan Engelhardt <jengelh@inai.de>
- Update to release 4.14.0
* FOV scales ortho up to 180 degrees
* Interpolate non-Burn screen wipes
* Added net id functions for ACS
* Fixed bouncing on 3D floors
* Fixed A_SprayDecal not working on 3D floors
-------------------------------------------------------------------
Sat Nov 2 16:40:47 UTC 2024 - Jan Engelhardt <jengelh@inai.de>
- Update to release 4.13.2
* Added (SPF_)STRETCHPIXELS - for actors, makes rollsprites
levelstretched, for particles, puts them back to the original
stretch math as before, optional opt-in flag.
* Sector damage code reverted due to some critical bugs,
feature will be in 4.14 timeframe.
-------------------------------------------------------------------
Sat Oct 12 08:46:50 UTC 2024 - Jan Engelhardt <jengelh@inai.de>
- 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 <jengelh@inai.de>
- Resolve improper __DATE__ replacement [boo#1226829]
-------------------------------------------------------------------
Fri May 17 22:04:47 UTC 2024 - Jan Engelhardt <jengelh@inai.de>

View File

@ -17,7 +17,7 @@
Name: gzdoom
Version: 4.12.2
Version: 4.14.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
@ -84,7 +85,7 @@ SSE2 is a hard requirement even on 32-bit x86.
# osc/rpm always has the version identifier (only has an effect when snapshots are used via _service files)
perl -i -pe "s{<unknown version>}{%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
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

View File

@ -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,16 @@ 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/models/bonecomponents.h | 1 +
src/common/platform/posix/sdl/sdlglvideo.cpp | 2 +-
src/playsim/p_effect.h | 7 +++++--
4 files changed, 11 insertions(+), 5 deletions(-)
5 files changed, 12 insertions(+), 11 deletions(-)
Index: gzdoom-g4.12.2/src/CMakeLists.txt
Index: gzdoom-g4.13.2/src/CMakeLists.txt
===================================================================
--- gzdoom-g4.12.2.orig/src/CMakeLists.txt
+++ gzdoom-g4.12.2/src/CMakeLists.txt
--- gzdoom-g4.13.2.orig/src/CMakeLists.txt
+++ gzdoom-g4.13.2/src/CMakeLists.txt
@@ -44,6 +44,11 @@ if( ${TARGET_ARCHITECTURE} MATCHES "x86_
set( X64 64 )
add_definitions( -DARCH_IA32 )
@ -37,23 +41,41 @@ 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.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"
--- gzdoom-g4.13.2.orig/src/common/engine/i_interface.cpp
+++ gzdoom-g4.13.2/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 "
- "<https://forum.zdoom.org/viewtopic.php?f=7&t=75673> "
- "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.2/src/common/models/bonecomponents.h
===================================================================
--- 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.2.orig/src/common/models/bonecomponents.h
+++ gzdoom-g4.13.2/src/common/models/bonecomponents.h
@@ -43,6 +43,7 @@ struct ModelAnim
float framerate = 0;
double startFrame = 0;
int flags = MODELANIM_NONE;
+ int __padding = 0;
double startTic = 0; // when the current animation started (changing framerates counts as restarting) (or when animation starts if interpolating from previous animation)
double switchOffset = 0; // when the animation was changed -- where to interpolate the switch from
};
Index: gzdoom-g4.13.2/src/common/platform/posix/sdl/sdlglvideo.cpp
===================================================================
--- gzdoom-g4.13.2.orig/src/common/platform/posix/sdl/sdlglvideo.cpp
+++ gzdoom-g4.13.2/src/common/platform/posix/sdl/sdlglvideo.cpp
@@ -400,7 +400,7 @@ DFrameBuffer *SDLVideo::CreateFrameBuffe
builder.RequireExtension(names[i]);
auto instance = builder.Create();
@ -63,11 +85,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.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
--- gzdoom-g4.13.2.orig/src/playsim/p_effect.h
+++ gzdoom-g4.13.2/src/playsim/p_effect.h
@@ -75,7 +75,10 @@ enum EParticleFlags
class DVisualThinker;
struct particle_t
{
@ -79,7 +101,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