Commit graph

1337 commits

Author SHA1 Message Date
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
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
Ozkan Sezer
a3f395b0f7 bump version to 0.93.1, update changelog.
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@1545 af15c1b1-3010-417e-b628-4374ebc0bcbd
2017-12-20 06:28:28 +00:00
Eric Wasylishen
c227b42c51 GLWorld_CreateShaders: do fog fully in the fragment shader.
Fixes a regression introduced in 0.93.0 when we switched from
fixed-function fog to GLSL (for world polys), reported by ItEndsWithTens

It was visible on large polygons.
For a test case, see: https://sourceforge.net/p/quakespasm/bugs/24/

git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@1544 af15c1b1-3010-417e-b628-4374ebc0bcbd
2017-12-20 03:04:39 +00:00
Eric Wasylishen
c91dd567e8 main_sdl.c: override sys_throttle to 0 during timedemo
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@1536 af15c1b1-3010-417e-b628-4374ebc0bcbd
2017-11-16 18:21:38 +00:00
Ozkan Sezer
a23a75efa3 gl_model.c (Mod_SetExtraFlags): remove bogus !mod->name check.
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@1535 af15c1b1-3010-417e-b628-4374ebc0bcbd
2017-11-16 07:00:02 +00:00
Eric Wasylishen
d3377b9358 gl_model.c: (Mod_LoadModel): change Sys_Error to Host_Error for missing
model to be less annoying when testing a broken mod

git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@1534 af15c1b1-3010-417e-b628-4374ebc0bcbd
2017-11-14 07:20:29 +00:00
Eric Wasylishen
caceebb7a3 r_alias.c: display skin 0 instead of checkerboard for invalid skin num
metlslime says:

> I was the one that at added the blue checkerboard feature.
> I didn't realize at the time how many mods relied on the behavior of
> vanilla quake to show skin 0 when the mod asks for an invalid skin. So
> I now agree, the engine should replicate vanilla quake's permissive
> behavior and maybe just put up a non-spamy console warning when the
> bad skin is first set.

TODO: The warning is currently spammy (but only if developer 1).
Would be a bit of a pain to make non-spammy.

git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@1532 af15c1b1-3010-417e-b628-4374ebc0bcbd
2017-11-12 22:16:34 +00:00
Ozkan Sezer
c5b2c6a848 pr_edict.c (ED_ParseEpair): remove a developer.value check before the Con_Dwarning call added by r1527
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@1528 af15c1b1-3010-417e-b628-4374ebc0bcbd
2017-11-10 05:55:04 +00:00
Eric Wasylishen
78970b5323 ED_ParseEpair: don't read garbage into vectors if the string is too short
This is a bug from vanilla.
Shows up in qump_vingal.bsp from QUMP, which has func_illusionary
entities with "origin" "". Example are the torch holders before
the first door in the map.
Prior to this commit the vector would possibly get a garbage value,
depending on what was on the stack.

see: http://celephais.net/board/view_thread.php?id=61523&start=53&end=61

git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@1527 af15c1b1-3010-417e-b628-4374ebc0bcbd
2017-11-07 21:49:32 +00:00
Eric Wasylishen
ac42683f58 r_world.c: rewrite R_DrawTextureChains_Multitexture_VBO to use GLSL
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@1524 af15c1b1-3010-417e-b628-4374ebc0bcbd
2017-11-01 04:01:02 +00:00
Eric Wasylishen
d4d06b4a78 view.c: New "gl_cshiftpercent_contents", "gl_cshiftpercent_damage", "gl_cshiftpercent_bonus", "gl_cshiftpercent_powerup" cvars for tuning the strength of specic view blends.
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@1515 af15c1b1-3010-417e-b628-4374ebc0bcbd
2017-10-03 19:49:04 +00:00
Ozkan Sezer
b9e5285607 compiler.h: added clang version of FUNC_NO_OPTIMIZE.
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@1512 af15c1b1-3010-417e-b628-4374ebc0bcbd
2017-10-01 18:11:29 +00:00
Ozkan Sezer
0f694ed6fe merged latest lodepng mainstream code: fixes encoder memory leak for some input error cases.
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@1506 af15c1b1-3010-417e-b628-4374ebc0bcbd
2017-09-17 11:04:05 +00:00
Ozkan Sezer
e7648a42c9 minor cleanup to Max_Fps_f() cvar callback.
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@1505 af15c1b1-3010-417e-b628-4374ebc0bcbd
2017-09-17 11:02:46 +00:00
Ozkan Sezer
daf5ebec2f "W007: '&array' may not produce intended result" Watcom warning fixes.
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@1504 af15c1b1-3010-417e-b628-4374ebc0bcbd
2017-09-17 08:00:32 +00:00
Ozkan Sezer
3cefb58d5d move the watcom 'aborts' pragma after function declarations.
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@1503 af15c1b1-3010-417e-b628-4374ebc0bcbd
2017-09-16 19:50:12 +00:00
Eric Wasylishen
e71737d35c host_maxfps: tweak warning message; > character looks weird in quake
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@1501 af15c1b1-3010-417e-b628-4374ebc0bcbd
2017-09-13 00:04:31 +00:00
Eric Wasylishen
45f1df6112 host_maxfps: warn the player if > 72 that physics will be broken
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@1500 af15c1b1-3010-417e-b628-4374ebc0bcbd
2017-09-12 23:27:26 +00:00
Eric Wasylishen
71d7d02eaf SZ_GetSpace: change overflow Sys_Error to Host_Error
this happens for maps that exceed the signon buffer and makes it a bit less annoying

git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@1499 af15c1b1-3010-417e-b628-4374ebc0bcbd
2017-09-12 23:12:33 +00:00
Ozkan Sezer
caf3f3eed7 minor warning fix.
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@1495 af15c1b1-3010-417e-b628-4374ebc0bcbd
2017-09-03 14:56:03 +00:00
Eric Wasylishen
7284d3d6f3 SV_TouchLinks: new workaround for touch functions that modify the
trigger linked list.

Copies the touched edicts to a hunk-allocated array first, before
running the touch functions. From QS-Spike, with some adjustments.

See: http://celephais.net/board/view_thread.php?id=60452&start=2950
and fixes: http://www.quaketastic.com/files/misc/touchlinks-test.zip

git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@1485 af15c1b1-3010-417e-b628-4374ebc0bcbd
2017-08-28 02:15:04 +00:00
Eric Wasylishen
94a4d55466 Revert SV_TouchLinks changes from fitzquake
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@1484 af15c1b1-3010-417e-b628-4374ebc0bcbd
2017-08-28 02:15:03 +00:00