From f14bd46aef2fa11f5f2eb58328cdfdba5531f6c0 Mon Sep 17 00:00:00 2001 From: Marco Cawthorne Date: Mon, 8 Jan 2024 15:27:21 -0800 Subject: [PATCH] Client: Update bobbing cvar defaults Gamerules: Use setorigin_safe() on player spawns, as spawn points appear to be in the ground? Weapons: update various weapons and their skill/damage values --- src/client/hud.qc | 6 ----- src/client/viewmodel.qc | 6 ++--- src/server/gamerules_multiplayer.qc | 2 ++ src/server/gamerules_singleplayer.qc | 1 + src/server/progs.src | 7 +++--- src/shared/include.src | 37 ++++++++++++++-------------- src/shared/w_357.qc | 2 +- src/shared/w_ar2.qc | 5 ++++ src/shared/w_crossbow.qc | 2 +- src/shared/w_crowbar.qc | 2 +- src/shared/w_gravitygun.qc | 7 +++--- src/shared/w_pistol.qc | 27 +++++++++++++++++++- src/shared/w_rpg.qc | 3 +-- src/shared/w_shotgun.qc | 1 + src/shared/w_smg1.qc | 5 ++-- zpak001.pk3dir/def/weapons/frag.def | 7 +----- zpak001.pk3dir/def/weapons/rpg.def | 5 ++-- zpak001.pk3dir/def/weapons/slam.def | 2 +- zpak001.pk3dir/default.cfg | 11 ++++++--- 19 files changed, 82 insertions(+), 56 deletions(-) diff --git a/src/client/hud.qc b/src/client/hud.qc index ec35d41..df78bf0 100644 --- a/src/client/hud.qc +++ b/src/client/hud.qc @@ -577,12 +577,6 @@ HUD_Draw(void) Damage_Draw(); } -string g_specmodes[] = { - "Free Camera", - "Third Person", - "First Person" -}; - /* specatator main entry */ void HUD_DrawSpectator(void) diff --git a/src/client/viewmodel.qc b/src/client/viewmodel.qc index 3aaedfd..206a6a6 100644 --- a/src/client/viewmodel.qc +++ b/src/client/viewmodel.qc @@ -20,12 +20,12 @@ like viewmodel bob that people may like */ -var float autocvar_v_bob = 0.005; -var float autocvar_v_bobcycle = 0.6; +var float autocvar_v_bob = 0.01; +var float autocvar_v_bobcycle = 0.8; var float autocvar_v_bobup = 0.5; var float autocvar_v_bob2 = 0.005; -var float autocvar_v_bob2cycle = 1.4; +var float autocvar_v_bob2cycle = 1.6; var float autocvar_v_bob2up = 0.5; struct diff --git a/src/server/gamerules_multiplayer.qc b/src/server/gamerules_multiplayer.qc index 7be8943..284335b 100644 --- a/src/server/gamerules_multiplayer.qc +++ b/src/server/gamerules_multiplayer.qc @@ -225,6 +225,8 @@ HLMultiplayerRules::PlayerSpawn(NSClientPlayer pp) spot = Spawn_SelectRandom("info_player_deathmatch"); pl.Transport(spot.origin, spot.angles); + setorigin_safe(pl, pl.origin + [0,0,1]); + Weapons_RefreshAmmo(pl); Client_FixAngle(pl, pl.angles); } diff --git a/src/server/gamerules_singleplayer.qc b/src/server/gamerules_singleplayer.qc index b7c820a..fe6bff8 100644 --- a/src/server/gamerules_singleplayer.qc +++ b/src/server/gamerules_singleplayer.qc @@ -96,6 +96,7 @@ HLSingleplayerRules::PlayerSpawn(NSClientPlayer pl) spawnPoint = find(world, ::classname, "info_player_start"); pl.Transport(spawnPoint.origin, spawnPoint.angles); } + setorigin_safe(pl, pl.origin + [0,0,1]); Weapons_RefreshAmmo(pl); Client_FixAngle(pl, pl.angles); diff --git a/src/server/progs.src b/src/server/progs.src index c3ecd5f..0fdd67c 100644 --- a/src/server/progs.src +++ b/src/server/progs.src @@ -23,10 +23,9 @@ defs.h ../../../valve/src/server/player.qc ../../../valve/src/server/items.qc -../../../valve/src/server/item_longjump.qc -../../../valve/src/server/item_suit.qc -../../../valve/src/server/item_healthkit.qc -../../../valve/src/server/item_battery.qc +item_suit.qc +item_healthkit.qc +item_battery.qc ../../../valve/src/server/world_items.qc ../../../valve/src/server/xen_spore_small.qc ../../../valve/src/server/xen_spore_medium.qc diff --git a/src/shared/include.src b/src/shared/include.src index 09eab20..ad22a4d 100644 --- a/src/shared/include.src +++ b/src/shared/include.src @@ -2,32 +2,33 @@ ../../../valve/src/shared/entities.h ../../../valve/src/shared/events.h ../../../valve/src/shared/flags.h -player.qc +../../../hl2/src/shared/player.qc ../../../valve/src/shared/weapon_common.h ../../../valve/src/shared/animations.h ../../../valve/src/shared/animations.qc -../../../valve/src/shared/pmove.qc +../../../hl2/src/shared/pmove.qc ../../../valve/src/shared/fx_blood.qc ../../../valve/src/shared/fx_gaussbeam.qc ../../../valve/src/shared/fx_corpse.qc -items.h -weapons.h +../../../hl2/src/shared/items.h +../../../hl2/src/shared/weapons.h -w_357.qc -w_ar2.qc -w_bugbait.qc -w_crossbow.qc -w_crowbar.qc -w_frag.qc -w_gravitygun.qc -w_pistol.qc -w_rpg.qc -w_shotgun.qc -w_smg1.qc -w_stunstick.qc -w_slam.qc -weapons.qc +../../../hl2/src/shared/w_357.qc +../../../hl2/src/shared/w_ar2.qc +../../../hl2/src/shared/w_bugbait.qc +../../../hl2/src/shared/w_crossbow.qc +../../../hl2/src/shared/w_crowbar.qc +../../../hl2/src/shared/w_frag.qc +../../../hl2/src/shared/w_gravitygun.qc +../../../hl2/src/shared/w_pistol.qc +../../../hl2/src/shared/w_rpg.qc +../../../hl2/src/shared/w_shotgun.qc +../../../hl2/src/shared/w_smg1.qc +../../../hl2/src/shared/w_stunstick.qc +../../../hl2/src/shared/w_slam.qc +../../../hl2/src/shared/weapons.qc +../../../hl2/src/shared/prop_vehicle_jeep.qc ../../../valve/src/shared/weapon_common.qc #endlist diff --git a/src/shared/w_357.qc b/src/shared/w_357.qc index 5d7a68a..bcbe17d 100644 --- a/src/shared/w_357.qc +++ b/src/shared/w_357.qc @@ -128,7 +128,7 @@ w_357_primary(player pl) #ifdef CLIENT View_SetMuzzleflash(MUZZLE_SMALL); #else - TraceAttack_FireBullets(1, pl.origin + pl.view_ofs, Skill_GetValue("plr_357_bullet", 40), [0.008, 0.008], WEAPON_357); + TraceAttack_FireBullets(1, pl.origin + pl.view_ofs, Skill_GetValue("plr_dmg_357", 40), [0.008, 0.008], WEAPON_357); Sound_Play(pl, CHAN_WEAPON, "Weapon_357.Single"); #endif diff --git a/src/shared/w_ar2.qc b/src/shared/w_ar2.qc index 7802e40..4da1859 100644 --- a/src/shared/w_ar2.qc +++ b/src/shared/w_ar2.qc @@ -128,9 +128,12 @@ w_ar2_primary(player pl) //return; } + Weapons_ViewPunchAngle(pl, [-3,0,0]); + #ifdef SERVER w_ar2_shoothornet(pl); Sound_Play(pl, CHAN_WEAPON, "Weapon_AR2.Single"); + TraceAttack_FireBullets(1, Weapons_GetCameraPos(pl), Skill_GetValue("plr_dmg_ar2", 8), [0.025,0.025], WEAPON_AR2); #endif // pl.ammo_hornet--; @@ -159,6 +162,8 @@ w_ar2_secondary(player pl) return; } + Weapons_ViewPunchAngle(pl, [-3,0,0]); + #ifdef SERVER // w_ar2_shoothornet(pl); Sound_Play(pl, CHAN_WEAPON, "Weapon_AR2.Double"); diff --git a/src/shared/w_crossbow.qc b/src/shared/w_crossbow.qc index 6614fd5..2db1d9a 100644 --- a/src/shared/w_crossbow.qc +++ b/src/shared/w_crossbow.qc @@ -136,7 +136,7 @@ w_crossbow_primary(player pl) traceline(src, dest, MOVE_LAGGED, pl); if (trace_ent.takedamage == DAMAGE_YES) - Damage_Apply(trace_ent, pl, Skill_GetValue("plr_xbow_bolt_monster", 50), WEAPON_CROSSBOW, DMG_BLUNT); + Damage_Apply(trace_ent, pl, Skill_GetValue("plr_dmg_crossbow", 50), WEAPON_CROSSBOW, DMG_BLUNT); if (other.iBleeds == FALSE) pointparticles(particleeffectnum("platform.spark"), self.origin, trace_plane_normal, 1); diff --git a/src/shared/w_crowbar.qc b/src/shared/w_crowbar.qc index b14ea7c..9023207 100644 --- a/src/shared/w_crowbar.qc +++ b/src/shared/w_crowbar.qc @@ -137,7 +137,7 @@ w_crowbar_primary(player pl) } if (trace_ent.takedamage) { - Damage_Apply(trace_ent, pl, Skill_GetValue("plr_crowbar", 10), WEAPON_CROWBAR, DMG_BLUNT); + Damage_Apply(trace_ent, pl, Skill_GetValue("plr_dmg_crowbar", 10), WEAPON_CROWBAR, DMG_BLUNT); if (trace_ent.iBleeds) { Sound_Play(pl, CHAN_WEAPON, "Weapon_Crowbar.Melee_Hit"); } diff --git a/src/shared/w_gravitygun.qc b/src/shared/w_gravitygun.qc index 9700840..db68398 100644 --- a/src/shared/w_gravitygun.qc +++ b/src/shared/w_gravitygun.qc @@ -74,7 +74,7 @@ void w_gravitygun_draw(player pl) Weapons_SetModel("models/weapons/v_physcannon.mdl"); Weapons_ViewAnimation(pl, GRAVGUN_DRAW); - pl.w_idle_next = 0.95f; + pl.w_idle_next = 0.28f; } void w_gravitygun_holster(player pl) @@ -105,7 +105,6 @@ void w_gravitygun_primary(player pl) if (trace_ent.isPhysics) { NSPhysicsEntity physEnt = (NSPhysicsEntity)trace_ent; - physEnt.PhysicsEnable(); physEnt.ApplyForceCenter(v_forward * 15000); physEnt.ApplyForceOffset(v_forward * 600, trace_endpos); @@ -122,6 +121,7 @@ void w_gravitygun_primary(player pl) } } + void w_gravitygun_secondary(player pl) { if (pl.w_attack_next > 0.0f) { @@ -140,11 +140,10 @@ void w_gravitygun_secondary(player pl) if (trace_ent.isPhysics) { vector pullDirection; NSPhysicsEntity physEnt = (NSPhysicsEntity)trace_ent; - physEnt.PhysicsEnable(); pullDirection = normalize(srcOrg - physEnt.WorldSpaceCenter()); //pullDirection *= (physEnt.mass + 0.5) * (1/50.0f); - physEnt.ApplyForceCenter(pullDirection * 50.0); + physEnt.ApplyForceCenter(pullDirection * 500.0f); //physEnt.velocity = v_forward * -100.0f; physEnt.nextthink = time; } diff --git a/src/shared/w_pistol.qc b/src/shared/w_pistol.qc index 68ac351..51e46a3 100644 --- a/src/shared/w_pistol.qc +++ b/src/shared/w_pistol.qc @@ -154,6 +154,9 @@ w_pistol_isempty(player pl) return 0; } +.entity first_ent; +.vector first_pos; + void w_pistol_primary(player pl) { @@ -178,7 +181,29 @@ w_pistol_primary(player pl) View_SetMuzzleflash(MUZZLE_SMALL); View_AddEvent(w_pistol_ejectshell, 0.0f); #else - TraceAttack_FireBullets(1, pl.origin + pl.view_ofs, Skill_GetValue("plr_9mm_bullet", 8), [0.01,0.01], WEAPON_PISTOL); + + #if 0 + TraceAttack_FireBullets(1, pl.origin + pl.view_ofs, Skill_GetValue("plr_dmg_buckshot", 5), [0.01,0.01], WEAPON_PISTOL); + #else + makevectors(pl.v_angle); + traceline(pl.GetEyePos(), pl.GetEyePos() + v_forward * 1024, MOVE_NORMAL, pl); + + if (1) { + + print("Weld ingggg\n"); + if (!pl.first_ent) { + pl.first_ent = trace_ent; + pl.first_pos = trace_endpos; + print("Weld 1\n"); + } else { + NSPhysicsConstraint::Weld(pl.first_ent, trace_ent, 0,0,0,0,0); + pl.first_ent = 0; + pl.first_pos = g_vec_null; + print("Weld done\n"); + } + } + + #endif Sound_Play(pl, CHAN_WEAPON, "Weapon_Pistol.Single"); #endif diff --git a/src/shared/w_rpg.qc b/src/shared/w_rpg.qc index 8ac7751..7fba3d6 100644 --- a/src/shared/w_rpg.qc +++ b/src/shared/w_rpg.qc @@ -243,7 +243,6 @@ void w_rpg_hud(player pl) { #ifdef CLIENT vector laser_pos; - vector aicon_pos; /* crosshair/laser */ if (pl.ammo_rpg_state == 1) { @@ -260,7 +259,7 @@ void w_rpg_hud(player pl) drawsubpic( laser_pos + jitter, [lerp,lerp], - g_laser_spr, + "materials/Sprites/redglow1", [0,0], [1.0, 1.0], [1,1,1], diff --git a/src/shared/w_shotgun.qc b/src/shared/w_shotgun.qc index 033b809..d7ba395 100644 --- a/src/shared/w_shotgun.qc +++ b/src/shared/w_shotgun.qc @@ -82,6 +82,7 @@ void w_shotgun_precache(void) precache_model("models/weapons/v_shotgun.mdl"); precache_model("models/p_shotgun.mdl"); precache_model("models/shotgunshell.mdl"); + precache_model("models/weapons/shotgun_shell.mdl"); #endif } diff --git a/src/shared/w_smg1.qc b/src/shared/w_smg1.qc index 1bf768c..7359c63 100644 --- a/src/shared/w_smg1.qc +++ b/src/shared/w_smg1.qc @@ -72,6 +72,7 @@ w_smg1_precache(void) #else precache_model("models/weapons/v_smg1.mdl"); precache_model("models/p_9mmar.mdl"); + precache_model("models/weapons/rifleshell.mdl"); #endif } @@ -183,9 +184,9 @@ w_smg1_primary(player pl) #else /* singleplayer is more accurate */ if (cvar("sv_playerslots") == 1) { - TraceAttack_FireBullets(1, Weapons_GetCameraPos(pl), Skill_GetValue("plr_9mmAR_bullet", 5), [0.025,0.025], WEAPON_SMG1); + TraceAttack_FireBullets(1, Weapons_GetCameraPos(pl), Skill_GetValue("plr_dmg_smg1", 4), [0.025,0.025], WEAPON_SMG1); } else { - TraceAttack_FireBullets(1, Weapons_GetCameraPos(pl), Skill_GetValue("plr_9mmAR_bullet", 5), [0.05,0.05], WEAPON_SMG1); + TraceAttack_FireBullets(1, Weapons_GetCameraPos(pl), Skill_GetValue("plr_dmg_smg1", 4), [0.05,0.05], WEAPON_SMG1); } Sound_Play(pl, CHAN_WEAPON, "Weapon_SMG1.Single"); diff --git a/zpak001.pk3dir/def/weapons/frag.def b/zpak001.pk3dir/def/weapons/frag.def index 48408b5..036b3dc 100644 --- a/zpak001.pk3dir/def/weapons/frag.def +++ b/zpak001.pk3dir/def/weapons/frag.def @@ -13,11 +13,6 @@ entityDef weapon_frag "snd_respawn" "item.respawn" } - - - - - entityDef projectile_frag { "spawnclass" "NSProjectile" @@ -42,6 +37,6 @@ entityDef damage_handgrenadeDirect entityDef damage_handgrenadeSplash { - "damage" "skill:plr_hand_grenade" + "damage" "skill:plr_dmg_fraggrenade" "radius" "250" } \ No newline at end of file diff --git a/zpak001.pk3dir/def/weapons/rpg.def b/zpak001.pk3dir/def/weapons/rpg.def index a29b5ec..0f815c6 100644 --- a/zpak001.pk3dir/def/weapons/rpg.def +++ b/zpak001.pk3dir/def/weapons/rpg.def @@ -57,12 +57,11 @@ entityDef projectile_rocket_homing entityDef damage_rocketDirect { - "damage" "skill:plr_rocketlauncher_impact" - "damage_random" "skill:plr_rocketlauncher_impact_rand" + "damage" "skill:plr_dmg_rpg_round" } entityDef damage_rocketSplash { - "damage" "skill:plr_rpg" + "damage" "skill:plr_dmg_rpg_round" "radius" "250" } \ No newline at end of file diff --git a/zpak001.pk3dir/def/weapons/slam.def b/zpak001.pk3dir/def/weapons/slam.def index 46755af..35d8bbb 100644 --- a/zpak001.pk3dir/def/weapons/slam.def +++ b/zpak001.pk3dir/def/weapons/slam.def @@ -37,6 +37,6 @@ entityDef projectile_slam entityDef damage_satchelExplosion { - "damage" "skill:plr_satchel" + "damage" "skill:plr_dmg_slam" "radius" "375" } \ No newline at end of file diff --git a/zpak001.pk3dir/default.cfg b/zpak001.pk3dir/default.cfg index 1a319fe..9e575ea 100644 --- a/zpak001.pk3dir/default.cfg +++ b/zpak001.pk3dir/default.cfg @@ -57,10 +57,15 @@ seta gl_ldr 0 seta r_lightmap_format rgb9e5 seta rate 30000 // some HL configs set this to 2500 by default! -exec skill_hl2.cfg - seta cl_forwardspeed 190 seta cl_sidespeed 190 seta cl_backspeed 190 seta cl_movespeedkey 1.684 -seta pm_maxspeed 320 \ No newline at end of file +seta pm_maxspeed 320 + +exec skill_hl2.cfg + + + +seta fov 75 +seta viewmodel_fov 54 \ No newline at end of file