From fa4037412902fd926281cd9b06d0f00db680138f Mon Sep 17 00:00:00 2001 From: =?utf8?q?C=C3=B4me=20Chilliet?= Date: Thu, 15 Dec 2016 20:22:57 +0700 Subject: [PATCH] Object type is now an enum --- Source/Objects/Object.cpp | 8 ++++---- Source/Objects/Object.hpp | 32 +++++++++++++++++--------------- 2 files changed, 21 insertions(+), 19 deletions(-) diff --git a/Source/Objects/Object.cpp b/Source/Objects/Object.cpp index 1189f36..db6249f 100644 --- a/Source/Objects/Object.cpp +++ b/Source/Objects/Object.cpp @@ -49,7 +49,7 @@ Texture Object::rocktextureptr; Object::Object() : position(), - type(0), + type(boxtype), yaw(0), pitch(0), rotx(0), @@ -70,7 +70,7 @@ Object::Object() : { } -Object::Object(int _type, XYZ _position, float _yaw, float _pitch, float _scale) : Object() +Object::Object(object_type _type, XYZ _position, float _yaw, float _pitch, float _scale) : Object() { scale = _scale; type = _type; @@ -714,7 +714,7 @@ void Object::LoadObjectsFromFile(FILE* tfile, bool skip) if (type == treeleavestype) { scale = lastscale; } - objects.emplace_back(new Object(type, position, yaw, pitch, scale)); + objects.emplace_back(new Object(object_type(type), position, yaw, pitch, scale)); lastscale = scale; } } @@ -788,7 +788,7 @@ void Object::MakeObject(int atype, XYZ where, float ayaw, float apitch, float as { if ((atype != treeleavestype && atype != bushtype) || foliage == 1) { unsigned nextid = objects.size(); - objects.emplace_back(new Object(atype, where, ayaw, apitch, ascale)); + objects.emplace_back(new Object(object_type(atype), where, ayaw, apitch, ascale)); objects.back()->addToTerrain(nextid); } } diff --git a/Source/Objects/Object.hpp b/Source/Objects/Object.hpp index a9a4318..64b0054 100644 --- a/Source/Objects/Object.hpp +++ b/Source/Objects/Object.hpp @@ -39,19 +39,21 @@ 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,7 +88,7 @@ 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(); -- 2.39.5