summaryrefslogtreecommitdiff
path: root/include/System/OverlayManager.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'include/System/OverlayManager.hpp')
-rw-r--r--include/System/OverlayManager.hpp101
1 files changed, 101 insertions, 0 deletions
diff --git a/include/System/OverlayManager.hpp b/include/System/OverlayManager.hpp
new file mode 100644
index 00000000..dfeacebe
--- /dev/null
+++ b/include/System/OverlayManager.hpp
@@ -0,0 +1,101 @@
+#pragma once
+
+#include "types.h"
+
+#include "Item/Item.hpp"
+
+typedef u32 OverlayId;
+enum OverlayId_ {
+ OverlayId_Core,
+ OverlayId_01,
+ OverlayId_02,
+ OverlayId_03,
+ OverlayId_Memory,
+ OverlayId_05,
+ OverlayId_06,
+ OverlayId_07,
+ OverlayId_08,
+ OverlayId_09,
+ OverlayId_10,
+ OverlayId_11,
+ OverlayId_12,
+ OverlayId_13,
+ OverlayId_14,
+ OverlayId_15,
+ OverlayId_16,
+ OverlayId_17,
+ OverlayId_18,
+ OverlayId_19,
+ OverlayId_20,
+ OverlayId_21,
+ OverlayId_22,
+ OverlayId_23,
+ OverlayId_24,
+ OverlayId_25,
+ OverlayId_26,
+ OverlayId_27,
+ OverlayId_28,
+ OverlayId_29,
+ OverlayId_30,
+ OverlayId_31,
+ OverlayId_32,
+ OverlayId_33,
+ OverlayId_34,
+ OverlayId_35,
+ OverlayId_36,
+ OverlayId_37,
+ OverlayId_38,
+ OverlayId_39,
+ OverlayId_40,
+ OverlayId_41,
+ OverlayId_42,
+ OverlayId_43,
+ OverlayId_44,
+ OverlayId_45,
+ OverlayId_46,
+ OverlayId_47,
+ OverlayId_48,
+ OverlayId_49,
+ OverlayId_50,
+ OverlayId_51,
+ OverlayId_52,
+ OverlayId_PlayerBoomerang,
+ OverlayId_PlayerScoop,
+ OverlayId_PlayerBomb,
+ OverlayId_PlayerBow,
+ OverlayId_PlayerRope,
+ OverlayId_PlayerBombchu,
+ OverlayId_PlayerHammer,
+ OverlayId_60,
+ OverlayId_61,
+};
+
+typedef u32 OverlayIndex;
+enum OverlayIndex_ {
+ OverlayIndex_Core,
+ OverlayIndex_1,
+ OverlayIndex_2,
+ OverlayIndex_3,
+ OverlayIndex_4,
+ OverlayIndex_5,
+ OverlayIndex_6,
+ OverlayIndex_7,
+ OverlayIndex_8,
+ OverlayIndex_9,
+ OverlayIndex_10,
+ OverlayIndex_EquipItem,
+ OverlayIndex_12,
+ OverlayIndex_COUNT,
+};
+
+class OverlayManager {
+public:
+ OverlayId mLoadedOverlays[OverlayIndex_COUNT];
+
+ void Unload(OverlayIndex index);
+ void Load(OverlayIndex index, OverlayId id);
+ void LoadIfNotLoaded(OverlayIndex index, OverlayId id);
+ void LoadEquipItem(ItemFlag equipId);
+};
+
+extern OverlayManager gOverlayManager;