X-Git-Url: http://git.localhorst.tv/?a=blobdiff_plain;f=src%2Fworld%2FBlockType.hpp;h=3ca170a200ba65367ff604bfbada3645456714b1;hb=2ad195d00eea2c4d48f3f1a3ccc60a8176e7da20;hp=a63507aec28ce568f991866a2abece597d2ac845;hpb=ed3bdc028edc0ecb5835d1c0bf18dbc59b342daf;p=blank.git diff --git a/src/world/BlockType.hpp b/src/world/BlockType.hpp index a63507a..3ca170a 100644 --- a/src/world/BlockType.hpp +++ b/src/world/BlockType.hpp @@ -24,13 +24,16 @@ struct BlockType { const Shape *shape; std::vector textures; - glm::vec3 hsl_mod; - glm::vec3 rgb_mod; - glm::vec3 outline_color; + glm::tvec3 hsl_mod; + glm::tvec3 rgb_mod; + glm::tvec3 outline_color; /// gravity configuration or null if not emitting gravity std::unique_ptr gravity; + /// a string identifying in contexts where numbers just won't do + /// must be unique within any given set + std::string name; /// a string to display to the user std::string label; @@ -74,6 +77,10 @@ struct BlockType { BlockType() noexcept; + /// clone values of given type + /// this copies everything except for ID, name, label, and gravity + void Copy(const BlockType &) noexcept; + void Read( TokenStreamReader &in, ResourceIndex &snd_index,