X-Git-Url: https://git.jsancho.org/?a=blobdiff_plain;f=Source%2FWeapons.h;h=0c66b5d78004722a5e98b8485fd3e8fe2dee61b1;hb=5509b55dbc13227bdc7b97f2934fa71dad02cc66;hp=961364a44c3d72177bf8e9a57368e2ca9683e58d;hpb=8562aa5bebc97ea8a61d056aec3847030c6985b7;p=lugaru.git diff --git a/Source/Weapons.h b/Source/Weapons.h index 961364a..0c66b5d 100644 --- a/Source/Weapons.h +++ b/Source/Weapons.h @@ -1,3 +1,23 @@ +/* +Copyright (C) 2003, 2010 - Wolfire Games +Copyright (C) 2010-2016 - Lugaru contributors (see AUTHORS file) + +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. + +Lugaru 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 Lugaru. If not, see . +*/ + #ifndef _WEAPONS_H_ #define _WEAPONS_H_ @@ -5,13 +25,12 @@ #include "gamegl.h" #include "Quaternions.h" -#include "fmod.h" #include "Skeleton.h" #include "Models.h" -#include "Constants.h" #include "Terrain.h" -#include "Sprites.h" +#include "Sprite.h" #include "Person.h" +#include "Texture.h" #include #define max_weapons 30 @@ -21,73 +40,92 @@ #define sword 2 #define staff 3 -class Weapons +class Weapon +{ +public: + Weapon(int type, int owner); + + static Model throwingknifemodel; + static Texture knifetextureptr; + static Texture lightbloodknifetextureptr; + static Texture bloodknifetextureptr; + + static Model swordmodel; + static Texture swordtextureptr; + static Texture lightbloodswordtextureptr; + static Texture bloodswordtextureptr; + + static Model staffmodel; + static Texture 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; + + 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 { public: + Weapons(); + ~Weapons(); - std::vector rotation1,rotation2,rotation3; - std::vector bigrotation; - std::vector bigtilt; - std::vector bigtilt2; - std::vector smallrotation; - std::vector smallrotation2; - - int numweapons; - std::vector damage; - std::vector tippoint; - std::vector oldtippoint; - std::vector position; - std::vector lastmult; - std::vector oldposition; - std::vector velocity; - std::vector tipvelocity; - std::vector type; - std::vector oldowner; - std::vector owner; - std::vector bloody; - std::vector blooddrip; - std::vector blooddripdelay; - std::vector onfire; - std::vector flamedelay; - std::vector missed; - std::vector mass; - std::vector tipmass; - std::vector length; - std::vector freetime; - std::vector firstfree; - std::vector physics; - std::vector drawhowmany; - std::vector hitsomething; - - std::vector lastdrawnposition; - std::vector lastdrawntippoint; - std::vector lastdrawnrotation1,lastdrawnrotation2,lastdrawnrotation3; - std::vector lastdrawnbigrotation; - std::vector lastdrawnbigtilt; - std::vector lastdrawnbigtilt2; - std::vector lastdrawnsmallrotation; - std::vector lastdrawnsmallrotation2; - std::vector lastdrawnanim; - - Model throwingknifemodel; - GLuint knifetextureptr; - GLuint lightbloodknifetextureptr; - GLuint bloodknifetextureptr; - - Model swordmodel; - GLuint swordtextureptr; - GLuint lightbloodswordtextureptr; - GLuint bloodswordtextureptr; - - Model staffmodel; - GLuint stafftextureptr; - - int Draw(); - void DoStuff(); - - Weapons(); - - ~Weapons(); + int Draw(); + void DoStuff(); }; -#endif \ No newline at end of file +extern Weapons weapons; +#endif