mirror of
https://github.com/DrBeef/Raze.git
synced 2025-03-21 17:00:52 +00:00
- Duke: Remove player_struct::posXY()
.
This commit is contained in:
parent
6f102e1171
commit
92dd6c9795
12 changed files with 56 additions and 61 deletions
|
@ -779,7 +779,7 @@ bool queball(DDukeActor *actor, int pocket, int queball, int stripeball)
|
|||
{
|
||||
// if(actor->spr.pal == 12)
|
||||
{
|
||||
auto delta = absangle(ps[p].angle.ang, (actor->spr.pos.XY() - ps[p].posXY()).Angle());
|
||||
auto delta = absangle(ps[p].angle.ang, (actor->spr.pos.XY() - ps[p].GetActor()->spr.pos.XY()).Angle());
|
||||
if (delta < DAngle22_5 / 2 && PlayerInput(p, SB_OPEN))
|
||||
if (ps[p].toggle_key_flag == 1)
|
||||
{
|
||||
|
@ -789,7 +789,7 @@ bool queball(DDukeActor *actor, int pocket, int queball, int stripeball)
|
|||
{
|
||||
if (act2->spr.picnum == queball || act2->spr.picnum == stripeball)
|
||||
{
|
||||
delta = absangle(ps[p].angle.ang, (act2->spr.pos.XY() - ps[p].posXY()).Angle());
|
||||
delta = absangle(ps[p].angle.ang, (act2->spr.pos.XY() - ps[p].GetActor()->spr.pos.XY()).Angle());
|
||||
if (delta < DAngle22_5 / 2)
|
||||
{
|
||||
double l;
|
||||
|
@ -811,7 +811,7 @@ bool queball(DDukeActor *actor, int pocket, int queball, int stripeball)
|
|||
}
|
||||
if (x < 32 && actor->sector() == ps[p].cursector)
|
||||
{
|
||||
actor->spr.angle = (actor->spr.pos.XY() - ps[p].posXY()).Angle();
|
||||
actor->spr.angle = (actor->spr.pos.XY() - ps[p].GetActor()->spr.pos.XY()).Angle();
|
||||
actor->vel.X = 3;
|
||||
}
|
||||
}
|
||||
|
@ -963,7 +963,7 @@ void recon(DDukeActor *actor, int explosion, int firelaser, int attacksnd, int p
|
|||
actor->temp_data[2] = 0;
|
||||
}
|
||||
else actor->temp_angle +=
|
||||
deltaangle(actor->temp_angle, (ps[p].posXY() - actor->spr.pos.XY()).Angle()) / 3;
|
||||
deltaangle(actor->temp_angle, (ps[p].GetActor()->spr.pos.XY() - actor->spr.pos.XY()).Angle()) / 3;
|
||||
}
|
||||
else if (actor->temp_data[0] == 2 || actor->temp_data[0] == 3)
|
||||
{
|
||||
|
@ -990,7 +990,7 @@ void recon(DDukeActor *actor, int explosion, int firelaser, int attacksnd, int p
|
|||
fi.shoot(actor, firelaser);
|
||||
}
|
||||
}
|
||||
actor->spr.angle += deltaangle(actor->spr.angle, (ps[p].posXY() - actor->spr.pos.XY()).Angle()) * 0.25;
|
||||
actor->spr.angle += deltaangle(actor->spr.angle, (ps[p].GetActor()->spr.pos.XY() - actor->spr.pos.XY()).Angle()) * 0.25;
|
||||
}
|
||||
|
||||
if (actor->temp_data[0] != 2 && actor->temp_data[0] != 3 && Owner)
|
||||
|
@ -1863,9 +1863,9 @@ void handle_se00(DDukeActor* actor)
|
|||
|
||||
ps[p].posZadd(zchange);
|
||||
|
||||
auto result = rotatepoint(Owner->spr.pos, ps[p].posXY(), ang_amount * direction);
|
||||
auto result = rotatepoint(Owner->spr.pos, ps[p].GetActor()->spr.pos.XY(), ang_amount * direction);
|
||||
|
||||
ps[p].bobpos += (result - ps[p].posXY());
|
||||
ps[p].bobpos += (result - ps[p].GetActor()->spr.pos.XY());
|
||||
|
||||
ps[p].GetActor()->spr.pos.XY() = result;
|
||||
}
|
||||
|
@ -1987,7 +1987,7 @@ void handle_se14(DDukeActor* actor, bool checkstat, int RPG, int JIBS6)
|
|||
if (dist2 < 1280)//20480)
|
||||
{
|
||||
auto saved_angle = actor->spr.angle;
|
||||
actor->spr.angle = (actor->spr.pos.XY() - ps[p].posXY()).Angle();
|
||||
actor->spr.angle = (actor->spr.pos.XY() - ps[p].GetActor()->spr.pos.XY()).Angle();
|
||||
fi.shoot(actor, RPG);
|
||||
actor->spr.angle = saved_angle;
|
||||
}
|
||||
|
@ -2009,7 +2009,7 @@ void handle_se14(DDukeActor* actor, bool checkstat, int RPG, int JIBS6)
|
|||
updatesector(ps[p].posGet(), §);
|
||||
if ((sect == nullptr && ud.clipping == 0) || (sect == actor->sector() && ps[p].cursector != actor->sector()))
|
||||
{
|
||||
ps[p].posXY() = actor->spr.pos.XY();
|
||||
ps[p].GetActor()->spr.pos.XY() = actor->spr.pos.XY();
|
||||
ps[p].setCursector(actor->sector());
|
||||
|
||||
SetActor(ps[p].GetActor(), actor->spr.pos);
|
||||
|
@ -2033,9 +2033,9 @@ void handle_se14(DDukeActor* actor, bool checkstat, int RPG, int JIBS6)
|
|||
|
||||
if (actor->sector() == psp->sector())
|
||||
{
|
||||
auto result = rotatepoint(actor->spr.pos.XY(), ps[p].posXY(), diffangle);
|
||||
auto result = rotatepoint(actor->spr.pos.XY(), ps[p].GetActor()->spr.pos.XY(), diffangle);
|
||||
|
||||
ps[p].posXY() = result + vec;
|
||||
ps[p].GetActor()->spr.pos.XY() = result + vec;
|
||||
|
||||
ps[p].bobpos += vec;
|
||||
|
||||
|
@ -2047,7 +2047,7 @@ void handle_se14(DDukeActor* actor, bool checkstat, int RPG, int JIBS6)
|
|||
}
|
||||
if (psp->spr.extra <= 0)
|
||||
{
|
||||
psp->spr.pos.XY() = ps[p].posXY();
|
||||
psp->spr.pos.XY() = ps[p].GetActor()->spr.pos.XY();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -2084,7 +2084,7 @@ void handle_se14(DDukeActor* actor, bool checkstat, int RPG, int JIBS6)
|
|||
updatesector(ps[p].posGet(), &k);
|
||||
if ((k == nullptr && ud.clipping == 0) || (k == actor->sector() && ps[p].cursector != actor->sector()))
|
||||
{
|
||||
ps[p].posXY() = actor->spr.pos.XY();
|
||||
ps[p].GetActor()->spr.pos.XY() = actor->spr.pos.XY();
|
||||
ps[p].GetActor()->backupvec2();
|
||||
ps[p].setCursector(actor->sector());
|
||||
|
||||
|
@ -2187,7 +2187,7 @@ void handle_se30(DDukeActor *actor, int JIBS6)
|
|||
updatesector(ps[p].posGet(), &k);
|
||||
if ((k == nullptr && ud.clipping == 0) || (k == actor->sector() && ps[p].cursector != actor->sector()))
|
||||
{
|
||||
ps[p].posXY() = actor->spr.pos.XY();
|
||||
ps[p].GetActor()->spr.pos.XY() = actor->spr.pos.XY();
|
||||
ps[p].setCursector(actor->sector());
|
||||
|
||||
SetActor(ps[p].GetActor(), actor->spr.pos);
|
||||
|
@ -2243,7 +2243,7 @@ void handle_se30(DDukeActor *actor, int JIBS6)
|
|||
updatesector(ps[p].posGet(), &k);
|
||||
if ((k == nullptr && ud.clipping == 0) || (k == actor->sector() && ps[p].cursector != actor->sector()))
|
||||
{
|
||||
ps[p].posXY() = actor->spr.pos.XY();
|
||||
ps[p].GetActor()->spr.pos.XY() = actor->spr.pos.XY();
|
||||
ps[p].GetActor()->backupvec2();
|
||||
|
||||
ps[p].setCursector(actor->sector());
|
||||
|
@ -2528,7 +2528,7 @@ void handle_se05(DDukeActor* actor, int FIRELASER)
|
|||
else
|
||||
{
|
||||
actor->temp_angle +=
|
||||
deltaangle(actor->temp_angle + DAngle90, (ps[p].posXY() - actor->spr.pos.XY()).Angle()) * 0.25;
|
||||
deltaangle(actor->temp_angle + DAngle90, (ps[p].GetActor()->spr.pos.XY() - actor->spr.pos.XY()).Angle()) * 0.25;
|
||||
sc->ceilingshade = 0;
|
||||
}
|
||||
j = fi.ifhitbyweapon(actor);
|
||||
|
@ -3038,7 +3038,7 @@ void handle_se17(DDukeActor* actor)
|
|||
int p = act3->PlayerIndex();
|
||||
|
||||
ps[p].posoldAdd(-ps[p].posGet());
|
||||
ps[p].posXY() += act2->spr.pos.XY() - actor->spr.pos.XY();
|
||||
ps[p].GetActor()->spr.pos.XY() += act2->spr.pos.XY() - actor->spr.pos.XY();
|
||||
ps[p].posZadd(act2->sector()->floorz - sc->floorz);
|
||||
ps[p].posoldAdd(ps[p].posGet());
|
||||
|
||||
|
@ -3489,7 +3489,7 @@ void handle_se27(DDukeActor* actor)
|
|||
{
|
||||
ud.cameraactor = actor;
|
||||
actor->temp_data[0] = 999;
|
||||
actor->spr.angle += deltaangle(actor->spr.angle, (ps[p].posXY() - actor->spr.pos.XY()).Angle()) * 0.125;
|
||||
actor->spr.angle += deltaangle(actor->spr.angle, (ps[p].GetActor()->spr.pos.XY() - actor->spr.pos.XY()).Angle()) * 0.125;
|
||||
actor->spr.yint = 100 + int((actor->spr.pos.Z - ps[p].posZget()) * (256. / 257.));
|
||||
|
||||
}
|
||||
|
@ -3504,7 +3504,7 @@ void handle_se27(DDukeActor* actor)
|
|||
}
|
||||
else
|
||||
{
|
||||
actor->spr.angle = (ps[p].posXY() - actor->spr.pos.XY()).Angle();
|
||||
actor->spr.angle = (ps[p].GetActor()->spr.pos.XY() - actor->spr.pos.XY()).Angle();
|
||||
|
||||
if (actor->temp_data[0] == 999)
|
||||
{
|
||||
|
|
|
@ -1665,7 +1665,7 @@ static void greenslime(DDukeActor *actor)
|
|||
}
|
||||
else if (xx < 64 && ps[p].quick_kick == 0)
|
||||
{
|
||||
auto ang = absangle(ps[p].angle.ang, (actor->spr.pos.XY() - ps[p].posXY()).Angle());
|
||||
auto ang = absangle(ps[p].angle.ang, (actor->spr.pos.XY() - ps[p].GetActor()->spr.pos.XY()).Angle());
|
||||
if (ang < DAngle22_5)
|
||||
ps[p].quick_kick = 14;
|
||||
}
|
||||
|
@ -1770,7 +1770,7 @@ static void greenslime(DDukeActor *actor)
|
|||
|
||||
double add = (BobVal(actor->temp_data[1]) * 2) * REPEAT_SCALE;
|
||||
actor->spr.scale = DVector2(0.3125 + add, 0.234375 + add);
|
||||
actor->spr.pos.XY() = ps[p].posXY() + ps[p].angle.ang.ToVector() * 8;
|
||||
actor->spr.pos.XY() = ps[p].GetActor()->spr.pos.XY() + ps[p].angle.ang.ToVector() * 8;
|
||||
return;
|
||||
}
|
||||
|
||||
|
@ -1932,7 +1932,7 @@ static void greenslime(DDukeActor *actor)
|
|||
{
|
||||
if (actor->vel.X < 2) actor->vel.X += 0.25;
|
||||
actor->vel.X = 4 - BobVal(512 + actor->temp_data[1]) * 2;
|
||||
actor->spr.angle += deltaangle(actor->spr.angle, (ps[p].posXY() - actor->spr.pos.XY()).Angle()) * 0.125;
|
||||
actor->spr.angle += deltaangle(actor->spr.angle, (ps[p].GetActor()->spr.pos.XY() - actor->spr.pos.XY()).Angle()) * 0.125;
|
||||
// TJR
|
||||
}
|
||||
|
||||
|
@ -3033,7 +3033,7 @@ void move_d(DDukeActor *actor, int playernum, int xvel)
|
|||
{
|
||||
if (ps[playernum].newOwner != nullptr)
|
||||
goalang = (ps[playernum].posoldXY() - actor->spr.pos.XY()).Angle();
|
||||
else goalang = (ps[playernum].posXY() - actor->spr.pos.XY()).Angle();
|
||||
else goalang = (ps[playernum].GetActor()->spr.pos.XY() - actor->spr.pos.XY()).Angle();
|
||||
angdif = deltaangle(actor->spr.angle, goalang) * 0.25;
|
||||
if (angdif > -DAngle22_5 / 16 && angdif < nullAngle) angdif = nullAngle;
|
||||
actor->spr.angle += angdif;
|
||||
|
@ -3046,7 +3046,7 @@ void move_d(DDukeActor *actor, int playernum, int xvel)
|
|||
{
|
||||
if (ps[playernum].newOwner != nullptr)
|
||||
goalang = (ps[playernum].posoldXY() - actor->spr.pos.XY()).Angle();
|
||||
else goalang = (ps[playernum].posXY() - actor->spr.pos.XY()).Angle();
|
||||
else goalang = (ps[playernum].GetActor()->spr.pos.XY() - actor->spr.pos.XY()).Angle();
|
||||
angdif = DAngle22_5 * 0.25 * Sgn(deltaangle(actor->spr.angle, goalang).Degrees()); // this looks very wrong...
|
||||
actor->spr.angle += angdif;
|
||||
}
|
||||
|
@ -3060,7 +3060,7 @@ void move_d(DDukeActor *actor, int playernum, int xvel)
|
|||
|
||||
if (a & face_player_smart)
|
||||
{
|
||||
DVector2 newpos = ps[playernum].posXY() + (ps[playernum].vel.XY() * (4. / 3.));
|
||||
DVector2 newpos = ps[playernum].GetActor()->spr.pos.XY() + (ps[playernum].vel.XY() * (4. / 3.));
|
||||
goalang = (newpos - actor->spr.pos.XY()).Angle();
|
||||
angdif = deltaangle(actor->spr.angle, goalang) * 0.25;
|
||||
if (angdif > -DAngle22_5/16 && angdif < nullAngle) angdif = nullAngle;
|
||||
|
@ -3171,7 +3171,7 @@ void move_d(DDukeActor *actor, int playernum, int xvel)
|
|||
{
|
||||
|
||||
daxvel = -(1024 - xvel) * maptoworld;
|
||||
angdif = (ps[playernum].posXY() - actor->spr.pos.XY()).Angle();
|
||||
angdif = (ps[playernum].GetActor()->spr.pos.XY() - actor->spr.pos.XY()).Angle();
|
||||
|
||||
if (xvel < 512)
|
||||
{
|
||||
|
|
|
@ -3210,7 +3210,7 @@ void move_r(DDukeActor *actor, int pnum, int xvel)
|
|||
{
|
||||
if (ps[pnum].newOwner != nullptr)
|
||||
goalang = (ps[pnum].posoldXY() - actor->spr.pos.XY()).Angle();
|
||||
else goalang = (ps[pnum].posXY() - actor->spr.pos.XY()).Angle();
|
||||
else goalang = (ps[pnum].GetActor()->spr.pos.XY() - actor->spr.pos.XY()).Angle();
|
||||
angdif = deltaangle(actor->spr.angle, goalang) * 0.25;
|
||||
if (angdif > -DAngle22_5 / 16 && angdif < nullAngle) angdif = nullAngle;
|
||||
actor->spr.angle += angdif;
|
||||
|
@ -3223,7 +3223,7 @@ void move_r(DDukeActor *actor, int pnum, int xvel)
|
|||
{
|
||||
if (ps[pnum].newOwner != nullptr)
|
||||
goalang = (ps[pnum].posoldXY() - actor->spr.pos.XY()).Angle();
|
||||
else goalang = (ps[pnum].posXY() - actor->spr.pos.XY()).Angle();
|
||||
else goalang = (ps[pnum].GetActor()->spr.pos.XY() - actor->spr.pos.XY()).Angle();
|
||||
angdif = DAngle22_5 * 0.25 * Sgn(deltaangle(actor->spr.angle, goalang).Degrees()); // this looks very wrong...
|
||||
actor->spr.angle += angdif;
|
||||
}
|
||||
|
@ -3234,7 +3234,7 @@ void move_r(DDukeActor *actor, int pnum, int xvel)
|
|||
{
|
||||
if (ps[pnum].newOwner != nullptr)
|
||||
goalang = ((ps[pnum].posoldXY() - actor->spr.pos.XY()).Angle() + DAngle180);
|
||||
else goalang = ((ps[pnum].posXY() - actor->spr.pos.XY()).Angle() + DAngle180);
|
||||
else goalang = ((ps[pnum].GetActor()->spr.pos.XY() - actor->spr.pos.XY()).Angle() + DAngle180);
|
||||
angdif = DAngle22_5 * 0.25 * Sgn(deltaangle(actor->spr.angle, goalang).Degrees()); // this looks very wrong...
|
||||
actor->spr.angle += angdif;
|
||||
}
|
||||
|
@ -3293,7 +3293,7 @@ void move_r(DDukeActor *actor, int pnum, int xvel)
|
|||
|
||||
if (a & face_player_smart)
|
||||
{
|
||||
DVector2 newpos = ps[pnum].posXY() + (ps[pnum].vel.XY() * (4. / 3.));
|
||||
DVector2 newpos = ps[pnum].GetActor()->spr.pos.XY() + (ps[pnum].vel.XY() * (4. / 3.));
|
||||
goalang = (newpos - actor->spr.pos.XY()).Angle();
|
||||
angdif = deltaangle(actor->spr.angle, goalang) * 0.25;
|
||||
if (angdif > -DAngle22_5 / 16 && angdif < nullAngle) angdif = nullAngle;
|
||||
|
@ -3393,7 +3393,7 @@ void move_r(DDukeActor *actor, int pnum, int xvel)
|
|||
{
|
||||
|
||||
daxvel = -(1024 - xvel) * maptoworld;
|
||||
angdif = (ps[pnum].posXY() - actor->spr.pos.XY()).Angle();
|
||||
angdif = (ps[pnum].GetActor()->spr.pos.XY() - actor->spr.pos.XY()).Angle();
|
||||
|
||||
if (xvel < 512)
|
||||
{
|
||||
|
|
|
@ -217,7 +217,7 @@ void animatesprites_d(tspriteArray& tsprites, const DVector2& viewVec, DAngle vi
|
|||
case FORCESPHERE:
|
||||
if (t->statnum == STAT_MISC && OwnerAc)
|
||||
{
|
||||
auto sqa = ( OwnerAc->spr.pos.XY() - ps[screenpeek].posXY()).Angle();
|
||||
auto sqa = ( OwnerAc->spr.pos.XY() - ps[screenpeek].GetActor()->spr.pos.XY()).Angle();
|
||||
auto sqb = (OwnerAc->spr.pos.XY() - t->pos.XY()).Angle();
|
||||
|
||||
if (absangle(sqa, sqb) > DAngle90)
|
||||
|
@ -566,7 +566,7 @@ void animatesprites_d(tspriteArray& tsprites, const DVector2& viewVec, DAngle vi
|
|||
else
|
||||
{
|
||||
// Alter the shadow's position so that it appears behind the sprite itself.
|
||||
auto look = (shadowspr->pos.XY() - ps[screenpeek].posXY()).Angle();
|
||||
auto look = (shadowspr->pos.XY() - ps[screenpeek].GetActor()->spr.pos.XY()).Angle();
|
||||
shadowspr->pos.XY() += look.ToVector() * 2;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -209,7 +209,7 @@ void animatesprites_r(tspriteArray& tsprites, const DVector2& viewVec, DAngle vi
|
|||
case FORCESPHERE:
|
||||
if (t->statnum == STAT_MISC && OwnerAc)
|
||||
{
|
||||
auto sqa = (OwnerAc->spr.pos.XY() - ps[screenpeek].posXY()).Angle();
|
||||
auto sqa = (OwnerAc->spr.pos.XY() - ps[screenpeek].GetActor()->spr.pos.XY()).Angle();
|
||||
auto sqb = (OwnerAc->spr.pos.XY() - t->pos.XY()).Angle();
|
||||
|
||||
if (absangle(sqa, sqb) > DAngle90)
|
||||
|
@ -730,7 +730,7 @@ void animatesprites_r(tspriteArray& tsprites, const DVector2& viewVec, DAngle vi
|
|||
else
|
||||
{
|
||||
// Alter the shadow's position so that it appears behind the sprite itself.
|
||||
auto look = (shadowspr->pos.XY() - ps[screenpeek].posXY()).Angle();
|
||||
auto look = (shadowspr->pos.XY() - ps[screenpeek].GetActor()->spr.pos.XY()).Angle();
|
||||
shadowspr->pos.XY() += look.ToVector() * 2;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -2432,9 +2432,9 @@ int ParseState::parse(void)
|
|||
{
|
||||
DAngle ang;
|
||||
if (g_ac->isPlayer() && ud.multimode > 1)
|
||||
ang = absangle(ps[otherp].angle.ang, (ps[g_p].posXY() - ps[otherp].posXY()).Angle());
|
||||
ang = absangle(ps[otherp].angle.ang, (ps[g_p].GetActor()->spr.pos.XY() - ps[otherp].GetActor()->spr.pos.XY()).Angle());
|
||||
else
|
||||
ang = absangle(ps[g_p].angle.ang, (g_ac->spr.pos.XY() - ps[g_p].posXY()).Angle());
|
||||
ang = absangle(ps[g_p].angle.ang, (g_ac->spr.pos.XY() - ps[g_p].GetActor()->spr.pos.XY()).Angle());
|
||||
|
||||
j = ang < DAngle22_5;
|
||||
}
|
||||
|
|
|
@ -211,7 +211,7 @@ inline bool playrunning()
|
|||
inline void doslopetilting(player_struct* p, double const scaleAdjust = 1)
|
||||
{
|
||||
bool const canslopetilt = p->on_ground && p->insector() && p->cursector->lotag != ST_2_UNDERWATER && (p->cursector->floorstat & CSTAT_SECTOR_SLOPE);
|
||||
p->horizon.calcviewpitch(p->posXY(), p->angle.ang, p->aim_mode == 0, canslopetilt, p->cursector, scaleAdjust);
|
||||
p->horizon.calcviewpitch(p->GetActor()->spr.pos.XY(), p->angle.ang, p->aim_mode == 0, canslopetilt, p->cursector, scaleAdjust);
|
||||
}
|
||||
|
||||
//---------------------------------------------------------------------------
|
||||
|
|
|
@ -35,7 +35,7 @@ int madenoise(int snum)
|
|||
player_struct *p;
|
||||
p = &ps[snum];
|
||||
p->donoise = 1;
|
||||
p->noise = p->posXY();
|
||||
p->noise = p->GetActor()->spr.pos.XY();
|
||||
return 1;
|
||||
}
|
||||
|
||||
|
|
|
@ -214,7 +214,7 @@ double hitawall(player_struct* p, walltype** hitw)
|
|||
hitscan(p->posGet(), p->cursector, DVector3(p->angle.ang.ToVector() * 1024, 0), hit, CLIPMASK0);
|
||||
if (hitw) *hitw = hit.hitWall;
|
||||
|
||||
return (hit.hitpos.XY() - p->posXY()).Length();
|
||||
return (hit.hitpos.XY() - p->GetActor()->spr.pos.XY()).Length();
|
||||
}
|
||||
|
||||
|
||||
|
@ -618,7 +618,7 @@ void playerisdead(int snum, int psectlotag, double floorz, double ceilingz)
|
|||
}
|
||||
|
||||
Collision coll;
|
||||
clipmove(p->posXY(), p->posZget(), &p->cursector, DVector2( 0, 0), 10.25, 4., 4., CLIPMASK0, coll);
|
||||
clipmove(p->GetActor()->spr.pos.XY(), p->posZget(), &p->cursector, DVector2( 0, 0), 10.25, 4., 4., CLIPMASK0, coll);
|
||||
}
|
||||
|
||||
backupplayer(p);
|
||||
|
@ -627,7 +627,7 @@ void playerisdead(int snum, int psectlotag, double floorz, double ceilingz)
|
|||
|
||||
updatesector(p->posGet(), &p->cursector);
|
||||
|
||||
pushmove(p->posXY(), p->posZget(), &p->cursector, 8, 4, 20, CLIPMASK0);
|
||||
pushmove(p->GetActor()->spr.pos.XY(), p->posZget(), &p->cursector, 8, 4, 20, CLIPMASK0);
|
||||
|
||||
if (floorz > ceilingz + 16 && actor->spr.pal != 1)
|
||||
p->angle.rotscrnang = DAngle::fromBuild(p->dead_flag + ((floorz + p->posZget()) * 2));
|
||||
|
@ -773,7 +773,7 @@ void player_struct::backuppos(bool noclipping)
|
|||
}
|
||||
|
||||
posoldZset(posZget());
|
||||
bobpos = posXY();
|
||||
bobpos = GetActor()->spr.pos.XY();
|
||||
opyoff = pyoff;
|
||||
}
|
||||
|
||||
|
|
|
@ -178,7 +178,7 @@ static void shootflamethrowerflame(DDukeActor* actor, int p, DVector3 spos, DAng
|
|||
setFreeAimVelocity(vel, zvel, ps[p].horizon.sum(), 40.5);
|
||||
|
||||
// WTF???
|
||||
DAngle myang = DAngle90 - (DAngle180 - abs(abs((spos.XY() - ps[p].posXY()).Angle() - sang) - DAngle180));
|
||||
DAngle myang = DAngle90 - (DAngle180 - abs(abs((spos.XY() - ps[p].GetActor()->spr.pos.XY()).Angle() - sang) - DAngle180));
|
||||
if (ps[p].GetActor()->vel.X != 0)
|
||||
vel = ((myang / DAngle90) * ps[p].GetActor()->vel.X) + 25;
|
||||
if (actor->sector()->lotag == 2 && (krand() % 5) == 0)
|
||||
|
@ -2040,7 +2040,7 @@ int operateTripbomb(int snum)
|
|||
if (act == nullptr && hit.hitWall != nullptr && (hit.hitWall->cstat & CSTAT_WALL_MASKED) == 0)
|
||||
if ((hit.hitWall->twoSided() && hit.hitWall->nextSector()->lotag <= 2) || (!hit.hitWall->twoSided() && hit.hitSector->lotag <= 2))
|
||||
{
|
||||
auto delta = hit.hitpos.XY() - p->posXY();
|
||||
auto delta = hit.hitpos.XY() - p->GetActor()->spr.pos.XY();
|
||||
if (delta.LengthSquared() < (18.125 * 18.125))
|
||||
{
|
||||
p->posZset(p->posoldZget());
|
||||
|
@ -2867,7 +2867,7 @@ void processinput_d(int snum)
|
|||
|
||||
p->playerweaponsway(pact->vel.X);
|
||||
|
||||
pact->vel.X = clamp((p->posXY() - p->bobpos).Length(), 0., 32.);
|
||||
pact->vel.X = clamp((p->GetActor()->spr.pos.XY() - p->bobpos).Length(), 0., 32.);
|
||||
if (p->on_ground) p->bobcounter += int(p->GetActor()->vel.X * 8);
|
||||
|
||||
p->backuppos(ud.clipping == 0 && ((p->insector() && p->cursector->floorpicnum == MIRROR) || !p->insector()));
|
||||
|
@ -3033,12 +3033,12 @@ HORIZONLY:
|
|||
Collision clip{};
|
||||
if (ud.clipping)
|
||||
{
|
||||
p->posXY() += p->vel.XY() ;
|
||||
p->GetActor()->spr.pos.XY() += p->vel.XY() ;
|
||||
updatesector(p->posGet(), &p->cursector);
|
||||
ChangeActorSect(pact, p->cursector);
|
||||
}
|
||||
else
|
||||
clipmove(p->posXY(), p->posZget(), &p->cursector, p->vel, 10.25, 4., iif, CLIPMASK0, clip);
|
||||
clipmove(p->GetActor()->spr.pos.XY(), p->posZget(), &p->cursector, p->vel, 10.25, 4., iif, CLIPMASK0, clip);
|
||||
|
||||
if (p->jetpack_on == 0 && psectlotag != 2 && psectlotag != 1 && shrunk)
|
||||
p->posZadd(32);
|
||||
|
@ -3090,7 +3090,7 @@ HORIZONLY:
|
|||
while (ud.clipping == 0)
|
||||
{
|
||||
int blocked;
|
||||
blocked = (pushmove(p->posXY(), p->posZget(), &p->cursector, 10.25, 4, 4, CLIPMASK0) < 0 && furthestangle(p->GetActor(), 8) < DAngle90);
|
||||
blocked = (pushmove(p->GetActor()->spr.pos.XY(), p->posZget(), &p->cursector, 10.25, 4, 4, CLIPMASK0) < 0 && furthestangle(p->GetActor(), 8) < DAngle90);
|
||||
|
||||
if (fabs(pact->floorz - pact->ceilingz) < 48 || blocked)
|
||||
{
|
||||
|
|
|
@ -3532,7 +3532,7 @@ void processinput_r(int snum)
|
|||
|
||||
p->playerweaponsway(pact->vel.X);
|
||||
|
||||
pact->vel.X = clamp((p->posXY() - p->bobpos).Length(), 0., 32.);
|
||||
pact->vel.X = clamp((p->GetActor()->spr.pos.XY() - p->bobpos).Length(), 0., 32.);
|
||||
if (p->on_ground) p->bobcounter += int(p->GetActor()->vel.X * 8);
|
||||
|
||||
p->backuppos(ud.clipping == 0 && ((p->insector() && p->cursector->floorpicnum == MIRROR) || !p->insector()));
|
||||
|
@ -3737,12 +3737,12 @@ HORIZONLY:
|
|||
Collision clip{};
|
||||
if (ud.clipping)
|
||||
{
|
||||
p->posXY() += p->vel.XY() ;
|
||||
p->GetActor()->spr.pos.XY() += p->vel.XY() ;
|
||||
updatesector(p->posGet(), &p->cursector);
|
||||
ChangeActorSect(pact, p->cursector);
|
||||
}
|
||||
else
|
||||
clipmove(p->posXY(), p->posZget(), &p->cursector, p->vel, 10.25, 4., iif, CLIPMASK0, clip);
|
||||
clipmove(p->GetActor()->spr.pos.XY(), p->posZget(), &p->cursector, p->vel, 10.25, 4., iif, CLIPMASK0, clip);
|
||||
|
||||
if (p->jetpack_on == 0 && psectlotag != 2 && psectlotag != 1 && shrunk)
|
||||
p->posZadd(32);
|
||||
|
@ -3771,10 +3771,10 @@ HORIZONLY:
|
|||
if (wal->lotag < 44)
|
||||
{
|
||||
dofurniture(clip.hitWall, p->cursector, snum);
|
||||
pushmove(p->posXY(), p->posZget(), &p->cursector, 10.75, 4, 4, CLIPMASK0);
|
||||
pushmove(p->GetActor()->spr.pos.XY(), p->posZget(), &p->cursector, 10.75, 4, 4, CLIPMASK0);
|
||||
}
|
||||
else
|
||||
pushmove(p->posXY(), p->posZget(), &p->cursector, 10.75, 4, 4, CLIPMASK0);
|
||||
pushmove(p->GetActor()->spr.pos.XY(), p->posZget(), &p->cursector, 10.75, 4, 4, CLIPMASK0);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -3875,9 +3875,9 @@ HORIZONLY:
|
|||
{
|
||||
int blocked;
|
||||
if (pact->clipdist == 16)
|
||||
blocked = (pushmove(p->posXY(), p->posZget(), &p->cursector, 8, 4, 4, CLIPMASK0) < 0 && furthestangle(p->GetActor(), 8) < DAngle90);
|
||||
blocked = (pushmove(p->GetActor()->spr.pos.XY(), p->posZget(), &p->cursector, 8, 4, 4, CLIPMASK0) < 0 && furthestangle(p->GetActor(), 8) < DAngle90);
|
||||
else
|
||||
blocked = (pushmove(p->posXY(), p->posZget(), &p->cursector, 1, 4, 4, CLIPMASK0) < 0 && furthestangle(p->GetActor(), 8) < DAngle90);
|
||||
blocked = (pushmove(p->GetActor()->spr.pos.XY(), p->posZget(), &p->cursector, 1, 4, 4, CLIPMASK0) < 0 && furthestangle(p->GetActor(), 8) < DAngle90);
|
||||
|
||||
if (fabs(pact->floorz - pact->ceilingz) < 48 || blocked)
|
||||
{
|
||||
|
|
|
@ -336,11 +336,6 @@ struct player_struct
|
|||
}
|
||||
|
||||
|
||||
DVector2& posXY()
|
||||
{
|
||||
return GetActor()->spr.pos.XY();
|
||||
}
|
||||
|
||||
void posZset(const double val)
|
||||
{
|
||||
GetActor()->spr.pos.Z = val - GetActor()->viewzoffset;
|
||||
|
|
Loading…
Reference in a new issue