TombEngine/TR5Main/Objects/Generic/generic_objects.cpp

122 lines
2.6 KiB
C++

#include "framework.h"
#include "generic_objects.h"
/// objects
#include "generic_trapdoor.h"
#include "generic_bridge.h"
/// necessary import
#include "setup.h"
static void StartObject()
{
auto obj = &Objects[ID_TRAPDOOR1];
if (obj->loaded)
{
obj->initialise = InitialiseTrapDoor;
obj->collision = TrapDoorCollision;
obj->control = TrapDoorControl;
obj->saveAnim = true;
obj->saveFlags = true;
}
obj = &Objects[ID_TRAPDOOR2];
if (obj->loaded)
{
obj->initialise = InitialiseTrapDoor;
obj->collision = TrapDoorCollision;
obj->control = TrapDoorControl;
obj->saveAnim = true;
obj->saveFlags = true;
}
obj = &Objects[ID_TRAPDOOR3];
if (obj->loaded)
{
obj->initialise = InitialiseTrapDoor;
obj->collision = TrapDoorCollision;
obj->control = TrapDoorControl;
obj->saveAnim = true;
obj->saveFlags = true;
}
obj = &Objects[ID_FLOOR_TRAPDOOR1];
if (obj->loaded)
{
obj->initialise = InitialiseTrapDoor;
obj->collision = FloorTrapDoorCollision;
obj->control = TrapDoorControl;
obj->saveAnim = true;
obj->saveFlags = true;
}
obj = &Objects[ID_FLOOR_TRAPDOOR2];
if (obj->loaded)
{
obj->initialise = InitialiseTrapDoor;
obj->collision = FloorTrapDoorCollision;
obj->control = TrapDoorControl;
obj->saveAnim = true;
obj->saveFlags = true;
}
obj = &Objects[ID_CEILING_TRAPDOOR1];
if (obj->loaded)
{
obj->initialise = InitialiseTrapDoor;
obj->collision = CeilingTrapDoorCollision;
obj->control = TrapDoorControl;
obj->saveAnim = true;
obj->saveFlags = true;
}
obj = &Objects[ID_CEILING_TRAPDOOR2];
if (obj->loaded)
{
obj->initialise = InitialiseTrapDoor;
obj->collision = CeilingTrapDoorCollision;
obj->control = TrapDoorControl;
obj->saveAnim = true;
obj->saveFlags = true;
}
obj = &Objects[ID_BRIDGE_FLAT];
if (obj->loaded)
{
obj->floor = BridgeHeight<0, 0>;
obj->ceiling = BridgeHeight<0, SECTOR(1) / 4>;
}
obj = &Objects[ID_BRIDGE_TILT1];
if (obj->loaded)
{
obj->floor = BridgeHeight<1, 0>;
obj->ceiling = BridgeHeight<1, SECTOR(1) / 4>;
}
obj = &Objects[ID_BRIDGE_TILT2];
if (obj->loaded)
{
obj->floor = BridgeHeight<2, 0>;
obj->ceiling = BridgeHeight<2, SECTOR(1) / 4>;
}
obj = &Objects[ID_BRIDGE_TILT3];
if (obj->loaded)
{
obj->floor = BridgeHeight<3, 0>;
obj->ceiling = BridgeHeight<3, SECTOR(1) / 4>;
}
obj = &Objects[ID_BRIDGE_TILT4];
if (obj->loaded)
{
obj->floor = BridgeHeight<4, 0>;
obj->ceiling = BridgeHeight<4, SECTOR(1) / 4>;
}
}
void InitialiseGenericObjects()
{
StartObject();
}