Files

50 lines
1.2 KiB
C

#ifndef __GAME_EVENTS_H
#define __GAME_EVENTS_H
#include "Game Event Hook.h"
#include "FileMan.h"
#define SEF_PREVENT_DELETION 0x01
#define SEF_DELETION_PENDING 0x02
typedef struct STRATEGICEVENT
{
struct STRATEGICEVENT *next;
UINT32 uiTimeStamp;
UINT32 uiParam;
UINT32 uiTimeOffset;
UINT8 ubEventType;
UINT8 ubCallbackID;
UINT8 ubFlags;
INT8 bPadding[6];
} STRATEGICEVENT;
enum
{
ONETIME_EVENT,
RANGED_EVENT,
ENDRANGED_EVENT,
EVERYDAY_EVENT,
PERIODIC_EVENT,
QUEUED_EVENT
};
void LockStrategicEventFromDeletion( STRATEGICEVENT *pEvent );
void UnlockStrategicEventFromDeletion( STRATEGICEVENT *pEvent );
//part of the game.sav files (not map files)
BOOLEAN SaveStrategicEventsToSavedGame( HWFILE hFile );
BOOLEAN LoadStrategicEventsFromSavedGame( HWFILE hFile );
STRATEGICEVENT* AddAdvancedStrategicEvent( UINT8 ubEventType, UINT8 ubCallbackID, UINT32 uiTimeStamp, UINT32 uiParam );
BOOLEAN ExecuteStrategicEvent( STRATEGICEVENT *pEvent );
extern BOOLEAN gfEventDeletionPending;
BOOLEAN DeleteEventsWithDeletionPending();
extern STRATEGICEVENT *gpEventList;
#endif