mirror of
https://github.com/zeldaret/st
synced 2026-05-23 15:01:41 -04:00
164 lines
3.0 KiB
C++
164 lines
3.0 KiB
C++
#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;
|