1393 Commits

Author SHA1 Message Date
David Carlier
d51217e5e1 dragonflybsd identification. 2022-02-12 16:23:23 +00:00
Thor Hanson
8b18025a9c Add variation in SMG ejecting brass velocity
Without this commit, the SMG's ejecting brass tends to fall unnaturally:
If the gun hasn't moved, each casing falls in the exact same trajectory
and in the exact same location.

This commit adds a small amount of random variation to each casing's
veloctiy, which looks more natural.
2022-01-09 13:55:29 -06:00
yvt
f532e85e18
Merge pull request #989 from yvt/fix-uncrouching
Fix getting stuck when uncrouching
2021-12-15 22:05:43 +09:00
yvt
c0414e9906 feat(client): remove the finite-difference velocity estimation
This velocity estimation routine has been present since the beginning of
time, but it seems that this actually does more harm than good.

Neither the vanilla client nor BetterSpades implements velocity
estimation.
2021-12-15 21:54:38 +09:00
yvt
5fa2173465
Merge pull request #960 from yvt/feat-your-tracer
Implement first-person bullet tracers
2021-12-09 21:16:52 +09:00
yvt
d31dc21048 fix(client): handle all cases correctly when uncrouching
When a player releases the "crouch" key, `Player::TryUncrouch` is
responsible for checking if uncrouching is possible and adjusting the
local player position accordingly so that the legs won't be embedded in
a ground thereafter. There are two cases in which uncrouching succeeds.
Case 1: The player is airborne, and there's room under the legs. Case 2:
There's room over the head.

The old code did not rely on `Player::TryUncrouch` for player position
readjustment. Instead, `Player::SetInput` was actually responsible for
this. Unfortunately, it did not distinguish the cases correctly. It did
check correctly whether uncrouching is possible. However, to determine
which of Case 1 and Case 2 is applicable, it only checked the player's
airborne-ness, therefore it incorrectly selected Case 1 if the player is
airborne but there's no room under the legs. This incorrect
implementation resulted in annoying bugs where a player gets stuck in a
ground if the player uncrouches just above it.
2021-12-08 20:19:46 +09:00
Rakete175
7cf405cf40 NetClient.cpp: Actually send Enhanced version packet
Currently OpenSpades doesnt send the extended version info which contains
some useful info to the server even when being told that it wants it.

This commit adds sending of the packet so servers will receive such info when
they ask for it.
2021-11-14 23:11:06 +01:00
yvt
fdba89bc14 doc(core): VoxelModel::GetOrigin is a misnomer 2021-08-15 00:54:09 +09:00
yvt
9e0403430e fix(draw): use the correct materials for models materialized by CreateModel 2021-08-15 00:54:06 +09:00
yvt
a9333424ba
Merge pull request #964 from Haxk20/patch-1
Disable recoil if not local player
2021-08-14 14:44:18 +09:00
yvt
23a74265c5
Merge pull request #969 from Haxk20/enet
Sources/ENet: Update ENet to latest version
2021-08-14 14:43:58 +09:00
yvt
ee1f8a4772 fix(client): relax the lower bound of the denominator used in numerical differentiation for velocity estimation
Improves the smoothness of non-local player movement in a server that
sends ten WorldUpdate packages for each second (i.e., 10 updates per
second).

I wouldn't dare to relax the bound further since this technique is
extremely susceptible to jitter. The server sending WorldUpdate packets
with `PACKET_FLAG_UNSEQUENCED` isn't exactly helping since that
introduces discontinuity into the received position stream, and the
denominator lower bound is the only thing that keeps the estimation from
exploding. (The packets should really be unreliable + sequenced.)
2021-08-11 23:43:36 +09:00
Haxk20
0ddf702c3b Sources/ENet: Update ENet to latest version
This commit updates the enet version from 2013 !!! to the latest commit (74cea7abf52ddd355146aeb0a4077d2b95368122)

Since 2013 there have been MANY improvements to the library
and we should absolutely use them since it can improve the gameplay.
2021-07-26 16:44:19 +02:00
yvt
4f5c2427d8 fix(client): std::deque::deque(size_t n) sets the length to n, not the capacity
Fixes #918.
2021-07-22 17:48:30 +09:00
Haxk20
b15894bd64 Player.cpp: Disable recoil if not local player
This commit completely disables any sign of recoil if
the packet is coming from a player that is not local
player.

