Commit Graph

213 Commits

Author SHA1 Message Date
Jaime Moreira fb46007bc3 Fixed gl1_overbrightbits limiter, for real now
Allowed values are 0, 1, 2 and 4 only.
Updated documentation, again.
2024-01-06 13:32:48 -03:00
Denis Pauk 70b0b1c77a Update windows build instruction 2023-12-25 00:05:38 +02:00
Denis Pauk 6b4f197ac0 game: Add third person view
Based on codes:
 * Lazarus mod
 * KMQuake2 codes
 * Slight Mechanical Destruction mod

https://bitbucket.org/Knightmare66/kmquake2_stable/src/master/game/p_chase.c
2023-12-25 00:05:38 +02:00
Denis Pauk 642aeedc43 Merge remote-tracking branch 'yquake2/master' 2023-12-18 12:47:09 +02:00
Jaime Moreira 9eca08fd92 Faster "weapprev" and "weapnext" behavior
These commands can now "count" how many times they have been called,
similar to how "cycleweap" operates after #865.
This allows for changing to different weapons, instead of just going
"one down" or "one up".
New cvar "g_quick_swap" allows to enable/disable this behavior.
2023-12-07 23:57:19 -03:00
Denis Pauk 258d041b5d cin: Add ogv video support 2023-10-27 19:43:41 +03:00
Denis Pauk 96b4037ac7 Merge remote-tracking branch 'yquake2/master' 2023-10-20 22:53:04 +03:00
Jaime Moreira fa218c9f4c Fixed gl1_overbrightbits limiter
Allows values between 0 and 4. Updated documentation.
2023-10-18 20:35:51 -03:00
Denis Pauk 586d62d4de server: badlands hack 2023-10-17 00:16:05 +03:00
Denis Pauk 83a31973c2 Add transparent with alpha test surface support
Based on surface flag from kmquake2 and rerelease documatation

https://github.com/id-Software/quake2-rerelease-dll#surf_alphatest-bit-25
2023-10-16 00:35:40 +03:00
Denis Pauk b4e78d0fa3 vk,gl1: Fix mgu2m3 2023-10-15 23:09:05 +03:00
Denis Pauk c3c80593c8 gl1,vk: reuse initial shared lightmap buffer 2023-10-15 21:29:10 +03:00
Denis Pauk 0506b02c60 gl1: Fix mgu3m2 2023-10-15 19:58:33 +03:00
Denis Pauk 2790b0de92 Fix lightmap temporary buffer size calculation
Introduced in a1249534, fixed load of mgu3m2 in vk render.
2023-10-15 12:49:15 +03:00
Denis Pauk 9346b08e74 Add maps notes 2023-10-14 17:59:59 +03:00
Denis Pauk c91dc0b9b2 Share R_PushDlights between all renders 2023-10-14 02:08:30 +03:00
Denis Pauk d47d27ca00 Remove surface check
Soft render has issues with q64/outpost
2023-10-11 20:39:14 +03:00
Denis Pauk 0a250f5cd2 Add maps testing state 2023-10-11 20:22:56 +03:00
Denis Pauk edfd93802b sync usage r_dynamic and r_dynamic 2023-10-07 18:08:33 +03:00
Denis Pauk 4a3dbb22d9 Add new commands description 2023-10-05 01:31:25 +03:00
Denis Pauk c916e56d2d Reuse r_showtris in renders 2023-10-02 22:37:35 +03:00
Yamagi fe715f3d76 Document vid_pauseonfocuslost. 2023-09-16 16:36:19 +02:00
Jaime Moreira 9821c4b0a2 Show correct replacement for gl_lightmap cvar
Typos corrected
2023-08-26 19:18:24 -04:00
Jaime Moreira a94e9dca81 Snappier "g_swap_speed" behaviour
Player is no longer forced to go through the last frame of activation
or deactivation of a weapon before changing its state.
2023-06-29 11:14:58 -04:00
Jaime Moreira c5e2d51fd7 Cheat cvar "g_swap_speed" implemented
Allows to skip frames of "putting down weapon" and
"raising weapon" animations, speeding them up.
2023-06-28 15:28:40 -04:00
Yamagi a5560ff3a2 Implement high dpi awareness into the client and all renderers.
Over the last years high dpi displays became increasingly popular. We
already implemented very basic high dpi support for Windows several
years ago by setting the "please don't scale us" option. Linux (and
all other unixoid platforms) hadn't a real understandig of high dpi
and everything involved until the advent of Wayland and finally the
*fractional-scale-v1* protocol last autumn.

