mirror of
https://github.com/DrBeef/Raze.git
synced 2025-02-20 18:52:43 +00:00
- migrated a few functions to use actors.
This commit is contained in:
parent
345667f945
commit
6d3f9ca0d6
4 changed files with 12 additions and 11 deletions
|
@ -278,7 +278,7 @@ inline int PlotCourseToSprite(DExhumedActor* nSprite1, DExhumedActor* nSprite2)
|
|||
return PlotCourseToSprite(nSprite1->GetSpriteIndex(), nSprite2->GetSpriteIndex());
|
||||
}
|
||||
void CheckSectorFloor(short nSector, int z, int *x, int *y);
|
||||
int GetAngleToSprite(int nSprite1, int nSprite2);
|
||||
int GetAngleToSprite(DExhumedActor* nSprite1, DExhumedActor* nSprite2);
|
||||
int GetWallNormal(short nWall);
|
||||
int GetUpAngle(short nSprite1, int nVal, short nSprite2, int ecx);
|
||||
int GetUpAngle(DExhumedActor* nSprite1, int nVal, DExhumedActor* nSprite2, int ecx)
|
||||
|
|
|
@ -702,13 +702,13 @@ int MoveCreatureWithCaution(int nSprite)
|
|||
return ecx;
|
||||
}
|
||||
|
||||
int GetAngleToSprite(int nSprite1, int nSprite2)
|
||||
int GetAngleToSprite(DExhumedActor* a1, DExhumedActor* a2)
|
||||
{
|
||||
if (nSprite1 < 0 || nSprite2 < 0)
|
||||
if (!a1 || !a2)
|
||||
return -1;
|
||||
|
||||
auto pSprite1 = &sprite[nSprite1];
|
||||
auto pSprite2 = &sprite[nSprite2];
|
||||
auto pSprite1 = &a1->s();
|
||||
auto pSprite2 = &a2->s();
|
||||
|
||||
return GetMyAngle(pSprite2->x - pSprite1->x, pSprite2->y - pSprite1->y);
|
||||
}
|
||||
|
@ -1465,7 +1465,7 @@ int BuildCreatureChunk(int nVal, int nPic)
|
|||
pSprite->y = sprite[nVal].y;
|
||||
pSprite->z = sprite[nVal].z;
|
||||
|
||||
mychangespritesect(actor->GetSpriteIndex(), sprite[nVal].sectnum);
|
||||
ChangeActorSect(actor, sprite[nVal].sectnum);
|
||||
|
||||
pSprite->cstat = 0x80;
|
||||
pSprite->shade = -12;
|
||||
|
|
|
@ -800,8 +800,9 @@ void AIPlayer::Tick(RunListEvent* ev)
|
|||
short nPlayer = RunData[ev->nRun].nObjIndex;
|
||||
assert(nPlayer >= 0 && nPlayer < kMaxPlayers);
|
||||
|
||||
short nPlayerSprite = PlayerList[nPlayer].nSprite;
|
||||
auto pPlayerSprite = &sprite[nPlayerSprite];
|
||||
auto pPlayerActor = PlayerList[nPlayer].Actor();
|
||||
int nPlayerSprite = PlayerList[nPlayer].nSprite;
|
||||
auto pPlayerSprite = &pPlayerActor->s();
|
||||
|
||||
short nDopple = nDoppleSprite[nPlayer];
|
||||
|
||||
|
@ -904,7 +905,7 @@ void AIPlayer::Tick(RunListEvent* ev)
|
|||
// pPlayerSprite->zvel is modified within Gravity()
|
||||
short zVel = pPlayerSprite->zvel;
|
||||
|
||||
Gravity(nPlayerSprite);
|
||||
Gravity(pPlayerActor);
|
||||
|
||||
if (pPlayerSprite->zvel >= 6500 && zVel < 6500)
|
||||
{
|
||||
|
@ -994,7 +995,7 @@ void AIPlayer::Tick(RunListEvent* ev)
|
|||
{
|
||||
if (nTotalPlayers <= 1)
|
||||
{
|
||||
auto ang = GetAngleToSprite(nPlayerSprite, nSpiritSprite) & kAngleMask;
|
||||
auto ang = GetAngleToSprite(pPlayerActor, &exhumedActors[nSpiritSprite]) & kAngleMask;
|
||||
PlayerList[nPlayer].angle.settarget(ang, true);
|
||||
pPlayerSprite->ang = ang;
|
||||
|
||||
|
|
|
@ -288,7 +288,7 @@ DExhumedActor* FindSnakeEnemy(short nSnake)
|
|||
{
|
||||
if (pAct2 != pPlayerActor && !(pSpr2->cstat & 0x8000))
|
||||
{
|
||||
int nAngle2 = (nAngle - GetAngleToSprite(pActor->GetSpriteIndex(), pAct2->GetSpriteIndex())) & kAngleMask;
|
||||
int nAngle2 = (nAngle - GetAngleToSprite(pActor, pAct2)) & kAngleMask;
|
||||
if (nAngle2 < esi)
|
||||
{
|
||||
pEnemy = pAct2;
|
||||
|
|
Loading…
Reference in a new issue