Moved weapon specific animation code to the respective weapon files for FreeHL
This commit is contained in:
parent
921ec444a2
commit
021d985a2e
25 changed files with 186 additions and 214 deletions
|
@ -12,6 +12,7 @@ valve/defs.h
|
|||
../materials.h
|
||||
../events.h
|
||||
../entities.h
|
||||
../shared/valve/animations.h
|
||||
defs.h
|
||||
|
||||
../gs-entbase/server.src
|
||||
|
|
|
@ -12,6 +12,7 @@ valve/defs.h
|
|||
../materials.h
|
||||
../events.h
|
||||
../entities.h
|
||||
../shared/valve/animations.h
|
||||
defs.h
|
||||
|
||||
../gs-entbase/server.src
|
||||
|
|
|
@ -27,7 +27,7 @@ void Game_PlayerPreThink(void)
|
|||
}
|
||||
void Game_PlayerPostThink(void)
|
||||
{
|
||||
|
||||
Animation_PlayerUpdate();
|
||||
self.SendFlags = 1;
|
||||
}
|
||||
void Game_RunClientCommand(void)
|
||||
|
|
|
@ -12,6 +12,7 @@ valve/defs.h
|
|||
../materials.h
|
||||
../events.h
|
||||
../entities.h
|
||||
../shared/valve/animations.h
|
||||
defs.h
|
||||
|
||||
../gs-entbase/server.src
|
||||
|
|
|
@ -193,6 +193,13 @@ void w_cannon_crosshair(void)
|
|||
#endif
|
||||
}
|
||||
|
||||
float w_cannon_aimanim(void)
|
||||
{
|
||||
#ifdef SSQC
|
||||
return self.flags & FL_CROUCHING ? ANIM_CR_AIMSHOTGUN : ANIM_AIMSHOTGUN;
|
||||
#endif
|
||||
}
|
||||
|
||||
void w_cannon_hudpic(int s, vector pos)
|
||||
{
|
||||
#ifdef CSQC
|
||||
|
@ -222,5 +229,6 @@ weapon_t w_cannon =
|
|||
__NULL__,
|
||||
w_cannon_pmodel,
|
||||
w_cannon_deathmsg,
|
||||
w_cannon_aimanim,
|
||||
w_cannon_hudpic
|
||||
};
|
||||
|
|
|
@ -137,6 +137,13 @@ void w_chainsaw_release(void)
|
|||
#endif
|
||||
}
|
||||
|
||||
float w_chainsaw_aimanim(void)
|
||||
{
|
||||
#ifdef SSQC
|
||||
return self.flags & FL_CROUCHING ? ANIM_CR_AIMSQUEAK : ANIM_AIMSQUEAK;
|
||||
#endif
|
||||
}
|
||||
|
||||
void w_chainsaw_hudpic(int s, vector pos)
|
||||
{
|
||||
#ifdef CSQC
|
||||
|
@ -166,6 +173,7 @@ weapon_t w_chainsaw =
|
|||
__NULL__,
|
||||
w_chainsaw_pmodel,
|
||||
w_chainsaw_deathmsg,
|
||||
w_chainsaw_aimanim,
|
||||
w_chainsaw_hudpic
|
||||
};
|
||||
|
||||
|
|
|
@ -200,6 +200,13 @@ void w_hammer_release(void)
|
|||
#endif
|
||||
}
|
||||
|
||||
float w_hammer_aimanim(void)
|
||||
{
|
||||
#ifdef SSQC
|
||||
return self.flags & FL_CROUCHING ? ANIM_CR_AIMCROWBAR : ANIM_AIMCROWBAR;
|
||||
#endif
|
||||
}
|
||||
|
||||
void w_hammer_hudpic(int s, vector pos)
|
||||
{
|
||||
#ifdef CSQC
|
||||
|
@ -229,5 +236,6 @@ weapon_t w_hammer =
|
|||
__NULL__,
|
||||
w_hammer_pmodel,
|
||||
w_hammer_deathmsg,
|
||||
w_hammer_aimanim,
|
||||
w_hammer_hudpic
|
||||
};
|
||||
|
|
|
@ -26,6 +26,7 @@ typedef struct
|
|||
string() wmodel;
|
||||
string() pmodel;
|
||||
string() deathmsg;
|
||||
float() aimanim;
|
||||
void(int, vector) hudpic;
|
||||
} weapon_t;
|
||||
|
||||
|
|
|
@ -6,86 +6,10 @@
|
|||
*
|
||||
****/
|
||||
|
||||
.float baseframe_time;
|
||||
.float baseframe_old;
|
||||
.float frame_time;
|
||||
.float frame_old;
|
||||
.float fWasCrouching;
|
||||
|
||||
enum {
|
||||
ANIM_LOOKIDLE,
|
||||
ANIM_IDLE,
|
||||
ANIM_DEEPIDLE,
|
||||
ANIM_RUN2,
|
||||
ANIM_WALK2HANDED,
|
||||
ANIM_2HANDSHOT,
|
||||
ANIM_CRAWL,
|
||||
ANIM_CROUCHIDLE,
|
||||
ANIM_JUMP,
|
||||
ANIM_LONGJUMP,
|
||||
ANIM_SWIM,
|
||||
ANIM_TREADWATER,
|
||||
ANIM_RUN,
|
||||
ANIM_WALK,
|
||||
ANIM_AIM2,
|
||||
ANIM_SHOOT2,
|
||||
ANIM_AIM1,
|
||||
ANIM_SHOOT1,
|
||||
ANIM_DIESIMPLE,
|
||||
ANIM_DIEBACKWARDS1,
|
||||
ANIM_DIEBACKWARDS2,
|
||||
ANIM_DIEFORWARD,
|
||||
ANIM_DIEHEADSHOT,
|
||||
ANIM_DIESPIN,
|
||||
ANIM_DIEGUTSHOT,
|
||||
ANIM_AIMCROWBAR,
|
||||
ANIM_SHOOTCROWBAR,
|
||||
ANIM_CR_AIMCROWBAR,
|
||||
ANIM_CR_SHOOTCROWBAR,
|
||||
ANIM_AIMTRIPMINE,
|
||||
ANIM_SHOOTTRIPMINE,
|
||||
ANIM_CR_AIMTRIPMINE,
|
||||
ANIM_CR_SHOOTTRIPMINE,
|
||||
ANIM_AIM1HAND,
|
||||
ANIM_SHOOT1HAND,
|
||||
ANIM_CR_AIM1HAND,
|
||||
ANIM_CR_SHOOT1HAND,
|
||||
ANIM_AIMPYTHON,
|
||||
ANIM_SHOOTPYTHON,
|
||||
ANIM_CR_AIMPYTHON,
|
||||
ANIM_CR_SHOOTPYTHON,
|
||||
ANIM_AIMSHOTGUN,
|
||||
ANIM_SHOOTSHOTGUN,
|
||||
ANIM_CR_AIMSHOTGUN,
|
||||
ANIM_CR_SHOOTSHOTGUN,
|
||||
ANIM_AIMGAUSS,
|
||||
ANIM_SHOOTGAUSS,
|
||||
ANIM_CR_AIMGAUSS,
|
||||
ANIM_CR_SHOOTGAUSS,
|
||||
ANIM_AIMMP5,
|
||||
ANIM_SHOOTMP5,
|
||||
ANIM_CR_AIMMP5,
|
||||
ANIM_CR_SHOOTMP5,
|
||||
ANIM_AIMRPG,
|
||||
ANIM_SHOOTRPG,
|
||||
ANIM_CR_AIMRPG,
|
||||
ANIM_CR_SHOOTRPG,
|
||||
ANIM_AIMEGON,
|
||||
ANIM_SHOOTEGON,
|
||||
ANIM_CR_AIMEGON,
|
||||
ANIM_CR_SHOOTEGON,
|
||||
ANIM_AIMSQUEAK,
|
||||
ANIM_SHOOTSQUEAK,
|
||||
ANIM_CR_AIMSQUEAK,
|
||||
ANIM_CR_SHOOTSQUEAK,
|
||||
ANIM_AIMHIVE,
|
||||
ANIM_SHOOTHIVE,
|
||||
ANIM_CR_AIMHIVE,
|
||||
ANIM_CR_SHOOTHIVE,
|
||||
ANIM_AIMBOW,
|
||||
ANIM_SHOOTBOW,
|
||||
ANIM_CR_AIMBOW,
|
||||
ANIM_CR_SHOOTBOW
|
||||
};
|
||||
|
||||
// For lerping, sigh
|
||||
#ifdef CSQC
|
||||
.float frame_last;
|
||||
|
@ -114,54 +38,10 @@ void Animation_PlayerUpdate( void ) {
|
|||
self.basebone = 16;
|
||||
#ifdef SSQC
|
||||
// TODO: Make this faster
|
||||
if ( self.baseframe_time < time ) {
|
||||
if ( self.frame_time < time ) {
|
||||
player pl = (player)self;
|
||||
int i = pl.activeweapon;
|
||||
switch ( i ) {
|
||||
case WEAPON_CROWBAR:
|
||||
self.frame = self.flags & FL_CROUCHING ? ANIM_CR_AIMCROWBAR : ANIM_AIMCROWBAR;
|
||||
break;
|
||||
case WEAPON_GLOCK:
|
||||
self.frame = self.flags & FL_CROUCHING ? ANIM_CR_AIM1HAND : ANIM_AIM1HAND;
|
||||
break;
|
||||
case WEAPON_PYTHON:
|
||||
self.frame = self.flags & FL_CROUCHING ? ANIM_CR_AIMPYTHON : ANIM_AIMPYTHON;
|
||||
break;
|
||||
case WEAPON_MP5:
|
||||
self.frame = self.flags & FL_CROUCHING ? ANIM_CR_AIMMP5 : ANIM_AIMMP5;
|
||||
break;
|
||||
case WEAPON_SHOTGUN:
|
||||
self.frame = self.flags & FL_CROUCHING ? ANIM_CR_AIMSHOTGUN : ANIM_AIMSHOTGUN;
|
||||
break;
|
||||
case WEAPON_CROSSBOW:
|
||||
self.frame = self.flags & FL_CROUCHING ? ANIM_CR_AIMBOW : ANIM_AIMBOW;
|
||||
break;
|
||||
case WEAPON_RPG:
|
||||
self.frame = self.flags & FL_CROUCHING ? ANIM_CR_AIMRPG : ANIM_AIMRPG;
|
||||
break;
|
||||
case WEAPON_GAUSS:
|
||||
self.frame = self.flags & FL_CROUCHING ? ANIM_CR_AIMGAUSS : ANIM_AIMGAUSS;
|
||||
break;
|
||||
case WEAPON_EGON:
|
||||
self.frame = self.flags & FL_CROUCHING ? ANIM_CR_AIMEGON : ANIM_AIMEGON;
|
||||
break;
|
||||
case WEAPON_HORNETGUN:
|
||||
self.frame = self.flags & FL_CROUCHING ? ANIM_CR_AIMHIVE : ANIM_AIMHIVE;
|
||||
break;
|
||||
case WEAPON_HANDGRENADE:
|
||||
self.frame = self.flags & FL_CROUCHING ? ANIM_CR_AIMCROWBAR : ANIM_AIMCROWBAR;
|
||||
break;
|
||||
case WEAPON_SATCHEL:
|
||||
self.frame = self.flags & FL_CROUCHING ? ANIM_CR_AIMCROWBAR : ANIM_AIMCROWBAR;
|
||||
break;
|
||||
case WEAPON_TRIPMINE:
|
||||
self.frame = self.flags & FL_CROUCHING ? ANIM_CR_AIMTRIPMINE : ANIM_AIMTRIPMINE;
|
||||
break;
|
||||
case WEAPON_SNARK:
|
||||
self.frame = self.flags & FL_CROUCHING ? ANIM_CR_AIMSQUEAK : ANIM_AIMSQUEAK;
|
||||
break;
|
||||
}
|
||||
self.baseframe_old = self.frame;
|
||||
self.frame = Weapons_GetAim(pl.activeweapon);
|
||||
self.frame_old = self.frame;
|
||||
}
|
||||
|
||||
if ( !( self.flags & FL_ONGROUND ) ) {
|
||||
|
@ -241,8 +121,8 @@ void Animation_PlayerUpdate( void ) {
|
|||
|
||||
// Force the code above to update if we switched positions
|
||||
if ( self.fWasCrouching != ( self.flags & FL_CROUCHING ) ) {
|
||||
self.baseframe_old = 0;
|
||||
self.baseframe_time = 0;
|
||||
self.frame_old = 0;
|
||||
self.frame_time = 0;
|
||||
self.fWasCrouching = ( self.flags & FL_CROUCHING );
|
||||
}
|
||||
|
||||
|
@ -260,91 +140,11 @@ Changes the animation sequence for the upper body part
|
|||
=================
|
||||
*/
|
||||
void Animation_PlayerTop( float fFrame ) {
|
||||
self.baseframe = fFrame;
|
||||
self.baseframe_old = fFrame;
|
||||
self.frame = fFrame;
|
||||
self.frame_old = fFrame;
|
||||
}
|
||||
|
||||
void Animation_PlayerTopTemp( float fFrame, float fTime ) {
|
||||
self.baseframe = fFrame;
|
||||
self.baseframe_time = time + fTime;
|
||||
}
|
||||
|
||||
void Animation_ShootWeapon( entity ePlayer ) {
|
||||
/*switch ( Weapon_GetAnimType( ePlayer.weapon ) ) {
|
||||
case ATYPE_AK47:
|
||||
ePlayer.baseframe = ePlayer.flags & FL_CROUCHING ? ANIM_CROUCH_SHOOT_AK47 : ANIM_SHOOT_AK47;
|
||||
break;
|
||||
case ATYPE_C4:
|
||||
ePlayer.baseframe = ePlayer.flags & FL_CROUCHING ? ANIM_CROUCH_SHOOT_C4 : ANIM_SHOOT_C4;
|
||||
break;
|
||||
case ATYPE_CARBINE:
|
||||
ePlayer.baseframe = ePlayer.flags & FL_CROUCHING ? ANIM_CROUCH_SHOOT_CARBINE : ANIM_SHOOT_CARBINE;
|
||||
break;
|
||||
case ATYPE_DUALPISTOLS:
|
||||
ePlayer.baseframe = ePlayer.flags & FL_CROUCHING ? ANIM_CROUCH_SHOOT_DUALPISTOLS : ANIM_SHOOT_DUALPISTOLS;
|
||||
break;
|
||||
case ATYPE_GRENADE:
|
||||
ePlayer.baseframe = ePlayer.flags & FL_CROUCHING ? ANIM_CROUCH_SHOOT_GRENADE : ANIM_SHOOT_GRENADE;
|
||||
break;
|
||||
case ATYPE_KNIFE:
|
||||
ePlayer.baseframe = ePlayer.flags & FL_CROUCHING ? ANIM_CROUCH_SHOOT_KNIFE : ANIM_SHOOT_KNIFE;
|
||||
break;
|
||||
case ATYPE_MP5:
|
||||
ePlayer.baseframe = ePlayer.flags & FL_CROUCHING ? ANIM_CROUCH_SHOOT_MP5 : ANIM_SHOOT_MP5;
|
||||
break;
|
||||
case ATYPE_ONEHAND:
|
||||
ePlayer.baseframe = ePlayer.flags & FL_CROUCHING ? ANIM_CROUCH_SHOOT_ONEHAND : ANIM_SHOOT_ONEHAND;
|
||||
break;
|
||||
case ATYPE_PARA:
|
||||
ePlayer.baseframe = ePlayer.flags & FL_CROUCHING ? ANIM_CROUCH_SHOOT_PARA : ANIM_SHOOT_PARA;
|
||||
break;
|
||||
case ATYPE_RIFLE:
|
||||
ePlayer.baseframe = ePlayer.flags & FL_CROUCHING ? ANIM_CROUCH_SHOOT_RIFLE : ANIM_SHOOT_RIFLE;
|
||||
break;
|
||||
case ATYPE_SHOTGUN:
|
||||
ePlayer.baseframe = ePlayer.flags & FL_CROUCHING ? ANIM_CROUCH_SHOOT_SHOTGUN : ANIM_SHOOT_SHOTGUN;
|
||||
break;
|
||||
}
|
||||
|
||||
ePlayer.baseframe_time = time + Weapon_GetFireRate( ePlayer.weapon );*/
|
||||
}
|
||||
|
||||
void Animation_ReloadWeapon( entity ePlayer ) {
|
||||
/*switch ( Weapon_GetAnimType( ePlayer.weapon ) ) {
|
||||
case ATYPE_AK47:
|
||||
ePlayer.baseframe = ePlayer.flags & FL_CROUCHING ? ANIM_CROUCH_RELOAD_AK47 : ANIM_RELOAD_AK47;
|
||||
break;
|
||||
case ATYPE_C4:
|
||||
ePlayer.baseframe = ePlayer.flags & FL_CROUCHING ? ANIM_CROUCH_AIM_C4 : ANIM_AIM_C4;
|
||||
break;
|
||||
case ATYPE_CARBINE:
|
||||
ePlayer.baseframe = ePlayer.flags & FL_CROUCHING ? ANIM_CROUCH_RELOAD_CARBINE : ANIM_RELOAD_CARBINE;
|
||||
break;
|
||||
case ATYPE_DUALPISTOLS:
|
||||
ePlayer.baseframe = ePlayer.flags & FL_CROUCHING ? ANIM_CROUCH_RELOAD_DUALPISTOLS : ANIM_RELOAD_DUALPISTOLS;
|
||||
break;
|
||||
case ATYPE_GRENADE:
|
||||
ePlayer.baseframe = ePlayer.flags & FL_CROUCHING ? ANIM_CROUCH_AIM_GRENADE : ANIM_AIM_GRENADE;
|
||||
break;
|
||||
case ATYPE_KNIFE:
|
||||
ePlayer.baseframe = ePlayer.flags & FL_CROUCHING ? ANIM_CROUCH_AIM_KNIFE : ANIM_AIM_KNIFE;
|
||||
break;
|
||||
case ATYPE_MP5:
|
||||
ePlayer.baseframe = ePlayer.flags & FL_CROUCHING ? ANIM_CROUCH_RELOAD_MP5 : ANIM_RELOAD_MP5;
|
||||
break;
|
||||
case ATYPE_ONEHAND:
|
||||
ePlayer.baseframe = ePlayer.flags & FL_CROUCHING ? ANIM_CROUCH_RELOAD_ONEHAND : ANIM_RELOAD_ONEHAND;
|
||||
break;
|
||||
case ATYPE_PARA:
|
||||
ePlayer.baseframe = ePlayer.flags & FL_CROUCHING ? ANIM_CROUCH_RELOAD_PARA : ANIM_RELOAD_PARA;
|
||||
break;
|
||||
case ATYPE_RIFLE:
|
||||
ePlayer.baseframe = ePlayer.flags & FL_CROUCHING ? ANIM_CROUCH_RELOAD_RIFLE : ANIM_RELOAD_RIFLE;
|
||||
break;
|
||||
case ATYPE_SHOTGUN:
|
||||
ePlayer.baseframe = ePlayer.flags & FL_CROUCHING ? ANIM_CROUCH_RELOAD_SHOTGUN : ANIM_RELOAD_SHOTGUN;
|
||||
break;
|
||||
}
|
||||
|
||||
ePlayer.baseframe_time = time + Weapon_GetReloadTime( ePlayer.weapon );*/
|
||||
}
|
||||
self.frame = fFrame;
|
||||
self.frame_time = time + fTime;
|
||||
}
|
|
@ -204,6 +204,13 @@ void w_crossbow_crosshair(void)
|
|||
#endif
|
||||
}
|
||||
|
||||
float w_crossbow_aimanim(void)
|
||||
{
|
||||
#ifdef SSQC
|
||||
return self.flags & FL_CROUCHING ? ANIM_CR_AIMBOW : ANIM_AIMBOW;
|
||||
#endif
|
||||
}
|
||||
|
||||
void w_crossbow_hudpic(int s, vector pos)
|
||||
{
|
||||
#ifdef CSQC
|
||||
|
@ -233,6 +240,7 @@ weapon_t w_crossbow =
|
|||
w_crossbow_wmodel,
|
||||
w_crossbow_pmodel,
|
||||
w_crossbow_deathmsg,
|
||||
w_crossbow_aimanim,
|
||||
w_crossbow_hudpic
|
||||
};
|
||||
|
||||
|
|
|
@ -100,6 +100,11 @@ void w_crowbar_primary(void)
|
|||
vector src = pl.origin + pl.view_ofs;
|
||||
traceline(src, src + (v_forward * 32), FALSE, pl);
|
||||
|
||||
if (self.flags & FL_CROUCHING)
|
||||
Animation_PlayerTopTemp(ANIM_SHOOTCROWBAR, 0.5f);
|
||||
else
|
||||
Animation_PlayerTopTemp(ANIM_CR_SHOOTCROWBAR, 0.42f);
|
||||
|
||||
Weapons_PlaySound(pl, CHAN_WEAPON, "weapons/cbar_miss1.wav", 1, ATTN_NORM);
|
||||
|
||||
if (trace_fraction >= 1.0) {
|
||||
|
@ -153,6 +158,13 @@ void w_crowbar_release(void)
|
|||
#endif
|
||||
}
|
||||
|
||||
float w_crowbar_aimanim(void)
|
||||
{
|
||||
#ifdef SSQC
|
||||
return self.flags & FL_CROUCHING ? ANIM_CR_AIMCROWBAR : ANIM_AIMCROWBAR;
|
||||
#endif
|
||||
}
|
||||
|
||||
void w_crowbar_hudpic(int s, vector pos)
|
||||
{
|
||||
#ifdef CSQC
|
||||
|
@ -182,6 +194,7 @@ weapon_t w_crowbar =
|
|||
w_crowbar_wmodel,
|
||||
w_crowbar_pmodel,
|
||||
w_crowbar_deathmsg,
|
||||
w_crowbar_aimanim,
|
||||
w_crowbar_hudpic
|
||||
};
|
||||
|
||||
|
|
|
@ -83,6 +83,13 @@ void w_egon_crosshair(void)
|
|||
#endif
|
||||
}
|
||||
|
||||
float w_egon_aimanim(void)
|
||||
{
|
||||
#ifdef SSQC
|
||||
return self.flags & FL_CROUCHING ? ANIM_CR_AIMEGON : ANIM_AIMEGON;
|
||||
#endif
|
||||
}
|
||||
|
||||
void w_egon_hudpic(int s, vector pos)
|
||||
{
|
||||
#ifdef CSQC
|
||||
|
@ -112,6 +119,7 @@ weapon_t w_egon =
|
|||
w_egon_wmodel,
|
||||
w_egon_pmodel,
|
||||
w_egon_deathmsg,
|
||||
w_egon_aimanim,
|
||||
w_egon_hudpic
|
||||
};
|
||||
|
||||
|
|
|
@ -112,6 +112,13 @@ void w_gauss_crosshair(void)
|
|||
#endif
|
||||
}
|
||||
|
||||
float w_gauss_aimanim(void)
|
||||
{
|
||||
#ifdef SSQC
|
||||
return self.flags & FL_CROUCHING ? ANIM_CR_AIMGAUSS : ANIM_AIMGAUSS;
|
||||
#endif
|
||||
}
|
||||
|
||||
void w_gauss_hudpic(int s, vector pos)
|
||||
{
|
||||
#ifdef CSQC
|
||||
|
@ -141,6 +148,7 @@ weapon_t w_gauss =
|
|||
w_gauss_wmodel,
|
||||
w_gauss_pmodel,
|
||||
w_gauss_deathmsg,
|
||||
w_gauss_aimanim,
|
||||
w_gauss_hudpic
|
||||
};
|
||||
|
||||
|
|
|
@ -94,7 +94,12 @@ void w_glock_primary(void)
|
|||
TraceAttack_FireBullets(1, pl.origin + pl.view_ofs, 8, [0.01,0,01]);
|
||||
|
||||
pl.glock_mag--;
|
||||
|
||||
|
||||
if (self.flags & FL_CROUCHING)
|
||||
Animation_PlayerTopTemp(ANIM_SHOOT1HAND, 0.45f);
|
||||
else
|
||||
Animation_PlayerTopTemp(ANIM_CR_SHOOT1HAND, 0.45f);
|
||||
|
||||
Weapons_PlaySound(pl, CHAN_WEAPON, "weapons/pl_gun3.wav", 1, ATTN_NORM);
|
||||
Weapons_UpdateAmmo(pl, pl.glock_mag, pl.ammo_9mm, __NULL__);
|
||||
#endif
|
||||
|
@ -131,6 +136,12 @@ void w_glock_secondary(void)
|
|||
|
||||
pl.glock_mag--;
|
||||
|
||||
|
||||
if (self.flags & FL_CROUCHING)
|
||||
Animation_PlayerTopTemp(ANIM_SHOOT1HAND, 0.45f);
|
||||
else
|
||||
Animation_PlayerTopTemp(ANIM_CR_SHOOT1HAND, 0.45f);
|
||||
|
||||
Weapons_PlaySound(pl, CHAN_WEAPON, "weapons/pl_gun3.wav", 1, ATTN_NORM);
|
||||
Weapons_UpdateAmmo(pl, pl.glock_mag, pl.ammo_9mm, __NULL__);
|
||||
#endif
|
||||
|
@ -192,6 +203,14 @@ void w_glock_release(void)
|
|||
pl.w_idle_next = 10.0f;
|
||||
#endif
|
||||
}
|
||||
|
||||
float w_glock_aimanim(void)
|
||||
{
|
||||
#ifdef SSQC
|
||||
return self.flags & FL_CROUCHING ? ANIM_CR_AIM1HAND : ANIM_AIM1HAND;
|
||||
#endif
|
||||
}
|
||||
|
||||
void w_glock_hud(void)
|
||||
{
|
||||
#ifdef CSQC
|
||||
|
@ -231,6 +250,7 @@ weapon_t w_glock =
|
|||
w_glock_wmodel,
|
||||
w_glock_pmodel,
|
||||
w_glock_deathmsg,
|
||||
w_glock_aimanim,
|
||||
w_glock_hudpic
|
||||
};
|
||||
|
||||
|
|
|
@ -70,6 +70,12 @@ void w_handgrenade_reload(void)
|
|||
void w_handgrenade_release(void)
|
||||
{
|
||||
|
||||
}
|
||||
float w_handgrenade_aimanim(void)
|
||||
{
|
||||
#ifdef SSQC
|
||||
return self.flags & FL_CROUCHING ? ANIM_CR_AIMCROWBAR : ANIM_AIMCROWBAR;
|
||||
#endif
|
||||
}
|
||||
void w_handgrenade_hudpic(int s, vector pos)
|
||||
{
|
||||
|
@ -100,6 +106,7 @@ weapon_t w_handgrenade =
|
|||
w_handgrenade_wmodel,
|
||||
w_handgrenade_pmodel,
|
||||
w_handgrenade_deathmsg,
|
||||
w_handgrenade_aimanim,
|
||||
w_handgrenade_hudpic
|
||||
};
|
||||
|
||||
|
|
|
@ -135,6 +135,13 @@ void w_hornetgun_crosshair(void)
|
|||
#endif
|
||||
}
|
||||
|
||||
float w_hornetgun_aimanim(void)
|
||||
{
|
||||
#ifdef SSQC
|
||||
return self.flags & FL_CROUCHING ? ANIM_CR_AIMHIVE : ANIM_AIMHIVE;
|
||||
#endif
|
||||
}
|
||||
|
||||
void w_hornetgun_hudpic(int s, vector pos)
|
||||
{
|
||||
#ifdef CSQC
|
||||
|
@ -164,6 +171,7 @@ weapon_t w_hornetgun =
|
|||
w_hornetgun_wmodel,
|
||||
w_hornetgun_pmodel,
|
||||
w_hornetgun_deathmsg,
|
||||
w_hornetgun_aimanim,
|
||||
w_hornetgun_hudpic
|
||||
};
|
||||
|
||||
|
|
|
@ -193,6 +193,13 @@ void w_mp5_crosshair(void)
|
|||
#endif
|
||||
}
|
||||
|
||||
float w_mp5_aimanim(void)
|
||||
{
|
||||
#ifdef SSQC
|
||||
return self.flags & ANIM_CR_AIMMP5 ? ANIM_CR_AIMCROWBAR : ANIM_AIMMP5;
|
||||
#endif
|
||||
}
|
||||
|
||||
void w_mp5_hudpic(int s, vector pos)
|
||||
{
|
||||
#ifdef CSQC
|
||||
|
@ -221,6 +228,7 @@ weapon_t w_mp5 = {
|
|||
w_mp5_wmodel,
|
||||
w_mp5_pmodel,
|
||||
w_mp5_deathmsg,
|
||||
w_mp5_aimanim,
|
||||
w_mp5_hudpic
|
||||
};
|
||||
|
||||
|
|
|
@ -153,6 +153,13 @@ void w_python_crosshair(void)
|
|||
#endif
|
||||
}
|
||||
|
||||
float w_python_aimanim(void)
|
||||
{
|
||||
#ifdef SSQC
|
||||
return self.flags & FL_CROUCHING ? ANIM_CR_AIMPYTHON : ANIM_AIMPYTHON;
|
||||
#endif
|
||||
}
|
||||
|
||||
void w_python_hudpic(int s, vector pos)
|
||||
{
|
||||
#ifdef CSQC
|
||||
|
@ -182,6 +189,7 @@ weapon_t w_python =
|
|||
w_python_wmodel,
|
||||
w_python_pmodel,
|
||||
w_python_deathmsg,
|
||||
w_python_aimanim,
|
||||
w_python_hudpic
|
||||
};
|
||||
|
||||
|
|
|
@ -74,6 +74,13 @@ void w_rpg_release(void)
|
|||
|
||||
}
|
||||
|
||||
float w_rpg_aimanim(void)
|
||||
{
|
||||
#ifdef SSQC
|
||||
return self.flags & FL_CROUCHING ? ANIM_CR_AIMRPG : ANIM_AIMRPG;
|
||||
#endif
|
||||
}
|
||||
|
||||
void w_rpg_hudpic(int s, vector pos)
|
||||
{
|
||||
#ifdef CSQC
|
||||
|
@ -115,6 +122,7 @@ weapon_t w_rpg =
|
|||
w_rpg_wmodel,
|
||||
w_rpg_pmodel,
|
||||
w_rpg_deathmsg,
|
||||
w_rpg_aimanim,
|
||||
w_rpg_hudpic
|
||||
};
|
||||
|
||||
|
|
|
@ -164,6 +164,14 @@ void w_satchel_release(void)
|
|||
#endif
|
||||
}
|
||||
|
||||
float w_satchel_aimanim(void)
|
||||
{
|
||||
#ifdef SSQC
|
||||
return self.flags & FL_CROUCHING ? ANIM_CR_AIMSQUEAK : ANIM_AIMSQUEAK;
|
||||
#endif
|
||||
}
|
||||
|
||||
|
||||
void w_satchel_hudpic(int s, vector pos)
|
||||
{
|
||||
#ifdef CSQC
|
||||
|
@ -193,6 +201,7 @@ weapon_t w_satchel =
|
|||
w_satchel_wmodel,
|
||||
w_satchel_pmodel,
|
||||
w_satchel_deathmsg,
|
||||
w_satchel_aimanim,
|
||||
w_satchel_hudpic
|
||||
};
|
||||
|
||||
|
|
|
@ -146,6 +146,13 @@ void w_shotgun_crosshair(void)
|
|||
#endif
|
||||
}
|
||||
|
||||
float w_shotgun_aimanim(void)
|
||||
{
|
||||
#ifdef SSQC
|
||||
return self.flags & FL_CROUCHING ? ANIM_CR_AIMSHOTGUN : ANIM_AIMSHOTGUN;
|
||||
#endif
|
||||
}
|
||||
|
||||
void w_shotgun_hudpic(int s, vector pos)
|
||||
{
|
||||
#ifdef CSQC
|
||||
|
@ -175,6 +182,7 @@ weapon_t w_shotgun =
|
|||
w_shotgun_wmodel,
|
||||
w_shotgun_pmodel,
|
||||
w_shotgun_deathmsg,
|
||||
w_shotgun_aimanim,
|
||||
w_shotgun_hudpic
|
||||
};
|
||||
|
||||
|
|
|
@ -87,6 +87,15 @@ string w_snark_deathmsg(void)
|
|||
{
|
||||
return "";
|
||||
}
|
||||
|
||||
|
||||
float w_snark_aimanim(void)
|
||||
{
|
||||
#ifdef SSQC
|
||||
return self.flags & FL_CROUCHING ? ANIM_CR_AIMSQUEAK : ANIM_AIMSQUEAK;
|
||||
#endif
|
||||
}
|
||||
|
||||
void w_snark_hudpic(int s, vector pos)
|
||||
{
|
||||
#ifdef CSQC
|
||||
|
@ -116,6 +125,7 @@ weapon_t w_snark =
|
|||
w_snark_wmodel,
|
||||
w_snark_pmodel,
|
||||
w_snark_deathmsg,
|
||||
w_snark_aimanim,
|
||||
w_snark_hudpic
|
||||
};
|
||||
|
||||
|
|
|
@ -92,6 +92,13 @@ void w_tripmine_release(void)
|
|||
}
|
||||
}
|
||||
|
||||
float w_tripmine_aimanim(void)
|
||||
{
|
||||
#ifdef SSQC
|
||||
return self.flags & FL_CROUCHING ? ANIM_CR_AIMTRIPMINE : ANIM_AIMTRIPMINE;
|
||||
#endif
|
||||
}
|
||||
|
||||
void w_tripmine_hudpic(int s, vector pos)
|
||||
{
|
||||
#ifdef CSQC
|
||||
|
@ -121,6 +128,7 @@ weapon_t w_tripmine =
|
|||
w_tripmine_wmodel,
|
||||
w_tripmine_pmodel,
|
||||
w_tripmine_deathmsg,
|
||||
w_tripmine_aimanim,
|
||||
w_tripmine_hudpic
|
||||
};
|
||||
|
||||
|
|
|
@ -122,6 +122,17 @@ string Weapons_GetDeathmessage(int id)
|
|||
return "";
|
||||
}
|
||||
|
||||
#ifdef SSQC
|
||||
float Weapons_GetAim(int id)
|
||||
{
|
||||
if (g_weapons[id].aimanim != __NULL__) {
|
||||
return g_weapons[id].aimanim();
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifdef CSQC
|
||||
void Weapons_HUDPic(int id, int s, vector pos)
|
||||
{
|
||||
|
|
|
@ -26,6 +26,7 @@ typedef struct
|
|||
string() wmodel;
|
||||
string() pmodel;
|
||||
string() deathmsg;
|
||||
float() aimanim;
|
||||
void(int, vector) hudpic;
|
||||
} weapon_t;
|
||||
|
||||
|
@ -78,6 +79,7 @@ int Weapons_IsPresent(player pl, int w);
|
|||
|
||||
#ifdef SSQC
|
||||
void Weapons_InitItem(int w);
|
||||
float Weapons_GetAim(int w);
|
||||
void Weapons_AddItem(player pl, int w);
|
||||
string Weapons_GetWorldmodel(int id);
|
||||
void Weapons_UpdateAmmo(player pl, int a1, int a2, int a3);
|
||||
|
|
Loading…
Reference in a new issue