From 49125ffed59b3a126565a23711aa979a34064faf Mon Sep 17 00:00:00 2001 From: Christoph Oelckers Date: Sun, 11 Sep 2022 21:11:00 +0200 Subject: [PATCH] - floatified handle_se02 --- source/games/duke/src/actors.cpp | 18 +++++++----------- 1 file changed, 7 insertions(+), 11 deletions(-) diff --git a/source/games/duke/src/actors.cpp b/source/games/duke/src/actors.cpp index 620de02c7..fd83928c3 100644 --- a/source/games/duke/src/actors.cpp +++ b/source/games/duke/src/actors.cpp @@ -3086,7 +3086,7 @@ void handle_se30(DDukeActor *actor, int JIBS6) //--------------------------------------------------------------------------- // -// +// Earthquake // //--------------------------------------------------------------------------- @@ -3106,7 +3106,7 @@ void handle_se02(DDukeActor* actor) { actor->temp_data[0]++; - actor->set_int_xvel(3); + actor->vel.X = 3 / 16.; if (actor->temp_data[0] > 96) { @@ -3128,17 +3128,13 @@ void handle_se02(DDukeActor* actor) else sc->setfloorslope(sc->getfloorslope() + (Sgn(actor->temp_data[5] - sc->getfloorslope()) << 4)); } - int m = MulScale(actor->int_xvel(), bcos(actor->int_ang()), 14); - int x = MulScale(actor->int_xvel(), bsin(actor->int_ang()), 14); - + auto vect = actor->spr.angle.ToVector() * actor->vel.X; for (int p = connecthead; p >= 0; p = connectpoint2[p]) if (ps[p].cursector == actor->sector() && ps[p].on_ground) { - ps[p].player_add_int_xy({ m, x }); - - ps[p].bobpos.X += m * inttoworld; - ps[p].bobpos.Y += x * inttoworld; + ps[p].pos += vect; + ps[p].bobpos += vect; } DukeSectIterator it(actor->sector()); @@ -3146,11 +3142,11 @@ void handle_se02(DDukeActor* actor) { if (a2->spr.picnum != SECTOREFFECTOR) { - a2->add_int_pos({ m, x, 0 }); + a2->spr.pos += vect; SetActor(a2, a2->spr.pos); } } - movesector(actor, actor->temp_data[1], DAngle::fromBuild(actor->temp_data[2])); + movesector(actor, actor->temp_data[1], nullAngle); //SetActor(actor, actor->spr.pos); } }