mirror of
https://github.com/ZDoom/gzdoom.git
synced 2025-02-21 19:41:11 +00:00
- replaced access to AActor's coordinate members with access functions
(first 200 compile errors down...)
This commit is contained in:
parent
bf5ee5e542
commit
3e446ea04d
18 changed files with 112 additions and 107 deletions
|
@ -998,8 +998,8 @@ void AM_restoreScaleAndLoc ()
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
m_x = (players[consoleplayer].camera->x >> FRACTOMAPBITS) - m_w/2;
|
m_x = (players[consoleplayer].camera->X() >> FRACTOMAPBITS) - m_w/2;
|
||||||
m_y = (players[consoleplayer].camera->y >> FRACTOMAPBITS)- m_h/2;
|
m_y = (players[consoleplayer].camera->Y() >> FRACTOMAPBITS)- m_h/2;
|
||||||
}
|
}
|
||||||
m_x2 = m_x + m_w;
|
m_x2 = m_x + m_w;
|
||||||
m_y2 = m_y + m_h;
|
m_y2 = m_y + m_h;
|
||||||
|
@ -1249,8 +1249,8 @@ void AM_initVariables ()
|
||||||
if (playeringame[pnum])
|
if (playeringame[pnum])
|
||||||
break;
|
break;
|
||||||
assert(pnum >= 0 && pnum < MAXPLAYERS);
|
assert(pnum >= 0 && pnum < MAXPLAYERS);
|
||||||
m_x = (players[pnum].camera->x >> FRACTOMAPBITS) - m_w/2;
|
m_x = (players[pnum].camera->X() >> FRACTOMAPBITS) - m_w/2;
|
||||||
m_y = (players[pnum].camera->y >> FRACTOMAPBITS) - m_h/2;
|
m_y = (players[pnum].camera->Y() >> FRACTOMAPBITS) - m_h/2;
|
||||||
AM_changeWindowLoc();
|
AM_changeWindowLoc();
|
||||||
|
|
||||||
// for saving & restoring
|
// for saving & restoring
|
||||||
|
@ -1571,25 +1571,25 @@ void AM_doFollowPlayer ()
|
||||||
fixed_t sx, sy;
|
fixed_t sx, sy;
|
||||||
|
|
||||||
if (players[consoleplayer].camera != NULL &&
|
if (players[consoleplayer].camera != NULL &&
|
||||||
(f_oldloc.x != players[consoleplayer].camera->x ||
|
(f_oldloc.x != players[consoleplayer].camera->X() ||
|
||||||
f_oldloc.y != players[consoleplayer].camera->y))
|
f_oldloc.y != players[consoleplayer].camera->Y()))
|
||||||
{
|
{
|
||||||
m_x = (players[consoleplayer].camera->x >> FRACTOMAPBITS) - m_w/2;
|
m_x = (players[consoleplayer].camera->X() >> FRACTOMAPBITS) - m_w/2;
|
||||||
m_y = (players[consoleplayer].camera->y >> FRACTOMAPBITS) - m_h/2;
|
m_y = (players[consoleplayer].camera->Y() >> FRACTOMAPBITS) - m_h/2;
|
||||||
m_x2 = m_x + m_w;
|
m_x2 = m_x + m_w;
|
||||||
m_y2 = m_y + m_h;
|
m_y2 = m_y + m_h;
|
||||||
|
|
||||||
// do the parallax parchment scrolling.
|
// do the parallax parchment scrolling.
|
||||||
sx = (players[consoleplayer].camera->x - f_oldloc.x) >> FRACTOMAPBITS;
|
sx = (players[consoleplayer].camera->X() - f_oldloc.x) >> FRACTOMAPBITS;
|
||||||
sy = (f_oldloc.y - players[consoleplayer].camera->y) >> FRACTOMAPBITS;
|
sy = (f_oldloc.y - players[consoleplayer].camera->Y()) >> FRACTOMAPBITS;
|
||||||
if (am_rotate == 1 || (am_rotate == 2 && viewactive))
|
if (am_rotate == 1 || (am_rotate == 2 && viewactive))
|
||||||
{
|
{
|
||||||
AM_rotate (&sx, &sy, players[consoleplayer].camera->angle - ANG90);
|
AM_rotate (&sx, &sy, players[consoleplayer].camera->angle - ANG90);
|
||||||
}
|
}
|
||||||
AM_ScrollParchment (sx, sy);
|
AM_ScrollParchment (sx, sy);
|
||||||
|
|
||||||
f_oldloc.x = players[consoleplayer].camera->x;
|
f_oldloc.x = players[consoleplayer].camera->X();
|
||||||
f_oldloc.y = players[consoleplayer].camera->y;
|
f_oldloc.y = players[consoleplayer].camera->Y();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -2612,8 +2612,8 @@ void AM_drawPlayers ()
|
||||||
mline_t *arrow;
|
mline_t *arrow;
|
||||||
int numarrowlines;
|
int numarrowlines;
|
||||||
|
|
||||||
pt.x = players[consoleplayer].camera->x >> FRACTOMAPBITS;
|
pt.x = players[consoleplayer].camera->X() >> FRACTOMAPBITS;
|
||||||
pt.y = players[consoleplayer].camera->y >> FRACTOMAPBITS;
|
pt.y = players[consoleplayer].camera->Y() >> FRACTOMAPBITS;
|
||||||
if (am_rotate == 1 || (am_rotate == 2 && viewactive))
|
if (am_rotate == 1 || (am_rotate == 2 && viewactive))
|
||||||
{
|
{
|
||||||
angle = ANG90;
|
angle = ANG90;
|
||||||
|
@ -2675,8 +2675,8 @@ void AM_drawPlayers ()
|
||||||
|
|
||||||
if (p->mo != NULL)
|
if (p->mo != NULL)
|
||||||
{
|
{
|
||||||
pt.x = p->mo->x >> FRACTOMAPBITS;
|
pt.x = p->mo->X() >> FRACTOMAPBITS;
|
||||||
pt.y = p->mo->y >> FRACTOMAPBITS;
|
pt.y = p->mo->Y() >> FRACTOMAPBITS;
|
||||||
angle = p->mo->angle;
|
angle = p->mo->angle;
|
||||||
|
|
||||||
if (am_rotate == 1 || (am_rotate == 2 && viewactive))
|
if (am_rotate == 1 || (am_rotate == 2 && viewactive))
|
||||||
|
@ -2707,8 +2707,8 @@ void AM_drawKeys ()
|
||||||
|
|
||||||
while ((key = it.Next()) != NULL)
|
while ((key = it.Next()) != NULL)
|
||||||
{
|
{
|
||||||
p.x = key->x >> FRACTOMAPBITS;
|
p.x = key->X() >> FRACTOMAPBITS;
|
||||||
p.y = key->y >> FRACTOMAPBITS;
|
p.y = key->Y() >> FRACTOMAPBITS;
|
||||||
angle = key->angle;
|
angle = key->angle;
|
||||||
|
|
||||||
if (am_rotate == 1 || (am_rotate == 2 && viewactive))
|
if (am_rotate == 1 || (am_rotate == 2 && viewactive))
|
||||||
|
@ -2752,8 +2752,8 @@ void AM_drawThings ()
|
||||||
{
|
{
|
||||||
if (am_cheat > 0 || !(t->flags6 & MF6_NOTONAUTOMAP))
|
if (am_cheat > 0 || !(t->flags6 & MF6_NOTONAUTOMAP))
|
||||||
{
|
{
|
||||||
p.x = t->x >> FRACTOMAPBITS;
|
p.x = t->X() >> FRACTOMAPBITS;
|
||||||
p.y = t->y >> FRACTOMAPBITS;
|
p.y = t->Y() >> FRACTOMAPBITS;
|
||||||
|
|
||||||
if (am_showthingsprites > 0 && t->sprite > 0)
|
if (am_showthingsprites > 0 && t->sprite > 0)
|
||||||
{
|
{
|
||||||
|
@ -2979,7 +2979,7 @@ void AM_drawAuthorMarkers ()
|
||||||
marked->subsector->flags & SSECF_DRAWN :
|
marked->subsector->flags & SSECF_DRAWN :
|
||||||
marked->Sector->MoreFlags & SECF_DRAWN)))
|
marked->Sector->MoreFlags & SECF_DRAWN)))
|
||||||
{
|
{
|
||||||
DrawMarker (tex, marked->x >> FRACTOMAPBITS, marked->y >> FRACTOMAPBITS, 0,
|
DrawMarker (tex, marked->X() >> FRACTOMAPBITS, marked->Y() >> FRACTOMAPBITS, 0,
|
||||||
flip, mark->scaleX, mark->scaleY, mark->Translation,
|
flip, mark->scaleX, mark->scaleY, mark->Translation,
|
||||||
mark->alpha, mark->fillcolor, mark->RenderStyle);
|
mark->alpha, mark->fillcolor, mark->RenderStyle);
|
||||||
}
|
}
|
||||||
|
|
|
@ -30,17 +30,17 @@ bool DBot::Reachable (AActor *rtarget)
|
||||||
if (player->mo == rtarget)
|
if (player->mo == rtarget)
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
if ((rtarget->Sector->ceilingplane.ZatPoint (rtarget->x, rtarget->y) -
|
if ((rtarget->Sector->ceilingplane.ZatPoint (rtarget) -
|
||||||
rtarget->Sector->floorplane.ZatPoint (rtarget->x, rtarget->y))
|
rtarget->Sector->floorplane.ZatPoint (rtarget))
|
||||||
< player->mo->height) //Where rtarget is, player->mo can't be.
|
< player->mo->height) //Where rtarget is, player->mo can't be.
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
sector_t *last_s = player->mo->Sector;
|
sector_t *last_s = player->mo->Sector;
|
||||||
fixed_t last_z = last_s->floorplane.ZatPoint (player->mo->x, player->mo->y);
|
fixed_t last_z = last_s->floorplane.ZatPoint (player->mo);
|
||||||
fixed_t estimated_dist = player->mo->AproxDistance(rtarget);
|
fixed_t estimated_dist = player->mo->AproxDistance(rtarget);
|
||||||
bool reachable = true;
|
bool reachable = true;
|
||||||
|
|
||||||
FPathTraverse it(player->mo->x+player->mo->velx, player->mo->y+player->mo->vely, rtarget->x, rtarget->y, PT_ADDLINES|PT_ADDTHINGS);
|
FPathTraverse it(player->mo->X()+player->mo->velx, player->mo->Y()+player->mo->vely, rtarget->X(), rtarget->Y(), PT_ADDLINES|PT_ADDTHINGS);
|
||||||
intercept_t *in;
|
intercept_t *in;
|
||||||
while ((in = it.Next()))
|
while ((in = it.Next()))
|
||||||
{
|
{
|
||||||
|
@ -96,7 +96,7 @@ bool DBot::Reachable (AActor *rtarget)
|
||||||
thing = in->d.thing;
|
thing = in->d.thing;
|
||||||
if (thing == player->mo) //Can't reach self in this case.
|
if (thing == player->mo) //Can't reach self in this case.
|
||||||
continue;
|
continue;
|
||||||
if (thing == rtarget && (rtarget->Sector->floorplane.ZatPoint (rtarget->x, rtarget->y) <= (last_z+MAXMOVEHEIGHT)))
|
if (thing == rtarget && (rtarget->Sector->floorplane.ZatPoint (rtarget) <= (last_z+MAXMOVEHEIGHT)))
|
||||||
{
|
{
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
@ -219,7 +219,7 @@ void DBot::Dofire (ticcmd_t *cmd)
|
||||||
shootmissile:
|
shootmissile:
|
||||||
dist = player->mo->AproxDistance (enemy);
|
dist = player->mo->AproxDistance (enemy);
|
||||||
m = dist / GetDefaultByType (player->ReadyWeapon->ProjectileType)->Speed;
|
m = dist / GetDefaultByType (player->ReadyWeapon->ProjectileType)->Speed;
|
||||||
bglobal.SetBodyAt (enemy->x + enemy->velx*m*2, enemy->y + enemy->vely*m*2, enemy->z, 1);
|
bglobal.SetBodyAt (enemy->X() + enemy->velx*m*2, enemy->Y() + enemy->vely*m*2, enemy->Z(), 1);
|
||||||
angle = player->mo->AngleTo(bglobal.body1);
|
angle = player->mo->AngleTo(bglobal.body1);
|
||||||
if (Check_LOS (enemy, SHOOTFOV))
|
if (Check_LOS (enemy, SHOOTFOV))
|
||||||
no_fire = false;
|
no_fire = false;
|
||||||
|
@ -459,7 +459,7 @@ void FCajunMaster::SetBodyAt (fixed_t x, fixed_t y, fixed_t z, int hostnum)
|
||||||
//Emulates missile travel. Returns distance travelled.
|
//Emulates missile travel. Returns distance travelled.
|
||||||
fixed_t FCajunMaster::FakeFire (AActor *source, AActor *dest, ticcmd_t *cmd)
|
fixed_t FCajunMaster::FakeFire (AActor *source, AActor *dest, ticcmd_t *cmd)
|
||||||
{
|
{
|
||||||
AActor *th = Spawn ("CajunTrace", source->x, source->y, source->z + 4*8*FRACUNIT, NO_REPLACE);
|
AActor *th = Spawn ("CajunTrace", source->X(), source->Y(), source->Z() + 4*8*FRACUNIT, NO_REPLACE);
|
||||||
|
|
||||||
th->target = source; // where it came from
|
th->target = source; // where it came from
|
||||||
|
|
||||||
|
@ -494,9 +494,9 @@ angle_t DBot::FireRox (AActor *enemy, ticcmd_t *cmd)
|
||||||
AActor *actor;
|
AActor *actor;
|
||||||
int m;
|
int m;
|
||||||
|
|
||||||
bglobal.SetBodyAt (player->mo->x + FixedMul(player->mo->velx, 5*FRACUNIT),
|
bglobal.SetBodyAt (player->mo->X() + FixedMul(player->mo->velx, 5*FRACUNIT),
|
||||||
player->mo->y + FixedMul(player->mo->vely, 5*FRACUNIT),
|
player->mo->Y() + FixedMul(player->mo->vely, 5*FRACUNIT),
|
||||||
player->mo->z + (player->mo->height / 2), 2);
|
player->mo->Z() + (player->mo->height / 2), 2);
|
||||||
|
|
||||||
actor = bglobal.body2;
|
actor = bglobal.body2;
|
||||||
|
|
||||||
|
@ -506,14 +506,14 @@ angle_t DBot::FireRox (AActor *enemy, ticcmd_t *cmd)
|
||||||
//Predict.
|
//Predict.
|
||||||
m = (((dist+1)/FRACUNIT) / GetDefaultByName("Rocket")->Speed);
|
m = (((dist+1)/FRACUNIT) / GetDefaultByName("Rocket")->Speed);
|
||||||
|
|
||||||
bglobal.SetBodyAt (enemy->x + FixedMul(enemy->velx, (m+2*FRACUNIT)),
|
bglobal.SetBodyAt (enemy->X() + FixedMul(enemy->velx, (m+2*FRACUNIT)),
|
||||||
enemy->y + FixedMul(enemy->vely, (m+2*FRACUNIT)), ONFLOORZ, 1);
|
enemy->Y() + FixedMul(enemy->vely, (m+2*FRACUNIT)), ONFLOORZ, 1);
|
||||||
|
|
||||||
//try the predicted location
|
//try the predicted location
|
||||||
if (P_CheckSight (actor, bglobal.body1, SF_IGNOREVISIBILITY)) //See the predicted location, so give a test missile
|
if (P_CheckSight (actor, bglobal.body1, SF_IGNOREVISIBILITY)) //See the predicted location, so give a test missile
|
||||||
{
|
{
|
||||||
FCheckPosition tm;
|
FCheckPosition tm;
|
||||||
if (bglobal.SafeCheckPosition (player->mo, actor->x, actor->y, tm))
|
if (bglobal.SafeCheckPosition (player->mo, actor->X(), actor->Y(), tm))
|
||||||
{
|
{
|
||||||
if (bglobal.FakeFire (actor, bglobal.body1, cmd) >= SAFE_SELF_MISDIST)
|
if (bglobal.FakeFire (actor, bglobal.body1, cmd) >= SAFE_SELF_MISDIST)
|
||||||
{
|
{
|
||||||
|
|
|
@ -67,8 +67,8 @@ bool DBot::Move (ticcmd_t *cmd)
|
||||||
if ((unsigned)player->mo->movedir >= 8)
|
if ((unsigned)player->mo->movedir >= 8)
|
||||||
I_Error ("Weird bot movedir!");
|
I_Error ("Weird bot movedir!");
|
||||||
|
|
||||||
tryx = player->mo->x + 8*xspeed[player->mo->movedir];
|
tryx = player->mo->X() + 8*xspeed[player->mo->movedir];
|
||||||
tryy = player->mo->y + 8*yspeed[player->mo->movedir];
|
tryy = player->mo->Y() + 8*yspeed[player->mo->movedir];
|
||||||
|
|
||||||
try_ok = bglobal.CleanAhead (player->mo, tryx, tryy, cmd);
|
try_ok = bglobal.CleanAhead (player->mo, tryx, tryy, cmd);
|
||||||
|
|
||||||
|
@ -282,7 +282,7 @@ bool FCajunMaster::CleanAhead (AActor *thing, fixed_t x, fixed_t y, ticcmd_t *cm
|
||||||
|
|
||||||
|
|
||||||
if ( !(thing->flags & MF_TELEPORT) &&
|
if ( !(thing->flags & MF_TELEPORT) &&
|
||||||
tm.ceilingz - thing->z < thing->height)
|
tm.ceilingz - thing->Z() < thing->height)
|
||||||
return false; // mobj must lower itself to fit
|
return false; // mobj must lower itself to fit
|
||||||
|
|
||||||
// jump out of water
|
// jump out of water
|
||||||
|
@ -290,7 +290,7 @@ bool FCajunMaster::CleanAhead (AActor *thing, fixed_t x, fixed_t y, ticcmd_t *cm
|
||||||
// maxstep=37*FRACUNIT;
|
// maxstep=37*FRACUNIT;
|
||||||
|
|
||||||
if ( !(thing->flags & MF_TELEPORT) &&
|
if ( !(thing->flags & MF_TELEPORT) &&
|
||||||
(tm.floorz - thing->z > maxstep ) )
|
(tm.floorz - thing->Z() > maxstep ) )
|
||||||
return false; // too big a step up
|
return false; // too big a step up
|
||||||
|
|
||||||
|
|
||||||
|
@ -346,7 +346,7 @@ void DBot::Pitch (AActor *target)
|
||||||
double aim;
|
double aim;
|
||||||
double diff;
|
double diff;
|
||||||
|
|
||||||
diff = target->z - player->mo->z;
|
diff = target->Z() - player->mo->Z();
|
||||||
aim = atan(diff / (double)player->mo->AproxDistance(target));
|
aim = atan(diff / (double)player->mo->AproxDistance(target));
|
||||||
player->mo->pitch = -(int)(aim * ANGLE_180/M_PI);
|
player->mo->pitch = -(int)(aim * ANGLE_180/M_PI);
|
||||||
}
|
}
|
||||||
|
|
|
@ -303,8 +303,8 @@ void DBot::ThinkForMove (ticcmd_t *cmd)
|
||||||
if (t_fight<(AFTERTICS/2))
|
if (t_fight<(AFTERTICS/2))
|
||||||
player->mo->flags |= MF_DROPOFF;
|
player->mo->flags |= MF_DROPOFF;
|
||||||
|
|
||||||
oldx = player->mo->x;
|
oldx = player->mo->X();
|
||||||
oldy = player->mo->y;
|
oldy = player->mo->Y();
|
||||||
}
|
}
|
||||||
|
|
||||||
//BOT_WhatToGet
|
//BOT_WhatToGet
|
||||||
|
|
|
@ -944,7 +944,7 @@ static void PrintFilteredActorList(const ActorTypeChecker IsActorType, const cha
|
||||||
{
|
{
|
||||||
Printf ("%s at (%d,%d,%d)\n",
|
Printf ("%s at (%d,%d,%d)\n",
|
||||||
mo->GetClass()->TypeName.GetChars(),
|
mo->GetClass()->TypeName.GetChars(),
|
||||||
mo->x >> FRACBITS, mo->y >> FRACBITS, mo->z >> FRACBITS);
|
mo->X() >> FRACBITS, mo->Y() >> FRACBITS, mo->Z() >> FRACBITS);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1084,7 +1084,7 @@ CCMD(currentpos)
|
||||||
{
|
{
|
||||||
AActor *mo = players[consoleplayer].mo;
|
AActor *mo = players[consoleplayer].mo;
|
||||||
Printf("Current player position: (%1.3f,%1.3f,%1.3f), angle: %1.3f, floorheight: %1.3f, sector:%d, lightlevel: %d\n",
|
Printf("Current player position: (%1.3f,%1.3f,%1.3f), angle: %1.3f, floorheight: %1.3f, sector:%d, lightlevel: %d\n",
|
||||||
FIXED2FLOAT(mo->x), FIXED2FLOAT(mo->y), FIXED2FLOAT(mo->z), mo->angle/float(ANGLE_1), FIXED2FLOAT(mo->floorz), mo->Sector->sectornum, mo->Sector->lightlevel);
|
FIXED2FLOAT(mo->X()), FIXED2FLOAT(mo->Y()), FIXED2FLOAT(mo->Z()), mo->angle/float(ANGLE_1), FIXED2FLOAT(mo->floorz), mo->Sector->sectornum, mo->Sector->lightlevel);
|
||||||
}
|
}
|
||||||
|
|
||||||
//-----------------------------------------------------------------------------
|
//-----------------------------------------------------------------------------
|
||||||
|
|
|
@ -3056,7 +3056,7 @@ bool ADehackedPickup::TryPickup (AActor *&toucher)
|
||||||
{
|
{
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
RealPickup = static_cast<AInventory *>(Spawn (type, x, y, z, NO_REPLACE));
|
RealPickup = static_cast<AInventory *>(Spawn (type, X(), Y(), Z(), NO_REPLACE));
|
||||||
if (RealPickup != NULL)
|
if (RealPickup != NULL)
|
||||||
{
|
{
|
||||||
// The internally spawned item should never count towards statistics.
|
// The internally spawned item should never count towards statistics.
|
||||||
|
|
|
@ -2373,8 +2373,8 @@ void Net_DoCommand (int type, BYTE **stream, int player)
|
||||||
|
|
||||||
s = ReadString (stream);
|
s = ReadString (stream);
|
||||||
|
|
||||||
if (Trace (players[player].mo->x, players[player].mo->y,
|
if (Trace (players[player].mo->X(), players[player].mo->Y(),
|
||||||
players[player].mo->z + players[player].mo->height - (players[player].mo->height>>2),
|
players[player].mo->Z() + players[player].mo->height - (players[player].mo->height>>2),
|
||||||
players[player].mo->Sector,
|
players[player].mo->Sector,
|
||||||
vx, vy, vz, 172*FRACUNIT, 0, ML_BLOCKEVERYTHING, players[player].mo,
|
vx, vy, vz, 172*FRACUNIT, 0, ML_BLOCKEVERYTHING, players[player].mo,
|
||||||
trace, TRACE_NoSky))
|
trace, TRACE_NoSky))
|
||||||
|
|
|
@ -1176,7 +1176,7 @@ void G_Ticker ()
|
||||||
}
|
}
|
||||||
if (players[i].mo)
|
if (players[i].mo)
|
||||||
{
|
{
|
||||||
DWORD sum = rngsum + players[i].mo->x + players[i].mo->y + players[i].mo->z
|
DWORD sum = rngsum + players[i].mo->X() + players[i].mo->Y() + players[i].mo->Z()
|
||||||
+ players[i].mo->angle + players[i].mo->pitch;
|
+ players[i].mo->angle + players[i].mo->pitch;
|
||||||
sum ^= players[i].health;
|
sum ^= players[i].health;
|
||||||
consistancy[i][buf] = sum;
|
consistancy[i][buf] = sum;
|
||||||
|
@ -1435,12 +1435,12 @@ bool G_CheckSpot (int playernum, FPlayerStart *mthing)
|
||||||
if (!players[playernum].mo)
|
if (!players[playernum].mo)
|
||||||
{ // first spawn of level, before corpses
|
{ // first spawn of level, before corpses
|
||||||
for (i = 0; i < playernum; i++)
|
for (i = 0; i < playernum; i++)
|
||||||
if (players[i].mo && players[i].mo->x == x && players[i].mo->y == y)
|
if (players[i].mo && players[i].mo->X() == x && players[i].mo->Y() == y)
|
||||||
return false;
|
return false;
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
oldz = players[playernum].mo->z; // [RH] Need to save corpse's z-height
|
oldz = players[playernum].mo->Z(); // [RH] Need to save corpse's z-height
|
||||||
players[playernum].mo->z = z; // [RH] Checks are now full 3-D
|
players[playernum].mo->z = z; // [RH] Checks are now full 3-D
|
||||||
|
|
||||||
// killough 4/2/98: fix bug where P_CheckPosition() uses a non-solid
|
// killough 4/2/98: fix bug where P_CheckPosition() uses a non-solid
|
||||||
|
|
|
@ -580,7 +580,7 @@ void GiveSpawner (player_t *player, const PClass *type, int amount)
|
||||||
}
|
}
|
||||||
|
|
||||||
AInventory *item = static_cast<AInventory *>
|
AInventory *item = static_cast<AInventory *>
|
||||||
(Spawn (type, player->mo->x, player->mo->y, player->mo->z, NO_REPLACE));
|
(Spawn (type, player->mo->X(), player->mo->Y(), player->mo->Z(), NO_REPLACE));
|
||||||
if (item != NULL)
|
if (item != NULL)
|
||||||
{
|
{
|
||||||
if (amount > 0)
|
if (amount > 0)
|
||||||
|
|
|
@ -331,13 +331,13 @@ void P_PlayerOnSpecial3DFloor(player_t* player)
|
||||||
if(rover->flags & FF_SOLID)
|
if(rover->flags & FF_SOLID)
|
||||||
{
|
{
|
||||||
// Player must be on top of the floor to be affected...
|
// Player must be on top of the floor to be affected...
|
||||||
if(player->mo->z != rover->top.plane->ZatPoint(player->mo->x, player->mo->y)) continue;
|
if(player->mo->Z() != rover->top.plane->ZatPoint(player->mo)) continue;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
//Water and DEATH FOG!!! heh
|
//Water and DEATH FOG!!! heh
|
||||||
if (player->mo->z > rover->top.plane->ZatPoint(player->mo->x, player->mo->y) ||
|
if (player->mo->Z() > rover->top.plane->ZatPoint(player->mo) ||
|
||||||
(player->mo->z + player->mo->height) < rover->bottom.plane->ZatPoint(player->mo->x, player->mo->y))
|
(player->mo->Z() + player->mo->height) < rover->bottom.plane->ZatPoint(player->mo))
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -372,7 +372,7 @@ bool P_CheckFor3DFloorHit(AActor * mo)
|
||||||
|
|
||||||
if(rover->flags & FF_SOLID && rover->model->SecActTarget)
|
if(rover->flags & FF_SOLID && rover->model->SecActTarget)
|
||||||
{
|
{
|
||||||
if(mo->floorz == rover->top.plane->ZatPoint(mo->x, mo->y))
|
if(mo->floorz == rover->top.plane->ZatPoint(mo))
|
||||||
{
|
{
|
||||||
rover->model->SecActTarget->TriggerAction (mo, SECSPAC_HitFloor);
|
rover->model->SecActTarget->TriggerAction (mo, SECSPAC_HitFloor);
|
||||||
return true;
|
return true;
|
||||||
|
@ -402,7 +402,7 @@ bool P_CheckFor3DCeilingHit(AActor * mo)
|
||||||
|
|
||||||
if(rover->flags & FF_SOLID && rover->model->SecActTarget)
|
if(rover->flags & FF_SOLID && rover->model->SecActTarget)
|
||||||
{
|
{
|
||||||
if(mo->ceilingz == rover->bottom.plane->ZatPoint(mo->x, mo->y))
|
if(mo->ceilingz == rover->bottom.plane->ZatPoint(mo))
|
||||||
{
|
{
|
||||||
rover->model->SecActTarget->TriggerAction (mo, SECSPAC_HitCeiling);
|
rover->model->SecActTarget->TriggerAction (mo, SECSPAC_HitCeiling);
|
||||||
return true;
|
return true;
|
||||||
|
@ -748,7 +748,7 @@ void P_LineOpening_XFloors (FLineOpening &open, AActor * thing, const line_t *li
|
||||||
{
|
{
|
||||||
fixed_t thingbot, thingtop;
|
fixed_t thingbot, thingtop;
|
||||||
|
|
||||||
thingbot = thing->z;
|
thingbot = thing->Z();
|
||||||
thingtop = thingbot + (thing->height==0? 1:thing->height);
|
thingtop = thingbot + (thing->height==0? 1:thing->height);
|
||||||
|
|
||||||
extsector_t::xfloor *xf[2] = {&linedef->frontsector->e->XFloor, &linedef->backsector->e->XFloor};
|
extsector_t::xfloor *xf[2] = {&linedef->frontsector->e->XFloor, &linedef->backsector->e->XFloor};
|
||||||
|
@ -789,7 +789,7 @@ void P_LineOpening_XFloors (FLineOpening &open, AActor * thing, const line_t *li
|
||||||
lowestceilingpic = *rover->bottom.texture;
|
lowestceilingpic = *rover->bottom.texture;
|
||||||
}
|
}
|
||||||
|
|
||||||
if(ff_top > highestfloor && delta1 < delta2 && (!restrict || thing->z >= ff_top))
|
if(ff_top > highestfloor && delta1 < delta2 && (!restrict || thing->Z() >= ff_top))
|
||||||
{
|
{
|
||||||
highestfloor = ff_top;
|
highestfloor = ff_top;
|
||||||
highestfloorpic = *rover->top.texture;
|
highestfloorpic = *rover->top.texture;
|
||||||
|
|
|
@ -276,7 +276,7 @@ bool P_LineOpening_3dMidtex(AActor *thing, const line_t *linedef, FLineOpening &
|
||||||
open.abovemidtex = false;
|
open.abovemidtex = false;
|
||||||
if (P_GetMidTexturePosition(linedef, 0, &tt, &tb))
|
if (P_GetMidTexturePosition(linedef, 0, &tt, &tb))
|
||||||
{
|
{
|
||||||
if (thing->z + (thing->height/2) < (tt + tb)/2)
|
if (thing->Z() + (thing->height/2) < (tt + tb)/2)
|
||||||
{
|
{
|
||||||
if (tb < open.top)
|
if (tb < open.top)
|
||||||
{
|
{
|
||||||
|
@ -286,7 +286,7 @@ bool P_LineOpening_3dMidtex(AActor *thing, const line_t *linedef, FLineOpening &
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
if (tt > open.bottom && (!restrict || thing->z >= tt))
|
if (tt > open.bottom && (!restrict || thing->Z() >= tt))
|
||||||
{
|
{
|
||||||
open.bottom = tt;
|
open.bottom = tt;
|
||||||
open.abovemidtex = true;
|
open.abovemidtex = true;
|
||||||
|
@ -295,7 +295,7 @@ bool P_LineOpening_3dMidtex(AActor *thing, const line_t *linedef, FLineOpening &
|
||||||
|
|
||||||
}
|
}
|
||||||
// returns true if it touches the midtexture
|
// returns true if it touches the midtexture
|
||||||
return (abs(thing->z - tt) <= thing->MaxStepHeight);
|
return (abs(thing->Z() - tt) <= thing->MaxStepHeight);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
|
|
|
@ -3441,12 +3441,12 @@ int DLevelScript::DoSpawnSpot (int type, int spot, int tid, int angle, bool forc
|
||||||
|
|
||||||
while ( (aspot = iterator.Next ()) )
|
while ( (aspot = iterator.Next ()) )
|
||||||
{
|
{
|
||||||
spawned += DoSpawn (type, aspot->x, aspot->y, aspot->z, tid, angle, force);
|
spawned += DoSpawn (type, aspot->X(), aspot->Y(), aspot->Z(), tid, angle, force);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if (activator != NULL)
|
else if (activator != NULL)
|
||||||
{
|
{
|
||||||
spawned += DoSpawn (type, activator->x, activator->y, activator->z, tid, angle, force);
|
spawned += DoSpawn (type, activator->X(), activator->Y(), activator->Z(), tid, angle, force);
|
||||||
}
|
}
|
||||||
return spawned;
|
return spawned;
|
||||||
}
|
}
|
||||||
|
@ -3462,12 +3462,12 @@ int DLevelScript::DoSpawnSpotFacing (int type, int spot, int tid, bool force)
|
||||||
|
|
||||||
while ( (aspot = iterator.Next ()) )
|
while ( (aspot = iterator.Next ()) )
|
||||||
{
|
{
|
||||||
spawned += DoSpawn (type, aspot->x, aspot->y, aspot->z, tid, aspot->angle >> 24, force);
|
spawned += DoSpawn (type, aspot->X(), aspot->Y(), aspot->Z(), tid, aspot->angle >> 24, force);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if (activator != NULL)
|
else if (activator != NULL)
|
||||||
{
|
{
|
||||||
spawned += DoSpawn (type, activator->x, activator->y, activator->z, tid, activator->angle >> 24, force);
|
spawned += DoSpawn (type, activator->X(), activator->Y(), activator->Z(), tid, activator->angle >> 24, force);
|
||||||
}
|
}
|
||||||
return spawned;
|
return spawned;
|
||||||
}
|
}
|
||||||
|
@ -4145,7 +4145,7 @@ bool DLevelScript::DoCheckActorTexture(int tid, AActor *activator, int string, b
|
||||||
F3DFloor *ff = sec->e->XFloor.ffloors[i];
|
F3DFloor *ff = sec->e->XFloor.ffloors[i];
|
||||||
|
|
||||||
if ((ff->flags & (FF_EXISTS | FF_SOLID)) == (FF_EXISTS | FF_SOLID) &&
|
if ((ff->flags & (FF_EXISTS | FF_SOLID)) == (FF_EXISTS | FF_SOLID) &&
|
||||||
actor->z >= ff->top.plane->ZatPoint(actor->x, actor->y))
|
actor->Z() >= ff->top.plane->ZatPoint(actor))
|
||||||
{ // This floor is beneath our feet.
|
{ // This floor is beneath our feet.
|
||||||
secpic = *ff->top.texture;
|
secpic = *ff->top.texture;
|
||||||
break;
|
break;
|
||||||
|
@ -4158,14 +4158,14 @@ bool DLevelScript::DoCheckActorTexture(int tid, AActor *activator, int string, b
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
fixed_t z = actor->z + actor->height;
|
fixed_t z = actor->Z() + actor->height;
|
||||||
// Looking through planes from bottom to top
|
// Looking through planes from bottom to top
|
||||||
for (i = numff-1; i >= 0; --i)
|
for (i = numff-1; i >= 0; --i)
|
||||||
{
|
{
|
||||||
F3DFloor *ff = sec->e->XFloor.ffloors[i];
|
F3DFloor *ff = sec->e->XFloor.ffloors[i];
|
||||||
|
|
||||||
if ((ff->flags & (FF_EXISTS | FF_SOLID)) == (FF_EXISTS | FF_SOLID) &&
|
if ((ff->flags & (FF_EXISTS | FF_SOLID)) == (FF_EXISTS | FF_SOLID) &&
|
||||||
z <= ff->bottom.plane->ZatPoint(actor->x, actor->y))
|
z <= ff->bottom.plane->ZatPoint(actor))
|
||||||
{ // This floor is above our eyes.
|
{ // This floor is above our eyes.
|
||||||
secpic = *ff->bottom.texture;
|
secpic = *ff->bottom.texture;
|
||||||
break;
|
break;
|
||||||
|
@ -4728,8 +4728,8 @@ static bool DoSpawnDecal(AActor *actor, const FDecalTemplate *tpl, int flags, an
|
||||||
{
|
{
|
||||||
angle += actor->angle;
|
angle += actor->angle;
|
||||||
}
|
}
|
||||||
return NULL != ShootDecal(tpl, actor, actor->Sector, actor->x, actor->y,
|
return NULL != ShootDecal(tpl, actor, actor->Sector, actor->X(), actor->Y(),
|
||||||
actor->z + (actor->height>>1) - actor->floorclip + actor->GetBobOffset() + zofs,
|
actor->Z() + (actor->height>>1) - actor->floorclip + actor->GetBobOffset() + zofs,
|
||||||
angle, distance, !!(flags & SDF_PERMANENT));
|
angle, distance, !!(flags & SDF_PERMANENT));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -8598,7 +8598,7 @@ scriptwait:
|
||||||
}
|
}
|
||||||
else if (pcd == PCD_GETACTORZ)
|
else if (pcd == PCD_GETACTORZ)
|
||||||
{
|
{
|
||||||
STACK(1) = actor->z + actor->GetBobOffset();
|
STACK(1) = actor->Z() + actor->GetBobOffset();
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
|
|
@ -619,8 +619,8 @@ void P_DrawRailTrail(AActor *source, const TVector3<double> &start, const TVecto
|
||||||
double r;
|
double r;
|
||||||
double dirz;
|
double dirz;
|
||||||
|
|
||||||
if (abs(mo->x - FLOAT2FIXED(start.X)) < 20 * FRACUNIT
|
if (abs(mo->X() - FLOAT2FIXED(start.X)) < 20 * FRACUNIT
|
||||||
&& (mo->y - FLOAT2FIXED(start.Y)) < 20 * FRACUNIT)
|
&& (mo->Y() - FLOAT2FIXED(start.Y)) < 20 * FRACUNIT)
|
||||||
{ // This player (probably) fired the railgun
|
{ // This player (probably) fired the railgun
|
||||||
S_Sound (mo, CHAN_WEAPON, sound, 1, ATTN_NORM);
|
S_Sound (mo, CHAN_WEAPON, sound, 1, ATTN_NORM);
|
||||||
}
|
}
|
||||||
|
@ -630,7 +630,7 @@ void P_DrawRailTrail(AActor *source, const TVector3<double> &start, const TVecto
|
||||||
// Only consider sound in 2D (for now, anyway)
|
// Only consider sound in 2D (for now, anyway)
|
||||||
// [BB] You have to divide by lengthsquared here, not multiply with it.
|
// [BB] You have to divide by lengthsquared here, not multiply with it.
|
||||||
|
|
||||||
r = ((start.Y - FIXED2DBL(mo->y)) * (-dir.Y) - (start.X - FIXED2DBL(mo->x)) * (dir.X)) / lengthsquared;
|
r = ((start.Y - FIXED2DBL(mo->Y())) * (-dir.Y) - (start.X - FIXED2DBL(mo->X())) * (dir.X)) / lengthsquared;
|
||||||
r = clamp<double>(r, 0., 1.);
|
r = clamp<double>(r, 0., 1.);
|
||||||
|
|
||||||
dirz = dir.Z;
|
dirz = dir.Z;
|
||||||
|
|
|
@ -243,9 +243,9 @@ bool AActor::CheckMeleeRange ()
|
||||||
// [RH] Don't melee things too far above or below actor.
|
// [RH] Don't melee things too far above or below actor.
|
||||||
if (!(flags5 & MF5_NOVERTICALMELEERANGE))
|
if (!(flags5 & MF5_NOVERTICALMELEERANGE))
|
||||||
{
|
{
|
||||||
if (pl->z > z + height)
|
if (pl->Z() > z + height)
|
||||||
return false;
|
return false;
|
||||||
if (pl->z + pl->height < z)
|
if (pl->Z() + pl->height < z)
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -280,11 +280,11 @@ bool P_CheckMeleeRange2 (AActor *actor)
|
||||||
{
|
{
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
if (mo->z > actor->z+actor->height)
|
if (mo->Z() > actor->Z()+actor->height)
|
||||||
{ // Target is higher than the attacker
|
{ // Target is higher than the attacker
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
else if (actor->z > mo->z+mo->height)
|
else if (actor->Z() > mo->Z()+mo->height)
|
||||||
{ // Attacker is higher
|
{ // Attacker is higher
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
@ -434,7 +434,7 @@ bool P_Move (AActor *actor)
|
||||||
// it difficult to thrust them vertically in a reasonable manner.
|
// it difficult to thrust them vertically in a reasonable manner.
|
||||||
// [GZ] Let jumping actors jump.
|
// [GZ] Let jumping actors jump.
|
||||||
if (!((actor->flags & MF_NOGRAVITY) || (actor->flags6 & MF6_CANJUMP))
|
if (!((actor->flags & MF_NOGRAVITY) || (actor->flags6 & MF6_CANJUMP))
|
||||||
&& actor->z > actor->floorz && !(actor->flags2 & MF2_ONMOBJ))
|
&& actor->Z() > actor->floorz && !(actor->flags2 & MF2_ONMOBJ))
|
||||||
{
|
{
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
@ -538,11 +538,11 @@ bool P_Move (AActor *actor)
|
||||||
// actually walking down a step.
|
// actually walking down a step.
|
||||||
if (try_ok &&
|
if (try_ok &&
|
||||||
!((actor->flags & MF_NOGRAVITY) || (actor->flags6 & MF6_CANJUMP))
|
!((actor->flags & MF_NOGRAVITY) || (actor->flags6 & MF6_CANJUMP))
|
||||||
&& actor->z > actor->floorz && !(actor->flags2 & MF2_ONMOBJ))
|
&& actor->Z() > actor->floorz && !(actor->flags2 & MF2_ONMOBJ))
|
||||||
{
|
{
|
||||||
if (actor->z <= actor->floorz + actor->MaxStepHeight)
|
if (actor->Y() <= actor->floorz + actor->MaxStepHeight)
|
||||||
{
|
{
|
||||||
fixed_t savedz = actor->z;
|
fixed_t savedz = actor->Z();
|
||||||
actor->z = actor->floorz;
|
actor->z = actor->floorz;
|
||||||
// Make sure that there isn't some other actor between us and
|
// Make sure that there isn't some other actor between us and
|
||||||
// the floor we could get stuck in. The old code did not do this.
|
// the floor we could get stuck in. The old code did not do this.
|
||||||
|
@ -553,7 +553,7 @@ bool P_Move (AActor *actor)
|
||||||
else
|
else
|
||||||
{ // The monster just hit the floor, so trigger any actions.
|
{ // The monster just hit the floor, so trigger any actions.
|
||||||
if (actor->floorsector->SecActTarget != NULL &&
|
if (actor->floorsector->SecActTarget != NULL &&
|
||||||
actor->floorz == actor->floorsector->floorplane.ZatPoint(actor->x, actor->y))
|
actor->floorz == actor->floorsector->floorplane.ZatPoint(actor))
|
||||||
{
|
{
|
||||||
actor->floorsector->SecActTarget->TriggerAction(actor, SECSPAC_HitFloor);
|
actor->floorsector->SecActTarget->TriggerAction(actor, SECSPAC_HitFloor);
|
||||||
}
|
}
|
||||||
|
@ -566,7 +566,7 @@ bool P_Move (AActor *actor)
|
||||||
{
|
{
|
||||||
if (((actor->flags6 & MF6_CANJUMP)||(actor->flags & MF_FLOAT)) && tm.floatok)
|
if (((actor->flags6 & MF6_CANJUMP)||(actor->flags & MF_FLOAT)) && tm.floatok)
|
||||||
{ // must adjust height
|
{ // must adjust height
|
||||||
fixed_t savedz = actor->z;
|
fixed_t savedz = actor->Z();
|
||||||
|
|
||||||
if (actor->z < tm.floorz)
|
if (actor->z < tm.floorz)
|
||||||
actor->z += actor->FloatSpeed;
|
actor->z += actor->FloatSpeed;
|
||||||
|
@ -847,11 +847,11 @@ void P_NewChaseDir(AActor * actor)
|
||||||
|
|
||||||
// Try to move away from a dropoff
|
// Try to move away from a dropoff
|
||||||
if (actor->floorz - actor->dropoffz > actor->MaxDropOffHeight &&
|
if (actor->floorz - actor->dropoffz > actor->MaxDropOffHeight &&
|
||||||
actor->z <= actor->floorz && !(actor->flags & MF_DROPOFF) &&
|
actor->Z() <= actor->floorz && !(actor->flags & MF_DROPOFF) &&
|
||||||
!(actor->flags2 & MF2_ONMOBJ) &&
|
!(actor->flags2 & MF2_ONMOBJ) &&
|
||||||
!(actor->flags & MF_FLOAT) && !(i_compatflags & COMPATF_DROPOFF))
|
!(actor->flags & MF_FLOAT) && !(i_compatflags & COMPATF_DROPOFF))
|
||||||
{
|
{
|
||||||
FBoundingBox box(actor->x, actor->y, actor->radius);
|
FBoundingBox box(actor->X(), actor->Y(), actor->radius);
|
||||||
FBlockLinesIterator it(box);
|
FBlockLinesIterator it(box);
|
||||||
line_t *line;
|
line_t *line;
|
||||||
|
|
||||||
|
@ -866,14 +866,14 @@ void P_NewChaseDir(AActor * actor)
|
||||||
box.Bottom() < line->bbox[BOXTOP] &&
|
box.Bottom() < line->bbox[BOXTOP] &&
|
||||||
box.BoxOnLineSide(line) == -1)
|
box.BoxOnLineSide(line) == -1)
|
||||||
{
|
{
|
||||||
fixed_t front = line->frontsector->floorplane.ZatPoint(actor->x,actor->y);
|
fixed_t front = line->frontsector->floorplane.ZatPoint(actor);
|
||||||
fixed_t back = line->backsector->floorplane.ZatPoint(actor->x,actor->y);
|
fixed_t back = line->backsector->floorplane.ZatPoint(actor);
|
||||||
angle_t angle;
|
angle_t angle;
|
||||||
|
|
||||||
// The monster must contact one of the two floors,
|
// The monster must contact one of the two floors,
|
||||||
// and the other must be a tall dropoff.
|
// and the other must be a tall dropoff.
|
||||||
|
|
||||||
if (back == actor->z && front < actor->z - actor->MaxDropOffHeight)
|
if (back == actor->Z() && front < actor->Z() - actor->MaxDropOffHeight)
|
||||||
{
|
{
|
||||||
angle = R_PointToAngle2(0,0,line->dx,line->dy); // front side dropoff
|
angle = R_PointToAngle2(0,0,line->dx,line->dy); // front side dropoff
|
||||||
}
|
}
|
||||||
|
@ -2551,11 +2551,11 @@ static bool P_CheckForResurrection(AActor *self, bool usevilestates)
|
||||||
if (testsec)
|
if (testsec)
|
||||||
{
|
{
|
||||||
fixed_t zdist1, zdist2;
|
fixed_t zdist1, zdist2;
|
||||||
if (P_Find3DFloor(testsec, corpsehit->x, corpsehit->y, corpsehit->z, false, true, zdist1)
|
if (P_Find3DFloor(testsec, corpsehit->X(), corpsehit->Y(), corpsehit->Z(), false, true, zdist1)
|
||||||
!= P_Find3DFloor(testsec, self->x, self->y, self->z, false, true, zdist2))
|
!= P_Find3DFloor(testsec, self->X(), self->Y(), self->Z(), false, true, zdist2))
|
||||||
{
|
{
|
||||||
// Not on same floor
|
// Not on same floor
|
||||||
if (vilesec == corpsec || abs(zdist1 - self->z) > self->height)
|
if (vilesec == corpsec || abs(zdist1 - self->Z()) > self->height)
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -2569,7 +2569,7 @@ static bool P_CheckForResurrection(AActor *self, bool usevilestates)
|
||||||
|
|
||||||
corpsehit->flags |= MF_SOLID;
|
corpsehit->flags |= MF_SOLID;
|
||||||
corpsehit->height = corpsehit->GetDefault()->height;
|
corpsehit->height = corpsehit->GetDefault()->height;
|
||||||
bool check = P_CheckPosition(corpsehit, corpsehit->x, corpsehit->y);
|
bool check = P_CheckPosition(corpsehit, corpsehit->X(), corpsehit->Y());
|
||||||
corpsehit->flags = oldflags;
|
corpsehit->flags = oldflags;
|
||||||
corpsehit->radius = oldradius;
|
corpsehit->radius = oldradius;
|
||||||
corpsehit->height = oldheight;
|
corpsehit->height = oldheight;
|
||||||
|
@ -2792,19 +2792,19 @@ void A_Face (AActor *self, AActor *other, angle_t max_turn, angle_t max_pitch, a
|
||||||
|
|
||||||
// If the target z is above the target's head, reposition to the middle of
|
// If the target z is above the target's head, reposition to the middle of
|
||||||
// its body.
|
// its body.
|
||||||
if (target_z >= other->z + other->height)
|
if (target_z >= other->Z() + other->height)
|
||||||
{
|
{
|
||||||
target_z = other->z + (other->height / 2);
|
target_z = other->Z() + (other->height / 2);
|
||||||
}
|
}
|
||||||
|
|
||||||
//Note there is no +32*FRACUNIT on purpose. This is for customization sake.
|
//Note there is no +32*FRACUNIT on purpose. This is for customization sake.
|
||||||
//If one doesn't want this behavior, just don't use FAF_BOTTOM.
|
//If one doesn't want this behavior, just don't use FAF_BOTTOM.
|
||||||
if (flags & FAF_BOTTOM)
|
if (flags & FAF_BOTTOM)
|
||||||
target_z = other->z + other->GetBobOffset();
|
target_z = other->Z() + other->GetBobOffset();
|
||||||
if (flags & FAF_MIDDLE)
|
if (flags & FAF_MIDDLE)
|
||||||
target_z = other->z + (other->height / 2) + other->GetBobOffset();
|
target_z = other->Z() + (other->height / 2) + other->GetBobOffset();
|
||||||
if (flags & FAF_TOP)
|
if (flags & FAF_TOP)
|
||||||
target_z = other->z + (other->height) + other->GetBobOffset();
|
target_z = other->Z() + (other->height) + other->GetBobOffset();
|
||||||
if (!(flags & FAF_NODISTFACTOR))
|
if (!(flags & FAF_NODISTFACTOR))
|
||||||
target_z += pitch_offset;
|
target_z += pitch_offset;
|
||||||
|
|
||||||
|
@ -3072,7 +3072,7 @@ AInventory *P_DropItem (AActor *source, const PClass *type, int dropamount, int
|
||||||
AActor *mo;
|
AActor *mo;
|
||||||
fixed_t spawnz;
|
fixed_t spawnz;
|
||||||
|
|
||||||
spawnz = source->z;
|
spawnz = source->Z();
|
||||||
if (!(i_compatflags & COMPATF_NOTOSSDROPS))
|
if (!(i_compatflags & COMPATF_NOTOSSDROPS))
|
||||||
{
|
{
|
||||||
int style = sv_dropstyle;
|
int style = sv_dropstyle;
|
||||||
|
@ -3087,7 +3087,7 @@ AInventory *P_DropItem (AActor *source, const PClass *type, int dropamount, int
|
||||||
spawnz += source->height / 2;
|
spawnz += source->height / 2;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
mo = Spawn (type, source->x, source->y, spawnz, ALLOW_REPLACE);
|
mo = Spawn (type, source->X(), source->Y(), spawnz, ALLOW_REPLACE);
|
||||||
if (mo != NULL)
|
if (mo != NULL)
|
||||||
{
|
{
|
||||||
mo->flags |= MF_DROPPED;
|
mo->flags |= MF_DROPPED;
|
||||||
|
|
|
@ -84,7 +84,7 @@ FName MeansOfDeath;
|
||||||
//
|
//
|
||||||
void P_TouchSpecialThing (AActor *special, AActor *toucher)
|
void P_TouchSpecialThing (AActor *special, AActor *toucher)
|
||||||
{
|
{
|
||||||
fixed_t delta = special->z - toucher->z;
|
fixed_t delta = special->Z() - toucher->Z();
|
||||||
|
|
||||||
// The pickup is at or above the toucher's feet OR
|
// The pickup is at or above the toucher's feet OR
|
||||||
// The pickup is below the toucher.
|
// The pickup is below the toucher.
|
||||||
|
@ -1158,7 +1158,7 @@ int P_DamageMobj (AActor *target, AActor *inflictor, AActor *source, int damage,
|
||||||
// If the origin and target are in exactly the same spot, choose a random direction.
|
// If the origin and target are in exactly the same spot, choose a random direction.
|
||||||
// (Most likely cause is from telefragging somebody during spawning because they
|
// (Most likely cause is from telefragging somebody during spawning because they
|
||||||
// haven't moved from their spawn spot at all.)
|
// haven't moved from their spawn spot at all.)
|
||||||
if (origin->x == target->x && origin->y == target->y)
|
if (origin->X() == target->X() && origin->Y() == target->Y())
|
||||||
{
|
{
|
||||||
ang = pr_kickbackdir.GenRand32();
|
ang = pr_kickbackdir.GenRand32();
|
||||||
}
|
}
|
||||||
|
@ -1184,7 +1184,7 @@ int P_DamageMobj (AActor *target, AActor *inflictor, AActor *source, int damage,
|
||||||
|
|
||||||
// make fall forwards sometimes
|
// make fall forwards sometimes
|
||||||
if ((damage < 40) && (damage > target->health)
|
if ((damage < 40) && (damage > target->health)
|
||||||
&& (target->z - origin->z > 64*FRACUNIT)
|
&& (target->Z() - origin->Z() > 64*FRACUNIT)
|
||||||
&& (pr_damagemobj()&1)
|
&& (pr_damagemobj()&1)
|
||||||
// [RH] But only if not too fast and not flying
|
// [RH] But only if not too fast and not flying
|
||||||
&& thrust < 10*FRACUNIT
|
&& thrust < 10*FRACUNIT
|
||||||
|
|
|
@ -148,7 +148,7 @@ FUNC(LS_Polyobj_MoveToSpot)
|
||||||
FActorIterator iterator (arg2);
|
FActorIterator iterator (arg2);
|
||||||
AActor *spot = iterator.Next();
|
AActor *spot = iterator.Next();
|
||||||
if (spot == NULL) return false;
|
if (spot == NULL) return false;
|
||||||
return EV_MovePolyTo (ln, arg0, SPEED(arg1), spot->x, spot->y, false);
|
return EV_MovePolyTo (ln, arg0, SPEED(arg1), spot->X(), spot->Y(), false);
|
||||||
}
|
}
|
||||||
|
|
||||||
FUNC(LS_Polyobj_DoorSwing)
|
FUNC(LS_Polyobj_DoorSwing)
|
||||||
|
@ -199,7 +199,7 @@ FUNC(LS_Polyobj_OR_MoveToSpot)
|
||||||
FActorIterator iterator (arg2);
|
FActorIterator iterator (arg2);
|
||||||
AActor *spot = iterator.Next();
|
AActor *spot = iterator.Next();
|
||||||
if (spot == NULL) return false;
|
if (spot == NULL) return false;
|
||||||
return EV_MovePolyTo (ln, arg0, SPEED(arg1), spot->x, spot->y, true);
|
return EV_MovePolyTo (ln, arg0, SPEED(arg1), spot->X(), spot->Y(), true);
|
||||||
}
|
}
|
||||||
|
|
||||||
FUNC(LS_Polyobj_Stop)
|
FUNC(LS_Polyobj_Stop)
|
||||||
|
|
|
@ -82,7 +82,7 @@ bool P_Thing_Spawn (int tid, AActor *source, int type, angle_t angle, bool fog,
|
||||||
}
|
}
|
||||||
while (spot != NULL)
|
while (spot != NULL)
|
||||||
{
|
{
|
||||||
mobj = Spawn (kind, spot->x, spot->y, spot->z, ALLOW_REPLACE);
|
mobj = Spawn (kind, spot->X(), spot->Y(), spot->Z(), ALLOW_REPLACE);
|
||||||
|
|
||||||
if (mobj != NULL)
|
if (mobj != NULL)
|
||||||
{
|
{
|
||||||
|
@ -94,7 +94,7 @@ bool P_Thing_Spawn (int tid, AActor *source, int type, angle_t angle, bool fog,
|
||||||
mobj->angle = (angle != ANGLE_MAX ? angle : spot->angle);
|
mobj->angle = (angle != ANGLE_MAX ? angle : spot->angle);
|
||||||
if (fog)
|
if (fog)
|
||||||
{
|
{
|
||||||
P_SpawnTeleportFog(mobj, spot->x, spot->y, spot->z + TELEFOGHEIGHT, false, true);
|
P_SpawnTeleportFog(mobj, spot->X(), spot->Y(), spot->Z() + TELEFOGHEIGHT, false, true);
|
||||||
}
|
}
|
||||||
if (mobj->flags & MF_SPECIAL)
|
if (mobj->flags & MF_SPECIAL)
|
||||||
mobj->flags |= MF_DROPPED; // Don't respawn
|
mobj->flags |= MF_DROPPED; // Don't respawn
|
||||||
|
@ -165,7 +165,7 @@ bool P_Thing_Move (int tid, AActor *source, int mapspot, bool fog)
|
||||||
|
|
||||||
if (source != NULL && target != NULL)
|
if (source != NULL && target != NULL)
|
||||||
{
|
{
|
||||||
return P_MoveThing(source, target->x, target->y, target->z, fog);
|
return P_MoveThing(source, target->X(), target->Y(), target->Z(), fog);
|
||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
|
@ -248,6 +248,11 @@ struct secplane_t
|
||||||
return FixedMul (ic, -d - DMulScale16 (a, v->x, b, v->y));
|
return FixedMul (ic, -d - DMulScale16 (a, v->x, b, v->y));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
fixed_t ZatPoint (const AActor *ac) const
|
||||||
|
{
|
||||||
|
return FixedMul (ic, -d - DMulScale16 (a, ac->X(), b, ac->Y()));
|
||||||
|
}
|
||||||
|
|
||||||
// Returns the value of z at (x,y) if d is equal to dist
|
// Returns the value of z at (x,y) if d is equal to dist
|
||||||
fixed_t ZatPointDist (fixed_t x, fixed_t y, fixed_t dist) const
|
fixed_t ZatPointDist (fixed_t x, fixed_t y, fixed_t dist) const
|
||||||
{
|
{
|
||||||
|
|
Loading…
Reference in a new issue