Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package ioquake3 for openSUSE:Factory checked in at 2023-01-23 18:32:01 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/ioquake3 (Old) and /work/SRC/openSUSE:Factory/.ioquake3.new.32243 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "ioquake3" Mon Jan 23 18:32:01 2023 rev:8 rq:1060322 version:1.36+git.20221123 Changes: -------- --- /work/SRC/openSUSE:Factory/ioquake3/ioquake3.changes 2022-11-03 19:14:45.876212184 +0100 +++ /work/SRC/openSUSE:Factory/.ioquake3.new.32243/ioquake3.changes 2023-01-23 18:32:17.408195773 +0100 @@ -1,0 +2,11 @@ +Sun Jan 22 05:48:34 UTC 2023 - Carsten Ziepke <kiel...@gmail.com> + +- Update to version 1.36+git.20221123: + * Fix (disabled) Wavelet sound decompression + * Fix in_availableJoysticks cvar not updating + * Add keys for SDL 2.0.14's new gamepad buttons + * More predictable mesh normals generation + * Bugfixes +- Spec file cleaning, e.g. removed loki installer stuff + +------------------------------------------------------------------- Old: ---- ioquake3-1.36+git.20211208.tar.xz New: ---- ioquake3-1.36+git.20221123.tar.xz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ ioquake3.spec ++++++ --- /var/tmp/diff_new_pack.fcw73U/_old 2023-01-23 18:32:18.060200285 +0100 +++ /var/tmp/diff_new_pack.fcw73U/_new 2023-01-23 18:32:18.064200312 +0100 @@ -1,7 +1,7 @@ # # spec file for package ioquake3 # -# Copyright (c) 2022 SUSE LLC +# Copyright (c) 2023 SUSE LLC # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -18,52 +18,25 @@ %define _lto_cflags %{nil} # Some arch have no VM (aarch64, ...) -%define arch_with_vm %ix86 x86_64 ppc ppc64 armv7l armv7hl -%bcond_with installer -%bcond_with installeronly -%if %{with installeronly} -%define _with_installer 1 -%endif +%define arch_with_vm %{ix86} x86_64 ppc ppc64 armv7l armv7hl Name: ioquake3 -# don't forget to change the version in the win32 spec file as well! -Version: 1.36+git.20211208 +Version: 1.36+git.20221123 Release: 0 Summary: Quake III License: GPL-2.0-or-later Group: Amusements/Games/3D/Shoot URL: https://ioquake3.org Source: %{name}-%{version}.tar.xz +BuildRequires: Mesa-devel BuildRequires: curl-devel BuildRequires: openal-soft-devel BuildRequires: pkgconfig BuildRequires: pkgconfig(sdl2) ExcludeArch: armv6l armv6hl -%if 0%{?mandriva_version} -BuildRequires: mesagl-devel -BuildRequires: mesaglu-devel -%else -BuildRequires: Mesa-devel -%endif -%if 0%{?fedora_version} || 0%{?rhel_version} || 0%{?centos_version} -# XXX bug in openal-devel, should be worked around in build config -BuildRequires: openal -%endif -%if %{with installer} -BuildRequires: loki_setup -BuildRequires: xdg-utils -%endif -%if %{with installer} -Recommends: openal -%endif %package devel Summary: Quake III Group: Development/Tools/Building -%if %{with installer} -%package setup -Summary: Quake III loki-setup based installer -Group: Amusements/Games/3D/Shoot -%endif %description Quake III first person shooter. This package only includes the binary @@ -74,12 +47,6 @@ Quake III development tools for creating mods: q3lcc, q3rcc, q3cpp, q3asm -%if %{with installer} -%description setup -Quake III first person shooter. This package includes the binary files -repackaged as loki-setup installer -%endif - %prep %setup -q rm -rf code/SDL2 code/libs code/AL @@ -100,59 +67,49 @@ TOOLS_OPTIMIZE="%{optflags} -fno-strict-aliasing" \ GENERATE_DEPENDENCIES=0 \ USE_LOCAL_HEADERS=0 \ -%if %{with installer} - USE_OPENAL_DLOPEN=1 \ -%endif V=1 \ "$@" EOF chmod 755 dobuild -# + ./dobuild release -# -%if %{with installer} -./dobuild installer -%endif -# %install -%if !%{with installeronly} arch=`uname -m` case $arch in i?86) arch=x86 ;; esac q3dir=%{buildroot}%{_prefix}/lib/ioquake3 install -d -m 755 $q3dir -%ifarch %arch_with_vm +%ifarch %{arch_with_vm} install -d -m 755 $q3dir/baseq3/vm %else install -d -m 755 $q3dir/baseq3 %endif install -d -m 755 $q3dir/demoq3 -%ifarch %arch_with_vm +%ifarch %{arch_with_vm} install -d -m 755 $q3dir/missionpack/vm %else install -d -m 755 $q3dir/missionpack %endif pushd build/release-linux-$arch/ install -m 755 ioquake3.$arch $q3dir/ -#install -m 755 linuxquake3-smp $q3dir/ioquake3-smp.$arch install -m 755 ioq3ded.$arch $q3dir/ install -m 644 renderer_opengl1_$arch.so $q3dir/ install -m 644 renderer_opengl2_$arch.so $q3dir/ install -m 644 baseq3/*.so $q3dir/baseq3 -%ifarch %arch_with_vm +%ifarch %{arch_with_vm} install -m 644 baseq3/vm/*.qvm $q3dir/baseq3/vm %endif pushd $q3dir/demoq3 ln -s ../baseq3/*.so . popd install -m 644 missionpack/*.so $q3dir/missionpack -%ifarch %arch_with_vm +%ifarch %{arch_with_vm} install -m 644 missionpack/vm/*.qvm $q3dir/missionpack/vm %endif popd -# + # icons and start scripts install -d -m 755 %{buildroot}%{_bindir} install -d -m 755 %{buildroot}%{_datadir}/pixmaps @@ -161,31 +118,21 @@ install -m 644 misc/setup/ioquake3.desktop %{buildroot}%{_datadir}/applications/ioquake3.desktop install -m 755 misc/setup/ioq3demo.sh $q3dir/ install -m 755 misc/setup/ioquake3.sh $q3dir/ -# COOLO! *grr* -#ln -s %{_prefix}/lib/quake3/ioq3demo.sh %{buildroot}%{_bindir}/ioq3demo -#ln -s %{_prefix}/lib/quake3/ioquake3.sh %{buildroot}%{_bindir}/ioquake3 + for i in ioq3demo ioquake3; do echo -e "#!/bin/sh\nexec %{_prefix}/lib/ioquake3/$i.sh \"\$@\"" > %{buildroot}%{_bindir}/$i chmod 755 %{buildroot}%{_bindir}/$i done -# + # devel tools -%ifarch %arch_with_vm +%ifarch %{arch_with_vm} install -d -m 755 %{buildroot}%{_bindir} install -m 755 build/release-linux-$arch/tools/q3{lcc,cpp,rcc,asm} %{buildroot}%{_bindir} %endif -%endif # installeronly -# -# installer -%if %{with installer} -install -d -m 755 %{buildroot}/%{_prefix}/games -install -m 755 misc/setup/*.run %{buildroot}/%{_prefix}/games -%endif %post -echo 'copy pak[0-8].pk3 to %{_prefix}/lib/ioquake3/baseq3/' +echo 'copy pak[0-8].pk3 to /usr/lib/ioquake3/baseq3/' -%if !%{with installeronly} %files %license COPYING.txt %doc README* id-readme.txt @@ -197,15 +144,8 @@ %files devel %doc code/tools/lcc/COPYRIGHT -%ifarch %arch_with_vm +%ifarch %{arch_with_vm} %{_bindir}/q3* %endif -%endif # installeronly - -%if %{with installer} -%files setup -%{_prefix}/games/* -%endif - %changelog ++++++ _service ++++++ --- /var/tmp/diff_new_pack.fcw73U/_old 2023-01-23 18:32:18.120200700 +0100 +++ /var/tmp/diff_new_pack.fcw73U/_new 2023-01-23 18:32:18.124200728 +0100 @@ -1,7 +1,7 @@ <services> <service mode="disabled" name="tar_scm"> <param name="url">https://github.com/ioquake/ioq3.git</param> - <param name="revision">84daa2826798a84627f7f93f721182028ed007e3</param> + <param name="revision">70d07d91d62dcdd2f2268d1ac401bfb697b4c991</param> <param name="scm">git</param> <param name="changesgenerate">enable</param> <param name="filename">ioquake3</param> ++++++ _servicedata ++++++ --- /var/tmp/diff_new_pack.fcw73U/_old 2023-01-23 18:32:18.156200949 +0100 +++ /var/tmp/diff_new_pack.fcw73U/_new 2023-01-23 18:32:18.160200977 +0100 @@ -1,7 +1,7 @@ <servicedata> <service name="tar_scm"> <param name="url">https://github.com/ioquake/ioq3.git</param> - <param name="changesrevision">84daa2826798a84627f7f93f721182028ed007e3</param> + <param name="changesrevision">70d07d91d62dcdd2f2268d1ac401bfb697b4c991</param> </service> </servicedata> (No newline at EOF) ++++++ ioquake3-1.36+git.20211208.tar.xz -> ioquake3-1.36+git.20221123.tar.xz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ioquake3-1.36+git.20211208/.github/FUNDING.yml new/ioquake3-1.36+git.20221123/.github/FUNDING.yml --- old/ioquake3-1.36+git.20211208/.github/FUNDING.yml 2021-12-08 19:46:58.000000000 +0100 +++ new/ioquake3-1.36+git.20221123/.github/FUNDING.yml 2022-11-23 19:23:50.000000000 +0100 @@ -1,6 +1,6 @@ # These are supported funding model platforms -patreon: timedoctor +patreon: nuclearmonster open_collective: # Replace with a single Open Collective username ko_fi: jackslater tidelift: # Replace with a single Tidelift platform-name/package-name e.g., npm/babel diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ioquake3-1.36+git.20211208/CONTRIBUTING.md new/ioquake3-1.36+git.20221123/CONTRIBUTING.md --- old/ioquake3-1.36+git.20211208/CONTRIBUTING.md 2021-12-08 19:46:58.000000000 +0100 +++ new/ioquake3-1.36+git.20221123/CONTRIBUTING.md 2022-11-23 19:23:50.000000000 +0100 @@ -119,3 +119,34 @@ * Fill in [the required template](PULL_REQUEST_TEMPLATE.md) * Do not include issue numbers in the PR title. + + +### Building Official Installers + +This is a reminder for how official installers should be built: + + * Please include the id patch pk3s in your installer, which are available + from http://ioquake3.org/patch-data/ subject to agreement to the id + EULA. Your installer shall also ask the user to agree to this EULA (which + is in the /web/include directory for your convenience) and subsequently + refuse to continue the installation of the patch pk3s and pak0.pk3 if they + do not. + + * Please don't require pak0.pk3, since not everyone using the engine + plans on playing Quake 3 Arena on it. It's fine to (optionally) assist the + user in copying the file or tell them how. + + * It is fine to just install the binaries without requiring id EULA agreement, + providing pak0.pk3 and the patch pk3s are not referred to or included in the + installer. + + * Please include at least a libSDL2 so/dylib/dll on every platform. + + * Please include an OpenAL so/dylib/dll, since every platform should be using + it by now. + + * Please be prepared to alter your installer on the whim of the maintainers. + + * Your installer will be mirrored to an "official" directory, thus making it + a done deal. + diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ioquake3-1.36+git.20211208/README.md new/ioquake3-1.36+git.20221123/README.md --- old/ioquake3-1.36+git.20211208/README.md 2021-12-08 19:46:58.000000000 +0100 +++ new/ioquake3-1.36+git.20221123/README.md 2022-11-23 19:23:50.000000000 +0100 @@ -40,12 +40,12 @@ renamed to id-readme.txt so as to prevent confusion. Please refer to the website for updated status. -More documentation including a Player's Guide and Sysadmin Guide is on: -http://wiki.ioquake3.org/ +More documentation including a Player's Guide and Sysadmin Guide are on: +https://ioquake3.org/help/ If you've got issues that you aren't sure are worth filing as bugs, or just want to chat, please visit our forums: -http://discourse.ioquake.org +https://discourse.ioquake.org # Thank You: @@ -66,7 +66,11 @@ <a href="https://icculus.org/">icculus dot org<br/> <img src="http://icculus.org/icculus-org-now.png" width="300px"></a> </p> - +--- +<p> +<a href="https://nuclearmonster.com/">Nuclear Monster<br/> +<img src="https://user-images.githubusercontent.com/903791/152968830-dd08737b-55c6-4ac6-9610-31121ea0e8c6.png" width="300px"></a> +</p> # Compilation and installation @@ -76,9 +80,9 @@ For Windows, 1. Please refer to the excellent instructions here: - http://wiki.ioquake3.org/Building_ioquake3 + https://ioquake3.org/help/building-ioquake3/ -For Mac OS X, building a Universal Binary (x86_64, x86, ppc) +For macOS, building a Universal Binary (x86_64, x86, ppc) 1. Install MacOSX SDK packages from XCode. For maximum compatibility, install MacOSX10.5.sdk and MacOSX10.6.sdk. 2. Change to the directory containing this README file. @@ -526,38 +530,6 @@ We do have graphical improvements with the new renderer, but they are off by default. See opengl2-readme.md for more information. -# Building Official Installers - -We need help getting automated installers on all the platforms that ioquake3 -supports. We don't necessarily care about all the installers being identical, -but we have some general guidelines: - - * Please include the id patch pk3s in your installer, which are available - from http://ioquake3.org/patch-data/ subject to agreement to the id - EULA. Your installer shall also ask the user to agree to this EULA (which - is in the /web/include directory for your convenience) and subsequently - refuse to continue the installation of the patch pk3s and pak0.pk3 if they - do not. - - * Please don't require pak0.pk3, since not everyone using the engine - plans on playing Quake 3 Arena on it. It's fine to (optionally) assist the - user in copying the file or tell them how. - - * It is fine to just install the binaries without requiring id EULA agreement, - providing pak0.pk3 and the patch pk3s are not referred to or included in the - installer. - - * Please include at least a libSDL2 so/dylib/dll on every platform. - - * Please include an OpenAL so/dylib/dll, since every platform should be using - it by now. - - * Please be prepared to alter your installer on the whim of the maintainers. - - * Your installer will be mirrored to an "official" directory, thus making it - a done deal. - - # Credits Maintainers @@ -567,7 +539,7 @@ * Thilo Schulz <a...@ats.s.bawue.de> * Tim Angus <t...@ngus.net> * Tony J. White <t...@tjw.org> - * Zachary J. Slater <zach...@ioquake.org> + * Jack Slater <j...@ioquake.org> * Zack Middleton <zturtle...@gmail.com> Significant contributions from diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ioquake3-1.36+git.20211208/code/botlib/l_script.c new/ioquake3-1.36+git.20221123/code/botlib/l_script.c --- old/ioquake3-1.36+git.20211208/code/botlib/l_script.c 2021-12-08 19:46:58.000000000 +0100 +++ new/ioquake3-1.36+git.20221123/code/botlib/l_script.c 2022-11-23 19:23:50.000000000 +0100 @@ -643,7 +643,7 @@ //hexadecimal while((c >= '0' && c <= '9') || (c >= 'a' && c <= 'f') || - (c >= 'A' && c <= 'A')) + (c >= 'A' && c <= 'F')) { token->string[len++] = *script->script_p++; if (len >= MAX_TOKEN) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ioquake3-1.36+git.20211208/code/client/cl_keys.c new/ioquake3-1.36+git.20221123/code/client/cl_keys.c --- old/ioquake3-1.36+git.20211208/code/client/cl_keys.c 2021-12-08 19:46:58.000000000 +0100 +++ new/ioquake3-1.36+git.20221123/code/client/cl_keys.c 2022-11-23 19:23:50.000000000 +0100 @@ -316,6 +316,13 @@ {"PAD0_LEFTTRIGGER", K_PAD0_LEFTTRIGGER }, {"PAD0_RIGHTTRIGGER", K_PAD0_RIGHTTRIGGER }, + {"PAD0_MISC1", K_PAD0_MISC1 }, + {"PAD0_PADDLE1", K_PAD0_PADDLE1 }, + {"PAD0_PADDLE2", K_PAD0_PADDLE2 }, + {"PAD0_PADDLE3", K_PAD0_PADDLE3 }, + {"PAD0_PADDLE4", K_PAD0_PADDLE4 }, + {"PAD0_TOUCHPAD", K_PAD0_TOUCHPAD }, + {NULL,0} }; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ioquake3-1.36+git.20211208/code/client/keycodes.h new/ioquake3-1.36+git.20221123/code/client/keycodes.h --- old/ioquake3-1.36+git.20211208/code/client/keycodes.h 2021-12-08 19:46:58.000000000 +0100 +++ new/ioquake3-1.36+git.20221123/code/client/keycodes.h 2022-11-23 19:23:50.000000000 +0100 @@ -290,6 +290,13 @@ K_PAD0_LEFTTRIGGER, K_PAD0_RIGHTTRIGGER, + K_PAD0_MISC1, /* Xbox Series X share button, PS5 microphone button, Nintendo Switch Pro capture button, Amazon Luna microphone button */ + K_PAD0_PADDLE1, /* Xbox Elite paddle P1 */ + K_PAD0_PADDLE2, /* Xbox Elite paddle P3 */ + K_PAD0_PADDLE3, /* Xbox Elite paddle P2 */ + K_PAD0_PADDLE4, /* Xbox Elite paddle P4 */ + K_PAD0_TOUCHPAD, /* PS4/PS5 touchpad button */ + // Pseudo-key that brings the console down K_CONSOLE, diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ioquake3-1.36+git.20211208/code/client/snd_mix.c new/ioquake3-1.36+git.20221123/code/client/snd_mix.c --- old/ioquake3-1.36+git.20211208/code/client/snd_mix.c 2021-12-08 19:46:58.000000000 +0100 +++ new/ioquake3-1.36+git.20221123/code/client/snd_mix.c 2022-11-23 19:23:50.000000000 +0100 @@ -383,7 +383,7 @@ } if (i!=sfxScratchIndex || sfxScratchPointer != sc) { - S_AdpcmGetSamples( chunk, sfxScratchBuffer ); + decodeWavelet(chunk, sfxScratchBuffer); sfxScratchIndex = i; sfxScratchPointer = sc; } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ioquake3-1.36+git.20211208/code/curl-7.54.0/include/curl/curlbuild.h new/ioquake3-1.36+git.20221123/code/curl-7.54.0/include/curl/curlbuild.h --- old/ioquake3-1.36+git.20211208/code/curl-7.54.0/include/curl/curlbuild.h 2021-12-08 19:46:58.000000000 +0100 +++ new/ioquake3-1.36+git.20221123/code/curl-7.54.0/include/curl/curlbuild.h 2022-11-23 19:23:50.000000000 +0100 @@ -288,34 +288,19 @@ # define CURL_SIZEOF_CURL_SOCKLEN_T 4 #elif defined(__LCC__) -# if defined(__e2k__) /* MCST eLbrus C Compiler */ -# define CURL_SIZEOF_LONG 8 -# define CURL_TYPEOF_CURL_OFF_T long -# define CURL_FORMAT_CURL_OFF_T "ld" -# define CURL_FORMAT_CURL_OFF_TU "lu" -# define CURL_FORMAT_OFF_T "%ld" -# define CURL_SIZEOF_CURL_OFF_T 8 -# define CURL_SUFFIX_CURL_OFF_T L -# define CURL_SUFFIX_CURL_OFF_TU UL -# define CURL_TYPEOF_CURL_SOCKLEN_T socklen_t -# define CURL_SIZEOF_CURL_SOCKLEN_T 4 -# define CURL_PULL_SYS_TYPES_H 1 -# define CURL_PULL_SYS_SOCKET_H 1 -# else /* Local (or Little) C Compiler */ -# define CURL_SIZEOF_LONG 4 -# define CURL_TYPEOF_CURL_OFF_T long -# define CURL_FORMAT_CURL_OFF_T "ld" -# define CURL_FORMAT_CURL_OFF_TU "lu" -# define CURL_FORMAT_OFF_T "%ld" -# define CURL_SIZEOF_CURL_OFF_T 4 -# define CURL_SUFFIX_CURL_OFF_T L -# define CURL_SUFFIX_CURL_OFF_TU UL -# define CURL_TYPEOF_CURL_SOCKLEN_T int -# define CURL_SIZEOF_CURL_SOCKLEN_T 4 -# endif +# define CURL_SIZEOF_LONG 4 +# define CURL_TYPEOF_CURL_OFF_T long +# define CURL_FORMAT_CURL_OFF_T "ld" +# define CURL_FORMAT_CURL_OFF_TU "lu" +# define CURL_FORMAT_OFF_T "%ld" +# define CURL_SIZEOF_CURL_OFF_T 4 +# define CURL_SUFFIX_CURL_OFF_T L +# define CURL_SUFFIX_CURL_OFF_TU UL +# define CURL_TYPEOF_CURL_SOCKLEN_T int +# define CURL_SIZEOF_CURL_SOCKLEN_T 4 #elif defined(__SYMBIAN32__) -# if defined(__EABI__) /* Treat all ARM compilers equally */ +# if defined(__EABI__) /* Treat all ARM compilers equally */ # define CURL_SIZEOF_LONG 4 # define CURL_TYPEOF_CURL_OFF_T long long # define CURL_FORMAT_CURL_OFF_T "lld" @@ -554,8 +539,7 @@ # define CURL_SUFFIX_CURL_OFF_T LL # define CURL_SUFFIX_CURL_OFF_TU ULL # elif defined(__LP64__) || \ - defined(__x86_64__) || defined(__ppc64__) || defined(__powerpc64__) || defined(__sparc64__) || \ - defined(__e2k__) /* MCST Elbrus 2000 */ + defined(__x86_64__) || defined(__ppc64__) || defined(__powerpc64__) || defined(__sparc64__) # define CURL_SIZEOF_LONG 8 # define CURL_TYPEOF_CURL_OFF_T long # define CURL_FORMAT_CURL_OFF_T "ld" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ioquake3-1.36+git.20211208/code/game/g_utils.c new/ioquake3-1.36+git.20221123/code/game/g_utils.c --- old/ioquake3-1.36+git.20211208/code/game/g_utils.c 2021-12-08 19:46:58.000000000 +0100 +++ new/ioquake3-1.36+git.20221123/code/game/g_utils.c 2022-11-23 19:23:50.000000000 +0100 @@ -59,7 +59,7 @@ char out[(MAX_QPATH * 2) + 5]; int i; - memset(buff, 0, MAX_STRING_CHARS); + memset(buff, 0, sizeof(buff)); for (i = 0; i < remapCount; i++) { Com_sprintf(out, (MAX_QPATH * 2) + 5, "%s=%s:%5.2f@", remappedShaders[i].oldShader, remappedShaders[i].newShader, remappedShaders[i].timeOffset); Q_strcat( buff, sizeof( buff ), out); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ioquake3-1.36+git.20211208/code/qcommon/vm_x86.c new/ioquake3-1.36+git.20221123/code/qcommon/vm_x86.c --- old/ioquake3-1.36+git.20211208/code/qcommon/vm_x86.c 2021-12-08 19:46:58.000000000 +0100 +++ new/ioquake3-1.36+git.20221123/code/qcommon/vm_x86.c 2022-11-23 19:23:50.000000000 +0100 @@ -42,7 +42,7 @@ #endif #endif -#if defined (__i386__) || defined(__x86_64__) +#if defined (__i386__) || defined(__x86_64__) || defined(_M_IX86) || defined(_M_X64) static void VM_Destroy_Compiled(vm_t* self); /* diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ioquake3-1.36+git.20211208/code/renderergl1/tr_curve.c new/ioquake3-1.36+git.20221123/code/renderergl1/tr_curve.c --- old/ioquake3-1.36+git.20211208/code/renderergl1/tr_curve.c 2021-12-08 19:46:58.000000000 +0100 +++ new/ioquake3-1.36+git.20221123/code/renderergl1/tr_curve.c 2022-11-23 19:23:50.000000000 +0100 @@ -182,7 +182,7 @@ break; // edge of patch } VectorSubtract( ctrl[y][x].xyz, base, temp ); - if ( VectorNormalize2( temp, temp ) == 0 ) { + if ( VectorNormalize( temp ) < 0.001f ) { continue; // degenerate edge, get more dist } else { good[k] = qtrue; @@ -198,7 +198,7 @@ continue; // didn't get two points } CrossProduct( around[(k+1)&7], around[k], normal ); - if ( VectorNormalize2( normal, normal ) == 0 ) { + if ( VectorNormalize( normal ) < 0.001f ) { continue; } VectorAdd( normal, sum, sum ); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ioquake3-1.36+git.20211208/code/renderergl2/tr_backend.c new/ioquake3-1.36+git.20221123/code/renderergl2/tr_backend.c --- old/ioquake3-1.36+git.20211208/code/renderergl2/tr_backend.c 2021-12-08 19:46:58.000000000 +0100 +++ new/ioquake3-1.36+git.20221123/code/renderergl2/tr_backend.c 2022-11-23 19:23:50.000000000 +0100 @@ -423,7 +423,7 @@ ================== */ void RB_RenderDrawSurfList( drawSurf_t *drawSurfs, int numDrawSurfs ) { - shader_t *shader, *oldShader; + shader_t *shader = NULL, *oldShader; int fogNum, oldFogNum; int entityNum, oldEntityNum; int dlighted, oldDlighted; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ioquake3-1.36+git.20211208/code/renderergl2/tr_curve.c new/ioquake3-1.36+git.20221123/code/renderergl2/tr_curve.c --- old/ioquake3-1.36+git.20211208/code/renderergl2/tr_curve.c 2021-12-08 19:46:58.000000000 +0100 +++ new/ioquake3-1.36+git.20221123/code/renderergl2/tr_curve.c 2022-11-23 19:23:50.000000000 +0100 @@ -182,7 +182,7 @@ break; // edge of patch } VectorSubtract( ctrl[y][x].xyz, base, temp ); - if ( VectorNormalize2( temp, temp ) == 0 ) { + if ( VectorNormalize( temp ) < 0.001f ) { continue; // degenerate edge, get more dist } else { good[k] = qtrue; @@ -198,7 +198,7 @@ continue; // didn't get two points } CrossProduct( around[(k+1)&7], around[k], normal ); - if ( VectorNormalize2( normal, normal ) == 0 ) { + if ( VectorNormalize( normal ) < 0.001f ) { continue; } VectorAdd( normal, sum, sum ); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ioquake3-1.36+git.20211208/code/sdl/sdl_input.c new/ioquake3-1.36+git.20221123/code/sdl/sdl_input.c --- old/ioquake3-1.36+git.20211208/code/sdl/sdl_input.c 2021-12-08 19:46:58.000000000 +0100 +++ new/ioquake3-1.36+git.20221123/code/sdl/sdl_input.c 2022-11-23 19:23:50.000000000 +0100 @@ -503,7 +503,10 @@ Q_strcat(buf, sizeof(buf), "\n"); } - Cvar_Get( "in_availableJoysticks", buf, CVAR_ROM ); + Cvar_Get( "in_availableJoysticks", "", CVAR_ROM ); + + // Update cvar on in_restart or controller add/remove. + Cvar_Set( "in_availableJoysticks", buf ); if( !in_joystick->integer ) { Com_DPrintf( "Joystick is not active.\n" ); @@ -657,7 +660,14 @@ qboolean pressed = SDL_GameControllerGetButton(gamepad, SDL_CONTROLLER_BUTTON_A + i); if (pressed != stick_state.buttons[i]) { - Com_QueueEvent(in_eventTime, SE_KEY, K_PAD0_A + i, pressed, 0, NULL); +#if SDL_VERSION_ATLEAST( 2, 0, 14 ) + if ( i >= SDL_CONTROLLER_BUTTON_MISC1 ) { + Com_QueueEvent(in_eventTime, SE_KEY, K_PAD0_MISC1 + i - SDL_CONTROLLER_BUTTON_MISC1, pressed, 0, NULL); + } else +#endif + { + Com_QueueEvent(in_eventTime, SE_KEY, K_PAD0_A + i, pressed, 0, NULL); + } stick_state.buttons[i] = pressed; } } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ioquake3-1.36+git.20211208/misc/nsis/ioquake3-q3ctc.nsi new/ioquake3-1.36+git.20221123/misc/nsis/ioquake3-q3ctc.nsi --- old/ioquake3-1.36+git.20211208/misc/nsis/ioquake3-q3ctc.nsi 2021-12-08 19:46:58.000000000 +0100 +++ new/ioquake3-1.36+git.20221123/misc/nsis/ioquake3-q3ctc.nsi 2022-11-23 19:23:50.000000000 +0100 @@ -6,7 +6,7 @@ !define RELEASE "1" !define MODDIR "q3ctc" !define PUBLISHER "The ioquake3 Team" -!define URL "http://ioquake3.org/" +!define URL "https://ioquake3.org/" ; uncomment if the mod works without baseq3 ;!define STANDALONE