Commit Graph

213 Commits

Author SHA1 Message Date
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
Yamagi f1b6b82721 Pull the major release card and switch the semantics of `vid_fullscreen`
One of the most common bug reports is, that the fullscreen mode doesn't
behave like users expect. This is caused by `vid_fullscreen 1` setting
desktop fullscreen mode (a fullscreen windows) and not the native
fullscreen mode. This commits switches the semantics:

* 1: Native fullscreen, like Vanilla Quake II.
* 2: Desktop fullscreen.

With this alt-tab reverts to native fullscreen. While at it improve the
documentation, suggest setting `r_mode -2` when using `vid_fullscreen
2`. Change the menu strings to make things clearer, set `r_mode -2` when
selecting 'fullscreen window' in the menu.

I pondered several other options:

* Introducing a second cvar for the desktop fullscreen, like we did in
  dhewm3. This has the problem, that in Quake II vi_fullscreen is
  special and used to communicate changed to the renderer configuration
  between the client and renderer. A second fullscreen cvar would
  complicate this already shaky mechanism even more.
* Setting `r_mode -2` when `vid_fullscreen 2`. This might not be what
  the user wants and causes problems when we're unable to get the
  desktop resolution.
2021-03-10 10:30:21 +01:00
Yamagi ae9a248e9e Add a cvar `g_footsteps` to control the generation of footstep sound.
1: The Vanilla Quake II behaviour, footsteps are generated when the
   player is faster than 255.
0: Footstep sounds are never generated.
2: Footstep sounds are always generated.

Defaults to `1`, cheat protected to `1`.

Closes #666.
2021-03-02 15:08:23 +01:00
Yamagi 9a17eb9ac3 Make limiting power screen sounds to 16 optional.
This was added in e3e5bd1 as a work around for some openal-soft bug.
When too many audio samples got played at the same time, the global
volume dropped. This was fixed in openal-soft 0.19.0, released more
than two years ago. We're keeping the work around, because some
distros may still ship with buggy openal-soft versions and some
players may like the changed behavior. It's disabled by default.
2021-01-30 13:51:02 +01:00
Yamagi 449776d3f6
Merge pull request #654 from 0lvin/ref_vk
Sync variable names for msaa, retexturing and anisotropic filtering
2021-01-22 12:27:18 +01:00
Denis Pauk 46c24d4d18 Sync variable names for msaa, retexturing and anisotropic filtering #646 2021-01-19 21:39:44 +02:00
Hugo Locurcio 08d59ee8e8
Rename `cl_anglekicks` to `cl_kickangles` for consistency with Q2PRO 2021-01-18 04:41:57 +01:00
Yamagi 2fae58d56b Implement `singleplayer` in the dedicated server.
When set to `1`, both `deathmatch` and `coop` are forced to `0`.
`maxclients` is forced to `1`. This makes it possible to play single
player campaigns over the dedicated server.

Closes #614.
2021-01-17 11:07:46 +01:00
Yamagi f01998896f Hide the fix for sky surfaces missused for indoor lighting begind cvar.
All renderers had the fix, but it was only optional in the GL renderers.
And there it was missimplemented, cvars must be defined in the renderers
main() function. Otherwise they aren't available at startup.

Rename gl_fixsurfsky to r_fixsurfsky, implement it for all renderers and
enable it by default.
2021-01-17 10:25:09 +01:00
Yamagi 531cbdcdae Mention the Vulkan renderer on all appropriate places. 2021-01-17 10:05:04 +01:00
Yamagi a9914efde7 Implement `vk_underwater`, make the underwater warp effect optional.
This was requested in #505.
2021-01-13 21:46:15 +01:00
Yamagi 023a012e82 Change the hyperblaster back to yellow for Vanilla Q2 lightning.
In Vanilla Q2 (without any point releases) the hyperblaster projectiles
emitted white light. In the 3.21 sources it's yellow. It likely changed
in on of the (early) point releases. Change it to yellow, the code now
matches 3.21.
2021-01-11 07:34:30 +01:00
Yamagi 462a0ddff5
Merge pull request #636 from rg3/vk_resolution_scaling
Add resolution scaling to Vulkan renderer
2021-01-10 19:02:51 +01:00
Yamagi a98d533ae1 Add `cl_r1q2_lighstyle`, set to `0` for Vanilla Q2 dlight colors.
Since the first release Yamagi Quake II used the more fanzy R1Q2 colors
for some dynamic lights:

