]> git.localhorst.tv Git - blank.git/blobdiff - src/world/block.cpp
glm backwards compatibility
[blank.git] / src / world / block.cpp
index f518b64aeabc96ad4a7cc8d8313582cb64348f8f..32cbe04bbdd37bd6fbff379c1e01483b46b132cc 100644 (file)
@@ -89,18 +89,10 @@ BlockType::BlockType() noexcept
 , collision(true)
 , collide_block(true)
 , generate(false)
-, min_solidity(0.5f)
-, mid_solidity(0.75f)
-, max_solidity(1.0f)
-, min_humidity(-1.0f)
-, mid_humidity(0.0f)
-, max_humidity(1.0f)
-, min_temperature(-1.0f)
-, mid_temperature(0.0f)
-, max_temperature(1.0f)
-, min_richness(-1.0f)
-, mid_richness(0.0f)
-, max_richness(1.0f)
+, solidity(0.5f, 0.75f, 1.0f)
+, humidity(-1.0f, 0.0f, 1.0f)
+, temperature(-1.0f, 0.0f, 1.0f)
+, richness(-1.0f, 0.0f, 1.0f)
 , commonness(1.0f) {
 
 }
@@ -119,18 +111,10 @@ void BlockType::Copy(const BlockType &other) noexcept {
        collision = other.collision;
        collide_block = collide_block;
        generate = other.generate;
-       min_solidity = other.min_solidity;
-       mid_solidity = other.mid_solidity;
-       max_solidity = other.max_solidity;
-       min_humidity = other.min_humidity;
-       mid_humidity = other.mid_humidity;
-       max_humidity = other.max_humidity;
-       min_temperature = other.min_temperature;
-       mid_temperature = other.mid_temperature;
-       max_temperature = other.max_temperature;
-       min_richness = other.min_richness;
-       mid_richness = other.mid_richness;
-       max_richness = other.max_richness;
+       solidity = other.solidity;
+       humidity = other.humidity;
+       temperature = other.temperature;
+       richness = other.richness;
        commonness = other.commonness;
 }
 
@@ -165,13 +149,13 @@ void BlockType::Read(
                        in.Skip(Token::BRACKET_CLOSE);
                } else if (name == "rgb_mod") {
                        in.ReadVec(color_conv);
-                       rgb_mod = glm::tvec3<unsigned char>(color_conv * 255.0f);
+                       rgb_mod = BlockMesh::ColorMod(color_conv * 255.0f);
                } else if (name == "hsl_mod") {
                        in.ReadVec(color_conv);
-                       hsl_mod = glm::tvec3<unsigned char>(color_conv * 255.0f);
+                       hsl_mod = BlockMesh::ColorMod(color_conv * 255.0f);
                } else if (name == "outline") {
                        in.ReadVec(color_conv);
-                       outline_color = glm::tvec3<unsigned char>(color_conv * 255.0f);
+                       outline_color = BlockMesh::ColorMod(color_conv * 255.0f);
                } else if (name == "gravity") {
                        gravity = BlockGravity::Read(in);
                } else if (name == "label") {
@@ -193,29 +177,29 @@ void BlockType::Read(
                } else if (name == "generate") {
                        generate = in.GetBool();
                } else if (name == "min_solidity") {
-                       min_solidity = in.GetFloat();
+                       solidity.Min(in.GetFloat());
                } else if (name == "mid_solidity") {
-                       mid_solidity = in.GetFloat();
+                       solidity.Mid(in.GetFloat());
                } else if (name == "max_solidity") {
-                       max_solidity = in.GetFloat();
+                       solidity.Max(in.GetFloat());
                } else if (name == "min_humidity") {
-                       min_humidity = in.GetFloat();
+                       humidity.Min(in.GetFloat());
                } else if (name == "mid_humidity") {
-                       mid_humidity = in.GetFloat();
+                       humidity.Mid(in.GetFloat());
                } else if (name == "max_humidity") {
-                       max_humidity = in.GetFloat();
+                       humidity.Max(in.GetFloat());
                } else if (name == "min_temperature") {
-                       min_temperature = in.GetFloat();
+                       temperature.Min(in.GetFloat());
                } else if (name == "mid_temperature") {
-                       mid_temperature = in.GetFloat();
+                       temperature.Mid(in.GetFloat());
                } else if (name == "max_temperature") {
-                       max_temperature = in.GetFloat();
+                       temperature.Max(in.GetFloat());
                } else if (name == "min_richness") {
-                       min_richness = in.GetFloat();
+                       richness.Min(in.GetFloat());
                } else if (name == "mid_richness") {
-                       mid_richness = in.GetFloat();
+                       richness.Mid(in.GetFloat());
                } else if (name == "max_richness") {
-                       max_richness = in.GetFloat();
+                       richness.Max(in.GetFloat());
                } else if (name == "commonness") {
                        commonness = in.GetFloat();
                } else if (name == "shape") {
@@ -256,7 +240,7 @@ void BlockType::FillBlockMesh(
 void BlockType::OutlinePrimitiveMesh(PrimitiveMesh::Buffer &buf) const noexcept {
        if (!shape) return;
        shape->Outline(buf);
-       buf.colors.insert(buf.colors.end(), shape->OutlineCount(), glm::tvec4<unsigned char>(outline_color, 255));
+       buf.colors.insert(buf.colors.end(), shape->OutlineCount(), PrimitiveMesh::Color(outline_color, 255));
 }
 
 
@@ -313,8 +297,8 @@ struct RadialGravity
        : strength(strength) { }
 
        glm::vec3 GetGravity(const glm::vec3 &diff, const glm::mat4 &) const noexcept override {
-               float dist2 = length2(diff);
-               glm::vec3 dir = -normalize(diff);
+               float dist2 = glm::length2(diff);
+               glm::vec3 dir = -glm::normalize(diff);
                return dir * (strength / dist2);
        }