Commit graph

4616 commits

Author SHA1 Message Date
Denis Pauk
dfd2cb3700 Merge remote-tracking branch 'yquake2/master' 2024-12-21 12:19:57 +02:00
Yamagi
7211e06c8c Fix drawing of UDP download progress bar with r_consolescale > 1.
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.
2024-12-21 10:10:42 +01:00
Yamagi
290c9ecabe
Merge pull request #1170 from protocultor/wpn_preview
Sound backend selector + weapon preview for cycleweap
2024-12-21 09:51:42 +01:00
Denis Pauk
8d03b22a2f maps: fix yellow wall in daikatana e2m2a
Issue introduced in a09cbe20
2024-12-20 23:34:09 +02:00
Denis Pauk
c388d5b31d Merge remote-tracking branch 'yquake2/master' 2024-12-20 22:46:30 +02:00
Jaime Moreira
d3a98cf66b Text simplified for sound backend menu option
"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.
2024-12-20 16:36:53 -03:00
Yamagi
8c8488657c Fix less planes reserved for hull box testing than used down below.
This is an original bug, already present in Vanilla Quake 2.

Reported by @m-x-d, closes #1171.
2024-12-20 15:30:32 +01:00
Yamagi
cdf1cba106 Correct strncmp() checks in download code.
Reported by @m-x-d, closes #1167.
2024-12-20 15:24:27 +01:00
Denis Pauk
cbd1665239 game: fix spirit models on start points 2024-12-20 16:13:15 +02:00
Denis Pauk
c3d7def63d cmakefile: add vulkan build 2024-12-20 16:12:41 +02:00
Denis Pauk
ea94f56f18 cmakefile: add gl4 target 2024-12-20 16:12:32 +02:00
Denis Pauk
9d68b161bd readme: add new video 2024-12-20 16:12:19 +02:00
Denis Pauk
4293f1e73a cin: fix regression from c8985738 2024-12-20 16:12:02 +02:00
Denis Pauk
91103f907b add static for local function and use size_t with string length 2024-12-20 16:11:53 +02:00
Denis Pauk
8f0906704a Merge remote-tracking branch 'yquake2/master' 2024-12-20 16:10:28 +02:00
Yamagi
9522e9e490
Merge pull request #1169 from SiemensSchuckert/HTTP_dnl2
fix HTTP download crash (on 404)
2024-12-20 11:38:07 +01:00
Yamagi
bc168a7bfa
Merge pull request #1168 from SiemensSchuckert/HTTP_dnl1
fix HTTP download crash (on empty file)
2024-12-20 11:37:41 +01:00
Denis Pauk
5a0def601a client: improve autodetect heretic2 map 2024-12-18 22:39:06 +02:00
Denis Pauk
f931f9c8bc ReadMe: prepare for 8.42RR11 release 2024-12-18 19:35:50 +02:00
Denis Pauk
67052ec008 client: rework flashlight 2024-12-18 18:17:53 +02:00
Denis Pauk
7a3ebc7e99 game: Add support 'g_start_item'
Based on:
 * https://github.com/id-Software/quake2-rerelease-dll.git
2024-12-18 15:24:24 +02:00
Denis Pauk
fdeabf515c client: mesh mask in model preview 2024-12-17 21:41:10 +02:00
Jaime Moreira
60f0fdd969 Makefile parameter to disable SDL Gyro support
"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.
2024-12-15 22:51:56 -03:00
Jaime Moreira
661761f047 Gamepad Gyro properly detected in SDL3
Using correct return value for SDL_SetGamepadSensorEnabled now.
Added menu command for gamepad sticks.
2024-12-15 22:22:28 -03:00
Jaime Moreira
5d201fce9a GL1 water warp effect
A basic "squeeze/stretch" effect to fov when diving underwater.
Intensity is controlled by gl1_waterwarp, 0 disables the effect.
Original from Fitzquake.
2024-12-11 21:05:27 -03:00
Jaime Moreira
6a3a081b4b Refactored gluPerspective-like function in GL1
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.
2024-12-11 20:46:53 -03:00
Denis Pauk
5e8ffa3630 maps: Add support of Anachronox material flags 2024-12-10 23:20:53 +02:00
Denis Pauk
baa4d8153a protocol: restore ReRelease scale 2024-12-08 23:45:51 +02:00
Denis Pauk
032b66b062 protocol: Use combined entity state structure 2024-12-08 23:45:43 +02:00
Denis Pauk
d4b4266758 protocol: partial revert f856be35
protocol changes broke backward compatibility, temporary disable
2024-12-08 23:45:33 +02:00
Denis Pauk
b95ce55edc maps: add materials support check for other games 2024-12-07 18:01:03 +02:00
Denis Pauk
af7b8f6c61 client: add support foodstep based on floor material
Based on:
 * https://github.com/Paril/q2pro.git
2024-12-06 00:31:32 +02:00
Denis Pauk
05499dd331 maps: initial load material definitions 2024-12-06 00:29:50 +02:00
Denis Pauk
0c6c51f903 game: Add support health_multiplier from ReRelaes
Based on:
 * https://github.com/id-Software/quake2-rerelease-dll.git
2024-12-06 00:28:57 +02:00
Jaime Moreira
6b8cd8fdf9 Weapon preview for cycleweap
'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.
2024-12-04 18:57:19 -03:00
Jaime Moreira
1825aa9723 Sound backend selector
Changes s_openal, replaces sound quality selector.
2024-12-04 18:53:57 -03:00
SiemensSchuckert
4cb319216f
fix HTTP download crash (on 404)
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)
2024-12-04 18:54:45 +03:00
SiemensSchuckert
03d22045ad
fix HTTP download crash (on empty file)
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
2024-12-04 18:51:47 +03:00
Denis Pauk
5518640473 client: Add alttext to main menu
Workaround if game does not have any main menu images.
2024-12-01 23:38:24 +02:00
Denis Pauk
37b0e7a1f3 renders: add support of alt text for scaled image 2024-12-01 23:01:59 +02:00
Denis Pauk
65abf0188a game: add custom status bar for DoD(roarke) 2024-12-01 17:06:45 +02:00
Denis Pauk
94fc9a96ae game: update heretic2 items description 2024-12-01 01:25:48 +02:00
Denis Pauk
5055774a3d Merge remote-tracking branch 'yquake2/master' 2024-11-30 23:08:52 +02:00
Yamagi
9f6c455b45 Fix usage, the command is named dumpuser and not info.
This is likely a left over from some earlier version. Noticed by @m-x-d.
Closes #1166.
2024-11-30 16:30:55 +01:00
Denis Pauk
808f748f4a game: fix flashlight flag 2024-11-27 00:40:29 +02:00
Denis Pauk
58363c6696 game: Add BoB effect for items support
Based on:
 * https://github.com/Paril/q2pro.git
2024-11-26 23:37:04 +02:00
Denis Pauk
c7f74a3fa6 client: move flashlight to separate field 2024-11-26 23:34:22 +02:00
Denis Pauk
3314fc941e client: support of EF_FLASHLIGHT effect
Based on:
 * https://github.com/Paril/q2pro.git
2024-11-25 00:45:49 +02:00
Denis Pauk
5d21429c36 client: code style cleanup 2024-11-24 23:27:45 +02:00
Denis Pauk
27b41be951 game: add 'trigger_flashlight' support
Based on:
 * https://github.com/id-Software/quake2-rerelease-dll.git
2024-11-24 23:26:56 +02:00