* In R1Q2 the rocket has orange light, matching the color of the fire
  trail and the generic explosion. Vanilla Quake II had yellow light,
  the same as the blaster and several muzzle flashs.
* In R1Q2 hyperblaster projectiles are emitting yellow light, like the
  normal blaster. That matches the projectile colors, the muzzle flash
  and the effect when hitting a wall. And it's more logical, since the
  hyperblaster is just a blaster on steroids. Vanilla Quake II had white
  / uncolored lights.

Add an option to revert to Vanilla Quake II colors, leave the R1Q2
colors as default. Closes #640.
2021-01-10 18:30:49 +01:00
Ricardo Garcia 930872b358 Add resolution scaling to Vulkan renderer
This commit adds a new cvar called vk_pixel_size that represents how big
pixels should look in the rendered world in order to simulate lower
screen resolutions. With its default value of 1 everything looks normal,
but with bigger sizes (e.g. 4) the rendered world starts to look
"pixelated" due to pixels appearing bigger.

To implement the effect, the viewport and scissor are modified when
drawing the world so the rendering results cover a smaller area in the
top-left corner of the image.

The post-processing fragment shader is used to scale the image back to
the swapchain size before drawing UI elements on top of it.

The UI is not affected by this change, so the existing UI scaling
options continue to work as before with no changes, adding some
flexibility to the mix.

Related to feature request #588.
2020-12-24 10:14:39 +01:00
Denis Pauk b7bdd0be72 Add vk_nolerp_list support 2020-12-12 14:45:04 +01:00
Denis Pauk 539fea96bb add vk_retexturing force flag 2020-12-12 14:45:04 +01:00
Denis Pauk 8e5f68bb68 Remove vk_round_down as regressed visual quality 2020-12-12 14:45:04 +01:00
Denis Pauk 832d9666d4 Merge vk_point_particles with vk_particle_square to vk_custom_particles 2020-12-12 14:45:04 +01:00
Denis Pauk a69c97f046 Add vk_particle_square support 2020-12-12 14:45:04 +01:00
Denis Pauk 2add32b5a8 Add documentation 2020-12-12 14:45:04 +01:00
Denis Pauk db20a6ce18 Add ioquake3 vstr/nextdemo support 2020-10-06 23:38:12 +03:00
Daniel Gibson 1d42dbc541 doc/090_filelists.md: Fix GOG music filelist
for GOG it's TrackXY.ogg, not just XY.ogg
2020-08-20 16:01:54 +02:00
Yamagi 0fdc3750e0
Merge pull request #589 from JoBergeron/listmap-cmd
added listmaps command
2020-08-20 07:19:27 +02:00
JBerg ffe9997735 Documented the new listmaps console command 2020-08-19 21:14:53 -04:00
Yamagi 1f3f796322 Add `cl_anglekick`, when set to 0 angle kicks are ignored.
Angle kicks are used for weapon recoil, damage kicks and the like.
Setting the `cl_anglekicks` to `0` ignored them, they're read from
the network but not displayed. The cvar is cheat protected, it's
reset to `1` on server connect.

Rquested by Martin via mail.
2020-08-17 14:18:51 +02:00
Daniel Gibson fd0c058b2e Implemented `coop_elevator_delay` cvar (for func_plat)
In coop it's often hard to get on the same elevator together, because
they're immediately triggered once the first player steps on it.
This cvar sets a delay (1 second by default) for the elevator to wait
before moving, so other players have some time to get on it.
If you like elevators/platforms that suck, just set it to `0` :-P

