From 43e1e3f50f527c693b9a04817660c0804a8bb1b1 Mon Sep 17 00:00:00 2001 From: Christoph Oelckers Date: Mon, 12 Sep 2022 21:52:47 +0200 Subject: [PATCH] - floatified SE 32. --- source/games/duke/src/actors.cpp | 12 ++++++------ source/games/duke/src/spawn.cpp | 4 ++-- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/source/games/duke/src/actors.cpp b/source/games/duke/src/actors.cpp index 02da20c9d..cef85ccb7 100644 --- a/source/games/duke/src/actors.cpp +++ b/source/games/duke/src/actors.cpp @@ -4442,7 +4442,7 @@ void handle_se32(DDukeActor *actor) if (actor->temp_data[2] == 1) // Retract { - if (actor->int_ang() != 1536) + if (actor->spr.intangle != 1536) { if (abs(sc->ceilingz - actor->spr.pos.Z) < targetval * 2) { @@ -4455,14 +4455,14 @@ void handle_se32(DDukeActor *actor) } else { - if (abs(sc->ceilingz - actor->temp_data[1] * zinttoworld) < targetval * 2) + if (abs(sc->ceilingz - actor->temp_pos.Z) < targetval * 2) { - sc->set_int_ceilingz(actor->temp_data[1]); + sc->setceilingz(actor->temp_pos.Z); callsound(actor->sector(), actor); actor->temp_data[2] = 0; actor->temp_data[0] = 0; } - else sc->addceilingz(Sgn(actor->temp_data[1] * zinttoworld - sc->int_ceilingz()) * targetval); + else sc->addceilingz(Sgn(actor->temp_pos.Z - sc->ceilingz) * targetval); } return; } @@ -4480,13 +4480,13 @@ void handle_se32(DDukeActor *actor) } else { - if (abs(sc->ceilingz - actor->temp_data[1] * zinttoworld) < targetval * 2) + if (abs(sc->ceilingz - actor->temp_pos.Z) < targetval * 2) { actor->temp_data[0] = 0; actor->temp_data[2] = !actor->temp_data[2]; callsound(actor->sector(), actor); } - else sc->addceilingz(-Sgn(actor->int_pos().Z - actor->temp_data[1]) * targetval); + else sc->addceilingz(-Sgn(actor->spr.pos.Z - actor->temp_pos.Z) * targetval); } } diff --git a/source/games/duke/src/spawn.cpp b/source/games/duke/src/spawn.cpp index 24f503ba6..b5730081c 100644 --- a/source/games/duke/src/spawn.cpp +++ b/source/games/duke/src/spawn.cpp @@ -839,9 +839,9 @@ void spawneffector(DDukeActor* actor, TArray* actors) break; case SE_32_CEILING_RISE_FALL: - actor->temp_data[1] = sectp->int_ceilingz(); + actor->temp_pos.Z = sectp->ceilingz; actor->temp_data[2] = actor->spr.hitag; - if (actor->int_ang() != 1536) sectp->setceilingz(actor->spr.pos.Z); + if (actor->spr.intangle != 1536) sectp->setceilingz(actor->spr.pos.Z); for (auto& wal : wallsofsector(sectp)) if (wal.hitag == 0) wal.hitag = 9999;