Package Details: d2x-rebirth-git 0.60.0.beta2.r3132.g5b8dc756f-1

Git Clone URL: https://aur.archlinux.org/dxx-rebirth-git.git (read-only, click to copy)
Package Base: dxx-rebirth-git
Description: A source port of the Descent 2 engine (git version)
Upstream URL: https://www.dxx-rebirth.com/
Licenses: GPL-3.0-only, LicenseRef-Parallax-License
Conflicts: d2x-rebirth
Provides: d2x-rebirth
Submitter: dbermond
Maintainer: dbermond
Last Packager: dbermond
Votes: 4
Popularity: 0.37
First Submitted: 2018-03-17 13:47 (UTC)
Last Updated: 2024-07-31 16:50 (UTC)

Latest Comments

« First ‹ Previous 1 2 3 4 Next › Last »

dbermond commented on 2024-03-17 14:33 (UTC)

@HMK The addons are still available in the upstream website, so we better use it. Thanks for reporting and for the links. Package updated.

HMK commented on 2024-03-17 00:21 (UTC)

Sources are 404

Alternative URLs from archive.org

https://web.archive.org/web/20230702124034if_/https://www.dxx-rebirth.com/download/dxx/res/d1xr-hires.dxa https://web.archive.org/web/20221208193318if_/https://www.dxx-rebirth.com/download/dxx/res/d1xr-sc55-music.dxa https://web.archive.org/web/20221208193320if_/https://www.dxx-rebirth.com/download/dxx/res/d2xr-sc55-music.dxa

dbermond commented on 2023-02-25 15:38 (UTC)

@a172 You should discuss/report this to the upstream developer.

a172 commented on 2023-02-24 15:15 (UTC)

Recent builds have switched the sound sampler used. Sound effects sound like they are coming through a blown speaker. To fix it, apply this patch:

--- src/dxx-rebirth/similar/arch/sdl/digi_mixer.cpp     2023-02-23 16:52:26.906542435 -0500
+++ -   2023-02-23 16:55:31.678343665 -0500
@@ -49,7 +49,7 @@
 #define MIX_OUTPUT_CHANNELS    2

 #ifndef DXX_FEATURE_INTERNAL_RESAMPLER
-#define DXX_FEATURE_INTERNAL_RESAMPLER 1
+#define DXX_FEATURE_INTERNAL_RESAMPLER 0
 #endif

 #if !((defined(__APPLE__) && defined(__MACH__)) || defined(macintosh))

I saved that as old_resampler.patch and made these changes to PKGBUILD:

diff --git a/PKGBUILD b/PKGBUILD
index 49b2019..778181f 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -11,7 +11,7 @@ _music='sc55' # (sc55/opl3) - update checksums if you change

 pkgbase=dxx-rebirth-git
 pkgname=('d1x-rebirth-git' 'd2x-rebirth-git')
-pkgver=0.60.0.beta2.r2022.g25688635b
+pkgver=0.60.0.beta2.r2429.gf2acbf443
 pkgrel=1
 pkgdesc='A source port of the Descent and Descent 2 engines (git version)'
 arch=('x86_64')
@@ -20,6 +20,7 @@ license=('GPL3' 'custom:Parallax')
 depends=('glu' 'libgl' 'libpng' 'sdl2' 'sdl2_image' 'sdl2_mixer' 'physfs')
 makedepends=('git' 'scons')
 source=('git+https://github.com/dxx-rebirth/dxx-rebirth.git'
+        'old_resampler.patch'
         'https://www.dxx-rebirth.com/download/dxx/res/d1xr-hires.dxa'
         "https://www.dxx-rebirth.com/download/dxx/res/d1xr-${_music}-music.dxa"
         "https://www.dxx-rebirth.com/download/dxx/res/d2xr-${_music}-music.dxa")
@@ -27,6 +28,7 @@ noextract=('d1xr-hires.dxa'
            "d1xr-${_music}-music.dxa"
            "d2xr-${_music}-music.dxa")
 sha256sums=('SKIP'
+            '1d88be9cf5bb73c4d1323ce59811b4036a5cec020164fba112c96de4101b3ebd'
             'b30a164fa9c6dff05eda6d50f777777df843968d32053f5cc9453fe89d5bed19'
             'b27f7b9dc5f9c2744402c56c9499dfd9503c17e73a2a5223e745529d7867962f'
             'ace152182c70b9a7ae6f911bddbc239566220a287ab5419cab260d5af739bf16')