Currently only used in func_plat, if it turns out that other entities
are used for automatically triggered platforms, we'll have to adapt
those as well (I guess wait_and_change() is generally useful for that).

We're not bumping the savegame version because they should only break in
an uncommon corner case: *Coop* savegames created with clients including
this change will not work on older clients - SP savegames are not
affected and old savegames on new clients also still work.
2020-08-10 14:27:35 +02:00
Yamagi 1a6dea5a0b Add `coop_pickup_weapons`, allow a weapon to be taken several times.
In coop a weapon can be picked up only once. That's annoying, because in
coop ammunition is sparse and not getting the ammunition that comes with
a weapons make things worse. When `coop_pickup_weapons` is set to `1` a
weapon may be picked up if:

1) The player doesn't have the weapon in their inventory.
2) No other player has already picked it up.
2020-08-10 13:52:33 +02:00
Yamagi 5455ffa96f `s_doppler` should default to `0`.
The doppler effect is a game play change. And it's rather badly
implemented. Discussed in yquake2/xatrix#51.

Closes yquake2/xatrix#51.
2020-04-21 13:58:58 +02:00
Yamagi beadebbdec Document `aimfix`. 2020-04-21 13:00:00 +02:00
BjossiAlfreds 975298b3f2 Added doc entry for g_disruptor cvar in GroundZero 2020-04-21 00:28:51 +00:00
Yamagi 19214d6049 Implement adaptive vsync.
Adaptive vsync is a often requested feauture and easy to implement. Set
`r_vsync` to `2` to enable. This is untested because my system doesn't
support it.
2020-04-20 12:31:25 +02:00
Yamagi fc99e5456f Make the gun fov optional.
Set r_gunfov to force the gun fov to be the same as the global fov.
While here finally commit somes missed parts of 50d442c.
2020-04-20 11:57:27 +02:00
Con Huevos Guey df54d89fae
Document aynsc configuration correction.
Document stated setting 'async 1' disabled asynchronization.  This has been corrected.
2020-03-18 06:42:35 -05:00
Yamagi 8114748018 Document gl1_particle_square. 2020-01-12 11:05:15 +01:00
Yamagi fbf103b9c5 Update URL to the Windows build envs. 2019-11-17 12:42:13 +01:00
BjossiAlfreds 2b27665446 coop_baseq2 documentation added under General section in cvar docs 2019-11-04 16:40:44 +00:00
BjossiAlfreds c7b412e768 Added some text to cycleweap doc and added name to credits 2019-10-12 23:51:56 +00:00
Yamagi b24a75ec32 Document how map rotations are configured.
This closes #457.
2019-10-12 16:45:55 +02:00
Yamagi d4a914644c Document the commands added by YQ2. 2019-10-12 16:39:42 +02:00
Yamagi e3c3875bda Explain how option strings with quotation marks are given at cmd-line.
This is part of #457.
2019-10-12 16:25:19 +02:00
Yamagi 08a905b6b2 Update the document index to match our new filenames. 2019-10-12 16:24:56 +02:00
Yamagi e77a8efa77 Reorder documentation files and make room for future additions. 2019-10-12 16:17:18 +02:00
Yamagi Burmeister fc5c2788a1 Put the client into pause mode when loading save games.
This prevenits the worlds from advancing during client connect. The
player won't get attacked by monsters or hurt by the environment. Note
that in baseq2 there're still 4 world frames processed by the game and
100 world frames if the player enters a level that he or she already
visited. Both aren't a big problem, 4 world frames are hardly enough
for monsters starting to attack and in most levels the starting area
can't be reached by monsters and is free from environmental effects.

Pause mode is only entered for local servers and only in single player
mode. This should prevent problems with coop and deathmatch games.

The behaviour can be controlled by `cl_loadpaused`:
* `0`: Do not enter pause mode, Vanilla Quake I behaviour.
* `1`: Enter pause mode at load and leave it at first regular server
       frame.
