Commit Graph

1338 Commits

Author SHA1 Message Date
Ozkan Sezer 03b7ef9f05 switch from libmikmod to libxmp for tracker music. 2022-05-14 10:37:10 +03:00
Ozkan Sezer ef3512ba84 remove Andrei's name per his request. 2022-05-05 23:50:40 +03:00
Ozkan Sezer 2bb154a03c Fix LAN config menu layout in Arcane Dimensions
Arcane Dimensions has an oversized gfx/p_multi.lmp
Noticed by Andrei Drexler.
2022-05-05 23:00:24 +03:00
Ozkan Sezer a5750de9ae snd_xmp.c: use xmp_load_module_from_callbacks() if available 2022-05-03 23:01:02 +03:00
Ozkan Sezer e50415c8ff constified pr_builtins and pr_numbuiltins 2022-04-27 17:00:02 +03:00
Ozkan Sezer 1c970af021 pr_edict.c: use q_snprintf() in all ValueString procs.
Avoids risk of writing past end of buffer - e.g. 'edicts' command with
ad_blasphemy. See: https://github.com/sezero/quakespasm/issues/25
2022-04-23 17:23:10 +03:00
Ozkan Sezer 33085c5449 bump version to 0.94.4, update documents. 2022-04-23 14:00:02 +03:00
Ozkan Sezer ac880c5bf7 cl_parse.c: add CL_DumpPacket for debugging (from fteqw, commented out.) 2022-04-23 11:55:50 +03:00
Andrei Drexler d7c8111ea0 Don't reset onground flag on new server message
This fixes physics issue with ramps/elevators when
the server is continuously sending messages without
client data in them (with updated onground info),
e.g. stuffcmds for fog animation, or tempentities

