mirror of
https://github.com/TombEngine/TombEngine.git
synced 2025-05-01 09:18:00 +03:00
Fix: Ceiling and Floor trapdoors (#972)
Although the trapdoor code were correct, looks like that at some moment, someone merged all the trapdoors to initialize them together with the same values. But Ceiling and Floor Trapdoors must use different Collision functions. So this fix separate those objects from the normal trapdoors and put their right collision functions.
This commit is contained in:
parent
c72cdf8e50
commit
1ba34ae83a
1 changed files with 46 additions and 1 deletions
|
@ -43,7 +43,7 @@ using namespace TEN::Entities::Generic;
|
|||
|
||||
static void StartObject(ObjectInfo* object)
|
||||
{
|
||||
for (int objectNumber = ID_TRAPDOOR1; objectNumber <= ID_CEILING_TRAPDOOR2; objectNumber++)
|
||||
for (int objectNumber = ID_TRAPDOOR1; objectNumber <= ID_TRAPDOOR3; objectNumber++)
|
||||
{
|
||||
object = &Objects[objectNumber];
|
||||
if (object->loaded)
|
||||
|
@ -59,6 +59,51 @@ static void StartObject(ObjectInfo* object)
|
|||
}
|
||||
}
|
||||
|
||||
for (int objectNumber = ID_FLOOR_TRAPDOOR1; objectNumber <= ID_FLOOR_TRAPDOOR2; objectNumber++)
|
||||
{
|
||||
object = &Objects[objectNumber];
|
||||
if (object->loaded)
|
||||
{
|
||||
object->initialise = InitialiseTrapDoor;
|
||||
object->collision = FloorTrapDoorCollision;
|
||||
object->control = TrapDoorControl;
|
||||
object->floorBorder = TrapDoorFloorBorder;
|
||||
object->ceilingBorder = TrapDoorCeilingBorder;
|
||||
object->floor = TrapDoorFloor;
|
||||
object->ceiling = TrapDoorCeiling;
|
||||
object->SetupHitEffect(true);
|
||||
}
|
||||
}
|
||||
|
||||
for (int objectNumber = ID_CEILING_TRAPDOOR1; objectNumber <= ID_CEILING_TRAPDOOR2; objectNumber++)
|
||||
{
|
||||
object = &Objects[objectNumber];
|
||||
if (object->loaded)
|
||||
{
|
||||
object->initialise = InitialiseTrapDoor;
|
||||
object->collision = CeilingTrapDoorCollision;
|
||||
object->control = TrapDoorControl;
|
||||
object->floorBorder = TrapDoorFloorBorder;
|
||||
object->ceilingBorder = TrapDoorCeilingBorder;
|
||||
object->floor = TrapDoorFloor;
|
||||
object->ceiling = TrapDoorCeiling;
|
||||
object->SetupHitEffect(true);
|
||||
}
|
||||
}
|
||||
|
||||
/*object = &Objects[ID_SCALING_TRAPDOOR]; //I don't know what this Object purpose.
|
||||
if (object->loaded)
|
||||
{
|
||||
object->initialise = InitialiseTrapDoor;
|
||||
object->collision = TrapDoorCollision;
|
||||
object->control = TrapDoorControl;
|
||||
object->floorBorder = TrapDoorFloorBorder;
|
||||
object->ceilingBorder = TrapDoorCeilingBorder;
|
||||
object->floor = TrapDoorFloor;
|
||||
object->ceiling = TrapDoorCeiling;
|
||||
object->SetupHitEffect(true);
|
||||
}*/
|
||||
|
||||
object = &Objects[ID_BRIDGE_FLAT];
|
||||
if (object->loaded)
|
||||
{
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue