Commit graph

1192 commits

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