Initial Import
[glAntsMech.git] / glants_mech / win32 / glAntsV05 / objects.h
bloba92cfa19447053595882d5bb142bf66fa0ae60e7
1 //
2 // Berlin Brown
3 // bigbinc@hotmail.com
4 //
5 // objects.h
6 // driver for object source
7 //
8 #ifndef _OBJECTS_H_
9 #define _OBJECTS_H_
11 #define CUBE_OBJECT 0
12 #define GRID_OBJECT 1
13 #define ANT_OBJECT 2
14 #define WORLD_OBJECT 3
15 #define WIREBOX_OBJECT 4
16 #define NORM_CUBE_OBJECT 5
17 #define SQUARE_OBJECT 6
18 #define PLANE_OBJECT 7
19 #define FIREANT_OBJECT 8
20 #define PYRAMID_OBJECT 9
21 #define STARS_OBJECT 10
23 #define MAX_OBJECTS 11
25 #define GRID_SIZE 300.0f
27 extern GLUquadricObj *quadric; // main Quadric Object
30 // major struct for driver objects
32 typedef struct tagDriverObjects {
34 void (*init)(int list_id);
35 void (*compile)(void);
36 void (*draw)(void); // used with compile
37 void (*render)(void); // render object to scenes
39 int call_id; // id used to compile object
40 int visible;
42 } DriverObjects;
44 void InitObjects(void);
45 void DeleteObjects(void);
46 void RenderObjects(void);
47 void RenderGrid(void);
49 void RenderWalls(void);
51 void RenderBounds(float x, float y, float width);
53 void Bot_Triangle(float x, float y);
56 // set of the objects
58 extern DriverObjects colorcube;
59 extern DriverObjects grid;
60 extern DriverObjects ant;
61 extern DriverObjects walls;
62 extern DriverObjects wirebox;
63 extern DriverObjects norm_cube;
64 extern DriverObjects pheromone;
65 extern DriverObjects plane;
66 extern DriverObjects fireant;
67 extern DriverObjects pyramid;
68 extern DriverObjects stars;
70 extern DriverObjects *driver_objects[MAX_OBJECTS];
72 void RenderPlane(void);
73 #endif