mirror of https://github.com/zeldaret/tp.git
124 lines
3.0 KiB
C++
124 lines
3.0 KiB
C++
#ifndef D_MENU_D_MENU_MAP_COMMON_H
|
|
#define D_MENU_D_MENU_MAP_COMMON_H
|
|
|
|
#include "dolphin/types.h"
|
|
|
|
class J2DPicture;
|
|
class JKRArchive;
|
|
class dSelect_cursor_c;
|
|
|
|
enum dMenuMapIcon_e {
|
|
ICON_UNK_0_e,
|
|
ICON_UNK_1_e,
|
|
ICON_DUNGEON_WARP_e,
|
|
ICON_BOSS_GANON_e,
|
|
ICON_BOSS_e,
|
|
ICON_LIGHT_DROP_e,
|
|
ICON_LIGHT_BALL_e,
|
|
ICON_CANNON_BALL_e,
|
|
ICON_COPY_STATUE_e,
|
|
ICON_YETO_e,
|
|
ICON_YETA_e,
|
|
ICON_GOLD_WOLF_e,
|
|
ICON_MONKEY_e,
|
|
ICON_COACH_e,
|
|
ICON_KEY_e,
|
|
ICON_OOCCOO_e,
|
|
ICON_OOCCOO_JR_e,
|
|
ICON_LINK_e,
|
|
ICON_DESTINATION_e,
|
|
ICON_TREASURE_CHEST_e,
|
|
ICON_DUNGEON_ENTER_e,
|
|
ICON_LINK_ENTER_e,
|
|
ICON_LV8_WARP_e,
|
|
|
|
ICON_MAX_e,
|
|
};
|
|
|
|
class dMenuMapCommon_c {
|
|
public:
|
|
struct IconInfo_s {
|
|
/* 0x00 */ f32 pos_x;
|
|
/* 0x04 */ f32 pos_y;
|
|
/* 0x08 */ f32 scale;
|
|
/* 0x0C */ f32 rotation;
|
|
/* 0x10 */ f32 alpha_rate;
|
|
/* 0x14 */ u8 icon_no;
|
|
/* 0x15 */ u8 _15;
|
|
};
|
|
|
|
dMenuMapCommon_c();
|
|
virtual ~dMenuMapCommon_c();
|
|
void initiate(JKRArchive*);
|
|
void drawIcon(f32, f32, f32, f32);
|
|
void iconScale(int, f32, f32, f32);
|
|
bool setIconInfo(u8, f32, f32, f32, f32, f32, u8);
|
|
void clearIconInfo();
|
|
void setBlendRatio(u8, f32, f32);
|
|
void blinkMove(s16);
|
|
void moveLightDropAnime();
|
|
f32 getIconSizeX(u8 index);
|
|
f32 getIconSizeY(u8 index);
|
|
void debugIcon();
|
|
|
|
void setCenterPosX(f32 center_pos, u8 param_2) {
|
|
mCenterPosX = center_pos;
|
|
_c90 = param_2;
|
|
}
|
|
|
|
struct Stage_c {
|
|
// Incomplete class
|
|
|
|
struct data {
|
|
// Unknown name
|
|
|
|
/* 0x00 */ char mName[8];
|
|
/* 0x08 */ u8 mRoomNo;
|
|
/* 0x09 */ u8 mRegionNo;
|
|
/* 0x0A */ u16 mAreaName;
|
|
/* 0x0C */ f32 mOffsetX;
|
|
/* 0x10 */ f32 mOffsetZ;
|
|
};
|
|
|
|
/* 0x0 */ u8 mCount;
|
|
/* 0x4 */ data mData[0];
|
|
};
|
|
|
|
class RoomData_c {
|
|
public:
|
|
struct data {
|
|
/* 0x0 */ u8 mSize;
|
|
/* 0x1 */ u8 field_0x1[3];
|
|
/* 0x4 */ u8 mData[0];
|
|
};
|
|
|
|
data* getRoomData() { return mpRoomData; }
|
|
RoomData_c* getNextData() { return mpNextData; }
|
|
void setRoomData(void* i_data) { mpRoomData = (data*)i_data; }
|
|
void setNextData(RoomData_c* i_nextData) { mpNextData = i_nextData; }
|
|
|
|
/* 0x0 */ data* mpRoomData;
|
|
/* 0x4 */ RoomData_c* mpNextData;
|
|
};
|
|
|
|
/* 0x004 */ J2DPicture* mPictures[23];
|
|
/* 0x060 */ J2DPicture* mLightDropPic;
|
|
/* 0x064 */ dSelect_cursor_c* mpDrawCursor;
|
|
/* 0x068 */ dSelect_cursor_c* mpPortalIcon;
|
|
/* 0x06C */ u32 _6c;
|
|
/* 0x070 */ IconInfo_s mIconInfo[128];
|
|
/* 0xC70 */ u16 mIconNum;
|
|
/* 0xC72 */ s16 mBlinkTimer;
|
|
/* 0xC74 */ s16 mLightDropFlashTimer;
|
|
/* 0xC76 */ u16 _c76;
|
|
/* 0xC78 */ f32 mBlinkAlpha;
|
|
/* 0xC7C */ f32 _c7c;
|
|
/* 0xC80 */ f32 _c80;
|
|
/* 0xC84 */ f32 _c84;
|
|
/* 0xC88 */ f32 _c88;
|
|
/* 0xC8C */ f32 mCenterPosX;
|
|
/* 0xC90 */ u8 _c90;
|
|
};
|
|
|
|
#endif /* D_MENU_D_MENU_MAP_COMMON_H */
|