Lephisto/src/ai.h
2013-02-23 17:53:31 +00:00

38 lines
588 B
C

#pragma once
#include "lua.h"
#define MIN_DIR_ERR 1.0*M_PI/180.
#define MAX_DIR_ERR 0.1*M_PI/180.
#define MIN_VEL_ERR 1.0
// Max number of AI timers.
#define MAX_AI_TIMERS 2
typedef enum { TYPE_NULL, TYPE_INT, TYPE_PTR } TaskData;
// Basic task.
typedef struct Task {
struct Task* next;
char* name;
TaskData dtype;
union {
void* target; // Vec2 etc.
unsigned int ID; // Pilot ID etc.
};
} Task;
// Ai profile.
typedef struct {
char* name;
lua_State* L;
} AI_Profile;
// Misc.
AI_Profile* ai_getProfile(char* name);
int ai_init(void);
void ai_exit(void);