diff options
| author | robojumper <robojumper@gmail.com> | 2025-05-09 18:28:45 +0200 |
|---|---|---|
| committer | robojumper <robojumper@gmail.com> | 2025-05-10 22:20:16 +0200 |
| commit | 4c5dede891ea0934d77bfcee8f50f9702c949031 (patch) | |
| tree | ffac19613501deb82a6bdced221111510fe6feb4 /include/toBeSorted | |
| parent | 378c19269740113da8ca3fc4579ea6fd1d6d946e (diff) | |
d_message OK (via dFlow_c)
Diffstat (limited to 'include/toBeSorted')
| -rw-r--r-- | include/toBeSorted/blur_and_palette_manager.h | 2 | ||||
| -rw-r--r-- | include/toBeSorted/fi_context.h | 141 | ||||
| -rw-r--r-- | include/toBeSorted/global_fi_context.h | 17 | ||||
| -rw-r--r-- | include/toBeSorted/music_mgrs.h | 5 | ||||
| -rw-r--r-- | include/toBeSorted/unk_save_time.h | 27 |
5 files changed, 175 insertions, 17 deletions
diff --git a/include/toBeSorted/blur_and_palette_manager.h b/include/toBeSorted/blur_and_palette_manager.h index b7af8384..b86394dd 100644 --- a/include/toBeSorted/blur_and_palette_manager.h +++ b/include/toBeSorted/blur_and_palette_manager.h @@ -231,6 +231,8 @@ public: } void fn_800223A0(void *); void fn_80022440(void *); + // light pillar related + void fn_80024240(s16, s16, s16); u8 get0x2DE8() const { return field_0x2DE0[8]; diff --git a/include/toBeSorted/fi_context.h b/include/toBeSorted/fi_context.h new file mode 100644 index 00000000..6f3f8cd7 --- /dev/null +++ b/include/toBeSorted/fi_context.h @@ -0,0 +1,141 @@ +#ifndef FI_CONTEXT_H +#define FI_CONTEXT_H + +#include "common.h" + +struct FiAnalysisEntry { + /* 0x00 */ const char *mStageName; + /* 0x04 */ u16 mStoryFlag; + /* 0x06 */ s16 mKen3MonsterPresenceEntry; + /* 0x08 */ u8 mSuitabilityPercent[4]; + /* 0x0C */ u16 mKen3SuitabilityAnalysis[4]; + /* 0x14 */ s16 mShieldType; + /* 0x16 */ s16 mShieldMessage; +}; + +class FiAnalysisHandle { +public: + s16 getEquipmentFocus() const; + s16 getAreaIndexForFiAreaName() const; + s32 getSuitabilityArg() const; + s16 getSuitabilityLabel() const; + s16 getShieldMessage(); + s16 shieldRelated(); + + bool isValid() const; + +private: + FiAnalysisEntry *mpEntry; +}; + +class FiContext { +public: + static void create(); + static s32 getGlobalFiInfo0(s32); + static FiAnalysisHandle getNaviTableEquipmentCheckEntry(); + static u8 rateBattlePerformance(u8 enemyActorId); + static s16 getNaviTableProgressSummary(); + static s16 getFiAdviceHintEntry(); + static s16 getUnkObjectiveValue(); + + bool getDoSpecialFiMenuHandling() const { + return mDoSpecialFiMenuHandling; + } + + static bool getDoSpecialFiMenuHandlingChecked() { + if (sInstance != nullptr) { + return sInstance->getDoSpecialFiMenuHandling(); + } else { + return false; + } + } + + static void setDoSpecialFiMenuHandling(bool val) { + if (sInstance != nullptr) { + sInstance->mDoSpecialFiMenuHandling = val; + } + } + + static const wchar_t *getMessageForFiInfo(s32 arg) { + return getTextMessage(getGlobalFiInfo0(arg)); + } + + static FiContext *GetInstance() { + return sInstance; + } + + static void setField_0x48(bool val) { + if (sInstance != nullptr) { + sInstance->field_0x48 = val; + } + } + + static void setField_0x4A(bool val) { + if (sInstance != nullptr) { + sInstance->field_0x4A = val; + } + } + + static s32 getHelpIndex() { + if (sInstance != nullptr) { + return sInstance->mFiHelpIndex; + } else { + return -1; + } + } + + static s32 getTargetActorId() { + if (sInstance != nullptr) { + return sInstance->mTargetActorId; + } else { + return -1; + } + } + + static void do_fn_8016CB00(s32 arg) { + if (sInstance != nullptr) { + sInstance->fn_8016CB00(arg); + } + } + + static void do_fn_8016CB40() { + if (sInstance != nullptr) { + sInstance->fn_8016CB40(); + } + } + + static void do_fn_8016CA00() { + if (sInstance != nullptr) { + sInstance->fn_8016CA00(); + } + } + + static void do_fn_8016CB20() { + if (sInstance != nullptr) { + sInstance->fn_8016CB20(); + } + } + + void resetField_0x3C(); + + static const wchar_t *getTextMessage(s32 idx); + +private: + static FiContext *sInstance; + + void fn_8016CB00(s32); + void fn_8016CB40(); + void fn_8016CA00(); + void fn_8016CB20(); + + /* 0x00 */ u8 _0x00[0x34 - 0x00]; + /* 0x34 */ s32 mTargetActorId; + /* 0x38 */ s32 mFiHelpIndex; + /* 0x3C */ u8 _0x3C[0x48 - 0x3C]; + /* 0x48 */ bool field_0x48; + /* 0x49 */ bool field_0x49; + /* 0x4A */ bool field_0x4A; + /* 0x4B */ bool mDoSpecialFiMenuHandling; +}; + +#endif diff --git a/include/toBeSorted/global_fi_context.h b/include/toBeSorted/global_fi_context.h deleted file mode 100644 index 585f416d..00000000 --- a/include/toBeSorted/global_fi_context.h +++ /dev/null @@ -1,17 +0,0 @@ -#ifndef GLOBAL_FI_CONTEXT_H -#define GLOBAL_FI_CONTEXT_H - -#include "common.h" - -struct FiContext { - /* 0x00 */ u8 _0x00[0x4B - 0x00]; - /* 0x4B */ bool mDoSpecialFiMenuHandling; - - static s32 getGlobalFiInfo0(s32); -}; - -extern "C" FiContext *GLOBAL_FI_CONTEXT; -extern "C" void fn_8016C9F0(FiContext *); -extern "C" void createGlobalFiContext(); - -#endif diff --git a/include/toBeSorted/music_mgrs.h b/include/toBeSorted/music_mgrs.h index 7beeb58e..cbd56564 100644 --- a/include/toBeSorted/music_mgrs.h +++ b/include/toBeSorted/music_mgrs.h @@ -17,8 +17,13 @@ extern "C" void fn_803618F0(void *); extern "C" void fn_80362730(void *); extern "C" void fn_80365D20(void *); extern "C" void fn_803624F0(void *); +extern "C" void fn_80364FD0(void *, s32); extern "C" void *ENEMY_BGM_RELATED_MGR; extern "C" void fn_80384570(void *, bool); +extern "C" void fn_803858D0(void *); + +extern "C" void *FANFARE_SOUND_MGR; +extern "C" void AnotherSoundMgr__playSound(void *, s32); #endif diff --git a/include/toBeSorted/unk_save_time.h b/include/toBeSorted/unk_save_time.h new file mode 100644 index 00000000..ef947c35 --- /dev/null +++ b/include/toBeSorted/unk_save_time.h @@ -0,0 +1,27 @@ +#ifndef UNK_SAVE_TIME_H +#define UNK_SAVE_TIME_H + +#include "common.h" + +class SaveTimeRelated { +public: + static SaveTimeRelated *GetInstance() { + return sInstance; + } + + s64 getField_0x08() const { + return field_0x08; + } + + s64 fn_801907D0(); + void fn_801907F0(); + void fn_801909A0(); + +private: + static SaveTimeRelated *sInstance; + + /* 0x00 */ u8 _0x00[0x08 - 0x00]; + /* 0x08 */ u64 field_0x08; +}; + +#endif |
