0
0
Fork 0
mirror of https://github.com/DrBeef/Raze.git synced 2025-03-06 09:21:04 +00:00

- renamed player position variables.

This commit is contained in:
Christoph Oelckers 2022-08-20 10:38:48 +02:00
parent 22dae296c6
commit da73d2bba4
24 changed files with 412 additions and 396 deletions

View file

@ -324,7 +324,7 @@ int DoActorPickClosePlayer(DSWActor* actor)
// continue; // continue;
} }
DISTANCE(actor->int_pos().X, actor->int_pos().Y, pp->pos.X, pp->pos.Y, dist, a, b, c); DISTANCE(actor->int_pos().X, actor->int_pos().Y, pp->__int_ppos.X, pp->__int_ppos.Y, dist, a, b, c);
if (dist < near_dist) if (dist < near_dist)
{ {
@ -350,7 +350,7 @@ int DoActorPickClosePlayer(DSWActor* actor)
continue; continue;
} }
DISTANCE(actor->int_pos().X, actor->int_pos().Y, pp->pos.X, pp->pos.Y, dist, a, b, c); DISTANCE(actor->int_pos().X, actor->int_pos().Y, pp->__int_ppos.X, pp->__int_ppos.Y, dist, a, b, c);
DSWActor* plActor = pp->actor; DSWActor* plActor = pp->actor;
if (dist < near_dist && FAFcansee(actor->int_pos().X, actor->int_pos().Y, look_height, actor->sector(), plActor->int_pos().X, plActor->int_pos().Y, ActorUpperZ(plActor), plActor->sector())) if (dist < near_dist && FAFcansee(actor->int_pos().X, actor->int_pos().Y, look_height, actor->sector(), plActor->int_pos().X, plActor->int_pos().Y, ActorUpperZ(plActor), plActor->sector()))

View file

@ -1003,7 +1003,7 @@ int DoBunnyQuickJump(DSWActor* actor)
if (pp == Player+myconnectindex) if (pp == Player+myconnectindex)
{ {
choose_snd = StdRandomRange(2<<8)>>8; choose_snd = StdRandomRange(2<<8)>>8;
if (FAFcansee(actor->int_pos().X,actor->int_pos().Y,ActorZOfTop(actor),actor->sector(),pp->pos.X, pp->pos.Y, pp->pos.Z, pp->cursector) && Facing(actor, actor->user.targetActor)) if (FAFcansee(actor->int_pos().X,actor->int_pos().Y,ActorZOfTop(actor),actor->sector(),pp->__int_ppos.X, pp->__int_ppos.Y, pp->__int_ppos.Z, pp->cursector) && Facing(actor, actor->user.targetActor))
PlayerSound(fagsnds[choose_snd], v3df_doppler|v3df_follow|v3df_dontpan,pp); PlayerSound(fagsnds[choose_snd], v3df_doppler|v3df_follow|v3df_dontpan,pp);
} }
} }
@ -1018,7 +1018,7 @@ int DoBunnyQuickJump(DSWActor* actor)
if (pp == Player+myconnectindex) if (pp == Player+myconnectindex)
{ {
choose_snd = StdRandomRange(3<<8)>>8; choose_snd = StdRandomRange(3<<8)>>8;
if (FAFcansee(actor->int_pos().X,actor->int_pos().Y,ActorZOfTop(actor),actor->sector(),pp->pos.X, pp->pos.Y, pp->pos.Z, pp->cursector) && Facing(actor, actor->user.targetActor)) if (FAFcansee(actor->int_pos().X,actor->int_pos().Y,ActorZOfTop(actor),actor->sector(),pp->__int_ppos.X, pp->__int_ppos.Y, pp->__int_ppos.Z, pp->cursector) && Facing(actor, actor->user.targetActor))
PlayerSound(straightsnds[choose_snd], v3df_doppler|v3df_follow|v3df_dontpan,pp); PlayerSound(straightsnds[choose_snd], v3df_doppler|v3df_follow|v3df_dontpan,pp);
} }
} }

View file

