mirror of
https://github.com/zeldaret/tww.git
synced 2026-05-23 06:54:16 -04:00
171 lines
4.6 KiB
C++
171 lines
4.6 KiB
C++
#ifndef D_MENU_WINDOW_H
|
|
#define D_MENU_WINDOW_H
|
|
|
|
#include "dolphin/types.h"
|
|
#include "f_op/f_op_msg.h"
|
|
#include "m_Do/m_Do_hostIO.h"
|
|
|
|
class dMCloth_c;
|
|
class JKRExpHeap;
|
|
class dMenu_FmapSv_c;
|
|
|
|
enum dMw_Status {
|
|
MENU_STATE_NO_MENU = 0,
|
|
|
|
// Item Screen
|
|
MENU_STATE_ITEM_OPEN = 1,
|
|
MENU_STATE_ITEM_OPEN_FROM_COLLECT_LEFT = 2,
|
|
MENU_STATE_ITEM_OPEN_FROM_COLLECT_RIGHT = 3,
|
|
MENU_STATE_ITEM_MOVE = 4,
|
|
MENU_STATE_ITEM_CLOSE = 5,
|
|
MENU_STATE_ITEM_TO_COLLECT_LEFT = 6,
|
|
MENU_STATE_ITEM_TO_COLLECT_RIGHT = 7,
|
|
|
|
// Collect Screen
|
|
MENU_STATE_COLLECT_OPEN = 8,
|
|
MENU_STATE_COLLECT_OPEN_LEFT = 9,
|
|
MENU_STATE_COLLECT_OPEN_RIGHT = 10,
|
|
MENU_STATE_COLLECT_OPEN_TACT = 11,
|
|
MENU_STATE_COLLECT_OPEN_ALT = 12,
|
|
MENU_STATE_COLLECT_MOVE = 13,
|
|
MENU_STATE_COLLECT_MOVE_TACT = 14,
|
|
MENU_STATE_COLLECT_MOVE_ALT = 15,
|
|
MENU_STATE_COLLECT_CLOSE = 16,
|
|
MENU_STATE_COLLECT_TO_ITEM_LEFT = 17,
|
|
MENU_STATE_COLLECT_TO_ITEM_RIGHT = 18,
|
|
MENU_STATE_COLLECT_CLOSE_TACT = 19,
|
|
MENU_STATE_COLLECT_CLOSE_ALT = 20,
|
|
|
|
// Field Map Screen
|
|
MENU_STATE_FMAP_OPEN = 21,
|
|
MENU_STATE_FMAP_OPEN_WARP_MODE = 22,
|
|
MENU_STATE_FMAP_OPEN_WALLPAPER = 23,
|
|
MENU_STATE_FMAP_OPEN_FISHMAN_MODE = 24,
|
|
MENU_STATE_FMAP_MOVE = 25,
|
|
MENU_STATE_FMAP_MOVE_WARP_MODE = 26,
|
|
MENU_STATE_FMAP_MOVE_WALLPAPER = 27,
|
|
MENU_STATE_FMAP_MOVE_FISHMAN_MODE = 28,
|
|
MENU_STATE_FMAP_CLOSE = 29,
|
|
|
|
// Dungeon Map Screen
|
|
MENU_STATE_DMAP_OPEN = 30,
|
|
MENU_STATE_DMAP_MOVE = 31,
|
|
MENU_STATE_DMAP_CLOSE = 32,
|
|
|
|
// Name Entry Screen
|
|
MENU_STATE_NAME_OPEN = 33,
|
|
MENU_STATE_NAME_MOVE = 34,
|
|
MENU_STATE_NAME_CLOSE = 35,
|
|
|
|
// Save Screen
|
|
MENU_STATE_SAVE_OPEN = 36,
|
|
MENU_STATE_SAVE_MOVE = 37,
|
|
MENU_STATE_SAVE_CLOSE = 38,
|
|
};
|
|
|
|
class JKRHeap;
|
|
class JKRArchive;
|
|
|
|
class sub_ms_screen_class : public msg_class {
|
|
public:
|
|
/* 0x00FC */ JKRHeap* parentHeap_0xfc;
|
|
/* 0x0100 */ JKRHeap* childHeap;
|
|
/* 0x0104 */ JKRArchive* arc;
|
|
/* 0x0108 */ fpc_ProcID mMsgID;
|
|
/* 0x010C */ char* name[2];
|
|
/* 0x0114 */ char* note[2];
|
|
/* 0x011C */ char* dummy[2];
|
|
/* 0x0124 */ u8 field_0x124[0x128 - 0x124];
|
|
/* 0x0128 */ void* buffer_p[33];
|
|
/* 0x01AC */ char* title_p;
|
|
/* 0x01B0 */ u16 field_0x1B0;
|
|
/* 0x01B2 */ u8 field_0x1B2;
|
|
/* 0x01B3 */ u8 field_0x1B3[0x1B5 - 0x1B3];
|
|
/* 0x01B5 */ u8 mMenuProc; // dMw_Status
|
|
/* 0x01B6 */ u8 mButtonsPressed;
|
|
};
|
|
|
|
class dMw_HIO_c : public JORReflexible {
|
|
public:
|
|
dMw_HIO_c();
|
|
virtual ~dMw_HIO_c() {}
|
|
|
|
void genMessage(JORMContext* ctx) {}
|
|
|
|
/* 0x04 */ s8 mNo;
|
|
/* 0x06 */ u16 field_0x06;
|
|
/* 0x08 */ u16 field_0x08;
|
|
/* 0x0A */ u8 field_0x0A;
|
|
/* 0x0B */ u8 field_0x0B;
|
|
/* 0x0C */ u16 field_0x0C;
|
|
/* 0x0E */ u16 field_0x0E;
|
|
/* 0x10 */ u8 field_0x10;
|
|
/* 0x11 */ u8 field_0x11;
|
|
/* 0x12 */ u16 field_0x12;
|
|
/* 0x14 */ u16 field_0x14;
|
|
/* 0x16 */ u8 field_0x16;
|
|
/* 0x17 */ u8 field_0x17;
|
|
/* 0x18 */ u16 field_0x18;
|
|
/* 0x1A */ u16 field_0x1A;
|
|
/* 0x1C */ u8 field_0x1C;
|
|
/* 0x1D */ u8 field_0x1D;
|
|
/* 0x1E */ u8 field_0x1E;
|
|
/* 0x1F */ u8 field_0x1F;
|
|
/* 0x20 */ u8 arr_0x20[21];
|
|
/* 0x35 */ u8 padding_0x35[0x38 - 0x35];
|
|
/* 0x38 */ u8 arr_0x38[21];
|
|
/* 0x4D */ u8 padding_0x4D[0x50 - 0x4D];
|
|
/* 0x50 */ u8 arr_0x50[8];
|
|
/* 0x58 */ u8 arr_0x58[8];
|
|
/* 0x60 */ u8 arr_0x60[8];
|
|
/* 0x68 */ u8 arr_0x68[8];
|
|
/* 0x70 */ u8 arr_0x70[8];
|
|
/* 0x78 */ u8 arr_0x78[8];
|
|
/* 0x80 */ u8 field_0x80;
|
|
/* 0x81 */ u8 field_0x81;
|
|
/* 0x82 */ u8 field_0x82;
|
|
/* 0x83 */ u8 arr_0x83[8];
|
|
/* 0x8B */ u8 arr_0x8B[8];
|
|
/* 0x93 */ u8 field_0x93;
|
|
/* 0x94 */ u8 field_0x94;
|
|
/* 0x95 */ u8 field_0x95;
|
|
/* 0x96 */ u8 field_0x96;
|
|
/* 0x97 */ u8 field_0x97;
|
|
/* 0x98 */ u8 field_0x98;
|
|
/* 0x99 */ u8 field_0x99;
|
|
/* 0x9A */ u8 field_0x9A;
|
|
/* 0x9B */ u8 field_0x9B;
|
|
/* 0x9C */ u8 field_0x9C;
|
|
/* 0x9D */ u8 field_0x9D;
|
|
/* 0x9E */ u8 arr_0x9E[8];
|
|
/* 0xA6 */ u8 arr_0xA6[8];
|
|
/* 0xAE */ u8 padding_0xAE[0xB6 - 0xAE];
|
|
/* 0xB6 */ u8 arr_0xB6[6];
|
|
/* 0xBC */ u8 arr_0xBC[6];
|
|
/* 0xC2 */ u8 arr_0xC2[8];
|
|
/* 0xCA */ u8 arr_0xCA[8];
|
|
/* 0xD2 */ u8 arr_0xD2[3];
|
|
/* 0xD5 */ u8 arr_0xD5[3];
|
|
/* 0xD8 */ u8 arr_0xD8[8];
|
|
/* 0xE0 */ u8 arr_0xE0[8];
|
|
};
|
|
|
|
class dMw_DHIO_c : public JORReflexible {
|
|
public:
|
|
dMw_DHIO_c();
|
|
virtual ~dMw_DHIO_c() {}
|
|
|
|
void genMessage(JORMContext* ctx) {}
|
|
|
|
/* 0x04 */ s8 mNo;
|
|
/* 0x05 */ u8 arr_0x05[0xC][0x10];
|
|
};
|
|
|
|
extern dMenu_FmapSv_c dMv_CIO_c;
|
|
extern dMw_HIO_c g_mwHIO;
|
|
extern dMw_DHIO_c g_mwDHIO;
|
|
|
|
extern dMCloth_c* cloth_c;
|
|
|
|
#endif /* D_MENU_WINDOW_H */
|