X-Git-Url: https://git.jsancho.org/?a=blobdiff_plain;f=Source%2FWeapons.h;h=74725413b47f02a970f79167390e0bec67d714a9;hb=4d0ec1838440e55f24e8ec9501a62348cd9e2ec3;hp=6b2ebbaa8dac0128147ed8c4fa81d14f7715549f;hpb=35b5d8a643d2ff04614a8b9f57026b57d4a82667;p=lugaru.git diff --git a/Source/Weapons.h b/Source/Weapons.h index 6b2ebba..7472541 100644 --- a/Source/Weapons.h +++ b/Source/Weapons.h @@ -1,22 +1,21 @@ /* 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 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, +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. +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. +along with Lugaru. If not, see . */ #ifndef _WEAPONS_H_ @@ -26,7 +25,7 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. #include "gamegl.h" #include "Quaternions.h" -#include "Skeleton.h" +#include "Animation/Skeleton.h" #include "Models.h" #include "Terrain.h" #include "Sprite.h" @@ -41,88 +40,93 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. #define sword 2 #define staff 3 -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 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); + + void drop(XYZ velocity, XYZ tipvelocity, bool sethitsomething = true); + void thrown(XYZ velocity, bool sethitsomething = true); + + 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; + 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(); - - int Draw(); - void DoStuff(); + Weapons(); + ~Weapons(); + + int Draw(); + void DoStuff(); }; extern Weapons weapons;