diff --git a/source/games/duke/src/actors.cpp b/source/games/duke/src/actors.cpp index 95cc57852..329ff1335 100644 --- a/source/games/duke/src/actors.cpp +++ b/source/games/duke/src/actors.cpp @@ -727,7 +727,7 @@ void handle_se00(DDukeActor* actor) if (sect->floorz > actor->spr.pos.Z) //z's are touching { sect->addfloorz(-2); - zchange = 2; + zchange = -2; if (sect->floorz < actor->spr.pos.Z) sect->setfloorz(actor->spr.pos.Z); } diff --git a/source/games/duke/src/spawn.cpp b/source/games/duke/src/spawn.cpp index 85cf13e12..178ff8041 100644 --- a/source/games/duke/src/spawn.cpp +++ b/source/games/duke/src/spawn.cpp @@ -863,6 +863,7 @@ void spawneffector(DDukeActor* actor, TArray* actors) case SE_15_SLIDING_DOOR: case SE_16_REACTOR: case SE_26: + if(actor->spr.lotag == SE_0_ROTATING_SECTOR) StartInterpolation(actor->sector(), Interp_Sect_Floorz); setsectinterpolate(actor->sector()); break;