mirror of
https://github.com/ZDoom/gzdoom-gles.git
synced 2025-02-18 01:21:32 +00:00
- cleaned up the mugshot code's angle checks (I hope these are correct because the old code was so confusing...)
This commit is contained in:
parent
f332a098cd
commit
51a98d0e5d
1 changed files with 6 additions and 19 deletions
|
@ -339,8 +339,6 @@ CVAR(Bool,st_oldouch,false,CVAR_ARCHIVE)
|
||||||
int FMugShot::UpdateState(player_t *player, StateFlags stateflags)
|
int FMugShot::UpdateState(player_t *player, StateFlags stateflags)
|
||||||
{
|
{
|
||||||
int i;
|
int i;
|
||||||
angle_t badguyangle;
|
|
||||||
angle_t diffang;
|
|
||||||
FString full_state_name;
|
FString full_state_name;
|
||||||
|
|
||||||
if (player->health > 0)
|
if (player->health > 0)
|
||||||
|
@ -366,25 +364,14 @@ int FMugShot::UpdateState(player_t *player, StateFlags stateflags)
|
||||||
if (player->mo != NULL)
|
if (player->mo != NULL)
|
||||||
{
|
{
|
||||||
// The next 12 lines are from the Doom statusbar code.
|
// The next 12 lines are from the Doom statusbar code.
|
||||||
badguyangle = player->mo->__f_AngleTo(player->attacker);
|
DAngle badguyangle = player->mo->AngleTo(player->attacker);
|
||||||
if (badguyangle > player->mo->_f_angle())
|
DAngle diffang = deltaangle(player->mo->Angles.Yaw, badguyangle);
|
||||||
{
|
if (diffang > 45.)
|
||||||
// whether right or left
|
{ // turn face right
|
||||||
diffang = badguyangle - player->mo->_f_angle();
|
|
||||||
i = diffang > ANG180;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
// whether left or right
|
|
||||||
diffang = player->mo->_f_angle() - badguyangle;
|
|
||||||
i = diffang <= ANG180;
|
|
||||||
} // confusing, aint it?
|
|
||||||
if (i && diffang >= ANG45)
|
|
||||||
{
|
|
||||||
damage_angle = 0;
|
damage_angle = 0;
|
||||||
}
|
}
|
||||||
else if (!i && diffang >= ANG45)
|
else if (diffang < -45.)
|
||||||
{
|
{ // turn face left
|
||||||
damage_angle = 2;
|
damage_angle = 2;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue