]> git.lizzy.rs Git - dragonfireclient.git/blobdiff - src/object_properties.h
Fix some debug info showing despite being disabled in the UI (#12205)
[dragonfireclient.git] / src / object_properties.h
index d273b52f4a2a24e9e529fd4bf0a190b6d3b973bf..79866a22c4ba8949f639d7c34e80f3cded067b22 100644 (file)
@@ -24,22 +24,23 @@ with this program; if not, write to the Free Software Foundation, Inc.,
 #include <iostream>
 #include <map>
 #include <vector>
+#include "util/Optional.h"
 
 struct ObjectProperties
 {
-       s16 hp_max = 1;
+       u16 hp_max = 1;
        u16 breath_max = 0;
        bool physical = false;
        bool collideWithObjects = true;
-       float weight = 5.0f;
        // Values are BS=1
        aabb3f collisionbox = aabb3f(-0.5f, -0.5f, -0.5f, 0.5f, 0.5f, 0.5f);
        aabb3f selectionbox = aabb3f(-0.5f, -0.5f, -0.5f, 0.5f, 0.5f, 0.5f);
        bool pointable = true;
        std::string visual = "sprite";
        std::string mesh = "";
-       v2f visual_size = v2f(1, 1);
+       v3f visual_size = v3f(1, 1, 1);
        std::vector<std::string> textures;
+       std::string damage_texture_modifier = "^[brighten";
        std::vector<video::SColor> colors;
        v2s16 spritediv = v2s16(1, 1);
        v2s16 initial_sprite_basepos;
@@ -53,6 +54,7 @@ struct ObjectProperties
        s8 glow = 0;
        std::string nametag = "";
        video::SColor nametag_color = video::SColor(255, 255, 255, 255);
+       Optional<video::SColor> nametag_bgcolor = nullopt;
        f32 automatic_face_movement_max_rotation_per_sec = -1.0f;
        std::string infotext;
        //! For dropped items, this contains item information.
@@ -61,9 +63,13 @@ struct ObjectProperties
        float eye_height = 1.625f;
        float zoom_fov = 0.0f;
        bool use_texture_alpha = false;
+       bool shaded = true;
+       bool show_on_minimap = false;
 
        ObjectProperties();
        std::string dump();
+       // check limits of some important properties (strings) that'd cause exceptions later on
+       bool validate();
        void serialize(std::ostream &os) const;
        void deSerialize(std::istream &is);
 };