class Event_Data
{
public:
event_func* func;
event_data* loop;
thing_data* owner;
int time;
void* pointer;
Event_Data( event_func*, thing_data* );
Event_Data( );
~Event_Data( );
};
/*
* ROUTINES
*/
#define QUEUE_LENGTH 50000
extern event_data* event_queue [ QUEUE_LENGTH ];
extern int event_pntr;
void extract ( event_data* );
void unlink ( event_data* );
void stop_events ( thing_data*, event_func* = NULL );
void add_queue ( event_data*, int );
void set_delay ( char_data*, int );
const char* name ( event_data* );
int time_till ( event_data* );
void event_update ( );
void delay_wander ( event_data* );
void execute_wander ( event_data* );
void next_action ( event_data* );
void execute_leap ( event_data* );
void execute_drown ( event_data* );
void execute_path ( event_data* );
void update_affect ( event_data* );
void execute_decay ( event_data* );