We want to apply recoil to local player weapon
but we do not want to apply it to others as
we just want to display what was given to us
(Their client already adds recoil. If not they
are cheating)
2021-07-11 01:23:01 +02:00
yvt
f2f56ff4fa feat(draw): reduce the temporal AA's effect near the fog distance 2021-07-03 11:27:47 +09:00
yvt
f9da7da1b0 feat(client): make tracers less conspicuous 2021-06-20 16:15:18 +09:00
yvt
536c8687b1 feat(client): scale tracers in proportion to their distances to the camera 2021-06-20 16:15:18 +09:00
yvt
ce1c7cfc19 feat(client): display bullet tracers fired by the local player 2021-06-20 16:15:18 +09:00
yvt
c51f1453cc feat(client): spawn bullet tracers at the current weapon skin's muzzle position 2021-06-20 16:15:17 +09:00
yvt
c1b5781752 feat(client): support specifying the muzzle and case ejection positions in the weapon skins 2021-06-20 16:15:17 +09:00
yvt
3b5d7ecf33 feat(client): randomize the starting position of a bullet tracer 2021-06-20 16:15:16 +09:00
yvt
70feb0870b feat(client): revamp the flashlight 2021-06-20 16:13:02 +09:00
yvt
3bda029e34 feat(client): remove the lens flare effect of the flashlight
It had caused severe banding when HDR is enabled.
2021-06-20 16:13:02 +09:00
yvt
14de74ac1f perf(client): use the VP-screen matrix to calculate the result of Client::Project 2021-06-20 16:11:47 +09:00
yvt
9a758f27f7 refactor(client): add SceneDefinition::{ToOpenGLProjectionMatrix, ToViewMatrix} 2021-06-20 16:11:45 +09:00
yvt
8ac141daf4 feat(draw): support linear lights 2021-06-20 16:11:39 +09:00
yvt
a35dab4e61 fix(core): handle the cases where start is inside correctly in OBB3::RayCast 2021-06-20 16:11:29 +09:00
yvt
690520040e feat(core): implement Line3::{Project, GetDistanceTo} 2021-06-20 16:11:26 +09:00
yvt
a70ed62a63 fix(core): OBB3::RayCast now uses a consistent origin for hitPos for all cases 2021-06-20 16:11:24 +09:00
Pablo-Dallegri
b6e0153e62 Rename new cvar 2021-05-07 11:52:16 -03:00
Pablo-Dallegri
4fd3329c1d Revert cg_alerts renaming 2021-05-07 11:46:14 -03:00
Pablo-Dallegri
3349ac54ab Add alerts volume slider 2021-05-07 11:00:17 -03:00
Pablo-Dallegri
b9001dfb55 Rename cg_alerts to cg_alerts_show 2021-05-07 10:29:49 -03:00
Pablo-Dallegri
bb751ebebb Use unit inteval 2021-05-05 07:32:23 -03:00
Pablo Dallegri
e59acb67ab Change chat beep from toggle to slider 2021-05-05 04:12:08 -03:00
yvt
18f8b77c4a feat(gui): indicate the usage of a pre-release version in the startup window 2021-05-03 00:38:12 +09:00
yvt
52d579cf16 Merge branch 'master' into feat-vfog2 2021-05-03 00:04:52 +09:00
yvt
b1022213f3 Merge branch 'master' into patch-modernize 2021-05-02 23:39:03 +09:00
yvt
28a283cc82 Merge branch 'master' into feat-vfog2 2021-04-10 21:39:52 +09:00
yvt
e4e38d85c0 fix(core): remove the exception specification of IStream::~IStream
The exception specification isn't really useful.

Fixes build failure on Windows + MSVC.
2021-04-10 12:09:01 +09:00
yvt
12364d4151 feat(draw): add r_scaleFilter
- 0: Nearest neighbor
 - 1: Bi-linear
 - 2: Bi-cubic
2021-04-10 00:12:18 +09:00
yvt
5e9835c0fa fix(draw): do not blit depth bits from a framebuffer lacking a depth attachment
Fixes the visual corruption of the level 3 water rendering after
live-editing `r_scale` cvar.
2021-04-09 23:11:35 +09:00
yvt
6ccd397681 Fix an issue causing the first frame to be corrupted 2021-04-09 20:49:39 +09:00
yvt
a27caab565 3D render scaling (r_scale) 2021-04-09 20:14:10 +09:00
yvt
d2b9a2defc feat(draw): use jittered sampling
Dithered sampling turned out to be insufficient to remove banding.
2021-04-09 19:45:10 +09:00
yvt
43c857b201 refactor(draw): store a long-lived instance of GLFogFilter2 in GLRenderer::fogFilter2 2021-03-04 01:20:49 +09:00
yvt
d2daa7537c Merge branch 'master' into feat-vfog2 2021-02-10 01:23:03 +09:00
yvt
b6f70c3619 perf(draw): lower the AO sample count and ray distance
This doesn't severely affect the output quality thanks to the denoising
pass.
2021-02-10 01:21:06 +09:00
yvt
95c73193d1 feat(draw): alleviate the AO blurring artifact on chunk boundaries 2021-02-10 00:55:07 +09:00