diff options
| author | Léo Lam <leo@leolam.fr> | 2022-02-13 19:08:08 +0100 |
|---|---|---|
| committer | Léo Lam <leo@leolam.fr> | 2022-02-13 19:08:08 +0100 |
| commit | dfcfbbe4a4d0efc696b414edf59e0ce807b2d910 (patch) | |
| tree | e0037359e62ed494b4330f28897c49d6827145ed /src/KingSystem/Physics/System/physMaterialMask.cpp | |
| parent | 3512b78627490b952db0dc4b4a8fc58d49e8d55b (diff) | |
ksys/phys: Move common headers (Defines, MaterialMask) out of System/
Diffstat (limited to 'src/KingSystem/Physics/System/physMaterialMask.cpp')
| -rw-r--r-- | src/KingSystem/Physics/System/physMaterialMask.cpp | 80 |
1 files changed, 0 insertions, 80 deletions
diff --git a/src/KingSystem/Physics/System/physMaterialMask.cpp b/src/KingSystem/Physics/System/physMaterialMask.cpp deleted file mode 100644 index c468c76d..00000000 --- a/src/KingSystem/Physics/System/physMaterialMask.cpp +++ /dev/null @@ -1,80 +0,0 @@ -#include "KingSystem/Physics/System/physMaterialMask.h" -#include "KingSystem/Physics/System/physMaterialTable.h" -#include "KingSystem/Physics/System/physSystem.h" - -namespace ksys::phys { - -MaterialMask::MaterialMask() = default; - -MaterialMask::MaterialMask(MaterialMaskData data) : mData(data) {} - -MaterialMask::MaterialMask(Material mat, FloorCode floor, WallCode wall, bool flag) { - mData.material.Init(mat); - mData.floor.Init(floor); - mData.wall.Init(wall); - mData.setFlag(flag); -} - -MaterialMask::MaterialMask(Material mat, const char* submat_name, FloorCode floor, WallCode wall, - bool flag) - : mSubMaterialNameCache(submat_name) { - auto submat_idx = getSubMaterialIdx(mat, submat_name); - if (!MaterialMaskData::isValidSubMaterialIdx(submat_idx)) - submat_idx = 0; - mData.raw = {}; - mData.material.Init(mat); - mData.sub_material.Init(submat_idx); - mData.floor.Init(floor); - mData.wall.Init(wall); - mData.setFlag(flag); -} - -MaterialMask::MaterialMask(Material mat, int submat_idx, FloorCode floor, WallCode wall, bool flag) - : mSubMaterialNameCache(getSubMaterialName(mat, submat_idx).cstr()) { - mData.raw = {}; - mData.material.Init(mat); - mData.sub_material.Init(submat_idx); - mData.floor.Init(floor); - mData.wall.Init(wall); - mData.setFlag(flag); -} - -MaterialMask::~MaterialMask() = default; - -const char* MaterialMask::getMaterialName() const { - const Material material = getMaterial(); - if (isInvalidMaterial(material.value())) - return "Incorrent"; // sic - return materialToText(material); -} - -const char* MaterialMask::getSubMaterialName() const { - if (mSubMaterialNameCache != nullptr) - return mSubMaterialNameCache; - - mSubMaterialNameCache = getSubMaterialName(getMaterial(), getSubMaterialIdx()).cstr(); - return mSubMaterialNameCache; -} - -int MaterialMask::getSubMaterialIdx(Material mat, const sead::SafeString& submat_name) { - return System::instance()->getMaterialTable()->getSubMaterialIdx(mat, submat_name); -} - -const sead::SafeString& MaterialMask::getSubMaterialName(Material mat, int submat_idx) { - return System::instance()->getMaterialTable()->getSubMaterial(mat, submat_idx); -} - -int MaterialMask::getNumSubMaterials(Material mat) { - return System::instance()->getMaterialTable()->getNumSubMaterials(mat); -} - -const sead::SafeString& MaterialMask::getSubMaterialName(int mat, int submat_idx) { - return getSubMaterialName(Material(mat), submat_idx); -} - -void MaterialMask::setMaterial(Material mat) { - mData.material = {}; - mData.material.SetUnsafe(mat); -} - -} // namespace ksys::phys |
