-coordinates

This commit is contained in:
Christoph Oelckers 2022-08-23 22:52:22 +02:00
parent b949f37be2
commit 40312d64c8
4 changed files with 10 additions and 6 deletions

View file

@ -319,6 +319,10 @@ inline double getflorzofslopeptrf(const sectortype* sec, double dax, double day)
{
return getflorzofslopeptr(sec, dax * worldtoint, day * worldtoint) * zinttoworld;
}
inline double getceilzofslopeptrf(const sectortype* sec, const DVector2& pos)
{
return getceilzofslopeptr(sec, pos.X * worldtoint, pos.Y * worldtoint) * zinttoworld;
}
inline double getflorzofslopeptrf(const sectortype* sec, const DVector2& pos)
{
return getflorzofslopeptr(sec, pos.X * worldtoint, pos.Y * worldtoint) * zinttoworld;

View file

@ -706,9 +706,9 @@ void LeechStateTimer(DBloodActor* actor, sectortype*) // 20
void sub_76A08(DBloodActor* actor, DBloodActor* actor2, PLAYER* pPlayer) // ???
{
int top, bottom;
double top, bottom;
GetActorExtents(actor, &top, &bottom);
actor->set_int_pos({ actor2->int_pos().X, actor2->int_pos().Y, actor2->sector()->int_floorz() - (bottom - actor->int_pos().Z) });
actor->spr.pos = actor2->spr.pos.plusZ(-(bottom - actor->spr.pos.Z));
actor->spr.angle = actor2->spr.angle;
ChangeActorSect(actor, actor2->sector());
sfxPlay3DSound(actor2, 201, -1, 0);

View file

@ -3796,8 +3796,8 @@ void useSeqSpawnerGen(DBloodActor* sourceactor, int objType, sectortype* pSector
case 6:
if (!iactor->insector()) pos.Z = top;
else pos.Z = ((sourceactor->xspr.data3 == 5) ?
getflorzofslopeptr(spawned->sector(), spawned->int_pos().X, spawned->int_pos().Y) :
getceilzofslopeptr(spawned->sector(), spawned->int_pos().X, spawned->int_pos().Y));
getflorzofslopeptrf(spawned->sector(), spawned->spr.pos) :
getceilzofslopeptrf(spawned->sector(), spawned->spr.pos));
break;
}

View file

@ -959,7 +959,7 @@ void spawneffector(DDukeActor* actor, TArray<DDukeActor*>* actors)
tempwallptr++;
if (tempwallptr > 2047)
{
I_Error("Too many moving sectors at (%d,%d).\n", wal.wall_int_pos().X, wal.wall_int_pos().Y);
I_Error("Too many moving sectors at (%d,%d).\n", int(wal.pos.X), int(wal.pos.Y));
}
}
if (actor->spr.lotag == SE_30_TWO_WAY_TRAIN || actor->spr.lotag == SE_6_SUBWAY || actor->spr.lotag == SE_14_SUBWAY_CAR || actor->spr.lotag == SE_5_BOSS)
@ -985,7 +985,7 @@ void spawneffector(DDukeActor* actor, TArray<DDukeActor*>* actors)
if (s == nullptr)
{
I_Error("Subway found no zero'd sectors with locators\nat (%d,%d).\n", actor->int_pos().X, actor->int_pos().Y);
I_Error("Subway found no zero'd sectors with locators\nat (%d,%d).\n", int(actor->spr.pos.X), int(actor->spr.pos.Y));
}
actor->SetOwner(nullptr);