* `2`: Enter pause mode at load, never leave it. The player must leave
       it by hand.

This was requested in issue #417.
2019-09-03 08:42:05 +02:00
Yamagi Burmeister 81a36bb3ad Add 'dec' and 'inc' operations.
'dec' decrements and 'inc' increments a given cvar either by 1 or a
given value.

The code was taken from q2pro.

This closes issue #414.
2019-09-02 17:57:02 +02:00
Yamagi Burmeister d1981e7edf Add 'toggle' cvar operation.
The 'toggle' operation allows toggling a cvar between `0` and `1` or two
custom values.

This code was taken from q2pro.

This is part of issue #414.
2019-09-02 17:29:00 +02:00
Yamagi Burmeister 66ca44e040 Add new cvar operation 'reset' and 'resetall'.
cvar operations are special commands that allow the programmatic
manipulation of cvar values. 'reset' resets a given cvar to it's
default value, e.g. `reset r_mode' would reset `r_mode` to `4`.
'resetall' resets all known cvar with the exception of `game`.

The code is based upon q2pro.

This is part of issue #414.
2019-09-02 17:28:41 +02:00
Lou Rinaldi 9a68f1f52e
Update 03_configuration.md
typo fix
2019-08-21 09:40:21 -04:00
Yamagi Burmeister 44e8088f7d Document gl_fixsurfsky. 2019-05-04 17:35:19 +02:00
Yamagi Burmeister f240799e6d Some clarifications and annotations to the file lists. 2019-04-08 13:56:19 +02:00
Yamagi Burmeister 5386e73af9 Add file listsings.
"What file goes were?" is an often asked question, so give a listing of
the complete kit. While at it provide checksums for the paks.
2019-04-03 21:17:13 +02:00
Yamagi Burmeister 9df2311df0 Bring the multiplayer docs inline with other docs.
* Break at 72 chars.
* It's Quake II and not quake2
* It's HTTP and not http
* Don't use german placeholders
2019-04-03 21:08:07 +02:00
Yamagi Burmeister 4f20ac97d1 Some clarifications, typo and grammar fixes to the documentation.
Make some things clearer and fix some small miss informations, overhaul
the timing guide. While at it fix typos and grammar mistakes.
2019-04-03 11:33:20 +02:00
Daniel Gibson f0d848d3d3 Documentation for HTTP downloading 2019-01-03 16:54:22 -01:00
Hugo Locurcio 2bf45a4750 Fix some typos in documentation 2018-11-10 18:16:30 +01:00
Yamagi Burmeister 4c63f7893c Update links. 2018-11-07 16:43:54 +01:00
Yamagi Burmeister 3b71e8d309 Transform the CONTRIBUTE file into a Contributing Guide 2018-11-07 16:38:41 +01:00
Yamagi Burmeister be7d532b06 Add an index page to the new documentation. 2018-11-07 16:38:41 +01:00
Yamagi Burmeister 22ade5dc7f Add a "configuration guide", explaining the most common options. 2018-11-07 16:38:41 +01:00
Yamagi Burmeister 544787a6b3 Update the packaging guide to be generic.
The packaging guide contained a lot if informations for the 6.x -> 7.x
migration. Since 7.x has long been done remove that instructions and
clarify the generic ones.
2018-11-07 16:38:41 +01:00
Yamagi Burmeister 9f65dcb679 Move the packaging guide into our new doc/ directory. 2018-11-07 16:38:41 +01:00
Yamagi Burmeister edd3b1da8a Update the cvarlist to match reality. 2018-11-07 16:38:41 +01:00
Yamagi Burmeister 1a6c1f5227 Move the cvar list into the new doc/ directory. 2018-11-07 16:38:41 +01:00
Yamagi Burmeister ba4d17b300 Add our new installation guide.
It's heavly based on the old README.md, but reworked and clarified.
2018-11-07 16:38:41 +01:00