Commit graph

1136 commits

Author SHA1 Message Date
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
Eric Wasylishen
73123e19cb Revert "applied a better fix for the infamous "SV_TouchLinks: next != l->next" problem."
This reverts r359

git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@1483 af15c1b1-3010-417e-b628-4374ebc0bcbd
2017-08-28 02:15:02 +00:00