@ -780,9 +780,9 @@ void analyzesprites(tspriteArray& tsprites, int viewx, int viewy, int viewz, int
{ {
pp = tActor->user.PlayerP; pp = tActor->user.PlayerP;
int sr = 65536 - int(smoothratio); int sr = 65536 - int(smoothratio);
tsp->add_int_x(-MulScale(pp->pos.X - pp->opos.X, sr, 16)); tsp->add_int_x(-MulScale(pp->__int_ppos.X - pp->__int_popos.X, sr, 16));
tsp->add_int_y(-MulScale(pp->pos.Y - pp->opos.Y, sr, 16)); tsp->add_int_y(-MulScale(pp->__int_ppos.Y - pp->__int_popos.Y, sr, 16));
tsp->add_int_z(-MulScale(pp->pos.Z - pp->opos.Z, sr, 16)); tsp->add_int_z(-MulScale(pp->__int_ppos.Z - pp->__int_popos.Z, sr, 16));
tsp->add_int_ang(-MulScale(pp->angle.ang.Buildang() - pp->angle.oang.Buildang(), sr, 16)); tsp->add_int_ang(-MulScale(pp->angle.ang.Buildang() - pp->angle.oang.Buildang(), sr, 16));
} }
} }
@ -1023,9 +1023,9 @@ FString GameInterface::GetCoordString()
{ {
PLAYER* pp = Player + myconnectindex; PLAYER* pp = Player + myconnectindex;
FString out; FString out;
out.AppendFormat("POSX:%d ", pp->pos.X); out.AppendFormat("POSX:%d ", pp->__int_ppos.X);
out.AppendFormat("POSY:%d ", pp->pos.Y); out.AppendFormat("POSY:%d ", pp->__int_ppos.Y);
out.AppendFormat("POSZ:%d ", pp->pos.Z); out.AppendFormat("POSZ:%d ", pp->__int_ppos.Z);
out.AppendFormat("ANG:%d\n", pp->angle.ang.Buildang()); out.AppendFormat("ANG:%d\n", pp->angle.ang.Buildang());
return out; return out;
@ -1383,9 +1383,9 @@ void drawscreen(PLAYER* pp, double smoothratio, bool sceneonly)
else else
camerapp = pp; camerapp = pp;
tx = interpolatedvalue(camerapp->opos.X, camerapp->pos.X, sr); tx = interpolatedvalue(camerapp->__int_popos.X, camerapp->__int_ppos.X, sr);
ty = interpolatedvalue(camerapp->opos.Y, camerapp->pos.Y, sr); ty = interpolatedvalue(camerapp->__int_popos.Y, camerapp->__int_ppos.Y, sr);
tz = interpolatedvalue(camerapp->opos.Z, camerapp->pos.Z, sr); tz = interpolatedvalue(camerapp->__int_popos.Z, camerapp->__int_ppos.Z, sr);
// Interpolate the player's angle while on a sector object, just like VoidSW. // Interpolate the player's angle while on a sector object, just like VoidSW.
// This isn't needed for the turret as it was fixable, but moving sector objects are problematic. // This isn't needed for the turret as it was fixable, but moving sector objects are problematic.
@ -1410,9 +1410,9 @@ void drawscreen(PLAYER* pp, double smoothratio, bool sceneonly)
if (pp->sop_control && if (pp->sop_control &&
(!cl_sointerpolation || (CommEnabled && !pp->sop_remote))) (!cl_sointerpolation || (CommEnabled && !pp->sop_remote)))
{ {
tx = pp->pos.X; tx = pp->__int_ppos.X;
ty = pp->pos.Y; ty = pp->__int_ppos.Y;
tz = pp->pos.Z; tz = pp->__int_ppos.Z;
tang = pp->angle.ang; tang = pp->angle.ang;
} }
tsect = pp->cursector; tsect = pp->cursector;
@ -1421,7 +1421,7 @@ void drawscreen(PLAYER* pp, double smoothratio, bool sceneonly)
pp->si.X = tx; pp->si.X = tx;
pp->si.Y = ty; pp->si.Y = ty;
pp->si.Z = tz - pp->pos.Z; pp->si.Z = tz - pp->__int_ppos.Z;
pp->siang = tang.Buildang(); pp->siang = tang.Buildang();
QuakeViewChange(camerapp, &quake_z, &quake_x, &quake_y, &quake_ang); QuakeViewChange(camerapp, &quake_z, &quake_x, &quake_y, &quake_ang);

View file

@ -403,7 +403,7 @@ void InitLevel(MapRecord *maprec)
currentLevel = maprec; currentLevel = maprec;
int cursect; int cursect;
SpawnSpriteDef sprites; SpawnSpriteDef sprites;
loadMap(maprec->fileName, SW_SHAREWARE ? 1 : 0, &Player[0].pos, &ang, &cursect, sprites); loadMap(maprec->fileName, SW_SHAREWARE ? 1 : 0, &Player[0].__int_ppos, &ang, &cursect, sprites);
spawnactors(sprites); spawnactors(sprites);
Player[0].cursector = &sector[cursect]; Player[0].cursector = &sector[cursect];

View file

@ -577,7 +577,23 @@ struct REMOTE_CONTROL
struct PLAYER struct PLAYER
{ {
// variable that fit in the sprite or user structure // variable that fit in the sprite or user structure
vec3_t pos, opos, oldpos;
// hackery to make the transition easier
union
{
vec3_t __int_ppos;
vec3_t pos;
};
union
{
vec3_t __int_popos;
vec3_t opos;
};
union
{
vec3_t __int_poldpos;
vec3_t oldpos;
};
DSWActor* actor; // this may not be a TObjPtr! DSWActor* actor; // this may not be a TObjPtr!
TObjPtr<DSWActor*> lowActor, highActor; TObjPtr<DSWActor*> lowActor, highActor;
@ -1979,7 +1995,7 @@ inline bool SectorIsUnderwaterArea(sectortype* sect)
inline bool PlayerFacingRange(PLAYER* pp, DSWActor* a, int range) inline bool PlayerFacingRange(PLAYER* pp, DSWActor* a, int range)
{ {
return (abs(getincangle(getangle(a->int_pos().X - (pp)->pos.X, a->int_pos().Y - (pp)->pos.Y), (pp)->angle.ang.Buildang())) < (range)); return (abs(getincangle(getangle(a->int_pos().X - (pp)->__int_ppos.X, a->int_pos().Y - (pp)->__int_ppos.Y), (pp)->angle.ang.Buildang())) < (range));
} }
inline bool FacingRange(DSWActor* a1, DSWActor* a2, int range) inline bool FacingRange(DSWActor* a1, DSWActor* a2, int range)

View file

@ -541,7 +541,7 @@ int DoCheckSwarm(DSWActor* actor)
if (actor->user.targetActor->user.PlayerP) if (actor->user.targetActor->user.PlayerP)
{ {
pp = actor->user.targetActor->user.PlayerP; pp = actor->user.targetActor->user.PlayerP;
DISTANCE(actor->int_pos().X, actor->int_pos().Y, pp->pos.X, pp->pos.Y, pdist, a, b, c); DISTANCE(actor->int_pos().X, actor->int_pos().Y, pp->__int_ppos.X, pp->__int_ppos.Y, pdist, a, b, c);
} }
else else
return 0; return 0;

View file

@ -186,7 +186,7 @@ void GameInterface::GetInput(ControlInfo* const hidInput, double const scaleAdju
if ((pp->Flags2 & PF2_INPUT_CAN_TURN_VEHICLE)) if ((pp->Flags2 & PF2_INPUT_CAN_TURN_VEHICLE))
{ {
DoPlayerTurnVehicle(pp, input.avel, pp->pos.Z + Z(10), labs(pp->pos.Z + Z(10) - pp->sop->floor_loz)); DoPlayerTurnVehicle(pp, input.avel, pp->__int_ppos.Z + Z(10), labs(pp->__int_ppos.Z + Z(10) - pp->sop->floor_loz));
} }
if ((pp->Flags2 & PF2_INPUT_CAN_TURN_TURRET)) if ((pp->Flags2 & PF2_INPUT_CAN_TURN_TURRET))

View file

@ -429,8 +429,8 @@ JS_ProcessEchoSpot()
{ {
dist = 0x7fffffff; dist = 0x7fffffff;
j = abs(actor->int_pos().X - pp->pos.X); j = abs(actor->int_pos().X - pp->__int_ppos.X);
j += abs(actor->int_pos().Y - pp->pos.Y); j += abs(actor->int_pos().Y - pp->__int_ppos.Y);
if (j < dist) if (j < dist)
dist = j; dist = j;
@ -612,7 +612,7 @@ void JS_DrawCameras(PLAYER* pp, int tx, int ty, int tz, double smoothratio)
// If player is dead still then update at MoveSkip4 // If player is dead still then update at MoveSkip4
// rate. // rate.
if (pp->pos.X == pp->opos.X && pp->pos.Y == pp->opos.Y && pp->pos.Z == pp->opos.Z) if (pp->__int_ppos.X == pp->__int_popos.X && pp->__int_ppos.Y == pp->__int_popos.Y && pp->__int_ppos.Z == pp->__int_popos.Z)
DoCam = true; DoCam = true;
@ -626,7 +626,7 @@ void JS_DrawCameras(PLAYER* pp, int tx, int ty, int tz, double smoothratio)
if (TEST_BOOL11(camactor) && numplayers > 1) if (TEST_BOOL11(camactor) && numplayers > 1)
{ {
drawroomstotile(cp->pos.X, cp->pos.Y, cp->pos.Z, cp->angle.ang, cp->horizon.horiz, cp->cursector, mirror[cnt].campic, smoothratio); drawroomstotile(cp->__int_ppos.X, cp->__int_ppos.Y, cp->__int_ppos.Z, cp->angle.ang, cp->horizon.horiz, cp->cursector, mirror[cnt].campic, smoothratio);
} }
else else
{ {

View file

@ -1242,9 +1242,9 @@ int PlayerInitChemBomb(PLAYER* pp)
if (!pp->insector()) if (!pp->insector())
return 0; return 0;
nx = pp->pos.X; nx = pp->__int_ppos.X;
ny = pp->pos.Y; ny = pp->__int_ppos.Y;
nz = pp->pos.Z + pp->bob_z + Z(8); nz = pp->__int_ppos.Z + pp->bob_z + Z(8);
// Spawn a shot // Spawn a shot
// Inserting and setting up variables // Inserting and setting up variables
@ -1615,9 +1615,9 @@ int PlayerInitCaltrops(PLAYER* pp)
if (!pp->insector()) if (!pp->insector())
return 0; return 0;
nx = pp->pos.X; nx = pp->__int_ppos.X;
ny = pp->pos.Y; ny = pp->__int_ppos.Y;
nz = pp->pos.Z + pp->bob_z + Z(8); nz = pp->__int_ppos.Z + pp->bob_z + Z(8);
auto actorNew = SpawnActor(STAT_DEAD_ACTOR, CALTROPS, s_Caltrops, pp->cursector, auto actorNew = SpawnActor(STAT_DEAD_ACTOR, CALTROPS, s_Caltrops, pp->cursector,
nx, ny, nz, pp->angle.ang.Buildang(), (CHEMBOMB_VELOCITY + RandomRange(CHEMBOMB_VELOCITY)) / 2); nx, ny, nz, pp->angle.ang.Buildang(), (CHEMBOMB_VELOCITY + RandomRange(CHEMBOMB_VELOCITY)) / 2);

View file

@ -58,7 +58,7 @@ Collision MultiClipMove(PLAYER* pp, int z, int floor_dist)
// allowing you to move through wall // allowing you to move through wall
ang = NORM_ANGLE(pp->angle.ang.Buildang() + sop->clipbox_ang[i]); ang = NORM_ANGLE(pp->angle.ang.Buildang() + sop->clipbox_ang[i]);
vec3_t spos = { pp->pos.X, pp->pos.Y, z }; vec3_t spos = { pp->__int_ppos.X, pp->__int_ppos.Y, z };
xvect = sop->clipbox_vdist[i] * bcos(ang); xvect = sop->clipbox_vdist[i] * bcos(ang);
yvect = sop->clipbox_vdist[i] * bsin(ang); yvect = sop->clipbox_vdist[i] * bsin(ang);
@ -71,8 +71,8 @@ Collision MultiClipMove(PLAYER* pp, int z, int floor_dist)
min_dist = 0; min_dist = 0;
min_ndx = i; min_ndx = i;
// ox is where it should be // ox is where it should be
opos[i].X = pos[i].X = pp->pos.X + MulScale(sop->clipbox_vdist[i], bcos(ang), 14); opos[i].X = pos[i].X = pp->__int_ppos.X + MulScale(sop->clipbox_vdist[i], bcos(ang), 14);
opos[i].Y = pos[i].Y = pp->pos.Y + MulScale(sop->clipbox_vdist[i], bsin(ang), 14); opos[i].Y = pos[i].Y = pp->__int_ppos.Y + MulScale(sop->clipbox_vdist[i], bsin(ang), 14);
// spos.x is where it hit // spos.x is where it hit
pos[i].X = spos.X; pos[i].X = spos.X;
@ -111,8 +111,8 @@ Collision MultiClipMove(PLAYER* pp, int z, int floor_dist)
} }
// put posx and y off from offset // put posx and y off from offset
pp->pos.X += pos[min_ndx].X - opos[min_ndx].X; pp->__int_ppos.X += pos[min_ndx].X - opos[min_ndx].X;
pp->pos.Y += pos[min_ndx].Y - opos[min_ndx].Y; pp->__int_ppos.Y += pos[min_ndx].Y - opos[min_ndx].Y;
return min_ret; return min_ret;
} }
@ -131,7 +131,7 @@ short MultiClipTurn(PLAYER* pp, short new_ang, int z, int floor_dist)
{ {
ang = NORM_ANGLE(new_ang + sop->clipbox_ang[i]); ang = NORM_ANGLE(new_ang + sop->clipbox_ang[i]);
vec3_t pos = { pp->pos.X, pp->pos.Y, z }; vec3_t pos = { pp->__int_ppos.X, pp->__int_ppos.Y, z };
xvect = sop->clipbox_vdist[i] * bcos(ang); xvect = sop->clipbox_vdist[i] * bcos(ang);
yvect = sop->clipbox_vdist[i] * bsin(ang); yvect = sop->clipbox_vdist[i] * bsin(ang);
@ -201,8 +201,8 @@ int RectClipMove(PLAYER* pp, int *qx, int *qy)
//Given the 4 points: x[4], y[4] //Given the 4 points: x[4], y[4]
if (testquadinsect(&point_num, xy, pp->cursector)) if (testquadinsect(&point_num, xy, pp->cursector))
{ {
pp->pos.X += (pp->vect.X>>14); pp->__int_ppos.X += (pp->vect.X>>14);
pp->pos.Y += (pp->vect.Y>>14); pp->__int_ppos.Y += (pp->vect.Y>>14);
return true; return true;
} }
@ -218,8 +218,8 @@ int RectClipMove(PLAYER* pp, int *qx, int *qy)
} }
if (testquadinsect(&point_num, xy, pp->cursector)) if (testquadinsect(&point_num, xy, pp->cursector))
{ {
pp->pos.X -= (pp->vect.Y>>15); pp->__int_ppos.X -= (pp->vect.Y>>15);
pp->pos.Y += (pp->vect.X>>15); pp->__int_ppos.Y += (pp->vect.X>>15);
} }
return false; return false;
@ -234,8 +234,8 @@ int RectClipMove(PLAYER* pp, int *qx, int *qy)
} }
if (testquadinsect(&point_num, xy, pp->cursector)) if (testquadinsect(&point_num, xy, pp->cursector))
{ {
pp->pos.X += (pp->vect.Y>>15); pp->__int_ppos.X += (pp->vect.Y>>15);
pp->pos.Y -= (pp->vect.X>>15); pp->__int_ppos.Y -= (pp->vect.X>>15);
} }
return false; return false;
@ -277,7 +277,7 @@ short RectClipTurn(PLAYER* pp, short new_ang, int *qx, int *qy, int *ox, int *oy
for (i = 0; i < 4; i++) for (i = 0; i < 4; i++)
{ {
vec2_t const p = { ox[i], oy[i] }; vec2_t const p = { ox[i], oy[i] };
rotatepoint(pp->pos.vec2, p, rot_ang, &xy[i]); rotatepoint(pp->__int_ppos.vec2, p, rot_ang, &xy[i]);
// cannot use sop->xmid and ymid because the SO is off the map at this point // cannot use sop->xmid and ymid because the SO is off the map at this point
//rotatepoint(&sop->xmid, p, rot_ang, &xy[i]); //rotatepoint(&sop->xmid, p, rot_ang, &xy[i]);
} }

View file

@ -2324,8 +2324,8 @@ void InitPlayerSprite(PLAYER* pp)
COVER_SetReverb(0); // Turn off any echoing that may have been going before COVER_SetReverb(0); // Turn off any echoing that may have been going before
pp->Reverb = 0; pp->Reverb = 0;
auto actor = SpawnActor(STAT_PLAYER0 + pnum, NINJA_RUN_R0, nullptr, pp->cursector, pp->pos.X, auto actor = SpawnActor(STAT_PLAYER0 + pnum, NINJA_RUN_R0, nullptr, pp->cursector, pp->__int_ppos.X,
pp->pos.Y, pp->pos.Z, pp->angle.ang.Buildang(), 0); pp->__int_ppos.Y, pp->__int_ppos.Z, pp->angle.ang.Buildang(), 0);
pp->actor = actor; pp->actor = actor;
pp->pnum = pnum; pp->pnum = pnum;
@ -2393,7 +2393,7 @@ void SpawnPlayerUnderSprite(PLAYER* pp)
int pnum = int(pp - Player); int pnum = int(pp - Player);
pp->PlayerUnderActor = SpawnActor(STAT_PLAYER_UNDER0 + pnum, pp->PlayerUnderActor = SpawnActor(STAT_PLAYER_UNDER0 + pnum,
NINJA_RUN_R0, nullptr, pp->cursector, pp->pos.X, pp->pos.Y, pp->pos.Z, pp->angle.ang.Buildang(), 0); NINJA_RUN_R0, nullptr, pp->cursector, pp->__int_ppos.X, pp->__int_ppos.Y, pp->__int_ppos.Z, pp->angle.ang.Buildang(), 0);
DSWActor* actor = pp->PlayerUnderActor; DSWActor* actor = pp->PlayerUnderActor;

View file

@ -50,9 +50,9 @@ BEGIN_SW_NS
void GameInterface::WarpToCoords(int x, int y, int z, int ang, int horz) void GameInterface::WarpToCoords(int x, int y, int z, int ang, int horz)
{ {
Player->opos.X = Player->pos.X = x; Player->__int_popos.X = Player->__int_ppos.X = x;
Player->opos.Y = Player->pos.Y = y; Player->__int_popos.Y = Player->__int_ppos.Y = y;
Player->opos.Z = Player->pos.Z = z; Player->__int_popos.Z = Player->__int_ppos.Z = z;
if (ang != INT_MIN) if (ang != INT_MIN)
{ {

File diff suppressed because it is too large Load diff

View file

@ -172,7 +172,7 @@ void QuakeViewChange(PLAYER* pp, int *z_diff, int *x_diff, int *y_diff, short *a
SWStatIterator it(STAT_QUAKE_ON); SWStatIterator it(STAT_QUAKE_ON);
while ((actor = it.Next())) while ((actor = it.Next()))
{ {
dist = FindDistance3D(pp->pos - actor->int_pos()); dist = FindDistance3D(pp->__int_ppos - actor->int_pos());
// shake whole level // shake whole level
if (QUAKE_TestDontTaper(actor)) if (QUAKE_TestDontTaper(actor))
@ -242,7 +242,7 @@ void SpawnQuake(sectortype* sect, int x, int y, int z,
bool SetQuake(PLAYER* pp, short tics, short amt) bool SetQuake(PLAYER* pp, short tics, short amt)
{ {
SpawnQuake(pp->cursector, pp->pos.X, pp->pos.Y, pp->pos.Z, tics, amt, 30000); SpawnQuake(pp->cursector, pp->__int_ppos.X, pp->__int_ppos.Y, pp->__int_ppos.Z, tics, amt, 30000);
return false; return false;
} }
@ -260,7 +260,7 @@ int SetGunQuake(DSWActor* actor)
int SetPlayerQuake(PLAYER* pp) int SetPlayerQuake(PLAYER* pp)
{ {
SpawnQuake(pp->cursector, pp->pos.X, pp->pos.Y, pp->pos.Z, 40, 8, 40000); SpawnQuake(pp->cursector, pp->__int_ppos.X, pp->__int_ppos.Y, pp->__int_ppos.Z, 40, 8, 40000);
return 0; return 0;
} }

View file

@ -436,9 +436,9 @@ FSerializer& Serialize(FSerializer& arc, const char* keyname, PLAYER& w, PLAYER*
{ {
if (arc.BeginObject(keyname)) if (arc.BeginObject(keyname))
{ {
arc("x", w.pos.X) arc("x", w.__int_ppos.X)
("y", w.pos.Y) ("y", w.__int_ppos.Y)
("z", w.pos.Z) ("z", w.__int_ppos.Z)
("lv_sectnum", w.lv_sector) ("lv_sectnum", w.lv_sector)
("lv_x", w.lv.X) ("lv_x", w.lv.X)
("lv_y", w.lv.Y) ("lv_y", w.lv.Y)
@ -489,9 +489,9 @@ FSerializer& Serialize(FSerializer& arc, const char* keyname, PLAYER& w, PLAYER*
("recoil_ndx", w.recoil_ndx) ("recoil_ndx", w.recoil_ndx)
("recoil_horizoff", w.recoil_horizoff) ("recoil_horizoff", w.recoil_horizoff)
("recoil_ohorizoff", w.recoil_ohorizoff) ("recoil_ohorizoff", w.recoil_ohorizoff)
("oldposx", w.oldpos.X) ("oldposx", w.__int_poldpos.X)
("oldposy", w.oldpos.Y) ("oldposy", w.__int_poldpos.Y)
("oldposz", w.oldpos.Z) ("oldposz", w.__int_poldpos.Z)
("revolvex", w.Revolve.X) ("revolvex", w.Revolve.X)
("revolvey", w.Revolve.Y) ("revolvey", w.Revolve.Y)
("RevolveDeltaAng", w.RevolveDeltaAng) ("RevolveDeltaAng", w.RevolveDeltaAng)
@ -580,9 +580,9 @@ FSerializer& Serialize(FSerializer& arc, const char* keyname, PLAYER& w, PLAYER*
} }
if (arc.isReading()) if (arc.isReading())
{ {
w.opos.X = w.pos.X; w.__int_popos.X = w.__int_ppos.X;
w.opos.Y = w.pos.X; w.__int_popos.Y = w.__int_ppos.X;
w.opos.Z = w.pos.X; w.__int_popos.Z = w.__int_ppos.X;
w.oz_speed = w.z_speed; w.oz_speed = w.z_speed;
w.ovect.X = w.vect.X; w.ovect.X = w.vect.X;
w.ovect.Y = w.vect.Y; w.ovect.Y = w.vect.Y;

View file

@ -1385,7 +1385,7 @@ int OperateSprite(DSWActor* actor, short player_is_operating)
{ {
pp = GlobPlayerP; pp = GlobPlayerP;
if (!FAFcansee(pp->pos.X, pp->pos.Y, pp->pos.Z, pp->cursector, actor->int_pos().X, actor->int_pos().Y, actor->int_pos().Z - (ActorSizeZ(actor) >> 1), actor->sector())) if (!FAFcansee(pp->__int_ppos.X, pp->__int_ppos.Y, pp->__int_ppos.Z, pp->cursector, actor->int_pos().X, actor->int_pos().Y, actor->int_pos().Z - (ActorSizeZ(actor) >> 1), actor->sector()))
return false; return false;
} }
@ -1842,7 +1842,7 @@ void OperateTripTrigger(PLAYER* pp)
{ {
if (actor->user.Flags & (SPR_WAIT_FOR_TRIGGER)) if (actor->user.Flags & (SPR_WAIT_FOR_TRIGGER))
{ {
if (Distance(actor->int_pos().X, actor->int_pos().Y, pp->pos.X, pp->pos.Y) < dist) if (Distance(actor->int_pos().X, actor->int_pos().Y, pp->__int_ppos.X, pp->__int_ppos.Y) < dist)
{ {
actor->user.targetActor = pp->actor; actor->user.targetActor = pp->actor;
actor->user.Flags &= ~(SPR_WAIT_FOR_TRIGGER); actor->user.Flags &= ~(SPR_WAIT_FOR_TRIGGER);
@ -1939,7 +1939,7 @@ bool NearThings(PLAYER* pp)
return false; return false;
} }
neartag(pp->pos, pp->cursector, pp->angle.ang.Buildang(), near, 1024, NTAG_SEARCH_LO_HI); neartag(pp->__int_ppos, pp->cursector, pp->angle.ang.Buildang(), near, 1024, NTAG_SEARCH_LO_HI);
// hit a sprite? Check to see if it has sound info in it! // hit a sprite? Check to see if it has sound info in it!
@ -1973,7 +1973,7 @@ bool NearThings(PLAYER* pp)
HitInfo hit{}; HitInfo hit{};
short dang = pp->angle.ang.Buildang(); short dang = pp->angle.ang.Buildang();
FAFhitscan(pp->pos.X, pp->pos.Y, pp->pos.Z - Z(30), pp->cursector, // Start position FAFhitscan(pp->__int_ppos.X, pp->__int_ppos.Y, pp->__int_ppos.Z - Z(30), pp->cursector, // Start position
bcos(dang), // X vector of 3D ang bcos(dang), // X vector of 3D ang
bsin(dang), // Y vector of 3D ang bsin(dang), // Y vector of 3D ang
0, // Z vector of 3D ang 0, // Z vector of 3D ang
@ -1982,7 +1982,7 @@ bool NearThings(PLAYER* pp)
if (hit.hitSector == nullptr) if (hit.hitSector == nullptr)
return false; return false;
if (Distance(hit.int_hitpos().X, hit.int_hitpos().Y, pp->pos.X, pp->pos.Y) > 1500) if (Distance(hit.int_hitpos().X, hit.int_hitpos().Y, pp->__int_ppos.X, pp->__int_ppos.Y) > 1500)
return false; return false;
// hit a sprite? // hit a sprite?
@ -2019,7 +2019,7 @@ void NearTagList(NEAR_TAG_INFO* ntip, PLAYER* pp, int z, int dist, int type, int
HitInfo near; HitInfo near;
neartag({ pp->pos.X, pp->pos.Y, z }, pp->cursector, pp->angle.ang.Buildang(), near, dist, type); neartag({ pp->__int_ppos.X, pp->__int_ppos.Y, z }, pp->cursector, pp->angle.ang.Buildang(), near, dist, type);
if (near.hitSector != nullptr) if (near.hitSector != nullptr)
{ {
@ -2133,7 +2133,7 @@ int DoPlayerGrabStar(PLAYER* pp)
auto actor = StarQueue[i]; auto actor = StarQueue[i];
if (actor != nullptr) if (actor != nullptr)
{ {
if (FindDistance3D(actor->int_pos().X - pp->pos.X, actor->int_pos().Y - pp->pos.Y, actor->int_pos().Z - pp->pos.Z + Z(12)) < 500) if (FindDistance3D(actor->int_pos().X - pp->__int_ppos.X, actor->int_pos().Y - pp->__int_ppos.Y, actor->int_pos().Z - pp->__int_ppos.Z + Z(12)) < 500)
{ {
break; break;
} }
@ -2187,7 +2187,7 @@ void PlayerOperateEnv(PLAYER* pp)
NearThings(pp); // Check for player sound specified in a level sprite NearThings(pp); // Check for player sound specified in a level sprite
} }
BuildNearTagList(nti, sizeof(nti), pp, pp->pos.Z, 2048L, NTAG_SEARCH_LO_HI, 8); BuildNearTagList(nti, sizeof(nti), pp, pp->__int_ppos.Z, 2048L, NTAG_SEARCH_LO_HI, 8);
found = false; found = false;
@ -2670,7 +2670,7 @@ void DoSector(void)
} }
else else
{ {
DISTANCE(pp->pos.X, pp->pos.Y, sop->int_pmid().X, sop->int_pmid().Y, dist, a, b, c); DISTANCE(pp->__int_ppos.X, pp->__int_ppos.Y, sop->int_pmid().X, sop->int_pmid().Y, dist, a, b, c);
if (dist < min_dist) if (dist < min_dist)
min_dist = dist; min_dist = dist;
} }

View file

@ -122,9 +122,9 @@ short SoundDist(int x, int y, int z, int basedist)
double sqrdist, retval; double sqrdist, retval;
extern short screenpeek; extern short screenpeek;
tx = fabs(Player[screenpeek].pos.X - x); tx = fabs(Player[screenpeek].__int_ppos.X - x);
ty = fabs(Player[screenpeek].pos.Y - y); ty = fabs(Player[screenpeek].__int_ppos.Y - y);
tz = fabs((Player[screenpeek].pos.Z - z) >> 4); tz = fabs((Player[screenpeek].__int_ppos.Z - z) >> 4);
// Use the Pythagreon Theorem to compute the magnitude of a 3D vector // Use the Pythagreon Theorem to compute the magnitude of a 3D vector
sqrdist = fabs(tx * tx + ty * ty + tz * tz); sqrdist = fabs(tx * tx + ty * ty + tz * tz);
@ -380,7 +380,7 @@ static void UpdateAmbients()
if (sdist < 255 && amb->vocIndex == DIGI_WHIPME) if (sdist < 255 && amb->vocIndex == DIGI_WHIPME)
{ {
PLAYER* pp = Player + screenpeek; PLAYER* pp = Player + screenpeek;
if (!FAFcansee(spot->int_pos().X, spot->int_pos().Y, spot->int_pos().Z, spot->sector(), pp->pos.X, pp->pos.Y, pp->pos.Z, pp->cursector)) if (!FAFcansee(spot->int_pos().X, spot->int_pos().Y, spot->int_pos().Z, spot->sector(), pp->__int_ppos.X, pp->__int_ppos.Y, pp->__int_ppos.Z, pp->cursector))
{ {
sdist = 255; sdist = 255;
} }
@ -519,7 +519,7 @@ void SWSoundEngine::CalcPosVel(int type, const void* source, const float pt[3],
if (pos != nullptr) if (pos != nullptr)
{ {
PLAYER* pp = Player + screenpeek; PLAYER* pp = Player + screenpeek;
FVector3 campos = GetSoundPos(pp->pos); FVector3 campos = GetSoundPos(pp->__int_ppos);
vec3_t vpos = {}; vec3_t vpos = {};
bool pancheck = false; bool pancheck = false;
@ -533,7 +533,7 @@ void SWSoundEngine::CalcPosVel(int type, const void* source, const float pt[3],
} }
else if (type == SOURCE_Actor || type == SOURCE_Player) else if (type == SOURCE_Actor || type == SOURCE_Player)
{ {
vpos = type == SOURCE_Actor ? ((DSWActor*)source)->spr.int_pos() : ((PLAYER*)source)->pos; vpos = type == SOURCE_Actor ? ((DSWActor*)source)->spr.int_pos() : ((PLAYER*)source)->__int_ppos;
pancheck = true; pancheck = true;
FVector3 npos = GetSoundPos(vpos); FVector3 npos = GetSoundPos(vpos);
@ -562,7 +562,7 @@ void SWSoundEngine::CalcPosVel(int type, const void* source, const float pt[3],
// Can the ambient sound see the player? If not, tone it down some. // Can the ambient sound see the player? If not, tone it down some.
if ((chanflags & CHANF_LOOP)) if ((chanflags & CHANF_LOOP))
{ {
if (!FAFcansee(vpos.X, vpos.Y, vpos.Z, spot->sector(), pp->pos.X, pp->pos.Y, pp->pos.Z, pp->cursector)) if (!FAFcansee(vpos.X, vpos.Y, vpos.Z, spot->sector(), pp->__int_ppos.X, pp->__int_ppos.Y, pp->__int_ppos.Z, pp->cursector))
{ {
auto distvec = npos - campos; auto distvec = npos - campos;
npos = campos + distvec * 1.75f; // Play more quietly npos = campos + distvec * 1.75f; // Play more quietly
@ -605,13 +605,13 @@ void GameInterface::UpdateSounds(void)
if (TEST_BOOL1(rsp)) if (TEST_BOOL1(rsp))
tang = rsp->spr.angle; tang = rsp->spr.angle;
else else
tang = VecToAngle(pp->sop_remote->int_pmid().X - pp->pos.X, pp->sop_remote->int_pmid().Y - pp->pos.Y); tang = VecToAngle(pp->sop_remote->int_pmid().X - pp->__int_ppos.X, pp->sop_remote->int_pmid().Y - pp->__int_ppos.Y);
} }
else tang = pp->angle.ang; else tang = pp->angle.ang;
listener.angle = float(-tang.Radians()); listener.angle = float(-tang.Radians());
listener.velocity.Zero(); listener.velocity.Zero();
listener.position = GetSoundPos(pp->pos); listener.position = GetSoundPos(pp->__int_ppos);
listener.underwater = false; listener.underwater = false;
// This should probably use a real environment instead of the pitch hacking in S_PlaySound3D. // This should probably use a real environment instead of the pitch hacking in S_PlaySound3D.
// listenactor->waterlevel == 3; // listenactor->waterlevel == 3;
@ -654,7 +654,7 @@ int _PlaySound(int num, DSWActor* actor, PLAYER* pp, const vec3_t* const ppos, i
} }
else if (pp && !ppos) else if (pp && !ppos)
{ {
pos = pp->pos; pos = pp->__int_ppos;
pp = nullptr; pp = nullptr;
} }
} }

View file

@ -1469,10 +1469,10 @@ void PreMapCombineFloors(void)
{ {
if (itsect == dasect) if (itsect == dasect)
{ {
pp->pos.X += dx; pp->__int_ppos.X += dx;
pp->pos.Y += dy; pp->__int_ppos.Y += dy;
pp->opos.X = pp->oldpos.X = pp->pos.X; pp->__int_popos.X = pp->__int_poldpos.X = pp->__int_ppos.X;
pp->opos.Y = pp->oldpos.Y = pp->pos.Y; pp->__int_popos.Y = pp->__int_poldpos.Y = pp->__int_ppos.Y;
break; break;
} }
} }
@ -5024,7 +5024,7 @@ int DoGet(DSWActor* actor)
if (pp->Flags & (PF_DEAD)) if (pp->Flags & (PF_DEAD))
continue; continue;
DISTANCE(pp->pos.X, pp->pos.Y, actor->int_pos().X, actor->int_pos().Y, dist, a,b,c); DISTANCE(pp->__int_ppos.X, pp->__int_ppos.Y, actor->int_pos().X, actor->int_pos().Y, dist, a,b,c);
if ((unsigned)dist > (plActor->user.Radius + actor->user.Radius)) if ((unsigned)dist > (plActor->user.Radius + actor->user.Radius))
{ {
continue; continue;
@ -5038,7 +5038,7 @@ int DoGet(DSWActor* actor)
auto cstat_bak = actor->spr.cstat; auto cstat_bak = actor->spr.cstat;
actor->spr.cstat |= (CSTAT_SPRITE_BLOCK|CSTAT_SPRITE_BLOCK_HITSCAN); actor->spr.cstat |= (CSTAT_SPRITE_BLOCK|CSTAT_SPRITE_BLOCK_HITSCAN);
can_see = FAFcansee(actor->int_pos().X, actor->int_pos().Y, actor->int_pos().Z, actor->sector(), can_see = FAFcansee(actor->int_pos().X, actor->int_pos().Y, actor->int_pos().Z, actor->sector(),
pp->pos.X, pp->pos.Y, pp->pos.Z, pp->cursector); pp->__int_ppos.X, pp->__int_ppos.Y, pp->__int_ppos.Z, pp->cursector);
actor->spr.cstat = cstat_bak; actor->spr.cstat = cstat_bak;
if (!can_see) if (!can_see)
@ -6059,7 +6059,7 @@ void SpriteControl(void)
pp = &Player[pnum]; pp = &Player[pnum];
// Only update the ones closest // Only update the ones closest
DISTANCE(pp->pos.X, pp->pos.Y, actor->int_pos().X, actor->int_pos().Y, dist, tx, ty, tmin); DISTANCE(pp->__int_ppos.X, pp->__int_ppos.Y, actor->int_pos().X, actor->int_pos().Y, dist, tx, ty, tmin);
AdjustActiveRange(pp, actor, dist); AdjustActiveRange(pp, actor, dist);

View file

@ -765,7 +765,7 @@ void BossHealthMeter(void)
DSWActor* actor = BossSpriteNum[i]; DSWActor* actor = BossSpriteNum[i];
if (actor != nullptr && !bosswasseen[i]) if (actor != nullptr && !bosswasseen[i])
{ {
if (cansee(actor->int_pos().X, actor->int_pos().Y, ActorZOfTop(actor), actor->sector(), pp->pos.X, pp->pos.Y, pp->pos.Z - Z(40), pp->cursector)) if (cansee(actor->int_pos().X, actor->int_pos().Y, ActorZOfTop(actor), actor->sector(), pp->__int_ppos.X, pp->__int_ppos.Y, pp->__int_ppos.Z - Z(40), pp->cursector))
{ {
if (i == 0 && !bosswasseen[0]) if (i == 0 && !bosswasseen[0])
{ {

View file

@ -1513,15 +1513,15 @@ void MovePlayer(PLAYER* pp, SECTOR_OBJECT* sop, int nx, int ny)
pp->Flags |= (PF_PLAYER_RIDING); pp->Flags |= (PF_PLAYER_RIDING);
pp->RevolveAng = pp->angle.ang; pp->RevolveAng = pp->angle.ang;
pp->Revolve.X = pp->pos.X; pp->Revolve.X = pp->__int_ppos.X;
pp->Revolve.Y = pp->pos.Y; pp->Revolve.Y = pp->__int_ppos.Y;
// set the delta angle to 0 when moving // set the delta angle to 0 when moving
pp->RevolveDeltaAng = nullAngle; pp->RevolveDeltaAng = nullAngle;
} }
pp->pos.X += nx; pp->__int_ppos.X += nx;
pp->pos.Y += ny; pp->__int_ppos.Y += ny;
if ((sop->flags & SOBJ_DONT_ROTATE)) if ((sop->flags & SOBJ_DONT_ROTATE))
{ {
@ -1537,8 +1537,8 @@ void MovePlayer(PLAYER* pp, SECTOR_OBJECT* sop, int nx, int ny)
// moving then you // moving then you
// know where he was last // know where he was last
pp->RevolveAng = pp->angle.ang; pp->RevolveAng = pp->angle.ang;
pp->Revolve.X = pp->pos.X; pp->Revolve.X = pp->__int_ppos.X;
pp->Revolve.Y = pp->pos.Y; pp->Revolve.Y = pp->__int_ppos.Y;
// set the delta angle to 0 when moving // set the delta angle to 0 when moving
pp->RevolveDeltaAng = nullAngle; pp->RevolveDeltaAng = nullAngle;
@ -1558,7 +1558,7 @@ void MovePlayer(PLAYER* pp, SECTOR_OBJECT* sop, int nx, int ny)
// increment Players delta angle // increment Players delta angle
pp->RevolveDeltaAng = (pp->RevolveDeltaAng + GlobSpeedSO).Normalized360(); pp->RevolveDeltaAng = (pp->RevolveDeltaAng + GlobSpeedSO).Normalized360();
rotatepoint(sop->int_pmid().vec2, *(vec2_t *)&pp->Revolve.X, pp->RevolveDeltaAng.Buildang(), &pp->pos.vec2); rotatepoint(sop->int_pmid().vec2, *(vec2_t *)&pp->Revolve.X, pp->RevolveDeltaAng.Buildang(), &pp->__int_ppos.vec2);
// THIS WAS CAUSING PROLEMS!!!! // THIS WAS CAUSING PROLEMS!!!!
// Sectors are still being manipulated so you can end up in a void (-1) sector // Sectors are still being manipulated so you can end up in a void (-1) sector
@ -1774,7 +1774,7 @@ PlayerPart:
// prevents you from falling into map HOLEs created by moving // prevents you from falling into map HOLEs created by moving
// Sectors and sprites around. // Sectors and sprites around.
//if (!SO_EMPTY(sop)) //if (!SO_EMPTY(sop))
updatesector(pp->pos.X, pp->pos.Y, &pp->cursector); updatesector(pp->__int_ppos.X, pp->__int_ppos.Y, &pp->cursector);
// in case you are in a whirlpool // in case you are in a whirlpool
// move perfectly with the ride in the z direction // move perfectly with the ride in the z direction
@ -1783,7 +1783,7 @@ PlayerPart:
// move up some for really fast moving plats // move up some for really fast moving plats
//pp->posz -= PLAYER_HEIGHT + Z(12); //pp->posz -= PLAYER_HEIGHT + Z(12);
DoPlayerZrange(pp); DoPlayerZrange(pp);
pp->pos.Z = pp->loz - PLAYER_CRAWL_HEIGHT; pp->__int_ppos.Z = pp->loz - PLAYER_CRAWL_HEIGHT;
pp->actor->set_int_z(pp->loz); pp->actor->set_int_z(pp->loz);
} }
else else
@ -1794,7 +1794,7 @@ PlayerPart:
if (!(pp->Flags & (PF_JUMPING | PF_FALLING | PF_FLYING))) if (!(pp->Flags & (PF_JUMPING | PF_FALLING | PF_FLYING)))
{ {
pp->pos.Z = pp->loz - PLAYER_HEIGHT; pp->__int_ppos.Z = pp->loz - PLAYER_HEIGHT;
pp->actor->set_int_z(pp->loz); pp->actor->set_int_z(pp->loz);
} }
} }
@ -3404,7 +3404,7 @@ int ActorFollowTrack(DSWActor* actor, short locktics)
{ {
pp = &Player[pnum]; pp = &Player[pnum];
if (Distance(actor->int_pos().X, actor->int_pos().Y, pp->pos.X, pp->pos.Y) < actor->user.Dist) if (Distance(actor->int_pos().X, actor->int_pos().Y, pp->__int_ppos.X, pp->__int_ppos.Y) < actor->user.Dist)
{ {
actor->user.targetActor = pp->actor; actor->user.targetActor = pp->actor;
actor->user.Flags &= ~(SPR_WAIT_FOR_PLAYER); actor->user.Flags &= ~(SPR_WAIT_FOR_PLAYER);

View file

@ -110,7 +110,7 @@ void VisViewChange(PLAYER* pp, int *vis)
} }
// save off the brightest vis that you can see // save off the brightest vis that you can see
if (FAFcansee(pp->pos.X, pp->pos.Y, pp->pos.Z, pp->cursector, x, y, z, sectp)) if (FAFcansee(pp->__int_ppos.X, pp->__int_ppos.Y, pp->__int_ppos.Z, pp->cursector, x, y, z, sectp))
{ {
if (VIS_VisCur(actor) < BrightestVis) if (VIS_VisCur(actor) < BrightestVis)
BrightestVis = VIS_VisCur(actor); BrightestVis = VIS_VisCur(actor);

View file

@ -7254,7 +7254,7 @@ int DoExpDamageTest(DSWActor* actor)
// Second parameter MUST have blocking bits set or cansee won't work // Second parameter MUST have blocking bits set or cansee won't work
// added second check for FAF water - hitscans were hitting ceiling // added second check for FAF water - hitscans were hitting ceiling
if (!FAFcansee(actor->int_pos().X, actor->int_pos().Y, actor->int_pos().Z, actor->sector(), itActor->int_pos().X, itActor->int_pos().Y, ActorUpperZ(actor), itActor->sector()) && if (!FAFcansee(actor->int_pos().X, actor->int_pos().Y, actor->int_pos().Z, actor->sector(), itActor->int_pos().X, itActor->int_pos().Y, ActorUpperZ(actor), itActor->sector()) &&
!FAFcansee(actor->int_pos().X, actor->int_pos().Y, actor->int_pos().Z, actor->sector(), itActor->int_pos().X, itActor->int_pos().Y, ActorLowerZ(actor), itActor->sector())) !FAFcansee(actor->int_pos().X, actor->int_pos().Y, actor->int_pos().Z, actor->sector(), itActor->int_pos().X, itActor->int_pos().Y, int_ActorLowerZ(actor), itActor->sector()))
continue; continue;
DoDamage(itActor, actor); DoDamage(itActor, actor);
@ -11150,7 +11150,7 @@ int DoRing(DSWActor* actor)
int z; int z;
// move the center with the player // move the center with the player
if (pp) if (pp)
z = pp->pos.Z + Z(20); z = pp->__int_ppos.Z + Z(20);
else else
z = int_ActorZOfMiddle(own) + Z(30); z = int_ActorZOfMiddle(own) + Z(30);
@ -11236,7 +11236,7 @@ void InitSpellRing(PLAYER* pp)
for (missiles = 0, ang = ang_start; missiles < max_missiles; ang += ang_diff, missiles++) for (missiles = 0, ang = ang_start; missiles < max_missiles; ang += ang_diff, missiles++)
{ {
auto actorNew = SpawnActor(STAT_MISSILE_SKIP4, FIREBALL1, s_Ring, pp->cursector, pp->pos.X, pp->pos.Y, pp->pos.Z, ang, 0); auto actorNew = SpawnActor(STAT_MISSILE_SKIP4, FIREBALL1, s_Ring, pp->cursector, pp->__int_ppos.X, pp->__int_ppos.Y, pp->__int_ppos.Z, ang, 0);
actorNew->spr.hitag = LUMINOUS; //Always full brightness actorNew->spr.hitag = LUMINOUS; //Always full brightness
actorNew->spr.xvel = 500; actorNew->spr.xvel = 500;
@ -11255,7 +11255,7 @@ void InitSpellRing(PLAYER* pp)
// put it out there // put it out there
actorNew->add_int_pos({ MulScale(actorNew->user.Dist, bcos(actorNew->int_ang()), 14), MulScale(actorNew->user.Dist, bsin(actorNew->int_ang()), 14), actorNew->add_int_pos({ MulScale(actorNew->user.Dist, bcos(actorNew->int_ang()), 14), MulScale(actorNew->user.Dist, bsin(actorNew->int_ang()), 14),
pp->pos.Z + Z(20) + ((actorNew->user.Dist * (-pp->horizon.horiz.asq16() >> 9)) >> 9) }); pp->__int_ppos.Z + Z(20) + ((actorNew->user.Dist * (-pp->horizon.horiz.asq16() >> 9)) >> 9) });
actorNew->set_int_ang(NORM_ANGLE(actorNew->int_ang() + 512)); actorNew->set_int_ang(NORM_ANGLE(actorNew->int_ang() + 512));
@ -11583,7 +11583,7 @@ void InitSpellNapalm(PLAYER* pp)
for (i = 0; i < SIZ(mp); i++) for (i = 0; i < SIZ(mp); i++)
{ {
auto actor = SpawnActor(STAT_MISSILE, FIREBALL1, s_Napalm, pp->cursector, auto actor = SpawnActor(STAT_MISSILE, FIREBALL1, s_Napalm, pp->cursector,
pp->pos.X, pp->pos.Y, pp->pos.Z + Z(12), pp->angle.ang.Buildang(), NAPALM_VELOCITY*2); pp->__int_ppos.X, pp->__int_ppos.Y, pp->__int_ppos.Z + Z(12), pp->angle.ang.Buildang(), NAPALM_VELOCITY*2);
actor->spr.hitag = LUMINOUS; //Always full brightness actor->spr.hitag = LUMINOUS; //Always full brightness
@ -11717,7 +11717,7 @@ int InitSpellMirv(PLAYER* pp)
return 0; return 0;
auto actorNew = SpawnActor(STAT_MISSILE, FIREBALL1, s_Mirv, pp->cursector, auto actorNew = SpawnActor(STAT_MISSILE, FIREBALL1, s_Mirv, pp->cursector,
pp->pos.X, pp->pos.Y, pp->pos.Z + Z(12), pp->angle.ang.Buildang(), MIRV_VELOCITY); pp->__int_ppos.X, pp->__int_ppos.Y, pp->__int_ppos.Z + Z(12), pp->angle.ang.Buildang(), MIRV_VELOCITY);
PlaySound(DIGI_MIRVWIZ, actorNew, v3df_follow); PlaySound(DIGI_MIRVWIZ, actorNew, v3df_follow);
@ -11841,7 +11841,7 @@ int InitSwordAttack(PLAYER* pp)
if (!(itActor->spr.extra & SPRX_PLAYER_OR_ENEMY)) if (!(itActor->spr.extra & SPRX_PLAYER_OR_ENEMY))
continue; continue;
dist = Distance(pp->pos.X, pp->pos.Y, itActor->int_pos().X, itActor->int_pos().Y); dist = Distance(pp->__int_ppos.X, pp->__int_ppos.Y, itActor->int_pos().X, itActor->int_pos().Y);
reach = 1000; // !JIM! was 800 reach = 1000; // !JIM! was 800
face = 200; face = 200;
@ -11866,7 +11866,7 @@ int InitSwordAttack(PLAYER* pp)
daang = pp->angle.ang.Buildang(); daang = pp->angle.ang.Buildang();
daz = -MulScale(pp->horizon.horiz.asq16(), 2000, 16) + (RandomRange(24000) - 12000); daz = -MulScale(pp->horizon.horiz.asq16(), 2000, 16) + (RandomRange(24000) - 12000);
FAFhitscan(pp->pos.X, pp->pos.Y, pp->pos.Z, pp->cursector, // Start position FAFhitscan(pp->__int_ppos.X, pp->__int_ppos.Y, pp->__int_ppos.Z, pp->cursector, // Start position
bcos(daang), // X vector of 3D ang bcos(daang), // X vector of 3D ang
bsin(daang), // Y vector of 3D ang bsin(daang), // Y vector of 3D ang
daz, // Z vector of 3D ang daz, // Z vector of 3D ang
@ -11875,7 +11875,7 @@ int InitSwordAttack(PLAYER* pp)
if (hit.hitSector == nullptr) if (hit.hitSector == nullptr)
return 0; return 0;
if (FindDistance3D(pp->pos - hit.int_hitpos()) < 700) if (FindDistance3D(pp->__int_ppos - hit.int_hitpos()) < 700)
{ {
if (hit.actor() != nullptr) if (hit.actor() != nullptr)
@ -12009,7 +12009,7 @@ int InitFistAttack(PLAYER* pp)
if (!(itActor->spr.extra & SPRX_PLAYER_OR_ENEMY)) if (!(itActor->spr.extra & SPRX_PLAYER_OR_ENEMY))
continue; continue;
dist = Distance(pp->pos.X, pp->pos.Y, itActor->int_pos().X, itActor->int_pos().Y); dist = Distance(pp->__int_ppos.X, pp->__int_ppos.Y, itActor->int_pos().X, itActor->int_pos().Y);
if (pp->InventoryActive[2]) // Shadow Bombs give you demon fist if (pp->InventoryActive[2]) // Shadow Bombs give you demon fist
{ {
@ -12047,7 +12047,7 @@ int InitFistAttack(PLAYER* pp)
daang = pp->angle.ang.Buildang(); daang = pp->angle.ang.Buildang();
daz = -MulScale(pp->horizon.horiz.asq16(), 2000, 16) + (RandomRange(24000) - 12000); daz = -MulScale(pp->horizon.horiz.asq16(), 2000, 16) + (RandomRange(24000) - 12000);
FAFhitscan(pp->pos.X, pp->pos.Y, pp->pos.Z, pp->cursector, // Start position FAFhitscan(pp->__int_ppos.X, pp->__int_ppos.Y, pp->__int_ppos.Z, pp->cursector, // Start position
bcos(daang), // X vector of 3D ang bcos(daang), // X vector of 3D ang
bsin(daang), // Y vector of 3D ang bsin(daang), // Y vector of 3D ang
daz, // Z vector of 3D ang daz, // Z vector of 3D ang
@ -12056,7 +12056,7 @@ int InitFistAttack(PLAYER* pp)
if (hit.hitSector == nullptr) if (hit.hitSector == nullptr)
return 0; return 0;
if (FindDistance3D(pp->pos - hit.int_hitpos()) < 700) if (FindDistance3D(pp->__int_ppos - hit.int_hitpos()) < 700)
{ {
if (hit.actor() != nullptr) if (hit.actor() != nullptr)
@ -12597,10 +12597,10 @@ int InitStar(PLAYER* pp)
if (!pp->insector()) if (!pp->insector())
return 0; return 0;
nx = pp->pos.X; nx = pp->__int_ppos.X;
ny = pp->pos.Y; ny = pp->__int_ppos.Y;
nz = pp->pos.Z + pp->bob_z + Z(8); nz = pp->__int_ppos.Z + pp->bob_z + Z(8);
// Spawn a shot // Spawn a shot
// Inserting and setting up variables // Inserting and setting up variables
@ -12703,7 +12703,7 @@ void InitHeartAttack(PLAYER* pp)
return; return;
auto actorNew = SpawnActor(STAT_MISSILE_SKIP4, BLOOD_WORM, s_BloodWorm, pp->cursector, auto actorNew = SpawnActor(STAT_MISSILE_SKIP4, BLOOD_WORM, s_BloodWorm, pp->cursector,
pp->pos.X, pp->pos.Y, pp->pos.Z + Z(12), pp->angle.ang.Buildang(), BLOOD_WORM_VELOCITY*2); pp->__int_ppos.X, pp->__int_ppos.Y, pp->__int_ppos.Z + Z(12), pp->angle.ang.Buildang(), BLOOD_WORM_VELOCITY*2);
actorNew->spr.hitag = LUMINOUS; //Always full brightness actorNew->spr.hitag = LUMINOUS; //Always full brightness
@ -12843,9 +12843,9 @@ int InitShotgun(PLAYER* pp)
} }
} }
nx = pp->pos.X; nx = pp->__int_ppos.X;
ny = pp->pos.Y; ny = pp->__int_ppos.Y;
daz = nz = pp->pos.Z + pp->bob_z; daz = nz = pp->__int_ppos.Z + pp->bob_z;
daang = 64; daang = 64;
if (WeaponAutoAimHitscan(pp->actor, &daz, &daang, false) != nullptr) if (WeaponAutoAimHitscan(pp->actor, &daz, &daang, false) != nullptr)
@ -12997,10 +12997,10 @@ int InitLaser(PLAYER* pp)
if (!pp->insector()) if (!pp->insector())
return 0; return 0;
nx = pp->pos.X; nx = pp->__int_ppos.X;
ny = pp->pos.Y; ny = pp->__int_ppos.Y;
nz = pp->pos.Z + pp->bob_z + Z(8); nz = pp->__int_ppos.Z + pp->bob_z + Z(8);
// Spawn a shot // Spawn a shot
// Inserting and setting up variables // Inserting and setting up variables
@ -13100,10 +13100,10 @@ int InitRail(PLAYER* pp)
if (!pp->insector()) if (!pp->insector())
return 0; return 0;
nx = pp->pos.X; nx = pp->__int_ppos.X;
ny = pp->pos.Y; ny = pp->__int_ppos.Y;
nz = pp->pos.Z + pp->bob_z + Z(11); nz = pp->__int_ppos.Z + pp->bob_z + Z(11);
// Spawn a shot // Spawn a shot
// Inserting and setting up variables // Inserting and setting up variables
@ -13269,13 +13269,13 @@ int InitRocket(PLAYER* pp)
if (!pp->insector()) if (!pp->insector())
return 0; return 0;
nx = pp->pos.X; nx = pp->__int_ppos.X;
ny = pp->pos.Y; ny = pp->__int_ppos.Y;
// Spawn a shot // Spawn a shot
// Inserting and setting up variables // Inserting and setting up variables
nz = pp->pos.Z + pp->bob_z + Z(8); nz = pp->__int_ppos.Z + pp->bob_z + Z(8);
auto actorNew = SpawnActor(STAT_MISSILE, BOLT_THINMAN_R0, &s_Rocket[0][0], pp->cursector, auto actorNew = SpawnActor(STAT_MISSILE, BOLT_THINMAN_R0, &s_Rocket[0][0], pp->cursector,
nx, ny, nz, pp->angle.ang.Buildang(), ROCKET_VELOCITY); nx, ny, nz, pp->angle.ang.Buildang(), ROCKET_VELOCITY);
@ -13376,14 +13376,14 @@ int InitBunnyRocket(PLAYER* pp)
if (!pp->insector()) if (!pp->insector())
return 0; return 0;
nx = pp->pos.X; nx = pp->__int_ppos.X;
ny = pp->pos.Y; ny = pp->__int_ppos.Y;
// Spawn a shot // Spawn a shot
// Inserting and setting up variables // Inserting and setting up variables
//nz = pp->posz + pp->bob_z + Z(12); //nz = pp->posz + pp->bob_z + Z(12);
nz = pp->pos.Z + pp->bob_z + Z(8); nz = pp->__int_ppos.Z + pp->bob_z + Z(8);
auto actorNew = SpawnActor(STAT_MISSILE, BOLT_THINMAN_R4, &s_BunnyRocket[0][0], pp->cursector, auto actorNew = SpawnActor(STAT_MISSILE, BOLT_THINMAN_R4, &s_BunnyRocket[0][0], pp->cursector,
nx, ny, nz, pp->angle.ang.Buildang(), ROCKET_VELOCITY); nx, ny, nz, pp->angle.ang.Buildang(), ROCKET_VELOCITY);
@ -13479,13 +13479,13 @@ int InitNuke(PLAYER* pp)
if (!pp->insector()) if (!pp->insector())
return 0; return 0;
nx = pp->pos.X; nx = pp->__int_ppos.X;
ny = pp->pos.Y; ny = pp->__int_ppos.Y;
// Spawn a shot // Spawn a shot
// Inserting and setting up variables // Inserting and setting up variables
nz = pp->pos.Z + pp->bob_z + Z(8); nz = pp->__int_ppos.Z + pp->bob_z + Z(8);
auto actorNew = SpawnActor(STAT_MISSILE, BOLT_THINMAN_R0, &s_Rocket[0][0], pp->cursector, auto actorNew = SpawnActor(STAT_MISSILE, BOLT_THINMAN_R0, &s_Rocket[0][0], pp->cursector,
nx, ny, nz, pp->angle.ang.Buildang(), 700); nx, ny, nz, pp->angle.ang.Buildang(), 700);
@ -13634,8 +13634,8 @@ int InitMicro(PLAYER* pp)
TARGET_SORT* ts = TargetSort; TARGET_SORT* ts = TargetSort;
DSWActor* picked = nullptr; DSWActor* picked = nullptr;
nx = pp->pos.X; nx = pp->__int_ppos.X;
ny = pp->pos.Y; ny = pp->__int_ppos.Y;
const int MAX_MICRO = 1; const int MAX_MICRO = 1;
@ -13663,7 +13663,7 @@ int InitMicro(PLAYER* pp)
ang = pp->angle.ang.Buildang(); ang = pp->angle.ang.Buildang();
} }
nz = pp->pos.Z + pp->bob_z + Z(14); nz = pp->__int_ppos.Z + pp->bob_z + Z(14);
nz += Z(RandomRange(20)) - Z(10); nz += Z(RandomRange(20)) - Z(10);
// Spawn a shot // Spawn a shot
@ -14828,9 +14828,9 @@ int InitTracerUzi(PLAYER* pp)
short lat_dist[] = {800,-800}; short lat_dist[] = {800,-800};
nx = pp->pos.X; nx = pp->__int_ppos.X;
ny = pp->pos.Y; ny = pp->__int_ppos.Y;
nz = pp->pos.Z + Z(8) + -MulScale(pp->horizon.horiz.asq16(), 72, 16); nz = pp->__int_ppos.Z + Z(8) + -MulScale(pp->horizon.horiz.asq16(), 72, 16);
// Spawn a shot // Spawn a shot
// Inserting and setting up variables // Inserting and setting up variables
@ -15127,8 +15127,8 @@ int InitUzi(PLAYER* pp)
if (RANDOM_P2(1024) < 400) if (RANDOM_P2(1024) < 400)
InitTracerUzi(pp); InitTracerUzi(pp);
nz = pp->pos.Z + pp->bob_z; nz = pp->__int_ppos.Z + pp->bob_z;
daz = pp->pos.Z + pp->bob_z; daz = pp->__int_ppos.Z + pp->bob_z;
daang = 32; daang = 32;
if (WeaponAutoAimHitscan(pp->actor, &daz, &daang, false) != nullptr) if (WeaponAutoAimHitscan(pp->actor, &daz, &daang, false) != nullptr)
{ {
@ -15147,7 +15147,7 @@ int InitUzi(PLAYER* pp)
xvect = bcos(daang); xvect = bcos(daang);
yvect = bsin(daang); yvect = bsin(daang);
zvect = daz; zvect = daz;
FAFhitscan(pp->pos.X, pp->pos.Y, nz, pp->cursector, // Start position FAFhitscan(pp->__int_ppos.X, pp->__int_ppos.Y, nz, pp->cursector, // Start position
xvect,yvect,zvect, xvect,yvect,zvect,
hit, CLIPMASK_MISSILE); hit, CLIPMASK_MISSILE);
@ -16280,9 +16280,9 @@ int InitGrenade(PLAYER* pp)
if (!pp->insector()) if (!pp->insector())
return 0; return 0;
nx = pp->pos.X; nx = pp->__int_ppos.X;
ny = pp->pos.Y; ny = pp->__int_ppos.Y;
nz = pp->pos.Z + pp->bob_z + Z(8); nz = pp->__int_ppos.Z + pp->bob_z + Z(8);
// Spawn a shot // Spawn a shot
// Inserting and setting up variables // Inserting and setting up variables
@ -16425,9 +16425,9 @@ int InitMine(PLAYER* pp)
if (!pp->insector()) if (!pp->insector())
return 0; return 0;
nx = pp->pos.X; nx = pp->__int_ppos.X;
ny = pp->pos.Y; ny = pp->__int_ppos.Y;
nz = pp->pos.Z + pp->bob_z + Z(8); nz = pp->__int_ppos.Z + pp->bob_z + Z(8);
// Spawn a shot // Spawn a shot
// Inserting and setting up variables // Inserting and setting up variables
@ -16556,10 +16556,10 @@ int InitFireball(PLAYER* pp)
if (!pp->insector()) if (!pp->insector())
return 0; return 0;
nx += pp->pos.X; nx += pp->__int_ppos.X;
ny += pp->pos.Y; ny += pp->__int_ppos.Y;
nz = pp->pos.Z + pp->bob_z + Z(15); nz = pp->__int_ppos.Z + pp->bob_z + Z(15);
auto actorNew = SpawnActor(STAT_MISSILE, FIREBALL1, s_Fireball, pp->cursector, nx, ny, nz, pp->angle.ang.Buildang(), FIREBALL_VELOCITY); auto actorNew = SpawnActor(STAT_MISSILE, FIREBALL1, s_Fireball, pp->cursector, nx, ny, nz, pp->angle.ang.Buildang(), FIREBALL_VELOCITY);
@ -17755,7 +17755,7 @@ int DoFloorBlood(DSWActor* actor)
{ {
pp = &Player[pnum]; pp = &Player[pnum];
DISTANCE(actor->int_pos().X, actor->int_pos().Y, pp->pos.X, pp->pos.Y, dist, a, b, c); DISTANCE(actor->int_pos().X, actor->int_pos().Y, pp->__int_ppos.X, pp->__int_ppos.Y, dist, a, b, c);
if (dist < near_dist) if (dist < near_dist)
{ {

View file

@ -39,7 +39,7 @@ inline int AngToSprite(DSWActor* actor, DSWActor* other)
inline int AngToPlayer(PLAYER* player, DSWActor* other) inline int AngToPlayer(PLAYER* player, DSWActor* other)
{ {
return (getangle(player->pos.X - other->int_pos().X, player->pos.Y - other->int_pos().Y)); return (getangle(player->__int_ppos.X - other->int_pos().X, player->__int_ppos.Y - other->int_pos().Y));
} }

View file

@ -776,7 +776,7 @@ void SpawnZombie(PLAYER* pp, DSWActor* weaponActor)
if (ownerActor == nullptr) if (ownerActor == nullptr)
return; return;
auto actorNew = SpawnActor(STAT_ENEMY, ZOMBIE_RUN_R0, s_ZombieRun[0], pp->cursector, pp->pos.X, pp->pos.Y, pp->pos.Z, pp->angle.ang.Buildang(), 0); auto actorNew = SpawnActor(STAT_ENEMY, ZOMBIE_RUN_R0, s_ZombieRun[0], pp->cursector, pp->__int_ppos.X, pp->__int_ppos.Y, pp->__int_ppos.Z, pp->angle.ang.Buildang(), 0);
SetOwner(actorNew, ownerActor); SetOwner(actorNew, ownerActor);
actorNew->spr.pal = actorNew->user.spal = ownerActor->user.spal; actorNew->spr.pal = actorNew->user.spal = ownerActor->user.spal;
actorNew->set_int_ang(RANDOM_P2(2048)); actorNew->set_int_ang(RANDOM_P2(2048));