Commit graph

1364 commits

Author SHA1 Message Date
Ozkan Sezer
8b146122bb Cmd_Exec_f: simplified condition for Hunk_FreeToLowMark. 2022-07-03 15:55:40 +03:00
Ozkan Sezer
f22b326919 Cmd_Exec_f: no need to Hunk_FreeToLowMark if using embedded default.cfg 2022-07-03 05:23:40 +03:00
Ozkan Sezer
b66088bd48 removed 2 kilometers long heritage print from main 2022-07-03 05:23:00 +03:00
Ozkan Sezer
d27d3db19f snd_xmp.c: add missing Hunk_Free to xmp_load_module_from_memory failure 2022-07-02 11:55:50 +03:00
Ozkan Sezer
673a4a7315 Image_WritePNG: image should be freed using lodepng_free 2022-07-01 20:00:10 +03:00
Ozkan Sezer
09216eb65f Makefiles: added basic dependency tracking, and tidied-up a bit. 2022-06-28 03:02:56 +03:00
Ozkan Sezer
c1c9f3b7fe stb_image_write.h: applied mainstream PR/1337 patch
fixes potential invalid memory access
https://github.com/nothings/stb/pull/1337
2022-06-27 14:04:20 +03:00
Ozkan Sezer
520397d93e image.c: targa_header needn't be global.
as noticed in vkQuake.
2022-06-26 14:15:32 +03:00
Ozkan Sezer
3f251ed5fc bump version to 0.94.6, update documents. 2022-06-25 23:02:02 +03:00
Andrei Drexler
fe15bc1ddd Server: fix protocol size checks for sounds and particles
6643f532bd
2022-06-25 20:56:10 +03:00
Ozkan Sezer
3581ff989d can't use C11 _Generic macros with C++ 2022-06-22 05:50:00 +03:00
Ozkan Sezer
02b953e993 use C11 _Generic macros for q_min, q_max and CLAMP, if available.
.. if not, then use GCC expression macros for them, if available.
2022-06-12 14:32:28 +03:00
Ozkan Sezer
2012cb5484 miniz.h: lose '#pragma once' and use proper header guard 2022-06-12 14:29:50 +03:00
Ozkan Sezer
44af62a16c gl_fog.c (Fog_FogCommand_f): simpler to use Q_atof there 2022-06-12 14:29:00 +03:00
Ozkan Sezer
9811d8354f minor style tidy-up. 2022-06-12 14:28:28 +03:00
Andrei Drexler
373ad04e92 Clamp fog color 2022-06-12 14:27:00 +03:00
Ozkan Sezer
a82e3dd75e Fog_FogCommand_f: remove function calls from CLAMP and q_max macros 2022-06-02 14:33:10 +03:00
Ozkan Sezer
16d813859f R_DrawSequentialPoly: don't use function calls from CLAMP() macro. 2022-06-02 14:33:10 +03:00
Ozkan Sezer
35b2d77661 TexMgr_SafeTextureSize: don't use function calls from q_min() macro 2022-06-02 14:33:10 +03:00
Ozkan Sezer
6c9bde021c Con_Init: don't use function calls from q_max() macro. 2022-06-02 14:33:10 +03:00
Ozkan Sezer
4c63468831 menu.c (M_Quit_Draw): fixes and simplifications 2022-06-02 14:33:10 +03:00
Ozkan Sezer
284b182a1c gl_fog.c (Fog_ParseServerMessage): fix reading time for svc_fog.
max() macro forces double read of its arguments, so MSG_ReadShort()
was being called twice, therefore it has always been broken since
more than 20 years, and not to mention its definition change going
from fitzquake v0.60 to v0.65. Darkplaces svn r1778 changelog says:
"minor cleaning of obsolete protocol stuff (svc_fog is now considered unused, because it really never was used)"
 http://svn.icculus.org/twilight?view=rev&revision=1778
 524e813007
FTEQW does it right by doing a single message read (svcfitz_fog)

We now do a single message read like FTEQW, as it should have been.
svc_fog message has probably never been emited by any mod's qc, so
no worries.
2022-06-02 14:33:10 +03:00
Ozkan Sezer
57a32b567f r_alias.c: (R_DrawAliasModel): avoid a possible undefined behavior.
See https://github.com/Novum/vkQuake/issues/476 for original discussion.
2022-06-01 14:15:00 +03:00
Ozkan Sezer
0dd1c12dd9 bump version to 0.94.5, update documents. 2022-05-24 20:55:04 +03:00
Ozkan Sezer
2a67d5bcb2 removed SDL version checks at runtime for compatibility with new SDL2:
With the new SDL2 versioning scheme, SDL_VERSIONNUM macro overflows the
minor version into the thousands digit after 2.9.0, e.g. encodes 2.23.0
as 4300, and we used to reject that thinking it is SDL v3 or something.
2022-05-24 20:55:04 +03:00
Ozkan Sezer
5ea6cdf51d image.c: accept type 1 (paletted) TGA files.
(from QSS - in case we need some day.)
2022-05-24 20:55:04 +03:00
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