Commit graph

1658 commits

Author SHA1 Message Date
Shpoike
085ff518fa Add rcon command, let csqc handle some relevant console commands. 2021-08-31 04:59:13 +01:00
Shpoike
c6ecb243d6 Try to mimic vanilla's allsolid behaviour a bit better, for rogue's lavamen. 2021-08-31 04:59:13 +01:00
Shpoike
03435446b4 Don't bug out when a bmodel is late cached (just rebuild all the things to deal with it). 2021-08-31 04:59:13 +01:00
Shpoike
3ac910c32d Try to make use of win32/posix LFS for larger pk3s. Use a couple of other unsigned types for larger bsps too, now that we're supposedly able to exceed the 2gb limit on file sizes. 2021-08-31 04:59:13 +01:00
clickdevin
fa5c83b079 Fix a macro that creates a syntax error on MSVC 2021-08-31 04:59:13 +01:00
Shpoike
069319ca99 Fix server stack corruption crashes. 2021-08-31 04:59:13 +01:00
Shpoike
7bdf911d3a Handle sound flags, providing reliable+unicast flags. Also handle other sound flags+networking that only fte clients will benefit from right now. 2021-08-31 04:59:13 +01:00
Shpoike
3fae242613 Small tweaks to make builds more deterministic. 2021-08-31 04:59:13 +01:00
Shpoike
f675ce9b95 Mask off sky depth after drawing skyrooms, to avoid nasty surprises. Also don't get confused by the viewmodel's depthhack. 2021-08-31 04:59:13 +01:00
Shpoike
4e3ac66f63 Fix skyrooms when using csqc. 2021-08-31 04:59:13 +01:00
Shpoike
49878a92a3 Undo a debug change to limit unreliable packet sizes by implementing protocol-specific limits according to what that protocol's primary client actually accepts. This should fix missing sound events. 2021-08-31 04:59:13 +01:00
Shpoike
734234c5db Handle our spanned snapshots a bit better by not messing up interpolation. 2021-08-31 04:59:13 +01:00
Shpoike
d6fd6076b8 Tweak qsextensions.qc slightly to try to work around DP-defined weirdness. 2021-08-31 04:59:13 +01:00
Shpoike
fdb19a1dac Allow users to block specific named qc extensions. 2021-08-31 04:59:13 +01:00
Shpoike
bfb0f04708 Fix r_scale with csqc active. 2021-08-31 04:59:13 +01:00
Shpoike
c59f3e56f6 Add input_cursor_* fields to csqc and ssqc for use as custom csqc->ssqc data. 2021-08-31 04:59:13 +01:00
Shpoike
b186ba61cb Add missing localsound builtin for menuqc. 2021-08-31 04:59:13 +01:00
Shpoike
49d0390828 Fix protocol-based qc extensions not getting reported properly. 2021-08-31 04:59:13 +01:00
Shpoike
52bb3299b7 Another day, another bug found by Polo - this time in sendevent with entity references. 2021-08-31 04:59:13 +01:00
Shpoike
27f20b277e Fix copyentity builtin. 2021-08-31 04:59:13 +01:00
Shpoike
98c6ddd80d Give a more helpful warning when mods try to play empty sound names. 2021-08-31 04:59:13 +01:00
Shpoike
32e6191f3f QS might crash in a couple of places if a func_t is negative. Lets prevent that from ever being true. 2021-08-31 04:59:13 +01:00
Shpoike
4e0dcb2f8d Don't confuse ourselves when datagrams get full. This fixes 'new entity without reset' messages. 2021-08-31 04:59:13 +01:00
Shpoike
8bf2fd636f o.O less sounds allowed than precaches?.. no longer! 2021-08-31 04:59:13 +01:00
Shpoike
2d75f02326 Try to fix signon buffer size limitation that Qmaster reported. 2021-08-31 04:59:13 +01:00
Shpoike
d6ccf1a9ae Add some notes about quirky symbols. 2021-08-31 04:59:13 +01:00
Shpoike
9803358379 Fix issue with hipnotic's cutscene's svc_fastupdate overwriting entity delta state. 2021-08-31 04:59:13 +01:00
Shpoike
f35cb691a4 Fix bug with SendEntity+Packetloss. 2021-08-31 04:59:13 +01:00
Shpoike
29cc8a3183 Fix view matrix skew bug. 2021-08-31 04:59:13 +01:00
Shpoike
3f6c3a9da5 And fix eg playdemo arg completion too. 2021-08-31 04:59:13 +01:00
Shpoike
d6a25b37bc Fix 'maps' command not listing files in paks/pk3s. 2021-08-31 04:59:13 +01:00
Shpoike
b6df94c807 irrelevant comment updates. 2021-08-31 04:59:13 +01:00
Shpoike
ec2123f042 Add project+unproject csqc builtins, for converting between 2d and 3d space (eg cursor interactions). 2021-08-31 04:59:13 +01:00
Shpoike
43bf160e0c Fix csqc's view_angles global. 2021-08-31 04:59:13 +01:00
Shpoike
521bc5aab4 Add a 'dir' command, to help people with figuring out which files are where. 2021-08-31 04:59:13 +01:00
Shpoike
343ee56c1d Sythesize extension fields for mods that don't define them. This allows scale+colormod to be used, even for classic. 2021-08-31 04:59:13 +01:00
Shpoike
2735d0f960 Add fte's sounds=-1,noise=filename for named music tracks instead of just numbers. 2021-08-31 04:59:13 +01:00
Shpoike
5695ffe2d5 gl_info will no longer truncate the extensions list. 2021-08-31 04:59:13 +01:00
Shpoike
4b1133efc3 Grr, quakespasm's makefile doesn't do dependancies properly. 2021-08-31 04:59:13 +01:00
Shpoike
6ebdec2f1e Accidentilly changed the default texture filtering mode. oops. 2021-08-31 04:59:13 +01:00
Shpoike
2bb1c8c96f Make sure runes get saved to saved games, instead of getting lost or corrupted on map restart. 2021-08-31 04:59:13 +01:00
Shpoike
074c31e414 Refrain from reporting qc extensions that depend upon disabled protocol extensions. 2021-08-31 04:59:13 +01:00
Shpoike
fe6f65306c Try to improve robustness when playing nehahra. 2021-08-31 04:59:13 +01:00
Shpoike
e0cc588ca3 Forgot to actually check the hitcontents. 2021-08-31 04:59:13 +01:00
Shpoike
58261f7580 Stop monsters from being able to step into the lower part of solid pushers (fixing bug from content-overridees feature). 2021-08-31 04:59:13 +01:00
Shpoike
4b36084023 If it stops dumptruck_ds from complaining, we'll make these prints more annoying, just not fatal. 2021-08-31 04:59:13 +01:00
Shpoike
43b704a54c Make sure startmap_sp alias is created even if menuqc init crashes out. Also fix another missing Cbuf_AddText \n. 2021-08-31 04:59:13 +01:00
Shpoike
afdb605130 Make sure configs are \n terminated, so can't merge with whatever command came after the exec command. 2021-08-31 04:59:13 +01:00
Shpoike
34a87f4034 Someone forgot a \n on some intel-specific Cbuf_AddText hack. 2021-08-31 04:59:13 +01:00
Shpoike
0ca6d9ad77 Fix host_errors with csqc+r_showbboxes. 2021-08-31 04:59:13 +01:00
Shpoike
69aa507143 Fix polyblend not working with full csqc. 2021-08-31 04:59:13 +01:00
Shpoike
1d9e73a36f Add support for loading 24bit replacements for the original content. Add PRECACHE_PIC_WRAP(from dp, disables npot padding+scrap, we already don't otherwise clamp), and PRECACHE_PIC_TEST(from fte, for consistency). 2021-08-31 04:59:13 +01:00
Shpoike
4decec980e Fix lightning beams missing with full csqc. 2021-08-31 04:59:13 +01:00
Shpoike
317df647ac Make v_gunkick 1 behave all juddery like QS did with its lame protocols. v_gunkick 2 (lerp) no longer makes assumptions about update intervals so no longer acts all weird as a result of getting smaller-but-more-frequent changes. 2021-08-31 04:59:13 +01:00
Shpoike
6d78e39efe (simple)csqc wasn't seeing the right stat values with old protocols. 2021-08-31 04:59:13 +01:00
Shpoike
35aa21f27c Switch to showing commit dates for version numbers instead of borrowing the QS version we're forked from. 2021-08-31 04:59:12 +01:00
Shpoike
e83edff77b Fix csqc not receiving +showscores console commands. 2021-08-31 04:59:12 +01:00
Shpoike
7aca9e0b87 Mute not-watervised messages for maps with no fluids on them (eg AD's rubble models). Sock doesn't like developer prints. 2021-08-31 04:59:12 +01:00
Shpoike
a0d2c8a4db Force interpolation resets on new entities (to fix weird lerp glitches common in Copper) 2021-08-31 04:59:12 +01:00
Shpoike
bc768f33bc cl_warncmd wasn't getting re-enabled properly. 2021-08-31 04:59:12 +01:00
Shpoike
11ba91eed7 Clarify skyroom arg usage. 2021-08-31 04:59:12 +01:00
Shpoike
d00c9b2ec4 This should have been in one of the earlier commits. 2021-08-31 04:59:12 +01:00
Shpoike
ec7b4fcadb Minor behavioural correction. 2021-08-31 04:59:12 +01:00
Shpoike
ee51277ed8 For parity with fte's particle system. 2021-08-31 04:59:12 +01:00
Shpoike
2631235d31 Allow findchain builtins to accept a chain field for feature parity with DP and FTE. 2021-08-31 04:59:12 +01:00
Shpoike
f232be4f77 Allow search_begin to filter by package names. 2021-08-31 04:59:12 +01:00
Shpoike
8915c41e0c Add writetofile, getentitytoken, and checkpvs builtins. Fix parseentitydata to detect end-of-string more easily. 2021-08-31 04:59:12 +01:00
Shpoike
8435cfc7fa Make the generated qsextensions.qc more complete (and somewhat more formulaic). 2021-08-31 04:59:12 +01:00
Shpoike
f28dee8b72 Add DP_CSQC_QUERYRENDERENTITY extension. 2021-08-31 04:59:12 +01:00
Shpoike
e8cd3bd846 Finally give the SSQC the ability to send entity updates to the CSQC itself (as well as detect when a client is running CSQC). 2021-08-31 04:59:12 +01:00
Shpoike
227db32137 Allow SSQC to make use of SV_RunClientCommand, to match the custom player prediction in CSQC. 2021-08-31 04:59:12 +01:00
Shpoike
fc48474030 Give csqc access to the lightstyle+particle+makestatic+ambientsound builtins instead of depending on the server for them. 2021-08-31 04:59:12 +01:00
Shpoike
fc391f4ba5 Allow csqc to intercept temp-entities, as well as generate clientside ones. 2021-08-31 04:59:12 +01:00
Shpoike
a5e0cb1a52 Allow csqc to set physics_mode for support for engine movetypes in csqc. Also provide support for .customphysics too. 2021-08-31 04:59:12 +01:00
Shpoike
d18b907e43 Maintain an input journal so that CSQC can implement custom player prediction, if it wants. 2021-08-31 04:59:12 +01:00
Shpoike
d4094cbaa0 Add the stuff for listener things. 2021-08-31 04:59:12 +01:00
Shpoike
03ec27b5f0 Allow csqc to implement CSQC_UpdateView for full control over the 3d scene. 2021-08-31 04:59:12 +01:00
Shpoike
03b02fe52a Allow csqc to trace against deltaed entities. 2021-08-31 04:59:12 +01:00
Shpoike
ec82ca0448 Allow csqc to read csqc entity updates, prints, and centerprints. 2021-08-31 04:59:12 +01:00
Shpoike
3c848f993e Fix use of potentially-unrelated global instead of local with MOVETYPE_WALK. 2021-08-31 04:59:12 +01:00
Shpoike
277f833ef7 Allow csqc to draw proper 3d scenes. 2021-08-31 04:59:12 +01:00
Shpoike
929dd85164 Implement csqc validation, we can start on giving more capabilities now that we can distinguish between modified and unmodified csprogs. 2021-08-31 04:59:12 +01:00
Shpoike
e04c097eb8 More formulaic registration of various qc extension fields+funcs, including some that are still unused in this revision. 2021-08-31 04:59:12 +01:00
Shpoike
2e92fbf1d4 Strip residual sw-specific colormap stuff. 2021-08-31 04:59:12 +01:00
Shpoike
b1f93c7f3d Add md4 support to digest_hex (will be needed to validate csqc) 2021-08-31 04:59:12 +01:00
Shpoike
78758f0868 Enable PEXT1 handshakes as well as just PEXT2. 2021-08-31 04:59:12 +01:00
Shpoike
4aee746efa Reduce duplicate code a little. 2021-08-31 04:59:12 +01:00
Shpoike
bec4f4c0c5 Implement serverinfo and userinfo. Both can be read in ssqc via infokey, and via serverkey/getplayerkeyvalue in csqc. Can be changed/viewed via serverinfo/setinfo/user console commands 2021-08-31 04:59:12 +01:00
Shpoike
367b799998 r_fastsky should skip skyroom drawing too, for people with really slow computers. 2021-08-31 04:59:12 +01:00
Shpoike
17f5210a14 world.angles should be ignored for compat reasons (fixes e3m3 and a few custom maps). 2021-08-31 04:59:12 +01:00
Shpoike
2885bcae83 Fix a couple of stupid bugs. 2021-08-31 04:59:12 +01:00
Shpoike
e39c88a58b Add alternative model lerping mode for proper compat with csqc/menuqc. 2021-08-31 04:59:12 +01:00
Shpoike
e63dae5f49 Fix more key_lines masks from 31 to CMDLINES-1. 2021-08-31 04:59:12 +01:00
Shpoike
0fb371178d Pointless engine compat. 2021-08-31 04:59:12 +01:00
Shpoike
3016b0201f Fix menuqc-related crash with r_shadows enabled. 2021-08-31 04:59:12 +01:00
Shpoike
7a6ee08281 Add -basegame support. Update hack to hide texture failure dev-spam to include dds files. 2021-08-31 04:59:12 +01:00
Shpoike
71b6fc11ed Support for fte's 'nll' texture mode etc, which should give fewer flickering pixels in the distance than quake's normal nearest_mipmap_linear mode. 2021-08-31 04:59:12 +01:00
Shpoike
77a8f9a9a1 Add support for %S in sprintf builtin for quoted strings. 2021-08-31 04:59:12 +01:00
Shpoike
78fee72c50 Fix bugs found through gcc's warnings. 2021-08-31 04:59:12 +01:00
Shpoike
bc684222fc Fix string autocvars bug in menuqc. 2021-08-31 04:59:12 +01:00
Shpoike
8b6737a436 Make menuqc respect qs's scr_menuscale cvar instead of scr_sbarscale. 2021-08-31 04:59:12 +01:00
Shpoike
5842eb70e8 Added search_getpackagename builtin to query which package a file is inside (flags&2 to get the gamedir of the package/gamedir too), also let the 'cvar' pseudo-cvar be queried via cvar_string. 2021-08-31 04:59:12 +01:00
Shpoike
bdfdface5b Fix for search_begin on linux. 2021-08-31 04:59:12 +01:00
Shpoike
6e809c4999 Remove MAX_GLTEXTURES limit. 2021-08-31 04:59:12 +01:00
Shpoike
bd6d2ab660 Rename a QSS cvar for better compat with FTE. 2021-08-31 04:59:12 +01:00
Shpoike
f4f0e9516a Let menuqc detect engine more easily, so it can tailor available cvar values for specific engines. This is probably a bad thing but I don't see any other sane way around it. With it being a cvar, the user can at least override it/lie to fake forked engines. 2021-08-31 04:59:12 +01:00
Shpoike
06fd012dfe Custom hardware cursors, fix missing cursor when running fullscreen. 2021-08-31 04:59:12 +01:00
Shpoike
54538a054a Menuqc support. Only tested against menusys so far. 2021-08-31 04:59:12 +01:00
Shpoike
4c9569c254 Try to make IQM animations sync to when the frame is changed (like FTE or DP) so that the animations can actually be used for non-static things. There are still no 4-way blends, however. 2021-08-31 04:59:12 +01:00
Shpoike
0f39ae9565 Fix late model precaching bug. 2021-08-31 04:59:12 +01:00
Shpoike
1a18a8af47 Add support for string stats (for csqc's use). 2021-08-31 04:59:12 +01:00
Shpoike
402fedb147 Try to fix compiling in msvc, and try to avoid the issue in future too. 2021-08-31 04:59:12 +01:00
Shpoike
85e9399f2f Fix support for replacementdeltas with ent counts above 32767 (in case other engines use qss as their reference for support, or if it gets bumped later). 2021-08-31 04:59:12 +01:00
Shpoike
1c750b3f5f Allow decals to adhere to random s bias stuff too. 2021-08-31 04:59:12 +01:00
Shpoike
a1641b6be3 Add -nohome arg to disable homedir use (when compiled to use them, consistent with other engines). 2021-08-31 04:59:12 +01:00
Shpoike
6a6ef2a53a Add -mem arg for compat with dos or linux quake ports (and because -mem mb is more readable than -heapsize kb). 2021-08-31 04:59:12 +01:00
Shpoike
1f521aadb2 Fix bug from resizing the window with glsl gamma in use. 2021-08-31 04:59:12 +01:00
Shpoike
36b2046f57 Be more verbose and less errory about corrupt gfx.wad files. 2021-08-31 04:59:12 +01:00
Shpoike
933155ce88 Avoid problems when bobcycle is 0. 2021-08-31 04:59:12 +01:00
Shpoike
2e1abf9fa7 Add support for dds textures. 2021-08-31 04:59:12 +01:00
Shpoike
0a61068135 Fix glCompressedTexImage2D undefined on windows. 2021-08-31 04:59:12 +01:00
Shpoike
06118f2535 Prevent crashes from improper viewmodel/viewframe/etc command usage. 2021-08-31 04:59:12 +01:00
Shpoike
9278c740db Add avelocity support to MOVETYPE_PUSH entities, to go with rotated SOLID_BSP support (kinda pointless without this commit too tbh). 2021-08-31 04:59:12 +01:00
Shpoike
9d15653e46 Add proper collision support for angles on SOLID_BSP entities. 2021-08-31 04:59:12 +01:00
Shpoike
0d8c45168f Allow poking entity fields in weird fun cheaty ways. Useful for debugging. 2021-08-31 04:59:12 +01:00
Shpoike
3650f85e8e Switch from LH's dead master to Eukara's live one. 2021-08-31 04:59:12 +01:00
Shpoike
539832c356 Fix server-crash bug when kicking people. 2021-08-31 04:59:12 +01:00
Shpoike
47cae9c3f8 Added support for my extended miptex stuff for high-colour map textures. 2021-08-31 04:59:12 +01:00
Shpoike
475584d631 Fix a merge error of mine. 2021-08-31 04:59:12 +01:00
Shpoike
1cda0611c8 Add some validation for gfx.wad. 2021-08-31 04:59:12 +01:00
Shpoike
4315b1cfdc Fix typo 2021-08-31 04:59:12 +01:00
Shpoike
08cf018563 Added cvars to change/disable the often-unwanted build-in sound effects. 2021-08-31 04:59:12 +01:00
Shpoike
17f45103be Work around msvc's continued lack of C99 support. 2021-08-31 04:59:12 +01:00
Shpoike
578d789b94 Ensure that Cmd_Args ALWAYS returns a valid string, avoiding crashes when only one arg was given. 2021-08-31 04:59:12 +01:00
Shpoike
7a76790d92 Bump QC stack sizes, to reduce chances of overflows. 2021-08-31 04:59:12 +01:00
Shpoike
598038b7f2 Remove some fixed-function logic from the worldsurf glsl. 2021-08-31 04:59:12 +01:00
Shpoike
e259d0db52 Add skybox console command for dynamic use (blame sock). Additional args for skyroom speed and axis of rotation. 2021-08-31 04:59:12 +01:00
Shpoike
e38664c222 Hacked in support for IQMs. 2021-08-31 04:59:12 +01:00
Shpoike
34414e41e1 Lets just use 999 by default. 2021-08-31 04:59:12 +01:00
Shpoike
666825037a Remove MAX_HANDLES limit. 2021-08-31 04:59:12 +01:00
Shpoike
425f0fb831 Fix stupid coop parms bug. 2021-08-31 04:59:12 +01:00
Shpoike
9a03e77742 Added FTE_ENT_SKIN_CONTENTS support. 2021-08-31 04:59:12 +01:00
Shpoike
81b7ba9e4b Added FTE_ENT_SKIN_CONTENTS support. 2021-08-31 04:59:12 +01:00
Shpoike
ef5d841e80 Fix revision string escapes. 2021-08-31 04:59:12 +01:00
Shpoike
9b023749da Quick attempt at skyrooms. Seems to work for me. Note that the server's pvs is not opened, nor have I tried to depthmask sky surfaces to avoid leakage. _skyroom "x y z" in worldspawn to use. 2021-08-31 04:59:12 +01:00
Shpoike
ee2ab9a593 Added support for LMSTYLES16 bspx lump, allowing up to 16 lightstyles per face and a lot more switchable light styles. 2021-08-31 04:59:12 +01:00
Shpoike
ebd361db63 qss is starting to be its own thing. be sure to provide more correct version info. 2021-08-31 04:59:12 +01:00
Shpoike
21709fd54c Support up to parm64 instead of just parms1-16. 2021-08-31 04:59:12 +01:00
Shpoike
9ecc4a30be Make sure world.message is set in csqc. 2021-08-31 04:59:12 +01:00
Shpoike
2819ed0adf More readable prints when port numbers get screwed for whatever reason 2021-08-31 04:59:12 +01:00
nnnn20430
b8442e47ad Mod_LoadMD3Model: don't load textures on server
This fixes a segfault when -dedicated flag is used
2021-08-31 04:59:12 +01:00
Shpoike
2567b18924 Fix my stoopid bug 2021-08-31 04:59:12 +01:00
Shpoike
68f404a3df Fix a couple of stupid bugs (reported by c0burn). 2021-08-31 04:59:12 +01:00
Shpoike
8f3d6d12ac Load external textures for mdls (and make sure alpha blends work too). 2021-08-31 04:59:12 +01:00
Shpoike
144048e92e Forgot newlines. 2021-08-31 04:59:11 +01:00
Shpoike
1e4a3db083 Use float coords instead of int32 coords. They just make more sense. 2021-08-31 04:59:11 +01:00
Shpoike
9058a4fadb Accept type 1 tgas (paletted) 2021-08-31 04:59:11 +01:00
Shpoike
85821b6fab Better effectinfo compat 2021-08-31 04:59:11 +01:00
Shpoike
daac6039a5 attempt to support quakeforge 16bit mdl variant. untested. 2021-08-31 04:59:11 +01:00
Shpoike
3a7caf60c3 less spammy from pr_checkextension 0 2021-08-31 04:59:11 +01:00
Shpoike
c0d0cb81a0 a few mods use SOLID_BSP with non-bsp models for hitmesh support. We don't support that, but lets not crash out because of it. 2021-08-31 04:59:11 +01:00
Shpoike
4d5fd6c688 Implement exteriormodeltoclient 2021-08-31 04:59:11 +01:00
Shpoike
8a7609f3fe Fix r_showbboxes bug (reported by c0burn) 2021-08-31 04:59:11 +01:00
Shpoike
7cf404e366 builtin number was wrong, oops. 2021-08-31 04:59:11 +01:00
Shpoike
730df19cdd Fix demo playback crash. 2021-08-31 04:59:11 +01:00
Shpoike
ac290489c5 Fix linux compile issue. 2021-08-31 04:59:11 +01:00
Shpoike
f96964315e Fixed some warnings 2021-08-31 04:59:11 +01:00
Shpoike
aa8dd16dad Display multiple local addresses on the create-game multiplayer menu.
Hopefully this wll be slightly more useful on multi-homed machines.
2021-08-31 04:59:11 +01:00
Shpoike
68ae3bfee7 Accept LIGHTING_E5BGR9 bspx lumps in case there's no rgb8 lump.
Converts to rgb8 for now, so still only uses ldr lighting.
2021-08-31 04:59:11 +01:00
Shpoike
4d0d324479 Fix demo playback. Play some ftenq demos too. 2021-08-31 04:59:11 +01:00
Shpoike
d595a3d9cd The voice chat feature requires audio capture. Audio capture requires sdl2. So lets force that. 2021-08-31 04:59:11 +01:00
Spike
d336eeb96f Misaligned bsp lumps should have been a developer thing.
If anyone didn't fix their maps yet, they probably never will.
2021-08-31 04:59:11 +01:00
Spike
fef685af82 Don't try doing mouse grabs in dedicated servers... 2021-08-31 04:59:11 +01:00
Spike
2fbea9a1ea Fix p999 issue (was checking for only 666 on makestatic). 2021-08-31 04:59:11 +01:00
Spike
b2198414fe Fix slowmo issue caused by framerates lower than 72 with network independance. 2021-08-31 04:59:11 +01:00
Spike
b1c679f772 Fix possible networked out-of-bounds access. 2021-08-31 04:59:11 +01:00
Spike
f117e246b4 Reinstate the DoublePrecisionDotProducts.
They are still needed for ericw's testcase (oms3).
2021-08-31 04:59:11 +01:00
Spike
706dc546a3 Replaced SV_RecursiveHullCheck with a more numerically stable and faster alternative. 2021-08-31 04:59:11 +01:00
Spike
8d84bf8d2f Fix some csqc bugs+omissions. 2021-08-31 04:59:11 +01:00
Spike
f166000a04 Avoid csqc crashes from setorigin etc.
Also avoid issues from csqc errors while scissor is enabled.
2021-08-31 04:59:11 +01:00
Spike
b215f29226 Decode oggs for in-game sounds. 2021-08-31 04:59:11 +01:00
Spike
48aed52090 Fixed issue with Z_Realloc not guarenteeing 0-filled memory (due to alignment). 2021-08-31 04:59:11 +01:00
Spike
1e6a12b923 Some compile fixes. 2021-08-31 04:59:11 +01:00
Spike
f6d31e9db9 Bugfix - make dlights move correctly with respect to moving bsp entities, instead of the light being in the wrong place.
Obviously this doesn't affect baked lights, but at least mappers have more control over those.
2021-08-31 04:59:11 +01:00
Spike
9d1c386a1b Add warnings for any misaligned lumps. These crash on arm ports of engines. 2021-08-31 04:59:11 +01:00
Spike
0501ec2e98 Fix https://github.com/Shpoike/Quakespasm/issues/1 2021-08-31 04:59:11 +01:00
Spike
7d24bf80e9 Hopefully this will fix the lingering issues with pics getting screwed on game changes. 2021-08-31 04:59:11 +01:00
Spike
bac736f33c Make the bf command fade smoothly, instead of rounding down and disappearing almost instantly. 2021-08-31 04:59:11 +01:00
Spike
d58f3f6cfe Throttle networking to 72 if host_maxfps is set any higher (or 0).
This means that you can just disable vsync and set host_maxfps to 0 for uncapped framerates without any new physics issues.
Note that this commit does not fix bf flashes.
2021-08-31 04:59:11 +01:00
Spike
d02c4e010c Allow ints to save too, in case anyone tries using them, ever. 2021-08-31 04:59:11 +01:00
Spike
df3db3b821 Fix crash when saving the game. 2021-08-31 04:59:11 +01:00
Spike
13736f1fd3 Fix stupid oversight - I forgot to actually set qcvm->GetModel. 2021-08-31 04:59:11 +01:00
Spike
c68c11c7d8 Fix issue with pr_dumpplatform writing a prior version of the simplecsqc entry points.
Also print the path that the qsextensions.qc file was written to.
2021-08-31 04:59:11 +01:00
Spike
3c671f325d Docs update 2021-08-31 04:59:11 +01:00
Spike
91668b230f Some misc qc-related bugfixes. 2021-08-31 04:59:11 +01:00
Spike
7ce562ac50 Make mwheelup/down less annoying when scrolling in the console whenever they're not bound. 2021-08-31 04:59:11 +01:00
Shpoike
3e8d514237 Fix some warnings. 2021-08-31 04:59:11 +01:00
Spike
fe4b224c7d Added support for simple csqc.
This is a subset of csqc, with alternative entry points that can be invoked by compat wrappers.

Also added sv_gameplayfix_setmodelrealbox cvar. Default value of 1 matches QuakeSpasm, whereas a value of 0 matches vanilla quake's behaviour.
2021-08-31 04:59:11 +01:00
Spike
58655ebd99 Fix issue that eric previously spotted and fixed on maps with missing textures. 2021-08-31 04:59:11 +01:00
Spike
66b486472b Some documentation and stuff. 2021-08-31 04:59:11 +01:00
Spike
afb6583375 Added lightmap scaling. 2021-08-31 04:59:11 +01:00
Spike
fe63ebc870 Windows... Messed up access modes. 2021-08-31 04:59:11 +01:00
Spike
d76ca606bf All changes present in QSS-R7, plus
md3 support
quoth/etc bug fix
strzone bug fix
png/jpg replacement wall textures
rewrote mdl rendering to always use arrays, relaxing vertex+tri limits.
removed static ents limit
fixed ambient_level not working at high framerates.
2021-08-31 04:59:11 +01: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
Ozkan Sezer
2d9eb310bc replace size_t casts to pointers with (u)intptr_t. 2021-08-10 01:04:50 +03:00
Andrei Drexler
3c8611f604 Reset pointers to sky textures on map unload/game change
This fixes a crash when loading a skyless map after one with a sky.
( From: https://github.com/Novum/vkQuake/pull/339 )
2021-08-10 01:00:02 +03:00
Ozkan Sezer
bd8615c235 snd_umx.c: revise sanity checks and check returned values from FS layer. 2021-07-14 03:37:00 +03:00
Ozkan Sezer
96b07d712d mingw makefiles: -lm is not needed. 2021-07-09 14:56:00 +03:00
Axel Gneiting
3fc32bf7fe Merge surface mark & cull optimization from vkQuake
* Remove separate surface culling pass. Instead always build texture chains every frame & cull in mark surfaces.
* Optimize R_CullBox & R_BackFaceCull
2021-07-07 23:55:50 +03:00
Ozkan Sezer
d6e68b6f19 minor tweak to the ow makefile 2021-07-07 23:55:50 +03:00
Ozkan Sezer
57748db955 add arm64 target to Makefile.darwin
SDL2 and music codec builds for arm64 should come later.
2021-06-28 03:01:02 +03:00
Ozkan Sezer
78323635a0 silence a few macOS deprecation warnings.
The IOHID deprecation (its use is in in_sdl.c for the mouse acceleration
hack) still needs addressing:

in_sdl.c:163:7: warning: 'IOHIDGetAccelerationWithKey' is deprecated: first deprecated in macOS 10.12 [-Wdeprecated-declarations]
                if (IOHIDGetAccelerationWithKey(mouseDev, CFSTR(kIOHIDMouseAccelerationType), &originalMouseSpeed) == kIOReturnSuccess)
                    ^
/opt/MacOSX11.3.sdk/System/Library/Frameworks/IOKit.framework/Headers/hidsystem/IOHIDLib.h:96:1: note: 'IOHIDGetAccelerationWithKey' has been explicitly marked deprecated here
IOHIDGetAccelerationWithKey( io_connect_t handle, CFStringRef key, double * acceleration ) __attribute__((availability(macos,introduced=10.0,deprecated=10.12)));
^
in_sdl.c:165:8: warning: 'IOHIDSetAccelerationWithKey' is deprecated: first deprecated in macOS 10.12 [-Wdeprecated-declarations]
                        if (IOHIDSetAccelerationWithKey(mouseDev, CFSTR(kIOHIDMouseAccelerationType), -1.0) != kIOReturnSuccess)
                            ^
/opt/MacOSX11.3.sdk/System/Library/Frameworks/IOKit.framework/Headers/hidsystem/IOHIDLib.h:99:1: note: 'IOHIDSetAccelerationWithKey' has been explicitly marked deprecated here
IOHIDSetAccelerationWithKey( io_connect_t handle, CFStringRef key, double acceleration ) __attribute__((availability(macos,introduced=10.0,deprecated=10.12)));
^
in_sdl.c:190:7: warning: 'IOHIDSetAccelerationWithKey' is deprecated: first deprecated in macOS 10.12 [-Wdeprecated-declarations]
                if (IOHIDSetAccelerationWithKey(mouseDev, CFSTR(kIOHIDMouseAccelerationType), originalMouseSpeed) != kIOReturnSuccess)
                    ^
/opt/MacOSX11.3.sdk/System/Library/Frameworks/IOKit.framework/Headers/hidsystem/IOHIDLib.h:99:1: note: 'IOHIDSetAccelerationWithKey' has been explicitly marked deprecated here
IOHIDSetAccelerationWithKey( io_connect_t handle, CFStringRef key, double acceleration ) __attribute__((availability(macos,introduced=10.0,deprecated=10.12)));
^
2021-06-28 03:01:02 +03:00
Ozkan Sezer
848aa26b3c silence opengl deprecation warnings from newer mac sdks. 2021-06-28 03:01:02 +03:00
Ozkan Sezer
824f01031e silence misleading indentation warnings from clang. 2021-06-28 03:01:02 +03:00
Ozkan Sezer
9ca7d499e5 fixed -Wshadow warnings. 2021-06-23 04:37:10 +03:00
Ozkan Sezer
9fc38410dd VID_InitModelist (SDL-1.2): zero the whole format,
.. instead of only setting its palette fiel to NULL. This makes it work
with sdl12-compat (see: https://github.com/libsdl-org/sdl12-compat.git)
2021-04-12 12:37:04 +03:00
Ozkan Sezer
f88bdb7d0b fix rendering bug when cl_bobcycle was set to zero (sf.net bug/41)
fix taken from Kevin Shanahan's Tyr-Quake
2021-03-31 23:51:10 +03:00
Ozkan Sezer
81adf62374 Updates for tracker music:
- New console command music_jump: Jump to given order in music,
  like Unreal's music change.  Only for module (tracker) music.
- stream layer: Store the loop setting.
- umx reader: Replaced questionable byte-swap.
- libxmp backend: Handled the loop setting through libxmp apis.
- mikmod backend: Enabled in-module loops. Respect global loop
  setting. More compatible reader callback structure.
2021-02-04 23:28:00 +03:00
Ozkan Sezer
75e9bc385f snd_xmp.c updates. 2021-01-31 20:50:00 +03:00
Ozkan Sezer
66df5d09f4 Merge /u/smcvittie/quakespasm/ branch cross-pkg-config into master
https://sourceforge.net/p/quakespasm/quakespasm/merge-requests/2/
2021-01-07 14:55:24 +00:00
Helmut Grohne
a7503e2be2 Make pkg-config substitutable
This helps with cross-compilation. When cross-compiling, the environment
variable PKG_CONFIG is typically set to a version of pkg-config that is
configured to look in appropriate locations for the cross architecture.

For example, a build for 64-bit ARM might use:

    make \
        CC=aarch64-linux-gnu-gcc \
        STRIP=aarch64-linux-gnu-strip \
        PKG_CONFIG=aarch64-linux-gnu-pkg-config \
        release

On a Debian system, this would look in
/usr/lib/aarch64-linux-gnu/pkgconfig for details of 64-bit ARM Opus
libraries.

Bug-Debian: https://bugs.debian.org/900217
2020-12-22 12:17:31 +00:00
Stephen Kitt
9bd1cc8d1d Spelling fixes 2020-12-22 12:05:37 +00:00
Ozkan Sezer
15a41d2169 host_cmd.c (Host_SavegameComment): Remove CR/LFs from level name.
Avoids broken saves, e.g. with autumn_sp map.  See:
https://celephais.net/board/view_thread.php?id=60452&start=3666
2020-09-08 14:00:00 +03:00
Axel Gneiting
6e4f29a22f Remove mtexinfo_t::mipadjust (software raster remnant) 2020-07-05 21:01:10 +03:00
Eric Wasylishen
ad3aadb373 Replace some uses of 9999/-9999, and 999999/-999999 with FLT_MAX/-FLT_MAX
Was sent a sample map where the texture scale was such that the
CalcSurfaceExtents mins/maxs were calculated incorrectly because of the
use of 999999 not being large enough magnitude, leading to a crash later
(maxs-mins was negative).

git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@1671 af15c1b1-3010-417e-b628-4374ebc0bcbd
2020-03-28 05:09:09 +00:00
Eric Wasylishen
be4dbdb29c Mod_LoadAliasFrame, Mod_LoadAliasGroup: error if posenum >= MAXALIASFRAMES
See: https://sourceforge.net/p/quakespasm/bugs/37/

git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@1670 af15c1b1-3010-417e-b628-4374ebc0bcbd
2020-03-28 05:09:07 +00:00
Eric Wasylishen
bda9912002 gl_sky.c (skybox_name): lazily increase array size from 32 to 1024.
See: https://sourceforge.net/p/quakespasm/bugs/38/

Also move its initializer to Sky_Init() and use q_strlcpy() instead
of strcpy() for copying to it in Sky_LoadSkyBox().

git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@1669 af15c1b1-3010-417e-b628-4374ebc0bcbd
2020-03-28 05:09:06 +00:00
Ozkan Sezer
65825de11a snd_mp3tag.c: check for false positives if id3v1 is not at file's end.
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@1665 af15c1b1-3010-417e-b628-4374ebc0bcbd
2019-12-29 16:50:06 +00:00
Ozkan Sezer
a1eff43d80 snd_mp3tags: let it consume all the tags at file end.
We do not know the order of ape, or lyrics3, or musicmatch tags,
so we loop until we consume all, scanning for each tag type once.
I don't yet care about freaky broken mp3 files with double tags.

<rant> MP3 standard has no metadata format, so everyone invented
their own thing, even with extensions, until ID3v2 became dominant:
Hence the impossible mess there.</rant>

Also remove inline directive from a few detection procedures there.

(updates from my code in SDL_mixer.)

git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@1664 af15c1b1-3010-417e-b628-4374ebc0bcbd
2019-12-23 21:35:16 +00:00
Eric Wasylishen
42c0491e92 r_world.c: workaround Intel UHD 600 driver bug
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@1662 af15c1b1-3010-417e-b628-4374ebc0bcbd
2019-12-15 23:52:13 +00:00
Ozkan Sezer
e0e2d16ca2 snd_mpg123.c: use mp3_skiptags(). tidy-up a little.
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@1661 af15c1b1-3010-417e-b628-4374ebc0bcbd
2019-12-12 14:10:14 +00:00
Ozkan Sezer
17209fd330 snd_mp3tag.c: tidy-up return code. add a failsafe for fshandle_t.
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@1660 af15c1b1-3010-417e-b628-4374ebc0bcbd
2019-12-12 14:04:01 +00:00
Ozkan Sezer
386e56258d snd_mp3.c: move skiptags() call to codecopen(), print error if it fails.
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@1659 af15c1b1-3010-417e-b628-4374ebc0bcbd
2019-12-12 14:01:02 +00:00
Ozkan Sezer
ffe43cf024 snd_mp3.c: moved mp3 tag stuff into a separate module snd_mp3tag.c
so that it can be used in snd_mpg123.c, too, if needed.

git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@1658 af15c1b1-3010-417e-b628-4374ebc0bcbd
2019-12-12 11:37:32 +00:00
Ozkan Sezer
b2bf251a32 snd_mp3.c: removed unnecessary file rewind calls in tag detection code.
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@1657 af15c1b1-3010-417e-b628-4374ebc0bcbd
2019-12-12 08:23:12 +00:00
Ozkan Sezer
3b4a07ca87 snd_mp3.c: Tag detection fixes, updates, and clean-ups:
- Updates from my code in SDL_mixer:
- Fix APE header presence detection: APEv2 doesn't guarantee header.
  We rely on bit31 of the flags field of the header/footer, instead.
- Add code to skip Lyrics3 v1 / v2 tags.
- Remove the non-standard 'Extended ID3v1' tag support: None of the
  significant libraries like getID3, taglib or libid3tag support it.
  Not supported in most, if not all mp3 players, either.
- The 'APE before ID3v1' was duplicated code because we removed the
  TAG+ support: removed it.
- Add a FIXME note about handling possible double-ID3v1 tags.
- Add a FIXME note about order of tags at the end of the file.
- A few minor tidy-ups.

git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@1656 af15c1b1-3010-417e-b628-4374ebc0bcbd
2019-12-08 14:00:50 +00:00
Eric Wasylishen
361c66d06a Reject lit files if they're the wrong size (eg hipnotic/start.bsp vs id1/start.lit or just a bsp that no longer has any coloured lits, etc).
From Spike.

git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@1654 af15c1b1-3010-417e-b628-4374ebc0bcbd
2019-11-20 02:47:04 +00:00
Ozkan Sezer
6abf2afbe6 lodepng.c: fix LODEPNG_RESTRICT for gcc
previously, it ignored any gcc with __GNUC_MINOR__ == 0.
(patch submitted to upstream at github as PR/120)

git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@1652 af15c1b1-3010-417e-b628-4374ebc0bcbd
2019-11-18 09:47:04 +00:00
Ozkan Sezer
c2dbafef4b lodepng.c: minor update (cf. mainstream PR/119)
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@1648 af15c1b1-3010-417e-b628-4374ebc0bcbd
2019-11-11 22:14:22 +00:00
Ozkan Sezer
8ebb9dc117 lodepng.c (lodepng_zlib_compress): Fix alloc fail check.
From https://github.com/lvandeve/lodepng/pull/118

git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@1646 af15c1b1-3010-417e-b628-4374ebc0bcbd
2019-11-11 09:37:06 +00:00
Ozkan Sezer
da43c6a57b r_brush.c (AllocBlock): add a FIXME note about a valgrind warning.
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@1645 af15c1b1-3010-417e-b628-4374ebc0bcbd
2019-11-11 09:35:19 +00:00
Ozkan Sezer
21915e956c snd_sdl.c: pass NULL as the 'obtained' spec to SDL_OpenAudio():
this way, SDL will convert to hardware format for us if needed.
most of the times we do get what we want. however, for example,
the WASAPI backend of SDL2 returns AUDIO_F32LSB as the obtained
format (which is not an SDL thing but a WASAPI thing) and we do
not support that. the SDL2.dll we ship with has WASAPI disabled,
but if the user replaces our dll with a one with WASAPI enabled
(official libsdl.org build or his own build) then we refuse the
obtained AUDIO_F32LSB format and run without sound.  after this
patch, such a thing is transparent to us.

git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@1639 af15c1b1-3010-417e-b628-4374ebc0bcbd
2019-09-20 18:40:00 +00:00
Ozkan Sezer
e04c0b49af remove Steve's name from quit menu message too, per his request.
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@1638 af15c1b1-3010-417e-b628-4374ebc0bcbd
2019-09-18 09:39:00 +00:00
Ozkan Sezer
196f89a239 GL_BuildLightmaps: minor warning fixes. more accurate developer warning.
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@1637 af15c1b1-3010-417e-b628-4374ebc0bcbd
2019-09-18 09:17:24 +00:00
Ozkan Sezer
57ad299dfa r_brush.c (AllocBlock): add casts to malloc and realloc
( in case someone wants to build using C++ compilers. )

git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@1634 af15c1b1-3010-417e-b628-4374ebc0bcbd
2019-09-16 11:00:38 +00:00
Ozkan Sezer
13d8e8f704 bump version to 0.93.2, update changelog.
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@1631 af15c1b1-3010-417e-b628-4374ebc0bcbd
2019-09-12 12:36:59 +00:00
Ozkan Sezer
39b4fccb44 move LMBLOCK_WIDTH/HEIGHT from bspfile.h to glquake.h
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@1630 af15c1b1-3010-417e-b628-4374ebc0bcbd
2019-09-12 12:34:12 +00:00
Ozkan Sezer
0a6a5c62c8 minor simplification
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@1629 af15c1b1-3010-417e-b628-4374ebc0bcbd
2019-09-12 12:33:02 +00:00
Eric Wasylishen
e041b958c7 r_brush.c: dynamically allocate lightmaps, from QuakeSpasm-Spike
This raises LMBLOCK_WIDTH/HEIGHT from 128 to 256 which should
be supported everywhere and decrease draw calls

git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@1628 af15c1b1-3010-417e-b628-4374ebc0bcbd
2019-09-12 06:49:35 +00:00
Eric Wasylishen
f2930ef460 r_brush.c: rename BLOCK_WIDTH/HEIGHT to LMBLOCK_WIDTH/HEIGHT to match QSS
(no other changes)

git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@1627 af15c1b1-3010-417e-b628-4374ebc0bcbd
2019-09-12 06:49:27 +00:00
Eric Wasylishen
12e781ba46 raise MAXALIASTRIS from 2048 to 4096 so SlayerTest mdl's load.
TODO: look at switching to Spike's mdl code from QSS
TODO: add "exceeds standard limit" warnings

git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@1626 af15c1b1-3010-417e-b628-4374ebc0bcbd
2019-09-12 04:06:57 +00:00
Eric Wasylishen
6924a94fa6 Mod_LoadAliasModel: don't corrupt memory if MAXALIASTRIS exceeded
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@1625 af15c1b1-3010-417e-b628-4374ebc0bcbd
2019-09-12 04:06:55 +00:00
Eric Wasylishen
429b29a669 Sky_NewMap: avoid stack buffer underflow on the "remove trailing spaces"
line that happened if a map had an empty string worldspawn key,
detected by ASan on macOS with demo_map.bsp from SlayerTest.

Also prevent the strcpy's from overflowing the buffers in case of long
keys.

git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@1624 af15c1b1-3010-417e-b628-4374ebc0bcbd
2019-09-12 04:06:54 +00:00
Ozkan Sezer
0e6c4f27cc update lodepng to 20190824 version from mainstream.
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@1623 af15c1b1-3010-417e-b628-4374ebc0bcbd
2019-08-28 00:10:02 +00:00
Ozkan Sezer
e4eae98ab4 watcom makefiles: make wlink quiet
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@1622 af15c1b1-3010-417e-b628-4374ebc0bcbd
2019-08-28 00:01:04 +00:00
Ozkan Sezer
92758e8591 update lodepng to 20190814 version from mainstream.
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@1619 af15c1b1-3010-417e-b628-4374ebc0bcbd
2019-08-15 12:01:54 +00:00
Ozkan Sezer
9fc3408391 snd_mp3.c: better skipping of tags:
( also see: https://bugzilla.libsdl.org/show_bug.cgi?id=4728 )

Instead of doing it 'as-we-go' every time, skip the tags at file-open
time only once.

The former implementation had the chance of not having the full tag in
the frame, that includes a possibility of even not having the complete
tag magic in the frame leading to not identifying a tag.

The new implementation skips all the tags at file-start and file-end,
and does that only once.

Also added are detection and skipping of extended ID3v1 and APEv1 tags.

git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@1612 af15c1b1-3010-417e-b628-4374ebc0bcbd
2019-07-23 14:11:30 +00:00
Ozkan Sezer
ee831b2b48 lodepng: sync with mainstream, merged up to latest commit f6155a420604.
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@1611 af15c1b1-3010-417e-b628-4374ebc0bcbd
2019-07-15 09:20:05 +00:00
Eric Wasylishen
68faa57c6d CalcSurfaceExtents: adjust bogus initial "max" texture coord to match the
magnitude of the "min" one. It was possible to erroneously cause a
"bad surface extents" error with face around +/- 100K units from the origin,
since "max" was initalized to -99999.

TODO: These should probably both be changed to FLT_MAX/-FLT_MAX.

git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@1608 af15c1b1-3010-417e-b628-4374ebc0bcbd
2019-03-18 07:22:54 +00:00
Eric Wasylishen
c04be89a90 PR_UglyValueString: increase line[512] to 1024, use q_snprintf
Fixes writing past end of buffer (crashes on some OS'es) when saving xmasjam2018_qmaster1 


git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@1607 af15c1b1-3010-417e-b628-4374ebc0bcbd
2018-12-30 05:24:36 +00:00
Ozkan Sezer
74810cd40e handle ssize_t issues with MSVC better
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@1600 af15c1b1-3010-417e-b628-4374ebc0bcbd
2018-11-03 09:50:53 +00:00
Ozkan Sezer
92a3d910bd menu.c (M_ScanSaves): silence gcc8 -Wstringop-truncation:
just replaced strncpy() with q_strlcpy().

git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@1592 af15c1b1-3010-417e-b628-4374ebc0bcbd
2018-09-21 12:10:06 +00:00
Ozkan Sezer
ed6d5b0d20 gl_texmgr.h (struct gltexture_s): change 'pants' and 'shirt' to signed char
otherwise negative value checks wouldn't work if char is unsigned by
default. Fixes bug #28 (https://sourceforge.net/p/quakespasm/bugs/28/,
also see: https://github.com/Novum/vkQuake/issues/145 )

git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@1588 af15c1b1-3010-417e-b628-4374ebc0bcbd
2018-06-18 07:15:58 +00:00
Ozkan Sezer
32c80b20b0 pr_edict.c: replaced another strcpy() call with q_strlcpy(), tweaked a warning message.
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@1586 af15c1b1-3010-417e-b628-4374ebc0bcbd
2018-05-30 15:01:22 +00:00
Ozkan Sezer
0825fb705c lodepng.c: max 5552 instead of 5550 sums before adler32 overflow
(lorepng github mainstream commit 81cf5de55f)

git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@1585 af15c1b1-3010-417e-b628-4374ebc0bcbd
2018-05-30 04:04:47 +00:00
Ozkan Sezer
4dbd07fb9a bgmusic.c: mark *.opus files as cdrip types.
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@1579 af15c1b1-3010-417e-b628-4374ebc0bcbd
2018-04-27 17:30:38 +00:00
Ozkan Sezer
1ccd0b998a apply the same double precision change to PF_normalize() as was done to PF_vlen() in r1554.
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@1578 af15c1b1-3010-417e-b628-4374ebc0bcbd
2018-04-23 09:20:31 +00:00
Ozkan Sezer
39459b19cb net_udp.c (UDP_Init): lose the goto in OSX workaround, restrict the workaround to OSX builds only.
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@1577 af15c1b1-3010-417e-b628-4374ebc0bcbd
2018-04-20 14:35:32 +00:00
Ozkan Sezer
5a2c2cf1a6 snd_vorbis.c: remove leftovers, tidyup.
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@1574 af15c1b1-3010-417e-b628-4374ebc0bcbd
2018-03-26 21:10:07 +00:00
Ozkan Sezer
84c2c3c4ea lodepng sync with mainstream: merged commits d4d8f1aa and d03d7df9
(excluded 64 bit warning fix commits 9ab58e3 and 116f5b2e for now)

git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@1573 af15c1b1-3010-417e-b628-4374ebc0bcbd
2018-03-26 21:04:10 +00:00
Ozkan Sezer
1a0c50ab4c cd_sdl.c: change SDL_CD error return checks from '== -1' back to '< 0'
SDL man pages are wrong. e.g. their macosx cdrom backend returns some
negative value, but not strictly -1.

git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@1569 af15c1b1-3010-417e-b628-4374ebc0bcbd
2018-03-13 08:50:03 +00:00
Ozkan Sezer
29b903bc84 host.c (Host_WriteConfiguration): don't VID_SyncCvars()
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@1565 af15c1b1-3010-417e-b628-4374ebc0bcbd
2018-02-21 16:25:04 +00:00
Ozkan Sezer
1cd6ed55ed don't write the config file if we are Sys_Error()ing
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@1564 af15c1b1-3010-417e-b628-4374ebc0bcbd
2018-02-21 07:33:07 +00:00
Ozkan Sezer
f8247e30bd host.c (Host_WriteConfiguration): change bitwise and into logical and.
seems like a typo in original quake source.

git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@1561 af15c1b1-3010-417e-b628-4374ebc0bcbd
2018-02-16 06:03:25 +00:00
Ozkan Sezer
e62db0b9fb console.c (Con_TabComplete): don't change the length counter in arg completion.
issue seems to have been added in v0.90.1.

git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@1560 af15c1b1-3010-417e-b628-4374ebc0bcbd
2018-02-16 05:57:54 +00:00
Eric Wasylishen
f910bae881 in_sdl: Change controller movement to use cubic easing by default; added
"joy_exponent_move" cvar.

Previously movement was linear.

git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@1556 af15c1b1-3010-417e-b628-4374ebc0bcbd
2018-02-05 06:37:50 +00:00
Eric Wasylishen
a89063a5ff PF_vlen: add casts to double to force 64-bit precision
Fixes https://sourceforge.net/p/quakespasm/bugs/26/
(travail qte1m2.bsp button near 2772 767 -584 hurting the player
sm179_otp.bsp: left button causing the player to get stuck)

This change should probably be applied to more places in pr_cmds.c
and elsewhere, but this specific change is enough to fix these corner
cases

git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@1554 af15c1b1-3010-417e-b628-4374ebc0bcbd
2018-01-17 07:44:26 +00:00
Ozkan Sezer
77a45cbbbe lodepng.c (lodepng_encode): check for preProcessScanlines() errors.
(patch by 'yoch', from https://github.com/lvandeve/lodepng/pull/66)

git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@1553 af15c1b1-3010-417e-b628-4374ebc0bcbd
2018-01-11 07:00:02 +00:00
Eric Wasylishen
ae38737ada keys.c: increase CMDLINES (history.txt lines) from 32 to 64
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@1552 af15c1b1-3010-417e-b628-4374ebc0bcbd
2018-01-10 04:40:31 +00:00
Ozkan Sezer
9dd0a76812 r1550 merged a bad patch. merging the correct one...
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@1551 af15c1b1-3010-417e-b628-4374ebc0bcbd
2018-01-08 15:28:05 +00:00
Ozkan Sezer
a7deed353e Mod_DecompressVis: warn every case of vis data buffer overrun, not once.
also remove the #if 0'ed out code.

git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@1550 af15c1b1-3010-417e-b628-4374ebc0bcbd
2018-01-08 08:28:17 +00:00
Eric Wasylishen
413272b977 Mod_DecompressVis: don't overflow output buffer given invalid visdata
Fixes crash on death32c.bsp:
http://sourceforge.net/p/quakespasm/bugs/25/

git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@1548 af15c1b1-3010-417e-b628-4374ebc0bcbd
2018-01-08 05:02:14 +00:00
Eric Wasylishen
e4b71e6268 TexMgr_Imagedump_f: fix buffer overflow by setting GL_PACK_ALIGNMENT
reported by ASan

git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@1547 af15c1b1-3010-417e-b628-4374ebc0bcbd
2017-12-28 18:51:40 +00:00
Eric Wasylishen
ec4b6115d1 world shader: avoid matrix multiplication in the fragment shader
alias shader: sync fog implementation with world shader

Thanks to Axel for the suggestion.

Add a FIXME where our shader differs from vkQuake in treatment of
alpha transparent faces + fog.

see:
https://sourceforge.net/p/quakespasm/bugs/24/
https://github.com/Novum/vkQuake/blob/master/Shaders/world.vert
https://github.com/Novum/vkQuake/blob/master/Shaders/world.frag

git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@1546 af15c1b1-3010-417e-b628-4374ebc0bcbd
2017-12-24 18:59:44 +00:00