diff options
Diffstat (limited to 'include/System/OverlayManager.hpp')
| -rw-r--r-- | include/System/OverlayManager.hpp | 101 |
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; |
