Skip to content

Commit

Permalink
- do not update the sector for sector effectors moving themselves.
Browse files Browse the repository at this point in the history
They need to stay in their originally assigned sector forever, or really bad things can happen.
If due to some math imprecisions they change their sector, they can screw up the entire map.
  • Loading branch information
coelckers committed Feb 15, 2022
1 parent b8ea49e commit 63f1a96
Showing 1 changed file with 11 additions and 10 deletions.
21 changes: 11 additions & 10 deletions source/games/duke/src/actors.cpp
Expand Up @@ -2914,7 +2914,8 @@ void handle_se14(DDukeActor* actor, bool checkstat, int RPG, int JIBS6)
}

ms(actor);
SetActor(actor, actor->spr.pos);
// I have no idea why this is here, but the SE's sector must never, *EVER* change, or the map will corrupt.
//SetActor(actor, actor->spr.pos);

if ((sc->floorz - sc->ceilingz) < (108 << 8))
{
Expand Down Expand Up @@ -3078,7 +3079,7 @@ void handle_se30(DDukeActor *actor, int JIBS6)
}

ms(actor);
SetActor(actor, actor->spr.pos);
//SetActor(actor, actor->spr.pos);

if ((sc->floorz - sc->ceilingz) < (108 << 8))
{
Expand Down Expand Up @@ -3197,7 +3198,7 @@ void handle_se02(DDukeActor* actor)
}
}
ms(actor);
SetActor(actor, actor->spr.pos);
//SetActor(actor, actor->spr.pos);
}
}

Expand Down Expand Up @@ -3404,7 +3405,7 @@ void handle_se05(DDukeActor* actor, int FIRELASER)
sc->addceilingz(actor->spr.zvel);
sector[actor->temp_data[0]].addceilingz(actor->spr.zvel);
ms(actor);
SetActor(actor, actor->spr.pos);
//SetActor(actor, actor->spr.pos);
}

//---------------------------------------------------------------------------
Expand Down Expand Up @@ -3561,7 +3562,7 @@ void handle_se11(DDukeActor *actor)
actor->temp_data[2] += k;
actor->temp_data[4] += k;
ms(actor);
SetActor(actor, actor->spr.pos);
//SetActor(actor, actor->spr.pos);

for(auto& wal : wallsofsector(sc))
{
Expand All @@ -3574,7 +3575,7 @@ void handle_se11(DDukeActor *actor)
actor->temp_data[2] -= k;
actor->temp_data[4] -= k;
ms(actor);
SetActor(actor, actor->spr.pos);
//SetActor(actor, actor->spr.pos);
return;
}
}
Expand All @@ -3585,7 +3586,7 @@ void handle_se11(DDukeActor *actor)
actor->temp_data[4] = 0;
actor->temp_data[2] &= 0xffffff00;
ms(actor);
SetActor(actor, actor->spr.pos);
//SetActor(actor, actor->spr.pos);
}
}
}
Expand Down Expand Up @@ -3775,7 +3776,7 @@ void handle_se15(DDukeActor* actor)
}

ms(actor);
SetActor(actor, actor->spr.pos);
//SetActor(actor, actor->spr.pos);
}
}

Expand Down Expand Up @@ -3819,7 +3820,7 @@ void handle_se16(DDukeActor* actor, int REACTOR, int REACTOR2)
else sc->addceilingz(-512);

ms(actor);
SetActor(actor, actor->spr.pos);
//SetActor(actor, actor->spr.pos);
}

//---------------------------------------------------------------------------
Expand Down Expand Up @@ -4313,7 +4314,7 @@ void handle_se26(DDukeActor* actor)
}

ms(actor);
SetActor(actor, actor->spr.pos);
//SetActor(actor, actor->spr.pos);
}

//---------------------------------------------------------------------------
Expand Down

0 comments on commit 63f1a96

Please sign in to comment.