Since then SDL (even bevore the protocol was finalized) and all three
common Wayland compositors (Gnome, KDE and wlroots) have grown support
for the protocol and are now high dpi aware. In a high dpi aware world
the choice is scale yourself or get scaled by the compositor. The later
option isn't so good for fast paced games like Quake II, it introduces
blur and slugishness. Therefore implement hig dpi awareness through SDL.

This isn't perfect right now:
* SDL is still getting high dpi awareness fixes with every release. High
  dpi awareness in YQ2 is currently limited to at least SDL 2.26 and we
  may rise the required version even more if necessary.
* There are stll bugs in the compositors. For example Gnome 44.1 has a
  tedency to misscalculate the space occupied by the fullscreen window,
  the game ends up wit a white bar on top. sway even misscalculates
  some scaling factors: https://github.com/swaywm/sway/issues/7463
* SDL hasn't got a reliable way to get the real non scales desktop
  resolution.

Because of this:
* High dpi awareness is currently restricted to Wayland. Let's get one
  platform right before we implement it for everything else.
* It's hidden behind `vid_highdpiawareness` and disabled by default.

High dpi awareness is implemented by setting `SDL_WINDOW_ALLOW_HIGHDPI`
on the window. After the window and rendering context are created
`SDL_GL_GetDrawableSize()` or `SDL_GetRendererOutputSize()` are used
to query the actual drawable size and the internal representation is
overwritten with it.

This would scale the fullscreen window over the full screen, no matter
what resolution was selected. Some work arounds are implemented to
(mostly) keep the old behaviour were resoltions lower than the desktop
resolution weren't scaled. There is one inconsistency: While the non
high dpi aware soft renderer always scaled over the full screen, the
high dpi aware variant doesn't. This is a restriction by SDL Renderer.

Setting native fullscreen was broken before when running on high dpi
displays and it's not fixed. This is caused by SDL being unable to
determine the real resolution (or whatever the compositor thinks the
real resolution is). Depending on the compositor or if the client is
high dpi aware the correct resolution must be set by hand **or** auto
setting with `r_mode -2` must be used. Resolution detection was switched
to `SDL_GetCurrentDisplayMode()` because it's somewhat less problematic
than `SDL_GetCDesktopDisplayMode()`.

