mirror of
https://github.com/zeldaret/tww.git
synced 2026-06-20 15:41:17 -04:00
1587 lines
51 KiB
C++
1587 lines
51 KiB
C++
//
|
|
// Generated by dtk
|
|
// Translation Unit: d_menu_window.cpp
|
|
//
|
|
|
|
#include "d/dolzel.h" // IWYU pragma: keep
|
|
#include "d/d_menu_window.h"
|
|
|
|
#include "JSystem/JKernel/JKRExpHeap.h"
|
|
#include "f_op/f_op_msg.h"
|
|
#include "d/d_menu_cloth.h"
|
|
#include "d/d_menu_capture.h"
|
|
#include "d/d_menu_collect.h"
|
|
#include "d/d_menu_dmap.h"
|
|
#include "d/d_menu_fmap.h"
|
|
#include "d/d_menu_fmap_sv.h"
|
|
#include "d/d_menu_item.h"
|
|
#include "d/d_menu_save.h"
|
|
#include "d/d_meter.h"
|
|
#include "d/d_name.h"
|
|
#include "d/d_priority.h"
|
|
#include "d/d_procname.h"
|
|
#include "d/actor/d_a_player_main.h"
|
|
#include "f_op/f_op_overlap_mng.h"
|
|
#include "m_Do/m_Do_controller_pad.h"
|
|
|
|
#include "d/d_menu_capture.inc"
|
|
|
|
// TODO: Remove me when all the JUT asserts and other strings are filled out.
|
|
// This is temporary, just to make the strings match.
|
|
static void dummy0() {
|
|
OSReport("cmap_tri.bti");
|
|
OSReport("cmap_treasure.bti");
|
|
OSReport("cmap_tingle.bti");
|
|
OSReport("cmap_phantomship.bti");
|
|
OSReport("cmap_hint.bti");
|
|
OSReport("f_item_tri.bti");
|
|
OSReport("f_get_rupy.bti");
|
|
OSReport("f_heart_up_02.bti");
|
|
OSReport("f_korog_kare.bti");
|
|
OSReport("f_korog_saki.bti");
|
|
OSReport("d_menu_window.cpp");
|
|
OSReport("i_Ms->name[i] != 0");
|
|
OSReport("Halt");
|
|
OSReport("");
|
|
OSReport("i_Ms->note[i] != 0");
|
|
OSReport("i_Ms->dummy[i] != 0");
|
|
OSReport("i_Ms->buffer_p[i] != 0");
|
|
#if VERSION == VERSION_PAL
|
|
OSReport("i_Ms->title_p != 0");
|
|
#endif
|
|
OSReport("dMi_c != 0");
|
|
OSReport("dMc_c != 0");
|
|
OSReport("dMf_c != 0");
|
|
OSReport("dMs_capture_c != 0");
|
|
OSReport("dMd_c != 0");
|
|
OSReport("dNm_c != 0");
|
|
OSReport("dMs_c != 0");
|
|
OSReport("cloth_c != 0");
|
|
OSReport("dMs_cloth_c != 0");
|
|
OSReport("i_Ms->childHeap != 0");
|
|
OSReport("awake");
|
|
OSReport("majyuu_shinnyuu");
|
|
OSReport("アイテムビット");
|
|
OSReport("ダンジョンビット");
|
|
OSReport("fonttype != 0");
|
|
OSReport("rfonttype != 0");
|
|
}
|
|
|
|
dMenu_FmapSv_c dMv_CIO_c;
|
|
dMw_HIO_c g_mwHIO;
|
|
dMw_DHIO_c g_mwDHIO;
|
|
|
|
dMCloth_c* cloth_c;
|
|
|
|
static JUTFont* fonttype;
|
|
static JUTFont* rfonttype;
|
|
|
|
static dDlst_MENU_CAPTURE_c* dMs_capture_c;
|
|
static dDlst_MENU_CLOTH_c* dMs_cloth_c;
|
|
static dMenu_Item_c* dMi_c;
|
|
static dMenu_Collect_c* dMc_c;
|
|
static dMenu_Dmap_c* dMd_c;
|
|
static dMenu_Fmap_c* dMf_c;
|
|
static dName_c* dNm_c;
|
|
static dMenu_save_c* dMs_c;
|
|
|
|
static s8 event_wait_frame;
|
|
|
|
static void dMs_onButtonBit(sub_ms_screen_class* i_Ms, u8 i_Bit);
|
|
static void dMs_offButtonBit(sub_ms_screen_class* i_Ms, u8 i_Bit);
|
|
|
|
/* 801DB384-801DB50C .text __ct__9dMw_HIO_cFv */
|
|
dMw_HIO_c::dMw_HIO_c() {
|
|
field_0x12 = 0;
|
|
field_0x06 = 0;
|
|
field_0x14 = 0;
|
|
field_0x08 = 0;
|
|
field_0x16 = 0;
|
|
field_0x0A = 0;
|
|
field_0x17 = 0;
|
|
field_0x0B = 0;
|
|
field_0x18 = 0;
|
|
field_0x0C = 0;
|
|
field_0x1A = 0;
|
|
field_0x0E = 0;
|
|
field_0x1C = 0;
|
|
field_0x10 = 0;
|
|
field_0x1D = 0;
|
|
field_0x11 = 0;
|
|
field_0x1F = 0;
|
|
field_0x1E = 0;
|
|
|
|
for (int i = 0; i < 21; i++) {
|
|
arr_0x38[i] = 0xFF;
|
|
arr_0x20[i] = 0xFF;
|
|
}
|
|
|
|
field_0x9D = 0;
|
|
field_0x9C = 0;
|
|
field_0x9B = 0;
|
|
|
|
field_0x82 = 0;
|
|
field_0x81 = 0;
|
|
field_0x80 = 0;
|
|
|
|
for (int i = 0; i < 8; i++) {
|
|
arr_0x58[i] = 0;
|
|
arr_0x50[i] = 0;
|
|
arr_0x68[i] = 0;
|
|
arr_0x60[i] = 0;
|
|
arr_0xA6[i] = 0;
|
|
arr_0x9E[i] = 0;
|
|
arr_0x8B[i] = 0;
|
|
arr_0x83[i] = 0;
|
|
}
|
|
|
|
for (int i = 0; i < 8; i++) {
|
|
arr_0x78[i] = 0xFF;
|
|
arr_0x70[i] = 0xFF;
|
|
}
|
|
|
|
for (int i = 0; i < 6; i++) {
|
|
arr_0xBC[i] = 0;
|
|
arr_0xB6[i] = 0;
|
|
}
|
|
|
|
for (int i = 0; i < 8; i++) {
|
|
arr_0xCA[i] = 0;
|
|
arr_0xC2[i] = 0;
|
|
}
|
|
|
|
for (int i = 0; i < 3; i++) {
|
|
arr_0xD5[i] = 0;
|
|
arr_0xD2[i] = 0;
|
|
}
|
|
|
|
for (int i = 0; i < 8; i++) {
|
|
arr_0xE0[i] = 0;
|
|
arr_0xD8[i] = 0;
|
|
}
|
|
}
|
|
|
|
/* 801DB50C-801DB568 .text __ct__10dMw_DHIO_cFv */
|
|
dMw_DHIO_c::dMw_DHIO_c() {
|
|
for (int i = 0; i < 0x10; i++) {
|
|
arr_0x05[0][i] = 0;
|
|
arr_0x05[1][i] = 0;
|
|
arr_0x05[2][i] = 0;
|
|
arr_0x05[3][i] = 0;
|
|
arr_0x05[4][i] = 0;
|
|
arr_0x05[5][i] = 0;
|
|
arr_0x05[6][i] = 0;
|
|
arr_0x05[7][i] = 0;
|
|
arr_0x05[8][i] = 0;
|
|
arr_0x05[9][i] = 0;
|
|
arr_0x05[10][i] = 0;
|
|
arr_0x05[11][i] = 0;
|
|
}
|
|
}
|
|
|
|
static u8 lockFlag = 1;
|
|
|
|
/* 801DB568-801DB91C .text dMs_item_create__FP19sub_ms_screen_class */
|
|
void dMs_item_create(sub_ms_screen_class* i_Ms) {
|
|
i_Ms->arc = dComIfGp_getItemResArchive();
|
|
|
|
for (int i = 0; i < 2; i++) {
|
|
i_Ms->name[i] = (char*)i_Ms->childHeap->alloc(0x20, 4);
|
|
JUT_ASSERT(1936, i_Ms->name[i] != NULL);
|
|
strcpy(i_Ms->name[i], "");
|
|
|
|
i_Ms->note[i] = (char*)i_Ms->childHeap->alloc(0x200, 4);
|
|
JUT_ASSERT(1939, i_Ms->note[i] != NULL);
|
|
strcpy(i_Ms->note[i], "");
|
|
|
|
i_Ms->dummy[i] = (char*)i_Ms->childHeap->alloc(0x200, 4);
|
|
JUT_ASSERT(1942, i_Ms->dummy[i] != NULL);
|
|
strcpy(i_Ms->dummy[i], "");
|
|
}
|
|
|
|
i_Ms->field_0x1B2 = 0;
|
|
|
|
for (int i = 0; i < 33; i++) {
|
|
i_Ms->buffer_p[i] = i_Ms->childHeap->alloc(0xC00, 0x20);
|
|
JUT_ASSERT(1951, i_Ms->buffer_p[i] != NULL);
|
|
i_Ms->field_0x1B2++;
|
|
}
|
|
|
|
#if VERSION == VERSION_PAL
|
|
i_Ms->title_p = (char*)i_Ms->childHeap->alloc(0x1000, 0x20);
|
|
JUT_ASSERT(1957, i_Ms->title_p != NULL);
|
|
#endif
|
|
|
|
dMi_c = new dMenu_Item_c();
|
|
JUT_ASSERT(1962, dMi_c != NULL);
|
|
|
|
for (int i = 0; i < 21; i++) {
|
|
dMi_c->setItemTexBuffer(i, i_Ms->buffer_p[i]);
|
|
}
|
|
|
|
for (int i = 0; i < 9; i++) {
|
|
dMi_c->setSubItemTexBuffer(i, i_Ms->buffer_p[i + 24]);
|
|
}
|
|
|
|
dMi_c->setArchive(i_Ms->arc);
|
|
dMi_c->setFont(fonttype, rfonttype);
|
|
dMi_c->setTextArea(i_Ms->name[0], i_Ms->name[1], i_Ms->note[0], i_Ms->note[1], i_Ms->dummy[0], i_Ms->dummy[1]);
|
|
|
|
dMi_c->setNowItem(dComIfGp_getButtonInfo(0));
|
|
|
|
dMi_c->_create();
|
|
|
|
if (mDoCPd_L_LOCK_BUTTON(0)) {
|
|
dMs_onButtonBit(i_Ms, 1);
|
|
} else if (mDoCPd_R_LOCK_BUTTON(0)) {
|
|
dMs_onButtonBit(i_Ms, 2);
|
|
}
|
|
|
|
lockFlag = 0;
|
|
}
|
|
|
|
/* 801DB91C-801DBA58 .text dMs_item_delete__FP19sub_ms_screen_class */
|
|
void dMs_item_delete(sub_ms_screen_class* i_Ms) {
|
|
for (int i = 0; i < 2; i++) {
|
|
if (i_Ms->name[i] != NULL) {
|
|
i_Ms->childHeap->free(i_Ms->name[i]);
|
|
i_Ms->name[i] = NULL;
|
|
}
|
|
if (i_Ms->note[i] != NULL) {
|
|
i_Ms->childHeap->free(i_Ms->note[i]);
|
|
i_Ms->note[i] = NULL;
|
|
}
|
|
if (i_Ms->dummy[i] != NULL) {
|
|
i_Ms->childHeap->free(i_Ms->dummy[i]);
|
|
i_Ms->dummy[i] = NULL;
|
|
}
|
|
}
|
|
|
|
for (int i = 0; i < i_Ms->field_0x1B2; i++) {
|
|
if (i_Ms->buffer_p[i] != NULL) {
|
|
i_Ms->childHeap->free(i_Ms->buffer_p[i]);
|
|
i_Ms->buffer_p[i] = NULL;
|
|
}
|
|
}
|
|
|
|
if (dMi_c != NULL) {
|
|
dComIfGp_setButtonInfo(0, dMi_c->getNowItem());
|
|
|
|
dMi_c->_delete();
|
|
delete dMi_c;
|
|
dMi_c = NULL;
|
|
}
|
|
|
|
lockFlag = 1;
|
|
}
|
|
|
|
/* 801DBA58-801DBE44 .text dMs_collect_create__FP19sub_ms_screen_class */
|
|
void dMs_collect_create(sub_ms_screen_class* i_Ms) {
|
|
i_Ms->arc = dComIfGp_getCollectResArchive();
|
|
|
|
for (int i = 0; i < 2; i++) {
|
|
i_Ms->name[i] = (char*)i_Ms->childHeap->alloc(0x20, 4);
|
|
JUT_ASSERT(2089, i_Ms->name[i] != NULL);
|
|
|
|
i_Ms->note[i] = (char*)i_Ms->childHeap->alloc(0x200, 4);
|
|
JUT_ASSERT(2091, i_Ms->note[i] != NULL);
|
|
|
|
i_Ms->dummy[i] = (char*)i_Ms->childHeap->alloc(0x200, 4);
|
|
JUT_ASSERT(2093, i_Ms->dummy[i] != NULL);
|
|
}
|
|
|
|
i_Ms->field_0x1B2 = 0;
|
|
|
|
for (int i = 0; i < 21; i++) {
|
|
i_Ms->buffer_p[i] = i_Ms->childHeap->alloc(0xC00, 0x20);
|
|
JUT_ASSERT(2101, i_Ms->buffer_p[i] != NULL);
|
|
i_Ms->field_0x1B2++;
|
|
}
|
|
|
|
dMc_c = new dMenu_Collect_c();
|
|
JUT_ASSERT(2112, dMc_c != NULL);
|
|
|
|
dMc_c->setTactTexBuffer(i_Ms->buffer_p[0]);
|
|
|
|
for (int i = 0; i < 3; i++) {
|
|
dMc_c->setSymbolTexBuffer(i, i_Ms->buffer_p[i + 1]);
|
|
}
|
|
|
|
for (int i = 0; i < 5; i++) {
|
|
dMc_c->setItemTexBuffer(i, i_Ms->buffer_p[i + 4]);
|
|
}
|
|
|
|
for (int i = 0; i < 8; i++) {
|
|
dMc_c->setTriforceTexBuffer(i, i_Ms->buffer_p[i + 9]);
|
|
}
|
|
|
|
dMc_c->setMapTexBuffer(i_Ms->buffer_p[17]);
|
|
|
|
dMc_c->setArchive(dComIfGp_getCollectResArchive());
|
|
dMc_c->setOptionArchive(dComIfGp_getOptionResArchive());
|
|
dMc_c->setQuitArchive(dComIfGp_getSaveResArchive());
|
|
|
|
dMc_c->setFont(fonttype, rfonttype);
|
|
|
|
dMc_c->setTextArea(i_Ms->name[0], i_Ms->name[1], i_Ms->note[0], i_Ms->note[1], i_Ms->dummy[0], i_Ms->dummy[1]);
|
|
|
|
dMc_c->setNowItem(dComIfGp_getButtonInfo(1));
|
|
|
|
dMc_c->_create();
|
|
|
|
if (mDoCPd_L_LOCK_BUTTON(0)) {
|
|
dMs_onButtonBit(i_Ms, 1);
|
|
} else if (mDoCPd_R_LOCK_BUTTON(0)) {
|
|
dMs_onButtonBit(i_Ms, 2);
|
|
}
|
|
|
|
lockFlag = 0;
|
|
}
|
|
|
|
/* 801DBE44-801DC224 .text dMs_collect_create2__FP19sub_ms_screen_class */
|
|
void dMs_collect_create2(sub_ms_screen_class* i_Ms) {
|
|
i_Ms->arc = dComIfGp_getCollectResArchive();
|
|
|
|
for (int i = 0; i < 2; i++) {
|
|
i_Ms->name[i] = (char*)i_Ms->childHeap->alloc(0x20, 4);
|
|
JUT_ASSERT(2183, i_Ms->name[i] != NULL);
|
|
|
|
i_Ms->note[i] = (char*)i_Ms->childHeap->alloc(0x200, 4);
|
|
JUT_ASSERT(2185, i_Ms->note[i] != NULL);
|
|
|
|
i_Ms->dummy[i] = (char*)i_Ms->childHeap->alloc(0x200, 4);
|
|
JUT_ASSERT(2187, i_Ms->dummy[i] != NULL);
|
|
}
|
|
|
|
i_Ms->field_0x1B2 = 0;
|
|
|
|
for (int i = 0; i < 21; i++) {
|
|
i_Ms->buffer_p[i] = i_Ms->childHeap->alloc(0xC00, 0x20);
|
|
JUT_ASSERT(2195, i_Ms->buffer_p[i] != NULL);
|
|
i_Ms->field_0x1B2++;
|
|
}
|
|
|
|
dMc_c = new dMenu_Collect_c();
|
|
JUT_ASSERT(2205, dMc_c != NULL);
|
|
|
|
dMc_c->setTactTexBuffer(i_Ms->buffer_p[0]);
|
|
|
|
for (int i = 0; i < 3; i++) {
|
|
dMc_c->setSymbolTexBuffer(i, i_Ms->buffer_p[i + 1]);
|
|
}
|
|
|
|
for (int i = 0; i < 5; i++) {
|
|
dMc_c->setItemTexBuffer(i, i_Ms->buffer_p[i + 4]);
|
|
}
|
|
|
|
for (int i = 0; i < 8; i++) {
|
|
dMc_c->setTriforceTexBuffer(i, i_Ms->buffer_p[i + 9]);
|
|
}
|
|
|
|
dMc_c->setMapTexBuffer(i_Ms->buffer_p[17]);
|
|
|
|
dMc_c->setArchive(dComIfGp_getCollectResArchive());
|
|
dMc_c->setOptionArchive(dComIfGp_getOptionResArchive());
|
|
dMc_c->setQuitArchive(dComIfGp_getSaveResArchive());
|
|
|
|
dMc_c->setFont(fonttype, rfonttype);
|
|
|
|
dMc_c->setTextArea(i_Ms->name[0], i_Ms->name[1], i_Ms->note[0], i_Ms->note[1], i_Ms->dummy[0], i_Ms->dummy[1]);
|
|
|
|
dMc_c->setNowItem(dComIfGp_getButtonInfo(1));
|
|
|
|
dMc_c->_create3();
|
|
|
|
if (mDoCPd_L_LOCK_BUTTON(0)) {
|
|
dMs_onButtonBit(i_Ms, 1);
|
|
} else if (mDoCPd_R_LOCK_BUTTON(0)) {
|
|
dMs_onButtonBit(i_Ms, 2);
|
|
}
|
|
|
|
lockFlag = 0;
|
|
}
|
|
|
|
/* 801DC224-801DC360 .text dMs_collect_delete__FP19sub_ms_screen_class */
|
|
void dMs_collect_delete(sub_ms_screen_class* i_Ms) {
|
|
for (int i = 0; i < 2; i++) {
|
|
if (i_Ms->name[i] != NULL) {
|
|
i_Ms->childHeap->free(i_Ms->name[i]);
|
|
i_Ms->name[i] = NULL;
|
|
}
|
|
if (i_Ms->note[i] != NULL) {
|
|
i_Ms->childHeap->free(i_Ms->note[i]);
|
|
i_Ms->note[i] = NULL;
|
|
}
|
|
if (i_Ms->dummy[i] != NULL) {
|
|
i_Ms->childHeap->free(i_Ms->dummy[i]);
|
|
i_Ms->dummy[i] = NULL;
|
|
}
|
|
}
|
|
|
|
for (int i = 0; i < i_Ms->field_0x1B2; i++) {
|
|
if (i_Ms->buffer_p[i] != NULL) {
|
|
i_Ms->childHeap->free(i_Ms->buffer_p[i]);
|
|
i_Ms->buffer_p[i] = NULL;
|
|
}
|
|
}
|
|
|
|
if (dMc_c != NULL) {
|
|
dComIfGp_setButtonInfo(1, dMc_c->getNowItem());
|
|
|
|
dMc_c->_delete();
|
|
delete dMc_c;
|
|
dMc_c = NULL;
|
|
}
|
|
|
|
lockFlag = 1;
|
|
}
|
|
|
|
/* 801DC360-801DC694 .text dMs_fmap_create__FP19sub_ms_screen_class */
|
|
void dMs_fmap_create(sub_ms_screen_class* i_Ms) {
|
|
dComIfGp_setHeapLockFlag(2);
|
|
|
|
for (int i = 0; i < 2; i++) {
|
|
i_Ms->name[i] = (char*)i_Ms->parentHeap_0xfc->alloc(0x40, 4);
|
|
JUT_ASSERT(2343, i_Ms->name[i] != NULL);
|
|
|
|
i_Ms->note[i] = (char*)i_Ms->parentHeap_0xfc->alloc(0x200, 4);
|
|
JUT_ASSERT(2345, i_Ms->note[i] != NULL);
|
|
|
|
i_Ms->dummy[i] = (char*)i_Ms->parentHeap_0xfc->alloc(0x200, 4);
|
|
JUT_ASSERT(2347, i_Ms->dummy[i] != NULL);
|
|
}
|
|
|
|
dMf_c = new dMenu_Fmap_c();
|
|
JUT_ASSERT(2352, dMf_c != NULL);
|
|
|
|
dMf_c->setSvPtr(&dMv_CIO_c);
|
|
dMf_c->setFont(fonttype, rfonttype);
|
|
|
|
dMf_c->setTextArea_New(i_Ms->name[0], i_Ms->name[1], i_Ms->note[0], i_Ms->note[1], i_Ms->dummy[0], i_Ms->dummy[1]);
|
|
|
|
dMf_c->_create();
|
|
|
|
dMs_capture_c = new dDlst_MENU_CAPTURE_c();
|
|
JUT_ASSERT(2362, dMs_capture_c != NULL);
|
|
|
|
if (i_Ms->mMenuProc == MENU_STATE_FMAP_OPEN_WALLPAPER) {
|
|
dMs_capture_c->setDrawFlagOn();
|
|
}
|
|
|
|
if (i_Ms->mMenuProc == MENU_STATE_FMAP_OPEN) {
|
|
dMf_c->backClothDispInit();
|
|
}
|
|
}
|
|
|
|
/* 801DC694-801DC798 .text dMs_fmap_delete__FP19sub_ms_screen_class */
|
|
void dMs_fmap_delete(sub_ms_screen_class* i_Ms) {
|
|
for (int i = 0; i < 2; i++) {
|
|
if (i_Ms->name[i] != NULL) {
|
|
i_Ms->parentHeap_0xfc->free(i_Ms->name[i]);
|
|
i_Ms->name[i] = NULL;
|
|
}
|
|
if (i_Ms->note[i] != NULL) {
|
|
i_Ms->parentHeap_0xfc->free(i_Ms->note[i]);
|
|
i_Ms->note[i] = NULL;
|
|
}
|
|
if (i_Ms->dummy[i] != NULL) {
|
|
i_Ms->parentHeap_0xfc->free(i_Ms->dummy[i]);
|
|
i_Ms->dummy[i] = NULL;
|
|
}
|
|
}
|
|
|
|
if (dMf_c != NULL) {
|
|
dMf_c->_delete();
|
|
delete dMf_c;
|
|
dMf_c = NULL;
|
|
}
|
|
|
|
if (dMs_capture_c != NULL) {
|
|
delete dMs_capture_c;
|
|
dMs_capture_c = NULL;
|
|
}
|
|
}
|
|
|
|
/* 801DC798-801DCB30 .text dMs_dmap_create__FP19sub_ms_screen_class */
|
|
void dMs_dmap_create(sub_ms_screen_class* i_Ms) {
|
|
i_Ms->arc = dComIfGp_getDmapResArchive();
|
|
|
|
dComIfGp_setHeapLockFlag(3);
|
|
|
|
for (int i = 0; i < 2; i++) {
|
|
i_Ms->name[i] = (char*)i_Ms->parentHeap_0xfc->alloc(0x20, 4);
|
|
JUT_ASSERT(2464, i_Ms->name[i] != NULL);
|
|
|
|
i_Ms->note[i] = (char*)i_Ms->parentHeap_0xfc->alloc(0x200, 4);
|
|
JUT_ASSERT(2466, i_Ms->note[i] != NULL);
|
|
|
|
i_Ms->dummy[i] = (char*)i_Ms->parentHeap_0xfc->alloc(0x200, 4);
|
|
JUT_ASSERT(2468, i_Ms->dummy[i] != NULL);
|
|
}
|
|
|
|
i_Ms->field_0x1B2 = 0;
|
|
|
|
for (int i = 0; i < 3; i++) {
|
|
i_Ms->buffer_p[i] = i_Ms->parentHeap_0xfc->alloc(0xC00, 0x20);
|
|
JUT_ASSERT(2475, i_Ms->buffer_p[i] != NULL);
|
|
i_Ms->field_0x1B2++;
|
|
}
|
|
|
|
dMd_c = new dMenu_Dmap_c();
|
|
JUT_ASSERT(2480, dMd_c != NULL);
|
|
|
|
for (int i = 0; i < 3; i++) {
|
|
dMd_c->arr_0x1AFC[i] = i_Ms->buffer_p[i];
|
|
}
|
|
|
|
dMd_c->setArchive(i_Ms->arc);
|
|
dMd_c->setFont(fonttype, rfonttype);
|
|
|
|
dMd_c->setTextArea(i_Ms->name[0], i_Ms->name[1], i_Ms->note[0], i_Ms->note[1], i_Ms->dummy[0], i_Ms->dummy[1]);
|
|
|
|
dMd_c->_create();
|
|
|
|
dMs_capture_c = new dDlst_MENU_CAPTURE_c();
|
|
JUT_ASSERT(2491, dMs_capture_c != NULL);
|
|
}
|
|
|
|
/* 801DCB30-801DCC80 .text dMs_dmap_delete__FP19sub_ms_screen_class */
|
|
void dMs_dmap_delete(sub_ms_screen_class* i_Ms) {
|
|
for (int i = 0; i < 2; i++) {
|
|
if (i_Ms->name[i] != NULL) {
|
|
i_Ms->parentHeap_0xfc->free(i_Ms->name[i]);
|
|
i_Ms->name[i] = NULL;
|
|
}
|
|
if (i_Ms->note[i] != NULL) {
|
|
i_Ms->parentHeap_0xfc->free(i_Ms->note[i]);
|
|
i_Ms->note[i] = NULL;
|
|
}
|
|
if (i_Ms->dummy[i] != NULL) {
|
|
i_Ms->parentHeap_0xfc->free(i_Ms->dummy[i]);
|
|
i_Ms->dummy[i] = NULL;
|
|
}
|
|
}
|
|
|
|
for (int i = 0; i < i_Ms->field_0x1B2; i++) {
|
|
if (i_Ms->buffer_p[i] != NULL) {
|
|
i_Ms->parentHeap_0xfc->free(i_Ms->buffer_p[i]);
|
|
i_Ms->buffer_p[i] = NULL;
|
|
}
|
|
}
|
|
|
|
if (dMd_c != NULL) {
|
|
dMd_c->_delete();
|
|
delete dMd_c;
|
|
dMd_c = NULL;
|
|
}
|
|
|
|
if (dMs_capture_c != NULL) {
|
|
delete dMs_capture_c;
|
|
dMs_capture_c = NULL;
|
|
}
|
|
}
|
|
|
|
/* 801DCC80-801DCDA0 .text dMs_name_create__FP19sub_ms_screen_class */
|
|
void dMs_name_create(sub_ms_screen_class*) {
|
|
dComIfGp_setHeapLockFlag(10);
|
|
|
|
dNm_c = new dName_c();
|
|
JUT_ASSERT(2569, dNm_c != NULL);
|
|
|
|
dNm_c->_create();
|
|
|
|
dMs_capture_c = new dDlst_MENU_CAPTURE_c();
|
|
JUT_ASSERT(2573, dMs_capture_c != NULL);
|
|
}
|
|
|
|
/* 801DCDA0-801DCE20 .text dMs_name_delete__FP19sub_ms_screen_class */
|
|
void dMs_name_delete(sub_ms_screen_class*) {
|
|
if (dNm_c != NULL) {
|
|
dNm_c->_delete();
|
|
delete dNm_c;
|
|
dNm_c = NULL;
|
|
}
|
|
|
|
if (dMs_capture_c != NULL) {
|
|
delete dMs_capture_c;
|
|
dMs_capture_c = NULL;
|
|
}
|
|
}
|
|
|
|
/* 801DCE20-801DCEA0 .text dMs_save_delete__FP19sub_ms_screen_class */
|
|
void dMs_save_delete(sub_ms_screen_class*) {
|
|
if (dMs_c != NULL) {
|
|
dMs_c->_delete();
|
|
delete dMs_c;
|
|
dMs_c = NULL;
|
|
}
|
|
|
|
if (dMs_capture_c != NULL) {
|
|
delete dMs_capture_c;
|
|
dMs_capture_c = NULL;
|
|
}
|
|
}
|
|
|
|
/* 801DCEA0-801DD090 .text dMs_cloth_create__FP19sub_ms_screen_class */
|
|
void dMs_cloth_create(sub_ms_screen_class* i_Ms) {
|
|
dComIfGp_setHeapLockFlag(1);
|
|
JKRArchive* arc = dComIfGp_getClothResArchive();
|
|
|
|
cloth_c = new dMCloth_c();
|
|
JUT_ASSERT(2674, cloth_c != NULL);
|
|
|
|
cloth_c->setArchive(arc);
|
|
cloth_c->init();
|
|
|
|
dMs_cloth_c = new dDlst_MENU_CLOTH_c();
|
|
JUT_ASSERT(2680, dMs_cloth_c != NULL);
|
|
|
|
dMs_capture_c = new dDlst_MENU_CAPTURE_c();
|
|
JUT_ASSERT(2683, dMs_capture_c != NULL);
|
|
|
|
i_Ms->childHeap = JKRExpHeap::create(0x506A1, i_Ms->parentHeap_0xfc, false);
|
|
JUT_ASSERT(2686, i_Ms->childHeap != NULL);
|
|
}
|
|
|
|
/* 801DD090-801DD154 .text dMs_cloth_delete__FP19sub_ms_screen_class */
|
|
void dMs_cloth_delete(sub_ms_screen_class* i_Ms) {
|
|
if (i_Ms->childHeap) {
|
|
i_Ms->childHeap->destroy();
|
|
i_Ms->childHeap = NULL;
|
|
}
|
|
if (dMs_cloth_c) {
|
|
delete dMs_cloth_c;
|
|
dMs_cloth_c = NULL;
|
|
}
|
|
if (cloth_c) {
|
|
delete cloth_c;
|
|
cloth_c = NULL;
|
|
}
|
|
if (dMs_capture_c) {
|
|
delete dMs_capture_c;
|
|
dMs_capture_c = NULL;
|
|
}
|
|
}
|
|
|
|
/* 801DD154-801DD270 .text dMs_clothOnly_create__FP19sub_ms_screen_class */
|
|
void dMs_clothOnly_create(sub_ms_screen_class*) {
|
|
JKRArchive* arc = dComIfGp_getClothResArchive();
|
|
|
|
cloth_c = new dMCloth_c();
|
|
JUT_ASSERT(2744, cloth_c != NULL);
|
|
|
|
cloth_c->setArchive(arc);
|
|
cloth_c->setClothType(MENU_CLOTH_TYPE_CLOTH_ONLY);
|
|
cloth_c->init();
|
|
|
|
dMs_cloth_c = new dDlst_MENU_CLOTH_c();
|
|
JUT_ASSERT(2751, dMs_cloth_c != NULL);
|
|
}
|
|
|
|
/* 801DD270-801DD308 .text dMs_clothOnly_delete__FP19sub_ms_screen_class */
|
|
void dMs_clothOnly_delete(sub_ms_screen_class*) {
|
|
if (dMs_cloth_c) {
|
|
delete dMs_cloth_c;
|
|
dMs_cloth_c = NULL;
|
|
}
|
|
if (cloth_c) {
|
|
dComIfGp_getClothResArchive()->removeResourceAll();
|
|
delete cloth_c;
|
|
cloth_c = NULL;
|
|
}
|
|
}
|
|
|
|
/* 801DD308-801DD318 .text dMs_onButtonBit__FP19sub_ms_screen_classUc */
|
|
void dMs_onButtonBit(sub_ms_screen_class* i_Ms, u8 bit) {
|
|
i_Ms->mButtonsPressed |= bit;
|
|
}
|
|
|
|
/* 801DD318-801DD328 .text dMs_offButtonBit__FP19sub_ms_screen_classUc */
|
|
void dMs_offButtonBit(sub_ms_screen_class* i_Ms, u8 bit) {
|
|
i_Ms->mButtonsPressed &= ~bit;
|
|
}
|
|
|
|
/* 801DD328-801DD340 .text dMs_isButtonBit__FP19sub_ms_screen_classUc */
|
|
BOOL dMs_isButtonBit(sub_ms_screen_class* i_Ms, u8 bit) {
|
|
return (i_Ms->mButtonsPressed & bit) ? TRUE : FALSE;
|
|
}
|
|
|
|
/* 801DD340-801DD3A4 .text dMs_isPush_L_Button__FP19sub_ms_screen_class */
|
|
BOOL dMs_isPush_L_Button(sub_ms_screen_class* i_Ms) {
|
|
if (g_mDoCPd_cpadInfo[0].mHoldLockL != 0 && !dMs_isButtonBit(i_Ms, 1)) {
|
|
dMs_onButtonBit(i_Ms, 1);
|
|
return TRUE;
|
|
} else {
|
|
return FALSE;
|
|
}
|
|
}
|
|
|
|
/* 801DD3A4-801DD408 .text dMs_isPush_R_Button__FP19sub_ms_screen_class */
|
|
BOOL dMs_isPush_R_Button(sub_ms_screen_class* i_Ms) {
|
|
if (g_mDoCPd_cpadInfo[0].mHoldLockR != 0 && !dMs_isButtonBit(i_Ms, 2)) {
|
|
dMs_onButtonBit(i_Ms, 2);
|
|
return TRUE;
|
|
} else {
|
|
return FALSE;
|
|
}
|
|
}
|
|
|
|
/* 801DD408-801DD434 .text dMs_childHeap_freeAll__FP19sub_ms_screen_class */
|
|
void dMs_childHeap_freeAll(sub_ms_screen_class* i_Ms) {
|
|
if (i_Ms->childHeap) {
|
|
i_Ms->childHeap->freeAll();
|
|
}
|
|
}
|
|
|
|
/* 801DD434-801DD5CC .text dMs_telescopeMove__FP19sub_ms_screen_class */
|
|
void dMs_telescopeMove(sub_ms_screen_class* i_Ms) {
|
|
if (dComIfGp_isHeapLockFlag() == 0) {
|
|
dComIfGp_event_photoCheck();
|
|
if (dComIfGp_checkCameraAttentionStatus(0, 8)) {
|
|
i_Ms->field_0x1B0 = 99;
|
|
} else {
|
|
if (dComIfGp_checkCameraAttentionStatus(0, 0x40)) {
|
|
i_Ms->field_0x1B0 = 89;
|
|
} else {
|
|
if (dComIfGp_getScopeType() == 2) {
|
|
i_Ms->field_0x1B0 = 98;
|
|
} else if (dComIfGp_getPictureStatus() == 2 || dComIfGp_getPictureStatus() == 3) {
|
|
i_Ms->field_0x1B0 = 89;
|
|
dMenu_flagSet(1);
|
|
}
|
|
}
|
|
}
|
|
|
|
if (i_Ms->field_0x1B0 == 99 || i_Ms->field_0x1B0 == 89 || i_Ms->field_0x1B0 == 98) {
|
|
if (i_Ms->mMsgID == fpcM_ERROR_PROCESS_ID_e) {
|
|
cXyz pos(0.0f, 0.0f, 0.0f);
|
|
i_Ms->mMsgID = fopMsgM_messageSet(i_Ms->field_0x1B0 << 0x10, &pos);
|
|
|
|
switch (i_Ms->field_0x1B0) {
|
|
case 98:
|
|
case 99: {
|
|
dComIfGp_setHeapLockFlag(5);
|
|
} break;
|
|
case 89: {
|
|
dComIfGp_setHeapLockFlag(6);
|
|
} break;
|
|
}
|
|
}
|
|
}
|
|
} else {
|
|
if (i_Ms->mMsgID != fpcM_ERROR_PROCESS_ID_e) {
|
|
msg_class* msg = fopMsgM_SearchByID(i_Ms->mMsgID);
|
|
if (msg != NULL) {
|
|
if (msg->mStatus == fopMsgStts_MSG_DISPLAYED_e) {
|
|
msg->mStatus = fopMsgStts_MSG_ENDS_e;
|
|
} else if (msg->mStatus == fopMsgStts_BOX_CLOSED_e) {
|
|
msg->mStatus = fopMsgStts_MSG_DESTROYED_e;
|
|
i_Ms->mMsgID = fpcM_ERROR_PROCESS_ID_e;
|
|
i_Ms->field_0x1B0 = 0;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
/* 801DD5CC-801DD6D8 .text dMs_placenameMove__FP19sub_ms_screen_class */
|
|
void dMs_placenameMove(sub_ms_screen_class*) {
|
|
if (!dComIfGp_event_runCheck()) {
|
|
return;
|
|
}
|
|
|
|
if (dComIfGp_evmng_startCheck("awake")) {
|
|
if (dComIfGp_demo_get()) {
|
|
if (dComIfGp_demo_get()->getFrameNoMsg() == 0xC8) {
|
|
dComIfGp_setStageNameOn(0);
|
|
dComIfGs_onEventBit(dSv_event_flag_c::UNK_3510);
|
|
} else if (dComIfGp_demo_get()->getFrameNoMsg() == 0x15E) {
|
|
dComIfGp_setStageNameOff();
|
|
}
|
|
}
|
|
} else if (dComIfGp_evmng_startCheck("majyuu_shinnyuu")) {
|
|
if (dComIfGp_demo_get()) {
|
|
if (dComIfGp_demo_get()->getFrameNoMsg() == 0xB54) {
|
|
dComIfGp_setStageNameOn(1);
|
|
} else if (dComIfGp_demo_get()->getFrameNoMsg() == 0xBEA) {
|
|
dComIfGp_setStageNameOff();
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
/* 801DD6D8-801DD960 .text dMs_Draw__FP19sub_ms_screen_class */
|
|
static BOOL dMs_Draw(sub_ms_screen_class*) {
|
|
if (dMenu_flag() == 1 || dMs_capture_c && dMs_capture_c->checkDrawFlag() != 0) {
|
|
if (dMs_capture_c) {
|
|
dComIfGd_set2DOpa(dMs_capture_c);
|
|
|
|
if (dMs_capture_c->checkDrawFlag() == 2) {
|
|
dMs_capture_c->setDrawFlagOff();
|
|
dMenu_flagSet(1);
|
|
}
|
|
}
|
|
|
|
if (dMenu_getMenuStatus() == MENU_STATUS_ITEM) {
|
|
// Item screen
|
|
if (dMs_cloth_c) {
|
|
dComIfGd_set2DOpa(dMs_cloth_c);
|
|
}
|
|
if (dMi_c) {
|
|
dComIfGd_set2DOpa(dMi_c);
|
|
}
|
|
} else if (dMenu_getMenuStatus() == MENU_STATUS_COLLECT) {
|
|
// Collect screen
|
|
if (dMs_cloth_c) {
|
|
dComIfGd_set2DOpa(dMs_cloth_c);
|
|
}
|
|
if (dMc_c) {
|
|
dComIfGd_set2DOpa(dMc_c);
|
|
}
|
|
} else if (dMenu_getMenuStatus() == MENU_STATUS_MAP) {
|
|
// Map screen
|
|
if (dStage_stagInfo_GetUpButton(dComIfGp_getStageStagInfo()) == 1) {
|
|
// Dungeon map
|
|
if (dMd_c) {
|
|
dComIfGd_set2DOpa(dMd_c);
|
|
}
|
|
} else if (dStage_stagInfo_GetUpButton(dComIfGp_getStageStagInfo()) == 0) {
|
|
// Sea chart
|
|
if (dMs_cloth_c) {
|
|
dComIfGd_set2DOpa(dMs_cloth_c);
|
|
}
|
|
if (dMf_c) {
|
|
dMf_c->draw();
|
|
}
|
|
}
|
|
} else if (dMenu_getMenuStatus() == MENU_STATUS_NAME) {
|
|
// Name entry screen
|
|
if (dNm_c) {
|
|
dNm_c->draw();
|
|
}
|
|
} else if (dMenu_getMenuStatus() == MENU_STATUS_SAVE) {
|
|
// Save screen
|
|
if (dMs_c) {
|
|
dMs_c->_draw2();
|
|
}
|
|
}
|
|
} else if (dMenu_flag() == 3) {
|
|
if (dMs_capture_c) {
|
|
dComIfGd_set2DOpa(dMs_capture_c);
|
|
}
|
|
}
|
|
|
|
return TRUE;
|
|
}
|
|
|
|
/* 801DD960-801DF340 .text dMs_Execute__FP19sub_ms_screen_class */
|
|
static BOOL dMs_Execute(sub_ms_screen_class* i_Ms) {
|
|
static s16 timer = 0;
|
|
|
|
JKRHeap* heap = mDoExt_setCurrentHeap(i_Ms->parentHeap_0xfc);
|
|
|
|
if (dComIfGp_event_runCheck()) {
|
|
event_wait_frame = 5;
|
|
} else if (event_wait_frame > 0) {
|
|
event_wait_frame--;
|
|
} else {
|
|
event_wait_frame = 0;
|
|
}
|
|
|
|
#define CAN_PROCEED() (dMenu_flag() == 0 && dComIfGp_isEnableNextStage() == 0 && !fopOvlpM_IsDoingReq())
|
|
|
|
if (i_Ms->mMenuProc == MENU_STATE_NO_MENU && !dComIfGp_isHeapLockFlag() && dComIfGp_getMesgStatus() == 0) {
|
|
{
|
|
if (CAN_PROCEED() && dComIfGp_fmapOpenCheck() == 1) {
|
|
timer = 0;
|
|
i_Ms->mMenuProc = MENU_STATE_FMAP_OPEN_WARP_MODE;
|
|
dMs_fmap_create(i_Ms);
|
|
dMenu_flagSet(1);
|
|
dMenu_setMenuStatusOld(dMenu_getMenuStatus());
|
|
dMenu_setMenuStatus(MENU_STATUS_MAP);
|
|
dComIfGp_fmapOpenOff();
|
|
mDoAud_seStart(JA_SE_SHIPPU_CHART_OPEN);
|
|
|
|
} else if (CAN_PROCEED() && dComIfGp_InputPasswordOpenCheck() == 2) {
|
|
timer = 0;
|
|
i_Ms->mMenuProc = MENU_STATE_NAME_OPEN;
|
|
dMs_name_create(i_Ms);
|
|
dMenu_flagSet(1);
|
|
dMenu_setMenuStatusOld(dMenu_getMenuStatus());
|
|
dMenu_setMenuStatus(MENU_STATUS_NAME);
|
|
|
|
} else if (CAN_PROCEED() && dComIfGp_isMenuCollect()) {
|
|
dMs_cloth_create(i_Ms);
|
|
timer = 0;
|
|
dMenu_flagSet(1);
|
|
i_Ms->mMenuProc = MENU_STATE_COLLECT_OPEN_ALT;
|
|
mDoExt_setCurrentHeap(i_Ms->childHeap);
|
|
dMs_collect_create2(i_Ms);
|
|
dMenu_setMenuStatusOld(dMenu_getMenuStatus());
|
|
dMenu_setMenuStatus(MENU_STATUS_COLLECT);
|
|
mDoAud_seStart(JA_SE_ITM_MENU_IN);
|
|
mDoAud_seStart(JA_SE_ITM_MENU_PAGE);
|
|
dComIfGp_offMenuCollect();
|
|
|
|
} else if (CAN_PROCEED() && dComIfGp_fmapOpenCheck() == 2) {
|
|
timer = 0;
|
|
i_Ms->mMenuProc = MENU_STATE_FMAP_OPEN_FISHMAN_MODE;
|
|
dMs_fmap_create(i_Ms);
|
|
dMenu_flagSet(1);
|
|
dMenu_setMenuStatusOld(dMenu_getMenuStatus());
|
|
dMenu_setMenuStatus(MENU_STATUS_MAP);
|
|
dComIfGp_fmapOpenOff();
|
|
mDoAud_seStart(JA_SE_ITM_MENU_IN);
|
|
mDoAud_seStart(JA_SE_ITM_MENU_MAP_IN);
|
|
|
|
} else if (dMenu_flag() == 0 && !fopOvlpM_IsDoingReq() && !(CPad_CHECK_TRIG_A(0) || CPad_CHECK_TRIG_B(0) || CPad_CHECK_TRIG_Z(0))) {
|
|
|
|
if (event_wait_frame == 0 || daPy_getPlayerLinkActorClass()->getTactNormalWait() && CPad_CHECK_TRIG_START(0) ||
|
|
dComIfGp_getOperateWind() == 2 && CPad_CHECK_TRIG_UP(0) && dStage_stagInfo_GetUpButton(dComIfGp_getStageStagInfo()) == 0 &&
|
|
dComIfGs_isEventBit(dSv_event_flag_c::UNK_0908))
|
|
{
|
|
|
|
if (dComIfGp_getMesgStatus() == 0 && dComIfGp_getScopeMesgStatus() == 0) {
|
|
if (!dComIfGp_checkCameraAttentionStatus(0, 8) && !dComIfGp_checkCameraAttentionStatus(0, 0x40) &&
|
|
!dComIfGp_checkPlayerStatus0(0, daPyStts0_UNK800000_e))
|
|
{
|
|
|
|
{
|
|
if (dComIfGp_getOperateWind() != 2 ||
|
|
(dComIfGp_getOperateWind() == 2 && CPad_CHECK_TRIG_UP(0) && dStage_stagInfo_GetUpButton(dComIfGp_getStageStagInfo()) == 0 &&
|
|
dComIfGs_isEventBit(dSv_event_flag_c::UNK_0908)))
|
|
{
|
|
|
|
if (CPad_CHECK_TRIG_START(0) && dComIfGp_isEnableNextStage() == 0 &&
|
|
daPy_getPlayerActorClass() == daPy_getPlayerLinkActorClass())
|
|
{
|
|
|
|
dMs_cloth_create(i_Ms);
|
|
timer = 0;
|
|
dMenu_flagSet(1);
|
|
|
|
if (dMenu_getMenuStatus() == 2 || daPy_getPlayerLinkActorClass()->getTactNormalWait()) {
|
|
|
|
mDoExt_setCurrentHeap(i_Ms->childHeap);
|
|
dMs_collect_create(i_Ms);
|
|
dMc_c->setTriggerInfo(2);
|
|
|
|
if (daPy_getPlayerLinkActorClass()->getTactNormalWait()) {
|
|
i_Ms->mMenuProc = MENU_STATE_COLLECT_OPEN_TACT;
|
|
} else {
|
|
i_Ms->mMenuProc = MENU_STATE_COLLECT_OPEN;
|
|
}
|
|
|
|
dMenu_setMenuStatusOld(dMenu_getMenuStatus());
|
|
dMenu_setMenuStatus(MENU_STATUS_COLLECT);
|
|
dMenu_setPushMenuButton(2);
|
|
mDoAud_seStart(JA_SE_ITM_MENU_IN);
|
|
mDoAud_seStart(JA_SE_ITM_MENU_PAGE);
|
|
|
|
} else {
|
|
mDoExt_setCurrentHeap(i_Ms->childHeap);
|
|
dMs_item_create(i_Ms);
|
|
dMi_c->setTriggerInfo(2);
|
|
i_Ms->mMenuProc = MENU_STATE_ITEM_OPEN;
|
|
dMenu_setMenuStatusOld(dMenu_getMenuStatus());
|
|
dMenu_setMenuStatus(MENU_STATUS_ITEM);
|
|
dMenu_setPushMenuButton(1);
|
|
mDoAud_seStart(JA_SE_ITM_MENU_IN);
|
|
mDoAud_seStart(JA_SE_ITM_MENU_PAGE);
|
|
}
|
|
|
|
} else if (CAN_PROCEED() && CPad_CHECK_TRIG_UP(0)) {
|
|
|
|
timer = 0;
|
|
|
|
if (dStage_stagInfo_GetUpButton(dComIfGp_getStageStagInfo()) == 1) {
|
|
i_Ms->mMenuProc = MENU_STATE_DMAP_OPEN;
|
|
dMs_dmap_create(i_Ms);
|
|
dMenu_flagSet(1);
|
|
dMenu_setMenuStatusOld(dMenu_getMenuStatus());
|
|
dMenu_setMenuStatus(MENU_STATUS_MAP);
|
|
mDoAud_seStart(JA_SE_ITM_MENU_IN);
|
|
mDoAud_seStart(JA_SE_ITM_MENU_MAP_IN);
|
|
|
|
} else {
|
|
if (dStage_stagInfo_GetUpButton(dComIfGp_getStageStagInfo()) == 0 &&
|
|
dComIfGs_isEventBit(dSv_event_flag_c::UNK_0908) && dComIfGp_getMiniGameType() != 1 &&
|
|
dComIfGp_getMiniGameType() != 6)
|
|
{
|
|
|
|
if (dComIfGp_getOperateWind() == 2) {
|
|
i_Ms->mMenuProc = MENU_STATE_FMAP_OPEN_WALLPAPER;
|
|
} else {
|
|
i_Ms->mMenuProc = MENU_STATE_FMAP_OPEN;
|
|
dMs_clothOnly_create(i_Ms);
|
|
dMenu_flagSet(1);
|
|
}
|
|
|
|
dMs_fmap_create(i_Ms);
|
|
dMenu_setMenuStatusOld(dMenu_getMenuStatus());
|
|
dMenu_setMenuStatus(MENU_STATUS_MAP);
|
|
mDoAud_seStart(JA_SE_ITM_MENU_IN);
|
|
mDoAud_seStart(JA_SE_ITM_MENU_MAP_IN);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
} else if (i_Ms->mMenuProc == MENU_STATE_ITEM_OPEN) {
|
|
timer++;
|
|
cloth_c->cloth_move();
|
|
if (timer > g_menuHIO.field_0x90) {
|
|
mDoExt_setCurrentHeap(i_Ms->childHeap);
|
|
if (dMi_c->_open()) {
|
|
i_Ms->mMenuProc = MENU_STATE_ITEM_MOVE;
|
|
}
|
|
}
|
|
|
|
} else if (i_Ms->mMenuProc == MENU_STATE_COLLECT_OPEN || i_Ms->mMenuProc == MENU_STATE_COLLECT_OPEN_TACT) {
|
|
timer++;
|
|
cloth_c->cloth_move();
|
|
if (timer > g_menuHIO.field_0x90) {
|
|
mDoExt_setCurrentHeap(i_Ms->childHeap);
|
|
if (dMc_c->_open()) {
|
|
if (i_Ms->mMenuProc == MENU_STATE_COLLECT_OPEN_TACT) {
|
|
i_Ms->mMenuProc = MENU_STATE_COLLECT_MOVE_TACT;
|
|
} else {
|
|
i_Ms->mMenuProc = MENU_STATE_COLLECT_MOVE;
|
|
}
|
|
}
|
|
}
|
|
|
|
} else if (i_Ms->mMenuProc == MENU_STATE_COLLECT_OPEN_ALT) {
|
|
timer++;
|
|
cloth_c->cloth_move();
|
|
if (timer > g_menuHIO.field_0x90) {
|
|
mDoExt_setCurrentHeap(i_Ms->childHeap);
|
|
if (dMc_c->_open3()) {
|
|
i_Ms->mMenuProc = MENU_STATE_COLLECT_MOVE_ALT;
|
|
}
|
|
}
|
|
|
|
} else if (i_Ms->mMenuProc == MENU_STATE_COLLECT_TO_ITEM_LEFT) {
|
|
cloth_c->cloth_move();
|
|
mDoExt_setCurrentHeap(i_Ms->childHeap);
|
|
if (dMc_c->_close2()) {
|
|
i_Ms->mMenuProc = MENU_STATE_ITEM_OPEN_FROM_COLLECT_LEFT;
|
|
dMenu_setMenuStatusOld(dMenu_getMenuStatus());
|
|
dMenu_setMenuStatus(MENU_STATUS_ITEM);
|
|
dMs_collect_delete(i_Ms);
|
|
dMs_childHeap_freeAll(i_Ms);
|
|
dMs_item_create(i_Ms);
|
|
dMi_c->setTriggerInfo(1);
|
|
}
|
|
|
|
} else if (i_Ms->mMenuProc == MENU_STATE_COLLECT_TO_ITEM_RIGHT) {
|
|
cloth_c->cloth_move();
|
|
mDoExt_setCurrentHeap(i_Ms->childHeap);
|
|
if (dMc_c->_close2()) {
|
|
i_Ms->mMenuProc = MENU_STATE_ITEM_OPEN_FROM_COLLECT_RIGHT;
|
|
dMenu_setMenuStatusOld(dMenu_getMenuStatus());
|
|
dMenu_setMenuStatus(MENU_STATUS_ITEM);
|
|
dMs_collect_delete(i_Ms);
|
|
dMs_childHeap_freeAll(i_Ms);
|
|
dMs_item_create(i_Ms);
|
|
dMi_c->setTriggerInfo(2);
|
|
}
|
|
|
|
} else if (i_Ms->mMenuProc == MENU_STATE_ITEM_OPEN_FROM_COLLECT_LEFT || i_Ms->mMenuProc == MENU_STATE_ITEM_OPEN_FROM_COLLECT_RIGHT) {
|
|
cloth_c->cloth_move();
|
|
mDoExt_setCurrentHeap(i_Ms->childHeap);
|
|
if (dMi_c->_open2()) {
|
|
i_Ms->mMenuProc = MENU_STATE_ITEM_MOVE;
|
|
}
|
|
|
|
} else if (i_Ms->mMenuProc == MENU_STATE_ITEM_TO_COLLECT_LEFT) {
|
|
cloth_c->cloth_move();
|
|
mDoExt_setCurrentHeap(i_Ms->childHeap);
|
|
if (dMi_c->_close2()) {
|
|
i_Ms->mMenuProc = MENU_STATE_COLLECT_OPEN_LEFT;
|
|
dMenu_setMenuStatusOld(dMenu_getMenuStatus());
|
|
dMenu_setMenuStatus(MENU_STATUS_COLLECT);
|
|
dMs_item_delete(i_Ms);
|
|
dMs_childHeap_freeAll(i_Ms);
|
|
dMs_collect_create(i_Ms);
|
|
dMc_c->setTriggerInfo(1);
|
|
}
|
|
|
|
} else if (i_Ms->mMenuProc == MENU_STATE_ITEM_TO_COLLECT_RIGHT) {
|
|
cloth_c->cloth_move();
|
|
mDoExt_setCurrentHeap(i_Ms->childHeap);
|
|
if (dMi_c->_close2()) {
|
|
i_Ms->mMenuProc = MENU_STATE_COLLECT_OPEN_RIGHT;
|
|
dMenu_setMenuStatusOld(dMenu_getMenuStatus());
|
|
dMenu_setMenuStatus(MENU_STATUS_COLLECT);
|
|
dMs_item_delete(i_Ms);
|
|
dMs_childHeap_freeAll(i_Ms);
|
|
dMs_collect_create(i_Ms);
|
|
dMc_c->setTriggerInfo(2);
|
|
}
|
|
|
|
} else if (i_Ms->mMenuProc == MENU_STATE_COLLECT_OPEN_LEFT || i_Ms->mMenuProc == MENU_STATE_COLLECT_OPEN_RIGHT) {
|
|
cloth_c->cloth_move();
|
|
mDoExt_setCurrentHeap(i_Ms->childHeap);
|
|
if (dMc_c->_open2()) {
|
|
i_Ms->mMenuProc = MENU_STATE_COLLECT_MOVE;
|
|
}
|
|
|
|
} else if (i_Ms->mMenuProc == MENU_STATE_ITEM_MOVE) {
|
|
cloth_c->cloth_move();
|
|
if ((CPad_CHECK_TRIG_START(0) || CPad_CHECK_TRIG_B(0)) && !dMi_c->noteCheck() && dMi_c->getItemMode() == 0 && !dMeter_subWinFlag()) {
|
|
|
|
cloth_c->alpha_out();
|
|
mDoExt_setCurrentHeap(i_Ms->childHeap);
|
|
i_Ms->mMenuProc = MENU_STATE_ITEM_CLOSE;
|
|
dMi_c->setTriggerInfo(0);
|
|
dMi_c->setTimer(10);
|
|
dMenu_setPushMenuButton(0);
|
|
mDoAud_seStart(JA_SE_ITM_MENU_OUT);
|
|
|
|
} else if (dMs_isPush_R_Button(i_Ms) && !dMi_c->noteCheck() && dMi_c->getItemMode() == 0) {
|
|
mDoExt_setCurrentHeap(i_Ms->childHeap);
|
|
i_Ms->mMenuProc = MENU_STATE_ITEM_TO_COLLECT_RIGHT;
|
|
dMi_c->setTriggerInfo(2);
|
|
dMi_c->setTimer(g_menuHIO.field_0x92);
|
|
dMenu_setPushMenuButton(2);
|
|
mDoAud_seStart(JA_SE_ITEM_COL_SW);
|
|
|
|
} else if (dMs_isPush_L_Button(i_Ms) && !dMi_c->noteCheck() && dMi_c->getItemMode() == 0) {
|
|
|
|
mDoExt_setCurrentHeap(i_Ms->childHeap);
|
|
i_Ms->mMenuProc = MENU_STATE_ITEM_TO_COLLECT_LEFT;
|
|
dMi_c->setTriggerInfo(1);
|
|
dMi_c->setTimer(g_menuHIO.field_0x92);
|
|
dMenu_setPushMenuButton(2);
|
|
mDoAud_seStart(JA_SE_ITEM_COL_SW);
|
|
|
|
} else {
|
|
mDoExt_setCurrentHeap(i_Ms->childHeap);
|
|
dMi_c->_move();
|
|
}
|
|
|
|
} else if (i_Ms->mMenuProc == MENU_STATE_COLLECT_MOVE) {
|
|
cloth_c->cloth_move();
|
|
if ((CPad_CHECK_TRIG_START(0) || CPad_CHECK_TRIG_B(0)) && !dMc_c->noteCheck() && (dMc_c->getCollectMode() == 0 || dMc_c->getCollectMode() == 2)) {
|
|
|
|
cloth_c->alpha_out();
|
|
mDoExt_setCurrentHeap(i_Ms->childHeap);
|
|
i_Ms->mMenuProc = MENU_STATE_COLLECT_CLOSE;
|
|
dMc_c->setTriggerInfo(0);
|
|
dMc_c->setTimer(10);
|
|
dMenu_setPushMenuButton(0);
|
|
mDoAud_seStart(JA_SE_ITM_MENU_OUT);
|
|
|
|
} else if (dMs_isPush_R_Button(i_Ms) && !dMc_c->noteCheck() && (dMc_c->getCollectMode() == 0 || dMc_c->getCollectMode() == 2)) {
|
|
|
|
mDoExt_setCurrentHeap(i_Ms->childHeap);
|
|
i_Ms->mMenuProc = MENU_STATE_COLLECT_TO_ITEM_RIGHT;
|
|
dMc_c->setTriggerInfo(2);
|
|
dMc_c->setTimer(g_menuHIO.field_0x92);
|
|
dMenu_setPushMenuButton(1);
|
|
mDoAud_seStart(JA_SE_ITEM_COL_SW);
|
|
|
|
} else if (dMs_isPush_L_Button(i_Ms) && !dMc_c->noteCheck() && (dMc_c->getCollectMode() == 0 || dMc_c->getCollectMode() == 2)) {
|
|
|
|
mDoExt_setCurrentHeap(i_Ms->childHeap);
|
|
i_Ms->mMenuProc = MENU_STATE_COLLECT_TO_ITEM_LEFT;
|
|
dMc_c->setTriggerInfo(1);
|
|
dMc_c->setTimer(g_menuHIO.field_0x92);
|
|
dMenu_setPushMenuButton(1);
|
|
mDoAud_seStart(JA_SE_ITEM_COL_SW);
|
|
|
|
} else {
|
|
mDoExt_setCurrentHeap(i_Ms->childHeap);
|
|
dMc_c->_move();
|
|
}
|
|
|
|
} else if (i_Ms->mMenuProc == MENU_STATE_COLLECT_MOVE_TACT) {
|
|
cloth_c->cloth_move();
|
|
if ((CPad_CHECK_TRIG_START(0) || CPad_CHECK_TRIG_B(0)) && !dMc_c->noteCheck() && (dMc_c->getCollectMode() == 0 || dMc_c->getCollectMode() == 2)) {
|
|
cloth_c->alpha_out();
|
|
mDoExt_setCurrentHeap(i_Ms->childHeap);
|
|
i_Ms->mMenuProc = MENU_STATE_COLLECT_CLOSE_TACT;
|
|
dMc_c->setTriggerInfo(0);
|
|
dMc_c->setTimer(10);
|
|
dMenu_setPushMenuButton(0);
|
|
mDoAud_seStart(JA_SE_ITM_MENU_OUT);
|
|
} else {
|
|
mDoExt_setCurrentHeap(i_Ms->childHeap);
|
|
dMc_c->_move();
|
|
}
|
|
|
|
} else if (i_Ms->mMenuProc == MENU_STATE_COLLECT_MOVE_ALT) {
|
|
cloth_c->cloth_move();
|
|
if (dMc_c->getCollectMode() != 5) {
|
|
cloth_c->alpha_out();
|
|
mDoExt_setCurrentHeap(i_Ms->childHeap);
|
|
i_Ms->mMenuProc = MENU_STATE_COLLECT_CLOSE_ALT;
|
|
dMc_c->setTriggerInfo(0);
|
|
dMc_c->setTimer(10);
|
|
dMenu_setPushMenuButton(0);
|
|
mDoAud_seStart(JA_SE_ITM_MENU_OUT);
|
|
} else {
|
|
mDoExt_setCurrentHeap(i_Ms->childHeap);
|
|
dMc_c->_move3();
|
|
}
|
|
|
|
} else if (i_Ms->mMenuProc == MENU_STATE_ITEM_CLOSE) {
|
|
cloth_c->cloth_move();
|
|
mDoExt_setCurrentHeap(i_Ms->childHeap);
|
|
if (dMi_c->_close()) {
|
|
dMs_item_delete(i_Ms);
|
|
dMs_childHeap_freeAll(i_Ms);
|
|
mDoExt_setCurrentHeap(i_Ms->parentHeap_0xfc);
|
|
dMs_cloth_delete(i_Ms);
|
|
i_Ms->mMenuProc = MENU_STATE_NO_MENU;
|
|
dMenu_flagSet(0);
|
|
i_Ms->parentHeap_0xfc->freeAll();
|
|
dComIfGp_offHeapLockFlag();
|
|
}
|
|
|
|
} else if (i_Ms->mMenuProc == MENU_STATE_COLLECT_CLOSE || i_Ms->mMenuProc == MENU_STATE_COLLECT_CLOSE_TACT) {
|
|
cloth_c->cloth_move();
|
|
mDoExt_setCurrentHeap(i_Ms->childHeap);
|
|
if (dMc_c->_close()) {
|
|
dMs_collect_delete(i_Ms);
|
|
dMs_childHeap_freeAll(i_Ms);
|
|
mDoExt_setCurrentHeap(i_Ms->parentHeap_0xfc);
|
|
dMs_cloth_delete(i_Ms);
|
|
i_Ms->mMenuProc = MENU_STATE_NO_MENU;
|
|
dMenu_flagSet(0);
|
|
i_Ms->parentHeap_0xfc->freeAll();
|
|
dComIfGp_offHeapLockFlag();
|
|
daPy_getPlayerLinkActorClass()->resetTactCount();
|
|
}
|
|
|
|
} else if (i_Ms->mMenuProc == MENU_STATE_COLLECT_CLOSE_ALT) {
|
|
cloth_c->cloth_move();
|
|
mDoExt_setCurrentHeap(i_Ms->childHeap);
|
|
if (dMc_c->_close3()) {
|
|
dMs_collect_delete(i_Ms);
|
|
dMs_childHeap_freeAll(i_Ms);
|
|
mDoExt_setCurrentHeap(i_Ms->parentHeap_0xfc);
|
|
dMs_cloth_delete(i_Ms);
|
|
i_Ms->mMenuProc = MENU_STATE_NO_MENU;
|
|
dMenu_flagSet(0);
|
|
i_Ms->parentHeap_0xfc->freeAll();
|
|
dComIfGp_offHeapLockFlag();
|
|
}
|
|
|
|
} else if (i_Ms->mMenuProc == MENU_STATE_DMAP_OPEN) {
|
|
if (dMd_c->_open()) {
|
|
i_Ms->mMenuProc = MENU_STATE_DMAP_MOVE;
|
|
}
|
|
|
|
} else if (i_Ms->mMenuProc == MENU_STATE_DMAP_MOVE) {
|
|
if ((CPad_CHECK_TRIG_DOWN(0) || CPad_CHECK_TRIG_B(0) || CPad_CHECK_TRIG_LEFT(0)) && dMd_c->noteCheck() == 0) {
|
|
|
|
i_Ms->mMenuProc = MENU_STATE_DMAP_CLOSE;
|
|
mDoAud_seStart(JA_SE_ITM_MENU_OUT);
|
|
|
|
} else {
|
|
dMd_c->_move();
|
|
}
|
|
|
|
} else if (i_Ms->mMenuProc == MENU_STATE_DMAP_CLOSE) {
|
|
if (dMd_c->_close()) {
|
|
i_Ms->mMenuProc = MENU_STATE_NO_MENU;
|
|
dMenu_flagSet(0);
|
|
dMs_dmap_delete(i_Ms);
|
|
i_Ms->parentHeap_0xfc->freeAll();
|
|
dComIfGp_offHeapLockFlag();
|
|
}
|
|
|
|
} else if (i_Ms->mMenuProc == MENU_STATE_FMAP_OPEN) {
|
|
cloth_c->cloth_move();
|
|
if (dMf_c->_open()) {
|
|
i_Ms->mMenuProc = MENU_STATE_FMAP_MOVE;
|
|
}
|
|
|
|
} else if (i_Ms->mMenuProc == MENU_STATE_FMAP_OPEN_WARP_MODE) {
|
|
if (dMf_c->_open_warpMode()) {
|
|
i_Ms->mMenuProc = MENU_STATE_FMAP_MOVE_WARP_MODE;
|
|
}
|
|
|
|
} else if (i_Ms->mMenuProc == MENU_STATE_FMAP_OPEN_WALLPAPER) {
|
|
if (dMenu_flag() && dMf_c->_open_wallPaper()) {
|
|
i_Ms->mMenuProc = MENU_STATE_FMAP_MOVE_WALLPAPER;
|
|
}
|
|
|
|
} else if (i_Ms->mMenuProc == MENU_STATE_FMAP_OPEN_FISHMAN_MODE) {
|
|
if (dMenu_flag() && dMf_c->_open_fishManMode()) {
|
|
i_Ms->mMenuProc = MENU_STATE_FMAP_MOVE_FISHMAN_MODE;
|
|
}
|
|
|
|
} else if (i_Ms->mMenuProc == MENU_STATE_FMAP_MOVE || i_Ms->mMenuProc == MENU_STATE_FMAP_MOVE_WARP_MODE) {
|
|
if (cloth_c) {
|
|
cloth_c->cloth_move();
|
|
}
|
|
|
|
if (dMf_c->isFmapClose()) {
|
|
i_Ms->mMenuProc = MENU_STATE_FMAP_CLOSE;
|
|
mDoAud_seStart(JA_SE_ITM_MENU_OUT);
|
|
} else {
|
|
dMf_c->_move();
|
|
}
|
|
|
|
} else if (i_Ms->mMenuProc == MENU_STATE_FMAP_MOVE_WALLPAPER) {
|
|
if (dMf_c->isFmapClose() || CPad_CHECK_TRIG_DOWN(0) || CPad_CHECK_TRIG_A(0) || CPad_CHECK_TRIG_B(0) || CPad_CHECK_TRIG_X(0) || CPad_CHECK_TRIG_Y(0) ||
|
|
dComIfGp_getOperateWind() != 2)
|
|
{
|
|
|
|
i_Ms->mMenuProc = MENU_STATE_FMAP_CLOSE;
|
|
mDoAud_seStart(JA_SE_ITM_MENU_OUT);
|
|
|
|
} else {
|
|
dMf_c->_move();
|
|
}
|
|
|
|
} else if (i_Ms->mMenuProc == MENU_STATE_FMAP_MOVE_FISHMAN_MODE) {
|
|
if (dMf_c->isFmapClose()) {
|
|
i_Ms->mMenuProc = MENU_STATE_FMAP_CLOSE;
|
|
mDoAud_seStart(JA_SE_ITM_MENU_OUT);
|
|
} else {
|
|
dMf_c->_move();
|
|
}
|
|
|
|
} else if (i_Ms->mMenuProc == MENU_STATE_FMAP_CLOSE) {
|
|
if (cloth_c) {
|
|
cloth_c->alpha_out();
|
|
}
|
|
|
|
if (dMf_c->_close()) {
|
|
i_Ms->mMenuProc = MENU_STATE_NO_MENU;
|
|
dMenu_flagSet(0);
|
|
dMs_clothOnly_delete(i_Ms);
|
|
dMs_fmap_delete(i_Ms);
|
|
i_Ms->parentHeap_0xfc->freeAll();
|
|
dComIfGp_offHeapLockFlag();
|
|
}
|
|
|
|
} else if (i_Ms->mMenuProc == MENU_STATE_NAME_OPEN) {
|
|
if (dNm_c->_open()) {
|
|
i_Ms->mMenuProc = MENU_STATE_NAME_MOVE;
|
|
}
|
|
|
|
} else if (i_Ms->mMenuProc == MENU_STATE_NAME_MOVE) {
|
|
dNm_c->_move();
|
|
|
|
if (dNm_c->isInputEnd() == 1) {
|
|
dComIfGp_setInputPassword(dNm_c->getInputStrPtr());
|
|
i_Ms->mMenuProc = MENU_STATE_NAME_CLOSE;
|
|
dComIfGp_InputPasswordOpenChangeOff();
|
|
|
|
} else if (dNm_c->isInputEnd() == 2) {
|
|
dComIfGp_setInputPassword("");
|
|
i_Ms->mMenuProc = MENU_STATE_NAME_CLOSE;
|
|
dComIfGp_InputPasswordOpenCancelOff();
|
|
}
|
|
|
|
} else if (i_Ms->mMenuProc == MENU_STATE_NAME_CLOSE) {
|
|
if (dNm_c->_close()) {
|
|
i_Ms->mMenuProc = MENU_STATE_NO_MENU;
|
|
dMenu_flagSet(0);
|
|
dMs_name_delete(i_Ms);
|
|
i_Ms->parentHeap_0xfc->freeAll();
|
|
dComIfGp_offHeapLockFlag();
|
|
}
|
|
|
|
} else if (i_Ms->mMenuProc == MENU_STATE_SAVE_OPEN) {
|
|
if (dMs_c->_open()) {
|
|
i_Ms->mMenuProc = MENU_STATE_SAVE_MOVE;
|
|
}
|
|
|
|
} else if (i_Ms->mMenuProc == MENU_STATE_SAVE_MOVE) {
|
|
dMs_c->_move();
|
|
|
|
if (dMs_c->getSaveStatus() == 3) {
|
|
if (dMs_c->getEndStatus() == 0) {
|
|
dComIfGp_setGameoverStatus(3);
|
|
} else if (dMs_c->getEndStatus() == 1) {
|
|
dComIfGp_setGameoverStatus(2);
|
|
}
|
|
i_Ms->mMenuProc = MENU_STATE_SAVE_CLOSE;
|
|
}
|
|
|
|
} else if (i_Ms->mMenuProc == MENU_STATE_SAVE_CLOSE) {
|
|
if (dMs_c->_close()) {
|
|
i_Ms->mMenuProc = MENU_STATE_NO_MENU;
|
|
dMenu_flagSet(0);
|
|
dMs_save_delete(i_Ms);
|
|
i_Ms->parentHeap_0xfc->freeAll();
|
|
dComIfGp_offHeapLockFlag();
|
|
}
|
|
|
|
} else {
|
|
// default
|
|
}
|
|
|
|
if (!mDoCPd_L_LOCK_BUTTON(0) && dMs_isButtonBit(i_Ms, 1)) {
|
|
dMs_offButtonBit(i_Ms, 1);
|
|
}
|
|
|
|
if (dMi_c) {
|
|
dMenu_setItemMode(dMi_c->getItemMode());
|
|
} else {
|
|
dMenu_setItemMode(0);
|
|
}
|
|
|
|
if (dMc_c) {
|
|
dMenu_setCollectMode(dMc_c->getCollectMode());
|
|
} else {
|
|
dMenu_setCollectMode(0);
|
|
}
|
|
|
|
if (!mDoCPd_R_LOCK_BUTTON(0) && dMs_isButtonBit(i_Ms, 2)) {
|
|
dMs_offButtonBit(i_Ms, 2);
|
|
}
|
|
|
|
if (dComIfGp_demo_mode() == 1) {
|
|
dMs_placenameMove(i_Ms);
|
|
}
|
|
|
|
dMs_telescopeMove(i_Ms);
|
|
|
|
if (dMenu_flag() == 0 && !dComIfGp_event_runCheck()) {
|
|
dComIfGs_getpItemRecord()->decTimer();
|
|
}
|
|
|
|
dComIfGp_decItemTimer();
|
|
|
|
if (dMf_c) {
|
|
dMeter_Info.mButtonIconMode = dMf_c->getButtonIconMode();
|
|
} else {
|
|
dMeter_Info.mButtonIconMode = 3;
|
|
}
|
|
|
|
mDoExt_setCurrentHeap(heap);
|
|
return TRUE;
|
|
}
|
|
|
|
/* 801DF340-801DF368 .text dMs_IsDelete__FP19sub_ms_screen_class */
|
|
static BOOL dMs_IsDelete(sub_ms_screen_class*) {
|
|
dMenu_flagSet(0);
|
|
return TRUE;
|
|
}
|
|
|
|
/* 801DF368-801DF4C4 .text dMs_Delete__FP19sub_ms_screen_class */
|
|
static BOOL dMs_Delete(sub_ms_screen_class* i_Ms) {
|
|
dMenu_setPushMenuButton(0);
|
|
dComIfGp_setPictureStatus(0);
|
|
|
|
JKRHeap* heap = mDoExt_getCurrentHeap();
|
|
|
|
if (i_Ms->childHeap) {
|
|
mDoExt_setCurrentHeap(i_Ms->childHeap);
|
|
if (dMi_c) {
|
|
dMs_item_delete(i_Ms);
|
|
}
|
|
if (dMc_c) {
|
|
dMs_collect_delete(i_Ms);
|
|
}
|
|
dMs_childHeap_freeAll(i_Ms);
|
|
}
|
|
|
|
mDoExt_setCurrentHeap(i_Ms->parentHeap_0xfc);
|
|
|
|
if (dStage_stagInfo_GetUpButton(dComIfGp_getStageStagInfo()) == 1) {
|
|
// Dungeon map
|
|
dMs_dmap_delete(i_Ms);
|
|
} else if (dStage_stagInfo_GetUpButton(dComIfGp_getStageStagInfo()) == 0) {
|
|
// Sea chart
|
|
dMs_fmap_delete(i_Ms);
|
|
}
|
|
|
|
dMs_name_delete(i_Ms);
|
|
dMs_save_delete(i_Ms);
|
|
dMs_cloth_delete(i_Ms);
|
|
|
|
mDoExt_setCurrentHeap(heap);
|
|
mDoExt_removeMesgFont();
|
|
mDoExt_removeRubyFont();
|
|
|
|
mDoHIO_deleteChild(g_mwHIO.mNo);
|
|
mDoHIO_deleteChild(g_mwDHIO.mNo);
|
|
|
|
return TRUE;
|
|
}
|
|
|
|
/* 801DF4C4-801DF684 .text dMs_Create__FP9msg_class */
|
|
static cPhs_State dMs_Create(msg_class* i_this) {
|
|
sub_ms_screen_class* i_Ms = (sub_ms_screen_class*)i_this;
|
|
|
|
g_mwHIO.mNo = mDoHIO_createChild("アイテムビット", &g_mwHIO); // Item Bit
|
|
g_mwDHIO.mNo = mDoHIO_createChild("ダンジョンビット", &g_mwDHIO); // Dungeon Bit
|
|
|
|
i_Ms->parentHeap_0xfc = dComIfGp_getExpHeap2D();
|
|
|
|
fonttype = mDoExt_getMesgFont();
|
|
JUT_ASSERT(4097, fonttype != NULL);
|
|
|
|
rfonttype = mDoExt_getRubyFont();
|
|
JUT_ASSERT(4100, rfonttype != NULL);
|
|
|
|
event_wait_frame = 0;
|
|
|
|
dComIfGp_InputPasswordOpenCancelOff();
|
|
|
|
i_Ms->mButtonsPressed = 0;
|
|
i_Ms->mMsgID = fpcM_ERROR_PROCESS_ID_e;
|
|
i_Ms->field_0x1B0 = 0;
|
|
|
|
dComIfGp_offHeapLockFlag();
|
|
|
|
if (dComIfGs_getFwaterTimer() != 0) {
|
|
dComIfGs_startFwaterTimer();
|
|
}
|
|
|
|
dMenu_setMenuStatus(MENU_STATUS_ITEM);
|
|
|
|
dMv_CIO_c.field_0x0 = 0;
|
|
dMv_CIO_c.field_0x1 = 0;
|
|
dMv_CIO_c.field_0x2 = -10;
|
|
dMv_CIO_c.field_0x3 = -10;
|
|
dMv_CIO_c.field_0x4 = -10;
|
|
dMv_CIO_c.field_0x5 = -10;
|
|
dMv_CIO_c.field_0x6 = -10;
|
|
dMv_CIO_c.field_0x7 = -10;
|
|
dMv_CIO_c.field_0x8 = 0;
|
|
dMv_CIO_c.field_0x9 = -1;
|
|
dMv_CIO_c.field_0xA = -10;
|
|
dMv_CIO_c.field_0xB = -10;
|
|
|
|
fopMsgM_setStageLayer(i_Ms);
|
|
|
|
return cPhs_COMPLEATE_e;
|
|
}
|
|
|
|
msg_method_class l_dMs_Method = {
|
|
/* Create */ (process_method_func)dMs_Create,
|
|
/* Delete */ (process_method_func)dMs_Delete,
|
|
/* Execute */ (process_method_func)dMs_Execute,
|
|
/* IsDelete */ (process_method_func)dMs_IsDelete,
|
|
/* Draw */ (process_method_func)dMs_Draw,
|
|
};
|
|
|
|
msg_process_profile_definition g_profile_MENUWINDOW = {
|
|
/* LayerID */ fpcLy_CURRENT_e,
|
|
/* ListID */ 0x000C,
|
|
/* ListPrio */ fpcPi_CURRENT_e,
|
|
/* ProcName */ PROC_MENUWINDOW,
|
|
/* Proc SubMtd */ &g_fpcLf_Method.base,
|
|
/* Size */ sizeof(sub_ms_screen_class),
|
|
/* SizeOther */ 0,
|
|
/* Parameters */ 0,
|
|
/* Leaf SubMtd */ &g_fopMsg_Method,
|
|
/* Priority */ PRIO_MENUWINDOW,
|
|
/* Msg SubMtd */ &l_dMs_Method,
|
|
};
|