commit 1f7fd271d1fdd140650f0f2eb8edf4c931a4031601fac458a0f38a83a0e3f0cc Author: Dirk Stoecker Date: Wed Aug 14 06:40:43 2024 +0000 Update to version 1.31.1.1 OBS-URL: https://build.opensuse.org/package/show/games/vkquake?expand=0&rev=42 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/appdata.xml b/appdata.xml new file mode 100644 index 0000000..10d7cf6 --- /dev/null +++ b/appdata.xml @@ -0,0 +1,32 @@ + + + vkquake.desktop + CC0 + GPL-2.0+ + vkQuake + A port of the Quakespasm Quake engine to Vulkan + + +

+ vkQuake is a Quake 1 port using Vulkan instead of OpenGL for rendering. It is based on the popular QuakeSpasm port and runs all mods compatible with it like Arcane Dimensions or In The Shadows. + + Compared to QuakeSpasm vkQuake also features a software Quake like underwater effect, has better color precision, generates mipmap for water surfaces at runtime and has native support for anti-aliasing and AF. + + Game data must be placed in ~/.vkquake/id1 . +

+
+ + + + Gameplay + https://i.ibb.co/brL7WzJ/vkquake.jpg + + + + https://github.com/Novum/vkQuake + + + vkquake + + +
diff --git a/vkQuake-1.31.0.tar.gz b/vkQuake-1.31.0.tar.gz new file mode 100644 index 0000000..9303bbf --- /dev/null +++ b/vkQuake-1.31.0.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:25b821e1644145026f3e2a43d04647ca88d954e027813bd9a809442f429e15a9 +size 28379094 diff --git a/vkQuake-1.31.1.1.tar.gz b/vkQuake-1.31.1.1.tar.gz new file mode 100644 index 0000000..6814325 --- /dev/null +++ b/vkQuake-1.31.1.1.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:bc192366170c2799f5340af3b166f1be85e4db23f214c7c19c1576b440afccf1 +size 28494315 diff --git a/vkquake.changes b/vkquake.changes new file mode 100644 index 0000000..9270ef9 --- /dev/null +++ b/vkquake.changes @@ -0,0 +1,354 @@ +------------------------------------------------------------------- +Fri Aug 2 17:46:31 UTC 2024 - Michael Pujos + +- Update to version 1.31.1.1 + * Improvements + - Removed option Game > Load last save = fast, replaced by the addition + of Game > Fast loading = on/off applicable to all loading actions: + With Fast loading = on, loading the same level over and over become + almost instantaneous, even for monster levels, like The Immortal Lock + - Library updates + - Code cleanups + * Fixes + - Various Linux build fixes (makefile) + - Moving Elevators hurting player and monsters, with fixes by @andrei-drexler + (sv_gamefix_elevators CVAR) and others + - Remove Sky_ClipPoly: MAX_CLIP_VERTS hardcoded limit + - Sound resample compute can overflow with very big sounds + - Host_error: ed_alloc: no free edicts due to edicts "leak", showing up on big levels in particular + +------------------------------------------------------------------- +Sat Jun 22 14:31:43 UTC 2024 - Michael Pujos + +- updated build to use meson rather than plain Makefiles +- removed fix_maybe-uninitialized_error.patch not needed anymore +- Update to version 1.31.0 + * Improvements + - Support r_skyalpha + - Added Support for JPEG and PNG texture format + - Support demos larger than 2 GiB + - Many performance optimizations by @andrei-drexler from Ironwail + - Increased internal limits on the number of models, triangles, + sounds...etc. for the most demanding mods + - We can now play Slayers Testaments. + - Increase chase cam target trace distance for large open maps + - Add set and seta commands + - Add 2+3 arg forms of the toggle command + - Backport angled sprites code from FTEQW + - Tweak scr_viewsize 130 (hide pause, momentarily show notices) + - Multithreading performance improvements by @Novum and @temx + - Library updates + - Code cleanups + * Fixes + - Clear button status on map load to prevent stray fires/jumps + - Fix Dutch angle VP_PARALLEL_UPRIGHT sprites + - Fix potential buffer overflow in COM_Parse + - Fix potential buffer overflow in Mod_LoadAliasFrame + - Fix potential infinite loop in S_PaintChannels + - Work around some collision issues by @Macil + - Give the cvars generated from float+vector autocvars prettier + default/initial values + - Fix viewmodel interpolation with >10Hz animations + - Remove annoying '... is unbound, hit F4 to set' message + - Fix 'S_FindName: out of sfx_t' errors when switching Mods / maps + +------------------------------------------------------------------- +Sun May 19 15:47:12 UTC 2024 - Carsten Ziepke + +- Fix building for openSUSE Leap, use gcc11 + +------------------------------------------------------------------- +Fri May 5 15:53:59 UTC 2023 - Jaime Marquínez Ferrándiz + +- Add fix_maybe-uninitialized_error.patch + +------------------------------------------------------------------- +Sat Mar 18 19:13:47 UTC 2023 - Martin Hauke + +- Update to version 1.30.1 + * Add a workaround for AMD driver bug causing corrupted sky and + a minor Vulkan correctness fix. + +------------------------------------------------------------------- +Tue Mar 14 12:33:56 UTC 2023 - Michael Pujos + +- removed patch fix-aarch64-build.patch, not needed anymore +- requires vulkan-devel >= 1.2.162 +- Update to version 1.30.0 + * Support for remastered models (Needs data from remastered Quake) + * Support for dynamic lightmap shadows (requires an RT capable GPU) + * Reworked all option menus + * Support for modern HUD style + * Transparency sorting (thanks @temx) + * Dynamic lights are now computed in world instead of texel space for more consistent light sizes + * New GPU memory allocator + * Improved level load times + +------------------------------------------------------------------- +Mon Dec 12 11:15:37 UTC 2022 - Michael Pujos + +- added patch fix-aarch64-build.patch +- Update to version 1.22.3 + * Mouse support in menus + * Support for binding weapons in controls menu +- Update to version 1.22.1 + * Fix potential crashes on vid_restart + * Fix validation error complaining that VK_FORMAT_R32_UINT doesn't + support linear sampling +- Update to version 1.22.0 + * GPU driven rendering (r_indirect) - much better performance in + certain scenes (thanks @temx) + * Windows installer, detects existing Quake installations + * vkquake.pak is embedded into the executable, external file no longer + used + * Configuration is now saved to vkQuake.cfg instead of config.cfg + * Demo seek support (arrow keys seek 10s, shift+arrows seek 30s, + seek command bindable to function keys: bind F1 "seek -3") + * Demo recording is no longer interrupted when loading savegames + * fastload command loads savegame without reloading level + (bind F6 "save quick"; bind F9 "fastload quick") + * Underwater sound filter (snd_waterfx 0 to disable) + * viewsize 130 for clean screenshots (+/- keys to quickly select) + * Built-in zooming support (togglezoom, +zoom/-zoom, zoom_fov, zoom_speed) + * Model .scale support for mods/maps + * Lightstyles no longer saturate at 2x brightness + * CPU/GPU optimizations for maps with very large geometry/lightmap + footprints + * Fixed pitch-black entities in some Arcane Dimension levels + * r_speeds works again, r_showbboxes shows edict numbers + * Various other bug fixes + +------------------------------------------------------------------- +Sat Aug 13 14:21:37 UTC 2022 - Michael Pujos + +- Update to version 1.20.3 + * Fixed multiple parallelism bugs + * 8-bit mode now has dithering +- Update to version 1.20.2 + * Fixed a crash on startup with re-release Quake data + * Fixed crash with small stack sized on Unix (e.g. musl libc) +- Update to version 1.20.1 + * Fix a bug that could cause random lockups with 1.20.0 + * Fix screenshot crash + * Fix corruption if new vkquake.pak is missing or old one is still in place +- Update to version 1.20.0 + * Parallelized renderer for significantly higher performance + * Parallelized texture mip generation for faster load times + * SIMD code optimizations + * "8-bit" color mode emulation + * Scaling is now less blurry + * Mods menu + * Completely replaced memory management (no more -heapsize) + +------------------------------------------------------------------- +Mon May 16 08:14:35 UTC 2022 - Martin Hauke + +- Update to version 1.13.1: + * GUI scale is now relative to screen height (scr_relativescale 0 + to disable). + * Crosshair is selectable from menu and added option for dot + instead of cross. + * Improved compatibility with latest Quake Steam re-release + version. + * Various smaller bug fixes +- Update to version 1.13.0: + * GPU lightmap update and smooth dynamic light interpolation + * Various bug fixes + * Improved compatibility with 2021 Quake re-release + Known issues: + * Some entities don't animate smoothly with FTE protocol + extensions. cl_nopext 1 is a workaround right now. + Same bug exists in QSS. + +------------------------------------------------------------------- +Fri Feb 18 12:55:29 UTC 2022 - Matthias Mailänder + +- Fix screenshot URL + +------------------------------------------------------------------- +Mon Jan 24 22:08:13 UTC 2022 - Dirk Müller + +- update to 1.12.2: + * Improved compatibility with the 2021 Quake re-release + * Various bug fixes + * Small performance improvements + * Improved support for non power of two textures + * Updated SDL to 2.0.18 +- remove 0001-Fix-format-overflow-warning-with-32-bit-gcc.patch: upstream + +------------------------------------------------------------------- +Mon Dec 6 20:01:40 UTC 2021 - Martin Hauke + +- Add patch: + * 0001-Fix-format-overflow-warning-with-32-bit-gcc.patch + +------------------------------------------------------------------- +Fri Nov 26 16:42:03 UTC 2021 - Martin Hauke + +- Fix source url + +------------------------------------------------------------------- +Fri Nov 26 08:57:22 UTC 2021 - Martin Hauke + +- Update to version 1.12.1 + * Bugfix release + +------------------------------------------------------------------- +Thu Nov 25 22:40:02 UTC 2021 - Martin Hauke + +- Update to version 1.12.0 + * Support for scriptable particles ported from QuakeSpasm-Spiked + (e.g. for Arcane Dimensions). If vanilla behavior is wanted + they can be diabled with r_fteparticles 0 + +------------------------------------------------------------------- +Mon Oct 25 18:38:17 UTC 2021 - Martin Hauke + +- Update to version 1.11.1 + * Improved compatibility with 2021 Quake re-release + Known issues: + * Some entities don't animate smoothly with FTE protocol + extensions. cl_nopext 1 is a workaround right now. Same bug + exists in QSS. + +------------------------------------------------------------------- +Sat Sep 4 15:49:49 UTC 2021 - Martin Hauke + +- Update to version 1.11.0 + * Initial support for Quake 2021 re-release + * External vis file support +- Update to version 1.10.0 + * Merged protocol extensions from QuakeSpasm-Spiked. This fixes + non smooth movement on elevators in certain cases. + * Custom HUD client side QuakeC support for Arcane Dimensions + (disable with cl_nocsqc 1). + * SIMD CPU optimizations from Andrei Drexler - especially helpful + in complex levels like ad_tears. + * Stencil buffer optimizations for sky rendering reducing + overdraw. + * Resolution scaling to 1/2 1/4 or 1/8th resolution. + * Added support for r_fullbright & r_lightmap. + * Implemented full r_showtris support. + * Option in menu to set max frame rate. + * Higher precision game time and precise frame rate throttling. + * Fix exclusive full screen alt+tab issues. + * Bumped default heap size to 384MB. + Changes from beta1: + * Fixed potential issue with Intel GPUs and render scale. + * Renamed "filter" to "textures" in menu to make it more clear + what the option does. + * Fixed missing gun icons in HUD. + Changes from beta2: + * Fixes ambient sounds. + * Multiple memory corruption fixes. + * Fix compatibility with some mods. +- Update to version 1.05.3 + * Fixed dynamic lights not updating properly. + * Added menu options for particles (GL or software style). + * Added "exclusive" menu option to fullscreen setting to control + VK_EXT_full_screen_exclusive. + * Removed a bunch of rendering cvars that do nothing in vkQuake. + * Fixed edge case with out of range fog values. +- Strip binary + +------------------------------------------------------------------- +Fri May 7 16:46:45 UTC 2021 - Ferdinand Thiessen + +- Update to version 1.05.2 + * Only use VK_EXT_full_screen_exclusive with NVIDIA drivers as + people reported problems with other configurations + * Fall back to non exclusive full screen if swap chain can't be created + * Fix descriptor set leak + * Fix rare crash in vertex buffer memory management + * Fix world dynamic light update lagging one frame behind brushes + +------------------------------------------------------------------- +Sat Dec 26 22:42:48 UTC 2020 - Jacob Tice + +- Update to version 1.05.1 +- Drop 0001-Remove-use-of-VK_DYNAMIC_STATE_RANGE_SIZE.patch + +------------------------------------------------------------------- +Sun Sep 13 17:03:57 UTC 2020 - Christophe Giboudeaux + +- Add upstream patch to fix the factory build: + * 0001-Remove-use-of-VK_DYNAMIC_STATE_RANGE_SIZE.patch + +------------------------------------------------------------------- +Fri Mar 27 23:05:55 UTC 2020 - Christophe Giboudeaux + +- Update to 1.04.1. Changes since 1.02.0: + * Lots of Vulkan fixes + * Frame rates over 72 Hz don't break physics anymore + * Default maximum frame rate raised to 200 Hz. + * Fix crashes with some Intel drivers and anti aliasing + * Fix crash "out of dynamic vertex buffer space" + in some very large custom maps + * Fix gun position being different than in QuakeSpasm + when status bar alpha is 0 + * Fixed alpha tested alias models + * Fixed too large dynamic buffer allocations + * Lightmaps are now dynamically allocated (from QuakeSpasm) + * Particles are now rendered as quads instead of triangles + by default (r_quadparticles) like in QuakeSpasm. + * Fix alpha tested geo not testing depth + * Fix issue where wrong push constants were being + set if render size is smaller than window + * Fixed certain UI elementes being rendered with alpha + blending instead of alpha testing like in QS + * Fix issue with Intel GPUs crashing when leaving full screen + * Updated to latest QuakeSpasm code + * Fix particle alpha being affected by fog + +------------------------------------------------------------------- +Mon Jun 17 19:34:23 UTC 2019 - Martin Hauke + +- Update to version 1.02.0 + + Frame rates over 72 Hz don't break physics anymore (from + QuakeSpasm spiked) + + Default maximum frame rate raised to 200 Hz. + + Fix crashes with some Intel drivers and anti aliasing + + Fix crash "out of dynamic vertex buffer space" in some very + large custom maps + + Fix gun position being different than in QuakeSpasm when status + bar alpha is 0 + + Other minor Vulkan fixes + +- Update to version 1.01.0 + + Extremely large textures should now work + + Fixed alpha blending issue in some maps + (e.g. xmasjam2018_bloodshot) + + Partial support for r_showTris (world and particles) + + Update to latest QuakeSpasm code + +------------------------------------------------------------------- +Sun Oct 14 06:16:10 UTC 2018 - sean@suspend.net + +- Update to 1.00.0 + + Peformance optimizations (use function pointer instead of loader) + + Compute shader water texture update + + Update to latest QuakeSpasm code + +------------------------------------------------------------------- +Tue Jun 27 22:45:25 UTC 2017 - luke.nukem.jones@gmail.com + +- Update to 0.96.2 + + Fix for AMD hang + +- Changes from 0.96.1 + + Bump limits for Arcane Dimensions 1.60 (ad_sepulcher) + + Fix for broken dynamic lights since version 0.92 + + Add fence between command buffer completion and present + (required by Vulkan spec) + + Potential optimization for some drivers: Mark command buffers as + VK_COMMAND_BUFFER_USAGE_ONE_TIME_SUBMIT_BIT + +------------------------------------------------------------------- +Thu Jun 15 00:21:19 UTC 2017 - boris@steki.net + +- update Source url to work as intended + +------------------------------------------------------------------- +Tue Jun 13 02:02:17 UTC 2017 - luke.nukem.jones@gmail.com + +- Initial packaging diff --git a/vkquake.desktop b/vkquake.desktop new file mode 100644 index 0000000..6e7bf19 --- /dev/null +++ b/vkquake.desktop @@ -0,0 +1,10 @@ +[Desktop Entry] +Name=vkQuake +GenericName=Quake +Comment="Port of Quake I to the Vulkan API" +Exec=vkquake +TryExec=vkquake +Icon=vkquake +Terminal=false +Type=Application +Categories=Game;ActionGame;Shooter; diff --git a/vkquake.spec b/vkquake.spec new file mode 100644 index 0000000..7ef0e53 --- /dev/null +++ b/vkquake.spec @@ -0,0 +1,86 @@ +# +# spec file for package vkquake +# +# Copyright (c) 2024 SUSE LLC +# Copyright (c) 2017 Luke Jones +# +# 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: vkquake +Version: 1.31.1.1 +Release: 0 +Summary: Quake 1 port using Vulkan instead of OpenGL for rendering +License: GPL-2.0-or-later +Group: Amusements/Games/3D/Shoot +URL: https://github.com/Novum/vkQuake +Source: https://github.com/Novum/vkQuake/archive/refs/tags/%{version}.tar.gz#/vkQuake-%{version}.tar.gz +Source99: %{name}.changes +Source100: appdata.xml +Source101: %{name}.desktop +BuildRequires: cmake +BuildRequires: glslang-devel +BuildRequires: meson +BuildRequires: pkgconfig +BuildRequires: spirv-tools +# from quakedef.h "Vulkan is too old" preprocessor check +BuildRequires: vulkan-devel >= 1.2.162 +BuildRequires: pkgconfig(flac) +BuildRequires: pkgconfig(libmikmod) +BuildRequires: pkgconfig(mad) +BuildRequires: pkgconfig(opus) +BuildRequires: pkgconfig(opusfile) +BuildRequires: pkgconfig(sdl2) +BuildRequires: pkgconfig(vorbis) +%if 0%{?sle_version} >= 150500 && 0%{?sle_version} < 160000 && 0%{?is_opensuse} +BuildRequires: gcc11 +BuildRequires: gcc11-c++ +%else +BuildRequires: gcc-c++ +%endif + +%description +vkQuake is a Quake 1 port using Vulkan instead of OpenGL for rendering. It is based on the popular QuakeSpasm port and runs all mods compatible with it like Arcane Dimensions or In The Shadows. +Game data must be placed in ~/.vkquake/id1 . + +%prep +%autosetup -n vkQuake-%{version} + +# Drop pre-compiled Windows stuff +rm Windows -fr + +# Fix usage of __DATE__ and __TIME__ macros to prevent build in excess +modified="$(sed -n '/^----/n;s/ - .*$//;p;q' "%{SOURCE99}")" +DATE="\"$(date -d "${modified}" "+%%b %%e %%Y")\"" +TIME="\"$(date -d "${modified}" "+%%R")\"" +sed -i "s/__DATE__/${DATE}/g;s/__TIME__/${TIME}/g" Quake/host.c + +%build +%meson -Ddo_userdirs=enabled +%meson_build + +%install +install -Dm755 %{_vpath_builddir}/vkquake %{buildroot}%{_bindir}/%{name} +install -D -p -m 644 Misc/vkQuake_512.png %{buildroot}%{_datadir}/pixmaps/%{name}.png +install -D -p -m 644 %{SOURCE100} %{buildroot}%{_datadir}/appdata/%{name}.appdata.xml +install -D -p -m 644 %{SOURCE101} %{buildroot}%{_datadir}/applications/%{name}.desktop + +%files +%license LICENSE.txt +%doc readme.md Misc/fitzquake080.txt Misc/fitzquake080sdl.txt Misc/fitzquake085.txt +%{_bindir}/%{name} +%{_datadir}/appdata/%{name}.appdata.xml +%{_datadir}/applications/%{name}.desktop +%{_datadir}/pixmaps/%{name}.png + +%changelog