summaryrefslogtreecommitdiff
path: root/src/KingSystem
diff options
context:
space:
mode:
authorLéo Lam <leo@leolam.fr>2024-04-25 01:10:05 +0100
committerLéo Lam <leo@leolam.fr>2024-04-25 01:10:31 +0100
commit96f611fa5d1c2704d91e5c490662ec8c0a741279 (patch)
treea4efb8a0280a34d973f65cd8eac112b474e2379d /src/KingSystem
parentffc35ea3504b60a6a763f0519bbdc8f78feb2be0 (diff)
ksys/ProductReporter: add PanicReason
Diffstat (limited to 'src/KingSystem')
-rw-r--r--src/KingSystem/System/ProductReporter.h16
1 files changed, 15 insertions, 1 deletions
diff --git a/src/KingSystem/System/ProductReporter.h b/src/KingSystem/System/ProductReporter.h
index 34b8b94d..832a040c 100644
--- a/src/KingSystem/System/ProductReporter.h
+++ b/src/KingSystem/System/ProductReporter.h
@@ -36,6 +36,16 @@ public:
u8 _3a[5];
};
+enum class PanicReason {
+ OverlayArenaFull = 0,
+ HavokMainHeapFull = 1,
+ ActorCreateHeapFull = 2,
+ ResourceSHeapFull = 3,
+ ResourceLHeapFull = 4,
+ AudioHeapFull = 5,
+ TextureHandleMgrSlow = 6,
+};
+
class ProductReporter {
public:
ProductReporter() = default;
@@ -48,6 +58,10 @@ public:
static bool getSomeBool();
bool isEnabled() const;
+ sead::BitFlag32 getPanicReasons() const { return mPanicReasons; }
+ void addPanicReason(PanicReason reason) { mPanicReasons.setBit(int(reason)); }
+ void clearPanicReason() { mPanicReasons.makeAllZero(); }
+
s32 getRomWorkTime() const;
s32 getSceneWorkTime() const;
void resetSceneWorkTime();
@@ -96,7 +110,7 @@ public:
}
private:
- u8 _0[8];
+ sead::BitFlag32 mPanicReasons;
Container mContainer1;
Container mContainer2;