@@ -35,6 +37,11 @@ pkgver() {
     git -C dxx-rebirth describe --long --tags | sed 's/\([^-]*-g\)/r\1/;s/-/./g;s/^v//'
 }

+prepare() {
+    cd "$srcdir/dxx-rebirth"
+    patch --strip 2 < "${srcdir}/old_resampler.patch"
+}
+
 build() {
     local -a _common_opts=(
         "$MAKEFLAGS"

This package should probably not be updated to include this, as it deviates from the intent of being the latest git build.

noabody commented on 2022-12-18 18:27 (UTC) (edited on 2022-12-18 18:27 (UTC) by noabody)

Thanks to PartyCatCeilidh for the heavy lifting on this. The simple workaround is to add export CPPFLAGS=-D_HAVE_STDINT_H to the PKGBUILD build section.

PartyCatCeilidh commented on 2022-12-14 23:58 (UTC) (edited on 2022-12-15 00:00 (UTC) by PartyCatCeilidh)

Hello! I have had issues building 0.60.0.beta2.r2022.g25688635b-1 with SDL 2.26, but I have found a workaround and thought I would share logs and the workaround in case someone else is looking for help

It seems related to this issue: https://discourse.libsdl.org/t/sdl-2-26-needs-to-add-d-have-stdint-h/40748/2 which should be fixed when SDL 2.26.1 releases

The workaround is to downgrade SDL to 2.24 (edit, typo) and it will compile properly

Here is the output from pamac:

Preparing...
Checking d1x-rebirth-git dependencies...
Resolving dependencies...
Checking inter-conflicts...

Building dxx-rebirth-git...
==> Making package: dxx-rebirth-git 0.60.0.beta2.r2301.gdbab38b8e-1 (Do 15 Dez 2022 00:40:41 CET)
==> Checking runtime dependencies...
==> Checking buildtime dependencies...
==> Retrieving sources...
  -> Updating dxx-rebirth git repo...
  -> Found d1xr-hires.dxa
  -> Found d1xr-sc55-music.dxa
  -> Found d2xr-sc55-music.dxa
==> Validating source files with sha256sums...
    dxx-rebirth ... Skipped
    d1xr-hires.dxa ... Passed
    d1xr-sc55-music.dxa ... Passed
    d2xr-sc55-music.dxa ... Passed
==> Removing existing $srcdir/ directory...
==> Extracting sources...
  -> Creating working copy of dxx-rebirth git repo...
Cloning into 'dxx-rebirth'...
done.
==> Starting pkgver()...
==> Removing existing $pkgdir/ directory...
==> Starting build()...
scons: Entering directory `/var/tmp/pamac-build-cnevling/dxx-rebirth-git/src/dxx-rebirth'
scons: Reading SConscript files ...
===== D1X-Rebirth v0.61.0 0.60.0-beta2-2301-gdbab38b8eada dbab38b8eada155abf3b154a3cea683a4a9c7f6c =====
DXX-Archive.2: compiling on 'linux'/'x86_64' for 'linux' into ./build/
DXX-Archive.2: checking version of C++ compiler 'x86_64-pc-linux-gnu-g++' ... 'x86_64-pc-linux-gnu-g++ (GCC) 12.2.0'
DXX-Archive.2: checking path to assembler ... b'as'
DXX-Archive.2: checking version of assembler b'as' ... 'GNU assembler (GNU Binutils) 2.39.0'
DXX-Archive.2: checking path to linker ... b'ld'
DXX-Archive.2: checking version of linker b'ld' ... 'GNU ld (GNU Binutils) 2.39.0'
DXX-Archive.2: CHOST: 'x86_64-pc-linux-gnu'
DXX-Archive.2: CXX: 'x86_64-pc-linux-gnu-g++'
DXX-Archive.2: CPPDEFINES: [('PHYSFS_DEPRECATED', '')]
DXX-Archive.2: CPPPATH: ['common/include', 'common/main', '.', './build/']
DXX-Archive.2: CPPFLAGS: ['-Wno-sign-compare']
DXX-Archive.2: CXXFLAGS: ['-g', '-O2', '-ftabstop=4', '-Wall', '-Wextra', '-Wformat=2', '-Wmissing-braces', '-Wmissing-include-dirs', '-Wuninitialized', '-Wundef', '-Wpointer-arith', '-Wcast-qual', '-Wmissing-declarations', '-Wvla', '-pthread', '-funsigned-char', '-march=x86-64', '-mtune=generic', '-O2', '-pipe', '-fno-plt', '-fexceptions', '-Wp,-D_FORTIFY_SOURCE=2', '-Wformat', '-Werror=format-security', '-fstack-clash-protection', '-fcf-protection', '-Wp,-D_GLIBCXX_ASSERTIONS']
DXX-Archive.2: LIBS: None
DXX-Archive.2: LINKFLAGS: ['-Wl,-O1,--sort-common,--as-needed,-z,relro,-z,now']
DXX-Archive.2: $CCACHE_PREFIX: None
DXX-Archive.2: $DISTCC_HOSTS: None
DXX-Archive.2: checking whether C++ compiler and linker work...yes
DXX-Archive.2: checking whether C++ compiler accepts -std=gnu++20...yes
DXX-Archive.2: checking endian to use...little
DXX-Archive.2: checking whether to enable word alignment fixups...no
DXX-Archive.2: building with OpenGL
DXX-Archive.2: checking whether to enable release options...yes
DXX-Archive.2: checking whether to enable memory allocation tracking...no
DXX-Archive.2: checking whether to enable level editor...no
DXX-Archive.2: checking whether to enable IPv6 support...yes
DXX-Archive.2: checking whether to enable stereoscopic rendering...yes
DXX-Archive.2: checking whether to enable multiplayer over UDP...yes
DXX-Archive.2: checking whether to enable UDP game tracker...yes
DXX-Archive.2: checking how to handle ADL MIDI...disabled
DXX-Archive.2: checking how to format screenshots...png
DXX-Archive.2: checking libpng pkg-config libpng
DXX-Archive.2: using pkg-config at discovered path /usr/bin/x86_64-pc-linux-gnu-pkg-config
DXX-Archive.2: reading libpng version from ('/usr/bin/x86_64-pc-linux-gnu-pkg-config', '--modversion', 'libpng')
DXX-Archive.2: libpng version: b'1.6.39'
DXX-Archive.2: reading libpng settings from ('/usr/bin/x86_64-pc-linux-gnu-pkg-config', '--cflags', '--libs', 'libpng')
DXX-Archive.2: libpng settings: {'CPPPATH': ['/usr/include/libpng16'], 'LIBS': ['png16']}
DXX-Archive.2: checking for usable library png...yes
DXX-Archive.2: checking physfs pkg-config physfs
DXX-Archive.2: reading physfs version from ('/usr/bin/x86_64-pc-linux-gnu-pkg-config', '--modversion', 'physfs')
DXX-Archive.2: physfs version: b'3.2.0'
DXX-Archive.2: reading physfs settings from ('/usr/bin/x86_64-pc-linux-gnu-pkg-config', '--cflags', '--libs', 'physfs')
DXX-Archive.2: physfs settings: {'LIBS': ['physfs']}
DXX-Archive.2: checking for usable library physfs...yes
DXX-Archive.2: checking for usable library ['GL', 'GLU']...yes
DXX-Archive.2: checking SDL2 pkg-config sdl2
DXX-Archive.2: reading sdl2 version from ('/usr/bin/x86_64-pc-linux-gnu-pkg-config', '--modversion', 'sdl2')
DXX-Archive.2: SDL2 version: b'2.26.0'
DXX-Archive.2: reading SDL2 settings from ('/usr/bin/x86_64-pc-linux-gnu-pkg-config', '--cflags', '--libs', 'sdl2')
DXX-Archive.2: SDL2 settings: {'CPPDEFINES': ['_REENTRANT'], 'CPPPATH': ['/usr/include/SDL2'], 'LIBS': ['SDL2']}
DXX-Archive.2: checking whether to enable joystick support...yes
DXX-Archive.2: checking for usable library SDL2 with OpenGL...no
DXX-Archive.2: checking for usable header SDL.h...no
DXX-Archive.2: checking whether compiler can parse header SDL.h...no
DXX-Archive.2: checking whether preprocessor can parse header SDL.h...no
DXX-Archive.2: checking whether preprocessor can locate header SDL.h (and supporting headers)...no
DXX-Archive.2: checking for usable library SDL without OpenGL...no
DXX-Archive.2: checking for usable header SDL.h...no
DXX-Archive.2: checking whether compiler can parse header SDL.h...no
DXX-Archive.2: checking whether preprocessor can parse header SDL.h...no
DXX-Archive.2: checking whether preprocessor can locate header SDL.h (and supporting headers)...no
scons: *** Header SDL.h is missing or includes a missing supporting header.  See build/sconf.log for details.  Stop.
==> ERROR: A failure occurred in build().
    Aborting...

and a (I believe) relevant spot from sconf.log:


DXX-Archive.2: SDL2 settings full output: b'-I/usr/include/SDL2 -D_REENTRANT -lSDL2 \n'
scons: Configure: DXX-Archive.2: checking whether to enable joystick support...yes

scons: Configure: DXX-Archive.2: checking for usable library SDL2 with OpenGL...
build/.sconf_temp/conftest_2a7ac60d262d5165891a650c13439f33_0.cpp <-
  |
  |
  |/* This test is always false.  Use a non-trivial condition to
  | * discourage external text scanners from recognizing that the block
  | * is never compiled.
  | */
  |#if 1 < -1
  |6981c9a9
  |// 'x86_64-pc-linux-gnu-g++' => 'x86_64-pc-linux-gnu-g++ (GCC) 12.2.0'
  |// 'x86_64-pc-linux-gnu-g++ -g -O2 -ftabstop=4 -Wall -Wextra -Wformat=2 -Wmissing-braces -Wmissing-include-dirs -Wuninitialized -Wundef -Wpointer-arith -Wcast-qual -Wmissing-declarations -Wvla -pthread -funsigned-char -march=x86-64 -mtune=generic -O2 -pipe -fno-plt -fexceptions -Wp,-D_FORTIFY_SOURCE=2 -Wformat -Werror=format-security -fstack-clash-protection -fcf-protection -Wp,-D_GLIBCXX_ASSERTIONS -Wl,-O1,--sort-common,--as-needed,-z,relro,-z,now -print-prog-name=as' => b'as'
  |// b'as' => 'GNU assembler (GNU Binutils) 2.39.0'
  |// 'x86_64-pc-linux-gnu-g++ -g -O2 -ftabstop=4 -Wall -Wextra -Wformat=2 -Wmissing-braces -Wmissing-include-dirs -Wuninitialized -Wundef -Wpointer-arith -Wcast-qual -Wmissing-declarations -Wvla -pthread -funsigned-char -march=x86-64 -mtune=generic -O2 -pipe -fno-plt -fexceptions -Wp,-D_FORTIFY_SOURCE=2 -Wformat -Werror=format-security -fstack-clash-protection -fcf-protection -Wp,-D_GLIBCXX_ASSERTIONS -Wl,-O1,--sort-common,--as-needed,-z,relro,-z,now -print-prog-name=ld' => b'ld'
  |// b'ld' => 'GNU ld (GNU Binutils) 2.39.0'
  |
  |#endif
  |
  |#define DXX_WORDS_BIGENDIAN 0
  |#define DXX_WORDS_NEED_ALIGNMENT 0
  |#define DXX_USE_OGL 1
  |#define DXX_USE_OGLES 0
  |#define DXX_USE_EDITOR 0
  |#define DXX_USE_IPv6 1
  |#define DXX_USE_STEREOSCOPIC_RENDER 1
  |#define DXX_USE_UDP 1
  |#define DXX_USE_TRACKER 1
  |
  |#include <SDL.h>
  |
  |#undef main  /* avoid -Dmain=SDL_main from libSDL (and, on some platforms, from libSDL2) */
  |
  |
  |int main(int argc,char**argv){(void)argc;(void)argv;
  |
  | SDL_RWops *ops = reinterpret_cast<SDL_RWops *>(argv);
  |#if DXX_MAX_JOYSTICKS
  |#ifdef SDL_JOYSTICK_DISABLED
  |#error "Rebirth configured with joystick support enabled, but SDL2 configured with joystick support disabled.  Disable Rebirth joystick support or install an SDL2 with joystick support enabled."
  |#endif
  |#define DXX_SDL_INIT_JOYSTICK    SDL_INIT_JOYSTICK |
  |#else
  |#define DXX_SDL_INIT_JOYSTICK
  |#endif
  | SDL_Init(DXX_SDL_INIT_JOYSTICK 0 | SDL_INIT_VIDEO | SDL_INIT_AUDIO);
  |
  |#ifndef SDL_VIDEO_OPENGL
  |#error "Rebirth configured with OpenGL enabled, but SDL2 configured with OpenGL disabled.  Disable Rebirth OpenGL or install an SDL2 with OpenGL enabled."
  |#endif
  |
  |#if DXX_MAX_JOYSTICKS
  | auto n = SDL_NumJoysticks();
  | (void)n;
  |#endif
  | SDL_QuitSubSystem(SDL_INIT_VIDEO);
  | SDL_FreeRW(ops);
  | SDL_Quit();
  |
  |
  |;}
  |
  |
x86_64-pc-linux-gnu-g++ -c -g -ftabstop=4 -Wall -Wextra -Wformat=2 -Wmissing-braces -Wmissing-include-dirs -Wuninitialized -Wundef -Wpointer-arith -Wcast-qual -Wmissing-declarations -Wvla -pthread -funsigned-char -march=x86-64 -mtune=generic -O2 -pipe -fno-plt -fexceptions -Wp,-D_FORTIFY_SOURCE=2 -Wformat -Werror=format-security -fstack-clash-protection -fcf-protection -Wp,-D_GLIBCXX_ASSERTIONS -std=gnu++20 -Werror -Wno-sign-compare -DPHYSFS_DEPRECATED= -D_REENTRANT -DDXX_MAX_JOYSTICKS=8 -DDXX_MAX_AXES_PER_JOYSTICK=128 -DDXX_MAX_BUTTONS_PER_JOYSTICK=128 -DDXX_MAX_HATS_PER_JOYSTICK=4 -DDXX_USE_SDL_REDBOOK_AUDIO=0 -Icommon/include -Icommon/main -I. -Ibuild -I/usr/include/libpng16 -I/usr/include/SDL2 build/.sconf_temp/conftest_2a7ac60d262d5165891a650c13439f33_0.cpp -o build/.sconf_temp/conftest_2a7ac60d262d5165891a650c13439f33_0.o
In file included from /usr/include/SDL2/SDL_stdinc.h:31,
                 from /usr/include/SDL2/SDL_main.h:25,
                 from /usr/include/SDL2/SDL.h:32,
                 from build/.sconf_temp/conftest_2a7ac60d262d5165891a650c13439f33_0.cpp:27:
/usr/include/SDL2/SDL_config.h:542:58: error: "_HAVE_STDINT_H" is not defined, evaluates to 0 [-Werror=undef]
  542 | #if !defined(_STDINT_H_) && (!defined(HAVE_STDINT_H) || !_HAVE_STDINT_H)
      |                                                          ^~~~~~~~~~~~~~

dbermond commented on 2022-09-03 17:26 (UTC)

@a172 I have no idea if there are level editors for linux, sorry.

a172 commented on 2022-08-22 01:58 (UTC)

@dbermond - Sounds like a mess that I'm glad I don't need to deal with. Thanks for finding a work around.

Are there any hog/level editors for linux? I've seen some references that indicate they exist in some form, but no documentation on where to get them or how to build them.

dbermond commented on 2022-08-21 13:55 (UTC)

@a172 Upstream is having some problems with compilers. It started giving problem with gcc, then I switched to clang for fixing the build. Now it fails with clang, and I've switched back to gcc, as it's currently building fine with it again.

a172 commented on 2022-08-20 20:40 (UTC) (edited on 2022-08-20 20:51 (UTC) by a172)

I'm sure that I'm doing something wrong, but I can't figure out what it is. I built 0.60.0.beta2.r1861.gd1ed53ebd-1 on 2022-06-21, and it works great. However, I'm unable to build it now. Here is what I'm getting (edit: mucked with the line wrapping a bit to make it easier to read here):

[a lot of output that probably isn't relevant]
CXX d1x ./build/ similar/main/multi.cpp
In file included from similar/main/multi.cpp:39:
In file included from common/main/game.h:32:
In file included from common/main/robot.h:34:
In file included from common/main/object.h:40:
common/include/valptridx.h:229:2: error: call to
unsigned int valptridx<dcx::player>::check_index_range_size<valptridx<dcx::player>::index_range_exception, std::less>(char const*, unsigned int, unsigned long, valptridx<dcx::player>::array_managed_type const*)::DXX_ALWAYS_ERROR_FUNCTION::dxx_trap_handle_index_range_error()
declared with 'error' attribute: invalid index used in array subscript
    DXX_VALPTRIDX_CHECK(Compare<std::size_t>()(s, array_size), handle_index_range_error, "invalid index used in array subscript", a, s);
    ^
common/include/valptridx.h:37:3: note: expanded from macro 'DXX_VALPTRIDX_CHECK'
        DXX_VALPTRIDX_STATIC_CHECK(dxx_valptridx_check_success_condition, dxx_trap_##ERROR, FAILURE_STRING);    \
        ^
common/include/valptridx.h:20:5: note: expanded from macro 'DXX_VALPTRIDX_STATIC_CHECK'
            (DXX_ALWAYS_ERROR_FUNCTION(FAILURE_FUNCTION, FAILURE_STRING), 0)    \
             ^
build/dxxsconf.h:81:2: note: expanded from macro 'DXX_ALWAYS_ERROR_FUNCTION'
    DXX_ALWAYS_ERROR_FUNCTION::F(); \
    ^
1 error generated.
scons: *** [build/similar/main/.d1x-rebirth.multi.o] Error 1
scons: building terminated because of errors.
Failed target count: total=1; targets with enable_build_failure_summary=1: 1
Failed node list:
        build/similar/main/.d1x-rebirth.multi.o
Failed command list:
 clang++ \
   -c \
   -g \
   -O2 \
   -ftabstop=4 \
   -Wall \
   -Wextra \
   -Wformat=2 \
   -Wmissing-braces \
   -Wmissing-include-dirs \
   -Wuninitialized \
   -Wundef \
   -Wpointer-arith \
   -Wcast-qual \
   -Wmissing-declarations \
   -Wvla \
   -pthread \
   -funsigned-char \
   -march=x86-64 \
   -mtune=generic \
   -O2 \
   -pipe \
   -fno-plt \
   -fexceptions \
   -Wp,-D_FORTIFY_SOURCE=2 \
   -Wformat \
   -Werror=format-security \
   -fstack-clash-protection \
   -fcf-protection \
   -Wp,-D_GLIBCXX_ASSERTIONS \
   -std=gnu++20 \
   -Werror=unused \
   -Wno-unused-lambda-capture \
   -Wno-gnu-string-literal-operator-template \
   -fvisibility=hidden \
   -Wredundant-decls \
   -Wno-sign-compare \
   -DPHYSFS_DEPRECATED= \
   -DNDEBUG \
   -DRELEASE \
   -D_REENTRANT \
   -DDXX_BUILD_DESCENT_I \
   -D__STDC_FORMAT_MACROS \
   -DDXX_USE_SHAREPATH=1 \
   -Icommon/include \
   -Icommon/main \
   -I. \
   -Ibuild \
   -I/usr/include/libpng16 \
   -I/usr/include/SDL2 \
   -Id1x-rebirth/main "similar/main/multi.cpp" \
   -o "build/similar/main/.d1x-rebirth.multi.o"
==> ERROR: A failure occurred in build().
    Aborting...