disable certificate check for HTTPS
disable SSL certificate check - to allow download from servers with self-signed cert, or when some certs are missing from system certificate store that CURL uses
add new cvar `cl_http_verifypeer`
When calculating the Y position of the UDP download progress bar the
scale factor must be taken into account. Otherwise the bar will be drawn
outside the visible area of the console. This was missed when scaling
was first implemented years ago and broken since then.
Reported by @SiemensSchuckert, closes#1172.
"Quality vs performance" might not correspond to reality; text deleted.
Documentation updated to reflect current state of both OpenAL and SDL
sound systems.
Authored by @Yamagi.
"make NO_SDL_GYRO=1" disables sensor reading support and forces
behavior of SDL < 2.0.14 under any version, even SDL 3.
Meant for Arch Linux ARM, which supports 2.30.10 at this time, but
doesn't support gyro readings (no HIDAPI support?), even if it shows
an additional "IMU joystick" when connecting Nintendo gamepads.
This commit allows to use the "IMU joystick" in game, extending #990.
Identification of joysticks as "IMU" or "Left Joy-Con" is more
generic now, covering more possible naming conventions.
A basic "squeeze/stretch" effect to fov when diving underwater.
Intensity is controlled by gl1_waterwarp, 0 disables the effect.
Original from Fitzquake.
It was being called repeteadly with the same parameters, so it was
re-written with only one needed parameter, with the rest of the data
being obtained inside the function, to avoid logic duplication.
'Pickup style' just like weapprev/weapnext, only works when cycleweap
is called with 3 or more parameters.
Weapon binds in gamepad menus now include xatrix and rogue weapons.
change parameter type to match CURL lib
(prevents crash on HTTP download)
example
test server:
q2.bot.nu:27912
server config:
set sv_downloadserver "https://quake2.pages.dev/"
map DEBEQUA2
Client connects, and three files added to queue:
HTTP download: /.filelist - Queued
HTTP download: /maps/DEBEQUA2.filelist - Queued
HTTP download: maps/DEBEQUA2.bsp - Queued
from URL:
https://quake2.pages.dev/.filelist - no file
https://quake2.pages.dev/maps/DEBEQUA2.filelist - no file
https://quake2.pages.dev/maps/DEBEQUA2.bsp - exists
when 404 response received for '.filelist' file,
CL_HTTP_Recv() is called and uses wrong file length in malloc()
one of tests:
==43024==ERROR: AddressSanitizer: requested allocation size 0x8000000000000000 (0x8000000000001000 after adjustments for alignment, red zones etc.) exceeds maximum supported size of 0x10000000000 (thread T0)
0 0x7ffff74b4887 in __interceptor_malloc ../../../../src/libsanitizer/asan/asan_malloc_linux.cpp:145
1 0x55555566b023 in CL_HTTP_Recv src/client/curl/download.c:98
2 0x7fffcbcc257a (/lib/x86_64-linux-gnu/libcurl.so.4+0x5157a)
when empty filelist downloaded from HTTP server,
CL_ParseFileList() uses unallocated buffer for strchr()
segfault happens:
0 __strchr_avx2 () at ../sysdeps/x86_64/multiarch/strchr-avx2.S:65
1 0x00007ffff743de2c in __interceptor_strchr (s=0x0, c=<optimized out>)
at ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:705
2 0x000055555566d7f8 in CL_ParseFileList (dl=0x55555587a178 <cls+20984>)
at src/client/curl/download.c:484
3 0x000055555566e26c in CL_FinishHTTPDownload ()
at src/client/curl/download.c:670
These are two problems breaking the window flags for renderers which
don't use OpenGL or enforce their own flags:
* In SDL 3 the window flags were increased from 32 bit to 64 bit. SDL
3.1.3 introduced a new type SDL_WindowFlags for them. Use it to
represent the window flags. This is currently a noop, becaue SDL 3
doesn't have any flags above 32 bit yet. This might require another
breakage of the renderer API in the future, because currently
renderers pass a 32 bit flags thing to the client.
* `SDL_SetNumberProperty()` got a new type
`SDL_PROP_WINDOW_CREATE_FLAGS_NUMBER` to represent the flags. It must
be used, otherwise strange things happen.
Closes#1156.