Remove static tag from menu functions
[kraptor.git] / include / ia.h
blobbdcf1ff4061325120b8395c02ce916097b5fb379
1 // --------------------------------------------------------
2 // ia.h
3 // --------------------------------------------------------
4 // Copyright (c) Kronoman
5 // En memoria de mi querido padre
6 // --------------------------------------------------------
7 // Sistema de inteligencia artificial utizando "ejecutables"
8 // binarios contenidos en un DAT
9 // --------------------------------------------------------
11 #ifndef KRAPTOR_IA_H
12 #define KRAPTOR_IA_H
15 #include "allegro.h"
18 // Estructura contenedora de una instruccion
19 typedef struct IA_BYTECODE
21 int x1, y1, x2, y2; // coordenadas de movimiento
22 int weapon; // arma a disparar
23 int loop; // cantidad de veces a repetir
25 } IA_BYTECODE;
28 // Estructura de la lista enlazada contenedora
29 // de todos los "programas" de IA precargados
30 typedef struct IA_NODE
32 IA_BYTECODE *code; // puntero a matriz asignada con malloc de todas las instrucciones de esta IA particular
33 int size; // cantidad de bytecodes contenidos en bytecode[]
34 char id[1024]; // identificacion usada para identificar esta secuencia en la IA (cadena ASCCIZ)
36 struct IA_NODE *next; // puntero al siguiente
37 } IA_NODE;
41 // Prototipos
42 void hacer_chache_ia(const char *file);
43 void liberar_lista_ia();
44 IA_NODE *buscar_lista_ia(const char *id);
46 #endif