From 6eabe4e152b9a900f29db3ea72a95a02f176cb6e Mon Sep 17 00:00:00 2001 From: Christoph Oelckers Date: Fri, 4 Feb 2022 09:50:40 +0100 Subject: [PATCH] - Duke: cleanup on z-checks, part 2. --- source/games/duke/src/actors_d.cpp | 11 +++++++---- source/games/duke/src/actors_r.cpp | 14 +++++++++----- 2 files changed, 16 insertions(+), 9 deletions(-) diff --git a/source/games/duke/src/actors_d.cpp b/source/games/duke/src/actors_d.cpp index 8aadf4988..1256bc2c9 100644 --- a/source/games/duke/src/actors_d.cpp +++ b/source/games/duke/src/actors_d.cpp @@ -2014,20 +2014,23 @@ void movetransports_d(void) } else { - act2->add_int_pos({ (Owner->int_pos().X - act->int_pos().X), (Owner->int_pos().Y - act->int_pos().Y), 0 }); - act2->set_int_z(Owner->int_pos().Z + 4096); + act2->spr.pos.X += Owner->spr.pos.X - act->spr.pos.X; + act2->spr.pos.Y += Owner->spr.pos.Y - act->spr.pos.Y; + act2->spr.pos.Z = Owner->spr.pos.Z + 16; act2->backupz(); ChangeActorSect(act2, Owner->sector()); } break; case ST_1_ABOVE_WATER: - act2->add_int_pos({ (Owner->int_pos().X - act->int_pos().X), (Owner->int_pos().Y - act->int_pos().Y), 0 }); + act2->spr.pos.X += Owner->spr.pos.X - act->spr.pos.X; + act2->spr.pos.Y += Owner->spr.pos.Y - act->spr.pos.Y; act2->set_int_z(Owner->sector()->int_ceilingz() + ll); act2->backupz(); ChangeActorSect(act2, Owner->sector()); break; case ST_2_UNDERWATER: - act2->add_int_pos({ (Owner->int_pos().X - act->int_pos().X), (Owner->int_pos().Y - act->int_pos().Y), 0 }); + act2->spr.pos.X += Owner->spr.pos.X - act->spr.pos.X; + act2->spr.pos.Y += Owner->spr.pos.Y - act->spr.pos.Y; act2->set_int_z(Owner->sector()->int_floorz() - ll); act2->backupz(); ChangeActorSect(act2, Owner->sector()); diff --git a/source/games/duke/src/actors_r.cpp b/source/games/duke/src/actors_r.cpp index 7adab63d0..a43247e30 100644 --- a/source/games/duke/src/actors_r.cpp +++ b/source/games/duke/src/actors_r.cpp @@ -1689,15 +1689,17 @@ void movetransports_r(void) } else { - act2->add_int_pos({ (Owner->int_pos().X - act->int_pos().X), (Owner->int_pos().Y - act->int_pos().Y), 0 }); - act2->set_int_z(Owner->int_pos().Z + 4096); + act2->spr.pos.X += Owner->spr.pos.X - act->spr.pos.X; + act2->spr.pos.Y += Owner->spr.pos.Y - act->spr.pos.Y; + act2->spr.pos.Z = Owner->spr.pos.Z + 16; act2->backupz(); ChangeActorSect(act2, Owner->sector()); } break; case ST_1_ABOVE_WATER: - act2->add_int_pos({ (Owner->int_pos().X - act->int_pos().X), (Owner->int_pos().Y - act->int_pos().Y), 0 }); + act2->spr.pos.X += Owner->spr.pos.X - act->spr.pos.X; + act2->spr.pos.Y += Owner->spr.pos.Y - act->spr.pos.Y; act2->set_int_z(Owner->sector()->int_ceilingz() + ll); act2->backupz(); @@ -1705,7 +1707,8 @@ void movetransports_r(void) break; case ST_2_UNDERWATER: - act2->add_int_pos({ (Owner->int_pos().X - act->int_pos().X), (Owner->int_pos().Y - act->int_pos().Y), 0 }); + act2->spr.pos.X += Owner->spr.pos.X - act->spr.pos.X; + act2->spr.pos.Y += Owner->spr.pos.Y - act->spr.pos.Y; act2->set_int_z(Owner->sector()->int_floorz() - ll); act2->backupz(); @@ -1715,7 +1718,8 @@ void movetransports_r(void) case 160: if (!isRRRA()) break; - act2->add_int_pos({ (Owner->int_pos().X - act->int_pos().X), (Owner->int_pos().Y - act->int_pos().Y), 0 }); + act2->spr.pos.X += Owner->spr.pos.X - act->spr.pos.X; + act2->spr.pos.Y += Owner->spr.pos.Y - act->spr.pos.Y; act2->set_int_z(Owner->sector()->int_ceilingz() + ll2); act2->backupz();