https://www.celephais.net/board/view_thread.php?id=61381&start=660&end=665
2022-04-23 11:33:50 +03:00
Ozkan Sezer ae4bf378c0 fix getting stuck with loading plaque upon loading bad saves using menu
also change bad save versions to Host_Error and change a Sys_Error into
Host_Error.
2022-04-23 11:03:20 +03:00
Ozkan Sezer c0cfba160d implemented PF_localsound && svc_localsound for 2021 re-release. 2022-04-22 18:11:20 +03:00
Ozkan Sezer f86f1595f3 minor error messages / whitespace tidy-up & small stuff. 2022-04-22 17:50:02 +03:00
Ozkan Sezer ddd1caebf5 SV_SendServerinfo: fixed off-by-one nummodels/numsounds for protocol 15 2022-04-22 11:41:20 +03:00
Ozkan Sezer 22c69dd59c actually, svc_strings[lastcmd] is always legal there... 2022-04-22 01:32:02 +03:00
Ozkan Sezer 707507e9a3 cl_parse.c: make sure not to out-of-bounds read svc_strings[] array 2022-04-22 01:20:00 +03:00
Ozkan Sezer 87a08ae157 more svc_?? macro updates, update cl_parse.c:svc_strings for reference 2022-04-22 01:10:50 +03:00
Ozkan Sezer 13907a2df2 added PF_walkpathtogoal stub for 2021 re-release update3 2022-04-21 23:55:10 +03:00
Ozkan Sezer 533a00262c protocol.h: added 2021 re-release server message defines
from https://steamcommunity.com/sharedfiles/filedetails/?id=2679459726
2022-04-21 23:55:10 +03:00
Ozkan Sezer 7bd751327d PF_sound: Remove the volume, attenuation, and channel boundary checks:
they are already checked the same way in SV_StartSound()
2022-04-21 23:55:10 +03:00
Ozkan Sezer 530cbecc7d update PR_PatchRereleaseBuiltins further:
invent and use an exbuiltin_t table. a good side-effect of this is that
it makes sure that the ex_??? builtins' first_statement is actually 0.
2022-04-21 11:33:32 +03:00
Ozkan Sezer c17a750569 update PR_PatchRereleaseBuiltins for Quake 2021 rerelease update 3:
Quake 2021 release update 3 changes rerelease-specific builtins to be looked up
by name rather than hardcoded builtin nums to avoid conflict with other engines.
(https://steamcommunity.com/games/2310/announcements/detail/3177861894960065435)
Patch them to use the indices, and also add its new builtins.
2022-04-21 03:25:24 +03:00
Ozkan Sezer 43a85fb24f added PR_PatchRereleaseBuiltins for Quake 2021 rerelease update 1,
and removed the relevant centerprint, bprint, and sprint entries
from pr_builtins[].

cherry-picked from the original patch for vkQuake by Andrei Drexler
2022-04-21 03:25:24 +03:00
Ozkan Sezer d119208ab2 silence 'Unknown command "scr_usekfont"' message from 2021 re-release. 2022-04-21 03:25:24 +03:00
Andrei Drexler e6d65c5aa4 Don't autoplay next demo after a timedemo
This happened when starting the game
with either -fitz or cl_startdemos 1
and then executing 'timedemo demo1'
while a title demo was still playing
2022-04-02 11:50:10 +03:00
Andrei Drexler f943e742dc Add cl_startdemos cvar
https://github.com/andrei-drexler/ironwail/issues/21
2022-04-02 11:50:10 +03:00
Andrei Drexler 0b30541ab9 Replace manual demo cdtrack parsing with evil fscanf
This fixes the missing music in hipdemo1 caused by a leading space
character before the cdtrack number, which ended up being parsed
incorrectly.  https://github.com/andrei-drexler/ironwail/issues/60

Note: original issue with fscanf (mentioned in the code comments)
was caused by the inclusion of the newline in the format string.
We work around it by reading the newline character separately.
2022-04-02 11:50:10 +03:00
Ozkan Sezer ae97a7b5ed Key_Console: change strcpy to memmove for K_UPARROW and K_DOWNARROW 2022-03-31 23:02:20 +03:00
Ozkan Sezer 633fa48842 use _Static_assert for COMPILE_TIME_ASSERT if available 2022-03-31 17:01:02 +03:00
Ozkan Sezer 1baf872843 Mod_PointInLeaf: make declaration match its definition. 2022-03-29 23:02:02 +03:00
Ozkan Sezer b0767dbc90 add back snd_modplug (disabled, for future ref.), update project files. 2022-03-29 17:04:02 +03:00
Ozkan Sezer fb87b63d19 lodepng: fixed MSVC C4334 warnings in 64 bit builds
1>D:\sezero\quakespasm-git\Quake\lodepng.c(689,54): warning C4334: '<<': result of 32-bit shift implicitly converted to 64 bits (was 64-bit shift intended?)
1>D:\sezero\quakespasm-git\Quake\lodepng.c(708,39): warning C4334: '<<': result of 32-bit shift implicitly converted to 64 bits (was 64-bit shift intended?)
1>D:\sezero\quakespasm-git\Quake\lodepng.c(5467,33): warning C4334: '<<': result of 32-bit shift implicitly converted to 64 bits (was 64-bit shift intended?)

c.f.: https://github.com/lvandeve/lodepng/pull/142
2022-03-26 05:00:32 +03:00
Ozkan Sezer d239a8911d snd_umx.c (get_objtype): make sure that 'sig' array is initialized. 2022-03-21 20:21:24 +03:00
Andrei Drexler 065c158254 Quad/pentagram dlights for 2021 rerelease 2022-03-11 23:55:10 +03:00
temx 6cf0547d01 Fix SZ_GetSpace server crashes
See https://github.com/Novum/vkQuake/pull/438.  Also see
    https://github.com/andrei-drexler/ironwail/issues/32

Note: Changing that 24 to 39 does prevent the crash, but
the buffer size is still insufficient, so some entities
(e.g. nails) are missing occasionally. A MAX_DATAGRAM of
48000 seems enough to fix that (MAX_DATAGRAM in ironwail
has been bumped to 64000.) Long term though, it would be
much better to add support for pkt fragmentation like in
QSS since this jumbo packet size is only used in single-
player mode - multiplayer uses the much smaller value of
DATAGRAM_MTU (just 1400 bytes.)
2022-03-11 23:55:10 +03:00
Andrei Drexler 32b1ebb828 Fix mouse input truncation with non-integral sensitivity 2022-03-11 23:55:10 +03:00
Ozkan Sezer c5a45e7e58 move DEG2RAD macro to mathlib.h.
From a patch by Andrei Drexler
2022-03-11 23:55:10 +03:00
Ozkan Sezer 144b43f333 update lodepng to 20220109 version from mainstream. 2022-03-01 14:20:02 +03:00
Ozkan Sezer b76d5e1b9f miniz updates:
- update from mainstream master to fix mainstream PR/159#issuecomment-1046220324
- fixes by Alice Rowan for mainstream issue 220
2022-03-01 11:56:10 +03:00
Andrei Drexler 14b7338946 Fix intermission camera angles during demo playback
(see https://github.com/sezero/quakespasm/issues/18)
2022-03-01 11:20:10 +03:00
Andrei Drexler ec49ef2441 Add 'horde' cvar (for 2021 rerelease) 2022-03-01 11:20:10 +03:00
Andrei Drexler 9582f6c7b6 Change STRUCT_FROM_LINK to avoid potential undefined behavior 2022-03-01 11:20:10 +03:00
Andrei Drexler a1f522701a Tweak PF_findradius 2022-03-01 11:20:10 +03:00
Andrei Drexler 6642ad63b7 Raise window after showing it
Potential fix for https://github.com/andrei-drexler/ironwail/issues/27:
The focused window is not the game window on initial startup until the
game window is clicked on with mouse. Confirmed that it doesn't happen
with only one screen.
2022-03-01 11:20:10 +03:00
Ozkan Sezer 743c983060 miniz: updates from mainstream PR/159
--
2022-01-27 08:10:04 +03:00
Ozkan Sezer f260464d96 miniz: fixed a bad return introduced in previous update. 2022-01-23 10:02:02 +03:00
Andrei Drexler 8f4c5b3dfa Skip leading whitespace in Q_atoi and Q_atof
This matches the standard library and also fixes the following bug:
- load ad_sepulcher and move to an area where water is visible
- open up the console
- save waterbug
- load waterbug
Water is now invisible as long as the console is still active.

The issue stems from the fact that cvar_set is called at startup
with the arguments ("r_wateralpha", ftos(liquid_alpha)) [1],
and ftos pads its output ("  0.6"). Without skipping the leading
whitespace, Q_atof ends up returning 0, which then gets assigned
to r_wateralpha. This makes the water invisible until a stuffcmd
that sets r_wateralpha again is later received from the server.
With the console open at startup, however, the stuffcmd message
can be delayed indefinitely.

[1] 320f1cec45/world.qc (L641)
2022-01-09 01:25:50 +03:00
Ozkan Sezer 6071c47c91 miniz: fix shadowing warnings (from a patch by Axel Gneiting) 2022-01-07 11:03:04 +03:00
Ozkan Sezer 9c53316dcf updates to miniz:
merges upstream PRs 159, 217, and 220, tweaks to MZ_FORCEINLINE macro,
tweaks to mz_int64 typedefs for older MSVC.
2022-01-03 02:56:04 +03:00
Ozkan Sezer 1439cc0547 snd_umx: don't overzealously restrict the loader to known upkg versions. 2021-12-28 03:21:10 +03:00
Ozkan Sezer 2e0146c7fb disable assert()s by default in miniz 2021-12-23 15:55:02 +03:00
Ozkan Sezer 09396fd9ca bump version to 0.94.3, update documents. 2021-12-05 15:11:10 +03:00
Andrei Drexler 7f4e1c13e7 Handle sky textures with non-standard sizes 2021-12-05 14:10:50 +02:00
Andrei Drexler e3d2fb9fd9 Check that sky texture size is 256x128
(taken from quakespasm-gl4 fork.)
2021-12-04 11:11:10 +03:00
Andrei Drexler eeda766f12 Allow loading textures not aligned to 16 pixels
This fixes the mg1/horde2 loading error

(taken from quakespasm-gl4 fork.)
2021-12-04 11:11:10 +03:00
Ozkan Sezer a4dcdda3d9 common.c (LOC_ParseArg): remove unused local var 'start' 2021-12-04 11:11:10 +03:00
Ozkan Sezer 0b946eda0e merged a minor update to miniz.h from mainstream 2021-12-04 11:11:10 +03:00
Andrew J. Hesford b311f7e231 Fix format overflow warning with 32-bit gcc
(taken from vkquake.)
2021-12-04 11:11:10 +03:00
Ozkan Sezer d5e9d1270c more parentheses around vector macro arguments. 2021-12-04 11:11:10 +03:00
Andrei Drexler 9c78f028f6 Add parentheses around vector macro arguments
(taken from quakespasm-gl4 fork.)
2021-12-04 11:11:10 +03:00
Ozkan Sezer 6cf4bbc198 reverted the previous NO_WINSDKVER_H patch - not needed after latest SDL 2021-11-06 12:00:00 +03:00
Ozkan Sezer 2492689d9e define NO_WINSDKVER_H for windows SDL2 builds
SDL_config_windows.h from development version of SDL added inclusion of
winsdkver.h which may not be available in old SDKs.  we have no use for
the functionality provided by it, therefore disable it.
2021-11-05 10:51:10 +03:00
Ozkan Sezer 3fbb11b048 bump version to 0.94.2, update documents. 2021-10-10 05:11:02 +03:00
Ozkan Sezer 7ed46cc3fd support for playing 2021 re-release latest update. 2021-10-10 05:10:50 +03:00
Ozkan Sezer 602b34f414 finaleFinished (builtin 79) of 2021 rerelease actually returns a boolean 2021-10-10 05:10:10 +03:00
Ozkan Sezer 081e73c709 host_cmd.c: make a lot of procedures static. 2021-10-01 11:10:04 +03:00
Ozkan Sezer b58efad209 fix looking for QuakeEX.kpf under userdir 2021-10-01 11:02:02 +03:00
Ozkan Sezer bf85bbb3e8 look for QuakeEX.kpf under userdir too.
Closes https://github.com/sezero/quakespasm/issues/8
2021-09-20 14:55:50 +03:00
Andrei Drexler e632b79725 Start the light trace for alias models from slightly above their origin
This fixes the black candles in the DOTM start map (see vkQuake issue:
https://github.com/Novum/vkQuake/issues/367 )
2021-09-20 11:55:10 +03:00
Andrei Drexler a1f9cce1f4 Fix pitch black models in lit areas in DOTM (mg1).
See: https://github.com/sezero/quakespasm/issues/7
2021-09-20 11:55:10 +03:00
Ozkan Sezer e67dc8c0d1 added a safeguard, just in case.. 2021-09-05 11:37:10 +03:00
Ozkan Sezer 68c17d38f7 remove FitzTest_f - doesn't seem to test anything.. 2021-09-05 11:37:10 +03:00
Ozkan Sezer 86b0065d0b miscellaneous makefile updates 2021-09-04 23:56:50 +03:00
Ozkan Sezer 169ec72d0e miniz.c: silenced some stupid watcom warnings 2021-09-04 23:55:10 +03:00
Ozkan Sezer ca051b3392 disable W303 warnings in watcom makefile 2021-09-04 23:55:10 +03:00
Ozkan Sezer f78f74a03f renamed watcom makefile 2021-09-04 23:55:10 +03:00
Ozkan Sezer 83b8b76ca6 bump version to 0.94.1, update documents. 2021-09-04 20:50:50 +03:00
Ozkan Sezer 94db75126c Fix lightmap issues after vkQuake surface mark/cull optimizations merge
Fixes https://sourceforge.net/p/quakespasm/bugs/50/
Extracted from vkquake commits cae39a8fb0, c781043c4f, and e2d6c49b23.
2021-09-04 20:28:24 +03:00
Guillaume Plourde 0fc09fd95d q64 sky texture now display correctly
see https://github.com/Novum/vkQuake/pull/358
2021-09-03 01:37:50 -04:00
Andrei Drexler 401aa52d45 Compensate viewmodel distortion at fov > 90
See: https://github.com/Novum/vkQuake/issues/281

Controlled by new cvar cl_gun_fovscale (defaults to 1).
Based on code from Qrack:
3bc2862b1a/gl_rmain.c (L2384-L2392)
2021-09-02 20:50:50 +03:00
Guillaume Plourde b796e366db q64 rerelease 2021 bsp support
see https://github.com/Novum/vkQuake/pull/356
2021-09-02 20:50:50 +03:00
Ozkan Sezer 3af9ad4e04 2021 rerelease support: read the localization file from QuakeEX.kpf
uses a customized and highly stripped down miniz version. also move
localization file reads to SDL_RWops, and update the documentation.
2021-09-01 14:00:00 +03:00
Ozkan Sezer 4e1d132f31 Raised MAX_GLTEXTURES limit from 2048 to 4096 for now per Eric's request 2021-08-31 15:50:28 +03:00
Andrei Drexler 9d7f9eac6f Fix bogus extra localization entries on Windows
Due to CRLF translation the value returned by fread in text mode can be less than the size of the file, leaving bogus data at the end of the buffer. Since the parser can already handle CRLF-terminated lines, and when reading directly from QuakeEX.kpf there would be no CRLF translation anyway, we can just open the file in binary mode.
2021-08-31 15:50:02 +03:00
Ozkan Sezer e1f17a90ef bump version to 0.94.0, more documentation updates. 2021-08-30 11:35:00 +03:00
Andrei Drexler 83af8d060f Add basic localized strings support for 2021 re-release
See https://github.com/Novum/vkQuake/pull/345
2021-08-29 17:11:28 +03:00
Ozkan Sezer 2313298d14 window icon should be set after window creation in SDL2. 2021-08-29 17:04:40 +03:00
Ozkan Sezer 85683a04c9 fix my mis-merge of the ents patch. 2021-08-29 14:56:40 +03:00
Ozkan Sezer dd874e34b7 workaround re-release default.cfg issue:
id1/pak0.pak from 2021 re-release doesn't have a default.cfg
embedding Quakespasm's customized default.cfg for that.
2021-08-29 14:55:24 +03:00
Andrei Drexler 5ae076ea2d Versioned map entity patches 2021-08-29 14:55:10 +03:00
Ozkan Sezer 6c1a97d755 regenerated quakespasm.pak 2021-08-28 03:10:00 +03:00
Ozkan Sezer 8797c8c384 r_brush.c (AllocBlock): use calloc() to not leave uninitialized memory.
keeps valgrind happy.
2021-08-27 17:03:00 +03:00
Ozkan Sezer 9f8b569f9b external vis file support 2021-08-27 14:00:32 +03:00
Andrei Drexler 8a72565fd0 Change 'model has a skin taller than 480' error into a warning.
See https://github.com/Novum/vkQuake/issues/347
2021-08-27 14:00:10 +03:00
Andrei Drexler 95845b9d2e Add no-op menu_credits command for quake '2021 release' version 2021-08-24 14:24:24 +03:00
Andrei Drexler 86c06eeb15 Add no-op finaleFinished QuakeC builtin 79 for quake '2021 release' version 2021-08-24 11:56:50 +03:00
Ozkan Sezer bafb17495e cl_parse.c: update the svc_strings[] array after recent commits. 2021-08-22 20:25:40 +03:00
Andrei Drexler c82ef652db map MOVETYPE_GIB of quake '2021 release' version to MOVETYPE_BOUNCE 2021-08-22 18:55:02 +03:00
Andrei Drexler 51b23fa30a ignore svc_achievement server message for quake '2021 release' version. 2021-08-22 18:55:02 +03:00
Andrei Drexler 65c1644849 add a 'campaign' cvar for quake '2021 release' version. 2021-08-22 18:55:02 +03:00
Ozkan Sezer dd8f4fbd29 bump version to 0.93.3 and update the changelog 2021-08-20 18:11:20 +03:00