Files
ph/include/System/OverlayManager.hpp
T
2025-01-18 09:44:01 +01:00

105 lines
2.0 KiB
C++

#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_Land,
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 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;