]> git.jsancho.org Git - lugaru.git/blobdiff - Source/Weapons.h
console commands works again.
[lugaru.git] / Source / Weapons.h
index 36f18dee430c0d2427f4b4ea72f41838eb1a96f6..bb178c1c928198e6160880e7659d476a75efe24c 100644 (file)
@@ -1,16 +1,35 @@
+/*
+Copyright (C) 2003, 2010 - Wolfire Games
+
+This file is part of Lugaru.
+
+Lugaru is free software; you can redistribute it and/or
+modify it under the terms of the GNU General Public License
+as published by the Free Software Foundation; either version 2
+of the License, or (at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  
+
+See the GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program; if not, write to the Free Software
+Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
+*/
+
 #ifndef _WEAPONS_H_
 #define _WEAPONS_H_
 
 /**> HEADER FILES <**/
 
-#include "gl.h"
+#include "gamegl.h"
 #include "Quaternions.h"
-#include "fmod.h"
-#include "skeleton.h"
-#include "models.h"
-#include "Constants.h"
+#include "Skeleton.h"
+#include "Models.h"
 #include "Terrain.h"
-#include "Sprites.h"
+#include "Sprite.h"
 #include "Person.h"
 #include <cmath>
 
 #define sword 2
 #define staff 3
 
-class Weapons
-{
-public:
+class Weapon {
+       public:
+               Weapon(int type, int owner);
+                       
+               static Model throwingknifemodel;
+               static GLuint knifetextureptr;
+               static GLuint lightbloodknifetextureptr;
+               static GLuint bloodknifetextureptr;
 
-       std::vector<float> rotation1,rotation2,rotation3;
-       std::vector<float> bigrotation;
-       std::vector<float> bigtilt;
-       std::vector<float> bigtilt2;
-       std::vector<float> smallrotation;
-       std::vector<float> smallrotation2;
-
-       int numweapons;
-       std::vector<float> damage;
-       std::vector<XYZ> tippoint;
-       std::vector<XYZ> oldtippoint;
-       std::vector<XYZ> position;
-       std::vector<float> lastmult;
-       std::vector<XYZ> oldposition;
-       std::vector<XYZ> velocity;
-       std::vector<XYZ> tipvelocity;
-       std::vector<int> type;
-       std::vector<int> oldowner;
-       std::vector<int> owner;
-       std::vector<int> bloody;
-       std::vector<float> blooddrip;
-       std::vector<float> blooddripdelay;
-       std::vector<bool> onfire;
-       std::vector<float> flamedelay;
-       std::vector<bool> missed;
-       std::vector<float> mass;
-       std::vector<float> tipmass;
-       std::vector<float> length;
-       std::vector<float> freetime;
-       std::vector<bool> firstfree;
-       std::vector<bool> physics;
-       std::vector<float> drawhowmany;
-       std::vector<bool> hitsomething;
-
-       std::vector<XYZ> lastdrawnposition;
-       std::vector<XYZ> lastdrawntippoint;
-       std::vector<float> lastdrawnrotation1,lastdrawnrotation2,lastdrawnrotation3;
-       std::vector<float> lastdrawnbigrotation;
-       std::vector<float> lastdrawnbigtilt;
-       std::vector<float> lastdrawnbigtilt2;
-       std::vector<float> lastdrawnsmallrotation;
-       std::vector<float> lastdrawnsmallrotation2;
-       std::vector<int> lastdrawnanim;
-
-       Model throwingknifemodel;
-       GLuint knifetextureptr;
-       GLuint lightbloodknifetextureptr;
-       GLuint bloodknifetextureptr;
-
-       Model swordmodel;
-       GLuint swordtextureptr;
-       GLuint lightbloodswordtextureptr;
-       GLuint bloodswordtextureptr;
-
-       Model staffmodel;
-       GLuint stafftextureptr;
+               static Model swordmodel;
+               static GLuint swordtextureptr;
+               static GLuint lightbloodswordtextureptr;
+               static GLuint bloodswordtextureptr;
 
-       int Draw();
-       void DoStuff();
+               static Model staffmodel;
+               static GLuint stafftextureptr;
+       
+               void Draw();
+               void DoStuff(int);
+               
+               int getType() { return type; }
+               void setType(int);
+               
+               int owner;
+               XYZ position;
+               XYZ tippoint;
+               XYZ velocity;
+               XYZ tipvelocity;
+               bool missed;
+               bool hitsomething;
+               float freetime;
+               bool firstfree;
+               bool physics;
+               
+               float damage;
+               int bloody;
+               float blooddrip;
+               float blooddripdelay;
+               
+               float rotation1;
+               float rotation2;
+               float rotation3;
+               float bigrotation;
+               float bigtilt;
+               float bigtilt2;
+               float smallrotation;
+               float smallrotation2;
+       private:
+               int type;
+               
+               XYZ oldtippoint;
+               float lastmult;
+               XYZ oldposition;
+               int oldowner;
+               bool onfire;
+               float flamedelay;
+               float mass;
+               float tipmass;
+               float length;
+               float drawhowmany;
 
-       Weapons();
+               XYZ lastdrawnposition;
+               XYZ lastdrawntippoint;
+               float lastdrawnrotation1;
+               float lastdrawnrotation2;
+               float lastdrawnrotation3;
+               float lastdrawnbigrotation;
+               float lastdrawnbigtilt;
+               float lastdrawnbigtilt2;
+               float lastdrawnsmallrotation;
+               float lastdrawnsmallrotation2;
+               int lastdrawnanim;
+};
 
+class Weapons : public std::vector<Weapon>
+{
+public:
+       Weapons();
        ~Weapons();
+       
+       int Draw();
+       void DoStuff();
 };
 
-#endif
\ No newline at end of file
+extern Weapons weapons;
+#endif