]> git.jsancho.org Git - lugaru.git/commitdiff
Object type is now an enum
authorCôme Chilliet <come@chilliet.eu>
Thu, 15 Dec 2016 13:22:57 +0000 (20:22 +0700)
committerCôme Chilliet <come@chilliet.eu>
Thu, 15 Dec 2016 13:22:57 +0000 (20:22 +0700)
Source/Objects/Object.cpp
Source/Objects/Object.hpp

index 1189f365243c75a0fdb33193a35f599313c5213b..db6249f7cd61c15057ce92f2c7cc7c008ecf2d5f 100644 (file)
@@ -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);
     }
 }
index a9a4318213584f8832efd1f2ada2d06f4498da48..64b005437d9c2498a7eefe8518837d0c8ee5f7c4 100644 (file)
@@ -39,19 +39,21 @@ along with Lugaru.  If not, see <http://www.gnu.org/licenses/>.
 
 #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();