- code cleanup to eliminate wrappers.

This commit is contained in:
Christoph Oelckers 2022-08-21 21:57:41 +02:00
parent 45f37525e0
commit 3ac4b6300f
4 changed files with 12 additions and 16 deletions

View file

@ -471,7 +471,7 @@ int DoGenerateSewerDebris(DSWActor* actor)
{
actor->user.Tics = actor->user.WaitTics;
auto spawned = SpawnActor(STAT_DEAD_ACTOR, 0, Debris[RANDOM_P2(4<<8)>>8], actor->sector(), actor->int_pos().X, actor->int_pos().Y, actor->int_pos().Z, actor->int_ang(), 200);
auto spawned = SpawnActor(STAT_DEAD_ACTOR, 0, Debris[RANDOM_P2(4<<8)>>8], actor->sector(), actor->spr.pos, actor->spr.angle, 200);
SetOwner(actor, spawned);
}
@ -560,8 +560,7 @@ void KeepActorOnFloor(DSWActor* actor)
{
double ceilz, florz;
Collision ctrash, ftrash;
FAFgetzrangepoint(actor->int_pos().X, actor->int_pos().Y, actor->int_pos().Z, actor->sector(),
&ceilz, &ctrash, &florz, &ftrash);
FAFgetzrangepoint(actor->spr.pos, actor->sector(),&ceilz, &ctrash, &florz, &ftrash);
actor->spr.pos.Z = actor->user.oz = florz;
actor->backupz();

View file

@ -839,7 +839,7 @@ int DoActorMoveCloser(DSWActor* actor)
else
{
// turn to face player
actor->set_int_ang(getangle(actor->user.targetActor->int_pos().X - actor->int_pos().X, actor->user.targetActor->int_pos().Y - actor->int_pos().Y));
actor->spr.angle = VecToAngle(actor->user.targetActor->spr.pos - actor->spr.pos);
}
}
@ -863,7 +863,7 @@ int FindTrackToPlayer(DSWActor* actor)
int point, track_dir, track;
int i, size;
const uint16_t* type;
int zdiff;
double zdiff;
static const uint16_t PlayerAbove[] =
{
@ -894,9 +894,9 @@ int FindTrackToPlayer(DSWActor* actor)
BIT(TT_SCAN)
};
zdiff = int_ActorUpperZ(actor->user.targetActor) - (actor->int_pos().Z - int_ActorSizeZ(actor) + Z(8));
zdiff = ActorUpperZ(actor->user.targetActor) - (actor->spr.pos.Z - ActorSizeZ(actor) + 8);
if (abs(zdiff) <= Z(20))
if (abs(zdiff) <= 20)
{
type = PlayerOnLevel;
size = SIZ(PlayerOnLevel);
@ -1100,7 +1100,7 @@ int InitActorAttack(DSWActor* actor)
//NewStateGroup(actor, actor->user.ActorActionSet->Stand);
// face player when attacking
actor->set_int_ang(NORM_ANGLE(getangle(actor->user.targetActor->int_pos().X - actor->int_pos().X, actor->user.targetActor->int_pos().Y - actor->int_pos().Y)));
actor->spr.angle = VecToAngle(actor->user.targetActor->spr.pos - actor->spr.pos);
// If it's your own kind, lay off!
if (actor->user.ID == actor->user.targetActor->user.ID && !actor->user.targetActor->user.PlayerP)

View file

@ -541,7 +541,7 @@ int NewCoolg(DSWActor* actor)
{
ANIMATOR DoActorDecide;
auto actorNew = SpawnActor(STAT_ENEMY, COOLG_RUN_R0, &s_CoolgBirth[0], actor->sector(), actor->int_pos().X, actor->int_pos().Y, actor->int_pos().Z, actor->int_ang(), 50);
auto actorNew = SpawnActor(STAT_ENEMY, COOLG_RUN_R0, &s_CoolgBirth[0], actor->sector(), actor->spr.pos, actor->spr.angle, 50);
ChangeState(actorNew, &s_CoolgBirth[0]);
actorNew->user.StateEnd = s_CoolgDie;

View file

@ -160,20 +160,17 @@ void CopySectorMatch(int match)
// don't move ST1 Copy Tags
if (SP_TAG1(itActor) != SECT_COPY_SOURCE)
{
int sx,sy,dx,dy,src_xoff,src_yoff,trash;
// move sprites from source to dest - use center offset
// get center of src and dest sect
SectorMidPoint(sActor->sector(), &sx, &sy, &trash);
SectorMidPoint(dActor->sector(), &dx, &dy, &trash);
auto spos =SectorMidPoint(sActor->sector());
auto dpos = SectorMidPoint(dActor->sector());
// get offset
src_xoff = sx - itActor->int_pos().X;
src_yoff = sy - itActor->int_pos().Y;
auto src_off = spos.XY() - itActor->spr.pos.XY();
// move sprite to dest sector
itActor->set_int_xy(dx - src_xoff, dy - src_yoff);
itActor->spr.pos.XY() = dpos.XY() - src_off;
// change sector
ChangeActorSect(itActor, dsectp);