Minetest  5.4.0
object_properties.h
Go to the documentation of this file.
1 /*
2 Minetest
3 Copyright (C) 2013 celeron55, Perttu Ahola <celeron55@gmail.com>
4 
5 This program is free software; you can redistribute it and/or modify
6 it under the terms of the GNU Lesser General Public License as published by
7 the Free Software Foundation; either version 2.1 of the License, or
8 (at your option) any later version.
9 
10 This program is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 GNU Lesser General Public License for more details.
14 
15 You should have received a copy of the GNU Lesser General Public License along
16 with this program; if not, write to the Free Software Foundation, Inc.,
17 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
18 */
19 
20 #pragma once
21 
22 #include <string>
23 #include "irrlichttypes_bloated.h"
24 #include <iostream>
25 #include <map>
26 #include <vector>
27 #include "util/Optional.h"
28 
30 {
31  u16 hp_max = 1;
32  u16 breath_max = 0;
33  bool physical = false;
34  bool collideWithObjects = true;
35  // Values are BS=1
36  aabb3f collisionbox = aabb3f(-0.5f, -0.5f, -0.5f, 0.5f, 0.5f, 0.5f);
37  aabb3f selectionbox = aabb3f(-0.5f, -0.5f, -0.5f, 0.5f, 0.5f, 0.5f);
38  bool pointable = true;
39  std::string visual = "sprite";
40  std::string mesh = "";
41  v3f visual_size = v3f(1, 1, 1);
42  std::vector<std::string> textures;
43  std::string damage_texture_modifier = "^[brighten";
44  std::vector<video::SColor> colors;
47  bool is_visible = true;
48  bool makes_footstep_sound = false;
49  f32 stepheight = 0.0f;
50  float automatic_rotate = 0.0f;
53  bool backface_culling = true;
54  s8 glow = 0;
55  std::string nametag = "";
56  video::SColor nametag_color = video::SColor(255, 255, 255, 255);
59  std::string infotext;
61  std::string wield_item;
62  bool static_save = true;
63  float eye_height = 1.625f;
64  float zoom_fov = 0.0f;
65  bool use_texture_alpha = false;
66  bool shaded = true;
67  bool show_on_minimap = false;
68 
70  std::string dump();
71  void serialize(std::ostream &os) const;
72  void deSerialize(std::istream &is);
73 };
constexpr nullopt_t nullopt
Definition: Optional.h:27
core::aabbox3d< f32 > aabb3f
Definition: irr_aabb3d.h:26
core::vector2d< s16 > v2s16
Definition: irr_v2d.h:27
core::vector3df v3f
Definition: irr_v3d.h:26
Definition: object_properties.h:30
u16 hp_max
Definition: object_properties.h:31
bool is_visible
Definition: object_properties.h:47
std::string visual
Definition: object_properties.h:39
bool pointable
Definition: object_properties.h:38
float eye_height
Definition: object_properties.h:63
std::string wield_item
For dropped items, this contains item information.
Definition: object_properties.h:61
v2s16 spritediv
Definition: object_properties.h:45
f32 automatic_face_movement_dir_offset
Definition: object_properties.h:52
std::string damage_texture_modifier
Definition: object_properties.h:43
std::string mesh
Definition: object_properties.h:40
video::SColor nametag_color
Definition: object_properties.h:56
s8 glow
Definition: object_properties.h:54
float zoom_fov
Definition: object_properties.h:64
void serialize(std::ostream &os) const
Definition: object_properties.cpp:86
Optional< video::SColor > nametag_bgcolor
Definition: object_properties.h:57
std::string infotext
Definition: object_properties.h:59
ObjectProperties()
Definition: object_properties.cpp:29
std::string dump()
Definition: object_properties.cpp:35
void deSerialize(std::istream &is)
Definition: object_properties.cpp:144
v3f visual_size
Definition: object_properties.h:41
u16 breath_max
Definition: object_properties.h:32
float automatic_rotate
Definition: object_properties.h:50
bool makes_footstep_sound
Definition: object_properties.h:48
bool static_save
Definition: object_properties.h:62
v2s16 initial_sprite_basepos
Definition: object_properties.h:46
bool collideWithObjects
Definition: object_properties.h:34
bool show_on_minimap
Definition: object_properties.h:67
bool physical
Definition: object_properties.h:33
f32 stepheight
Definition: object_properties.h:49
f32 automatic_face_movement_max_rotation_per_sec
Definition: object_properties.h:58
aabb3f selectionbox
Definition: object_properties.h:37
aabb3f collisionbox
Definition: object_properties.h:36
bool shaded
Definition: object_properties.h:66
std::vector< video::SColor > colors
Definition: object_properties.h:44
std::string nametag
Definition: object_properties.h:55
bool use_texture_alpha
Definition: object_properties.h:65
std::vector< std::string > textures
Definition: object_properties.h:42
bool backface_culling
Definition: object_properties.h:53
bool automatic_face_movement_dir
Definition: object_properties.h:51