X-Git-Url: https://git.jsancho.org/?a=blobdiff_plain;f=Source%2FObjects%2FObject.hpp;h=61ba4abb30917e6f668dbe7c13f9e7c574803f4d;hb=6a8cb464330e92163c8feaf101b8b5837c973bba;hp=a9a4318213584f8832efd1f2ada2d06f4498da48;hpb=bdf3ebaf05ce8dc8d59e321a07c66598db181eb7;p=lugaru.git diff --git a/Source/Objects/Object.hpp b/Source/Objects/Object.hpp index a9a4318..61ba4ab 100644 --- a/Source/Objects/Object.hpp +++ b/Source/Objects/Object.hpp @@ -1,6 +1,6 @@ /* Copyright (C) 2003, 2010 - Wolfire Games -Copyright (C) 2010-2016 - Lugaru contributors (see AUTHORS file) +Copyright (C) 2010-2017 - Lugaru contributors (see AUTHORS file) This file is part of Lugaru. @@ -23,12 +23,12 @@ along with Lugaru. If not, see . #include "Environment/Lights.hpp" #include "Environment/Terrain.hpp" -#include "Graphic/gamegl.hpp" #include "Graphic/Models.hpp" #include "Graphic/Sprite.hpp" #include "Graphic/Texture.hpp" +#include "Graphic/gamegl.hpp" #include "Math/Frustum.hpp" -#include "Math/Quaternions.hpp" +#include "Math/XYZ.hpp" #include "Utils/ImageIO.hpp" #include @@ -39,20 +39,22 @@ along with Lugaru. If not, see . #define max_objects 300 -#define boxtype 0 -#define weirdtype 1 -#define spiketype 2 -#define treetrunktype 3 -#define treeleavestype 4 -#define bushtype 5 -#define rocktype 6 -#define walltype 7 -#define chimneytype 8 -#define platformtype 9 -#define tunneltype 11 -#define cooltype 12 -#define firetype 13 - +enum object_type +{ + boxtype = 0, + weirdtype = 1, + spiketype = 2, + treetrunktype = 3, + treeleavestype = 4, + bushtype = 5, + rocktype = 6, + walltype = 7, + chimneytype = 8, + platformtype = 9, + tunneltype = 11, + cooltype = 12, + firetype = 13 +}; class Object { @@ -66,7 +68,7 @@ public: static Texture rocktextureptr; XYZ position; - int type; + object_type type; float yaw; float pitch; float rotx; @@ -86,13 +88,13 @@ public: float flamedelay; Object(); - Object(int _type, XYZ _position, float _yaw, float _pitch, float _scale); + Object(object_type _type, XYZ _position, float _yaw, float _pitch, float _scale); static void ComputeCenter(); static void ComputeRadius(); static void AddObjectsToTerrain(); static void LoadObjectsFromFile(FILE* tfile, bool skip); - static void SphereCheckPossible(XYZ *p1, float radius); + static void SphereCheckPossible(XYZ* p1, float radius); static void DeleteObject(int which); static void MakeObject(int atype, XYZ where, float ayaw, float apitch, float ascale); static void Draw(); @@ -103,6 +105,7 @@ public: private: void handleFire(); + void handleRot(int divide); void doShadows(XYZ lightloc); void draw(); void drawSecondPass(); @@ -111,4 +114,3 @@ private: }; #endif -