From 42555d426d936aa63f7b66352da4cec1cc02bea5 Mon Sep 17 00:00:00 2001 From: Marco Hladik Date: Tue, 15 Mar 2022 19:33:41 -0700 Subject: [PATCH] Rebased against the latest Nuclide commit. --- src/shared/w_cannon.qc | 60 ++++++++++++++++++---------------------- src/shared/w_chainsaw.qc | 37 ++++++++++++------------- src/shared/w_hammer.qc | 45 ++++++++++++++---------------- 3 files changed, 65 insertions(+), 77 deletions(-) diff --git a/src/shared/w_cannon.qc b/src/shared/w_cannon.qc index 0b896da..be2724b 100644 --- a/src/shared/w_cannon.qc +++ b/src/shared/w_cannon.qc @@ -49,7 +49,7 @@ w_cannon_updateammo(player pl) } string -w_cannon_pmodel(void) +w_cannon_pmodel(player pl) { return "models/p_cannon.mdl"; } @@ -61,9 +61,8 @@ w_cannon_deathmsg(void) } void -w_cannon_reload(void) +w_cannon_reload(player pl) { - player pl = (player)self; if (pl.w_attack_next > 0) { return; } @@ -74,7 +73,7 @@ w_cannon_reload(void) return; } - Weapons_ViewAnimation(CANNON_RELOAD); + Weapons_ViewAnimation(pl, CANNON_RELOAD); #ifdef SERVER Weapons_ReloadWeapon(pl, player::cannon_mag, player::ammo_buckshot, 2); @@ -85,10 +84,9 @@ w_cannon_reload(void) } int -w_cannon_pickup(int new, int startammo) +w_cannon_pickup(player pl, int new, int startammo) { #ifdef SERVER - player pl = (player)self; if (new) { pl.cannon_mag = 2; @@ -104,29 +102,28 @@ w_cannon_pickup(int new, int startammo) } void -w_cannon_draw(void) +w_cannon_draw(player pl) { Weapons_SetModel("models/v_cannon.mdl"); - Weapons_ViewAnimation(CANNON_DEPLOY); + Weapons_ViewAnimation(pl, CANNON_DEPLOY); } void -w_cannon_holster(void) +w_cannon_holster(player pl) { - Weapons_ViewAnimation(CANNON_PUTAWAY); + Weapons_ViewAnimation(pl, CANNON_PUTAWAY); } void -w_cannon_primary(void) +w_cannon_primary(player pl) { - player pl = (player)self; if (pl.w_attack_next > 0.0) { return; } if (pl.cannon_mag != 2) { - w_cannon_reload(); + w_cannon_reload(pl); return; } @@ -140,8 +137,8 @@ w_cannon_primary(void) Sound_Play(pl, CHAN_WEAPON, "weapon_cannon.shoot"); Weapons_UpdateAmmo(pl, pl.cannon_mag, pl.ammo_buckshot, __NULL__); #endif - Weapons_ViewPunchAngle([-5,0,0]); - Weapons_ViewAnimation(CANNON_FIREBOTH); + Weapons_ViewPunchAngle(pl, [-5,0,0]); + Weapons_ViewAnimation(pl, CANNON_FIREBOTH); pl.w_attack_next = 1.5f; pl.w_idle_next = 2.5f; @@ -152,20 +149,19 @@ w_cannon_primary(void) } void -w_cannon_secondary(void) +w_cannon_secondary(player pl) { - player pl = (player)self; if (pl.w_attack_next > 0.0) { return; } if (!pl.cannon_mag) { - w_cannon_reload(); + w_cannon_reload(pl); return; } - Weapons_ViewPunchAngle([-5,0,0]); + Weapons_ViewPunchAngle(pl, [-5,0,0]); #ifdef SERVER int dmg; @@ -176,9 +172,9 @@ w_cannon_secondary(void) #endif if (pl.cannon_mag == 2) { - Weapons_ViewAnimation(CANNON_FIRELEFT); + Weapons_ViewAnimation(pl, CANNON_FIRELEFT); } else { - Weapons_ViewAnimation(CANNON_FIRERIGHT); + Weapons_ViewAnimation(pl, CANNON_FIRERIGHT); } pl.w_attack_next = 1.5f; @@ -190,14 +186,13 @@ w_cannon_secondary(void) Animation_PlayerTop(pl, ANIM_SHOOTSHOTGUN, 0.5f); } void -w_cannon_release(void) +w_cannon_release(player pl) { - player pl = (player)self; /* auto-reload if need be */ if (pl.w_attack_next <= 0.0) if (pl.cannon_mag == 0 && pl.ammo_buckshot > 0) { - Weapons_Reload(); + Weapons_Reload(pl); return; } @@ -208,10 +203,10 @@ w_cannon_release(void) int r = floor(random(0,2)); switch (r) { case 0: - Weapons_ViewAnimation(CANNON_IDLE1); + Weapons_ViewAnimation(pl, CANNON_IDLE1); break; case 1: - Weapons_ViewAnimation(CANNON_IDLE2); + Weapons_ViewAnimation(pl, CANNON_IDLE2); break; } @@ -219,7 +214,7 @@ w_cannon_release(void) } void -w_cannon_crosshair(void) +w_cannon_crosshair(player pl) { #ifdef CLIENT static vector cross_pos; @@ -233,16 +228,15 @@ w_cannon_crosshair(void) } float -w_cannon_aimanim(void) +w_cannon_aimanim(player pl) { - return self.flags & FL_CROUCHING ? ANIM_CR_AIMSHOTGUN : ANIM_AIMSHOTGUN; + return pl.flags & FL_CROUCHING ? ANIM_CR_AIMSHOTGUN : ANIM_AIMSHOTGUN; } void -w_cannon_hudpic(int s, vector pos, float a) +w_cannon_hudpic(player pl, int s, vector pos, float a) { #ifdef CLIENT - player pl = (player)self; vector hud_col; if (pl.cannon_mag == 0 && pl.ammo_buckshot == 0) @@ -264,7 +258,7 @@ weapon_t w_cannon = { .name = "handcannon", - .id = ITEM_CANNON, + .id = ITEM_CANNON, .slot = 2, .slot_pos = 3, .draw = w_cannon_draw, @@ -273,7 +267,7 @@ w_cannon = .secondary = w_cannon_secondary, .reload = w_cannon_reload, .release = w_cannon_release, - .crosshair = w_cannon_crosshair, + .postdraw = w_cannon_crosshair, .precache = w_cannon_precache, .pickup = w_cannon_pickup, .updateammo = w_cannon_updateammo, diff --git a/src/shared/w_chainsaw.qc b/src/shared/w_chainsaw.qc index 7829a45..d6d793d 100644 --- a/src/shared/w_chainsaw.qc +++ b/src/shared/w_chainsaw.qc @@ -54,7 +54,7 @@ void w_chainsaw_updateammo(player pl) { Weapons_UpdateAmmo(pl, -1, -1, -1); } -string w_chainsaw_pmodel(void) +string w_chainsaw_pmodel(player pl) { return "models/p_saw.mdl"; } @@ -63,25 +63,23 @@ string w_chainsaw_deathmsg(void) return "%s killed %s with chainsaw."; } -void w_chainsaw_draw(void) +void w_chainsaw_draw(player pl) { - player pl = (player)self; Weapons_SetModel("models/v_chainsaw.mdl"); - Weapons_ViewAnimation(CHAINSAW_DEPLOY); + Weapons_ViewAnimation(pl, CHAINSAW_DEPLOY); #ifdef SERVER Sound_Play(pl, CHAN_WEAPON, "weapon_chainsaw.startup"); #endif } -void w_chainsaw_holster(void) +void w_chainsaw_holster(player pl) { - Weapons_ViewAnimation(CHAINSAW_HOLSTER); + Weapons_ViewAnimation(pl, CHAINSAW_HOLSTER); } -void w_chainsaw_primary(void) +void w_chainsaw_primary(player pl) { - player pl = (player)self; /* only do it in the attack state */ if (pl.ammo_chainsaw_state == CHAINSAWSTATE_ATTACKING) @@ -89,10 +87,10 @@ void w_chainsaw_primary(void) return; pl.ammo_chainsaw_state = CHAINSAWSTATE_ATTACKING; - Weapons_ViewAnimation(CHAINSAW_CONTINUEFIRE); + Weapons_ViewAnimation(pl, CHAINSAW_CONTINUEFIRE); #ifdef SERVER - Weapons_MakeVectors(); + Weapons_MakeVectors(pl); vector src = pl.origin + pl.view_ofs; traceline(src, src + (v_forward * 32), FALSE, pl); @@ -123,16 +121,15 @@ void w_chainsaw_primary(void) pl.w_idle_next = 0.0f; } -void w_chainsaw_release(void) +void w_chainsaw_release(player pl) { - player pl = (player)self; if (pl.w_idle_next) return; if (pl.ammo_chainsaw_state == CHAINSAWSTATE_ATTACKING) { pl.ammo_chainsaw_state = CHAINSAWSTATE_IDLE; - Weapons_ViewAnimation(CHAINSAW_STOPFIRE); + Weapons_ViewAnimation(pl, CHAINSAW_STOPFIRE); #ifdef SERVER Sound_Play(pl, CHAN_WEAPON, "weapon_chainsaw.idle"); #endif @@ -149,21 +146,21 @@ void w_chainsaw_release(void) } if (pl.w_attack_next <= 0.0f) { if (random() < 0.5) { - Weapons_ViewAnimation(CHAINSAW_IDLE1); + Weapons_ViewAnimation(pl, CHAINSAW_IDLE1); } else { - Weapons_ViewAnimation(CHAINSAW_IDLE2); + Weapons_ViewAnimation(pl, CHAINSAW_IDLE2); } pl.w_attack_next = 5.3333f; } } } -float w_chainsaw_aimanim(void) +float w_chainsaw_aimanim(player pl) { - return self.flags & FL_CROUCHING ? ANIM_CR_AIMEGON : ANIM_AIMEGON; + return pl.flags & FL_CROUCHING ? ANIM_CR_AIMEGON : ANIM_AIMEGON; } -void w_chainsaw_hudpic(int s, vector pos, float a) +void w_chainsaw_hudpic(player pl, int s, vector pos, float a) { #ifdef CLIENT if (s) { @@ -181,7 +178,7 @@ void w_chainsaw_hudpic(int s, vector pos, float a) weapon_t w_chainsaw = { .name = "chainsaw", - .id = ITEM_CHAINSAW, + .id = ITEM_CHAINSAW, .slot = 0, .slot_pos = 2, .draw = w_chainsaw_draw, @@ -190,7 +187,7 @@ weapon_t w_chainsaw = .secondary = w_chainsaw_release, .reload = w_chainsaw_release, .release = w_chainsaw_release, - .crosshair = __NULL__, + .postdraw = __NULL__, .precache = w_chainsaw_precache, .pickup = __NULL__, .updateammo = w_chainsaw_updateammo, diff --git a/src/shared/w_hammer.qc b/src/shared/w_hammer.qc index 61a2551..d6ac84c 100644 --- a/src/shared/w_hammer.qc +++ b/src/shared/w_hammer.qc @@ -48,7 +48,7 @@ void w_hammer_updateammo(player pl) { Weapons_UpdateAmmo(pl, -1, -1, -1); } -string w_hammer_pmodel(void) +string w_hammer_pmodel(player pl) { return "models/p_hammer.mdl"; } @@ -57,51 +57,48 @@ string w_hammer_deathmsg(void) return "%s killed %s with hammer."; } -void w_hammer_draw(void) +void w_hammer_draw(player pl) { Weapons_SetModel("models/v_hammer.mdl"); - Weapons_ViewAnimation(HAMMER_DRAW); + Weapons_ViewAnimation(pl, HAMMER_DRAW); } -void w_hammer_holster(void) +void w_hammer_holster(player pl) { - Weapons_ViewAnimation(HAMMER_HOLSTER); + Weapons_ViewAnimation(pl, HAMMER_HOLSTER); } -void w_hammer_primary(void) +void w_hammer_primary(player pl) { - player pl = (player)self; if (!pl.w_attack_next) { /* Hack */ if (pl.ammo_hammer_state != 1) { - Weapons_ViewAnimation(HAMMER_HOLSTER2); + Weapons_ViewAnimation(pl, HAMMER_HOLSTER2); pl.ammo_hammer_state = 1; pl.w_attack_next = 0.5f; } } pl.w_idle_next = 2.5f; } -void w_hammer_secondary(void) +void w_hammer_secondary(player pl) { - player pl = (player)self; if (!pl.w_attack_next) { /* Hack */ if (pl.ammo_hammer_state != 2) { - Weapons_ViewAnimation(HAMMER_HOLSTER3); + Weapons_ViewAnimation(pl, HAMMER_HOLSTER3); pl.ammo_hammer_state = 2; pl.w_attack_next = 0.5f; } } pl.w_idle_next = 2.5f; } -void w_hammer_reload(void) +void w_hammer_reload(player pl) { } -void w_hammer_release(void) +void w_hammer_release(player pl) { - player pl = (player)self; if (pl.w_attack_next) { return; @@ -140,7 +137,7 @@ void w_hammer_release(void) } } #endif - Weapons_ViewAnimation(HAMMER_ATTACK1); + Weapons_ViewAnimation(pl, HAMMER_ATTACK1); pl.w_attack_next = 1.0f; if (self.flags & FL_CROUCHING) @@ -162,7 +159,7 @@ void w_hammer_release(void) } } #endif - Weapons_ViewAnimation(HAMMER_ATTACK2); + Weapons_ViewAnimation(pl, HAMMER_ATTACK2); pl.w_attack_next = 0.75f; if (self.flags & FL_CROUCHING) @@ -197,24 +194,24 @@ void w_hammer_release(void) int r = floor(random(0,3)); switch (r) { case 0: - Weapons_ViewAnimation(HAMMER_IDLE1); + Weapons_ViewAnimation(pl, HAMMER_IDLE1); break; case 1: - Weapons_ViewAnimation(HAMMER_IDLE2); + Weapons_ViewAnimation(pl, HAMMER_IDLE2); break; case 2: - Weapons_ViewAnimation(HAMMER_IDLE3); + Weapons_ViewAnimation(pl, HAMMER_IDLE3); break; } pl.w_idle_next = 10.0f; } -float w_hammer_aimanim(void) +float w_hammer_aimanim(player pl) { - return self.flags & FL_CROUCHING ? ANIM_CR_AIMCROWBAR : ANIM_AIMCROWBAR; + return pl.flags & FL_CROUCHING ? ANIM_CR_AIMCROWBAR : ANIM_AIMCROWBAR; } -void w_hammer_hudpic(int s, vector pos, float a) +void w_hammer_hudpic(player pl, int s, vector pos, float a) { #ifdef CLIENT if (s) { @@ -228,7 +225,7 @@ void w_hammer_hudpic(int s, vector pos, float a) weapon_t w_hammer = { .name = "hammer", - .id = ITEM_HAMMER, + .id = ITEM_HAMMER, .slot = 0, .slot_pos = 1, .draw = w_hammer_draw, @@ -237,7 +234,7 @@ weapon_t w_hammer = .secondary = w_hammer_secondary, .reload = w_hammer_reload, .release = w_hammer_release, - .crosshair = __NULL__, + .postdraw = __NULL__, .precache = w_hammer_precache, .pickup = __NULL__, .updateammo = w_hammer_updateammo,