The renderer API was extended by one function pointer `*GetDrawableSize`
used to communicate the actual drawable size between renderer and
client. The API version was bumped to 6. I'll fix ref_vk before pushing
this change to master.
2023-05-14 09:44:23 +02:00
Yamagi fac2313774
Merge pull request #955 from devnexen/fix_windows_hidden
introduces a new cl_unpaused_scvis cvar to unpause the cli.
2023-01-21 15:16:14 +01:00
Yamagi a3d45fef19
Merge pull request #948 from HAMM3REXTREME/patch-1
Seperated mapfixes text from monster footstep text
2023-01-21 15:15:28 +01:00
HAMM3REXTREME b6e5518049
Update 020_installation.md 2023-01-15 01:24:54 -05:00
David Carlier f394209c75 introduces a new cl_unpaused_scvis cvar to unpause the cli. 2023-01-08 10:14:09 +00:00
Yamagi 6c18d819d3
Merge pull request #947 from devnexen/sound_pause_option
Introduces new cvar cl_audiopaused to control if the audio loop
2023-01-08 10:45:55 +01:00
David Carlier 7616880b96 Introduces new cvar cl_audiopaused to control if the audio loop
ought to go on or not when the game pauses.
2023-01-07 20:16:24 +00:00
Denis Pauk 02358e2457 Add joy_haptic_filter description 2023-01-07 21:47:21 +02:00
Denis Pauk 633c50177a Haptic: Fix comments 2023-01-07 21:30:21 +02:00
Denis Pauk 4e36b66654 Add joy_haptic_distance cvar.
Haptic maximum effect distance value, By default this cvar is `100.0`.
Any positive value is valid. E.g. effect of shot near barrel to barrel
has 58 points.
2023-01-07 21:30:21 +02:00
Denis Pauk e1aed62201 Haptic code cleanup 2023-01-07 21:30:21 +02:00
Denis Pauk 66523aa98e Restore haptic feedback functionality.
Rumble feedback will be default.
Checked in both modes with:
* LibSDL2: 2.24.2+dfsg-1 (debian testing)
* Microntek USB Joystick (DragonRise hid-dr.ko)
2023-01-07 21:30:21 +02:00
Yamagi f9bf0e8861 Add some thoughts about security to the multiplayer guide. 2023-01-07 19:31:58 +01:00
HAMM3REXTREME 8d6eec5d7b
Seperated mapfixes text from monster footstep text
Fixed typo too
2022-12-11 15:02:17 -05:00
Yamagi 658b6543ed Add fotosteps.pkz to the filelist. 2022-10-09 11:05:42 +02:00
Yamagi c5e87f5c74 Update the URL for the retexturing pack. 2022-10-09 10:47:23 +02:00
Yamagi f03906e91f Explain were to get the optional monster footsteps assets from. 2022-10-09 10:46:49 +02:00
Yamagi 805ffac105 Give a hint that the GOG music track need a capital T on Unix.
Because Linux and Unix are case sensitive. Second half of #877.
Closes #877.
2022-10-09 10:21:23 +02:00
Yamagi 2780bf41ee Add a warning that addons need their own game.dll.
First half of #877.
2022-10-09 10:19:22 +02:00
Yamagi 294c4d1175
Merge pull request #896 from protocultor/gyro_invert
Options to invert gyro axes
2022-10-08 15:08:14 +02:00
Jaime Moreira 9de55c603d Classic cvar 'in_initjoy' resurrected
Added myself to credits
2022-09-19 11:36:23 -03:00
Denis Pauk 61f4540617 Fix documentation for model preview.
All default players models have 84-94 frames for salute.
So value will be same for `cyborg`/`female`/`male`.
2022-09-18 12:39:50 +03:00
Denis Pauk 3b583a7143 Bumb game version value
New code has exported monster footsteps sounds function.

Fixes typos.
2022-09-18 12:39:50 +03:00
Denis Pauk 93c6c76b0e sound: cleanup reverb code 2022-09-18 12:39:50 +03:00
SkacikPL 66f1bc9a33 Add simple sound occusion based on YQ2 AL EFX code
Can be disabled via s_occlusion 0, strength is modified
via s_occlusion_strength (higher values are actually less occlusion).

Cherrypick of b557494e14
2022-09-18 12:39:50 +03:00
SkacikPL cfb86acc81 game: Implement monster footsteps.
Better tracking of enemies complementing the audio changes.

