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
( 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
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
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
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
( 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
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
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
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
(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
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
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
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
"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
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
(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
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
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
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
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
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
- change this and "SOLID_BSP without MOVETYPE_PUSH" to Host_Error (less annoying)
- print classname and origin of entity that caused the error
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@1481 af15c1b1-3010-417e-b628-4374ebc0bcbd
Set to 1 to scale forward/side/up speed by "cl_movespeedkey" (usually 2), and make "speedkey" act as "slowkey".
Change "always run" menu option to offer
"off" (cl_alwaysrun 0, cl_forwardspeed 200, cl_backspeed 200),
"vanilla" (cl_alwaysrun 0, cl_forwardspeed 400, cl_backspeed 400) and
"quakespasm" (cl_alwaysrun 1, cl_forwardspeed 200, cl_backspeed 200).
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@1480 af15c1b1-3010-417e-b628-4374ebc0bcbd
connected (e.g. right after the engine boots.) make the 'entities'
command to only print when connected.
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@1479 af15c1b1-3010-417e-b628-4374ebc0bcbd
image.c: define LODEPNG_NO_COMPILE_CPP for lodepng.c.
image.c: define STB_IMAGE_WRITE_STATIC for stb_image_write.h
image.c: minor whitespace tidy-up.
stb_image_write.h: remove extern declaration for now non-existing
stbi_write_tga_with_rle (missed in commit r1468).
stb_image_write.h: comment out stbi_write_jpg_to_func() which quakespasm
doesn't use.
lodepng.c (lodepng_save_file): remove unneeded (char*) cast from buffer.
lodepng.c (lodepng_read32bitInt): make it static.
lodepng.c (lodepng_get_raw_size_lct): make it static, and move below to
the place it is actually used.
lodepng.c (lodepng_info_swap): remove (unused function).
lodepng.c (readChunk_zTXt,readChunk_iTXt,addChunk_zTXt, addChunk_iTXt):
add missing const to casts on const pointers in zlib_compress() calls.
(see: https://github.com/lvandeve/lodepng/pull/34).
lodepng.c (inflateHuffmanBlock): wrong error code if huffmanDecodeSymbol
fail. (see: https://github.com/lvandeve/lodepng/pull/52).
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@1471 af15c1b1-3010-417e-b628-4374ebc0bcbd
in quakespasm, and remove all others.
- image.c: disable decoder, ancillary chunks and error text support
by defining the relevant LODEPNG_NO_??? macros.
(Image_WritePNG): make use of upsidedown parameter for symmetry
with Image_WriteJPG(). print an error message in case of encoding
failure if error text support is enabled.
(Image_WriteSTB): rename to Image_WriteJPG, adjust for jpg writing
only. remove the old Image_WriteJPG wrapper.
(enum imageformat_t): remove.
(CopyFlipped): constify the data parameter.
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@1468 af15c1b1-3010-417e-b628-4374ebc0bcbd
~3x faster than stb_image_write and similar file size
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@1467 af15c1b1-3010-417e-b628-4374ebc0bcbd
Add optional format and quality args to "screenshot" command,
can specify tga, png, jpg
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@1465 af15c1b1-3010-417e-b628-4374ebc0bcbd
when entering fullscreen. Fix VID_GetDesktopFullscreen() which
was incorrectly returning "true" in regular fullscreen mode.
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@1459 af15c1b1-3010-417e-b628-4374ebc0bcbd
Previously, the cast was implicit since abs() takes an int,
so there is no change in behaviour.
Suppresses a clang warning that we might want fabs().
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@1451 af15c1b1-3010-417e-b628-4374ebc0bcbd
directly, but define proper macros for each attribute we do or may use.
also support MSC along the way for example with the noreturn attribute.
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@1440 af15c1b1-3010-417e-b628-4374ebc0bcbd
Previous value of 0.001 was probably too low, may have caused
"stuck" triggers:
http://celephais.net/board/view_thread.php?id=60452&start=2935
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@1439 af15c1b1-3010-417e-b628-4374ebc0bcbd