summaryrefslogtreecommitdiff
path: root/src/KingSystem/Physics/System/physShapeParam.cpp
diff options
context:
space:
mode:
authorLéo Lam <leo@leolam.fr>2022-01-30 16:48:26 +0100
committerLéo Lam <leo@leolam.fr>2022-01-30 17:07:34 +0100
commit6519cce927b34bfafeda31d5113bb4d27f3a3791 (patch)
tree787d5273cf03ceacb60f37931d5a1d613478aa78 /src/KingSystem/Physics/System/physShapeParam.cpp
parent62631073018b9cb7d89ad3904e692a412c570eed (diff)
ksys/phys: Start merging physShapeParam with RigidBody/Shape
Turns out we already have a bunch of ShapeParam classes in physShapeParam and parts of RigidBody/Shape are just duplicates -- whoops. ShapeParam is renamed to ShapeParamObj to avoid any confusion with the (.*)ShapeParam classes.
Diffstat (limited to 'src/KingSystem/Physics/System/physShapeParam.cpp')
-rw-r--r--src/KingSystem/Physics/System/physShapeParam.cpp105
1 files changed, 0 insertions, 105 deletions
diff --git a/src/KingSystem/Physics/System/physShapeParam.cpp b/src/KingSystem/Physics/System/physShapeParam.cpp
deleted file mode 100644
index b6aae2a5..00000000
--- a/src/KingSystem/Physics/System/physShapeParam.cpp
+++ /dev/null
@@ -1,105 +0,0 @@
-#include "KingSystem/Physics/System/physShapeParam.h"
-
-namespace ksys::phys {
-
-ShapeParam::ShapeParam()
- : shape_type(sead::SafeString::cEmptyString, "shape_type", this), radius(1.0, "radius", this),
- convex_radius(0.05, "convex_radius", this),
- translate_0(sead::Vector3f::zero, "translate_0", this),
- translate_1(sead::Vector3f::zero, "translate_1", this),
- rotate(sead::Vector3f::zero, "rotate", this), vertex_num(0, "vertex_num", this),
- material(sead::SafeString::cEmptyString, "material", this),
- sub_material(sead::SafeString::cEmptyString, "sub_material", this),
- wall_code({"None"}, "wall_code", this), floor_code({"None"}, "floor_code", this),
- item_code_disable_stick(false, "item_code_disable_stick", this) {}
-
-ShapeParam::~ShapeParam() {
- vertices.freeBuffer();
-}
-
-bool ShapeParam::parse(const agl::utl::ResParameterObj& res_obj, sead::Heap* heap) {
- vertices.freeBuffer();
-
- applyResParameterObj(res_obj);
-
- const int num_vertices = vertex_num.ref();
- if (num_vertices > 0) {
- vertices.allocBufferAssert(num_vertices, heap);
- for (int i = 0; i < num_vertices; ++i) {
- sead::FormatFixedSafeString<32> name("vertex_%d", i);
- vertices[i].init(sead::Vector3f::zero, name, "頂点", this);
- }
-
- applyResParameterObj(res_obj);
- }
-
- return true;
-}
-
-ShapeParam::Shape ShapeParam::getShape() const {
- if (*shape_type == "sphere")
- return Shape::Sphere;
- if (*shape_type == "capsule")
- return Shape::Capsule;
- if (*shape_type == "cylinder")
- return Shape::Cylinder;
- if (*shape_type == "box")
- return Shape::Box;
- if (*shape_type == "polytope")
- return Shape::Polytope;
- if (*shape_type == "character_prism")
- return Shape::CharacterPrism;
-
- return Shape::Unknown;
-}
-
-void ShapeParam::getCommon(CommonShapeParam* param) const {
- param->material = materialFromText(*material);
- param->sub_material = sub_material->cstr();
- param->floor_code = floorCodeFromText(*floor_code);
- param->wall_code = wallCodeFromText(*wall_code);
- param->item_code_disable_stick = *item_code_disable_stick;
-}
-
-void ShapeParam::getSphere(SphereParam* param) const {
- param->radius = *radius;
- param->translate = *translate_0;
- getCommon(&param->common);
-}
-
-void ShapeParam::getCapsule(CapsuleParam* param) const {
- param->radius = *radius;
- param->translate_0 = *translate_0;
- param->translate_1 = *translate_1;
- getCommon(&param->common);
-}
-
-void ShapeParam::getCylinder(CylinderParam* param) const {
- param->radius = *radius;
- param->convex_radius = *convex_radius;
- param->translate_0 = *translate_0;
- param->translate_1 = *translate_1;
- getCommon(&param->common);
-}
-
-void ShapeParam::getBox(BoxParam* param) const {
- param->translate_0 = *translate_0;
- param->translate_1 = *translate_1;
- param->rotate = *rotate;
- param->convex_radius = *convex_radius;
- getCommon(&param->common);
-}
-
-void ShapeParam::getPolytope(PolytopeParam* param) const {
- param->vertex_num = *vertex_num;
- getCommon(&param->common);
-}
-
-void ShapeParam::getCharacterPrism(CharacterPrismParam* param) const {
- param->radius = *radius;
- param->translate_0 = *translate_0;
- param->translate_1 = *translate_1;
- getCommon(&param->common);
-}
-
-} // namespace ksys::phys