Cherrypick of 74edb966a2
2022-09-18 12:39:50 +03:00
Yamagi 1053b5dfb1
Merge pull request #871 from 0lvin/new_commands
Add new cheats spawn commands
2022-09-17 17:17:02 +02:00
Yamagi e705b48a8e
Merge pull request #883 from protocultor/thumbsticks_fs
Improved controller thumbsticks precision + Flick Stick
2022-09-17 16:13:57 +02:00
Denis Pauk 5cddd2110c client: add multiplayer model preview animation 2022-09-04 23:40:55 +03:00
Denis Pauk cf110b5ea0 game: Add spawn on start point
It could be used for spawn weapon or opponnent for coop at spawn point.
2022-09-04 23:40:55 +03:00
Denis Pauk 2a8a2f390a game: add spawn entity by coordinates 2022-09-04 23:40:55 +03:00
Jaime Moreira c6dd713c89 Smooth rotation for Flick Stick
Added cvar to change maximum rotation angle that will be smoothed
2022-08-24 19:37:25 -04:00
Jaime Moreira 748909fd96 "Flick Stick" controller layout implementation
With southpaw version added to "sticks layout" menu
Cvar for length of stick to be considered a flick or rotation
Lacks rotation smoothing
2022-08-24 19:02:21 -04:00
Jaime Moreira 0417bc1023 Sloped axial deadzone added
2 cvars to change it, 1 per stick
Provides the "snap-to-axis" feeling of the previous axial deadzone
2022-08-24 17:48:33 -04:00
Jaime Moreira f3fcf3fc24 Joystick handling refactored for precision
Changed 6 cvars for stick layout to 1; includes menu option
Axial deadzone replaced with radial one, 6 cvars to 2
Expo different for each thumbstick (1 cvar to 2); sliders included
Expo applied to full joystick vector magnitude, instead of per axis
Deleted "joystick_up" ("updown" function) and its sensitivity
2022-08-24 12:30:39 -04:00
apartfromtime 243d4193ee Add player models command
Update documentation.
2022-08-19 16:07:12 +10:00
Jaime Moreira 7f689f649c Faster weapon switching with 'cycleweap'
Allows to skip elements on the weapon list by tapping the same bound key
2022-08-01 14:31:26 -04:00
Yamagi c6f6a17176
Merge pull request #849 from protocultor/gyro_aiming
Gyro aiming
2022-06-17 13:07:25 +02:00
David CARLIER a01309235b client download, adding two new cvar to have the ability to set
a threshold to abort the download if a certain transfer rate is too low.
Disabled by default.
2022-06-11 13:41:24 +01:00
Jaime Moreira f12b759feb Gyro aiming configuration cvars
Cvar to choose between "yaw" (0) or "roll" (1) axis of the controller
to turn (change your yaw) in-game.
Cvars to change pitch and yaw gyro sensitivities.
Updated cvar documentation with new section "Game Controller".
2022-06-07 09:34:45 -04:00
Daniel Gibson ae4388abed Doc: Make busywait 0 sound a bit less scary
As far as we know it's mostly a Windows-only problem, where
(especially in power-saving modes) sleeping can be very imprecise.
2022-05-11 17:44:57 +02:00
Daniel Gibson 13d3dd1b33 doc/030_configuration.md: Update (and shorten) tuning guide 2022-05-11 16:20:28 +02:00
Daniel Gibson e3aa1010f9 doc/040_cvarlist.md: improve documentation of cl_async etc
to reflect reality, including the latest changes
2022-05-11 02:02:46 +02:00
Yamagi e294fc94e5
Merge pull request #822 from DanielGibson/gles3-rb
OpenGL ES 3.0 support
2022-05-07 09:45:30 +02:00
Daniel Gibson ef7ba41932 Update documentation for GLES3 and gl3_usefbo 2022-04-27 00:33:46 +02:00
ConHuevosGuey 9c6c2fa749 Update retexturing command in configuration document. 2022-04-25 11:35:23 -05:00
Jaime Moreira db0e643419 Load gamecontrollerdb.txt for SDL2 joy mappings 2022-04-16 01:37:15 -04:00
Yamagi 6e45f5a66b
Merge pull request #810 from protocultor/prefweap
Added prefweap command to select weapon by priority
2022-04-13 11:51:33 +02:00
Jaime Moreira fadb281ec9 Added cvar to define SDL gamepad's 'Back' button 2022-04-06 22:15:14 -04:00
Jaime Moreira f80e5224bb Added prefweap command to select weapon by priority 2022-04-06 15:28:34 -04:00
Denis Pauk c73eac63b3 soft: rename r_colorlight -> sw_colorlight 2022-03-29 22:29:28 +03:00
Daniel Gibson b5a0050e31 Document gl3_colorlight and gl_texturemode 2022-03-26 19:48:33 +01:00
Daniel Gibson 6eb9ca0f65 Add r_lerp_list and r_videos_unfiltered CVars, fix #800
r_lerp_list is to allow exceptions to r_2D_unfiltered (like for having
pixely UI in general, but filtered console background).

r_videos_unfiltered controls whether videos should be filtered or not

