]> git.jsancho.org Git - lugaru.git/blob - Source/Weapons.h
More work.
[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         std::vector<float> rotation1,rotation2,rotation3;
29         std::vector<float> bigrotation;
30         std::vector<float> bigtilt;
31         std::vector<float> bigtilt2;
32         std::vector<float> smallrotation;
33         std::vector<float> smallrotation2;
34
35         int numweapons;
36         std::vector<float> damage;
37         std::vector<XYZ> tippoint;
38         std::vector<XYZ> oldtippoint;
39         std::vector<XYZ> position;
40         std::vector<float> lastmult;
41         std::vector<XYZ> oldposition;
42         std::vector<XYZ> velocity;
43         std::vector<XYZ> tipvelocity;
44         std::vector<int> type;
45         std::vector<int> oldowner;
46         std::vector<int> owner;
47         std::vector<int> bloody;
48         std::vector<float> blooddrip;
49         std::vector<float> blooddripdelay;
50         std::vector<bool> onfire;
51         std::vector<float> flamedelay;
52         std::vector<bool> missed;
53         std::vector<float> mass;
54         std::vector<float> tipmass;
55         std::vector<float> length;
56         std::vector<float> freetime;
57         std::vector<bool> firstfree;
58         std::vector<bool> physics;
59         std::vector<float> drawhowmany;
60         std::vector<bool> hitsomething;
61
62         std::vector<XYZ> lastdrawnposition;
63         std::vector<XYZ> lastdrawntippoint;
64         std::vector<float> lastdrawnrotation1,lastdrawnrotation2,lastdrawnrotation3;
65         std::vector<float> lastdrawnbigrotation;
66         std::vector<float> lastdrawnbigtilt;
67         std::vector<float> lastdrawnbigtilt2;
68         std::vector<float> lastdrawnsmallrotation;
69         std::vector<float> lastdrawnsmallrotation2;
70         std::vector<int> lastdrawnanim;
71
72         Model throwingknifemodel;
73         GLuint knifetextureptr;
74         GLuint lightbloodknifetextureptr;
75         GLuint bloodknifetextureptr;
76
77         Model swordmodel;
78         GLuint swordtextureptr;
79         GLuint lightbloodswordtextureptr;
80         GLuint bloodswordtextureptr;
81
82         Model staffmodel;
83         GLuint stafftextureptr;
84
85         int Draw();
86         void DoStuff();
87
88         Weapons();
89
90         ~Weapons();
91 };
92
93 #endif