1 /*------------------------------Patrick 12/3/97----------------------------------- 2 Header for Switch Operated Doors 3 --------------------------------------------------------------------------------*/ 4 5 typedef struct switch_door_behaviour_type 6 { 7 AVP_BEHAVIOUR_TYPE myBehaviourType; /* just for testing system integrity */ 8 DOOR_STATES doorState; 9 MORPHCTRL *morfControl; 10 char linkedDoorName[SB_NAME_LENGTH]; 11 STRATEGYBLOCK* linkedDoorPtr; 12 int openTimer; 13 unsigned int requestOpen :1; 14 unsigned int requestClose :1; 15 int SoundHandle; 16 int doorType; // Used to determine door sound type 17 18 } SWITCH_DOOR_BEHAV_BLOCK; 19 20 typedef struct switch_door_tools_template 21 { 22 BOOL state; 23 MREF myModule; 24 int shapeOpen; 25 int shapeClosed; 26 char linkedDoorName[SB_NAME_LENGTH]; 27 char nameID[SB_NAME_LENGTH]; 28 } SWITCH_DOOR_TOOLS_TEMPLATE; 29 30 #define DOOR_OPENSLOWSPEED (1<<16) 31 #define DOOR_OPENFASTSPEED (1<<20) 32 #define DOOR_CLOSESLOWSPEED (1<<17) 33 #define DOOR_CLOSEFASTSPEED (1<<20) 34 #define DOOR_FAROPENTIME (ONE_FIXED<<2) /* 4 seconds: DO NOT CHANGE THIS OR AI MAY NOT WORK*/ 35 #define DOOR_OPENDISTANCE (5000) /* mm */ 36 37 extern void InitialiseSwitchDoor(void* bhdata, STRATEGYBLOCK* sbptr); 38 extern void SwitchDoorBehaviour(STRATEGYBLOCK* sbptr); 39 extern void OpenDoor(MORPHCTRL *mctrl, int speed); 40 extern void CloseDoor(MORPHCTRL *mctrl, int speed); 41