]> git.jsancho.org Git - lugaru.git/blob - Source/Weapons.h
30fa1bb5d3754e99dbbc4f0409f8b0c0e991b4dc
[lugaru.git] / Source / Weapons.h
1 #ifndef _WEAPONS_H_
2 #define _WEAPONS_H_
3
4 /**> HEADER FILES <**/
5
6 #include "gamegl.h"
7 #include "Quaternions.h"
8 #include "fmod.h"
9 #include "Skeleton.h"
10 #include "Models.h"
11 #include "Constants.h"
12 #include "Terrain.h"
13 #include "Sprites.h"
14 #include "Person.h"
15 #include <cmath>
16
17 #define max_weapons 30
18 #define max_weaponinstances 20
19
20 #define knife 1
21 #define sword 2
22 #define staff 3
23
24 class Weapons
25 {
26 public:
27
28         float rotation1[max_weaponinstances];
29         float rotation2[max_weaponinstances];
30         float rotation3[max_weaponinstances];
31         float bigrotation[max_weaponinstances];
32         float bigtilt[max_weaponinstances];
33         float bigtilt2[max_weaponinstances];
34         float smallrotation[max_weaponinstances];
35         float smallrotation2[max_weaponinstances];
36
37         int numweapons;
38         float damage[max_weaponinstances];
39         XYZ tippoint[max_weaponinstances];
40         XYZ oldtippoint[max_weaponinstances];
41         XYZ position[max_weaponinstances];
42         float lastmult[max_weaponinstances];
43         XYZ oldposition[max_weaponinstances];
44         XYZ velocity[max_weaponinstances];
45         XYZ tipvelocity[max_weaponinstances];
46         int type[max_weaponinstances];
47         int oldowner[max_weaponinstances];
48         int owner[max_weaponinstances];
49         int bloody[max_weaponinstances];
50         float blooddrip[max_weaponinstances];
51         float blooddripdelay[max_weaponinstances];
52         bool onfire[max_weaponinstances];
53         float flamedelay[max_weaponinstances];
54         bool missed[max_weaponinstances];
55         float mass[max_weaponinstances];
56         float tipmass[max_weaponinstances];
57         float length[max_weaponinstances];
58         float freetime[max_weaponinstances];
59         bool firstfree[max_weaponinstances];
60         bool physics[max_weaponinstances];
61         float drawhowmany[max_weaponinstances];
62         bool hitsomething[max_weaponinstances];
63
64         XYZ lastdrawnposition[max_weaponinstances];
65         XYZ lastdrawntippoint[max_weaponinstances];
66         float lastdrawnrotation1[max_weaponinstances];
67         float lastdrawnrotation2[max_weaponinstances];
68         float lastdrawnrotation3[max_weaponinstances];
69         float lastdrawnbigrotation[max_weaponinstances];
70         float lastdrawnbigtilt[max_weaponinstances];
71         float lastdrawnbigtilt2[max_weaponinstances];
72         float lastdrawnsmallrotation[max_weaponinstances];
73         float lastdrawnsmallrotation2[max_weaponinstances];
74         int lastdrawnanim[max_weaponinstances];
75
76         Model throwingknifemodel;
77         GLuint knifetextureptr;
78         GLuint lightbloodknifetextureptr;
79         GLuint bloodknifetextureptr;
80
81         Model swordmodel;
82         GLuint swordtextureptr;
83         GLuint lightbloodswordtextureptr;
84         GLuint bloodswordtextureptr;
85
86         Model staffmodel;
87         GLuint stafftextureptr;
88
89         int Draw();
90         void DoStuff();
91
92         Weapons();
93
94         ~Weapons();
95 };
96
97 #endif