diff --git a/src/KingSystem/GameData/gdtFlag.h b/src/KingSystem/GameData/gdtFlag.h index fa99617a..163b5c73 100644 --- a/src/KingSystem/GameData/gdtFlag.h +++ b/src/KingSystem/GameData/gdtFlag.h @@ -137,13 +137,19 @@ public: virtual u32 getRandomResetData() const = 0; - bool isResettable() const { return isResettableFlag(getProperties().getResetType()); } + bool isResettable() const { return isResettableFlag(getResetType()); } bool isPermanent() const { - return getProperties().isSave() && getProperties().getResetType() == ResetType::NoReset && - getRandomResetData() == 0; + return isSave() && getResetType() == ResetType::NoReset && getRandomResetData() == 0; } + bool isProgramReadable() const { return getProperties().isProgramReadable(); } + bool isProgramWritable() const { return getProperties().isProgramWritable(); } + bool isSave() const { return getProperties().isSave(); } + bool isOneTrigger() const { return getProperties().isOneTrigger(); } + bool isEventAssociated() const { return getProperties().isEventAssociated(); } + ResetType getResetType() const { return getProperties().getResetType(); } + protected: s32 clampValue_(const s32& min_value, s32* value, const s32& max_value); s32 clampValue_(const f32& min_value, f32* value, const f32& max_value); diff --git a/src/KingSystem/GameData/gdtTriggerParam.cpp b/src/KingSystem/GameData/gdtTriggerParam.cpp index f36b6a1d..7a800440 100644 --- a/src/KingSystem/GameData/gdtTriggerParam.cpp +++ b/src/KingSystem/GameData/gdtTriggerParam.cpp @@ -81,7 +81,7 @@ inline bool getFlagValue(const sead::PtrArray& array, T* out_value, s3 if (!flag) return false; - if (check_permissions && !flag->getProperties().isProgramReadable()) + if (check_permissions && !flag->isProgramReadable()) return false; if constexpr (std::is_same()) @@ -108,7 +108,7 @@ inline bool getFlagValue(const sead::PtrArray>& arrays, if (!flag) return false; - if (check_permissions && !flag->getProperties().isProgramReadable()) + if (check_permissions && !flag->isProgramReadable()) return false; if constexpr (std::is_same()) @@ -354,8 +354,7 @@ void TriggerParam::initResetData(sead::Heap* heap) { else \ mResetEntries[reset_entry_idx].index = i; \ \ - mResetEntries[reset_entry_idx].reset_type = \ - (*ARRAYS[i])[0]->getProperties().getResetType(); \ + mResetEntries[reset_entry_idx].reset_type = (*ARRAYS[i])[0]->getResetType(); \ \ ++reset_entry_idx; \ if (reset_entry_idx == num_reset_entries) \