mirror of
https://github.com/TombEngine/TombEngine.git
synced 2025-05-06 19:01:06 +03:00
Refactored doors in multiple files
This commit is contained in:
parent
986ee1d510
commit
d5ea0becf1
25 changed files with 1380 additions and 1151 deletions
|
@ -15,10 +15,19 @@
|
|||
#include "pulley_switch.h"
|
||||
#include "fullblock_switch.h"
|
||||
|
||||
// Doors
|
||||
#include "generic_doors.h"
|
||||
#include "double_doors.h"
|
||||
#include "pushpull_kick_door.h"
|
||||
#include "sequence_door.h"
|
||||
#include "steel_door.h"
|
||||
#include "underwater_door.h"
|
||||
|
||||
/// necessary import
|
||||
#include "setup.h"
|
||||
|
||||
using namespace TEN::Entities::Switches;
|
||||
using namespace TEN::Entities::Doors;
|
||||
|
||||
static void StartObject()
|
||||
{
|
||||
|
@ -275,8 +284,111 @@ void StartSwitches()
|
|||
}
|
||||
}
|
||||
|
||||
void StartDoors()
|
||||
{
|
||||
OBJECT_INFO* obj;
|
||||
|
||||
for (int objNum = ID_DOOR_TYPE1; objNum <= ID_CLOSED_DOOR6; objNum++)
|
||||
{
|
||||
obj = &Objects[objNum];
|
||||
if (obj->loaded)
|
||||
{
|
||||
obj->initialise = InitialiseDoor;
|
||||
obj->control = DoorControl;
|
||||
obj->collision = DoorCollision;
|
||||
obj->hitEffect = HIT_RICOCHET;
|
||||
obj->saveAnim = true;
|
||||
obj->saveFlags = true;
|
||||
obj->saveMesh = true;
|
||||
}
|
||||
}
|
||||
|
||||
obj = &Objects[ID_LIFT_DOORS1];
|
||||
if (obj->loaded)
|
||||
{
|
||||
obj->initialise = InitialiseDoor;
|
||||
obj->control = DoorControl;
|
||||
obj->hitEffect = HIT_RICOCHET;
|
||||
obj->saveFlags = true;
|
||||
}
|
||||
|
||||
obj = &Objects[ID_LIFT_DOORS2];
|
||||
if (obj->loaded)
|
||||
{
|
||||
obj->initialise = InitialiseDoor;
|
||||
obj->control = DoorControl;
|
||||
obj->hitEffect = HIT_RICOCHET;
|
||||
obj->saveFlags = true;
|
||||
}
|
||||
|
||||
obj = &Objects[ID_SEQUENCE_DOOR1];
|
||||
if (obj->loaded)
|
||||
{
|
||||
obj->initialise = InitialiseDoor;
|
||||
obj->collision = DoorCollision;
|
||||
obj->control = SequenceDoorControl;
|
||||
obj->hitEffect = HIT_RICOCHET;
|
||||
obj->saveAnim = true;
|
||||
obj->saveFlags = true;
|
||||
}
|
||||
|
||||
for (int i = ID_DOUBLE_DOORS1; i <= ID_DOUBLE_DOORS4; i++)
|
||||
{
|
||||
obj = &Objects[i];
|
||||
if (obj->loaded)
|
||||
{
|
||||
obj->initialise = InitialiseDoor;
|
||||
obj->collision = DoubleDoorCollision;
|
||||
obj->control = PushPullKickDoorControl;
|
||||
obj->hitEffect = HIT_RICOCHET;
|
||||
obj->saveAnim = true;
|
||||
obj->saveFlags = true;
|
||||
}
|
||||
}
|
||||
|
||||
for (int i = ID_UNDERWATER_DOOR1; i <= ID_UNDERWATER_DOOR4; i++)
|
||||
{
|
||||
obj = &Objects[i];
|
||||
if (obj->loaded)
|
||||
{
|
||||
obj->initialise = InitialiseDoor;
|
||||
obj->collision = UnderwaterDoorCollision;
|
||||
obj->control = PushPullKickDoorControl;
|
||||
obj->hitEffect = HIT_RICOCHET;
|
||||
obj->saveAnim = true;
|
||||
obj->saveFlags = true;
|
||||
}
|
||||
}
|
||||
|
||||
for (int objNum = ID_PUSHPULL_DOOR1; objNum <= ID_KICK_DOOR4; objNum++)
|
||||
{
|
||||
obj = &Objects[objNum];
|
||||
if (obj->loaded)
|
||||
{
|
||||
obj->initialise = InitialiseDoor;
|
||||
obj->collision = PushPullKickDoorCollision;
|
||||
obj->control = PushPullKickDoorControl;
|
||||
obj->hitEffect = HIT_RICOCHET;
|
||||
obj->saveAnim = true;
|
||||
obj->saveFlags = true;
|
||||
}
|
||||
}
|
||||
|
||||
obj = &Objects[ID_STEEL_DOOR];
|
||||
if (obj->loaded)
|
||||
{
|
||||
obj->initialise = InitialiseSteelDoor;
|
||||
obj->collision = SteelDoorCollision;
|
||||
obj->saveAnim = true;
|
||||
obj->saveFlags = true;
|
||||
obj->saveMesh = true;
|
||||
obj->savePosition = true;
|
||||
}
|
||||
}
|
||||
|
||||
void InitialiseGenericObjects()
|
||||
{
|
||||
StartObject();
|
||||
StartSwitches();
|
||||
StartDoors();
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue