]> git.jsancho.org Git - lugaru.git/blob - Source/Sprites.h
0fc79ed0bdd4e390e328c6ce138e4c30798f9c2c
[lugaru.git] / Source / Sprites.h
1 #ifndef _SPRITES_H_
2 #define _SPRITES_H_
3
4 #include "Quaternions.h"
5 #include "gamegl.h"
6 #include "TGALoader.h"
7 #include "Quaternions.h"
8 #include "Frustum.h"
9 #include "Lights.h"
10 #include "Terrain.h"
11 #include "Objects.h"
12 //
13 // Model Structures
14 //
15
16 #define max_sprites 20000
17
18 #define cloudsprite 0
19 #define bloodsprite 1
20 #define flamesprite 2
21 #define smoketype 3
22 #define weaponflamesprite 4
23 #define cloudimpactsprite 5
24 #define snowsprite 6
25 #define weaponshinesprite 7
26 #define bloodflamesprite 8
27 #define breathsprite 9
28 #define splintersprite 10
29
30 class Sprites{
31 public:
32         GLuint cloudtexture;
33         GLuint cloudimpacttexture;
34         GLuint bloodtexture;
35         GLuint flametexture;
36         GLuint bloodflametexture;
37         GLuint smoketexture;
38         GLuint snowflaketexture;
39         GLuint shinetexture;
40         GLuint splintertexture;
41         GLuint leaftexture;
42         GLuint toothtexture;
43
44         XYZ oldposition[max_sprites];
45         XYZ position[max_sprites];
46         XYZ velocity[max_sprites];
47         float size[max_sprites];
48         float initialsize[max_sprites];
49         int type[max_sprites];
50         int special[max_sprites];
51         float color[max_sprites][3];
52         float opacity[max_sprites];
53         float rotation[max_sprites];
54         float alivetime[max_sprites];
55         float speed[max_sprites];
56         float rotatespeed[max_sprites];
57         float checkdelay;
58         int numsprites;
59
60         void DeleteSprite(int which);
61         void MakeSprite(int atype, XYZ where, XYZ avelocity, float red, float green, float blue, float asize, float aopacity);
62         void Draw();
63
64         Sprites();
65         ~Sprites();
66 };
67
68 #endif