mirror of
https://github.com/MadeOfJelly/MushMachine.git
synced 2024-12-04 19:23:28 +01:00
componets json with defaults, minor formatting
This commit is contained in:
parent
ab0e5afb94
commit
5148ea7217
@ -4,7 +4,7 @@
|
|||||||
|
|
||||||
namespace MM::Components {
|
namespace MM::Components {
|
||||||
struct Name {
|
struct Name {
|
||||||
static const size_t max_str_len = 64;
|
static const size_t max_str_len {64u};
|
||||||
std::string str;
|
std::string str;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
@ -4,7 +4,7 @@ namespace MM::Components {
|
|||||||
|
|
||||||
// used to lift 2D into 3D space. like a z-index in css/svg
|
// used to lift 2D into 3D space. like a z-index in css/svg
|
||||||
struct Position2D_ZOffset {
|
struct Position2D_ZOffset {
|
||||||
float z_offset = 500.f; // default camera allows values to be between 0 and 1000
|
float z_offset {500.f}; // default camera allows values to be between 0 and 1000
|
||||||
};
|
};
|
||||||
|
|
||||||
} // MM::Components
|
} // MM::Components
|
||||||
|
@ -7,6 +7,6 @@
|
|||||||
#include "./json_glm.hpp"
|
#include "./json_glm.hpp"
|
||||||
|
|
||||||
namespace MM::Components {
|
namespace MM::Components {
|
||||||
NLOHMANN_DEFINE_TYPE_NON_INTRUSIVE(Color, color)
|
NLOHMANN_DEFINE_TYPE_NON_INTRUSIVE_WITH_DEFAULT(Color, color)
|
||||||
} // MM::Components
|
} // MM::Components
|
||||||
|
|
||||||
|
@ -9,12 +9,12 @@
|
|||||||
|
|
||||||
namespace glm {
|
namespace glm {
|
||||||
|
|
||||||
NLOHMANN_DEFINE_TYPE_NON_INTRUSIVE(vec2, x, y)
|
NLOHMANN_DEFINE_TYPE_NON_INTRUSIVE_WITH_DEFAULT(vec2, x, y)
|
||||||
NLOHMANN_DEFINE_TYPE_NON_INTRUSIVE(vec3, x, y, z)
|
NLOHMANN_DEFINE_TYPE_NON_INTRUSIVE_WITH_DEFAULT(vec3, x, y, z)
|
||||||
NLOHMANN_DEFINE_TYPE_NON_INTRUSIVE(vec4, x, y, z, w)
|
NLOHMANN_DEFINE_TYPE_NON_INTRUSIVE_WITH_DEFAULT(vec4, x, y, z, w)
|
||||||
|
|
||||||
//NLOHMANN_DEFINE_TYPE_NON_INTRUSIVE(mat4x4, [0], y, z, w)
|
//NLOHMANN_DEFINE_TYPE_NON_INTRUSIVE(mat4x4, [0], y, z, w)
|
||||||
inline void to_json(nlohmann::json& nlohmann_json_j, const mat4x4& nlohmann_json_t) {
|
inline void to_json(nlohmann::json& nlohmann_json_j, const mat4x4& nlohmann_json_t) {
|
||||||
// TODO: make 2d array?
|
// TODO: make 2d array?
|
||||||
nlohmann_json_j = nlohmann::json::array_t{};
|
nlohmann_json_j = nlohmann::json::array_t{};
|
||||||
nlohmann_json_j[0] = nlohmann_json_t[0];
|
nlohmann_json_j[0] = nlohmann_json_t[0];
|
||||||
@ -22,7 +22,7 @@ namespace glm {
|
|||||||
nlohmann_json_j[2] = nlohmann_json_t[2];
|
nlohmann_json_j[2] = nlohmann_json_t[2];
|
||||||
nlohmann_json_j[3] = nlohmann_json_t[3];
|
nlohmann_json_j[3] = nlohmann_json_t[3];
|
||||||
}
|
}
|
||||||
inline void from_json(const nlohmann::json& nlohmann_json_j, mat4x4& nlohmann_json_t) {
|
inline void from_json(const nlohmann::json& nlohmann_json_j, mat4x4& nlohmann_json_t) {
|
||||||
if (!nlohmann_json_j.is_array()) {
|
if (!nlohmann_json_j.is_array()) {
|
||||||
//throw nlohmann::json::type_error::create(0, "", nlohmann_json_j);
|
//throw nlohmann::json::type_error::create(0, "", nlohmann_json_j);
|
||||||
assert(false && "expected array");
|
assert(false && "expected array");
|
||||||
|
@ -5,6 +5,7 @@
|
|||||||
#include <mm/components/name.hpp>
|
#include <mm/components/name.hpp>
|
||||||
|
|
||||||
namespace MM::Components {
|
namespace MM::Components {
|
||||||
|
// TODO: manual with str len limit
|
||||||
NLOHMANN_DEFINE_TYPE_NON_INTRUSIVE(Name, str)
|
NLOHMANN_DEFINE_TYPE_NON_INTRUSIVE(Name, str)
|
||||||
} // MM::Components
|
} // MM::Components
|
||||||
|
|
||||||
|
@ -7,6 +7,6 @@
|
|||||||
#include "./json_glm.hpp"
|
#include "./json_glm.hpp"
|
||||||
|
|
||||||
namespace MM::Components {
|
namespace MM::Components {
|
||||||
NLOHMANN_DEFINE_TYPE_NON_INTRUSIVE(Position2D, pos)
|
NLOHMANN_DEFINE_TYPE_NON_INTRUSIVE_WITH_DEFAULT(Position2D, pos)
|
||||||
} // MM::Components
|
} // MM::Components
|
||||||
|
|
||||||
|
@ -7,6 +7,6 @@
|
|||||||
#include "./json_glm.hpp"
|
#include "./json_glm.hpp"
|
||||||
|
|
||||||
namespace MM::Components {
|
namespace MM::Components {
|
||||||
NLOHMANN_DEFINE_TYPE_NON_INTRUSIVE(Position2D_ZOffset, z_offset)
|
NLOHMANN_DEFINE_TYPE_NON_INTRUSIVE_WITH_DEFAULT(Position2D_ZOffset, z_offset)
|
||||||
} // MM::Components
|
} // MM::Components
|
||||||
|
|
||||||
|
@ -7,6 +7,6 @@
|
|||||||
#include "./json_glm.hpp"
|
#include "./json_glm.hpp"
|
||||||
|
|
||||||
namespace MM::Components {
|
namespace MM::Components {
|
||||||
NLOHMANN_DEFINE_TYPE_NON_INTRUSIVE(Position3D, pos)
|
NLOHMANN_DEFINE_TYPE_NON_INTRUSIVE_WITH_DEFAULT(Position3D, pos)
|
||||||
} // MM::Components
|
} // MM::Components
|
||||||
|
|
||||||
|
@ -7,6 +7,6 @@
|
|||||||
#include "./json_glm.hpp"
|
#include "./json_glm.hpp"
|
||||||
|
|
||||||
namespace MM::Components {
|
namespace MM::Components {
|
||||||
NLOHMANN_DEFINE_TYPE_NON_INTRUSIVE(Rotation2D, rot)
|
NLOHMANN_DEFINE_TYPE_NON_INTRUSIVE_WITH_DEFAULT(Rotation2D, rot)
|
||||||
} // MM::Components
|
} // MM::Components
|
||||||
|
|
||||||
|
@ -7,6 +7,6 @@
|
|||||||
#include "./json_glm.hpp"
|
#include "./json_glm.hpp"
|
||||||
|
|
||||||
namespace MM::Components {
|
namespace MM::Components {
|
||||||
NLOHMANN_DEFINE_TYPE_NON_INTRUSIVE(Scale2D, scale)
|
NLOHMANN_DEFINE_TYPE_NON_INTRUSIVE_WITH_DEFAULT(Scale2D, scale)
|
||||||
} // MM::Components
|
} // MM::Components
|
||||||
|
|
||||||
|
@ -7,6 +7,6 @@
|
|||||||
#include "./json_glm.hpp"
|
#include "./json_glm.hpp"
|
||||||
|
|
||||||
namespace MM::Components {
|
namespace MM::Components {
|
||||||
NLOHMANN_DEFINE_TYPE_NON_INTRUSIVE(Transform4x4, trans)
|
NLOHMANN_DEFINE_TYPE_NON_INTRUSIVE_WITH_DEFAULT(Transform4x4, trans)
|
||||||
} // MM::Components
|
} // MM::Components
|
||||||
|
|
||||||
|
@ -7,6 +7,6 @@
|
|||||||
#include "./json_glm.hpp"
|
#include "./json_glm.hpp"
|
||||||
|
|
||||||
namespace MM::Components {
|
namespace MM::Components {
|
||||||
NLOHMANN_DEFINE_TYPE_NON_INTRUSIVE(Velocity2DPosition, pos_vel)
|
NLOHMANN_DEFINE_TYPE_NON_INTRUSIVE_WITH_DEFAULT(Velocity2DPosition, pos_vel)
|
||||||
} // MM::Components
|
} // MM::Components
|
||||||
|
|
||||||
|
@ -7,6 +7,6 @@
|
|||||||
#include "./json_glm.hpp"
|
#include "./json_glm.hpp"
|
||||||
|
|
||||||
namespace MM::Components {
|
namespace MM::Components {
|
||||||
NLOHMANN_DEFINE_TYPE_NON_INTRUSIVE(Velocity2DPositionIntent, intent)
|
NLOHMANN_DEFINE_TYPE_NON_INTRUSIVE_WITH_DEFAULT(Velocity2DPositionIntent, intent)
|
||||||
} // MM::Components
|
} // MM::Components
|
||||||
|
|
||||||
|
@ -7,6 +7,6 @@
|
|||||||
#include "./json_glm.hpp"
|
#include "./json_glm.hpp"
|
||||||
|
|
||||||
namespace MM::Components {
|
namespace MM::Components {
|
||||||
NLOHMANN_DEFINE_TYPE_NON_INTRUSIVE(Velocity2DRotation, rot_vel)
|
NLOHMANN_DEFINE_TYPE_NON_INTRUSIVE_WITH_DEFAULT(Velocity2DRotation, rot_vel)
|
||||||
} // MM::Components
|
} // MM::Components
|
||||||
|
|
||||||
|
@ -5,6 +5,6 @@
|
|||||||
#include <mm/components/view_dir2d.hpp>
|
#include <mm/components/view_dir2d.hpp>
|
||||||
|
|
||||||
namespace MM::Components {
|
namespace MM::Components {
|
||||||
NLOHMANN_DEFINE_TYPE_NON_INTRUSIVE(ViewDir2D, dir)
|
NLOHMANN_DEFINE_TYPE_NON_INTRUSIVE_WITH_DEFAULT(ViewDir2D, dir)
|
||||||
} // MM::Components
|
} // MM::Components
|
||||||
|
|
||||||
|
@ -5,6 +5,6 @@
|
|||||||
#include <mm/components/view_dir3d.hpp>
|
#include <mm/components/view_dir3d.hpp>
|
||||||
|
|
||||||
namespace MM::Components {
|
namespace MM::Components {
|
||||||
NLOHMANN_DEFINE_TYPE_NON_INTRUSIVE(ViewDir3D, yaw, pitch, roll)
|
NLOHMANN_DEFINE_TYPE_NON_INTRUSIVE_WITH_DEFAULT(ViewDir3D, yaw, pitch, roll)
|
||||||
} // MM::Components
|
} // MM::Components
|
||||||
|
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
namespace MM::Components {
|
namespace MM::Components {
|
||||||
|
|
||||||
struct ViewDir2D {
|
struct ViewDir2D {
|
||||||
float dir = 0.f; // rad
|
float dir {0.f}; // rad
|
||||||
};
|
};
|
||||||
|
|
||||||
} // MM::Components
|
} // MM::Components
|
||||||
|
@ -3,9 +3,9 @@
|
|||||||
namespace MM::Components {
|
namespace MM::Components {
|
||||||
|
|
||||||
struct ViewDir3D {
|
struct ViewDir3D {
|
||||||
float yaw = 0.f; // rad
|
float yaw {0.f}; // rad
|
||||||
float pitch = 0.f; // rad
|
float pitch {0.f}; // rad
|
||||||
float roll = 0.f; // rad
|
float roll {0.f}; // rad
|
||||||
};
|
};
|
||||||
|
|
||||||
} // MM::Components
|
} // MM::Components
|
||||||
|
Loading…
Reference in New Issue
Block a user