mirror of
https://github.com/ZDoom/Raze.git
synced 2025-02-20 18:42:26 +00:00
- floatified GetAngleToSprite
This commit is contained in:
parent
b5c315978c
commit
f393b7e917
5 changed files with 14 additions and 14 deletions
|
@ -224,7 +224,7 @@ DExhumedActor* FindPlayer(DExhumedActor* nSprite, int nDistance, bool dontengage
|
|||
DExhumedActor* BuildCreatureChunk(DExhumedActor* pSrc, int nPic, bool bSpecial = false);
|
||||
int PlotCourseToSprite(DExhumedActor* nSprite1, DExhumedActor* nSprite2);
|
||||
void CheckSectorFloor(sectortype* pSector, double z, DVector2& xy);
|
||||
int GetAngleToSprite(DExhumedActor* nSprite1, DExhumedActor* nSprite2);
|
||||
DAngle GetAngleToSprite(DExhumedActor* nSprite1, DExhumedActor* nSprite2);
|
||||
DAngle GetWallNormal(walltype* nWall);
|
||||
void MoveSector(sectortype* pSector, DAngle nAngle, DVector2& vel);
|
||||
Collision AngleChase(DExhumedActor* nSprite, DExhumedActor* nSprite2, int ebx, int ecx, DAngle push1);
|
||||
|
|
|
@ -338,8 +338,8 @@ void AIFish::Tick(RunListEvent* ev)
|
|||
pActor->nAction = 2;
|
||||
pActor->nFrame = 0;
|
||||
|
||||
int nAngle = getangle(pTargetActor->spr.pos - pActor->spr.pos);
|
||||
pActor->set_int_zvel(bsin(nAngle, -5));
|
||||
DAngle nAngle = VecToAngle(pTargetActor->spr.pos - pActor->spr.pos);
|
||||
pActor->vel.Z = nAngle.Sin() * 2;
|
||||
|
||||
pActor->nCount = RandomSize(6) + 90;
|
||||
}
|
||||
|
|
|
@ -545,12 +545,12 @@ Collision MoveCreatureWithCaution(DExhumedActor* pActor)
|
|||
return result;
|
||||
}
|
||||
|
||||
int GetAngleToSprite(DExhumedActor* a1, DExhumedActor* a2)
|
||||
DAngle GetAngleToSprite(DExhumedActor* a1, DExhumedActor* a2)
|
||||
{
|
||||
if (!a1 || !a2)
|
||||
return -1;
|
||||
return -minAngle;
|
||||
|
||||
return getangle(a2->spr.pos - a1->spr.pos);
|
||||
return VecToAngle(a2->spr.pos - a1->spr.pos);
|
||||
}
|
||||
|
||||
int PlotCourseToSprite(DExhumedActor* pActor1, DExhumedActor* pActor2)
|
||||
|
|
|
@ -964,9 +964,9 @@ void AIPlayer::Tick(RunListEvent* ev)
|
|||
{
|
||||
if (nTotalPlayers <= 1)
|
||||
{
|
||||
auto ang = GetAngleToSprite(pPlayerActor, pSpiritSprite) & kAngleMask;
|
||||
PlayerList[nPlayer].angle.settarget(DAngle::fromBuild(ang), true);
|
||||
pPlayerActor->set_int_ang(ang);
|
||||
auto ang = GetAngleToSprite(pPlayerActor, pSpiritSprite);
|
||||
PlayerList[nPlayer].angle.settarget(ang, true);
|
||||
pPlayerActor->spr.angle = ang;
|
||||
|
||||
PlayerList[nPlayer].horizon.settarget(buildhoriz(0), true);
|
||||
|
||||
|
|
|
@ -244,10 +244,10 @@ DExhumedActor* FindSnakeEnemy(int nSnake)
|
|||
DExhumedActor* pActor = SnakeList[nSnake].pSprites[0]; // CHECKME
|
||||
if (!pActor) return nullptr;
|
||||
|
||||
int nAngle = pActor->int_ang();
|
||||
DAngle nAngle = pActor->spr.angle;
|
||||
auto pSector =pActor->sector();
|
||||
|
||||
int esi = 2048;
|
||||
DAngle maxangle = DAngle360;
|
||||
|
||||
DExhumedActor* pEnemy = nullptr;
|
||||
|
||||
|
@ -258,11 +258,11 @@ DExhumedActor* FindSnakeEnemy(int nSnake)
|
|||
{
|
||||
if (pAct2 != pPlayerActor && !(pAct2->spr.cstat & CSTAT_SPRITE_INVISIBLE))
|
||||
{
|
||||
int nAngle2 = (nAngle - GetAngleToSprite(pActor, pAct2)) & kAngleMask;
|
||||
if (nAngle2 < esi)
|
||||
DAngle nAngle2 = absangle(nAngle, GetAngleToSprite(pActor, pAct2));
|
||||
if (nAngle2 < maxangle)
|
||||
{
|
||||
pEnemy = pAct2;
|
||||
esi = nAngle2;
|
||||
maxangle = nAngle2;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue