mirror of
https://github.com/DrBeef/Raze.git
synced 2025-02-01 05:20:43 +00:00
- Exhumed: Change inita
into a DAngle.
This commit is contained in:
parent
0625d4b65f
commit
fc47cec222
26 changed files with 129 additions and 131 deletions
|
@ -38,7 +38,7 @@ void BuildSplash(DExhumedActor* actor, sectortype* pSector);
|
|||
|
||||
// anubis
|
||||
|
||||
void BuildAnubis(DExhumedActor* nSprite, const DVector3& pos, sectortype* pSector, int nAngle, uint8_t bIsDrummer);
|
||||
void BuildAnubis(DExhumedActor* nSprite, const DVector3& pos, sectortype* pSector, DAngle nAngle, uint8_t bIsDrummer);
|
||||
void FuncAnubis(int, int a, int b, int c);
|
||||
|
||||
// bubbles
|
||||
|
@ -76,7 +76,7 @@ int GrabBullet();
|
|||
void DestroyBullet(int nRun);
|
||||
int MoveBullet(int nBullet);
|
||||
void SetBulletEnemy(int nBullet, DExhumedActor* nEnemy);
|
||||
DExhumedActor* BuildBullet(DExhumedActor* pActor, int nType, int val1, int nAngle, DExhumedActor* pTarget, int val3, int horiz = 0);
|
||||
DExhumedActor* BuildBullet(DExhumedActor* pActor, int nType, int val1, DAngle nAngle, DExhumedActor* pTarget, int val3, int horiz = 0);
|
||||
|
||||
void IgniteSprite(DExhumedActor* nSprite);
|
||||
void FuncBullet(int, int, int, int);
|
||||
|
@ -84,7 +84,7 @@ void BackUpBullet(int *x, int *y, int nAngle);
|
|||
|
||||
// fish
|
||||
|
||||
void BuildFish(DExhumedActor* nSprite, const DVector3& pos, sectortype* pSector, int nAngle);
|
||||
void BuildFish(DExhumedActor* nSprite, const DVector3& pos, sectortype* pSector, DAngle nAngle);
|
||||
void FuncFish(int, int, int, int);
|
||||
void FuncFishLimb(int a, int b, int c);
|
||||
|
||||
|
@ -166,7 +166,7 @@ void DoRegenerates();
|
|||
|
||||
// lavadude
|
||||
|
||||
void BuildLava(DExhumedActor* nSprite, const DVector3& pos, sectortype* pSector, int nAngle, int nChannel);
|
||||
void BuildLava(DExhumedActor* nSprite, const DVector3& pos, sectortype* pSector, DAngle nAngle, int nChannel);
|
||||
DExhumedActor* BuildLavaLimb(DExhumedActor* nSprite, int edx, int ebx);
|
||||
void FuncLavaLimb(int, int, int, int);
|
||||
void FuncLava(int, int, int, int);
|
||||
|
@ -188,7 +188,7 @@ void AddFlicker(sectortype* pSector, int nVal);
|
|||
|
||||
// lion
|
||||
|
||||
void BuildLion(DExhumedActor* nSprite, const DVector3& pos, sectortype* pSector, int nAngle);
|
||||
void BuildLion(DExhumedActor* nSprite, const DVector3& pos, sectortype* pSector, DAngle nAngle);
|
||||
void FuncLion(int, int, int, int);
|
||||
|
||||
// move
|
||||
|
@ -242,7 +242,7 @@ void SetQuake(DExhumedActor* nSprite, int nVal);
|
|||
|
||||
enum { kMaxMummies = 150 };
|
||||
|
||||
void BuildMummy(DExhumedActor* val, const DVector3& pos, sectortype* pSector, int nAngle);
|
||||
void BuildMummy(DExhumedActor* val, const DVector3& pos, sectortype* pSector, DAngle nAngle);
|
||||
|
||||
// object
|
||||
|
||||
|
@ -298,7 +298,7 @@ int BuildSlide(int nChannel, walltype* edx, walltype* ebx, walltype* ecx, wallty
|
|||
// queen
|
||||
|
||||
void InitQueens();
|
||||
void BuildQueen(DExhumedActor* nSprite, const DVector3& pos, sectortype* pSector, int nAngle, int nVal);
|
||||
void BuildQueen(DExhumedActor* nSprite, const DVector3& pos, sectortype* pSector, DAngle nAngle, int nVal);
|
||||
void FuncQueenEgg(int, int, int, int);
|
||||
void FuncQueenHead(int, int, int, int);
|
||||
void FuncQueen(int, int, int, int);
|
||||
|
@ -329,17 +329,17 @@ void FuncRa(int, int, int, int);
|
|||
// rat
|
||||
|
||||
void InitRats();
|
||||
void BuildRat(DExhumedActor* nSprite, const DVector3& pos, sectortype* pSector, int nAngle);
|
||||
void BuildRat(DExhumedActor* nSprite, const DVector3& pos, sectortype* pSector, DAngle nAngle);
|
||||
void FuncRat(int a, int, int b, int nRun);
|
||||
|
||||
// rex
|
||||
|
||||
void BuildRex(DExhumedActor* nSprite, const DVector3& pos, sectortype* pSector, int nAngle, int nChannel);
|
||||
void BuildRex(DExhumedActor* nSprite, const DVector3& pos, sectortype* pSector, DAngle nAngle, int nChannel);
|
||||
void FuncRex(int, int, int, int);
|
||||
|
||||
// roach
|
||||
|
||||
void BuildRoach(int nType, DExhumedActor* nSprite, const DVector3& pos, sectortype* pSector, int angle);
|
||||
void BuildRoach(int nType, DExhumedActor* nSprite, const DVector3& pos, sectortype* pSector, DAngle angle);
|
||||
void FuncRoach(int a, int, int nDamage, int nRun);
|
||||
|
||||
// runlist
|
||||
|
@ -701,12 +701,12 @@ void runlist_ExecObjects();
|
|||
|
||||
// scorp
|
||||
|
||||
void BuildScorp(DExhumedActor* nSprite, const DVector3& pos, sectortype* pSector, int nAngle, int nChannel);
|
||||
void BuildScorp(DExhumedActor* nSprite, const DVector3& pos, sectortype* pSector, DAngle nAngle, int nChannel);
|
||||
void FuncScorp(int, int, int, int);
|
||||
|
||||
// set
|
||||
|
||||
void BuildSet(DExhumedActor* nSprite, const DVector3& pos, sectortype* pSector, int nAngle, int nChannel);
|
||||
void BuildSet(DExhumedActor* nSprite, const DVector3& pos, sectortype* pSector, DAngle nAngle, int nChannel);
|
||||
void FuncSoul(int, int, int, int);
|
||||
void FuncSet(int, int, int, int);
|
||||
|
||||
|
@ -739,7 +739,7 @@ void FuncSnake(int, int, int, int);
|
|||
|
||||
// spider
|
||||
|
||||
DExhumedActor* BuildSpider(DExhumedActor* nSprite, const DVector3& pos, sectortype* pSector, int nAngle);
|
||||
DExhumedActor* BuildSpider(DExhumedActor* nSprite, const DVector3& pos, sectortype* pSector, DAngle nAngle);
|
||||
void FuncSpider(int a, int, int b, int nRun);
|
||||
|
||||
// switch
|
||||
|
@ -765,7 +765,7 @@ std::pair<int, int> BuildSwPressWall(int nChannel, int nLink, walltype* pWall);
|
|||
|
||||
// wasp
|
||||
|
||||
DExhumedActor* BuildWasp(DExhumedActor* nSprite, const DVector3& pos, sectortype* pSector, int nAngle, bool bEggWasp);
|
||||
DExhumedActor* BuildWasp(DExhumedActor* nSprite, const DVector3& pos, sectortype* pSector, DAngle nAngle, bool bEggWasp);
|
||||
void FuncWasp(int eax, int, int edx, int nRun);
|
||||
|
||||
|
||||
|
|
|
@ -43,7 +43,7 @@ static const actionSeq AnubisSeq[] = {
|
|||
{ 43, 1 },
|
||||
};
|
||||
|
||||
void BuildAnubis(DExhumedActor* ap, const DVector3& pos, sectortype* pSector, int nAngle, uint8_t bIsDrummer)
|
||||
void BuildAnubis(DExhumedActor* ap, const DVector3& pos, sectortype* pSector, DAngle nAngle, uint8_t bIsDrummer)
|
||||
{
|
||||
if (ap == nullptr)
|
||||
{
|
||||
|
@ -55,7 +55,7 @@ void BuildAnubis(DExhumedActor* ap, const DVector3& pos, sectortype* pSector, in
|
|||
ChangeActorStat(ap, 101);
|
||||
|
||||
ap->spr.pos.Z = ap->sector()->floorz;
|
||||
nAngle = ap->int_ang();
|
||||
nAngle = ap->spr.angle;
|
||||
}
|
||||
|
||||
ap->spr.cstat = CSTAT_SPRITE_BLOCK_ALL;
|
||||
|
@ -65,7 +65,7 @@ void BuildAnubis(DExhumedActor* ap, const DVector3& pos, sectortype* pSector, in
|
|||
ap->spr.picnum = 1;
|
||||
ap->spr.pal = ap->sector()->ceilingpal;
|
||||
ap->spr.clipdist = 60;
|
||||
ap->set_int_ang(nAngle);
|
||||
ap->spr.angle = nAngle;
|
||||
ap->spr.xrepeat = 40;
|
||||
ap->spr.yrepeat = 40;
|
||||
ap->vel.X = 0;
|
||||
|
@ -265,7 +265,7 @@ void AIAnubis::Tick(RunListEvent* ev)
|
|||
// loc_25718:
|
||||
if (nFlag & 0x80)
|
||||
{
|
||||
BuildBullet(ap, 8, -1, ap->int_ang(), pTarget, 1);
|
||||
BuildBullet(ap, 8, -1, ap->spr.angle, pTarget, 1);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -52,7 +52,7 @@ DExhumedActor* BuildBubble(const DVector3& pos, sectortype* pSector)
|
|||
pActor->spr.xoffset = 0;
|
||||
pActor->spr.yoffset = 0;
|
||||
pActor->spr.picnum = 1;
|
||||
pActor->set_int_ang(inita);
|
||||
pActor->spr.angle = inita;
|
||||
pActor->vel.X = 0;
|
||||
pActor->vel.Y = 0;
|
||||
pActor->set_int_zvel(-1200);
|
||||
|
|
|
@ -533,7 +533,7 @@ void SetBulletEnemy(int nBullet, DExhumedActor* pEnemy)
|
|||
}
|
||||
}
|
||||
|
||||
DExhumedActor* BuildBullet(DExhumedActor* pActor, int nType, int nZOffset, int nAngle, DExhumedActor* pTarget, int nDoubleDamage, int nPitch)
|
||||
DExhumedActor* BuildBullet(DExhumedActor* pActor, int nType, int nZOffset, DAngle nAngle, DExhumedActor* pTarget, int nDoubleDamage, int nPitch)
|
||||
{
|
||||
Bullet sBullet;
|
||||
bulletInfo *pBulletInfo = &BulletInfo[nType];
|
||||
|
@ -548,7 +548,7 @@ DExhumedActor* BuildBullet(DExhumedActor* pActor, int nType, int nZOffset, int n
|
|||
sBullet.nDoubleDamage = nDoubleDamage;
|
||||
|
||||
sBullet.pActor = insertActor(pActor->sector(), 200);
|
||||
sBullet.pActor->set_int_ang(nAngle);
|
||||
sBullet.pActor->spr.angle = nAngle;
|
||||
|
||||
double nHeight = GetActorHeightF(pTarget);
|
||||
|
||||
|
@ -616,7 +616,7 @@ DExhumedActor* BuildBullet(DExhumedActor* pActor, int nType, int nZOffset, int n
|
|||
pBulletActor->spr.yrepeat = (uint8_t)nRepeat;
|
||||
pBulletActor->spr.xoffset = 0;
|
||||
pBulletActor->spr.yoffset = 0;
|
||||
pBulletActor->set_int_ang(nAngle);
|
||||
pBulletActor->spr.angle = nAngle;
|
||||
pBulletActor->vel.X = 0;
|
||||
pBulletActor->vel.Y = 0;
|
||||
pBulletActor->vel.Z = 0;
|
||||
|
@ -703,43 +703,39 @@ DExhumedActor* BuildBullet(DExhumedActor* pActor, int nType, int nZOffset, int n
|
|||
|
||||
int var_20 = pTarget->int_pos().Z - nHeight;
|
||||
|
||||
int x, y;
|
||||
DVector2 xy;
|
||||
|
||||
if (pActor != nullptr && pActor->spr.statnum != 100)
|
||||
{
|
||||
x = pTarget->int_pos().X;
|
||||
y = pTarget->int_pos().Y;
|
||||
xy = pTarget->spr.pos.XY();
|
||||
|
||||
if (pTarget->spr.statnum != 100)
|
||||
{
|
||||
x += (pTarget->int_xvel() * 20) >> 6;
|
||||
y += (pTarget->int_yvel() * 20) >> 6;
|
||||
xy += pTarget->vel.XY() * (10. / 32.);
|
||||
}
|
||||
else
|
||||
{
|
||||
int nPlayer = GetPlayerFromActor(pTarget);
|
||||
if (nPlayer > -1)
|
||||
{
|
||||
x += PlayerList[nPlayer].nPlayerD.X * 15;
|
||||
y += PlayerList[nPlayer].nPlayerD.Y * 15;
|
||||
xy.X += PlayerList[nPlayer].nPlayerD.X * (15. / 16.);
|
||||
xy.Y += PlayerList[nPlayer].nPlayerD.Y * (15. / 16.);
|
||||
}
|
||||
}
|
||||
|
||||
x -= pBulletActor->int_pos().X;
|
||||
y -= pBulletActor->int_pos().Y;
|
||||
xy -= pBulletActor->spr.pos.XY();
|
||||
|
||||
nAngle = getangle(x, y);
|
||||
pActor->set_int_ang(nAngle);
|
||||
nAngle = xy.Angle();
|
||||
pActor->spr.angle = nAngle;
|
||||
}
|
||||
else
|
||||
{
|
||||
// loc_2ABA3:
|
||||
x = pTarget->int_pos().X - pBulletActor->int_pos().X;
|
||||
y = pTarget->int_pos().Y - pBulletActor->int_pos().Y;
|
||||
xy = pTarget->spr.pos.XY() - pBulletActor->spr.pos.XY();
|
||||
}
|
||||
|
||||
int nSqrt = lsqrt(y*y + x*x);
|
||||
if ((unsigned int)nSqrt > 0)
|
||||
int nSqrt = (xy * worldtoint).Length();
|
||||
if (nSqrt > 0)
|
||||
{
|
||||
var_18 = ((var_20 - pBulletActor->int_pos().Z) * pBulletInfo->field_4) / nSqrt;
|
||||
}
|
||||
|
@ -751,8 +747,8 @@ DExhumedActor* BuildBullet(DExhumedActor* pActor, int nType, int nZOffset, int n
|
|||
}
|
||||
|
||||
pBullet->z = 0;
|
||||
pBullet->x = (pActor->spr.clipdist << 2) * bcos(nAngle);
|
||||
pBullet->y = (pActor->spr.clipdist << 2) * bsin(nAngle);
|
||||
pBullet->x = (pActor->spr.clipdist << 2) * nAngle.Cos() * (1 << 14);
|
||||
pBullet->y = (pActor->spr.clipdist << 2) * nAngle.Sin() * (1 << 14);
|
||||
BulletList[nBullet].pEnemy = nullptr;
|
||||
|
||||
|
||||
|
@ -763,8 +759,8 @@ DExhumedActor* BuildBullet(DExhumedActor* pActor, int nType, int nZOffset, int n
|
|||
else
|
||||
{
|
||||
pBullet->field_10 = pBulletInfo->field_4;
|
||||
pBullet->x = bcos(nAngle, -3) * pBulletInfo->field_4;
|
||||
pBullet->y = bsin(nAngle, -3) * pBulletInfo->field_4;
|
||||
pBullet->x = nAngle.Cos() * (1 << 11) * pBulletInfo->field_4;
|
||||
pBullet->y = nAngle.Sin() * (1 << 11) * pBulletInfo->field_4;
|
||||
pBullet->z = var_18 >> 3;
|
||||
}
|
||||
|
||||
|
|
|
@ -53,7 +53,7 @@ enum {
|
|||
};
|
||||
|
||||
extern DVector3 initpos;
|
||||
extern int16_t inita;
|
||||
extern DAngle inita;
|
||||
extern sectortype* initsectp;
|
||||
|
||||
extern int nCurChunkNum;
|
||||
|
|
|
@ -334,12 +334,12 @@ void GameInterface::Ticker()
|
|||
}
|
||||
else if (EndLevel == 0)
|
||||
{
|
||||
inita &= kAngleMask;
|
||||
inita = inita.Normalized360();
|
||||
|
||||
for (int i = 0; i < 4; i++)
|
||||
{
|
||||
lPlayerXVel += localInput.fvel * bcos(inita) + localInput.svel * bsin(inita);
|
||||
lPlayerYVel += localInput.fvel * bsin(inita) - localInput.svel * bcos(inita);
|
||||
lPlayerXVel += localInput.fvel * bcos(inita.Buildang()) + localInput.svel * bsin(inita.Buildang());
|
||||
lPlayerYVel += localInput.fvel * bsin(inita.Buildang()) - localInput.svel * bcos(inita.Buildang());
|
||||
lPlayerXVel -= (lPlayerXVel >> 5) + (lPlayerXVel >> 6);
|
||||
lPlayerYVel -= (lPlayerYVel >> 5) + (lPlayerYVel >> 6);
|
||||
}
|
||||
|
|
|
@ -138,7 +138,7 @@ void AIFishLimb::Draw(RunListEvent* ev)
|
|||
}
|
||||
|
||||
|
||||
void BuildFish(DExhumedActor* pActor, const DVector3& pos, sectortype* pSector, int nAngle)
|
||||
void BuildFish(DExhumedActor* pActor, const DVector3& pos, sectortype* pSector, DAngle nAngle)
|
||||
{
|
||||
if (pActor == nullptr)
|
||||
{
|
||||
|
@ -147,7 +147,7 @@ void BuildFish(DExhumedActor* pActor, const DVector3& pos, sectortype* pSector,
|
|||
}
|
||||
else
|
||||
{
|
||||
nAngle = pActor->int_ang();
|
||||
nAngle = pActor->spr.angle;
|
||||
ChangeActorStat(pActor, 103);
|
||||
}
|
||||
|
||||
|
@ -163,7 +163,7 @@ void BuildFish(DExhumedActor* pActor, const DVector3& pos, sectortype* pSector,
|
|||
pActor->vel.X = 0;
|
||||
pActor->vel.Y = 0;
|
||||
pActor->vel.Z = 0;
|
||||
pActor->set_int_ang(nAngle);
|
||||
pActor->spr.angle = nAngle;
|
||||
pActor->spr.lotag = runlist_HeadRun() + 1;
|
||||
pActor->spr.hitag = 0;
|
||||
pActor->spr.extra = -1;
|
||||
|
|
|
@ -632,11 +632,11 @@ loc_flag:
|
|||
}
|
||||
|
||||
int nAmmoType = WeaponInfo[nWeapon].nAmmoType;
|
||||
int nAngle = pPlayerActor->int_ang();
|
||||
DAngle nAngle = pPlayerActor->spr.angle;
|
||||
auto thePos = pPlayerActor->spr.pos;
|
||||
|
||||
int ebp = bcos(nAngle) * (pPlayerActor->spr.clipdist << 3);
|
||||
int ebx = bsin(nAngle) * (pPlayerActor->spr.clipdist << 3);
|
||||
int ebp = nAngle.Cos() * (1 << 14) * (pPlayerActor->spr.clipdist << 3);
|
||||
int ebx = nAngle.Sin() * (1 << 14) * (pPlayerActor->spr.clipdist << 3);
|
||||
|
||||
if (WeaponInfo[nWeapon].c)
|
||||
{
|
||||
|
@ -648,9 +648,9 @@ loc_flag:
|
|||
else
|
||||
ecx = theVal;
|
||||
|
||||
int var_44 = (nAngle + 512) & kAngleMask;
|
||||
ebp += bcos(var_44, -11) * ecx;
|
||||
ebx += bsin(var_44, -11) * ecx;
|
||||
DAngle var_44 = (nAngle + DAngle90).Normalized360();
|
||||
ebp += var_44.Cos() * (1 << 3) * ecx;
|
||||
ebx += var_44.Sin() * (1 << 3) * ecx;
|
||||
}
|
||||
|
||||
int nHeight = (-GetActorHeight(pPlayerActor)) >> 1;
|
||||
|
|
|
@ -40,7 +40,7 @@ enum
|
|||
};
|
||||
|
||||
DVector3 initpos;
|
||||
int16_t inita;
|
||||
DAngle inita;
|
||||
sectortype* initsectp;
|
||||
|
||||
int nCurChunkNum = 0;
|
||||
|
@ -142,7 +142,9 @@ uint8_t LoadLevel(MapRecord* map)
|
|||
|
||||
int initsect;
|
||||
SpawnSpriteDef spawned;
|
||||
loadMap(currentLevel->fileName, 0, &initpos, &inita, &initsect, spawned);
|
||||
int16_t mapang;
|
||||
loadMap(currentLevel->fileName, 0, &initpos, &mapang, &initsect, spawned);
|
||||
inita = DAngle::fromBuild(mapang);
|
||||
initsectp = §or[initsect];
|
||||
auto actors = spawnactors(spawned);
|
||||
|
||||
|
@ -422,7 +424,7 @@ void ProcessSpriteTag(DExhumedActor* pActor, int nLotag, int nHitag)
|
|||
return;
|
||||
}
|
||||
|
||||
BuildAnubis(pActor, nulvec, nullptr, 0, 1);
|
||||
BuildAnubis(pActor, nulvec, nullptr, nullAngle, 1);
|
||||
return;
|
||||
}
|
||||
case 117:
|
||||
|
@ -432,27 +434,27 @@ void ProcessSpriteTag(DExhumedActor* pActor, int nLotag, int nHitag)
|
|||
return;
|
||||
}
|
||||
|
||||
BuildWasp(pActor, nulvec, nullptr, 0, false);
|
||||
BuildWasp(pActor, nulvec, nullptr, nullAngle, false);
|
||||
return;
|
||||
}
|
||||
case 116:
|
||||
{
|
||||
BuildRat(pActor, nulvec, nullptr, -1);
|
||||
BuildRat(pActor, nulvec, nullptr, DAngle::fromBam(unsigned(-1)));
|
||||
return;
|
||||
}
|
||||
case 115: // Rat (eating)
|
||||
{
|
||||
BuildRat(pActor, nulvec, nullptr, 0);
|
||||
BuildRat(pActor, nulvec, nullptr, nullAngle);
|
||||
return;
|
||||
}
|
||||
case 113:
|
||||
{
|
||||
BuildQueen(pActor, nulvec, nullptr, 0, nChannel);
|
||||
BuildQueen(pActor, nulvec, nullptr, nullAngle, nChannel);
|
||||
return;
|
||||
}
|
||||
case 112:
|
||||
{
|
||||
BuildScorp(pActor, nulvec, nullptr, 0, nChannel);
|
||||
BuildScorp(pActor, nulvec, nullptr, nullAngle, nChannel);
|
||||
return;
|
||||
}
|
||||
case 111:
|
||||
|
@ -462,7 +464,7 @@ void ProcessSpriteTag(DExhumedActor* pActor, int nLotag, int nHitag)
|
|||
return;
|
||||
}
|
||||
|
||||
BuildSet(pActor, nulvec, nullptr, 0, nChannel);
|
||||
BuildSet(pActor, nulvec, nullptr, nullAngle, nChannel);
|
||||
return;
|
||||
}
|
||||
case 108:
|
||||
|
@ -472,7 +474,7 @@ void ProcessSpriteTag(DExhumedActor* pActor, int nLotag, int nHitag)
|
|||
return;
|
||||
}
|
||||
|
||||
BuildLava(pActor, nulvec, nullptr, 0, nChannel);
|
||||
BuildLava(pActor, nulvec, nullptr, nullAngle, nChannel);
|
||||
return;
|
||||
}
|
||||
case 107:
|
||||
|
@ -482,7 +484,7 @@ void ProcessSpriteTag(DExhumedActor* pActor, int nLotag, int nHitag)
|
|||
return;
|
||||
}
|
||||
|
||||
BuildRex(pActor, nulvec, nullptr, 0, nChannel);
|
||||
BuildRex(pActor, nulvec, nullptr, nullAngle, nChannel);
|
||||
return;
|
||||
}
|
||||
case 106:
|
||||
|
@ -492,7 +494,7 @@ void ProcessSpriteTag(DExhumedActor* pActor, int nLotag, int nHitag)
|
|||
return;
|
||||
}
|
||||
|
||||
BuildFish(pActor, nulvec, nullptr, 0);
|
||||
BuildFish(pActor, nulvec, nullptr, nullAngle);
|
||||
return;
|
||||
}
|
||||
case 105:
|
||||
|
@ -502,7 +504,7 @@ void ProcessSpriteTag(DExhumedActor* pActor, int nLotag, int nHitag)
|
|||
return;
|
||||
}
|
||||
|
||||
BuildSpider(pActor, nulvec, nullptr, 0);
|
||||
BuildSpider(pActor, nulvec, nullptr, nullAngle);
|
||||
return;
|
||||
}
|
||||
case 104:
|
||||
|
@ -512,7 +514,7 @@ void ProcessSpriteTag(DExhumedActor* pActor, int nLotag, int nHitag)
|
|||
return;
|
||||
}
|
||||
|
||||
BuildRoach(1, pActor, nulvec, nullptr, 0);
|
||||
BuildRoach(1, pActor, nulvec, nullptr, nullAngle);
|
||||
return;
|
||||
}
|
||||
case 103:
|
||||
|
@ -522,7 +524,7 @@ void ProcessSpriteTag(DExhumedActor* pActor, int nLotag, int nHitag)
|
|||
return;
|
||||
}
|
||||
|
||||
BuildRoach(0, pActor, nulvec, nullptr, 0);
|
||||
BuildRoach(0, pActor, nulvec, nullptr, nullAngle);
|
||||
return;
|
||||
}
|
||||
case 102:
|
||||
|
@ -532,7 +534,7 @@ void ProcessSpriteTag(DExhumedActor* pActor, int nLotag, int nHitag)
|
|||
return;
|
||||
}
|
||||
|
||||
BuildLion(pActor, nulvec, nullptr, 0);
|
||||
BuildLion(pActor, nulvec, nullptr, nullAngle);
|
||||
return;
|
||||
}
|
||||
case 101:
|
||||
|
@ -542,7 +544,7 @@ void ProcessSpriteTag(DExhumedActor* pActor, int nLotag, int nHitag)
|
|||
return;
|
||||
}
|
||||
|
||||
BuildMummy(pActor, nulvec, nullptr, 0);
|
||||
BuildMummy(pActor, nulvec, nullptr, nullAngle);
|
||||
return;
|
||||
}
|
||||
case 100:
|
||||
|
@ -552,7 +554,7 @@ void ProcessSpriteTag(DExhumedActor* pActor, int nLotag, int nHitag)
|
|||
return;
|
||||
}
|
||||
|
||||
BuildAnubis(pActor, nulvec, nullptr, 0, 0);
|
||||
BuildAnubis(pActor, nulvec, nullptr, nullAngle, 0);
|
||||
return;
|
||||
}
|
||||
case 99: // underwater type 2
|
||||
|
|
|
@ -97,7 +97,7 @@ void AILavaDudeLimb::Draw(RunListEvent* ev)
|
|||
}
|
||||
|
||||
|
||||
void BuildLava(DExhumedActor* pActor, const DVector3& pos, sectortype* pSector, int nAngle, int nChannel)
|
||||
void BuildLava(DExhumedActor* pActor, const DVector3& pos, sectortype* pSector, DAngle nAngle, int nChannel)
|
||||
{
|
||||
if (pActor == nullptr)
|
||||
{
|
||||
|
@ -107,7 +107,7 @@ void BuildLava(DExhumedActor* pActor, const DVector3& pos, sectortype* pSector,
|
|||
else
|
||||
{
|
||||
pSector = pActor->sector();
|
||||
nAngle = pActor->int_ang();
|
||||
nAngle = pActor->spr.angle;
|
||||
pActor->spr.pos.Z = pSector->floorz;
|
||||
|
||||
ChangeActorStat(pActor, 118);
|
||||
|
@ -125,7 +125,7 @@ void BuildLava(DExhumedActor* pActor, const DVector3& pos, sectortype* pSector,
|
|||
pActor->vel.X = 0;
|
||||
pActor->vel.Y = 0;
|
||||
pActor->vel.Z = 0;
|
||||
pActor->set_int_ang(nAngle);
|
||||
pActor->spr.angle = nAngle;
|
||||
pActor->spr.hitag = 0;
|
||||
pActor->spr.lotag = runlist_HeadRun() + 1;
|
||||
|
||||
|
@ -347,7 +347,7 @@ void AILavaDude::Tick(RunListEvent* ev)
|
|||
int nHeight = GetActorHeight(pActor);
|
||||
GetUpAngle(pActor, -64000, pTarget, (-(nHeight >> 1)));
|
||||
|
||||
BuildBullet(pActor, 10, -1, pActor->int_ang(), pTarget, 1);
|
||||
BuildBullet(pActor, 10, -1, pActor->spr.angle, pTarget, 1);
|
||||
}
|
||||
else if (var_1C)
|
||||
{
|
||||
|
|
|
@ -41,7 +41,7 @@ static actionSeq LionSeq[] = {
|
|||
};
|
||||
|
||||
|
||||
void BuildLion(DExhumedActor* pActor, const DVector3& pos, sectortype* pSector, int nAngle)
|
||||
void BuildLion(DExhumedActor* pActor, const DVector3& pos, sectortype* pSector, DAngle nAngle)
|
||||
{
|
||||
if (pActor == nullptr)
|
||||
{
|
||||
|
@ -52,7 +52,7 @@ void BuildLion(DExhumedActor* pActor, const DVector3& pos, sectortype* pSector,
|
|||
{
|
||||
ChangeActorStat(pActor, 104);
|
||||
pActor->spr.pos.Z = pActor->sector()->floorz;
|
||||
nAngle = pActor->int_ang();
|
||||
nAngle = pActor->spr.angle;
|
||||
}
|
||||
|
||||
pActor->spr.cstat = CSTAT_SPRITE_BLOCK_ALL;
|
||||
|
@ -64,7 +64,7 @@ void BuildLion(DExhumedActor* pActor, const DVector3& pos, sectortype* pSector,
|
|||
pActor->spr.pal = pActor->sector()->ceilingpal;
|
||||
pActor->spr.xoffset = 0;
|
||||
pActor->spr.yoffset = 0;
|
||||
pActor->set_int_ang(nAngle);
|
||||
pActor->spr.angle = nAngle;
|
||||
pActor->vel.X = 0;
|
||||
pActor->vel.Y = 0;
|
||||
pActor->vel.Z = 0;
|
||||
|
|
|
@ -1041,7 +1041,7 @@ void MoveSector(sectortype* pSector, int nAngle, int *nXVel, int *nYVel)
|
|||
*/
|
||||
auto pActor = PlayerList[nLocalPlayer].pActor;
|
||||
initpos = pActor->spr.pos;
|
||||
inita = pActor->int_ang();
|
||||
inita = pActor->spr.angle;
|
||||
initsectp = pActor->sector();
|
||||
}
|
||||
|
||||
|
|
|
@ -37,7 +37,7 @@ static actionSeq MummySeq[] = {
|
|||
};
|
||||
|
||||
|
||||
void BuildMummy(DExhumedActor* pActor, const DVector3& pos, sectortype* pSector, int nAngle)
|
||||
void BuildMummy(DExhumedActor* pActor, const DVector3& pos, sectortype* pSector, DAngle nAngle)
|
||||
{
|
||||
if (pActor == nullptr)
|
||||
{
|
||||
|
@ -46,7 +46,7 @@ void BuildMummy(DExhumedActor* pActor, const DVector3& pos, sectortype* pSector,
|
|||
}
|
||||
else
|
||||
{
|
||||
nAngle = pActor->int_ang();
|
||||
nAngle = pActor->spr.angle;
|
||||
ChangeActorStat(pActor, 102);
|
||||
}
|
||||
|
||||
|
@ -61,7 +61,7 @@ void BuildMummy(DExhumedActor* pActor, const DVector3& pos, sectortype* pSector,
|
|||
pActor->spr.pal = pActor->sector()->ceilingpal;
|
||||
pActor->spr.xoffset = 0;
|
||||
pActor->spr.yoffset = 0;
|
||||
pActor->set_int_ang(nAngle);
|
||||
pActor->spr.angle = nAngle;
|
||||
pActor->spr.picnum = 1;
|
||||
pActor->spr.hitag = 0;
|
||||
pActor->spr.lotag = runlist_HeadRun() + 1;
|
||||
|
@ -320,7 +320,7 @@ void AIMummy::Tick(RunListEvent* ev)
|
|||
SetQuake(pActor, 100);
|
||||
|
||||
// low 16 bits of returned var contains the sprite index, the high 16 the bullet number
|
||||
auto pBullet = BuildBullet(pActor, 9, -15360, pActor->int_ang(), pTarget, 1);
|
||||
auto pBullet = BuildBullet(pActor, 9, -15360, pActor->spr.angle, pTarget, 1);
|
||||
CheckMummyRevive(pActor);
|
||||
|
||||
if (pBullet)
|
||||
|
|
|
@ -1308,7 +1308,7 @@ void AITrap::Tick(RunListEvent* ev)
|
|||
return;
|
||||
}
|
||||
|
||||
auto pBullet = BuildBullet(pActor, nType, 0, pActor->int_ang(), nullptr, 1);
|
||||
auto pBullet = BuildBullet(pActor, nType, 0, pActor->spr.angle, nullptr, 1);
|
||||
if (pBullet)
|
||||
{
|
||||
if (nType == 15)
|
||||
|
|
|
@ -101,7 +101,7 @@ size_t MarkPlayers()
|
|||
return 5 * kMaxPlayers;
|
||||
}
|
||||
|
||||
void SetSavePoint(int nPlayer, const DVector3& pos, sectortype* pSector, int nAngle)
|
||||
void SetSavePoint(int nPlayer, const DVector3& pos, sectortype* pSector, DAngle nAngle)
|
||||
{
|
||||
PlayerList[nPlayer].sPlayerSave.pos = pos;
|
||||
PlayerList[nPlayer].sPlayerSave.pSector = pSector;
|
||||
|
@ -278,7 +278,7 @@ void RestartPlayer(int nPlayer)
|
|||
{
|
||||
pActor->spr.pos.XY() = plr->sPlayerSave.pos.XY();
|
||||
pActor->spr.pos.Z = plr->sPlayerSave.pSector->floorz;
|
||||
plr->angle.ang = DAngle::fromBuild(plr->sPlayerSave.nAngle&kAngleMask);
|
||||
plr->angle.ang = plr->sPlayerSave.nAngle;
|
||||
pActor->spr.angle = plr->angle.ang;
|
||||
|
||||
floorsprt = nullptr;
|
||||
|
@ -591,8 +591,8 @@ static void pickupMessage(int no)
|
|||
|
||||
void UpdatePlayerSpriteAngle(Player* pPlayer)
|
||||
{
|
||||
inita = pPlayer->angle.ang.Buildang();
|
||||
if (pPlayer->pActor) pPlayer->pActor->set_int_ang(inita);
|
||||
inita = pPlayer->angle.ang;
|
||||
if (pPlayer->pActor) pPlayer->pActor->spr.angle = inita;
|
||||
}
|
||||
|
||||
void AIPlayer::Draw(RunListEvent* ev)
|
||||
|
@ -2170,7 +2170,7 @@ sectdone:
|
|||
ChangeActorStat(pActorB, 899);
|
||||
}
|
||||
|
||||
SetSavePoint(nPlayer, pPlayerActor->spr.pos, pPlayerActor->sector(), pPlayerActor->int_ang());
|
||||
SetSavePoint(nPlayer, pPlayerActor->spr.pos, pPlayerActor->sector(), pPlayerActor->spr.angle);
|
||||
break;
|
||||
}
|
||||
|
||||
|
@ -2515,7 +2515,7 @@ sectdone:
|
|||
{
|
||||
initpos = pPlayerActor->spr.pos;
|
||||
initsectp = pPlayerActor->sector();
|
||||
inita = pPlayerActor->int_ang();
|
||||
inita = pPlayerActor->spr.angle;
|
||||
}
|
||||
|
||||
if (!PlayerList[nPlayer].nHealth)
|
||||
|
|
|
@ -23,7 +23,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
|||
|
||||
BEGIN_PS_NS
|
||||
|
||||
void SetSavePoint(int nPlayer, const DVector3& pos, sectortype* pSector, int nAngle);
|
||||
void SetSavePoint(int nPlayer, const DVector3& pos, sectortype* pSector, DAngle nAngle);
|
||||
void InitPlayer();
|
||||
void InitPlayerKeys(int nPlayer);
|
||||
int GrabPlayer();
|
||||
|
@ -47,7 +47,7 @@ struct PlayerSave
|
|||
{
|
||||
sectortype* pSector;
|
||||
DVector3 pos;
|
||||
int16_t nAngle;
|
||||
DAngle nAngle;
|
||||
};
|
||||
|
||||
struct Player
|
||||
|
|
|
@ -628,7 +628,7 @@ void AIQueenEgg::Tick(RunListEvent* ev)
|
|||
pEgg->nCounter--;
|
||||
if (pEgg->nCounter <= 0)
|
||||
{
|
||||
auto pWaspSprite = BuildWasp(nullptr, pActor->spr.pos, pActor->sector(), pActor->int_ang(), true);
|
||||
auto pWaspSprite = BuildWasp(nullptr, pActor->spr.pos, pActor->sector(), pActor->spr.angle, true);
|
||||
pActor->spr.pos.Z = pWaspSprite->spr.pos.Z;
|
||||
|
||||
DestroyEgg(nEgg);
|
||||
|
@ -1066,7 +1066,7 @@ void AIQueenHead::Draw(RunListEvent* ev)
|
|||
seq_PlotSequence(ev->nParam, nSeq, QueenHead.nFrame, edx);
|
||||
}
|
||||
|
||||
void BuildQueen(DExhumedActor* pActor, const DVector3& pos, sectortype* pSector, int nAngle, int nChannel)
|
||||
void BuildQueen(DExhumedActor* pActor, const DVector3& pos, sectortype* pSector, DAngle nAngle, int nChannel)
|
||||
{
|
||||
QueenCount--;
|
||||
|
||||
|
@ -1084,7 +1084,7 @@ void BuildQueen(DExhumedActor* pActor, const DVector3& pos, sectortype* pSector,
|
|||
{
|
||||
ChangeActorStat(pActor, 121);
|
||||
pActor->spr.pos.Z = pActor->sector()->floorz;
|
||||
nAngle = pActor->int_ang();
|
||||
nAngle = pActor->spr.angle;
|
||||
}
|
||||
|
||||
pActor->spr.cstat = CSTAT_SPRITE_BLOCK_ALL;
|
||||
|
@ -1096,7 +1096,7 @@ void BuildQueen(DExhumedActor* pActor, const DVector3& pos, sectortype* pSector,
|
|||
pActor->spr.xoffset = 0;
|
||||
pActor->spr.yoffset = 0;
|
||||
pActor->spr.picnum = 1;
|
||||
pActor->set_int_ang(nAngle);
|
||||
pActor->spr.angle = nAngle;
|
||||
pActor->vel.X = 0;
|
||||
pActor->vel.Y = 0;
|
||||
pActor->vel.Z = 0;
|
||||
|
@ -1314,7 +1314,7 @@ void AIQueen::Tick(RunListEvent* ev)
|
|||
|
||||
if (!si)
|
||||
{
|
||||
BuildBullet(pActor, 12, -1, pActor->int_ang(), pTarget, 1);
|
||||
BuildBullet(pActor, 12, -1, pActor->spr.angle, pTarget, 1);
|
||||
}
|
||||
else
|
||||
{
|
||||
|
|
|
@ -72,7 +72,7 @@ void SetRatVel(DExhumedActor* pActor)
|
|||
pActor->VelFromAngle(-2);
|
||||
}
|
||||
|
||||
void BuildRat(DExhumedActor* pActor, const DVector3& pos, sectortype* pSector, int nAngle)
|
||||
void BuildRat(DExhumedActor* pActor, const DVector3& pos, sectortype* pSector, DAngle nAngle)
|
||||
{
|
||||
if (pActor == nullptr)
|
||||
{
|
||||
|
@ -83,7 +83,7 @@ void BuildRat(DExhumedActor* pActor, const DVector3& pos, sectortype* pSector, i
|
|||
{
|
||||
ChangeActorStat(pActor, 108);
|
||||
pActor->spr.pos.Z = pActor->sector()->floorz;
|
||||
nAngle = pActor->int_ang();
|
||||
nAngle = pActor->spr.angle;
|
||||
}
|
||||
|
||||
pActor->spr.cstat = CSTAT_SPRITE_BLOCK_ALL;
|
||||
|
@ -93,7 +93,7 @@ void BuildRat(DExhumedActor* pActor, const DVector3& pos, sectortype* pSector, i
|
|||
pActor->spr.picnum = 1;
|
||||
pActor->spr.pal = pActor->sector()->ceilingpal;
|
||||
pActor->spr.clipdist = 30;
|
||||
pActor->set_int_ang(nAngle);
|
||||
pActor->spr.angle = nAngle;
|
||||
pActor->spr.xrepeat = 50;
|
||||
pActor->spr.yrepeat = 50;
|
||||
pActor->vel.X = 0;
|
||||
|
@ -103,7 +103,7 @@ void BuildRat(DExhumedActor* pActor, const DVector3& pos, sectortype* pSector, i
|
|||
pActor->spr.hitag = 0;
|
||||
pActor->spr.extra = -1;
|
||||
|
||||
if (nAngle >= 0) {
|
||||
if (nAngle.Degrees() >= 0) {
|
||||
pActor->nAction = 2;
|
||||
}
|
||||
else {
|
||||
|
|
|
@ -37,7 +37,7 @@ static actionSeq RexSeq[] = {
|
|||
{28, 1}
|
||||
};
|
||||
|
||||
void BuildRex(DExhumedActor* pActor, const DVector3& pos, sectortype* pSector, int nAngle, int nChannel)
|
||||
void BuildRex(DExhumedActor* pActor, const DVector3& pos, sectortype* pSector, DAngle nAngle, int nChannel)
|
||||
{
|
||||
if (pActor == nullptr)
|
||||
{
|
||||
|
@ -46,7 +46,7 @@ void BuildRex(DExhumedActor* pActor, const DVector3& pos, sectortype* pSector, i
|
|||
}
|
||||
else
|
||||
{
|
||||
nAngle = pActor->int_ang();
|
||||
nAngle = pActor->spr.angle;
|
||||
pActor->spr.pos.Z = pActor->sector()->floorz;
|
||||
ChangeActorStat(pActor, 119);
|
||||
}
|
||||
|
@ -60,7 +60,7 @@ void BuildRex(DExhumedActor* pActor, const DVector3& pos, sectortype* pSector, i
|
|||
pActor->spr.pal = pActor->sector()->ceilingpal;
|
||||
pActor->spr.xoffset = 0;
|
||||
pActor->spr.yoffset = 0;
|
||||
pActor->set_int_ang(nAngle);
|
||||
pActor->spr.angle = nAngle;
|
||||
pActor->vel.X = 0;
|
||||
pActor->vel.Y = 0;
|
||||
pActor->vel.Z = 0;
|
||||
|
|
|
@ -35,7 +35,7 @@ static actionSeq RoachSeq[] = {
|
|||
};
|
||||
|
||||
// TODO - make nType a bool?
|
||||
void BuildRoach(int nType, DExhumedActor* pActor, const DVector3& pos, sectortype* pSector, int angle)
|
||||
void BuildRoach(int nType, DExhumedActor* pActor, const DVector3& pos, sectortype* pSector, DAngle angle)
|
||||
{
|
||||
if (pActor == nullptr)
|
||||
{
|
||||
|
@ -46,7 +46,7 @@ void BuildRoach(int nType, DExhumedActor* pActor, const DVector3& pos, sectortyp
|
|||
{
|
||||
ChangeActorStat(pActor, 105);
|
||||
pActor->spr.pos.Z = pActor->sector()->floorz;
|
||||
angle = pActor->int_ang();
|
||||
angle = pActor->spr.angle;
|
||||
}
|
||||
|
||||
pActor->spr.cstat = CSTAT_SPRITE_BLOCK_ALL;
|
||||
|
@ -56,7 +56,7 @@ void BuildRoach(int nType, DExhumedActor* pActor, const DVector3& pos, sectortyp
|
|||
pActor->spr.picnum = 1;
|
||||
pActor->spr.pal = pActor->sector()->ceilingpal;
|
||||
pActor->spr.clipdist = 60;
|
||||
pActor->set_int_ang(angle);
|
||||
pActor->spr.angle = angle;
|
||||
pActor->spr.xrepeat = 40;
|
||||
pActor->spr.yrepeat = 40;
|
||||
pActor->vel.X = 0;
|
||||
|
@ -338,7 +338,7 @@ void AIRoach::Tick(RunListEvent* ev)
|
|||
{
|
||||
if (nFlag & 0x80)
|
||||
{
|
||||
BuildBullet(pActor, 13, -1, pActor->int_ang(), pTarget, 1);
|
||||
BuildBullet(pActor, 13, -1, pActor->spr.angle, pTarget, 1);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -38,7 +38,7 @@ static actionSeq ScorpSeq[] = {
|
|||
{53, 1}
|
||||
};
|
||||
|
||||
void BuildScorp(DExhumedActor* pActor, const DVector3& pos, sectortype* pSector, int nAngle, int nChannel)
|
||||
void BuildScorp(DExhumedActor* pActor, const DVector3& pos, sectortype* pSector, DAngle nAngle, int nChannel)
|
||||
{
|
||||
if (pActor == nullptr)
|
||||
{
|
||||
|
@ -49,7 +49,7 @@ void BuildScorp(DExhumedActor* pActor, const DVector3& pos, sectortype* pSector,
|
|||
{
|
||||
ChangeActorStat(pActor, 122);
|
||||
pActor->spr.pos.Z = pActor->sector()->floorz;
|
||||
nAngle = pActor->int_ang();
|
||||
nAngle = pActor->spr.angle;
|
||||
}
|
||||
|
||||
pActor->spr.cstat = CSTAT_SPRITE_BLOCK_ALL;
|
||||
|
@ -61,7 +61,7 @@ void BuildScorp(DExhumedActor* pActor, const DVector3& pos, sectortype* pSector,
|
|||
pActor->spr.pal = pActor->sector()->ceilingpal;
|
||||
pActor->spr.xoffset = 0;
|
||||
pActor->spr.yoffset = 0;
|
||||
pActor->set_int_ang(nAngle);
|
||||
pActor->spr.angle = nAngle;
|
||||
pActor->vel.X = 0;
|
||||
pActor->vel.Y = 0;
|
||||
pActor->vel.Z = 0;
|
||||
|
@ -312,7 +312,7 @@ void AIScorp::Tick(RunListEvent* ev)
|
|||
return;
|
||||
}
|
||||
|
||||
auto nBulletSprite = BuildBullet(pActor, 16, -1, pActor->int_ang(), pTarget, 1);
|
||||
auto nBulletSprite = BuildBullet(pActor, 16, -1, pActor->spr.angle, pTarget, 1);
|
||||
if (nBulletSprite)
|
||||
{
|
||||
PlotCourseToSprite(nBulletSprite, pTarget);
|
||||
|
@ -362,7 +362,7 @@ void AIScorp::Tick(RunListEvent* ev)
|
|||
return;
|
||||
}
|
||||
|
||||
auto pSpiderActor = BuildSpider(nullptr, pActor->spr.pos, pActor->sector(), pActor->int_ang());
|
||||
auto pSpiderActor = BuildSpider(nullptr, pActor->spr.pos, pActor->sector(), pActor->spr.angle);
|
||||
if (pSpiderActor)
|
||||
{
|
||||
pSpiderActor->set_int_ang(RandomSize(11));
|
||||
|
|
|
@ -39,7 +39,7 @@ static actionSeq SetSeq[] = {
|
|||
{74, 1}
|
||||
};
|
||||
|
||||
void BuildSet(DExhumedActor* pActor, const DVector3& pos, sectortype* pSector, int nAngle, int nChannel)
|
||||
void BuildSet(DExhumedActor* pActor, const DVector3& pos, sectortype* pSector, DAngle nAngle, int nChannel)
|
||||
{
|
||||
if (pActor == nullptr)
|
||||
{
|
||||
|
@ -50,7 +50,7 @@ void BuildSet(DExhumedActor* pActor, const DVector3& pos, sectortype* pSector, i
|
|||
{
|
||||
ChangeActorStat(pActor, 120);
|
||||
pActor->spr.pos.Z = pActor->sector()->floorz;
|
||||
nAngle = pActor->int_ang();
|
||||
nAngle = pActor->spr.angle;
|
||||
}
|
||||
|
||||
pActor->spr.cstat = CSTAT_SPRITE_BLOCK_ALL;
|
||||
|
@ -64,7 +64,7 @@ void BuildSet(DExhumedActor* pActor, const DVector3& pos, sectortype* pSector, i
|
|||
pActor->spr.pal = pActor->sector()->ceilingpal;
|
||||
pActor->spr.xoffset = 0;
|
||||
pActor->spr.yoffset = 0;
|
||||
pActor->set_int_ang(nAngle);
|
||||
pActor->spr.angle = nAngle;
|
||||
pActor->spr.picnum = 1;
|
||||
pActor->spr.hitag = 0;
|
||||
pActor->spr.lotag = runlist_HeadRun() + 1;
|
||||
|
@ -490,7 +490,7 @@ void AISet::Tick(RunListEvent* ev)
|
|||
{
|
||||
if (nFlag & 0x80)
|
||||
{
|
||||
auto pBullet = BuildBullet(pActor, 11, -1, pActor->int_ang(), pTarget, 1);
|
||||
auto pBullet = BuildBullet(pActor, 11, -1, pActor->spr.angle, pTarget, 1);
|
||||
if (pBullet)
|
||||
SetBulletEnemy(pBullet->nPhase, pTarget);
|
||||
|
||||
|
|
|
@ -499,12 +499,12 @@ void GameInterface::UpdateSounds()
|
|||
return;
|
||||
|
||||
DVector3 pos;
|
||||
int ang;
|
||||
DAngle ang;
|
||||
if (nSnakeCam > -1)
|
||||
{
|
||||
Snake *pSnake = &SnakeList[nSnakeCam];
|
||||
pos = pSnake->pSprites[0]->spr.pos;
|
||||
ang = pSnake->pSprites[0]->int_ang();
|
||||
ang = pSnake->pSprites[0]->spr.angle;
|
||||
}
|
||||
else
|
||||
{
|
||||
|
@ -512,7 +512,7 @@ void GameInterface::UpdateSounds()
|
|||
ang = inita;
|
||||
}
|
||||
SoundListener listener;
|
||||
listener.angle = float(-ang * BAngRadian); // Build uses a period of 2048.
|
||||
listener.angle = float(-ang.Radians()); // Build uses a period of 2048.
|
||||
listener.velocity.Zero();
|
||||
listener.position = GetSoundPos(pos);
|
||||
listener.underwater = false;
|
||||
|
|
|
@ -36,7 +36,7 @@ static actionSeq SpiderSeq[] = {
|
|||
};
|
||||
|
||||
|
||||
DExhumedActor* BuildSpider(DExhumedActor* spp, const DVector3& pos, sectortype* pSector, int nAngle)
|
||||
DExhumedActor* BuildSpider(DExhumedActor* spp, const DVector3& pos, sectortype* pSector, DAngle nAngle)
|
||||
{
|
||||
if (spp == nullptr)
|
||||
{
|
||||
|
@ -48,7 +48,7 @@ DExhumedActor* BuildSpider(DExhumedActor* spp, const DVector3& pos, sectortype*
|
|||
ChangeActorStat(spp, 99);
|
||||
|
||||
spp->spr.pos.Z = spp->sector()->floorz;
|
||||
nAngle = spp->int_ang();
|
||||
nAngle = spp->spr.angle;
|
||||
}
|
||||
|
||||
spp->spr.cstat = CSTAT_SPRITE_BLOCK_ALL;
|
||||
|
@ -62,7 +62,7 @@ DExhumedActor* BuildSpider(DExhumedActor* spp, const DVector3& pos, sectortype*
|
|||
spp->spr.pal = spp->sector()->ceilingpal;
|
||||
spp->spr.xoffset = 0;
|
||||
spp->spr.yoffset = 0;
|
||||
spp->set_int_ang(nAngle);
|
||||
spp->spr.angle = nAngle;
|
||||
spp->spr.picnum = 1;
|
||||
spp->spr.hitag = 0;
|
||||
spp->spr.lotag = runlist_HeadRun() + 1;
|
||||
|
|
|
@ -332,13 +332,13 @@ void DrawView(double interpfrac, bool sceneonly)
|
|||
|
||||
pPlayerActor->spr.cstat |= CSTAT_SPRITE_INVISIBLE;
|
||||
|
||||
int ang2 = nCameraang.Buildang() - pPlayerActor->int_ang();
|
||||
if (ang2 < 0)
|
||||
auto ang2 = nCameraang - pPlayerActor->spr.angle;
|
||||
if (ang2.Degrees() < 0)
|
||||
ang2 = -ang2;
|
||||
|
||||
if (ang2 > 10)
|
||||
if (ang2 > DAngle::fromBuild(10))
|
||||
{
|
||||
inita -= (ang2 >> 3);
|
||||
inita -= ang2 * (1. / 8.);
|
||||
return;
|
||||
}
|
||||
|
||||
|
|
|
@ -39,7 +39,7 @@ void SetWaspVel(DExhumedActor* pActor)
|
|||
pActor->VelFromAngle();
|
||||
}
|
||||
|
||||
DExhumedActor* BuildWasp(DExhumedActor* pActor, const DVector3& pos, sectortype* pSector, int nAngle, bool bEggWasp)
|
||||
DExhumedActor* BuildWasp(DExhumedActor* pActor, const DVector3& pos, sectortype* pSector, DAngle nAngle, bool bEggWasp)
|
||||
{
|
||||
if (pActor == nullptr)
|
||||
{
|
||||
|
@ -49,7 +49,7 @@ DExhumedActor* BuildWasp(DExhumedActor* pActor, const DVector3& pos, sectortype*
|
|||
}
|
||||
else
|
||||
{
|
||||
nAngle = pActor->int_ang();
|
||||
nAngle = pActor->spr.angle;
|
||||
ChangeActorStat(pActor, 107);
|
||||
}
|
||||
|
||||
|
@ -72,7 +72,7 @@ DExhumedActor* BuildWasp(DExhumedActor* pActor, const DVector3& pos, sectortype*
|
|||
pActor->spr.xoffset = 0;
|
||||
pActor->spr.yoffset = 0;
|
||||
pActor->spr.picnum = 1;
|
||||
pActor->set_int_ang(nAngle);
|
||||
pActor->spr.angle = nAngle;
|
||||
pActor->vel.X = 0;
|
||||
pActor->vel.Y = 0;
|
||||
pActor->vel.Z = 0;
|
||||
|
|
Loading…
Reference in a new issue