2018-08-19 09:46:58 +02:00
|
|
|
#pragma once
|
2020-05-30 15:55:23 +02:00
|
|
|
#include "items.h"
|
2020-05-28 15:17:34 +02:00
|
|
|
#include "collide.h"
|
2020-05-30 15:55:23 +02:00
|
|
|
#include "room.h"
|
|
|
|
|
|
|
|
typedef struct DOORPOS_DATA
|
|
|
|
{
|
|
|
|
FLOOR_INFO* floor;
|
|
|
|
FLOOR_INFO data;
|
|
|
|
short block;
|
|
|
|
};
|
|
|
|
|
|
|
|
typedef struct DOOR_DATA
|
|
|
|
{
|
|
|
|
DOORPOS_DATA d1;
|
|
|
|
DOORPOS_DATA d1flip;
|
|
|
|
DOORPOS_DATA d2;
|
|
|
|
DOORPOS_DATA d2flip;
|
|
|
|
short opened;
|
|
|
|
short* dptr1;
|
|
|
|
short* dptr2;
|
|
|
|
short* dptr3;
|
|
|
|
short* dptr4;
|
|
|
|
byte dn1;
|
|
|
|
byte dn2;
|
|
|
|
byte dn3;
|
|
|
|
byte dn4;
|
|
|
|
ITEM_INFO* item;
|
|
|
|
};
|
2019-11-09 09:55:56 +01:00
|
|
|
|
2019-12-02 14:49:19 +01:00
|
|
|
void SequenceDoorControl(short itemNumber);
|
|
|
|
void UnderwaterDoorCollision(short itemNum, ITEM_INFO* l, COLL_INFO* coll);
|
|
|
|
void DoubleDoorCollision(short itemNum, ITEM_INFO* l, COLL_INFO* coll);
|
|
|
|
void PushPullKickDoorCollision(short itemNum, ITEM_INFO* l, COLL_INFO* coll);
|
|
|
|
void PushPullKickDoorControl(short itemNumber);
|
|
|
|
void DoorCollision(short itemNum, ITEM_INFO* l, COLL_INFO* coll);
|
|
|
|
void DoorControl(short itemNumber);
|
|
|
|
void OpenThatDoor(DOORPOS_DATA* doorPos, DOOR_DATA* dd);
|
|
|
|
void ShutThatDoor(DOORPOS_DATA* doorPos, DOOR_DATA* dd);
|
2019-12-23 10:53:15 +01:00
|
|
|
void InitialiseDoor(short itemNumber);
|
2020-01-07 17:32:49 +01:00
|
|
|
void InitialiseSteelDoor(short itemNumber);
|
|
|
|
void SteelDoorCollision(short itemNumber, ITEM_INFO* l, COLL_INFO* coll);
|
2020-01-16 19:14:35 +01:00
|
|
|
void AssignClosedDoor(ITEM_INFO* item);
|
|
|
|
void InitialiseClosedDoors();
|
|
|
|
void ProcessClosedDoors();
|
|
|
|
void GetClosedDoorNormal(ROOM_INFO* room, short** dptr, byte* n, int z, int x, int absX, int absZ);
|
|
|
|
void FillDoorPointers(DOOR_DATA* doorData, ITEM_INFO* item, short roomNumber, int dz, int dx);
|