diff options
| author | robojumper <robojumper@gmail.com> | 2025-11-22 15:43:26 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2025-11-22 15:43:26 +0100 |
| commit | b661da78b52958faffb589955df0453c5b0f6740 (patch) | |
| tree | 20ef8223571890b3b015aee11e227fb9a3ef0077 /include/toBeSorted | |
| parent | 25c799aef9a58395d1a2e2cd573defce7fc5f34f (diff) | |
| parent | 9cae4869105d4b891f4d483f9bddd146e93eb989 (diff) | |
Merge pull request #257 from robojumper/d_lyt_map_more
some more map things
Diffstat (limited to 'include/toBeSorted')
| -rw-r--r-- | include/toBeSorted/d_beacon.h | 22 | ||||
| -rw-r--r-- | include/toBeSorted/d_flow_mgr.h | 31 | ||||
| -rw-r--r-- | include/toBeSorted/event_manager.h | 2 | ||||
| -rw-r--r-- | include/toBeSorted/event_manager_util.h | 10 | ||||
| -rw-r--r-- | include/toBeSorted/misc_actor.h | 5 |
5 files changed, 65 insertions, 5 deletions
diff --git a/include/toBeSorted/d_beacon.h b/include/toBeSorted/d_beacon.h new file mode 100644 index 00000000..b963d98a --- /dev/null +++ b/include/toBeSorted/d_beacon.h @@ -0,0 +1,22 @@ +#ifndef D_BEACON_H +#define D_BEACON_H + +#include "m/m_vec.h" + +u32 getMaxBeaconCount(); + +/** + * When passed a position, sets the beacon with the given index to the position. + * When position is nullptr, removes the beacon. + */ +void setBeaconPosition(const mVec3_c *position, u32 beaconIndex); + +/** + * Sets a beacon position similar to `setBeaconPosition`, but corrects the ground level + */ +void setBeaconPositionChecked(const mVec3_c *position, u32 beaconIndex); + +/** Checks whether the current stage is ineligible for beacon placement */ +bool doesStageForbidBeaconPlacement(); + +#endif diff --git a/include/toBeSorted/d_flow_mgr.h b/include/toBeSorted/d_flow_mgr.h new file mode 100644 index 00000000..25784a23 --- /dev/null +++ b/include/toBeSorted/d_flow_mgr.h @@ -0,0 +1,31 @@ +#ifndef D_FLOW_MGR_H +#define D_FLOW_MGR_H + +#include "common.h" +#include "d/d_message.h" +#include "sized_string.h" + +class dFlowMgrBase_c { +public: + dFlowMgrBase_c(dFlow_c *flow); + virtual ~dFlowMgrBase_c() {} + + void triggerEntryPoint(s32 labelPart1, s32 labelPart2, u8 p4, u8 p5); + bool checkFinished(); + +private: + /* 0x04 */ dFlow_c *mpFlow; + /* 0x08 */ u8 _0x08[0x14 - 0x08]; + /* 0x14 */ SizedString<0x40> field_0x14; + /* 0x54 */ u8 field_0x54; +}; + +class dFlowMgr_c : public dFlowMgrBase_c { +public: + dFlowMgr_c(); + +private: + /* 0x58 */ dFlow_c mFlow; +}; + +#endif diff --git a/include/toBeSorted/event_manager.h b/include/toBeSorted/event_manager.h index c9a89c2c..6eda3f7d 100644 --- a/include/toBeSorted/event_manager.h +++ b/include/toBeSorted/event_manager.h @@ -19,6 +19,8 @@ public: static bool canSkipCurrentEvent(); static dAcBase_c *getMainActorInEvent(); + static void execute(); + static EventManager *sInstance; static bool isInEvent() { diff --git a/include/toBeSorted/event_manager_util.h b/include/toBeSorted/event_manager_util.h index 9d38951f..d2f4670b 100644 --- a/include/toBeSorted/event_manager_util.h +++ b/include/toBeSorted/event_manager_util.h @@ -32,15 +32,15 @@ inline bool EventManagerIsInMap() { } inline bool EventManagerIsMapOpen() { - return EventManagerIsInMap() && dLytMap_c::GetInstance()->isOpenMaybe(); + return EventManagerIsInMap() && dLytMap_c::GetInstance()->isOpen(); } -inline bool EventManagerIsMapOpenAndMessage() { - return EventManagerIsMapOpen() && !dMessage_c::getInstance()->getField_0x328(); +inline bool EventManagerIsMapOpenNormal() { + return EventManagerIsMapOpen() && !dMessage_c::getInstance()->getInMapEvent(); } -inline bool EventManagerIsMapOpenAnd0x9008Eq10() { - return EventManagerIsMapOpen() && dLytMap_c::GetInstance()->isSomeMapFieldEq10(); +inline bool EventManagerIsMapEventSaveObj() { + return EventManagerIsMapOpen() && dLytMap_c::GetInstance()->isMapEventSaveObj(); } #endif diff --git a/include/toBeSorted/misc_actor.h b/include/toBeSorted/misc_actor.h index 081734e1..4024e1bc 100644 --- a/include/toBeSorted/misc_actor.h +++ b/include/toBeSorted/misc_actor.h @@ -1,6 +1,11 @@ #ifndef MISC_ACTOR_H #define MISC_ACTOR_H +// TODO - this header might be unnecessary; a lot of functions in +// the split corresponding to this header clearly are REL functions +// that were moved to the DOL because they need to be called from the DOL. +// So ideally all of these declarations were moved to REL class definitions... + bool checkIsInSkykeepPuzzle(); void restoreSkykeepPuzzleFromGlobal(); |
