Conform to the latest upstream changes in FreeHL and Nuclide regarding
animation and sound calls
This commit is contained in:
parent
cd687f48d8
commit
9678955694
9 changed files with 69 additions and 37 deletions
|
@ -21,7 +21,6 @@ var int autocvar_sv_playerkeepalive = TRUE;
|
|||
void
|
||||
HLGameRules::PlayerPostFrame(base_player pp)
|
||||
{
|
||||
Animation_PlayerUpdate();
|
||||
}
|
||||
|
||||
void
|
||||
|
|
|
@ -12,7 +12,7 @@ player.qc
|
|||
../../../valve/src/shared/fx_breakmodel.qc
|
||||
../../../valve/src/shared/fx_explosion.qc
|
||||
../../../valve/src/shared/fx_gibhuman.qc
|
||||
../../../valve/src/shared/fx_spark.qc
|
||||
../../../base/src/shared/fx_spark.qc
|
||||
../../../valve/src/shared/fx_impact.qc
|
||||
|
||||
items.h
|
||||
|
|
|
@ -33,8 +33,8 @@ enumflags
|
|||
PLAYER_ARMOR,
|
||||
PLAYER_MOVETYPE,
|
||||
PLAYER_VIEWOFS,
|
||||
PLAYER_BASEFRAME,
|
||||
PLAYER_FRAME,
|
||||
PLAYER_TOPFRAME,
|
||||
PLAYER_BOTTOMFRAME,
|
||||
PLAYER_AMMO1,
|
||||
PLAYER_AMMO2,
|
||||
PLAYER_AMMO3,
|
||||
|
@ -154,6 +154,12 @@ class player:base_player
|
|||
int mode_sporelauncher; int mode_sporelauncher_net;
|
||||
int mode_m249; int mode_m249_net;
|
||||
|
||||
float anim_top; float anim_top_net;
|
||||
float anim_top_time; float anim_top_time_net;
|
||||
float anim_top_delay; float anim_top_delay_net;
|
||||
float anim_bottom; float anim_bottom_net;
|
||||
float anim_bottom_time; float anim_bottom_time_net;
|
||||
|
||||
#ifdef CLIENT
|
||||
/* External model */
|
||||
entity p_model;
|
||||
|
@ -161,7 +167,6 @@ class player:base_player
|
|||
int p_model_bone;
|
||||
float lastweapon;
|
||||
|
||||
virtual void(void) gun_offset;
|
||||
virtual void(void) draw;
|
||||
virtual float() predraw;
|
||||
virtual void(void) postdraw;
|
||||
|
@ -237,12 +242,16 @@ player::ReceiveEntity(float new)
|
|||
movetype = readbyte();
|
||||
if (fl & PLAYER_VIEWOFS)
|
||||
view_ofs[2] = readfloat();
|
||||
if (fl & PLAYER_BASEFRAME)
|
||||
baseframe = readbyte();
|
||||
if (fl & PLAYER_FRAME) {
|
||||
frame = readbyte();
|
||||
frame1time = 0.0f;
|
||||
frame2time = 0.0f;
|
||||
|
||||
/* animation */
|
||||
if (fl & PLAYER_TOPFRAME) {
|
||||
anim_top = readbyte();
|
||||
anim_top_time = readfloat();
|
||||
anim_top_delay = readfloat();
|
||||
}
|
||||
if (fl & PLAYER_BOTTOMFRAME) {
|
||||
anim_bottom = readbyte();
|
||||
anim_bottom_time = readfloat();
|
||||
}
|
||||
|
||||
if (fl & PLAYER_AMMO1) {
|
||||
|
@ -358,6 +367,12 @@ player::PredictPreFrame(void)
|
|||
mode_wrench_net = mode_wrench;
|
||||
mode_sporelauncher_net = mode_sporelauncher;
|
||||
mode_m249_net = mode_m249;
|
||||
|
||||
anim_top_net = anim_top;
|
||||
anim_top_delay_net = anim_top_delay;
|
||||
anim_top_time_net = anim_top_time;
|
||||
anim_bottom_net = anim_bottom;
|
||||
anim_bottom_time_net = anim_bottom_time;
|
||||
}
|
||||
|
||||
/*
|
||||
|
@ -413,6 +428,12 @@ player::PredictPostFrame(void)
|
|||
mode_wrench = mode_wrench_net;
|
||||
mode_sporelauncher = mode_sporelauncher_net;
|
||||
mode_m249 = mode_m249_net;
|
||||
|
||||
anim_top = anim_top_net;
|
||||
anim_top_delay = anim_top_delay_net;
|
||||
anim_top_time = anim_top_time_net;
|
||||
anim_bottom = anim_bottom_net;
|
||||
anim_bottom_time = anim_bottom_time_net;
|
||||
}
|
||||
|
||||
#else
|
||||
|
@ -475,11 +496,11 @@ player::EvaluateEntity(void)
|
|||
if (old_viewofs != view_ofs[2])
|
||||
SendFlags |= PLAYER_VIEWOFS;
|
||||
|
||||
if (old_baseframe != baseframe)
|
||||
SendFlags |= PLAYER_BASEFRAME;
|
||||
|
||||
if (old_frame != frame)
|
||||
SendFlags |= PLAYER_FRAME;
|
||||
/* animation */
|
||||
if (anim_bottom_net != anim_bottom || anim_bottom_time != anim_bottom_time_net)
|
||||
SendFlags |= PLAYER_BOTTOMFRAME;
|
||||
if (anim_top_net != anim_top || anim_top_time != anim_top_time_net || anim_top_delay != anim_top_delay_net)
|
||||
SendFlags |= PLAYER_TOPFRAME;
|
||||
|
||||
/* ammo 1 type updates */
|
||||
if (glock_mag != glock_mag_net) {
|
||||
|
@ -650,6 +671,12 @@ player::EvaluateEntity(void)
|
|||
mode_wrench_net = mode_wrench;
|
||||
mode_sporelauncher_net = mode_sporelauncher;
|
||||
mode_m249_net = mode_m249;
|
||||
|
||||
anim_top_net = anim_top;
|
||||
anim_top_delay_net = anim_top_delay;
|
||||
anim_top_time_net = anim_top_time;
|
||||
anim_bottom_net = anim_bottom;
|
||||
anim_bottom_time_net = anim_bottom_time;
|
||||
}
|
||||
|
||||
/*
|
||||
|
@ -718,10 +745,16 @@ player::SendEntity(entity ePEnt, float fChanged)
|
|||
WriteByte(MSG_ENTITY, movetype);
|
||||
if (fChanged & PLAYER_VIEWOFS)
|
||||
WriteFloat(MSG_ENTITY, view_ofs[2]);
|
||||
if (fChanged & PLAYER_BASEFRAME)
|
||||
WriteByte(MSG_ENTITY, baseframe);
|
||||
if (fChanged & PLAYER_FRAME)
|
||||
WriteByte(MSG_ENTITY, frame);
|
||||
|
||||
if (fChanged & PLAYER_TOPFRAME) {
|
||||
WriteByte(MSG_ENTITY, anim_top);
|
||||
WriteFloat(MSG_ENTITY, anim_top_time);
|
||||
WriteFloat(MSG_ENTITY, anim_top_delay);
|
||||
}
|
||||
if (fChanged & PLAYER_BOTTOMFRAME) {
|
||||
WriteByte(MSG_ENTITY, anim_bottom);
|
||||
WriteFloat(MSG_ENTITY, anim_bottom_time);
|
||||
}
|
||||
|
||||
if (fChanged & PLAYER_AMMO1) {
|
||||
WriteByte(MSG_ENTITY, glock_mag);
|
||||
|
|
|
@ -120,7 +120,7 @@ w_displacer_teleport(entity target)
|
|||
#ifdef SERVER
|
||||
player pl = (player)target;
|
||||
/* TODO, 250 damage */
|
||||
Weapons_PlaySound(pl, CHAN_WEAPON, "weapons/displacer_teleport.wav", 1, ATTN_NORM);
|
||||
sound(pl, CHAN_WEAPON, "weapons/displacer_teleport.wav", 1, ATTN_NORM);
|
||||
|
||||
/* FIXME: This will teleport upon your standard spawn positions
|
||||
* in other game modes, such as CTF (your team spawns), no clue
|
||||
|
@ -235,7 +235,7 @@ w_displacer_primary(void)
|
|||
#ifdef CLIENT
|
||||
Weapons_ViewAnimation(DISP_SPINUP);
|
||||
#else
|
||||
Weapons_PlaySound(pl, CHAN_WEAPON, "weapons/displacer_spin.wav", 1, ATTN_NORM);
|
||||
sound(pl, CHAN_WEAPON, "weapons/displacer_spin.wav", 1, ATTN_NORM);
|
||||
#endif
|
||||
pl.w_idle_next = pl.w_attack_next = 1.0f;
|
||||
}
|
||||
|
@ -264,7 +264,7 @@ w_displacer_secondary(void)
|
|||
#ifdef CLIENT
|
||||
Weapons_ViewAnimation(DISP_SPINUP);
|
||||
#else
|
||||
Weapons_PlaySound(pl, CHAN_WEAPON, "weapons/displacer_spin2.wav", 1, ATTN_NORM);
|
||||
sound(pl, CHAN_WEAPON, "weapons/displacer_spin2.wav", 1, ATTN_NORM);
|
||||
#endif
|
||||
pl.w_idle_next = pl.w_attack_next = 1.0f;
|
||||
}
|
||||
|
|
|
@ -116,7 +116,6 @@ w_knife_primary(void)
|
|||
}
|
||||
pl.w_idle_next = 2.5f;
|
||||
|
||||
#ifdef CLIENT
|
||||
r = (float)input_sequence % 3;
|
||||
switch (r) {
|
||||
case 0:
|
||||
|
@ -129,13 +128,14 @@ w_knife_primary(void)
|
|||
anim = trace_fraction >= 1 ? KNIFE_ATTACK3MISS:KNIFE_ATTACK3HIT;
|
||||
}
|
||||
Weapons_ViewAnimation(anim);
|
||||
#else
|
||||
|
||||
if (pl.flags & FL_CROUCHING) {
|
||||
Animation_PlayerTopTemp(ANIM_SHOOTCROWBAR, 0.5f);
|
||||
Animation_PlayerTop(pl, ANIM_SHOOTCROWBAR, 0.5f);
|
||||
} else {
|
||||
Animation_PlayerTopTemp(ANIM_CR_SHOOTCROWBAR, 0.42f);
|
||||
Animation_PlayerTop(pl, ANIM_CR_SHOOTCROWBAR, 0.42f);
|
||||
}
|
||||
|
||||
#ifdef SERVER
|
||||
r = (float)input_sequence % 3;
|
||||
switch (r) {
|
||||
case 0:
|
||||
|
|
|
@ -185,13 +185,13 @@ w_m249_primary(void)
|
|||
int r = (float)input_sequence % 3;
|
||||
switch (r) {
|
||||
case 0:
|
||||
Weapons_PlaySound(pl, CHAN_WEAPON, "weapons/saw_fire1.wav", 1, ATTN_NORM);
|
||||
sound(pl, CHAN_WEAPON, "weapons/saw_fire1.wav", 1, ATTN_NORM);
|
||||
break;
|
||||
case 1:
|
||||
Weapons_PlaySound(pl, CHAN_WEAPON, "weapons/saw_fire2.wav", 1, ATTN_NORM);
|
||||
sound(pl, CHAN_WEAPON, "weapons/saw_fire2.wav", 1, ATTN_NORM);
|
||||
break;
|
||||
default:
|
||||
Weapons_PlaySound(pl, CHAN_WEAPON, "weapons/saw_fire3.wav", 1, ATTN_NORM);
|
||||
sound(pl, CHAN_WEAPON, "weapons/saw_fire3.wav", 1, ATTN_NORM);
|
||||
}
|
||||
|
||||
pl.m249_mag--;
|
||||
|
|
|
@ -124,7 +124,6 @@ w_pipewrench_primary(void)
|
|||
}
|
||||
pl.w_idle_next = 2.5f;
|
||||
|
||||
#ifdef CLIENT
|
||||
int r = (float)input_sequence % 3;
|
||||
switch (r) {
|
||||
case 0:
|
||||
|
@ -137,13 +136,14 @@ w_pipewrench_primary(void)
|
|||
anim = trace_fraction >= 1 ? PIPE_ATTACK3MISS:PIPE_ATTACK3HIT;
|
||||
}
|
||||
Weapons_ViewAnimation(anim);
|
||||
#else
|
||||
|
||||
if (pl.flags & FL_CROUCHING) {
|
||||
Animation_PlayerTopTemp(ANIM_SHOOTCROWBAR, 0.5f);
|
||||
Animation_PlayerTop(pl, ANIM_SHOOTCROWBAR, 0.5f);
|
||||
} else {
|
||||
Animation_PlayerTopTemp(ANIM_CR_SHOOTCROWBAR, 0.42f);
|
||||
Animation_PlayerTop(pl, ANIM_CR_SHOOTCROWBAR, 0.42f);
|
||||
}
|
||||
|
||||
#ifdef SERVER
|
||||
sound(pl, CHAN_WEAPON, "weapons/pwrench_miss1.wav", 1, ATTN_NORM);
|
||||
|
||||
if (trace_fraction >= 1.0) {
|
||||
|
@ -252,7 +252,7 @@ w_pipewrench_release(void)
|
|||
snd = "weapons/pwrench_big_hit1.wav";
|
||||
break;
|
||||
}
|
||||
Weapons_PlaySound(pl, CHAN_WEAPON, snd, 1.0f, ATTN_NORM);
|
||||
sound(pl, CHAN_WEAPON, snd, 1.0f, ATTN_NORM);
|
||||
#endif
|
||||
pl.w_attack_next = 1.0f;
|
||||
pl.w_idle_next = 10.0f;
|
||||
|
|
|
@ -185,7 +185,7 @@ w_shockrifle_primary(void)
|
|||
|
||||
#ifdef SERVER
|
||||
w_shockrifle_shoothornet();
|
||||
Weapons_PlaySound(pl, CHAN_WEAPON, "weapons/shock_fire.wav", 1, ATTN_NORM);
|
||||
sound(pl, CHAN_WEAPON, "weapons/shock_fire.wav", 1, ATTN_NORM);
|
||||
|
||||
pl.ammo_shock--;
|
||||
Weapons_UpdateAmmo(pl, -1, pl.ammo_shock, -1);
|
||||
|
|
|
@ -131,7 +131,7 @@ w_sniperrifle_primary(void)
|
|||
/* Actual firing */
|
||||
#ifdef SERVER
|
||||
TraceAttack_FireBullets(1, pl.origin + pl.view_ofs, 40, [0.00873, 0.00873], WEAPON_SNIPERRIFLE);
|
||||
Weapons_PlaySound(pl, CHAN_WEAPON, "weapons/sniper_fire.wav", 1, ATTN_NORM);
|
||||
sound(pl, CHAN_WEAPON, "weapons/sniper_fire.wav", 1, ATTN_NORM);
|
||||
|
||||
pl.sniper_mag--;
|
||||
Weapons_UpdateAmmo(pl, pl.sniper_mag, pl.ammo_762, __NULL__);
|
||||
|
|
Loading…
Reference in a new issue