Commit Graph

1651 Commits

Author SHA1 Message Date
Ozkan Sezer 947c782f64 Un-revert the model scale patch.
See https://github.com/sezero/quakespasm/pull/32 for the followup discussions,
and https://github.com/sezero/quakespasm/pull/36 for the followup patches.
2022-09-05 23:56:20 +03:00
Ozkan Sezer 766c68ab5f bump version to 0.95.0, update documents for changes so far. 2022-09-05 23:56:10 +03:00
Andrei Drexler 7e4c88aed9 Try light trace from entity origin first
Fixes issues described at https://github.com/Novum/vkQuake/issues/550.
2022-08-28 20:28:02 +03:00
Andrei Drexler b26707b2ff Add sv_cheats cvar for 2021 rerelease
e.g. impulse 255 doesn't work without sv_cheats set to 1
2022-08-28 20:28:02 +03:00
Shpoike 66abf5a378 Fix some misc csqc issues. 2022-08-23 11:58:15 +01:00
Shpoike ededc1a2eb Fix R_AddEfrags to handle rotation and scale. 2022-08-23 11:54:08 +01:00
Shpoike 037436b2bc Don't use ids1's replacement models for mods that have their own incompatible changes. Resolves https://github.com/Shpoike/Quakespasm/issues/101 2022-08-23 11:52:34 +01:00
Shpoike b3bec67cb1 Only enable DP_SV_ROTATINGBMODEL when its actually enabled. This is to resolve issues in multiple maps/mods so they behave like they do with the inferior engines they were tested against. Warnings will be printed for any maps or mods that appear to be trying to use it without checking for it first. Resolves https://github.com/Shpoike/Quakespasm/issues/75 2022-08-23 10:10:17 +01:00
Shpoike b947fab72e Fix stupid bug in inactive code within the previous commit. 2022-08-16 14:03:16 +01:00
Shpoike e9822ae936 Fix support for scale with unextended protocol 999. 2022-08-11 20:39:35 +01:00
Shpoike 52d8cce64a Fix pr_dumpplatform. 2022-08-11 20:39:35 +01:00
Ozkan Sezer e4e914c8a6 reverted the model scale patch :
see https://github.com/sezero/quakespasm/pull/32 for the issues
associated with it.
2022-08-11 01:32:00 +03:00
Andrei Drexler b7122a882d Simplify scaling in R_AddEfrags and R_CullModelForEntity 2022-08-08 17:03:20 +03:00
Ozkan Sezer 5aa79332f0 minor clean-up after the model scaling patch. 2022-08-08 14:28:28 +03:00
Andrei Drexler 403aceb066 fix missing models in demo playback after the model scaling patch
See: https://github.com/sezero/quakespasm/pull/32.
2022-08-08 14:23:32 +03:00
Andrei Drexler 8a7cdc933f fix missing viewmodel after model scaling patch
See: https://github.com/sezero/quakespasm/pull/32.
2022-08-08 14:23:32 +03:00
JosiahJack 6ebf6f097a Add support for model scale 2022-08-08 08:55:00 +03:00
JosiahJack 87835bc3e3 Add support for lit water 2022-08-07 05:31:18 -05:00
Shpoike 848b605c6c Small code cleanup allowing to trim an unused field from mnode_t, which should help cpu cache a smidge. 2022-08-04 07:07:15 +01:00
Shpoike 0f1c4fca19 Merge remote-tracking branch 'sf/master' into qss 2022-08-04 07:04:30 +01:00
Shpoike 54c646420e Fix csqc's addentities ignoring scale+colormod, fix culling of scaled entities. 2022-08-02 01:39:04 +01:00
Andrei Drexler 1f6888e7bc Clear startdemo list on game change
This fixes inconsistent behavior when starting a game with -ad
vs starting with id1 and using 'game ad' in the console
(since id1 has startdemos in its quake.rc file, while ad doesn't).
2022-07-31 14:02:24 +03:00
Ozkan Sezer 47de22c84b bump version to 0.94.7, update documents. 2022-07-24 08:25:10 +03:00
Ozkan Sezer 22b9b3474c lodepng.c: applied patch from mainstream PR/170
marks lodepng_convert_rgb() static and only available if
LODEPNG_COMPILE_ANCILLARY_CHUNKS is set.
2022-07-20 23:24:24 +03:00
Shpoike eb02e3b5ed Fixes https://github.com/Shpoike/Quakespasm/issues/107 2022-07-19 22:36:57 +01:00
Ozkan Sezer ec57aa9731 Fix wrong ext texture use after vid_restart windowed to/from fullscreen
Patch from Andrei Drexler.
Reference issue: https://github.com/sezero/quakespasm/issues/28.
2022-07-18 14:24:24 +03:00
Ozkan Sezer f8132afd0f updated lodepng from mainstream git. 2022-07-18 10:15:00 +03:00
Shpoike 987bc0ee75 Fix server status reports causing issues for other engines. 2022-07-15 15:01:16 +01:00
Shpoike 1b911ae1f8 Merge tag 'quakespasm-0.94.6' into qss 2022-07-15 14:56:57 +01:00
Shpoike 7a97911ff4 Merge tag 'quakespasm-0.94.5' into qss 2022-07-15 14:11:03 +01:00
Shpoike a3ce19fa74 Merge tag 'quakespasm-0.94.4' into qss 2022-07-15 13:24:04 +01:00
Andrei Drexler f6a15400ba Fix console history buffer wrapping 2022-07-13 00:55:38 +03:00
Ozkan Sezer 00530bda9b gl_model.c: made a lot of procs and vars static
only user of 'loadmodel' outside of gl_model.c was Sky_LoadTexture,
so changed it to accept a model pointer.

TODO: remove need for globals such as mod_base, loadmodel, loadname
2022-07-05 08:50:02 +03:00
Ozkan Sezer 2dd6a14ccf removed r_cache_thrash, showram & co. 2022-07-05 08:50:02 +03:00
Ozkan Sezer 52a3873d44 removed several unused r_speeds globals. 2022-07-05 08:50:02 +03:00
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
Shpoike 996521cc34 Fix up player colours a smidge. 2022-06-22 06:57:57 +01:00
Shpoike 334931c65e Fix stupid loop iterrator mixup in Mod_CheckWaterVis. Reported by Axel Gneiting. 2022-06-22 06:15:08 +01: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
Shpoike bf20203857 Remove a little dead code that I missed. 2022-04-29 03:58:12 +01:00
Shpoike 26f0bc4682 Merge remote-tracking branch 'sf/master' into qss
(cl_startdemos stripped in favour of QSS's existing cl_demoreel cvar. osx project files ignored.)
2022-04-27 22:32:40 +01:00
Ozkan Sezer e50415c8ff constified pr_builtins and pr_numbuiltins 2022-04-27 17:00:02 +03:00
Shpoike 9d78bc6d54 Fix omission with our single-server-socket stuff. 2022-04-25 23:33:06 +01: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