#pragma once #include "types.h" // #include "Item/Item.hpp" typedef u32 ItemFlag; typedef u32 OverlayId; enum OverlayId_ { OverlayId_None = -1, OverlayId_Core, OverlayId_01, OverlayId_02, OverlayId_03, OverlayId_04, 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_53, OverlayId_54, OverlayId_55, OverlayId_56, OverlayId_57, OverlayId_58, OverlayId_59, OverlayId_60, OverlayId_61, OverlayId_62, OverlayId_63, OverlayId_64, OverlayId_65, OverlayId_66, OverlayId_67, OverlayId_68, OverlayId_69, OverlayId_70, OverlayId_71, OverlayId_72, OverlayId_73, OverlayId_74, OverlayId_75, OverlayId_76, OverlayId_77, OverlayId_78, OverlayId_79, OverlayId_80, OverlayId_81, OverlayId_82, OverlayId_83, OverlayId_84, OverlayId_85, OverlayId_86, OverlayId_87, OverlayId_88, OverlayId_89, OverlayId_90, OverlayId_91, OverlayId_92, OverlayId_93, OverlayId_94, OverlayId_95, OverlayId_96, OverlayId_97, OverlayId_98, OverlayId_99, OverlayId_100, OverlayId_101, OverlayId_102, OverlayId_103, OverlayId_104, OverlayId_105, OverlayId_106, OverlayId_107, OverlayId_108, OverlayId_109, OverlayId_110, OverlayId_111, OverlayId_112, OverlayId_113, }; 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_11, OverlayIndex_12, OverlayIndex_13, OverlayIndex_14, OverlayIndex_15, OverlayIndex_16, OverlayIndex_17, OverlayIndex_COUNT, }; class OverlayManager { public: OverlayId mLoadedOverlays[OverlayIndex_COUNT]; void Load(OverlayIndex index, OverlayId id); void LoadIfNotLoaded(OverlayIndex index, OverlayId id); void Unload(OverlayIndex index); void LoadOverlaySetup(s32 index); void UnloadOverlaySetup(); void LoadEquipItem(ItemFlag equipId); }; extern OverlayManager gOverlayManager;