mirror of
https://github.com/DrBeef/Raze.git
synced 2025-02-01 05:20:43 +00:00
- the remaining angle stuff.
This commit is contained in:
parent
2d51058de8
commit
6bdfa09dd1
33 changed files with 70 additions and 63 deletions
|
@ -122,6 +122,11 @@ public:
|
|||
spr.__int_angle += int16_t(a);
|
||||
}
|
||||
|
||||
void norm_ang()
|
||||
{
|
||||
spr.__int_angle &= 2047;
|
||||
}
|
||||
|
||||
// Same as above but with invertex y and z axes to match the renderer's coordinate system.
|
||||
DVector3 render_pos() const
|
||||
{
|
||||
|
|
|
@ -503,6 +503,11 @@ struct spritetypebase
|
|||
__int_angle = int16_t(a);
|
||||
}
|
||||
|
||||
void add_int_ang(int a)
|
||||
{
|
||||
__int_angle += int16_t(a);
|
||||
}
|
||||
|
||||
void copy_ang(const spritetypebase* other)
|
||||
{
|
||||
__int_angle = other->int_ang();
|
||||
|
|
|
@ -3463,7 +3463,7 @@ void useSectorWindGen(DBloodActor* sourceactor, sectortype* pSector)
|
|||
}
|
||||
}
|
||||
else if (sourceactor->spr.cstat & CSTAT_SPRITE_MOVE_FORWARD) sourceactor->add_int_ang(sourceactor->xspr.data4);
|
||||
else if (sourceactor->spr.cstat & CSTAT_SPRITE_MOVE_REVERSE) sourceactor->spr.__int_angle -= sourceactor->xspr.data4;
|
||||
else if (sourceactor->spr.cstat & CSTAT_SPRITE_MOVE_REVERSE) sourceactor->add_int_ang(-sourceactor->xspr.data4);
|
||||
else if (sourceactor->xspr.sysData1 == 0)
|
||||
{
|
||||
if ((ang += sourceactor->xspr.data4) >= kAng180) sourceactor->xspr.sysData1 = 1;
|
||||
|
@ -8918,7 +8918,7 @@ void aiPatrolThink(DBloodActor* actor)
|
|||
if (!(markeractor->spr.flags & kModernTypeFlag4))
|
||||
{
|
||||
actor->xspr.goalAng = ((!(markeractor->spr.flags & kModernTypeFlag8) && actor->xspr.unused2) ? markeractor->int_ang() + kAng180 : markeractor->int_ang()) & 2047;
|
||||
if ((int)actor->spr.__int_angle != (int)actor->xspr.goalAng) // let the enemy play move animation while turning
|
||||
if ((int)actor->int_ang() != (int)actor->xspr.goalAng) // let the enemy play move animation while turning
|
||||
return;
|
||||
}
|
||||
|
||||
|
|
|
@ -118,7 +118,7 @@ void GameInterface::UpdateSounds()
|
|||
|
||||
if (gMe->actor)
|
||||
{
|
||||
listener.angle = -gMe->actor->spr.__int_angle * float(BAngRadian); // Build uses a period of 2048.
|
||||
listener.angle = -gMe->actor->spr.int_ang() * float(BAngRadian); // Build uses a period of 2048.
|
||||
listener.velocity.Zero();
|
||||
listener.position = GetSoundPos(gMe->actor->int_pos());
|
||||
listener.valid = true;
|
||||
|
|
|
@ -854,7 +854,7 @@ FString GameInterface::GetCoordString()
|
|||
FString out;
|
||||
|
||||
out.Format("pos= %d, %d, %d - angle = %2.3f",
|
||||
gMe->actor->int_pos().X, gMe->actor->int_pos().Y, gMe->actor->int_pos().Z, gMe->actor->spr.__int_angle * BAngToDegree);
|
||||
gMe->actor->int_pos().X, gMe->actor->int_pos().Y, gMe->actor->int_pos().Z, gMe->actor->spr.int_ang() * BAngToDegree);
|
||||
|
||||
return out;
|
||||
}
|
||||
|
|
|
@ -2709,7 +2709,7 @@ void handle_se00(DDukeActor* actor)
|
|||
}
|
||||
|
||||
act2->add_int_ang((l * q));
|
||||
act2->spr.__int_angle &= 2047;
|
||||
act2->norm_ang();
|
||||
|
||||
act2->add_int_z(zchange);
|
||||
|
||||
|
@ -3722,7 +3722,7 @@ void handle_se13(DDukeActor* actor)
|
|||
}
|
||||
|
||||
|
||||
if (actor->temp_data[2] == 4 && actor->spr.__int_angle != 512)
|
||||
if (actor->temp_data[2] == 4 && actor->int_ang() != 512)
|
||||
for (int x = 0; x < 7; x++) RANDOMSCRAP(actor);
|
||||
}
|
||||
|
||||
|
@ -4472,7 +4472,7 @@ void handle_se32(DDukeActor *actor)
|
|||
|
||||
if (actor->temp_data[2] == 1) // Retract
|
||||
{
|
||||
if (actor->spr.__int_angle != 1536)
|
||||
if (actor->int_ang() != 1536)
|
||||
{
|
||||
if (abs(sc->int_ceilingz() - actor->int_pos().Z) < (actor->spr.yvel << 1))
|
||||
{
|
||||
|
@ -4660,7 +4660,7 @@ void handle_se31(DDukeActor* actor, bool choosedir)
|
|||
|
||||
if (actor->temp_data[2] == 1) // Retract
|
||||
{
|
||||
if (actor->spr.__int_angle != 1536)
|
||||
if (actor->int_ang() != 1536)
|
||||
{
|
||||
if (abs(sec->int_floorz() - actor->int_pos().Z) < actor->spr.yvel)
|
||||
{
|
||||
|
@ -4915,7 +4915,7 @@ int dodge(DDukeActor* actor)
|
|||
d = bxvect * by - byvect * bx;
|
||||
if (abs(d) < 65536 * 64)
|
||||
{
|
||||
actor->spr.__int_angle -= 512 + (krand() & 1024);
|
||||
actor->add_int_ang(-(512 + (krand() & 1024)));
|
||||
return 1;
|
||||
}
|
||||
}
|
||||
|
@ -5041,7 +5041,7 @@ void alterang(int ang, DDukeActor* actor, int playernum)
|
|||
j = 128 - (krand() & 256);
|
||||
actor->add_int_ang(j);
|
||||
if (hits(actor) < 844)
|
||||
actor->spr.__int_angle -= j;
|
||||
actor->add_int_ang(-j);
|
||||
}
|
||||
}
|
||||
else if (ticselapsed > 18 && ticselapsed < 26) // choose
|
||||
|
|
|
@ -2382,8 +2382,8 @@ static void greenslime(DDukeActor *actor)
|
|||
if (actor->spr.xvel < 32) actor->spr.xvel += 4;
|
||||
actor->spr.xvel = 64 - bcos(actor->temp_data[1], -9);
|
||||
|
||||
actor->add_int_ang(
|
||||
getincangle(actor->int_ang(), getangle(ps[p].pos.XY() - actor->spr.pos.XY())) >> 3);
|
||||
actor->add_int_ang(getincangle(actor->int_ang(),
|
||||
getangle(ps[p].pos.XY() - actor->spr.pos.XY())) >> 3);
|
||||
// TJR
|
||||
}
|
||||
|
||||
|
|
|
@ -943,12 +943,12 @@ static void chickenarrow(DDukeActor* actor)
|
|||
if (ang3 > 1023)
|
||||
actor->add_int_ang(51);
|
||||
else
|
||||
actor->spr.__int_angle -= 51;
|
||||
actor->add_int_ang(-51);
|
||||
}
|
||||
else if (ang2 > 100)
|
||||
{
|
||||
if (ang3 > 1023)
|
||||
actor->spr.__int_angle -= 51;
|
||||
actor->add_int_ang(-51);
|
||||
else
|
||||
actor->add_int_ang(51);
|
||||
}
|
||||
|
|
|
@ -219,7 +219,7 @@ void animatesprites_d(tspriteArray& tsprites, int x, int y, int a, int smoothrat
|
|||
t->xrepeat = 0;
|
||||
else
|
||||
{
|
||||
t->__int_angle = getangle(x - t->int_pos().X, y - t->int_pos().Y);
|
||||
t->set_int_ang(getangle(x - t->int_pos().X, y - t->int_pos().Y));
|
||||
t->pos.X = OwnerAc->spr.pos.X + buildang(t->int_ang()).fcos();
|
||||
t->pos.Y = OwnerAc->spr.pos.Y + buildang(t->int_ang()).fsin();
|
||||
}
|
||||
|
@ -705,7 +705,7 @@ void animatesprites_d(tspriteArray& tsprites, int x, int y, int a, int smoothrat
|
|||
t->picnum = OwnerAc->dispicnum;
|
||||
t->pal = OwnerAc->spr.pal;
|
||||
t->shade = OwnerAc->spr.shade;
|
||||
t->__int_angle = OwnerAc->int_ang();
|
||||
t->set_int_ang(OwnerAc->int_ang());
|
||||
t->cstat = CSTAT_SPRITE_TRANSLUCENT | OwnerAc->spr.cstat;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -213,7 +213,7 @@ void animatesprites_r(tspriteArray& tsprites, int x, int y, int a, int smoothrat
|
|||
t->xrepeat = 0;
|
||||
else
|
||||
{
|
||||
t->__int_angle = getangle(x - t->int_pos().X, y - t->int_pos().Y);
|
||||
t->set_int_ang(getangle(x - t->int_pos().X, y - t->int_pos().Y));
|
||||
t->pos.X = OwnerAc->spr.pos.X + buildang(t->int_ang()).fcos();
|
||||
t->pos.Y = OwnerAc->spr.pos.Y + buildang(t->int_ang()).fsin();
|
||||
}
|
||||
|
@ -938,7 +938,7 @@ void animatesprites_r(tspriteArray& tsprites, int x, int y, int a, int smoothrat
|
|||
t->picnum = OwnerAc->dispicnum;
|
||||
t->pal = OwnerAc->spr.pal;
|
||||
t->shade = OwnerAc->spr.shade;
|
||||
t->__int_angle = OwnerAc->int_ang();
|
||||
t->set_int_ang(OwnerAc->int_ang());
|
||||
t->cstat = CSTAT_SPRITE_TRANSLUCENT | OwnerAc->spr.cstat;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -190,7 +190,7 @@ void resetpins(sectortype* sect)
|
|||
{
|
||||
spawned->spr.clipdist = (1 + (krand() % 1)) * 16 + 32;
|
||||
}
|
||||
spawned->spr.__int_angle -= ((krand() & 32) - (krand() & 64)) & 2047;
|
||||
spawned->add_int_ang(-(((krand() & 32) - (krand() & 64)) & 2047));
|
||||
}
|
||||
}
|
||||
if (a2->spr.picnum == 280)
|
||||
|
|
|
@ -567,7 +567,7 @@ bool GameInterface::DrawAutomapPlayer(int mx, int my, int cposx, int cposy, int
|
|||
int xx = twod->GetWidth() / 2. + x1 / 4096.;
|
||||
int yy = twod->GetHeight() / 2. + y1 / 4096.;
|
||||
|
||||
daang = ((!SyncInput() ? act->spr.__int_angle : act->interpolatedang(smoothratio)) - cang) & 2047;
|
||||
daang = ((!SyncInput() ? act->int_ang() : act->interpolatedang(smoothratio)) - cang) & 2047;
|
||||
|
||||
if (p == screenpeek || ud.coop == 1)
|
||||
{
|
||||
|
|
|
@ -1416,14 +1416,14 @@ static int ifcanshoottarget(DDukeActor *actor, int g_p, int g_x)
|
|||
j = 0;
|
||||
else
|
||||
{
|
||||
actor->add_int_ang(angdif); j = hitasprite(actor, &hit); actor->spr.__int_angle -= angdif;
|
||||
actor->add_int_ang(angdif); j = hitasprite(actor, &hit); actor->add_int_ang(-angdif);
|
||||
if (j > sclip)
|
||||
{
|
||||
if (hit != nullptr && hit->spr.picnum == actor->spr.picnum)
|
||||
j = 0;
|
||||
else
|
||||
{
|
||||
actor->spr.__int_angle -= angdif; j = hitasprite(actor, &hit); actor->add_int_ang(angdif);
|
||||
actor->add_int_ang(-angdif); j = hitasprite(actor, &hit); actor->add_int_ang(angdif);
|
||||
if (j > 768)
|
||||
{
|
||||
if (hit != nullptr && hit->spr.picnum == actor->spr.picnum)
|
||||
|
|
|
@ -789,7 +789,7 @@ static void shootrpg(DDukeActor *actor, int p, int sx, int sy, int sz, int sa, i
|
|||
}
|
||||
|
||||
spawned->add_int_pos({ -xoffs, -yoffs, 0 });
|
||||
spawned->spr.__int_angle -= aoffs;
|
||||
spawned->add_int_ang(-aoffs);
|
||||
|
||||
spawned->spr.xrepeat = 24;
|
||||
spawned->spr.yrepeat = 24;
|
||||
|
@ -2375,8 +2375,7 @@ static void operateweapon(int snum, ESyncBits actions)
|
|||
auto j = spawn(pact, SHELL);
|
||||
if (j)
|
||||
{
|
||||
j->add_int_ang(1024);
|
||||
j->spr.__int_angle &= 2047;
|
||||
j->set_int_ang((j->int_ang() + 1024) & 2047);
|
||||
j->spr.xvel += 32;
|
||||
j->spr.pos.Z += 3;
|
||||
ssp(j, CLIPMASK0);
|
||||
|
|
|
@ -2977,8 +2977,7 @@ static void operateweapon(int snum, ESyncBits actions, sectortype* psectp)
|
|||
if (j)
|
||||
{
|
||||
|
||||
j->add_int_ang(1024);
|
||||
j->spr.__int_angle &= 2047;
|
||||
j->set_int_ang((j->int_ang() + 1024) & 2047);
|
||||
j->spr.xvel += 32;
|
||||
j->spr.pos.Z += 3;
|
||||
ssp(j, CLIPMASK0);
|
||||
|
|
|
@ -125,8 +125,7 @@ void DoSpawn(player_struct *p, int snum)
|
|||
else if((aplWeaponFlags(p->curr_weapon, snum) & WEAPON_FLAG_SPAWNTYPE3 ) )
|
||||
{
|
||||
// like chaingun shells
|
||||
j->add_int_ang(1024);
|
||||
j->spr.__int_angle &= 2047;
|
||||
j->set_int_ang((j->int_ang() + 1024) & 2047);
|
||||
j->spr.xvel += 32;
|
||||
j->add_int_z(3<<8);
|
||||
ssp(j,CLIPMASK0);
|
||||
|
|
|
@ -927,7 +927,7 @@ static void handle_st25(sectortype* sptr, DDukeActor* actor)
|
|||
if (act3->spr.lotag == 15)
|
||||
{
|
||||
act3->sector()->lotag ^= 0x8000; // Toggle the open or close
|
||||
act3->add_int_ang(1024;
|
||||
act3->add_int_ang(1024);
|
||||
if (act3->temp_data[4]) callsound(act3->sector(), act3);
|
||||
callsound(act3->sector(), act3);
|
||||
if (act3->sector()->lotag & 0x8000) act3->temp_data[4] = 1;
|
||||
|
|
|
@ -1049,7 +1049,7 @@ void checkhitsprite_d(DDukeActor* targ, DDukeActor* proj)
|
|||
if (proj->spr.picnum == QUEBALL || proj->spr.picnum == STRIPEBALL)
|
||||
{
|
||||
proj->spr.xvel = (targ->spr.xvel >> 1) + (targ->spr.xvel >> 2);
|
||||
proj->spr.__int_angle -= (targ->int_ang() << 1) + 1024;
|
||||
proj->add_int_ang(-((targ->int_ang() << 1) + 1024));
|
||||
targ->set_int_ang(getangle(targ->int_pos().X - proj->int_pos().X, targ->int_pos().Y - proj->int_pos().Y) - 512);
|
||||
if (S_CheckSoundPlaying(POOLBALLHIT) < 2)
|
||||
S_PlayActorSound(POOLBALLHIT, targ);
|
||||
|
|
|
@ -2063,7 +2063,7 @@ void checkhitsprite_r(DDukeActor* targ, DDukeActor* proj)
|
|||
break;
|
||||
case BOWLINGBALL:
|
||||
proj->spr.xvel = (targ->spr.xvel >> 1) + (targ->spr.xvel >> 2);
|
||||
proj->spr.__int_angle -= (krand() & 16);
|
||||
proj->add_int_ang(-(krand() & 16));
|
||||
S_PlayActorSound(355, targ);
|
||||
break;
|
||||
|
||||
|
@ -2076,7 +2076,7 @@ void checkhitsprite_r(DDukeActor* targ, DDukeActor* proj)
|
|||
if (proj->spr.picnum == QUEBALL || proj->spr.picnum == STRIPEBALL)
|
||||
{
|
||||
proj->spr.xvel = (targ->spr.xvel >> 1) + (targ->spr.xvel >> 2);
|
||||
proj->spr.__int_angle -= (targ->int_ang() << 1) + 1024;
|
||||
proj->add_int_ang(-((targ->int_ang() << 1) + 1024));
|
||||
targ->set_int_ang(getangle(targ->int_pos().X - proj->int_pos().X, targ->int_pos().Y - proj->int_pos().Y) - 512);
|
||||
if (S_CheckSoundPlaying(POOLBALLHIT) < 2)
|
||||
S_PlayActorSound(POOLBALLHIT, targ);
|
||||
|
@ -2084,14 +2084,14 @@ void checkhitsprite_r(DDukeActor* targ, DDukeActor* proj)
|
|||
else if (proj->spr.picnum == BOWLINGPIN || proj->spr.picnum == BOWLINGPIN + 1)
|
||||
{
|
||||
proj->spr.xvel = (targ->spr.xvel >> 1) + (targ->spr.xvel >> 2);
|
||||
proj->spr.__int_angle -= ((targ->int_ang() << 1) + krand()) & 64;
|
||||
proj->add_int_ang(-(((targ->int_ang() << 1) + krand()) & 64));
|
||||
targ->set_int_ang((targ->int_ang() + krand()) & 16);
|
||||
S_PlayActorSound(355, targ);
|
||||
}
|
||||
else if (proj->spr.picnum == HENSTAND || proj->spr.picnum == HENSTAND + 1)
|
||||
{
|
||||
proj->spr.xvel = (targ->spr.xvel >> 1) + (targ->spr.xvel >> 2);
|
||||
proj->spr.__int_angle -= ((targ->int_ang() << 1) + krand()) & 16;
|
||||
proj->add_int_ang(-(((targ->int_ang() << 1) + krand()) & 16));
|
||||
targ->set_int_ang((targ->int_ang() + krand()) & 16);
|
||||
S_PlayActorSound(355, targ);
|
||||
}
|
||||
|
|
|
@ -833,7 +833,7 @@ void spawneffector(DDukeActor* actor, TArray<DDukeActor*>* actors)
|
|||
case SE_31_FLOOR_RISE_FALL:
|
||||
actor->temp_data[1] = sectp->int_floorz();
|
||||
// actor->temp_data[2] = actor->spr.hitag;
|
||||
if (actor->spr.__int_angle != 1536) sectp->setfloorz(actor->spr.pos.Z);
|
||||
if (actor->int_ang() != 1536) sectp->setfloorz(actor->spr.pos.Z);
|
||||
|
||||
for (auto& wal : wallsofsector(sectp))
|
||||
if (wal.hitag == 0) wal.hitag = 9999;
|
||||
|
@ -844,7 +844,7 @@ void spawneffector(DDukeActor* actor, TArray<DDukeActor*>* actors)
|
|||
case SE_32_CEILING_RISE_FALL:
|
||||
actor->temp_data[1] = sectp->int_ceilingz();
|
||||
actor->temp_data[2] = actor->spr.hitag;
|
||||
if (actor->spr.__int_angle != 1536) sectp->setceilingz(actor->spr.pos.Z);
|
||||
if (actor->int_ang() != 1536) sectp->setceilingz(actor->spr.pos.Z);
|
||||
|
||||
for (auto& wal : wallsofsector(sectp))
|
||||
if (wal.hitag == 0) wal.hitag = 9999;
|
||||
|
|
|
@ -188,7 +188,7 @@ void BuildFish(DExhumedActor* pActor, int x, int y, int z, sectortype* pSector,
|
|||
void IdleFish(DExhumedActor* pActor, int edx)
|
||||
{
|
||||
pActor->add_int_ang((256 - RandomSize(9)) + 1024);
|
||||
pActor->spr.__int_angle &= kAngleMask;
|
||||
pActor->norm_ang();
|
||||
|
||||
pActor->spr.xvel = bcos(pActor->int_ang(), -8);
|
||||
pActor->spr.yvel = bsin(pActor->int_ang(), -8);
|
||||
|
|
|
@ -628,7 +628,7 @@ void ProcessSpriteTag(DExhumedActor* pActor, int nLotag, int nHitag)
|
|||
{
|
||||
auto pSector = pActor->sector();
|
||||
pSector->Speed = nSpeed;
|
||||
pSector->Flag |= pActor->int_ang();
|
||||
pSector->Flag |= pActor->spr.__int_angle;
|
||||
|
||||
DeleteActor(pActor);
|
||||
return;
|
||||
|
|
|
@ -265,7 +265,7 @@ void RestartPlayer(int nPlayer)
|
|||
|
||||
pActor->set_int_pos(nNStartSprite->int_pos());
|
||||
ChangeActorSect(pActor, nNStartSprite->sector());
|
||||
plr->angle.ang = buildang(nNStartSprite->spr.__int_angle&kAngleMask);
|
||||
plr->angle.ang = buildang(nNStartSprite->int_ang() & kAngleMask);
|
||||
pActor->set_int_ang(plr->angle.ang.asbuild());
|
||||
|
||||
floorsprt = insertActor(pActor->sector(), 0);
|
||||
|
|
|
@ -624,8 +624,8 @@ void AIQueenEgg::Tick(RunListEvent* ev)
|
|||
}
|
||||
[[fallthrough]];
|
||||
case kHitWall:
|
||||
pActor->add_int_ang((RandomSize(9) + 768);
|
||||
pActor->spr.__int_angle &= kAngleMask;
|
||||
pActor->set_int_ang((RandomSize(9) + 768));
|
||||
pActor->norm_ang();
|
||||
pActor->spr.xvel = bcos(pActor->int_ang(), -3);
|
||||
pActor->spr.yvel = bsin(pActor->int_ang(), -3);
|
||||
pActor->spr.zvel = -RandomSize(5);
|
||||
|
@ -907,7 +907,7 @@ void AIQueenHead::Tick(RunListEvent* ev)
|
|||
D3PlayFX(StaticSound[kSoundQTail] | 0x2000, pActor);
|
||||
|
||||
pActor->add_int_ang(RandomSize(9) + 768);
|
||||
pActor->spr.__int_angle &= kAngleMask;
|
||||
pActor->norm_ang();
|
||||
|
||||
pActor->spr.zvel = (-20) - RandomSize(6);
|
||||
|
||||
|
@ -1304,7 +1304,7 @@ void AIQueen::Tick(RunListEvent* ev)
|
|||
[[fallthrough]];
|
||||
case 0x8000:
|
||||
pActor->add_int_ang(256);
|
||||
pActor->spr.__int_angle &= kAngleMask;
|
||||
pActor->norm_ang();
|
||||
|
||||
SetQueenSpeed(pActor, si);
|
||||
break;
|
||||
|
|
|
@ -411,7 +411,7 @@ void AIScorp::Effect(RunListEvent* ev, DExhumedActor* pTarget, int mode)
|
|||
{
|
||||
PlotCourseToSprite(pActor, pTarget);
|
||||
pActor->add_int_ang(RandomSize(7) - 63);
|
||||
pActor->spr.__int_angle &= kAngleMask;
|
||||
pActor->norm_ang();
|
||||
|
||||
pActor->spr.xvel = bcos(pActor->int_ang());
|
||||
pActor->spr.yvel = bsin(pActor->int_ang());
|
||||
|
|
|
@ -587,7 +587,7 @@ int seq_PlotSequence(int nSprite, int16_t edx, int16_t nFrame, int16_t ecx)
|
|||
tsp->pal = pTSprite->pal;
|
||||
tsp->xrepeat = pTSprite->xrepeat;
|
||||
tsp->yrepeat = pTSprite->yrepeat;
|
||||
tsp->__int_angle = pTSprite->int_ang();
|
||||
tsp->copy_ang(pTSprite);
|
||||
tsp->ownerActor = pTSprite->ownerActor;
|
||||
tsp->sectp = pTSprite->sectp;
|
||||
tsp->cstat = pTSprite->cstat |= CSTAT_SPRITE_YCENTER;
|
||||
|
|
|
@ -74,7 +74,7 @@ static void analyzesprites(tspriteArray& tsprites, int x, int y, int z, double c
|
|||
{
|
||||
// interpolate sprite position
|
||||
pTSprite->pos = pTSprite->ownerActor->interpolatedvec3(smoothratio);
|
||||
pTSprite->__int_angle = pTSprite->ownerActor->interpolatedang(smoothratio);
|
||||
pTSprite->set_int_ang(pTSprite->ownerActor->interpolatedang(smoothratio));
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -157,7 +157,7 @@ void AIWasp::Damage(RunListEvent* ev)
|
|||
|
||||
pActor->nAction = 1;
|
||||
pActor->add_int_ang(RandomSize(9) + 768);
|
||||
pActor->spr.__int_angle &= kAngleMask;
|
||||
pActor->norm_ang();
|
||||
|
||||
pActor->nVel = 3000;
|
||||
|
||||
|
@ -305,7 +305,7 @@ void AIWasp::Tick(RunListEvent* ev)
|
|||
if (bVal)
|
||||
{
|
||||
pActor->add_int_ang(RandomSize(9) + 768);
|
||||
pActor->spr.__int_angle &= kAngleMask;
|
||||
pActor->norm_ang();
|
||||
pActor->spr.zvel = (-20) - RandomSize(6);
|
||||
|
||||
pActor->nAction = 1;
|
||||
|
|
|
@ -1200,7 +1200,7 @@ DSWActor* BunnyHatch2(DSWActor* actor)
|
|||
actorNew->spr.xrepeat = actorNew->spr.yrepeat = 64;
|
||||
actorNew->spr.xvel = 150 + RandomRange(1000);
|
||||
actorNew->user.Health = 1; // Easy to pop. Like shootn' skeet.
|
||||
actorNew->spr.__int_angle -= RandomRange(128);
|
||||
actorNew->add_int_ang(-RandomRange(128));
|
||||
actorNew->add_int_ang(RandomRange(128));
|
||||
}
|
||||
else
|
||||
|
|
|
@ -669,7 +669,7 @@ void analyzesprites(tspriteArray& tsprites, int viewx, int viewy, int viewz, int
|
|||
{
|
||||
|
||||
tsp->picnum = DART_PIC;
|
||||
tsp->__int_angle = NORM_ANGLE(tsp->int_ang() - 512 - 24);
|
||||
tsp->set_int_ang(NORM_ANGLE(tsp->int_ang() - 512 - 24));
|
||||
tsp->xrepeat = tsp->yrepeat = DART_REPEAT;
|
||||
tsp->cstat |= (CSTAT_SPRITE_ALIGNMENT_WALL);
|
||||
}
|
||||
|
@ -733,7 +733,7 @@ void analyzesprites(tspriteArray& tsprites, int viewx, int viewy, int viewz, int
|
|||
if (tsp->statnum == STAT_STAR_QUEUE)
|
||||
{
|
||||
tsp->picnum = DART_PIC;
|
||||
tsp->__int_angle = NORM_ANGLE(tsp->int_ang() - 512);
|
||||
tsp->set_int_ang(NORM_ANGLE(tsp->int_ang() - 512));
|
||||
tsp->xrepeat = tsp->yrepeat = DART_REPEAT;
|
||||
tsp->cstat |= (CSTAT_SPRITE_ALIGNMENT_WALL);
|
||||
}
|
||||
|
@ -775,7 +775,7 @@ void analyzesprites(tspriteArray& tsprites, int viewx, int viewy, int viewz, int
|
|||
|
||||
pos.Z = tsp->int_pos().Z + pp->si.Z;
|
||||
tsp->set_int_pos(pos);
|
||||
tsp->__int_angle = pp->siang;
|
||||
tsp->set_int_ang(pp->siang);
|
||||
//continue;
|
||||
}
|
||||
else
|
||||
|
@ -792,7 +792,7 @@ void analyzesprites(tspriteArray& tsprites, int viewx, int viewy, int viewz, int
|
|||
tsp->add_int_x(-MulScale(pp->pos.X - pp->opos.X, sr, 16));
|
||||
tsp->add_int_y(-MulScale(pp->pos.Y - pp->opos.Y, sr, 16));
|
||||
tsp->add_int_z(-MulScale(pp->pos.Z - pp->opos.Z, sr, 16));
|
||||
tsp->__int_angle -= MulScale(pp->angle.ang.asbuild() - pp->angle.oang.asbuild(), sr, 16);
|
||||
tsp->add_int_ang(-MulScale(pp->angle.ang.asbuild() - pp->angle.oang.asbuild(), sr, 16));
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -1654,7 +1654,7 @@ bool GameInterface::DrawAutomapPlayer(int mx, int my, int cposx, int cposy, int
|
|||
|
||||
if (czoom > 192)
|
||||
{
|
||||
daang = ((!SyncInput() ? actor->spr.__int_angle : actor->interpolatedang(smoothratio)) - cang) & 2047;
|
||||
daang = ((!SyncInput() ? actor->int_ang() : actor->interpolatedang(smoothratio)) - cang) & 2047;
|
||||
|
||||
// Special case tiles
|
||||
if (actor->spr.picnum == 3123) break;
|
||||
|
|
|
@ -376,7 +376,7 @@ void so_dointerpolations(int32_t smoothratio) // Stick at b
|
|||
continue; // target went poof.
|
||||
|
||||
interp->data[i].bakipos = (interp->data[i].curelement == soi_sprang) ?
|
||||
(double)actorofang->spr.__int_angle :
|
||||
(double)actorofang->int_ang() :
|
||||
getvalue(interp->data[i]);
|
||||
}
|
||||
if (interp->tic == 0) // Only if the SO has just moved
|
||||
|
|
|
@ -284,7 +284,7 @@ int DoSkullBeginDeath(DSWActor* actor)
|
|||
if (num_ord > 3) num_ord = 3;
|
||||
for (i=0; i<num_ord; i++)
|
||||
{
|
||||
actor->set_int_ang(NORM_ANGLE(actor->spr.__int_angle+(i*1024)));
|
||||
actor->set_int_ang(NORM_ANGLE(actor->int_ang() + (i*1024)));
|
||||
InitSpriteChemBomb(actor);
|
||||
}
|
||||
break;
|
||||
|
@ -664,7 +664,7 @@ int DoBettyBeginDeath(DSWActor* actor)
|
|||
if (num_ord > 3) num_ord = 3;
|
||||
for (i=0; i<num_ord; i++)
|
||||
{
|
||||
actor->set_int_ang(NORM_ANGLE(actor->spr.__int_angle+(i*1024)));
|
||||
actor->set_int_ang(NORM_ANGLE(actor->int_ang() + (i*1024)));
|
||||
InitSpriteChemBomb(actor);
|
||||
}
|
||||
break;
|
||||
|
|
|
@ -7678,7 +7678,7 @@ int MissileSeek(DSWActor* actor, int16_t delay_tics, int16_t aware_range/*, int1
|
|||
delta_ang = -32;
|
||||
}
|
||||
|
||||
actor->spr.__int_angle -= delta_ang;
|
||||
actor->add_int_ang(-delta_ang);
|
||||
|
||||
zh = ActorZOfTop(actor) + (ActorSizeZ(actor) >> 2);
|
||||
|
||||
|
@ -7744,7 +7744,7 @@ int ComboMissileSeek(DSWActor* actor, int16_t delay_tics, int16_t aware_range/*,
|
|||
delta_ang = -32;
|
||||
}
|
||||
|
||||
actor->spr.__int_angle -= delta_ang;
|
||||
actor->add_int_ang(-delta_ang);
|
||||
|
||||
actor->user.change.X = MOVEx(actor->spr.xvel, actor->int_ang());
|
||||
actor->user.change.Y = MOVEy(actor->spr.xvel, actor->int_ang());
|
||||
|
@ -9670,8 +9670,8 @@ int SpawnCoolieExp(DSWActor* actor)
|
|||
actor->user.Counter = RandomRange(120); // This is the wait til birth time!
|
||||
|
||||
zh = actor->int_pos().Z - ActorSizeZ(actor) + (ActorSizeZ(actor) >> 2);
|
||||
nx = actor->int_pos().X + MOVEx(64, actor->spr.__int_angle+1024);
|
||||
ny = actor->int_pos().Y + MOVEy(64, actor->spr.__int_angle+1024);
|
||||
nx = actor->int_pos().X + MOVEx(64, actor->int_ang() + 1024);
|
||||
ny = actor->int_pos().Y + MOVEy(64, actor->int_ang() + 1024);
|
||||
|
||||
PlaySound(DIGI_COOLIEEXPLODE, actor, v3df_none);
|
||||
|
||||
|
@ -15066,7 +15066,7 @@ int BulletHitSprite(DSWActor* actor, DSWActor* hitActor, int hit_x, int hit_y, i
|
|||
if ((RANDOM_P2(1024<<5)>>5) < 256)
|
||||
{
|
||||
if (!hitActor->user.PlayerP)
|
||||
SpawnBlood(hitActor, nullptr, NORM_ANGLE(actor->spr.__int_angle+1024),hit_x, hit_y, hit_z);
|
||||
SpawnBlood(hitActor, nullptr, NORM_ANGLE(actor->int_ang() + 1024),hit_x, hit_y, hit_z);
|
||||
if (hitActor->user.ID != TRASHCAN && hitActor->user.ID != ZILLA_RUN_R0)
|
||||
QueueWallBlood(hitActor, actor->int_ang()); //QueueWallBlood needs bullet angle.
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue