- Exhumed: second batch of refactoring writes to spr.pos.

This commit is contained in:
Christoph Oelckers 2022-01-31 20:00:09 +01:00
parent 4131451a1a
commit 24101f8e92
9 changed files with 16 additions and 42 deletions

View file

@ -59,9 +59,7 @@ void ThrowGrenade(int nPlayer, int, int, int ecx, int push1)
ChangeActorSect(pActor, PlayerList[nPlayer].pPlayerViewSect);
pActor->spr.pos.X = pPlayerActor->spr.pos.X;
pActor->spr.pos.Y = pPlayerActor->spr.pos.Y;
pActor->spr.pos.Z = pPlayerActor->spr.pos.Z;
pActor->set_int_pos(pPlayerActor->spr.pos);
if (nAngle < 0) {
nAngle = pPlayerActor->spr.ang;
@ -104,9 +102,7 @@ void BuildGrenade(int nPlayer)
auto pPlayerActor = PlayerList[nPlayer].pActor;
pActor->spr.pos.X = pPlayerActor->spr.pos.X;
pActor->spr.pos.Y = pPlayerActor->spr.pos.Y;
pActor->spr.pos.Z = pPlayerActor->spr.pos.Z - 3840;
pActor->set_int_pos({ pPlayerActor->spr.pos.X, pPlayerActor->spr.pos.Y, pPlayerActor->spr.pos.Z - 3840 });
pActor->spr.shade = -64;
pActor->spr.xrepeat = 20;
pActor->spr.yrepeat = 20;
@ -177,9 +173,7 @@ void ExplodeGrenade(DExhumedActor* pActor)
auto pPlayerActor = PlayerList[nPlayer].pActor;
int nAngle = pPlayerActor->spr.ang;
pActor->spr.pos.Z = pPlayerActor->spr.pos.Z;
pActor->spr.pos.X = bcos(nAngle, -5) + pPlayerActor->spr.pos.X;
pActor->spr.pos.Y = bsin(nAngle, -5) + pPlayerActor->spr.pos.Y;
pActor->set_int_pos({ bcos(nAngle, -5) + pPlayerActor->spr.pos.X, bsin(nAngle, -5) + pPlayerActor->spr.pos.Y, pPlayerActor->spr.pos.Z });
ChangeActorSect(pActor, pPlayerActor->sector());

View file

@ -41,9 +41,7 @@ DExhumedActor* BuildLavaLimb(DExhumedActor* pActor, int move, int ebx)
{
auto pLimbActor = insertActor(pActor->sector(), 118);
pLimbActor->spr.pos.X = pActor->spr.pos.X;
pLimbActor->spr.pos.Y = pActor->spr.pos.Y;
pLimbActor->spr.pos.Z = pActor->spr.pos.Z - RandomLong() % ebx;
pLimbActor->set_int_pos({ pActor->spr.pos.X, pActor->spr.pos.Y, pActor->spr.pos.Z - RandomLong() % ebx });
pLimbActor->spr.cstat = 0;
pLimbActor->spr.shade = -127;
pLimbActor->spr.pal = 1;
@ -115,9 +113,7 @@ void BuildLava(DExhumedActor* pActor, int x, int y, int, sectortype* pSector, in
ChangeActorStat(pActor, 118);
}
pActor->spr.pos.X = x;
pActor->spr.pos.Y = y;
pActor->spr.pos.Z = pSector->floorz;
pActor->set_int_pos({ x, y, pSector->floorz });
pActor->spr.cstat = CSTAT_SPRITE_INVISIBLE;
pActor->spr.xrepeat = 200;
pActor->spr.yrepeat = 200;
@ -292,9 +288,7 @@ void AILavaDude::Tick(RunListEvent* ev)
if (pSector != pActor->sector())
{
ChangeActorSect(pActor, pSector);
pActor->spr.pos.X = x;
pActor->spr.pos.Y = y;
pActor->spr.pos.Z = z;
pActor->set_int_pos({ x, y, z });
pActor->spr.ang = (pActor->spr.ang + ((RandomWord() & 0x3FF) + 1024)) & kAngleMask;
pActor->spr.xvel = bcos(pActor->spr.ang);

View file

@ -56,9 +56,7 @@ void BuildLion(DExhumedActor* pActor, int x, int y, int z, sectortype* pSector,
nAngle = pActor->spr.ang;
}
pActor->spr.pos.X = x;
pActor->spr.pos.Y = y;
pActor->spr.pos.Z = z;
pActor->set_int_pos({ x, y, z });
pActor->spr.cstat = CSTAT_SPRITE_BLOCK_ALL;
pActor->spr.clipdist = 60;
pActor->spr.shade = -12;

View file

@ -53,9 +53,7 @@ void BuildMummy(DExhumedActor* pActor, int x, int y, int z, sectortype* pSector,
ChangeActorStat(pActor, 102);
}
pActor->spr.pos.X = x;
pActor->spr.pos.Y = y;
pActor->spr.pos.Z = z;
pActor->set_int_pos({ x, y, z });
pActor->spr.cstat = CSTAT_SPRITE_BLOCK_ALL;
pActor->spr.shade = -12;
pActor->spr.clipdist = 32;
@ -450,7 +448,7 @@ void AIMummy::Damage(RunListEvent* ev)
pActor->spr.xvel = 0;
pActor->spr.yvel = 0;
pActor->spr.zvel = 0;
pActor->spr.pos.Z = pActor->sector()->floorz;
pActor->set_int_z(pActor->sector()->floorz);
}
else
{

View file

@ -100,7 +100,7 @@ void BuildRa(int nPlayer)
pActor->spr.pal = 1;
pActor->spr.xrepeat = 64;
pActor->spr.yrepeat = 64;
pActor->spr.pos = pPlayerActor->spr.pos;
pActor->set_int_pos(pPlayerActor->spr.pos);
// GrabTimeSlot(3);
@ -163,9 +163,7 @@ void MoveRaToEnemy(int nPlayer)
pTarget = PlayerList[nPlayer].pActor;
}
pActor->spr.pos.X = pTarget->spr.pos.X;
pActor->spr.pos.Y = pTarget->spr.pos.Y;
pActor->spr.pos.Z = pTarget->spr.pos.Z - GetActorHeight(pTarget);
pActor->set_int_pos({ pTarget->spr.pos.X, pTarget->spr.pos.Y, pTarget->spr.pos.Z - GetActorHeight(pTarget) });
if (pActor->sector() != pTarget->sector()) {
ChangeActorSect(pActor, pTarget->sector());

View file

@ -53,9 +53,7 @@ void BuildRex(DExhumedActor* pActor, int x, int y, int z, sectortype* pSector, i
ChangeActorStat(pActor, 119);
}
pActor->spr.pos.X = x;
pActor->spr.pos.Y = y;
pActor->spr.pos.Z = z;
pActor->set_int_pos({ x, y, z });
pActor->spr.cstat = CSTAT_SPRITE_BLOCK_ALL;
pActor->spr.clipdist = 80;
pActor->spr.shade = -12;

View file

@ -50,9 +50,7 @@ void BuildRoach(int nType, DExhumedActor* pActor, int x, int y, int z, sectortyp
angle = pActor->spr.ang;
}
pActor->spr.pos.X = x;
pActor->spr.pos.Y = y;
pActor->spr.pos.Z = z;
pActor->set_int_pos({ x, y, z });
pActor->spr.cstat = CSTAT_SPRITE_BLOCK_ALL;
pActor->spr.shade = -12;
pActor->spr.xoffset = 0;

View file

@ -54,9 +54,7 @@ void BuildScorp(DExhumedActor* pActor, int x, int y, int z, sectortype* pSector,
nAngle = pActor->spr.ang;
}
pActor->spr.pos.X = x;
pActor->spr.pos.Y = y;
pActor->spr.pos.Z = z;
pActor->set_int_pos({ x, y, z });
pActor->spr.cstat = CSTAT_SPRITE_BLOCK_ALL;
pActor->spr.clipdist = 70;
pActor->spr.shade = -12;

View file

@ -46,9 +46,7 @@ DExhumedActor* BuildWasp(DExhumedActor* pActor, int x, int y, int z, sectortype*
{
pActor = insertActor(pSector, 107);
pActor->spr.pos.X = x;
pActor->spr.pos.Y = y;
pActor->spr.pos.Z = z;
pActor->set_int_pos({ x, y, z });
}
else
{
@ -334,7 +332,7 @@ void AIWasp::Tick(RunListEvent* ev)
{
auto pSector =pActor->sector();
pActor->spr.pos.Z += pActor->spr.zvel;
pActor->add_int_z(pActor->spr.zvel);
if (pActor->spr.pos.Z >= pSector->floorz)
{