From ffc68d32c4261e534c66f23acbd03b5e463efa55 Mon Sep 17 00:00:00 2001 From: Marco Cawthorne Date: Sat, 9 Jul 2022 17:29:07 -0700 Subject: [PATCH] Server: Add jumping sound to the players --- src/server/server.qc | 2 + src/shared/include.src | 2 +- src/shared/player.qc | 2 + src/shared/pmove.qc | 51 ++++++++++++++++++++++++++ zpak001.pk3dir/sound/player_tfc.sndshd | 5 +++ 5 files changed, 61 insertions(+), 1 deletion(-) create mode 100644 src/shared/pmove.qc diff --git a/src/server/server.qc b/src/server/server.qc index ed1dfb0..35d8b61 100644 --- a/src/server/server.qc +++ b/src/server/server.qc @@ -28,6 +28,8 @@ Game_Worldspawn(void) Sound_Precache("player.fall"); Sound_Precache("player.lightfall"); Sound_Precache("player_tfc.death"); + Sound_Precache("player_tfc.jump"); + precache_model("models/player.mdl"); precache_model("models/w_weaponbox.mdl"); Weapons_Init(); diff --git a/src/shared/include.src b/src/shared/include.src index 32358ad..f04fa1e 100644 --- a/src/shared/include.src +++ b/src/shared/include.src @@ -9,7 +9,7 @@ player.qc ../../../base/src/shared/weapon_common.h ../../../valve/src/shared/animations.h ../../../valve/src/shared/animations.qc -../../../valve/src/shared/pmove.qc +pmove.qc ../../../valve/src/shared/pmove_water.qc ../../../valve/src/shared/fx_blood.qc diff --git a/src/shared/player.qc b/src/shared/player.qc index 3711a8a..d8e1424 100644 --- a/src/shared/player.qc +++ b/src/shared/player.qc @@ -70,6 +70,8 @@ class player:NSClientPlayer /* ammo 3 */ PREDICTED_INT(mode_tempstate); + virtual void(void) Physics_Jump; + #ifdef CLIENT virtual void(void) draw; virtual float() predraw; diff --git a/src/shared/pmove.qc b/src/shared/pmove.qc new file mode 100644 index 0000000..00e8b7b --- /dev/null +++ b/src/shared/pmove.qc @@ -0,0 +1,51 @@ +/* + * Copyright (c) 2016-2020 Marco Cawthorne + * + * Permission to use, copy, modify, and distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES + * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR + * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES + * WHATSOEVER RESULTING FROM LOSS OF MIND, USE, DATA OR PROFITS, WHETHER + * IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING + * OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + */ + +#define PMOVE_AIRSTEPHEIGHT 0 +#define PMOVE_STEPHEIGHT 18 +#define PMOVE_FRICTION 4 +#define PMOVE_EDGEFRICTION 1 +#define PMOVE_STOPSPEED 100 +#define PMOVE_GRAVITY 800 +#define PMOVE_AIRACCELERATE 10 +#define PMOVE_WATERACCELERATE 10 +#define PMOVE_ACCELERATE 10 +#define PMOVE_MAXSPEED 320 +#define PMOVE_STEP_WALKSPEED 135 +#define PMOVE_STEP_RUNSPEED 220 +#define PHY_VIEWPOS [0,0,28] +#define PHY_VIEWPOS_CROUCHED [0,0,12] + +void +player::Physics_Jump(void) +{ + if (waterlevel >= 2) { + if (watertype == CONTENT_WATER) { + velocity[2] = 100; + } else if (watertype == CONTENT_SLIME) { + velocity[2] = 80; + } else { + velocity[2] = 50; + } + } else { + if (flags & FL_ONGROUND) { +#ifdef SERVER + Sound_Play(this, CHAN_VOICE, "player_tfc.jump"); +#endif + velocity[2] += 265; + } + } +} diff --git a/zpak001.pk3dir/sound/player_tfc.sndshd b/zpak001.pk3dir/sound/player_tfc.sndshd index fb76961..12d1cde 100644 --- a/zpak001.pk3dir/sound/player_tfc.sndshd +++ b/zpak001.pk3dir/sound/player_tfc.sndshd @@ -6,3 +6,8 @@ player_tfc.death sample player/death4.wav sample player/death5.wav } + +player_tfc.jump +{ + sample player/plyrjmp8.wav +}