Commit graph

1426 commits

Author SHA1 Message Date
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