I also made r_nolerp_list CVAR_ARCHIVE, like users probably expect it.
2022-03-20 12:16:15 +01:00
Daniel Gibson 1230e2c11c
Update docs for building with Visual Studio 2022-03-12 18:11:53 +01:00
Yamagi 7464cb7ae5 Document the HTTP downloading cvars.
For some reason I never added them to the documentation. Pointed out in
\#793, closes #793.
2022-02-26 17:34:16 +01:00
David Carlier ff3315d5d6 Haiku doc update, little code style fixes. 2022-02-26 08:35:10 +00:00
Markuss Mišķis f7999d74a3
Change the amount of Renderers to 3
Since Vulkan is missing from the list.
2021-11-28 02:12:48 +02:00
Yamagi b0fb26c6aa Document the `gamemode` command. 2021-11-13 12:22:06 +01:00
Denis Pauk 1e0d75857b Use separate r_scale8bittextures for image scale
Rename {sw,gl}_retexturing variables to r_retexturing in code.
2021-10-17 11:11:05 +03:00
Yamagi c41e9413bb Move `g_machinegun_norecoil` to the appropriate section. 2021-09-28 18:40:07 +02:00
De-Seppe b471578c3e Rename variable to conform to naming guidelines
Change the name of the cvar machinegun_norecoil to g_machinegun_norecoil to conform to the naming guidelines
2021-09-27 18:29:37 +02:00
De-Seppe c1e0372366 Add new cvar to the documentation 2021-09-27 13:06:58 +02:00
David Carlier 137d2608c0 installatio doc update proposal, regarding BSD and Solaris
compatible systems.
2021-09-26 13:27:18 +01:00
Yamagi 79c918eefb Clarify the Windows build instructions a little bit. 2021-09-04 17:25:00 +02:00
Yamagi e9be3a8c5a Link the Neural Upscale Texture pak. 2021-09-04 17:19:04 +02:00
Yamagi 1ff3760c76 Refine the `g_footstep` cvar.
There were complains that always generating footsteps is annoying,
because there will be footsteps while swimming or jumping. Refine
the cvar a little bit:

* `0`: No footsteps at all.
* `1`: Vanilla Quake II behavior.
* `2`: Always footsteps as long as the player has a ground entity.
* `3`: Always footsteps.

The changes the meaning of the values, `2` has become `3`.

Closes #738.
2021-08-25 18:34:24 +02:00
Yamagi 5f769e55e2 Remove cmake from the documentation.
Closes #725.
2021-06-29 11:06:19 +02:00
Yamagi 2861874da6 Small corrections to the documentation. 2021-06-03 07:24:42 +02:00
Yamagi 0838faf120 Remove ref_vk from the documentation. 2021-05-28 09:32:42 +02:00
BjossiAlfreds 47c99cc7a3 Documentation for the map fixes 2021-04-11 02:56:40 +00:00
Yamagi ee945625d3 Add a cvar `g_commanderbody_nogod` to make the com. body destructable.
The commanders body entity is special, because it's spawned in god mode.
That's no problem in the baseq2 and addons campaigns. But it may break
some custom maps and prevents some hacks, one example is putting the
entity inside an killbox.

Submitted by Евгений T.
2021-03-31 19:28:20 +02:00
Yamagi 635f6ffb16
Merge pull request #685 from BjossiAlfreds/bad-triggered
Console warning and fix for triggered monsters with no targetname
2021-03-31 10:07:06 +02:00
BjossiAlfreds fe517fd755 Console warning and fix for triggered monsters with no targetname 2021-03-28 17:16:36 +00:00
Ricardo Garcia f601ffddfc Use the real anisotropic filtering value in Vulkan
When creating the Vulkan texture samplers, make them have the real
anisotropic filtering value selected by the user. This has two side
effects:

* We no longer need two sets of texture samplers in Vulkan (one with and
  another one without anisotropic filtering).

* The anisotropic filter value in Vulkan is no longer an on/off switch
  and we use the value as chosen by the user.
2021-03-21 11:08:09 +01:00
Ricardo Garcia 15e9c5499d Remove documentation for nonexisting vk_aniso variable 2021-03-21 00:33:16 +01:00