]> git.lizzy.rs Git - minetest.git/blobdiff - src/object_properties.h
Player eye height: Make this a settable player object property
[minetest.git] / src / object_properties.h
index eeb397efa40d3112ee14777dad0b8a3febe8a414..8ccce589fc3634545526446cb0847e36764af747 100644 (file)
@@ -17,8 +17,7 @@ with this program; if not, write to the Free Software Foundation, Inc.,
 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
 */
 
-#ifndef OBJECT_PROPERTIES_HEADER
-#define OBJECT_PROPERTIES_HEADER
+#pragma once
 
 #include <string>
 #include "irrlichttypes_bloated.h"
@@ -28,28 +27,42 @@ with this program; if not, write to the Free Software Foundation, Inc.,
 
 struct ObjectProperties
 {
+       s16 hp_max = 1;
+       u16 breath_max = 0;
+       bool physical = false;
+       bool collideWithObjects = true;
+       float weight = 5.0f;
        // Values are BS=1
-       s16 hp_max;
-       bool physical;
-       float weight;
-       core::aabbox3d<f32> collisionbox;
-       std::string visual;
-       std::string mesh;
-       v2f visual_size;
+       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);
        std::vector<std::string> textures;
        std::vector<video::SColor> colors;
-       v2s16 spritediv;
+       v2s16 spritediv = v2s16(1, 1);
        v2s16 initial_sprite_basepos;
-       bool is_visible;
-       bool makes_footstep_sound;
-       float automatic_rotate;
-
+       bool is_visible = true;
+       bool makes_footstep_sound = false;
+       f32 stepheight = 0.0f;
+       bool can_zoom = true;
+       float automatic_rotate = 0.0f;
+       bool automatic_face_movement_dir = false;
+       f32 automatic_face_movement_dir_offset = 0.0f;
+       bool backface_culling = true;
+       s8 glow = 0;
+       std::string nametag = "";
+       video::SColor nametag_color = video::SColor(255, 255, 255, 255);
+       f32 automatic_face_movement_max_rotation_per_sec = -1.0f;
+       std::string infotext;
+       //! For dropped items, this contains item information.
+       std::string wield_item;
+       bool static_save = true;
+       float eye_height = 1.625f;
 
        ObjectProperties();
        std::string dump();
        void serialize(std::ostream &os) const;
        void deSerialize(std::istream &is);
 };
-
-#endif
-