00001
00002 #ifndef TRIGGER_H
00003 #define TRIGGER_H
00004
00005 #include "car.h"
00006
00007
00008
00009 #define TRIGGER_GLOBAL_FIRST 1
00010 #define TRIGGER_FRAME_FIRST 2
00011
00012 typedef struct {
00013 unsigned long GlobalFirst, FrameStamp;
00014 long ID, Flag, LocalPlayerOnly;
00015 float Size[3];
00016 PLANE Plane[3];
00017 VEC Vector;
00018 void (*Function)(struct PlayerStruct *player, long flag, long n, VEC *vec);
00019 } TRIGGER;
00020
00021 typedef struct {
00022 void (*Func)(struct PlayerStruct *player, long flag, long n, VEC *vec);
00023 long LocalPlayerOnly;
00024 } TRIGGER_INFO;
00025
00026 enum {
00027 TRIGGER_PIANO,
00028 TRIGGER_SPLIT,
00029 TRIGGER_TRACK_DIR,
00030 #ifdef _N64
00031 TRIGGER_NUM,
00032 #endif
00033 TRIGGER_CAMCHANGE,
00034 TRIGGER_AIHOME,
00035 #ifndef _N64
00036 TRIGGER_NUM
00037 #endif
00038 };
00039
00040
00041
00042 extern void FreeTriggers(void);
00043 extern void CheckTriggers(void);
00044 extern void ResetTriggerFlags(long ID);
00045 #ifdef _PC
00046 extern void LoadTriggers(char *file);
00047 #endif
00048 #ifdef _N64
00049 extern void LoadTriggers(void);
00050 #endif
00051
00052
00053
00054 extern long TriggerNum;
00055 extern TRIGGER *Triggers;
00056
00057 #endif