summaryrefslogtreecommitdiff
path: root/src/d
diff options
context:
space:
mode:
authorroeming <brother64youyou@gmail.com>2025-12-07 20:09:47 -0500
committerGitHub <noreply@github.com>2025-12-07 17:09:47 -0800
commit07a4e6b05289b7efcd37f9c69afb8336c0171aa0 (patch)
treebfe2a1297687b67d6539eb5102d8af992b591369 /src/d
parente82c27fd001994abdd894f94d62b7e628b446c8e (diff)
match debug for D_menu_fmap2_d (#2925)
* menu_fmap2d debug progress * match debug for d_menu_fmap2D * fix broken function * fix weird shield mismatch * fix other shield mismatch * fix suggestions * fix func for wii version * match func for all versions * remove cast from saveBitLabels
Diffstat (limited to 'src/d')
-rw-r--r--src/d/actor/d_a_demo00.cpp2
-rw-r--r--src/d/actor/d_a_e_hp.cpp2
-rw-r--r--src/d/actor/d_a_e_rdy.cpp2
-rw-r--r--src/d/actor/d_a_kago.cpp2
-rw-r--r--src/d/actor/d_a_kytag14.cpp4
-rw-r--r--src/d/actor/d_a_mg_rod.cpp14
-rw-r--r--src/d/actor/d_a_npc.cpp6
-rw-r--r--src/d/actor/d_a_npc4.cpp4
-rw-r--r--src/d/actor/d_a_npc_chat.cpp4
-rw-r--r--src/d/actor/d_a_npc_henna.cpp16
-rw-r--r--src/d/actor/d_a_npc_ks.cpp8
-rw-r--r--src/d/actor/d_a_obj_ihasi.cpp4
-rw-r--r--src/d/actor/d_a_obj_kamakiri.cpp8
-rw-r--r--src/d/actor/d_a_obj_katatsumuri.cpp8
-rw-r--r--src/d/actor/d_a_obj_volcbom.cpp2
-rw-r--r--src/d/actor/d_a_scene_exit.cpp4
-rw-r--r--src/d/d_kankyo.cpp4
-rw-r--r--src/d/d_menu_fmap2D.cpp827
-rw-r--r--src/d/d_meter2_info.cpp4
-rw-r--r--src/d/d_msg_flow.cpp10
-rw-r--r--src/d/d_s_menu.cpp8
-rw-r--r--src/d/d_save.cpp21
22 files changed, 588 insertions, 376 deletions
diff --git a/src/d/actor/d_a_demo00.cpp b/src/d/actor/d_a_demo00.cpp
index 3b611f5bba..6459c6e67f 100644
--- a/src/d/actor/d_a_demo00.cpp
+++ b/src/d/actor/d_a_demo00.cpp
@@ -1089,7 +1089,7 @@ inline int daDemo00_c::execute() {
break;
}
case 1:
- dComIfGs_onEventBit((u16)dSv_event_flag_c::saveBitLabels[sp0E]);
+ dComIfGs_onEventBit(dSv_event_flag_c::saveBitLabels[sp0E]);
break;
case 2: {
diff --git a/src/d/actor/d_a_e_hp.cpp b/src/d/actor/d_a_e_hp.cpp
index 4aad8f2684..1b052ddb2a 100644
--- a/src/d/actor/d_a_e_hp.cpp
+++ b/src/d/actor/d_a_e_hp.cpp
@@ -730,7 +730,7 @@ void daE_HP_c::executeDead() {
field_0x784 = -1;
if (dComIfGs_getPohSpiritNum() == 20) {
- dComIfGs_onEventBit((u16)dSv_event_flag_c::saveBitLabels[0x1c9]);
+ dComIfGs_onEventBit(dSv_event_flag_c::saveBitLabels[0x1c9]);
}
movemode++;
diff --git a/src/d/actor/d_a_e_rdy.cpp b/src/d/actor/d_a_e_rdy.cpp
index 1033f09a25..1889fd1ce8 100644
--- a/src/d/actor/d_a_e_rdy.cpp
+++ b/src/d/actor/d_a_e_rdy.cpp
@@ -4277,7 +4277,7 @@ static int daE_RDY_Execute(e_rdy_class* i_this) {
}
}
- if (i_this->field_0x5b8 == 12 && !dComIfGs_isEventBit(dSv_event_flag_c::saveBitLabels[239] & 0xffff)) {
+ if (i_this->field_0x5b8 == 12 && !dComIfGs_isEventBit(dSv_event_flag_c::saveBitLabels[239])) {
fopAcM_OffStatus(a_this, 0);
a_this->attention_info.flags = 0;
return 1;
diff --git a/src/d/actor/d_a_kago.cpp b/src/d/actor/d_a_kago.cpp
index ad726a2ef5..20fe97ac76 100644
--- a/src/d/actor/d_a_kago.cpp
+++ b/src/d/actor/d_a_kago.cpp
@@ -522,7 +522,7 @@ void daKago_c::demo_skip(int param_0) {
setPlayerRideOn();
field_0x718 = field_0x71a = 0;
/* dSv_event_flag_c::M_051 - Main Event - Shadow Kargorok (?) (Large) event complete (Horse grass appears in various places) */
- dComIfGs_onEventBit((u16)dSv_event_flag_c::saveBitLabels[84]);
+ dComIfGs_onEventBit(dSv_event_flag_c::saveBitLabels[84]);
field_0x748 = 7;
field_0x74c = NULL;
break;
diff --git a/src/d/actor/d_a_kytag14.cpp b/src/d/actor/d_a_kytag14.cpp
index a4d63f187f..faee63a4e4 100644
--- a/src/d/actor/d_a_kytag14.cpp
+++ b/src/d/actor/d_a_kytag14.cpp
@@ -27,7 +27,7 @@ static int daKytag14_Execute(kytag14_class* i_this) {
}
if (i_this->mEventID1 != 0xFFFF) {
- if (dComIfGs_isEventBit((u16)dSv_event_flag_c::saveBitLabels[i_this->mEventID1])) {
+ if (dComIfGs_isEventBit(dSv_event_flag_c::saveBitLabels[i_this->mEventID1])) {
event1_set = true;
} else {
event1_set = false;
@@ -35,7 +35,7 @@ static int daKytag14_Execute(kytag14_class* i_this) {
}
if (i_this->mEventID2 != 0xFFFF) {
- if (!dComIfGs_isEventBit((u16)dSv_event_flag_c::saveBitLabels[i_this->mEventID2])) {
+ if (!dComIfGs_isEventBit(dSv_event_flag_c::saveBitLabels[i_this->mEventID2])) {
event2_unset = true;
} else {
event2_unset = false;
diff --git a/src/d/actor/d_a_mg_rod.cpp b/src/d/actor/d_a_mg_rod.cpp
index c628420e3b..5e450980ce 100644
--- a/src/d/actor/d_a_mg_rod.cpp
+++ b/src/d/actor/d_a_mg_rod.cpp
@@ -2570,7 +2570,7 @@ static void lure_catch(dmg_rod_class* i_this) {
}
if (i_this->play_cam_timer == 40) {
- if (!dComIfGs_isEventBit((u16)dSv_event_flag_c::saveBitLabels[467])) {
+ if (!dComIfGs_isEventBit(dSv_event_flag_c::saveBitLabels[467])) {
Z2GetAudioMgr()->subBgmStart(Z2BGM_FISHING_GET1);
} else if (fish_kind == 3) {
Z2GetAudioMgr()->subBgmStart(Z2BGM_FISHING_GET3);
@@ -2582,7 +2582,7 @@ static void lure_catch(dmg_rod_class* i_this) {
} else if (i_this->play_cam_timer == 80) {
u8 sp8 = 1;
if (i_this->field_0x14c0 != 0) {
- if (!dComIfGs_isEventBit((u16)dSv_event_flag_c::saveBitLabels[467])) {
+ if (!dComIfGs_isEventBit(dSv_event_flag_c::saveBitLabels[467])) {
sp8 = 2;
} else if (fish_kind != 3) {
sp8 = 2;
@@ -2609,7 +2609,7 @@ static void lure_catch(dmg_rod_class* i_this) {
data_80450C9A = 200;
}
- dComIfGs_onEventBit((u16)dSv_event_flag_c::saveBitLabels[467]);
+ dComIfGs_onEventBit(dSv_event_flag_c::saveBitLabels[467]);
static u16 catch_msgn_20[] = {0x02CE, 0x02D1, 0x02CF, 0x02D0};
static u16 catch_msgn_21[] = {0x02D2, 0x02D5, 0x02D3, 0x02D4};
@@ -4921,7 +4921,7 @@ static void play_camera(dmg_rod_class* i_this) {
i_this->msgflow.init(actor, 0x2C9, 0, NULL);
henna->field_0x6ba = 50;
henna->field_0x7b8 = 0;
- } else if (!dComIfGs_isEventBit((u16)dSv_event_flag_c::saveBitLabels[467])) {
+ } else if (!dComIfGs_isEventBit(dSv_event_flag_c::saveBitLabels[467])) {
if (i_this->field_0x1470 == 0) {
sp174.x = -2800.0f;
sp174.z = 4608.0f;
@@ -4998,11 +4998,11 @@ static void play_camera(dmg_rod_class* i_this) {
) {
int sp20 = 0;
int sp1C = 1;
- if (dComIfGs_isEventBit((u16)dSv_event_flag_c::saveBitLabels[466])) {
+ if (dComIfGs_isEventBit(dSv_event_flag_c::saveBitLabels[466])) {
sp20 = 1;
}
- if (dComIfGs_isEventBit((u16)dSv_event_flag_c::saveBitLabels[469])) {
+ if (dComIfGs_isEventBit(dSv_event_flag_c::saveBitLabels[469])) {
sp1C = 0;
}
@@ -5195,7 +5195,7 @@ static void play_camera(dmg_rod_class* i_this) {
camera->mCamera.SetTrimSize(0);
i_this->play_cam_mode = 0;
i_this->field_0x146c = 30;
- dComIfGs_offEventBit((u16)dSv_event_flag_c::saveBitLabels[466]);
+ dComIfGs_offEventBit(dSv_event_flag_c::saveBitLabels[466]);
i_this->field_0xf81 = 1;
}
}
diff --git a/src/d/actor/d_a_npc.cpp b/src/d/actor/d_a_npc.cpp
index e3fa84cd84..727d7259be 100644
--- a/src/d/actor/d_a_npc.cpp
+++ b/src/d/actor/d_a_npc.cpp
@@ -2897,15 +2897,15 @@ u8 daNpcT_getDistTableIdx(int param_0, int param_1) {
}
void daNpcT_onEvtBit(u32 i_no) {
- dComIfGs_onEventBit((u16)dSv_event_flag_c::saveBitLabels[i_no]);
+ dComIfGs_onEventBit(dSv_event_flag_c::saveBitLabels[i_no]);
}
void daNpcT_offEvtBit(u32 i_no) {
- dComIfGs_offEventBit((u16)dSv_event_flag_c::saveBitLabels[i_no]);
+ dComIfGs_offEventBit(dSv_event_flag_c::saveBitLabels[i_no]);
}
BOOL daNpcT_chkEvtBit(u32 i_no) {
- return dComIfGs_isEventBit((u16)dSv_event_flag_c::saveBitLabels[i_no]);
+ return dComIfGs_isEventBit(dSv_event_flag_c::saveBitLabels[i_no]);
}
void daNpcT_onTmpBit(u32 i_no) {
diff --git a/src/d/actor/d_a_npc4.cpp b/src/d/actor/d_a_npc4.cpp
index 6fea49bde1..7514363202 100644
--- a/src/d/actor/d_a_npc4.cpp
+++ b/src/d/actor/d_a_npc4.cpp
@@ -1848,11 +1848,11 @@ s16 daNpcF_getGroundAngle(cBgS_PolyInfo* param_0, s16 param_1) {
}
BOOL daNpcF_chkEvtBit(u32 i_no) {
- return dComIfGs_isEventBit((u16)dSv_event_flag_c::saveBitLabels[i_no]);
+ return dComIfGs_isEventBit(dSv_event_flag_c::saveBitLabels[i_no]);
}
void daNpcF_onEvtBit(u32 i_no) {
- dComIfGs_onEventBit((u16)dSv_event_flag_c::saveBitLabels[i_no]);
+ dComIfGs_onEventBit(dSv_event_flag_c::saveBitLabels[i_no]);
}
BOOL daNpcF_chkTmpBit(u32 i_no) {
diff --git a/src/d/actor/d_a_npc_chat.cpp b/src/d/actor/d_a_npc_chat.cpp
index 0fd2cc3734..e5514c21e9 100644
--- a/src/d/actor/d_a_npc_chat.cpp
+++ b/src/d/actor/d_a_npc_chat.cpp
@@ -2383,7 +2383,7 @@ int daNpcChat_c::getObjNum() {
}
// dSv_event_flag_c::F_0281 - Shop - Malo Mart opens in Castle Town
- if (dComIfGs_isEventBit((u16)dSv_event_flag_c::saveBitLabels[281]) &&
+ if (dComIfGs_isEventBit(dSv_event_flag_c::saveBitLabels[281]) &&
objNum == OBJ_CELEB_BAG_M) {
objNum = OBJ_MARO_BAG_M;
}
@@ -2427,7 +2427,7 @@ int daNpcChat_c::getObjNum() {
}
// dSv_event_flag_c::F_0281 - Shop - Malo Mart opens in Castle Town
- if (dComIfGs_isEventBit((u16)dSv_event_flag_c::saveBitLabels[281]) &&
+ if (dComIfGs_isEventBit(dSv_event_flag_c::saveBitLabels[281]) &&
objNum == OBJ_CELEB_BAG_W) {
objNum = OBJ_MARO_BAG_W;
}
diff --git a/src/d/actor/d_a_npc_henna.cpp b/src/d/actor/d_a_npc_henna.cpp
index deb5410878..d13434bb3c 100644
--- a/src/d/actor/d_a_npc_henna.cpp
+++ b/src/d/actor/d_a_npc_henna.cpp
@@ -379,7 +379,7 @@ static void henna_shop(npc_henna_class* i_this) {
}
cLib_addCalcAngleS2(&i_this->actor.current.angle.y, i_this->field_0x618, 2, unkInt1);
/* dSv_event_flag_c::F_0461 - Fishing Pond - First time entered fishing house */
- if ((!dComIfGs_isEventBit((u16)dSv_event_flag_c::saveBitLabels[461]) || data_80450C9C != 0) &&
+ if ((!dComIfGs_isEventBit(dSv_event_flag_c::saveBitLabels[461]) || data_80450C9C != 0) &&
i_this->field_0x7d7 == 0 && i_this->field_0x6a0 == 56 + TREG_S(7))
{
dComIfGp_event_reset();
@@ -388,7 +388,7 @@ static void henna_shop(npc_henna_class* i_this) {
i_this->cam_mode = 60;
} else {
/* dSv_event_flag_c::F_0461 - Fishing Pond - First time entered fishing house */
- dComIfGs_onEventBit((u16)dSv_event_flag_c::saveBitLabels[461]);
+ dComIfGs_onEventBit(dSv_event_flag_c::saveBitLabels[461]);
i_this->cam_mode = 1;
}
i_this->field_0x7d7 = 1;
@@ -890,9 +890,9 @@ static void demo_camera(npc_henna_class* i_this) {
i_this->cam_mode = 0;
}
/* dSv_event_flag_c::F_0463 - Fishing Pond - Reserved for fishing */
- dComIfGs_offEventBit((u16)dSv_event_flag_c::saveBitLabels[0x1cf]);
+ dComIfGs_offEventBit(dSv_event_flag_c::saveBitLabels[0x1cf]);
/* dSv_event_flag_c::F_0464 - Fishing Pond - Reserved for fishing */
- dComIfGs_offEventBit((u16)dSv_event_flag_c::saveBitLabels[0x1d0]);
+ dComIfGs_offEventBit(dSv_event_flag_c::saveBitLabels[0x1d0]);
}
}
@@ -994,7 +994,7 @@ static void demo_camera_shop(npc_henna_class* i_this) {
if (!dComIfGp_event_runCheck()
/* dSv_event_flag_c::F_0465 - Fishing Pond - Reserved for fishing */
- && !dComIfGs_isEventBit((u16)dSv_event_flag_c::saveBitLabels[0x1d1]))
+ && !dComIfGs_isEventBit(dSv_event_flag_c::saveBitLabels[0x1d1]))
{
i_this->field_0x756++;
if (i_this->field_0x756 < 200) {
@@ -2728,9 +2728,9 @@ static int daNpc_Henna_Create(fopAc_ac_c* i_this) {
}
}
/* dSv_event_flag_c::F_0463 - Fishing Pond - Reserved for fishing */
- dComIfGs_offEventBit((u16)dSv_event_flag_c::saveBitLabels[0x1cf]);
+ dComIfGs_offEventBit(dSv_event_flag_c::saveBitLabels[0x1cf]);
/* dSv_event_flag_c::F_0464 - Fishing Pond - Reserved for fishing */
- dComIfGs_offEventBit((u16)dSv_event_flag_c::saveBitLabels[0x1d0]);
+ dComIfGs_offEventBit(dSv_event_flag_c::saveBitLabels[0x1d0]);
a_this->field_0x618 = i_this->shape_angle.y = i_this->current.angle.y = newAngle;
lbl_82_bss_91 = dComIfGs_getEventReg(0xf63f);
daNpc_Henna_Execute(a_this);
@@ -2775,7 +2775,7 @@ static int daNpc_Henna_Create(fopAc_ac_c* i_this) {
NULL, -1);
data_80450C99 = 0;
/* dSv_event_flag_c::F_0463 - Fishing Pond - Reserved for fishing */
- if (!dComIfGs_isEventBit((u16)dSv_event_flag_c::saveBitLabels[0x1cf])) {
+ if (!dComIfGs_isEventBit(dSv_event_flag_c::saveBitLabels[0x1cf])) {
a_this->field_0x70a = 4;
a_this->field_0x734 = 1;
} else {
diff --git a/src/d/actor/d_a_npc_ks.cpp b/src/d/actor/d_a_npc_ks.cpp
index ffe173521f..f495a1cb3d 100644
--- a/src/d/actor/d_a_npc_ks.cpp
+++ b/src/d/actor/d_a_npc_ks.cpp
@@ -5818,7 +5818,7 @@ static int npc_ks_fsdemo(npc_ks_class* i_this) {
switch (i_this->mMode) {
case 0:
- if (dComIfGs_isEventBit(dSv_event_flag_c::saveBitLabels[0x220] & 0xFFFF)) {
+ if (dComIfGs_isEventBit(dSv_event_flag_c::saveBitLabels[0x220])) {
i_this->mMode = 40;
} else {
fpcM_Search(s_fs_sub, i_this);
@@ -6628,7 +6628,7 @@ static void kantera_sub(npc_ks_class* i_this) {
fopAcM_cancelCarryNow(a_this);
cLib_offBit<u32>(a_this->attention_info.flags, fopAc_AttnFlag_CARRY_e);
i_this->field_0xc17 = 0;
- dComIfGs_onEventBit(dSv_event_flag_c::saveBitLabels[0xE2] & 0xFFFF);
+ dComIfGs_onEventBit(dSv_event_flag_c::saveBitLabels[0xE2]);
} else {
i_this->field_0xc04.x = -30715.0f + AREG_F(8);
i_this->field_0xc04.z = -17200.0f + AREG_F(9);
@@ -7260,7 +7260,7 @@ static BOOL start_check(npc_ks_class* i_this) {
break;
case 21:
- if (dComIfGs_isEventBit(dSv_event_flag_c::saveBitLabels[0x20A] & 0xFFFF)) {
+ if (dComIfGs_isEventBit(dSv_event_flag_c::saveBitLabels[0x20A])) {
rv = FALSE;
} else {
i_this->mActionID = 301;
@@ -7268,7 +7268,7 @@ static BOOL start_check(npc_ks_class* i_this) {
break;
case 22:
- if (dComIfGs_isEventBit(dSv_event_flag_c::saveBitLabels[0x241] & 0xFFFF)) {
+ if (dComIfGs_isEventBit(dSv_event_flag_c::saveBitLabels[0x241])) {
rv = FALSE;
} else {
i_this->mActionID = 302;
diff --git a/src/d/actor/d_a_obj_ihasi.cpp b/src/d/actor/d_a_obj_ihasi.cpp
index ff853ce782..a3f6eb0b3f 100644
--- a/src/d/actor/d_a_obj_ihasi.cpp
+++ b/src/d/actor/d_a_obj_ihasi.cpp
@@ -83,7 +83,7 @@ static int daObj_Ihasi_Execute(obj_ihasi_class* i_this) {
dComIfG_Bgsp().Release(i_this->mpBgW);
i_this->mpBgW = NULL;
/* dSv_event_flag_c::M_050 - Main Event - Eldin Bridge disappears */
- dComIfGs_onEventBit((u16)dSv_event_flag_c::saveBitLabels[0x53]);
+ dComIfGs_onEventBit(dSv_event_flag_c::saveBitLabels[0x53]);
}
action(i_this);
@@ -162,7 +162,7 @@ static int daObj_Ihasi_Create(fopAc_ac_c* i_actor) {
csXyz angle;
/* dSv_event_flag_c::M_050 - Main Event - Eldin Bridge disappears */
- if (dComIfGs_isEventBit((u16)dSv_event_flag_c::saveBitLabels[0x53])) {
+ if (dComIfGs_isEventBit(dSv_event_flag_c::saveBitLabels[0x53])) {
angle.set(0x0, -0x8000, 0x0);
pos.set(34750.0f, -300.0f, -44000.0f);
diff --git a/src/d/actor/d_a_obj_kamakiri.cpp b/src/d/actor/d_a_obj_kamakiri.cpp
index 386514e0e5..1005914025 100644
--- a/src/d/actor/d_a_obj_kamakiri.cpp
+++ b/src/d/actor/d_a_obj_kamakiri.cpp
@@ -734,9 +734,9 @@ u8 daObjKAM_c::CreateChk() {
if (field_0x9c0 != 2) {
if (unkInt1 != 0) {
if (!dComIfGs_isEventBit(
- (u16)dSv_event_flag_c::saveBitLabels[l_musiya_num[SEX_MALE]]) ||
+ dSv_event_flag_c::saveBitLabels[l_musiya_num[SEX_MALE]]) ||
!dComIfGs_isEventBit(
- (u16)dSv_event_flag_c::saveBitLabels[l_musiya_num[SEX_FEMALE]]))
+ dSv_event_flag_c::saveBitLabels[l_musiya_num[SEX_FEMALE]]))
{
return 0;
}
@@ -750,10 +750,10 @@ u8 daObjKAM_c::CreateChk() {
if (mSex == SEX_MALE &&
!dComIfGs_isEventBit(
- (u16)dSv_event_flag_c::saveBitLabels[l_musiya_num[mSex]]) ||
+ dSv_event_flag_c::saveBitLabels[l_musiya_num[mSex]]) ||
mSex == SEX_FEMALE &&
!dComIfGs_isEventBit(
- (u16)dSv_event_flag_c::saveBitLabels[l_musiya_num[mSex]]))
+ dSv_event_flag_c::saveBitLabels[l_musiya_num[mSex]]))
{
return 0;
}
diff --git a/src/d/actor/d_a_obj_katatsumuri.cpp b/src/d/actor/d_a_obj_katatsumuri.cpp
index 54d03d073c..09b05d6be5 100644
--- a/src/d/actor/d_a_obj_katatsumuri.cpp
+++ b/src/d/actor/d_a_obj_katatsumuri.cpp
@@ -665,10 +665,10 @@ bool daObjKAT_c::CreateChk() {
}
if (field_0x808 != 2) {
if (uVar4) {
- if (dComIfGs_isEventBit((u16)dSv_event_flag_c::saveBitLabels[l_musiya_num[SEX_MALE]]) ==
+ if (dComIfGs_isEventBit(dSv_event_flag_c::saveBitLabels[l_musiya_num[SEX_MALE]]) ==
0 ||
dComIfGs_isEventBit(
- (u16)dSv_event_flag_c::saveBitLabels[l_musiya_num[SEX_FEMALE]]) == 0)
+ dSv_event_flag_c::saveBitLabels[l_musiya_num[SEX_FEMALE]]) == 0)
{
return false;
}
@@ -681,10 +681,10 @@ bool daObjKAT_c::CreateChk() {
}
if ((mSex == SEX_MALE &&
dComIfGs_isEventBit(
- (u16)dSv_event_flag_c::saveBitLabels[l_musiya_num[mSex]]) == 0) ||
+ dSv_event_flag_c::saveBitLabels[l_musiya_num[mSex]]) == 0) ||
(mSex == SEX_FEMALE &&
dComIfGs_isEventBit(
- (u16)dSv_event_flag_c::saveBitLabels[l_musiya_num[mSex]]) == 0))
+ dSv_event_flag_c::saveBitLabels[l_musiya_num[mSex]]) == 0))
{
return false;
}
diff --git a/src/d/actor/d_a_obj_volcbom.cpp b/src/d/actor/d_a_obj_volcbom.cpp
index 78bdcb22d7..6280b5a703 100644
--- a/src/d/actor/d_a_obj_volcbom.cpp
+++ b/src/d/actor/d_a_obj_volcbom.cpp
@@ -592,7 +592,7 @@ void daObjVolcBom_c::actionWait() {
if (checkTalkDistance()
/* dSv_event_flag_c::M_051 - Main Event - Shadow Kargorok (?) (Large) event complete
(Horse grass appears in various places) */
- && dComIfGs_isEventBit((u16)dSv_event_flag_c::saveBitLabels[84])) {
+ && dComIfGs_isEventBit(dSv_event_flag_c::saveBitLabels[84])) {
setAction(ACTION_ORDER_EVENT);
actionOrderEvent();
}
diff --git a/src/d/actor/d_a_scene_exit.cpp b/src/d/actor/d_a_scene_exit.cpp
index 9ed25bd34c..d220a3a512 100644
--- a/src/d/actor/d_a_scene_exit.cpp
+++ b/src/d/actor/d_a_scene_exit.cpp
@@ -22,12 +22,12 @@ int daScex_c::checkWork() {
}
u16 eventBit = getOffEventBit();
- if (eventBit != 0x0FFF && dComIfGs_isEventBit((u16)dSv_event_flag_c::saveBitLabels[eventBit])) {
+ if (eventBit != 0x0FFF && dComIfGs_isEventBit(dSv_event_flag_c::saveBitLabels[eventBit])) {
return 0;
}
eventBit = getOnEventBit();
- if (eventBit != 0x0FFF && !dComIfGs_isEventBit((u16)dSv_event_flag_c::saveBitLabels[eventBit])) {
+ if (eventBit != 0x0FFF && !dComIfGs_isEventBit(dSv_event_flag_c::saveBitLabels[eventBit])) {
return 0;
}
diff --git a/src/d/d_kankyo.cpp b/src/d/d_kankyo.cpp
index c2e8e80534..ac96a6f3df 100644
--- a/src/d/d_kankyo.cpp
+++ b/src/d/d_kankyo.cpp
@@ -8669,8 +8669,8 @@ static int dKy_Create(void* i_this) {
#if DEBUG
if (strcmp(dComIfGp_getStartStageName(), "T_SASA0") == 0) {
- dComIfGs_onEventBit((u16)dSv_event_flag_c::saveBitLabels[142]);
- dComIfGs_onEventBit((u16)dSv_event_flag_c::saveBitLabels[167]);
+ dComIfGs_onEventBit(dSv_event_flag_c::saveBitLabels[142]);
+ dComIfGs_onEventBit(dSv_event_flag_c::saveBitLabels[167]);
}
#endif
diff --git a/src/d/d_menu_fmap2D.cpp b/src/d/d_menu_fmap2D.cpp
index 89bf756ad5..dc5fd5d4f5 100644
--- a/src/d/d_menu_fmap2D.cpp
+++ b/src/d/d_menu_fmap2D.cpp
@@ -118,15 +118,10 @@ dMenu_Fmap2DBack_c::dMenu_Fmap2DBack_c() {
field_0xfb0 = 0.0;
field_0xfb4 = 0.0;
field_0xfb8 = 1.0;
- mArrowAlpha = 0.0;
- mArrowPos3DZ = 0.0;
- mArrowPos3DX = 0.0;
- field_0x11a8 = 0.0;
- field_0x11a4 = 0.0;
- field_0x11b0 = 0.0;
- field_0x11ac = 0.0;
- mArrowPos2DY = 0.0;
- mArrowPos2DX = 0.0;
+ mArrowPos3DX = mArrowPos3DZ = mArrowAlpha = 0.0;
+ field_0x11a4 = field_0x11a8 = 0.0;
+ field_0x11ac = field_0x11b0 = 0.0;
+ mArrowPos2DX = mArrowPos2DY = 0.0;
mSpotTextureFadeAlpha = 0.0;
field_0x11dc = 0.0;
field_0x11e0 = 360.0;
@@ -146,7 +141,12 @@ dMenu_Fmap2DBack_c::dMenu_Fmap2DBack_c() {
field_0x1210 = 1.0;
field_0x1214 = 1.0;
mArrowDrawFlag = true;
+
+#if DEBUG
+ mAllPathShowFlag = g_fmapHIO.mDisplayAllPaths;
+#else
mAllPathShowFlag = false;
+#endif
initiate(dComIfGp_getFmapResArchive());
@@ -168,8 +168,8 @@ dMenu_Fmap2DBack_c::dMenu_Fmap2DBack_c() {
dPaneClass_showNullPane(mpBaseScreen);
- mpBaseAnm = static_cast<J2DAnmTextureSRTKey*>(J2DAnmLoaderDataBase::load(
- JKRGetNameResource("zelda_map_screen_base.btk", dComIfGp_getFmapResArchive())));
+ void* r = JKRGetNameResource("zelda_map_screen_base.btk", dComIfGp_getFmapResArchive());
+ mpBaseAnm = (J2DAnmTextureSRTKey*)J2DAnmLoaderDataBase::load(r);
mpBaseAnm->searchUpdateMaterialID(mpBaseScreen);
mAnmFrame = 0.0;
@@ -197,9 +197,9 @@ dMenu_Fmap2DBack_c::dMenu_Fmap2DBack_c() {
mpPointScreen = new J2DScreen();
JUT_ASSERT(293, mpPointScreen != NULL);
- fg = mpPointScreen->setPriority("zelda_field_map_point_cursor.blo", 0x20000,
+ mpPointScreen->setPriority("zelda_field_map_point_cursor.blo", 0x20000,
dComIfGp_getFmapResArchive());
- JUT_ASSERT(252, fg != false);
+ JUT_ASSERT(297, fg != false);
dPaneClass_showNullPane(mpPointScreen);
@@ -425,7 +425,7 @@ void dMenu_Fmap2DBack_c::draw() {
mDoGph_gInf_c::getHeightF(), false, false, false);
}
-void dMenu_Fmap2DBack_c::setRegionTexData(u8 i_regionNo, ResTIMG* i_timg, f32 i_originX,
+void dMenu_Fmap2DBack_c::setRegionTexData(u8 i_areaType, ResTIMG* i_timg, f32 i_originX,
f32 i_originZ, f32 i_posX, f32 i_posZ, f32 i_scale,
f32 i_scrollMinX, f32 i_scrollMinZ, f32 i_scrollMaxX,
f32 i_scrollMaxZ) {
@@ -433,34 +433,34 @@ void dMenu_Fmap2DBack_c::setRegionTexData(u8 i_regionNo, ResTIMG* i_timg, f32 i_
i_scale = 100.0f;
}
- mpAreaTex[i_regionNo] = new J2DPicture(i_timg);
- JUT_ASSERT(763, mpAreaTex[i_regionNo] != NULL);
+ mpAreaTex[i_areaType] = new J2DPicture(i_timg);
+ JUT_ASSERT(763, mpAreaTex[i_areaType] != NULL);
- mRegionOriginX[i_regionNo] = i_originX;
- mRegionOriginZ[i_regionNo] = i_originZ;
- mRegionTexData[i_regionNo].mScale = i_scale * 100.0f;
+ mRegionOriginX[i_areaType] = i_originX;
+ mRegionOriginZ[i_areaType] = i_originZ;
+ mRegionTexData[i_areaType].mScale = i_scale * 100.0f;
f32 width = i_timg->width;
f32 height = i_timg->height;
- f32 min_x = (mRegionOriginX[i_regionNo] + i_posX) -
- ((width * 0.5f) * mRegionTexData[i_regionNo].mScale);
- f32 min_z = (mRegionOriginZ[i_regionNo] + i_posZ) -
- ((height * 0.5f) * mRegionTexData[i_regionNo].mScale);
- f32 max_x = (mRegionOriginX[i_regionNo] + i_posX) +
- ((width * 0.5f) * mRegionTexData[i_regionNo].mScale);
- f32 max_z = (mRegionOriginZ[i_regionNo] + i_posZ) +
- ((height * 0.5f) * mRegionTexData[i_regionNo].mScale);
-
- mRegionTexData[i_regionNo].mMinX = min_x;
- mRegionTexData[i_regionNo].mMinZ = min_z;
- mRegionTexData[i_regionNo].mMaxX = max_x;
- mRegionTexData[i_regionNo].mMaxZ = max_z;
-
- mRegionScrollMinX[i_regionNo] = i_scrollMinX;
- mRegionScrollMinZ[i_regionNo] = i_scrollMinZ;
- mRegionScrollMaxX[i_regionNo] = i_scrollMaxX;
- mRegionScrollMaxZ[i_regionNo] = i_scrollMaxZ;
+ f32 min_x = (mRegionOriginX[i_areaType] + i_posX) -
+ ((width * 0.5f) * mRegionTexData[i_areaType].mScale);
+ f32 min_z = (mRegionOriginZ[i_areaType] + i_posZ) -
+ ((height * 0.5f) * mRegionTexData[i_areaType].mScale);
+ f32 max_x = (mRegionOriginX[i_areaType] + i_posX) +
+ ((width * 0.5f) * mRegionTexData[i_areaType].mScale);
+ f32 max_z = (mRegionOriginZ[i_areaType] + i_posZ) +
+ ((height * 0.5f) * mRegionTexData[i_areaType].mScale);
+
+ mRegionTexData[i_areaType].mMinX = min_x;
+ mRegionTexData[i_areaType].mMinZ = min_z;
+ mRegionTexData[i_areaType].mMaxX = max_x;
+ mRegionTexData[i_areaType].mMaxZ = max_z;
+
+ mRegionScrollMinX[i_areaType] = i_scrollMinX;
+ mRegionScrollMinZ[i_areaType] = i_scrollMinZ;
+ mRegionScrollMaxX[i_areaType] = i_scrollMaxX;
+ mRegionScrollMaxZ[i_areaType] = i_scrollMaxZ;
bool first = false;
@@ -494,12 +494,78 @@ void dMenu_Fmap2DBack_c::setRegionTexData(u8 i_regionNo, ResTIMG* i_timg, f32 i_
}
}
if ((!bVar14) && (field_0x1230[i] == 0xff)) {
- field_0x1230[i] = i_regionNo;
+ field_0x1230[i] = i_areaType;
bVar14 = true;
}
}
}
+void dMenu_Fmap2DBack_c::setRegionTexData(u8 i_areaType, f32 i_originX, f32 i_originZ, f32 i_posX,
+ f32 i_posZ, f32 i_scale, f32 i_scrollMinX,
+ f32 i_scrollMinZ, f32 i_scrollMaxX, f32 i_scrollMaxZ) {
+ if (i_scale == 0.0f) {
+ i_scale = 100.0f;
+ }
+
+ mRegionOriginX[i_areaType] = i_originX;
+ mRegionOriginZ[i_areaType] = i_originZ;
+ mRegionTexData[i_areaType].mScale = i_scale * 100.0f;
+
+ f32 width = mpAreaTex[i_areaType]->getTexture(0)->getTexInfo()->width;
+ f32 height = mpAreaTex[i_areaType]->getTexture(0)->getTexInfo()->height;
+
+ f32 min_x = (mRegionOriginX[i_areaType] + i_posX) -
+ ((width * 0.5f) * mRegionTexData[i_areaType].mScale);
+ f32 min_z = (mRegionOriginZ[i_areaType] + i_posZ) -
+ ((height * 0.5f) * mRegionTexData[i_areaType].mScale);
+ f32 max_x = (mRegionOriginX[i_areaType] + i_posX) +
+ ((width * 0.5f) * mRegionTexData[i_areaType].mScale);
+ f32 max_z = (mRegionOriginZ[i_areaType] + i_posZ) +
+ ((height * 0.5f) * mRegionTexData[i_areaType].mScale);
+
+ mRegionTexData[i_areaType].mMinX = min_x;
+ mRegionTexData[i_areaType].mMinZ = min_z;
+ mRegionTexData[i_areaType].mMaxX = max_x;
+ mRegionTexData[i_areaType].mMaxZ = max_z;
+
+ mRegionScrollMinX[i_areaType] = i_scrollMinX;
+ mRegionScrollMinZ[i_areaType] = i_scrollMinZ;
+ mRegionScrollMaxX[i_areaType] = i_scrollMaxX;
+ mRegionScrollMaxZ[i_areaType] = i_scrollMaxZ;
+
+ bool first = false;
+
+ mTexMinX = 0.0f;
+ mTexMinZ = 0.0f;
+ mTexMaxX = 0.0f;
+ mTexMaxZ = 0.0f;
+
+ for (int i = 0; i < 8; i++) {
+ if (mpAreaTex[i] != NULL) {
+ if (!first) {
+ mTexMinX = mRegionTexData[i].mMinX;
+ mTexMinZ = mRegionTexData[i].mMinZ;
+ mTexMaxX = mRegionTexData[i].mMaxX;
+ mTexMaxZ = mRegionTexData[i].mMaxZ;
+ first = true;
+ } else {
+ if (mTexMinX > mRegionTexData[i].mMinX) {
+ mTexMinX = mRegionTexData[i].mMinX;
+ }
+ if (mTexMinZ > mRegionTexData[i].mMinZ) {
+ mTexMinZ = mRegionTexData[i].mMinZ;
+ }
+ if (mTexMaxX < mRegionTexData[i].mMaxX) {
+ mTexMaxX = mRegionTexData[i].mMaxX;
+ }
+ if (mTexMaxZ < mRegionTexData[i].mMaxZ) {
+ mTexMaxZ = mRegionTexData[i].mMaxZ;
+ }
+ }
+ }
+ }
+}
+
void dMenu_Fmap2DBack_c::calcAllMapPos() {
bool set = false;
calcAllMapScaleRate();
@@ -533,21 +599,24 @@ void dMenu_Fmap2DBack_c::calcAllMapPos() {
f32 dMenu_Fmap2DBack_c::calcAllMapScaleRate() {
f32 width = mTexMaxX - mTexMinX;
f32 height = mTexMaxZ - mTexMinZ;
-
f32 size = width;
- if (width < height) {
+ if (size < height) {
size = height;
}
-
- mAllMapScaleRate = getMapAreaSizeX() / size;
+ f32 v = getMapAreaSizeX();
+ mAllMapScaleRate = v / size;
return mAllMapScaleRate;
}
void dMenu_Fmap2DBack_c::calcAllMapPos2DFirst(f32 i_texPosX, f32 i_texPosZ, f32* o_posX,
f32* o_posY) {
- f32 pos_x = (mAllMapScaleRate * (i_texPosX - (mTexMaxX + mTexMinX) * 0.5f));
- f32 pos_y = (mAllMapScaleRate * (i_texPosZ - (mTexMaxZ + mTexMinZ) * 0.5f));
+ f32 midTexX = (mTexMaxX + mTexMinX) * 0.5f;
+ f32 midTexZ = (mTexMaxZ + mTexMinZ) * 0.5f;
+ f32 relativePosX = i_texPosX - midTexX;
+ f32 relativePosZ = i_texPosZ - midTexZ;
+ f32 pos_x = (mAllMapScaleRate * relativePosX);
+ f32 pos_y = (mAllMapScaleRate * relativePosZ);
*o_posX = pos_x + getMapAreaGlobalCenterPosX();
*o_posY = pos_y + getMapAreaGlobalCenterPosY();
@@ -566,36 +635,39 @@ void dMenu_Fmap2DBack_c::calcAllMapPos2D(char const* param_0, f32 param_1, f32 p
field_0xf2c[mRegionCursor], mZoom);
}
-void dMenu_Fmap2DBack_c::calcAllMapPos2D(f32 param_0, f32 param_1, f32* param_2, f32* param_3,
+void dMenu_Fmap2DBack_c::calcAllMapPos2D(f32 param_0, f32 param_1, f32* outX, f32* outZ,
f32 param_4, f32 param_5, f32 i_zoom) {
- getMapAreaSizeX();
- getMapAreaSizeY();
-
- f32 tmp1 = (mRegionTexData[mRegionCursor].mMinX + mRegionTexData[mRegionCursor].mMaxX) * 0.5f;
- f32 tmp2 = (mRegionTexData[mRegionCursor].mMinZ + mRegionTexData[mRegionCursor].mMaxZ) * 0.5f;
- f32 tmp3 = mRegionMinMapX[mRegionCursor] + param_4 + (mRegionMapSizeX[mRegionCursor] * i_zoom) * 0.5f;
- f32 tmp4 = mRegionMinMapY[mRegionCursor] + param_5 + (mRegionMapSizeY[mRegionCursor] * i_zoom) * 0.5f;
-
- f32 scaleRatio = (getPathScale(i_zoom) / getMapScissorAreaSizeRealY());
-
- f32 tmp5 = (param_0 - tmp1) / scaleRatio;
- *param_2 = tmp5 + tmp3;
- tmp5 = (param_1 - tmp2) / scaleRatio;
- *param_3 = tmp5 + tmp4;
-}
-
-void dMenu_Fmap2DBack_c::calcAllMapPosWorld(f32 param_0, f32 param_1, f32* param_2, f32* param_3) {
- f32 tmp1 = (mRegionTexData[mRegionCursor].mMinX + mRegionTexData[mRegionCursor].mMaxX) * 0.5f;
- f32 tmp2 = (mRegionTexData[mRegionCursor].mMinZ + mRegionTexData[mRegionCursor].mMaxZ) * 0.5f;
- f32 tmp3 = (param_0 - ((mRegionMinMapX[mRegionCursor] + field_0xf0c[mRegionCursor]) +
- mRegionMapSizeX[mRegionCursor] * mZoom * 0.5f));
- f32 tmp4 = (param_1 - ((mRegionMinMapY[mRegionCursor] + field_0xf2c[mRegionCursor]) +
- mRegionMapSizeY[mRegionCursor] * mZoom * 0.5f));
-
+ f32 unusedX = (mTexMaxX - mTexMinX) / getMapAreaSizeX();
+ f32 unusedY = (mTexMaxZ - mTexMinZ) / getMapAreaSizeY();
+ f32 unusedMax = unusedX;
+ if (unusedX < unusedY) {
+ unusedMax = unusedY;
+ }
+ f32 regionMidX = (mRegionTexData[mRegionCursor].mMinX + mRegionTexData[mRegionCursor].mMaxX) * 0.5f;
+ f32 regionMidY = (mRegionTexData[mRegionCursor].mMinZ + mRegionTexData[mRegionCursor].mMaxZ) * 0.5f;
+ f32 f25 = mRegionMinMapX[mRegionCursor] + param_4 + (mRegionMapSizeX[mRegionCursor] * i_zoom) * 0.5f;
+ f32 f24 = mRegionMinMapY[mRegionCursor] + param_5 + (mRegionMapSizeY[mRegionCursor] * i_zoom) * 0.5f;
+
+ f32 scale = getPathScale(i_zoom) / getMapScissorAreaSizeRealY();
+ f32 offsX = (param_0 - regionMidX) / scale;
+ f32 offsY = (param_1 - regionMidY) / scale;
+ *outX = offsX + f25;
+ *outZ = offsY + f24;
+}
+
+void dMenu_Fmap2DBack_c::calcAllMapPosWorld(f32 param_0, f32 param_1, f32* outX, f32* outZ) {
+ f32 midX = (mRegionTexData[mRegionCursor].mMinX + mRegionTexData[mRegionCursor].mMaxX) * 0.5f;
+ f32 midY = (mRegionTexData[mRegionCursor].mMinZ + mRegionTexData[mRegionCursor].mMaxZ) * 0.5f;
+ f32 tmp3 = (mRegionMinMapX[mRegionCursor] + field_0xf0c[mRegionCursor]) +
+ mRegionMapSizeX[mRegionCursor] * mZoom * 0.5f;
+ f32 tmp4 = (mRegionMinMapY[mRegionCursor] + field_0xf2c[mRegionCursor]) +
+ mRegionMapSizeY[mRegionCursor] * mZoom * 0.5f;
+ f32 tmp3_ = param_0 - tmp3;
+ f32 tmp4_ = param_1 - tmp4;
f32 tmp5 = field_0xf98 / getMapScissorAreaSizeRealY();
- *param_2 = tmp1 + (tmp3 * tmp5);
- *param_3 = tmp2 + (tmp4 * tmp5);
+ *outX = midX + (tmp3_ * tmp5);
+ *outZ = midY + (tmp4_ * tmp5);
}
void dMenu_Fmap2DBack_c::setSpotPane(ResTIMG* i_timg) {
@@ -624,27 +696,28 @@ void dMenu_Fmap2DBack_c::zoomMapCalc(f32 i_zoom) {
if (g_fmapHIO.field_0x308 == false) {
f32 region_centerX = mRegionMinMapX[mRegionCursor] + (mRegionMapSizeX[mRegionCursor] * 0.5f);
f32 region_centerY = mRegionMinMapY[mRegionCursor] + (mRegionMapSizeY[mRegionCursor] * 0.5f);
- field_0xf0c[mRegionCursor] = region_centerX + (i_zoom * (centerX - region_centerX)) -
- (mRegionMapSizeX[mRegionCursor] * mZoom * 0.5f) -
- mRegionMinMapX[mRegionCursor];
- field_0xf2c[mRegionCursor] = region_centerY + (i_zoom * (centerY - region_centerY)) -
- (mRegionMapSizeY[mRegionCursor] * mZoom * 0.5f) -
- mRegionMinMapY[mRegionCursor];
+ f32 v = region_centerX + (i_zoom * (centerX - region_centerX));
+ f32 v2 = region_centerY + (i_zoom * (centerY - region_centerY));
+ field_0xf0c[mRegionCursor] =
+ v - (mRegionMapSizeX[mRegionCursor] * mZoom * 0.5f) - mRegionMinMapX[mRegionCursor];
+ field_0xf2c[mRegionCursor] =
+ v2 - (mRegionMapSizeY[mRegionCursor] * mZoom * 0.5f) - mRegionMinMapY[mRegionCursor];
} else {
f32 dVar12 = (mRegionScrollMapMinX[mRegionCursor] + mRegionScrollMapMaxX[mRegionCursor]) * 0.5f;
f32 dVar11 = (mRegionScrollMapMinY[mRegionCursor] + mRegionScrollMapMaxY[mRegionCursor]) * 0.5f;
- f32 tmp = (mRegionMinMapY[mRegionCursor] + (mRegionMapSizeY[mRegionCursor] * 0.5f)) - dVar11;
+ f32 tmp3 = (mRegionMinMapX[mRegionCursor] + mRegionMapSizeX[mRegionCursor] * 0.5f) - dVar12;
+ f32 tmp = (mRegionMinMapY[mRegionCursor] + mRegionMapSizeY[mRegionCursor] * 0.5f) - dVar11;
f32 tmp2 = (dVar12 + (i_zoom * (centerX - dVar12)));
- f32 tmp3 = (((mRegionMinMapX[mRegionCursor] + mRegionMapSizeX[mRegionCursor] * 0.5f) - dVar12));
+ f32 tmp2_ = (dVar11 + (i_zoom * (centerY - dVar11)));
+
field_0xf0c[mRegionCursor] =
- (((tmp2 + (tmp3 * mZoom))) - mRegionMapSizeX[mRegionCursor] * mZoom * 0.5f) -
+ ((tmp2 + (tmp3 * mZoom)) - mRegionMapSizeX[mRegionCursor] * mZoom * 0.5f) -
mRegionMinMapX[mRegionCursor];
field_0xf2c[mRegionCursor] =
- (((dVar11 + (i_zoom * (centerY - dVar11))) + tmp * mZoom) -
- mRegionMapSizeY[mRegionCursor] * mZoom * 0.5f) -
+ ((tmp2_ + tmp * mZoom) - mRegionMapSizeY[mRegionCursor] * mZoom * 0.5f) -
mRegionMinMapY[mRegionCursor];
}
@@ -718,11 +791,11 @@ void dMenu_Fmap2DBack_c::zoomMapCalc2(f32 param_0) {
field_0xf2c[mRegionCursor] = (centerY - (mRegionMapSizeY[mRegionCursor] * mZoom * 0.5f)) -
mRegionMinMapY[mRegionCursor];
} else {
- f32 tmp1 = (mRegionMinMapY[mRegionCursor] + (mRegionMapSizeY[mRegionCursor] * 0.5f)) -
- ((mRegionScrollMapMinY[mRegionCursor] + mRegionScrollMapMaxY[mRegionCursor]) * 0.5f);
+ f32 x = (mRegionScrollMapMinX[mRegionCursor] + mRegionScrollMapMaxX[mRegionCursor]) * 0.5f;
+ f32 y = (mRegionScrollMapMinY[mRegionCursor] + mRegionScrollMapMaxY[mRegionCursor]) * 0.5f;
- f32 tmp2 = ((mRegionMinMapX[mRegionCursor] + mRegionMapSizeX[mRegionCursor] * 0.5f) -
- (mRegionScrollMapMinX[mRegionCursor] + mRegionScrollMapMaxX[mRegionCursor]) * 0.5f);
+ f32 tmp2 = (mRegionMinMapX[mRegionCursor] + (mRegionMapSizeX[mRegionCursor] * 0.5f)) - x;
+ f32 tmp1 = (mRegionMinMapY[mRegionCursor] + (mRegionMapSizeY[mRegionCursor] * 0.5f)) - y;
field_0xf0c[mRegionCursor] =
((centerX + (tmp2 * mZoom)) - mRegionMapSizeX[mRegionCursor] * mZoom * 0.5f) -
@@ -770,11 +843,15 @@ void dMenu_Fmap2DBack_c::zoomMapCalcHIO() {
(centerY - (mRegionMapSizeY[mRegionCursor] * mZoom * 0.5f)) -
mRegionMinMapY[mRegionCursor];
} else {
- f32 tmp1 = (mRegionMinMapY[mRegionCursor] + (mRegionMapSizeY[mRegionCursor] * 0.5f)) -
- ((mRegionScrollMapMinY[mRegionCursor] + mRegionScrollMapMaxY[mRegionCursor]) * 0.5f);
+ f32 x =
+ (mRegionScrollMapMinX[mRegionCursor] + mRegionScrollMapMaxX[mRegionCursor]) * 0.5f;
+ f32 y =
+ (mRegionScrollMapMinY[mRegionCursor] + mRegionScrollMapMaxY[mRegionCursor]) * 0.5f;
- f32 tmp2 = ((mRegionMinMapX[mRegionCursor] + mRegionMapSizeX[mRegionCursor] * 0.5f) -
- (mRegionScrollMapMinX[mRegionCursor] + mRegionScrollMapMaxX[mRegionCursor]) * 0.5f);
+ f32 tmp2 =
+ ((mRegionMinMapX[mRegionCursor] + mRegionMapSizeX[mRegionCursor] * 0.5f) - x);
+ f32 tmp1 =
+ ((mRegionMinMapY[mRegionCursor] + mRegionMapSizeY[mRegionCursor] * 0.5f) - y);
field_0xf0c[mRegionCursor] = ((centerX + (tmp2 * mZoom)) -
mRegionMapSizeX[mRegionCursor] * mZoom * 0.5f) -
@@ -800,20 +877,21 @@ void dMenu_Fmap2DBack_c::zoomMapCalcHIO() {
}
void dMenu_Fmap2DBack_c::scrollCalc(f32 param_0) {
- f32 tmp1, tmp2;
- calcAllMapPos2D(mArrowPos3DX + control_xpos, mArrowPos3DZ + control_ypos, &tmp1, &tmp2,
+ f32 sp40, sp3C;
+ calcAllMapPos2D(mArrowPos3DX + control_xpos, mArrowPos3DZ + control_ypos, &sp40, &sp3C,
field_0xf4c[mRegionCursor], field_0xf6c[mRegionCursor],
getRegionMapZoomRate(mRegionCursor));
- f32 centerX = getMapAreaGlobalCenterPosX();
- f32 centerY = getMapAreaGlobalCenterPosY();
+ f32 sp38 = getMapAreaGlobalCenterPosX();
+ f32 sp34 = getMapAreaGlobalCenterPosY();
- f32 tmp3, tmp4;
- calcAllMapPosWorld(tmp1 + (param_0 * (centerX - tmp1)), tmp2 + (param_0 * (centerY - tmp2)),
- &tmp3, &tmp4);
+ f32 sp30 = sp40 + (param_0 * (sp38 - sp40));
+ f32 sp2C = sp3C + (param_0 * (sp34 - sp3C));
+ f32 sp28, sp24;
+ calcAllMapPosWorld(sp30, sp2C, &sp28, &sp24);
- mStageTransX = (mArrowPos3DX + control_xpos) - tmp3;
- mStageTransZ = (mArrowPos3DZ + control_ypos) - tmp4;
+ mStageTransX = (mArrowPos3DX + control_xpos) - sp28;
+ mStageTransZ = (mArrowPos3DZ + control_ypos) - sp24;
field_0x11ac = mStageTransX;
field_0x11b0 = mStageTransZ;
@@ -835,23 +913,22 @@ void dMenu_Fmap2DBack_c::scrollCalc(f32 param_0) {
}
calcAllMapPos2D(mArrowPos3DX + control_xpos + local_44,
- mArrowPos3DZ + control_ypos + local_48, &tmp1, &tmp2,
+ mArrowPos3DZ + control_ypos + local_48, &sp40, &sp3C,
field_0xf4c[mRegionCursor], field_0xf6c[mRegionCursor],
getRegionMapZoomRate(mRegionCursor));
- f32 local_54, local_58;
- calcAllMapPosWorld(tmp1 + (param_0 * (centerX - tmp1)), tmp2 + (param_0 * (centerY - tmp2)),
- &local_54, &local_58);
+ f32 sp14 = sp40 + (param_0 * (sp38 - sp40));
+ f32 sp10 = sp3C + (param_0 * (sp34 - sp3C));
+ f32 spC, sp8;
+ calcAllMapPosWorld(sp14, sp10, &spC, &sp8);
- field_0x11ac = (mArrowPos3DX + control_xpos + local_44) - local_54;
- field_0x11b0 = (mArrowPos3DZ + control_ypos + local_48) - local_58;
+ field_0x11ac = (mArrowPos3DX + control_xpos + local_44) - spC;
+ field_0x11b0 = (mArrowPos3DZ + control_ypos + local_48) - sp8;
}
if (param_0 == 0.0f) {
- field_0xfd4 = 0.0f;
- field_0xfd0 = 0.0f;
- field_0xfdc = 0.0f;
- field_0xfd8 = 0.0f;
+ field_0xfd0 = field_0xfd4 = 0.0f;
+ field_0xfd8 = field_0xfdc = 0.0f;
} else if (param_0 == 1.0f) {
field_0xfd0 = mStageTransX;
field_0xfd4 = mStageTransZ;
@@ -861,9 +938,9 @@ void dMenu_Fmap2DBack_c::scrollCalc(f32 param_0) {
}
void dMenu_Fmap2DBack_c::mapBlink(s16* param_0) {
- *param_0 += 1;
+ *param_0 += (s16)1;
if (*param_0 >= 30) {
- *param_0 -= 30;
+ *param_0 -= (s16)30;
}
}
@@ -876,70 +953,73 @@ void dMenu_Fmap2DBack_c::setSpotCursor(u8 param_0) {
}
void dMenu_Fmap2DBack_c::allmap_move2(STControl* param_0) {
- f32 tmp1, tmp2;
- calcAllMapPosWorld(getMapScissorAreaLX(), getMapScissorAreaLY(), &tmp1, &tmp2);
+ f32 sp48, sp44;
+ calcAllMapPosWorld(getMapScissorAreaLX(), getMapScissorAreaLY(), &sp48, &sp44);
- f32 local_50, local_54;
+ f32 sp40, sp3C;
calcAllMapPosWorld(getMapScissorAreaLX() + getMapScissorAreaSizeRealX(),
- getMapScissorAreaLY() + getMapScissorAreaSizeRealY(), &local_50, &local_54);
-
- f32 scrollSpeed1 = g_fmapHIO.mScrollSpeedSlowBound < g_fmapHIO.mScrollSpeedFastBound ?
- g_fmapHIO.mScrollSpeedSlowBound :
- g_fmapHIO.mScrollSpeedFastBound;
- f32 scrollSpeed2 = g_fmapHIO.mScrollSpeedSlowBound > g_fmapHIO.mScrollSpeedFastBound ?
- g_fmapHIO.mScrollSpeedSlowBound :
- g_fmapHIO.mScrollSpeedFastBound;
-
- f32 stickValue = param_0->getValueStick();
- if (stickValue >= scrollSpeed1) {
- s16 angle = param_0->getAngleStick();
- f32 local_68 = (mTexMaxX - mTexMinX);
- f32 zoomRate = local_68 / getAllMapZoomRate();
-
- f32 speed = ((stickValue < scrollSpeed2 ? g_fmapHIO.mScrollSpeedWorldSlow :
- g_fmapHIO.mScrollSpeedWorldFast) /
- 100.0f);
+ getMapScissorAreaLY() + getMapScissorAreaSizeRealY(), &sp40, &sp3C);
+ int r26 = 0;
+ if (r26 == 0) {
+ f32 spC = g_fmapHIO.mScrollSpeedSlowBound < g_fmapHIO.mScrollSpeedFastBound ?
+ g_fmapHIO.mScrollSpeedSlowBound :
+ g_fmapHIO.mScrollSpeedFastBound;
+ f32 sp8 = g_fmapHIO.mScrollSpeedSlowBound > g_fmapHIO.mScrollSpeedFastBound ?
+ g_fmapHIO.mScrollSpeedSlowBound :
+ g_fmapHIO.mScrollSpeedFastBound;
+
+ f32 stickValue = param_0->getValueStick();
+ if (stickValue >= spC) {
+ s16 angle = param_0->getAngleStick();
+ f32 local_68 = (mTexMaxX - mTexMinX);
+ f32 zoomRate = local_68 / getAllMapZoomRate();
+ f32 sp24;
+ if (stickValue < sp8) {
+ sp24 = g_fmapHIO.mScrollSpeedWorldSlow;
+ } else {
+ sp24 = g_fmapHIO.mScrollSpeedWorldFast;
+ }
- f32 delta_y = (speed * zoomRate) * cM_ssin(angle);
- f32 delta_x = (speed * zoomRate) * cM_scos(angle);
+ f32 speed = (sp24 / 100.0f) * zoomRate;
+ f32 delta_y = speed * cM_ssin(angle);
+ f32 delta_x = speed * cM_scos(angle);
- control_xpos = control_xpos + delta_y;
- control_ypos = control_ypos + delta_x;
+ control_xpos = control_xpos + delta_y;
+ control_ypos = control_ypos + delta_x;
+ }
}
-
- if (mArrowPos3DX + control_xpos < tmp1) {
- control_xpos = tmp1 - mArrowPos3DX;
+ if (mArrowPos3DX + control_xpos < sp48) {
+ control_xpos = sp48 - mArrowPos3DX;
}
- if (mArrowPos3DX + control_xpos > local_50) {
- control_xpos = local_50 - mArrowPos3DX;
+ if (mArrowPos3DX + control_xpos > sp40) {
+ control_xpos = sp40 - mArrowPos3DX;
}
- if (mArrowPos3DZ + control_ypos < tmp2) {
- control_ypos = tmp2 - mArrowPos3DZ;
+ if (mArrowPos3DZ + control_ypos < sp44) {
+ control_ypos = sp44 - mArrowPos3DZ;
}
- if (mArrowPos3DZ + control_ypos > local_54) {
- control_ypos = local_54 - mArrowPos3DZ;
+ if (mArrowPos3DZ + control_ypos > sp3C) {
+ control_ypos = sp3C - mArrowPos3DZ;
}
calcRenderingScale();
calcRenderingPos();
calcAllMapPos();
- f32 local_7c, local_80;
+ f32 sp14, sp10;
calcAllMapPos2D((mArrowPos3DX + control_xpos) - mStageTransX,
- (mArrowPos3DZ + control_ypos) - mStageTransZ, &local_7c, &local_80);
+ (mArrowPos3DZ + control_ypos) - mStageTransZ, &sp14, &sp10);
mSelectRegion = 0xff;
for (int i = 7; i >= 0; i--) {
int val = field_0x1230[i];
if (val != 0xff && val != 7) {
- const ResTIMG* timg = mpAreaTex[val]->getTexture(0)->getTexInfo();
- bool pixel = dMeter2Info_getPixel(
- local_7c, local_80, (mRegionMinMapX[val] + field_0xf0c[val] + mTransX),
- (mRegionMinMapY[val] + field_0xf2c[val] + mTransZ),
- (mRegionMapSizeX[val] * mZoom), (mRegionMapSizeY[val] * mZoom), timg);
+ u8 pixel = dMeter2Info_getPixel(
+ sp14, sp10, (mRegionMinMapX[val] + field_0xf0c[val] + mTransX),
+ (mRegionMinMapY[val] + field_0xf2c[val] + mTransZ), (mRegionMapSizeX[val] * mZoom),
+ (mRegionMapSizeY[val] * mZoom), mpAreaTex[val]->getTexture(0)->getTexInfo());
if (pixel) {
mSelectRegion = val;
}
@@ -953,39 +1033,41 @@ void dMenu_Fmap2DBack_c::setIcon2DPos(u8 param_0, f32 param_1, f32 param_2, f32
bool param_5) {
f32 local_68, local_6c;
- f32 local_70 = mMapZoomRate;
+ f32 sp30 = mMapZoomRate;
u8 uVar9 = 1;
if (param_0 == 17) {
uVar9 = 2;
- f32 local_74, local_78;
- calcAllMapPosWorld(getMapScissorAreaCenterPosX(), getMapScissorAreaCenterPosY(), &local_74,
- &local_78);
+ f32 dVar11 = 0.0f;
+ f32 dVar10 = 0.0f;
+ f32 sp2C, sp28;
+ calcAllMapPosWorld(getMapScissorAreaCenterPosX(), getMapScissorAreaCenterPosY(), &sp2C,
+ &sp28);
- f32 local_7c, local_80;
- calcAllMapPos2D(local_74 + mStageTransX, local_78 + mStageTransZ, &local_7c, &local_80);
+ f32 sp24, sp20;
+ calcAllMapPos2D(sp2C + mStageTransX, sp28 + mStageTransZ, &sp24, &sp20);
- f32 dVar11 = getMapScissorAreaCenterPosX() - local_7c;
- f32 dVar10 = getMapScissorAreaCenterPosY() - local_80;
+ dVar11 = getMapScissorAreaCenterPosX() - sp24;
+ dVar10 = getMapScissorAreaCenterPosY() - sp20;
if (mRegionCursor + 1 == dComIfGp_getNowLevel()) {
calcAllMapPos2D(param_1 - mStageTransX, param_2 - mStageTransZ, &local_68, &local_6c);
- f32 tmp1 = (dVar10 + (mRegionMinMapY[mRegionCursor] + field_0xf2c[mRegionCursor])) +
- ((mRegionMapSizeY[mRegionCursor] * mZoom) / 2.0f);
f32 tmp2 = (dVar11 + (mRegionMinMapX[mRegionCursor] + field_0xf0c[mRegionCursor])) +
((mRegionMapSizeX[mRegionCursor] * mZoom) / 2.0f);
+ f32 tmp1 = (dVar10 + (mRegionMinMapY[mRegionCursor] + field_0xf2c[mRegionCursor])) +
+ ((mRegionMapSizeY[mRegionCursor] * mZoom) / 2.0f);
field_0x11e8 = local_68 - tmp2;
field_0x11ec = local_6c - tmp1;
} else {
- f32 tmp1 = (dVar11 + (mRegionScrollMapMaxY[dComIfGp_getNowLevel() + 7] +
- mRegionMapSizeY[dComIfGp_getNowLevel() + 7])) +
- ((mRegionMinMapY[dComIfGp_getNowLevel() + 7] * mZoom) / 2.0f);
- f32 tmp2 = (dVar10 + (mRegionMinMapX[dComIfGp_getNowLevel() + 7] +
- field_0xf0c[dComIfGp_getNowLevel() + 7])) +
- ((mRegionMapSizeX[dComIfGp_getNowLevel() + 7] * mZoom) / 2.0f);
- local_68 = tmp1 + (field_0x11e8 * mZoom);
- local_6c = tmp2 + (field_0x11ec * mZoom);
+ f32 tmp2 = (dVar11 + (mRegionMinMapX[dComIfGp_getNowLevel() - 1] +
+ field_0xf0c[dComIfGp_getNowLevel() - 1])) +
+ ((mRegionMapSizeX[dComIfGp_getNowLevel() - 1] * mZoom) / 2.0f);
+ f32 tmp1 = (dVar10 + (mRegionMinMapY[dComIfGp_getNowLevel() - 1] +
+ field_0xf2c[dComIfGp_getNowLevel() - 1])) +
+ ((mRegionMapSizeY[dComIfGp_getNowLevel() - 1] * mZoom) / 2.0f);
+ local_68 = tmp2 + (field_0x11e8 * mZoom);
+ local_6c = tmp1 + (field_0x11ec * mZoom);
}
} else {
calcAllMapPos2D(param_1 - mStageTransX, param_2 - mStageTransZ, &local_68, &local_6c);
@@ -993,14 +1075,14 @@ void dMenu_Fmap2DBack_c::setIcon2DPos(u8 param_0, f32 param_1, f32 param_2, f32
if (!param_5) {
if (param_0 == 1) {
- local_70 = (mMapZoomRate * 0.5f) + 0.5f;
+ sp30 = (mMapZoomRate * 0.5f) + 0.5f;
uVar9 = 2;
}
if (param_4 != 0) {
uVar9 = 3;
}
- setIconInfo(param_0, local_68, local_6c, 1.0f, param_3, local_70, uVar9);
+ setIconInfo(param_0, local_68, local_6c, 1.0f, param_3, sp30, uVar9);
}
}
@@ -1088,8 +1170,8 @@ f32 dMenu_Fmap2DBack_c::getMapScissorAreaLY() {
f32 dMenu_Fmap2DBack_c::getMapScissorAreaSizeX() {
f32 scale = mpMapArea->getScaleX();
-
- for (J2DPane* pane = mpMapArea->getPanePtr()->getParentPane(); pane != NULL;
+ J2DPane* pane;
+ for (pane = mpMapArea->getPanePtr()->getParentPane(); pane != NULL;
pane = pane->getParentPane())
{
scale *= pane->getScaleX();
@@ -1099,7 +1181,11 @@ f32 dMenu_Fmap2DBack_c::getMapScissorAreaSizeX() {
}
f32 dMenu_Fmap2DBack_c::getMapScissorAreaSizeRealX() {
+#if PLATFORM_GCN
return getMapScissorAreaSizeX();
+#else
+ return getMapScissorAreaSizeX() * mDoGph_gInf_c::getScale();
+#endif
}
f32 dMenu_Fmap2DBack_c::getMapScissorAreaCenterPosX() {
@@ -1112,8 +1198,8 @@ f32 dMenu_Fmap2DBack_c::getMapScissorAreaCenterPosY() {
f32 dMenu_Fmap2DBack_c::getMapScissorAreaSizeY() {
f32 scale = mpMapArea->getScaleY();
-
- for (J2DPane* pane = mpMapArea->getPanePtr()->getParentPane(); pane != NULL;
+ J2DPane* pane;
+ for (pane = mpMapArea->getPanePtr()->getParentPane(); pane != NULL;
pane = pane->getParentPane())
{
scale *= pane->getScaleY();
@@ -1180,24 +1266,24 @@ f32 dMenu_Fmap2DBack_c::getRegionMapZoomRate(int i_regionNo) {
if (tmp1 < tmp2) {
field_0x122e = false;
- tmp2 = tmp1;
+ return tmp1;
} else {
field_0x122e = true;
+ return tmp2;
}
-
- return tmp2;
}
f32 dMenu_Fmap2DBack_c::getSpotMapZoomRate() {
+ f32 tmp4;
f32 tmp1 = mTexMaxX - mTexMinX;
f32 tmp2 = mTexMaxZ - mTexMinZ;
-
+
f32 tmp3 = tmp1;
- if (tmp1 < tmp2) {
+ if (tmp3 < tmp2) {
tmp3 = tmp2;
}
-
- return tmp3 / g_fmapHIO.mRegionZoomRange;
+ tmp4 = tmp3 / g_fmapHIO.mRegionZoomRange;
+ return tmp4;
}
void dMenu_Fmap2DBack_c::getStageOriginPath(u8 param_0, f32* param_1, f32* param_2) {
@@ -1214,11 +1300,15 @@ void dMenu_Fmap2DBack_c::calcOffset(u8 i_regionNo, char const* i_stageName,
f32* o_offsetX, f32* o_offsetZ) {
if (mpStages != NULL) {
Stage_c::data* data = mpStages->mData;
- for (int i = 0; i < mStageDataNum; i++) {
- if (i_regionNo + 1 == data[i].mRegionNo && strcmp(i_stageName, data[i].mName) == 0) {
- *o_offsetX = mRegionOriginX[i_regionNo] + data[i].mOffsetX;
- *o_offsetZ = mRegionOriginZ[i_regionNo] + data[i].mOffsetZ;
- return;
+ for (int j = 0, i = 0; i < mStageDataNum; i++) {
+ if (i_regionNo + 1 == data[i].mRegionNo) {
+ if (strcmp(i_stageName, data[i].mName) == 0) {
+ *o_offsetX = mRegionOriginX[i_regionNo] + data[i].mOffsetX;
+ *o_offsetZ = mRegionOriginZ[i_regionNo] + data[i].mOffsetZ;
+ return;
+ } else {
+ j++;
+ }
}
}
}
@@ -1229,14 +1319,16 @@ void dMenu_Fmap2DBack_c::calcOffset(u8 i_regionNo, char const* i_stageName,
void dMenu_Fmap2DBack_c::regionTextureDraw() {
f32 local_84, local_88;
+ f32 dVar14 = 0.0f;
+ f32 dVar13 = 0.0f;
calcAllMapPosWorld(getMapScissorAreaCenterPosX(), getMapScissorAreaCenterPosY(), &local_84,
&local_88);
f32 local_8c, local_90;
calcAllMapPos2D(local_84 + mStageTransX, local_88 + mStageTransZ, &local_8c, &local_90);
- f32 dVar14 = getMapScissorAreaCenterPosX() - local_8c;
- f32 dVar13 = getMapScissorAreaCenterPosY() - local_90;
+ dVar14 = getMapScissorAreaCenterPosX() - local_8c;
+ dVar13 = getMapScissorAreaCenterPosY() - local_90;
s32 uVar9 = mRegionCursor;
@@ -1272,17 +1364,19 @@ void dMenu_Fmap2DBack_c::regionTextureDraw() {
mpAreaTex[uVar10]->setAlpha(mAlphaRate * 255.0f * fVar3 * field_0xfa4);
if (uVar10 != uVar9) {
+ bool b = 0;
+ f32 v = mTransX + (dVar14 + (mRegionMinMapX[uVar10] + field_0xf0c[uVar10]));
mpAreaTex[uVar10]->draw(
- mTransX + (dVar14 + (mRegionMinMapX[uVar10] + field_0xf0c[uVar10])),
- mTransZ + (dVar13 + (mRegionMinMapY[uVar10] + field_0xf2c[uVar10])),
- mRegionMapSizeX[uVar10] * mZoom, mRegionMapSizeY[uVar10] * mZoom, false,
- false, false);
+ v, mTransZ + (dVar13 + (mRegionMinMapY[uVar10] + field_0xf2c[uVar10])),
+ mRegionMapSizeX[uVar10] * mZoom, mRegionMapSizeY[uVar10] * mZoom, b, false,
+ false);
} else {
+ bool b = 0;
+ f32 v = mTransX + (dVar14 + (mRegionMinMapX[uVar9] + field_0xf0c[uVar9]));
mpAreaTex[uVar9]->draw(
- mTransX + (dVar14 + (mRegionMinMapX[uVar9] + field_0xf0c[uVar9])),
- mTransZ + (dVar13 + (mRegionMinMapY[uVar9] + field_0xf2c[uVar9])),
- mRegionMapSizeX[uVar9] * mZoom, mRegionMapSizeY[uVar9] * mZoom, false,
- false, false);
+ v, mTransZ + (dVar13 + (mRegionMinMapY[uVar9] + field_0xf2c[uVar9])),
+ mRegionMapSizeX[uVar9] * mZoom, mRegionMapSizeY[uVar9] * mZoom, b, false,
+ false);
}
}
}
@@ -1292,8 +1386,7 @@ void dMenu_Fmap2DBack_c::stageTextureDraw() {
if (mAllPathShowFlag) {
mpSpotTexture->setAlpha(mAlphaRate * 255.0f * mSpotTextureFadeAlpha);
} else {
- f32 tmp = mAlphaRate * 255.0f * field_0xfa8;
- mpSpotTexture->setAlpha(mSpotTextureFadeAlpha * tmp);
+ mpSpotTexture->setAlpha(mAlphaRate * 255.0f * field_0xfa8 * mSpotTextureFadeAlpha);
}
mpSpotTexture->draw(mTransX + getMapScissorAreaLX(), mTransZ + getMapScissorAreaLY(),
@@ -1516,11 +1609,9 @@ void dMenu_Fmap2DBack_c::stageOriginDraw() {
for (int i = 0; i < mStageDataNum; i++) {
if (mRegionCursor + 1 == stage_data[i].mRegionNo) {
f32 center_x, center_y;
- calcAllMapPos2D(
- mRegionOriginX[mRegionCursor] + stage_data[i].mOffsetX - mStageTransX,
- mRegionOriginZ[mRegionCursor] + stage_data[i].mOffsetZ - mStageTransZ,
- &center_x, &center_y
- );
+ f32 v1 = mRegionOriginX[mRegionCursor] + stage_data[i].mOffsetX - mStageTransX;
+ f32 v2 = mRegionOriginZ[mRegionCursor] + stage_data[i].mOffsetZ - mStageTransZ;
+ calcAllMapPos2D(v1, v2, &center_x, &center_y);
J2DFillBox(center_x - 3.0f, center_y - 3.0f, 6.0f, 6.0f,
JUtility::TColor(0, 0, 255, 255));
}
@@ -1640,21 +1731,25 @@ void dMenu_Fmap2DBack_c::calcBlink() {
f32 tmp_selected_max = g_fmapHIO.mMapBlink[i].mSelectedRegion.mMax / 255.0f;
f32 tmp_unselected_min = g_fmapHIO.mMapBlink[i].mUnselectedRegion.mMin / 255.0f;
f32 tmp_unselected_max = g_fmapHIO.mMapBlink[i].mUnselectedRegion.mMax / 255.0f;
+
+ f32 sp20 = g_fmapHIO.mMapBlink[i + 1].mSelectedRegion.mMin / 255.0f;
+ f32 sp1C = g_fmapHIO.mMapBlink[i + 1].mSelectedRegion.mMax / 255.0f;
+ f32 sp18 = g_fmapHIO.mMapBlink[i + 1].mUnselectedRegion.mMin / 255.0f;
+ f32 sp14 = g_fmapHIO.mMapBlink[i + 1].mUnselectedRegion.mMax / 255.0f;
+
+ selected_max = tmp_selected_max + t * (sp1C - tmp_selected_max);
+ selected_min = tmp_selected_min + t * (sp20 - tmp_selected_min);
+
+ s16 selected_blink_speed = g_fmapHIO.mMapBlink[i].mSelectedRegion.mBlinkSpeed +
+ t * (g_fmapHIO.mMapBlink[i + 1].mSelectedRegion.mBlinkSpeed -
+ g_fmapHIO.mMapBlink[i].mSelectedRegion.mBlinkSpeed);
- selected_max = tmp_selected_max
- + t * (g_fmapHIO.mMapBlink[i + 1].mSelectedRegion.mMax / 255.0f - tmp_selected_max);
- selected_min = tmp_selected_min
- + t * (g_fmapHIO.mMapBlink[i + 1].mSelectedRegion.mMin / 255.0f - tmp_selected_min);
- s16 selected_blink_speed = g_fmapHIO.mMapBlink[i].mSelectedRegion.mBlinkSpeed
- + t * (g_fmapHIO.mMapBlink[i + 1].mSelectedRegion.mBlinkSpeed
- - g_fmapHIO.mMapBlink[i].mSelectedRegion.mBlinkSpeed);
- unselected_max = tmp_unselected_max
- + t * (g_fmapHIO.mMapBlink[i + 1].mUnselectedRegion.mMax / 255.0f - tmp_unselected_max);
- unselected_min = tmp_unselected_min
- + t * (g_fmapHIO.mMapBlink[i + 1].mUnselectedRegion.mMin / 255.0f - tmp_unselected_min);
- s16 unselected_blink_speed = g_fmapHIO.mMapBlink[i].mUnselectedRegion.mBlinkSpeed
- + t * (g_fmapHIO.mMapBlink[i + 1].mUnselectedRegion.mBlinkSpeed
- - g_fmapHIO.mMapBlink[i].mUnselectedRegion.mBlinkSpeed);
+ unselected_max = tmp_unselected_max + t * (sp14 - tmp_unselected_max);
+ unselected_min = tmp_unselected_min + t * (sp18 - tmp_unselected_min);
+
+ s16 unselected_blink_speed = g_fmapHIO.mMapBlink[i].mUnselectedRegion.mBlinkSpeed +
+ t * (g_fmapHIO.mMapBlink[i + 1].mUnselectedRegion.mBlinkSpeed -
+ g_fmapHIO.mMapBlink[i].mUnselectedRegion.mBlinkSpeed);
field_0x1218++;
if (field_0x1218 >= selected_blink_speed) {
@@ -1693,14 +1788,14 @@ void dMenu_Fmap2DBack_c::calcBackAlpha(bool param_0) {
if (param_0) {
if (mBackAlpha != 1.0f) {
cLib_addCalc2(&mBackAlpha, 1.0f, 0.4f, 0.5f);
- if (fabsf(mBackAlpha - 1.0f) < 0.1f) {
+ if (std::fabs(mBackAlpha - 1.0f) < 0.1f) {
mBackAlpha = 1.0f;
}
}
} else {
if (mBackAlpha != 0.0f) {
cLib_addCalc2(&mBackAlpha, 0.0f, 0.4f, 0.5f);
- if (fabsf(mBackAlpha) < 0.1f) {
+ if (std::fabs(mBackAlpha) < 0.1f) {
mBackAlpha = 0.0f;
}
}
@@ -1732,27 +1827,35 @@ void dMenu_Fmap2DBack_c::regionMapMove(STControl* i_stick) {
calcAllMapPosWorld(getMapScissorAreaLX(), getMapScissorAreaLY(), &min_x, &min_y);
calcAllMapPosWorld(getMapScissorAreaLX() + getMapScissorAreaSizeRealX(),
getMapScissorAreaLY() + getMapScissorAreaSizeRealY(), &max_x, &max_y);
-
- f32 slow_bound = g_fmapHIO.mScrollSpeedSlowBound < g_fmapHIO.mScrollSpeedFastBound ?
- g_fmapHIO.mScrollSpeedSlowBound : g_fmapHIO.mScrollSpeedFastBound;
- f32 fast_bound = g_fmapHIO.mScrollSpeedSlowBound > g_fmapHIO.mScrollSpeedFastBound ?
- g_fmapHIO.mScrollSpeedSlowBound : g_fmapHIO.mScrollSpeedFastBound;
-
- f32 stick_value = i_stick->getValueStick();
- if (stick_value >= slow_bound) {
- s16 angle = i_stick->getAngleStick();
- f32 local_68 = mTexMaxX - mTexMinX;
- f32 spot_zoom = getSpotMapZoomRate();
- f32 region_zoom = getRegionMapZoomRate(mRegionCursor);
- f32 zoom = region_zoom + (mMapZoomRate - 1.0f) * (spot_zoom - region_zoom);
- f32 local_78 = local_68 / zoom;
- f32 base_speed = stick_value < fast_bound ?
- g_fmapHIO.mScrollSpeedRegionSlow : g_fmapHIO.mScrollSpeedRegionFast;
- f32 speed = base_speed / 100.0f * local_78;
- f32 speed_y = speed * cM_ssin(angle);
- f32 speed_x = speed * cM_scos(angle);
- control_xpos += speed_y;
- control_ypos += speed_x;
+ int r27 = 0;
+ if (r27 == 0) {
+ f32 slow_bound = g_fmapHIO.mScrollSpeedSlowBound < g_fmapHIO.mScrollSpeedFastBound ?
+ g_fmapHIO.mScrollSpeedSlowBound :
+ g_fmapHIO.mScrollSpeedFastBound;
+ f32 fast_bound = g_fmapHIO.mScrollSpeedSlowBound > g_fmapHIO.mScrollSpeedFastBound ?
+ g_fmapHIO.mScrollSpeedSlowBound :
+ g_fmapHIO.mScrollSpeedFastBound;
+
+ f32 stick_value = i_stick->getValueStick();
+ if (stick_value >= slow_bound) {
+ s16 angle = i_stick->getAngleStick();
+ f32 local_68 = mTexMaxX - mTexMinX;
+ f32 spot_zoom = getSpotMapZoomRate();
+ f32 region_zoom = getRegionMapZoomRate(mRegionCursor);
+ f32 zoom = region_zoom + (mMapZoomRate - 1.0f) * (spot_zoom - region_zoom);
+ f32 local_78 = local_68 / zoom;
+ f32 base_speed;
+ if (stick_value < fast_bound) {
+ base_speed = g_fmapHIO.mScrollSpeedRegionSlow;
+ } else {
+ base_speed = g_fmapHIO.mScrollSpeedRegionFast;
+ }
+ f32 speed = base_speed / 100.0f * local_78;
+ f32 speed_y = speed * cM_ssin(angle);
+ f32 speed_x = speed * cM_scos(angle);
+ control_xpos += speed_y;
+ control_ypos += speed_x;
+ }
}
if (mArrowPos3DX + control_xpos < min_x) {
@@ -1778,25 +1881,25 @@ void dMenu_Fmap2DBack_c::regionMapMove(STControl* i_stick) {
mSelectRegion = 0xff;
int region = mRegionCursor;
if (region != 0xff && region != 7) {
- if (dMeter2Info_getPixel(pos_x, pos_y,
- mRegionMinMapX[region] + field_0xf0c[region] + mTransX,
- mRegionMinMapY[region] + field_0xf2c[region] + mTransZ,
- mRegionMapSizeX[region] * mZoom,
- mRegionMapSizeY[region] * mZoom,
- mpAreaTex[region]->getTexture(0)->getTexInfo())) {
+ u8 pix = dMeter2Info_getPixel(
+ pos_x, pos_y, mRegionMinMapX[region] + field_0xf0c[region] + mTransX,
+ mRegionMinMapY[region] + field_0xf2c[region] + mTransZ, mRegionMapSizeX[region] * mZoom,
+ mRegionMapSizeY[region] * mZoom, mpAreaTex[region]->getTexture(0)->getTexInfo());
+ if (pix) {
mSelectRegion = region;
}
}
}
void dMenu_Fmap2DBack_c::stageMapMove(STControl* i_stick, u8 param_1, bool param_2) {
- f32 min_x, min_y, max_x, max_y, center_x, center_y;
-
+ (void)param_1;
+
f32 slow_bound = g_fmapHIO.mScrollSpeedSlowBound < g_fmapHIO.mScrollSpeedFastBound ?
- g_fmapHIO.mScrollSpeedSlowBound : g_fmapHIO.mScrollSpeedFastBound;
+ g_fmapHIO.mScrollSpeedSlowBound : g_fmapHIO.mScrollSpeedFastBound;
f32 fast_bound = g_fmapHIO.mScrollSpeedSlowBound > g_fmapHIO.mScrollSpeedFastBound ?
- g_fmapHIO.mScrollSpeedSlowBound : g_fmapHIO.mScrollSpeedFastBound;
+ g_fmapHIO.mScrollSpeedSlowBound : g_fmapHIO.mScrollSpeedFastBound;
+ f32 min_x, min_y, max_x, max_y;
f32 stick_value = i_stick->getValueStick();
bool bVar6 = false;
f32 trans_x = mStageTransX;
@@ -1810,8 +1913,12 @@ void dMenu_Fmap2DBack_c::stageMapMove(STControl* i_stick, u8 param_1, bool param
f32 region_zoom = getRegionMapZoomRate(mRegionCursor);
f32 zoom = region_zoom + (mMapZoomRate - 1.0f) * (spot_zoom - region_zoom);
f32 local_78 = local_68 / zoom;
- f32 base_speed = stick_value < fast_bound ?
- g_fmapHIO.mScrollSpeedRegionZoomSlow : g_fmapHIO.mScrollSpeedRegionZoomFast;
+ f32 base_speed;
+ if (stick_value < fast_bound) {
+ base_speed = g_fmapHIO.mScrollSpeedRegionZoomSlow;
+ } else {
+ base_speed = g_fmapHIO.mScrollSpeedRegionZoomFast;
+ }
f32 speed = base_speed / 100.0f * local_78;
f32 speed_x = speed * cM_ssin(angle);
f32 speed_z = speed * cM_scos(angle);
@@ -1820,7 +1927,7 @@ void dMenu_Fmap2DBack_c::stageMapMove(STControl* i_stick, u8 param_1, bool param
} else if (!param_2) {
return;
}
-
+ f32 center_x, center_y;
calcAllMapPosWorld(getMapAreaGlobalCenterPosX(), getMapAreaGlobalCenterPosY(),
&center_x, &center_y);
calcAllMapPosWorld(getMapScissorAreaLX(), getMapScissorAreaLY(), &min_x, &min_y);
@@ -1864,16 +1971,16 @@ void dMenu_Fmap2DBack_c::stageMapMove(STControl* i_stick, u8 param_1, bool param
field_0x122d = 0;
if (mStageTransX > -(center_x - min_x)) {
- field_0x122d |= 1;
+ field_0x122d |= (u8)1;
}
if (mStageTransX < -(center_x - max_x)) {
- field_0x122d |= 4;
+ field_0x122d |= (u8)4;
}
if (mStageTransZ > -(center_y - min_y)) {
- field_0x122d |= 8;
+ field_0x122d |= (u8)8;
}
if (mStageTransZ < -(center_y - max_y)) {
- field_0x122d |= 2;
+ field_0x122d |= (u8)2;
}
mpMeterHaihai->_execute(0);
@@ -1907,8 +2014,9 @@ void dMenu_Fmap2DBack_c::drawDebugStageArea() {
j - mDoGph_gInf_c::getHeightF() / 2.0f,
field_0x1244, &stage_no, NULL);
if (stage_no >= 0) {
- J2DFillBox(i + mDoGph_gInf_c::getMinXF() - 3.0f, j - 3.0f, 6.0f, 6.0f,
- colors[stage_no % 6]);
+ f32 v = i + mDoGph_gInf_c::getMinXF();
+ f32 v2 = j;
+ J2DFillBox(v - 3.0f, v2 - 3.0f, 6.0f, 6.0f, colors[stage_no % 6]);
}
}
}
@@ -1916,7 +2024,8 @@ void dMenu_Fmap2DBack_c::drawDebugStageArea() {
}
void dMenu_Fmap2DBack_c::drawDebugRegionArea() {
- getAllMapZoomRate();
+ if (mZoom != getAllMapZoomRate()) {
+ }
JUtility::TColor colors[7] = {
JUtility::TColor(255, 255, 0, 50),
@@ -1930,18 +2039,18 @@ void dMenu_Fmap2DBack_c::drawDebugRegionArea() {
for (int i = 0; i < getMapScissorAreaSizeRealX(); i += g_fmapHIO.mRangeCheckInterval + 1) {
for (int j = 0; j < getMapScissorAreaSizeRealY(); j += g_fmapHIO.mRangeCheckInterval + 1) {
+ u8 u = 0;
for (int k = 7; k >= 0; k--) {
int region = field_0x1230[k];
if (region == 0xff || region == 7) continue;
f32 pos_x = i + getMapScissorAreaLX();
f32 pos_y = j + getMapScissorAreaLY();
- if (dMeter2Info_getPixel(pos_x, pos_y,
- mRegionMinMapX[region] + field_0xf0c[region] + mTransX,
- mRegionMinMapY[region] + field_0xf2c[region] + mTransZ,
- mRegionMapSizeX[region] * mZoom,
- mRegionMapSizeY[region] * mZoom,
- mpAreaTex[region]->getTexture(0)->getTexInfo()))
- {
+ u = dMeter2Info_getPixel(
+ pos_x, pos_y, mRegionMinMapX[region] + field_0xf0c[region] + mTransX,
+ mRegionMinMapY[region] + field_0xf2c[region] + mTransZ,
+ mRegionMapSizeX[region] * mZoom, mRegionMapSizeY[region] * mZoom,
+ mpAreaTex[region]->getTexture(0)->getTexInfo());
+ if (u) {
J2DFillBox(pos_x - 3.0f, pos_y - 3.0f, 6.0f, 6.0f, colors[region]);
break;
}
@@ -1974,9 +2083,9 @@ void dMenu_Fmap2DBack_c::setArrowPos3DOffset(u8 i_regionNo, char const* i_stageN
if (param_4 != 0.0f) {
calcOffset(i_regionNo, i_stageName, &offset_x, &offset_z);
- calcAllMapPos2D(i_posX + offset_x - getRegionOriginX(i_regionNo),
- i_posZ + offset_z - getRegionOriginZ(i_regionNo),
- &pos2d_x, &pos2d_y);
+ f32 v = i_posX + offset_x - getRegionOriginX(i_regionNo);
+ f32 v2 = i_posZ + offset_z - getRegionOriginZ(i_regionNo);
+ calcAllMapPos2D(v, v2, &pos2d_x, &pos2d_y);
pos2d_y -= param_4;
calcAllMapPosWorld(pos2d_x, pos2d_y, &i_posX, &i_posZ);
i_posX += getRegionOriginX(i_regionNo);
@@ -1995,27 +2104,29 @@ void dMenu_Fmap2DBack_c::calcDrawPriority() {
u8 dVar3 = 6;
for (int i = 7; i >= 0; i--) {
- region = field_0x1230[i];
if (field_0x1230[i] != 0xff) {
if (field_0x1230[i] == mRegionCursor) {
field_0x1230[i] = dVar2;
break;
+ } else {
+ u8 tmp = field_0x1230[i];
+ field_0x1230[i] = dVar2;
+ dVar2 = tmp;
}
- field_0x1230[i] = dVar2;
- dVar2 = region;
}
}
if (mRegionCursor != 6) {
for (int i = 7; i >= 0; i--) {
- region = field_0x1230[i];
if (field_0x1230[i] != 0xff) {
if (field_0x1230[i] == 6) {
field_0x1230[i] = dVar3;
break;
+ } else {
+ u8 tmp = field_0x1230[i];
+ field_0x1230[i] = dVar3;
+ dVar3 = tmp;
}
- field_0x1230[i] = dVar3;
- dVar3 = region;
}
}
}
@@ -2024,14 +2135,15 @@ void dMenu_Fmap2DBack_c::calcDrawPriority() {
u8 dVar4 = field_0x1230[0];
field_0x1230[0] = 7;
for (int i = 1; i < 8; i++) {
- region = field_0x1230[i];
if (field_0x1230[i] != 0xff) {
if (field_0x1230[i] == 7) {
field_0x1230[i] = dVar4;
break;
+ } else {
+ u8 tmp = field_0x1230[i];
+ field_0x1230[i] = dVar4;
+ dVar4 = tmp;
}
- field_0x1230[i] = dVar4;
- dVar4 = region;
}
}
}
@@ -2052,11 +2164,31 @@ dMenu_Fmap2DTop_c::dMenu_Fmap2DTop_c(JKRExpHeap* i_heap, STControl* i_stick) {
mpScrnExplain = NULL;
mpTitleScreen = new J2DScreen();
- mpTitleScreen->setPriority("zelda_map_screen_title.blo", 0x1020000,
- dComIfGp_getFmapResArchive());
+ JUT_ASSERT(3872, mpTitleScreen != NULL);
+#if PLATFORM_GCN
+ bool fg = mpTitleScreen->setPriority("zelda_map_screen_title.blo", 0x1020000,
+ dComIfGp_getFmapResArchive());
+#else
+ bool fg = mpTitleScreen->setPriority("zelda_map_screen_title_revo.blo", 0x1020000,
+ dComIfGp_getFmapResArchive());
+#endif
+ JUT_ASSERT(3877, fg != false);
+
dPaneClass_showNullPane(mpTitleScreen);
mpTitleRoot = new CPaneMgrAlphaMorf(mpTitleScreen, 'ROOT', 2, NULL);
-
+ JUT_ASSERT(3881, mpTitleRoot != NULL);
+#if PLATFORM_SHIELD
+ for (int i = 0; i < 2; i++) {
+ mpArrowLAlpha[i] = NULL;
+ mpArrowRAlpha[i] = NULL;
+ }
+ mpDpadAlpha = NULL;
+ mpAnalogStickAlpha = NULL;
+ mpAnalogStick = NULL;
+ mpDpad = NULL;
+ mpTitleScreen->search('tri_Null')->hide();
+#endif
+#if PLATFORM_GCN
mpArrowLAlpha[0] = new CPaneMgrAlpha(mpTitleScreen, 'yaji_04', 0, NULL);
mpArrowLAlpha[1] = new CPaneMgrAlpha(mpTitleScreen, 'yaji_05', 0, NULL);
mpArrowRAlpha[0] = new CPaneMgrAlpha(mpTitleScreen, 'yaji_06', 0, NULL);
@@ -2068,13 +2200,34 @@ dMenu_Fmap2DTop_c::dMenu_Fmap2DTop_c(JKRExpHeap* i_heap, STControl* i_stick) {
mpAnalogStickAlpha->setAlphaRate(0.0f);
mpAnalogStick = new CPaneMgr(mpTitleScreen, 'as_n', 0, NULL);
mpDpad = new CPaneMgr(mpTitleScreen, 'juji_c_n', 0, NULL);
-
+#endif
+#if PLATFORM_SHIELD
+ mpButtonA = new CPaneMgr(mpTitleScreen, 'abtn_n', 2, NULL);
+ JUT_ASSERT(3935, mpButtonA != NULL);
+ mpButtonB = new CPaneMgr(mpTitleScreen, 'bbtn_n', 2, NULL);
+ JUT_ASSERT(3938, mpButtonB != NULL);
+ mpButtonZ = new CPaneMgr(mpTitleScreen, 'j_scal_n', 2, NULL);
+ JUT_ASSERT(3941, mpButtonZ != NULL);
+ mpButtonTextA = new CPaneMgr(mpTitleScreen, 'a_text_n', 2, NULL);
+ JUT_ASSERT(3953, mpButtonTextA != NULL);
+ mpButtonTextB = new CPaneMgr(mpTitleScreen, 'b_text_n', 2, NULL);
+ JUT_ASSERT(3956, mpButtonTextB != NULL);
+ mpButtonTextZ = new CPaneMgr(mpTitleScreen, 'z_text_n', 2, NULL);
+ JUT_ASSERT(3959, mpButtonTextZ != NULL);
+#else
mpButtonA = new CPaneMgr(mpTitleScreen, 'abtn_n1', 2, NULL);
+ JUT_ASSERT(3935, mpButtonA != NULL);
mpButtonB = new CPaneMgr(mpTitleScreen, 'bbtn_n1', 2, NULL);
+ JUT_ASSERT(3938, mpButtonB != NULL);
mpButtonZ = new CPaneMgr(mpTitleScreen, 'zbtn_n1', 2, NULL);
+ JUT_ASSERT(3941, mpButtonZ != NULL);
mpButtonTextA = new CPaneMgr(mpTitleScreen, 'a_text_n', 2, NULL);
+ JUT_ASSERT(3953, mpButtonTextA != NULL);
mpButtonTextB = new CPaneMgr(mpTitleScreen, 'b_text_n', 2, NULL);
+ JUT_ASSERT(3956, mpButtonTextB != NULL);
mpButtonTextZ = new CPaneMgr(mpTitleScreen, 'z_text_n', 2, NULL);
+ JUT_ASSERT(3959, mpButtonTextZ != NULL);
+#endif
mpButtonA->setAlphaRate(0.0f);
mpButtonB->setAlphaRate(0.0f);
mpButtonZ->setAlphaRate(0.0f);
@@ -2083,12 +2236,16 @@ dMenu_Fmap2DTop_c::dMenu_Fmap2DTop_c(JKRExpHeap* i_heap, STControl* i_stick) {
mpButtonTextZ->setAlphaRate(0.0f);
mpNamePane = new CPaneMgr(mpTitleScreen, 'name_n', 0, NULL);
+ JUT_ASSERT(3970, mpNamePane != NULL);
mpSubPane = new CPaneMgr(mpTitleScreen, 'sub_n_n', 0, NULL);
+ JUT_ASSERT(3974, mpSubPane != NULL);
+
if (dMeter2Info_getMapStatus() == 9) {
mpNamePane->hide();
mpSubPane->hide();
}
mpContPane = new CPaneMgr(mpTitleScreen, 'cont_n', 0, NULL);
+ JUT_ASSERT(3984, mpContPane != NULL);
mTitlePosX = mTitlePosY = 0.0f;
mTitleScale = 1.0f;
@@ -2102,9 +2259,13 @@ dMenu_Fmap2DTop_c::dMenu_Fmap2DTop_c(JKRExpHeap* i_heap, STControl* i_stick) {
mDoIconScale = 1.0f;
OSInitFastCast();
-
+#if PLATFORM_GCN
mpAnm = static_cast<J2DAnmTextureSRTKey*>(J2DAnmLoaderDataBase::load(
JKRFileLoader::getGlbResource("zelda_map_screen_title.btk", dComIfGp_getFmapResArchive())));
+#else
+ void* v = JKRGetNameResource("zelda_map_screen_title_revo.btk", dComIfGp_getFmapResArchive());
+ mpAnm = static_cast<J2DAnmTextureSRTKey*>(J2DAnmLoaderDataBase::load(v));
+#endif
mpAnm->searchUpdateMaterialID(mpTitleScreen);
mAnmFrame = 0.0f;
@@ -2124,13 +2285,21 @@ dMenu_Fmap2DTop_c::dMenu_Fmap2DTop_c(JKRExpHeap* i_heap, STControl* i_stick) {
mpTitleScreen->search(area_name[i])->hide();
#endif
}
-
+#if PLATFORM_GCN
static const u64 sfont_name[7] = {
'sfont00', 'sfontl0', 'sfontl1', 'sfontl2', 'sfontb0', 'sfontb1', 'sfontb2'
};
static const u64 ffont_name[7] = {
'ffont00', 'ffontl0', 'ffontl1', 'ffontl2', 'ffontb0', 'ffontb3', 'ffontb4'
};
+#else
+ static const u64 sfont_name[7] = {
+ 'sfont00', 'sfontl0', 'sfontl1', 'sfontl2', 'sfontb0', 'sfontb1', 'sfontb2'
+ };
+ static const u64 ffont_name[7] = {
+ 'ffont01', 'ffontl3', 'ffontl4', 'ffontl5', 'ffontb3', 'ffontb4', 'ffontb5'
+ };
+#endif
for (int i = 0; i < 7; i++) {
#if VERSION == VERSION_GCN_JPN
static_cast<J2DTextBox*>(mpTitleScreen->search(sfont_name[i]))
@@ -2162,9 +2331,13 @@ dMenu_Fmap2DTop_c::dMenu_Fmap2DTop_c(JKRExpHeap* i_heap, STControl* i_stick) {
#endif
}
setZButtonString(0x529, 0xff);
-
+#if PLATFORM_GCN
static const u64 cont_bt[5] = {'cont_bt1', 'cont_bt2', 'cont_bt3', 'cont_bt4', 'cont_bt'};
static const u64 font_bt[5] = {'font_bt1', 'font_bt2', 'font_bt3', 'font_bt4', 'font_bt5'};
+#else
+ static const u64 cont_bt[5] = {'cont_bt1', 'cont_bt2', 'cont_bt3', 'cont_bt4', 'cont_bt8'};
+ static const u64 font_bt[5] = {'font_bt1', 'font_bt2', 'font_bt3', 'font_bt4', 'font_bt5'};
+#endif
for (int i = 0; i < 5; i++) {
#if VERSION == VERSION_GCN_JPN
static_cast<J2DTextBox*>(mpTitleScreen->search(cont_bt[i]))
@@ -2197,6 +2370,7 @@ dMenu_Fmap2DTop_c::dMenu_Fmap2DTop_c(JKRExpHeap* i_heap, STControl* i_stick) {
}
setAButtonString(0x527, 0xff);
+#if PLATFORM_GCN
static const u64 juji_c[5] = {'juji_c00', 'juji_c01', 'juji_c02', 'juji_c03', 'juji_c04'};
static const u64 fuji_c[5] = {'fuji_c00', 'fuji_c01', 'fuji_c02', 'fuji_c03', 'fuji_c04'};
for (int i = 0; i < 5; i++) {
@@ -2230,6 +2404,7 @@ dMenu_Fmap2DTop_c::dMenu_Fmap2DTop_c(JKRExpHeap* i_heap, STControl* i_stick) {
#endif
}
set3DStickString(0x524);
+#endif
setHIO(true);
}
@@ -2239,6 +2414,8 @@ dMenu_Fmap2DTop_c::~dMenu_Fmap2DTop_c() {
delete mpTitleScreen;
mpTitleScreen = NULL;
delete mpTitleRoot;
+ if (mpTitleRoot != NULL) {
+ }
delete mpButtonA;
mpButtonA = NULL;
delete mpButtonB;
@@ -2276,9 +2453,13 @@ dMenu_Fmap2DTop_c::~dMenu_Fmap2DTop_c() {
for (int i = 0; i < 2; i++) {
if (mpArrowLAlpha[i] != NULL) {
delete mpArrowLAlpha[i];
+ if (mpArrowLAlpha[i] != NULL) {
+ }
}
if (mpArrowRAlpha[i] != NULL) {
delete mpArrowRAlpha[i];
+ if (mpArrowRAlpha[i] != NULL) {
+ }
}
}
delete mpAnm;
@@ -2407,19 +2588,28 @@ void dMenu_Fmap2DTop_c::setTitleNameString(u32 param_0) {
'sfont00', 'sfontl0', 'sfontl1', 'sfontl2', 'sfontb0', 'sfontb1', 'sfontb2'
};
#define setTitleNameString_font_name sfont_name
-#else
+#elif PLATFORM_GCN
static const u64 ffont_name[7] = {
'ffont00', 'ffontl0', 'ffontl1', 'ffontl2', 'ffontb0', 'ffontb3', 'ffontb4'
};
#define setTitleNameString_font_name ffont_name
+#else
+ static const u64 ffont_name[7] = {
+ 'ffont01', 'ffontl3', 'ffontl4', 'ffontl5', 'ffontb3', 'ffontb4', 'ffontb5'
+ };
+#define setTitleNameString_font_name ffont_name
#endif
for (int i = 0; i < 7; i++) {
if (param_0 == 0) {
- J2DTextBox* text_box = static_cast<J2DTextBox*>(mpTitleScreen->search(setTitleNameString_font_name[i]));
- strcpy(text_box->getStringPtr(), "");
+ strcpy(((J2DTextBox*)(mpTitleScreen->search(setTitleNameString_font_name[i])))
+ ->getStringPtr(),
+ "");
} else {
- J2DTextBox* text_box = static_cast<J2DTextBox*>(mpTitleScreen->search(setTitleNameString_font_name[i]));
- dMeter2Info_getStringKanji(param_0, text_box->getStringPtr(), NULL);
+ dMeter2Info_getStringKanji(
+ param_0,
+ ((J2DTextBox*)(mpTitleScreen->search(setTitleNameString_font_name[i])))
+ ->getStringPtr(),
+ NULL);
}
}
}
@@ -2434,11 +2624,15 @@ void dMenu_Fmap2DTop_c::setAreaNameString(u32 param_0) {
#endif
for (int i = 0; i < 3; i++) {
if (param_0 == 0) {
- J2DTextBox* text_box = static_cast<J2DTextBox*>(mpTitleScreen->search(setAreaNameString_area_name[i]));
- strcpy(text_box->getStringPtr(), "");
+ strcpy(((J2DTextBox*)(mpTitleScreen->search(setAreaNameString_area_name[i])))
+ ->getStringPtr(),
+ "");
} else {
- J2DTextBox* text_box = static_cast<J2DTextBox*>(mpTitleScreen->search(setAreaNameString_area_name[i]));
- dMeter2Info_getStringKanji(param_0, text_box->getStringPtr(), NULL);
+ dMeter2Info_getStringKanji(
+ param_0,
+ ((J2DTextBox*)(mpTitleScreen->search(setAreaNameString_area_name[i])))
+ ->getStringPtr(),
+ NULL);
}
}
}
@@ -2456,11 +2650,17 @@ void dMenu_Fmap2DTop_c::setZButtonString(u32 param_0, u8 i_alpha) {
#define setZButtonString_font_zt font_zt
#endif
if (param_0 == 0 || !isWarpAccept()) {
+#if PLATFORM_GCN
mAlphaButtonZ = ALPHA_MID;
+#else
+ mAlphaButtonZ = ALPHA_MIN;
+#endif
} else {
for (int i = 0; i < 5; i++) {
- J2DTextBox* text_box = static_cast<J2DTextBox*>(mpTitleScreen->search(setZButtonString_font_zt[i]));
- dMeter2Info_getStringKanji(param_0, text_box->getStringPtr(), NULL);
+ dMeter2Info_getStringKanji(
+ param_0,
+ ((J2DTextBox*)(mpTitleScreen->search(setZButtonString_font_zt[i])))->getStringPtr(),
+ NULL);
}
if (i_alpha == ALPHA_DEFAULT) {
@@ -2487,8 +2687,10 @@ void dMenu_Fmap2DTop_c::setBButtonString(u32 param_0, u8 i_alpha) {
mAlphaButtonB = ALPHA_MIN;
} else {
for (int i = 0; i < 5; i++) {
- J2DTextBox* text_box = static_cast<J2DTextBox*>(mpTitleScreen->search(setBButtonString_font_bt[i]));
- dMeter2Info_getStringKanji(param_0, text_box->getStringPtr(), NULL);
+ dMeter2Info_getStringKanji(
+ param_0,
+ ((J2DTextBox*)(mpTitleScreen->search(setBButtonString_font_bt[i])))->getStringPtr(),
+ NULL);
}
if (i_alpha == ALPHA_DEFAULT) {
@@ -2511,8 +2713,10 @@ void dMenu_Fmap2DTop_c::setAButtonString(u32 param_0, u8 i_alpha) {
mAlphaButtonA = ALPHA_MIN;
} else {
for (int i = 0; i < 5; i++) {
- J2DTextBox* text_box = static_cast<J2DTextBox*>(mpTitleScreen->search(setAButtonString_font_at[i]));
- dMeter2Info_getStringKanji(param_0, text_box->getStringPtr(), NULL);
+ dMeter2Info_getStringKanji(
+ param_0,
+ ((J2DTextBox*)(mpTitleScreen->search(setAButtonString_font_at[i])))->getStringPtr(),
+ NULL);
}
if (i_alpha == ALPHA_DEFAULT) {
@@ -2524,6 +2728,7 @@ void dMenu_Fmap2DTop_c::setAButtonString(u32 param_0, u8 i_alpha) {
}
void dMenu_Fmap2DTop_c::setCrossLRString(u32 param_0) {
+#if PLATFORM_GCN || (VERSION == VERSION_SHIELD)
#if VERSION == VERSION_GCN_JPN
static const u64 juji_c[5] = {'juji_c00', 'juji_c01', 'juji_c02', 'juji_c03', 'juji_c04'};
#else
@@ -2544,9 +2749,11 @@ void dMenu_Fmap2DTop_c::setCrossLRString(u32 param_0) {
mpTitleScreen->search('juy_sha0')->show();
mAlphaDpad = 2;
}
+#endif
}
void dMenu_Fmap2DTop_c::set3DStickString(u32 param_0) {
+#if PLATFORM_GCN || (VERSION == VERSION_SHIELD)
#if VERSION == VERSION_GCN_JPN
static const u64 ast_c[5] = {'ast_00', 'ast_01', 'ast_02', 'ast_03', 'ast_04'};
#else
@@ -2567,12 +2774,14 @@ void dMenu_Fmap2DTop_c::set3DStickString(u32 param_0) {
mpTitleScreen->search('as_sha0')->show();
mAlphaAnalogStick = 2;
}
+#endif
}
void dMenu_Fmap2DTop_c::createExplain(JKRExpHeap* i_heap, STControl* i_stick) {
if (!mpScrnExplain) {
JKRHeap* heap = mDoExt_setCurrentHeap(i_heap);
mpScrnExplain = new dMsgScrnExplain_c(i_stick, 0, false, 1);
+ JUT_ASSERT(4743, mpScrnExplain != NULL);
mDoExt_setCurrentHeap(heap);
}
}
@@ -2640,15 +2849,13 @@ void dMenu_Fmap2DTop_c::setAlphaAnimeMax(CPaneMgrAlpha* i_pane) {
}
bool dMenu_Fmap2DTop_c::checkPlayerWarpAccept() {
- bool ret;
- if (!checkWarpAcceptCannon()) {
- ret = false;
- } else if (!checkWarpAcceptRegion4()) {
- ret = false;
+ if (checkWarpAcceptCannon() == FALSE) {
+ return FALSE;
+ } else if (checkWarpAcceptRegion4() == FALSE) {
+ return FALSE;
} else {
- ret = daPy_getLinkPlayerActorClass()->checkAcceptDungeonWarpAlink(0);
+ return daPy_getLinkPlayerActorClass()->checkAcceptDungeonWarpAlink(0);
}
- return ret;
}
bool dMenu_Fmap2DTop_c::checkWarpAcceptRegion(int i_region) {
diff --git a/src/d/d_meter2_info.cpp b/src/d/d_meter2_info.cpp
index f62455b877..94ddceb726 100644
--- a/src/d/d_meter2_info.cpp
+++ b/src/d/d_meter2_info.cpp
@@ -1414,7 +1414,7 @@ const char* dMeter2Info_getPlusTextureName() {
return tex_name;
}
-bool dMeter2Info_getPixel(f32 i_posX, f32 i_posY, f32 param_2, f32 param_3, f32 i_sizeX,
+u8 dMeter2Info_getPixel(f32 i_posX, f32 i_posY, f32 param_2, f32 param_3, f32 i_sizeX,
f32 i_sizeY, ResTIMG const* i_resTimg) {
f32 temp_f31 = i_posX - param_2;
f32 temp_f30 = i_posY - param_3;
@@ -1442,7 +1442,7 @@ bool dMeter2Info_getPixel(f32 i_posX, f32 i_posY, f32 param_2, f32 param_3, f32
return 1;
}
- return var_r24 & 0x7000;
+ return (var_r24 & 0x7000) != 0;
}
void dMeter2Info_setCloth(u8 i_clothId, bool i_offItemBit) {
diff --git a/src/d/d_msg_flow.cpp b/src/d/d_msg_flow.cpp
index 3201873387..29075fe597 100644
--- a/src/d/d_msg_flow.cpp
+++ b/src/d/d_msg_flow.cpp
@@ -767,7 +767,7 @@ void dMsgFlow_c::dbgPrint() {}
u16 dMsgFlow_c::query001(mesg_flow_node_branch* i_flowNode_p, fopAc_ac_c* i_speaker_p, int param_2) {
const u16 prm0 = i_flowNode_p->param;
- u16 ret = dComIfGs_isEventBit((u16)dSv_event_flag_c::saveBitLabels[prm0]) == false;
+ u16 ret = dComIfGs_isEventBit(dSv_event_flag_c::saveBitLabels[prm0]) == false;
if (param_2 != 0) {
// "Flag Check"
@@ -1753,11 +1753,11 @@ int dMsgFlow_c::event000(mesg_flow_node_event* i_flowNode_p, fopAc_ac_c* i_speak
OS_REPORT("flow:%d, prm0:%d, prm1:%d\n", mFlow, prm0, prm1);
if (prm0 != 0) {
- dComIfGs_onEventBit((u16)dSv_event_flag_c::saveBitLabels[prm0]);
+ dComIfGs_onEventBit(dSv_event_flag_c::saveBitLabels[prm0]);
}
if (prm1 != 0) {
- dComIfGs_onEventBit((u16)dSv_event_flag_c::saveBitLabels[prm1]);
+ dComIfGs_onEventBit(dSv_event_flag_c::saveBitLabels[prm1]);
}
return 1;
@@ -1772,11 +1772,11 @@ int dMsgFlow_c::event001(mesg_flow_node_event* i_flowNode_p, fopAc_ac_c* i_speak
OS_REPORT("flow:%d, prm0:%d, prm1:%d\n", mFlow, prm0, prm1);
if (prm0 != 0) {
- dComIfGs_offEventBit((u16)dSv_event_flag_c::saveBitLabels[prm0]);
+ dComIfGs_offEventBit(dSv_event_flag_c::saveBitLabels[prm0]);
}
if (prm1 != 0) {
- dComIfGs_offEventBit((u16)dSv_event_flag_c::saveBitLabels[prm1]);
+ dComIfGs_offEventBit(dSv_event_flag_c::saveBitLabels[prm1]);
}
return 1;
diff --git a/src/d/d_s_menu.cpp b/src/d/d_s_menu.cpp
index 7b7934f473..0955876024 100644
--- a/src/d/d_s_menu.cpp
+++ b/src/d/d_s_menu.cpp
@@ -766,7 +766,7 @@ int toGameScene(dScnMenu_c* i_this) {
/* Main Event - Get shadow crystal (can now transform) */
dComIfGs_offEventBit(dSv_event_flag_c::M_077);
/* dSv_event_flag_c::F_0550 - Main Event - Gain ability to use sense */
- dComIfGs_offEventBit((u16)dSv_event_flag_c::saveBitLabels[550]);
+ dComIfGs_offEventBit(dSv_event_flag_c::saveBitLabels[550]);
/* Secret techniques - Obtained 1 secret techinques - Shield attack */
dComIfGs_offEventBit(dSv_event_flag_c::F_0338);
rt = fopScnM_ChangeReq(i_this, PROC_PLAY_SCENE, 0, 5);
@@ -909,7 +909,7 @@ void setEnvData(menu_data_class* i_data) {
label_no = atoi(string);
if (label_no >= 0 && label_no <= 999) {
- dComIfGs_onEventBit((u16)dSv_event_flag_c::saveBitLabels[label_no]);
+ dComIfGs_onEventBit(dSv_event_flag_c::saveBitLabels[label_no]);
}
if (i_data->env_data[i] != '+') {
@@ -944,7 +944,7 @@ void setEnvData(menu_data_class* i_data) {
label_no = atoi(string);
if (label_no >= 0 && label_no <= 999) {
- dComIfGs_offEventBit((u16)dSv_event_flag_c::saveBitLabels[label_no]);
+ dComIfGs_offEventBit(dSv_event_flag_c::saveBitLabels[label_no]);
}
if (i_data->env_data[i] != '+') {
@@ -1636,7 +1636,7 @@ int phase_2(dScnMenu_c* i_this) {
/* Main Event - when OFF, wolf carries sword and shield on back */
dComIfGs_onEventBit(dSv_event_flag_c::M_068);
/* dSv_event_flag_c::F_0550 - Main Event - Gain ability to use sense */
- dComIfGs_onEventBit((u16)dSv_event_flag_c::saveBitLabels[550]);
+ dComIfGs_onEventBit(dSv_event_flag_c::saveBitLabels[550]);
return cPhs_COMPLEATE_e;
}
diff --git a/src/d/d_save.cpp b/src/d/d_save.cpp
index 2e92baef02..f2fa9866ce 100644
--- a/src/d/d_save.cpp
+++ b/src/d/d_save.cpp
@@ -1708,14 +1708,14 @@ int dSv_info_c::memory_to_card(char* card_ptr, int dataNum) {
#endif
// If haven't gotten then lantern back from the monkey
- if (!dComIfGs_isEventBit((u16)dSv_event_flag_c::saveBitLabels[226])) {
+ if (!dComIfGs_isEventBit(dSv_event_flag_c::saveBitLabels[226])) {
// Store whether or not it's stolen and dropped
- lantern_dropped = dComIfGs_isEventBit((u16)dSv_event_flag_c::saveBitLabels[224]);
- lantern_stolen = dComIfGs_isEventBit((u16)dSv_event_flag_c::saveBitLabels[225]);
+ lantern_dropped = dComIfGs_isEventBit(dSv_event_flag_c::saveBitLabels[224]);
+ lantern_stolen = dComIfGs_isEventBit(dSv_event_flag_c::saveBitLabels[225]);
// Then turn those events off
- dComIfGs_offEventBit((u16)dSv_event_flag_c::saveBitLabels[224]);
- dComIfGs_offEventBit((u16)dSv_event_flag_c::saveBitLabels[225]);
+ dComIfGs_offEventBit(dSv_event_flag_c::saveBitLabels[224]);
+ dComIfGs_offEventBit(dSv_event_flag_c::saveBitLabels[225]);
// Used to turn events back on later
lantern_not_recovered = true;
@@ -1765,10 +1765,10 @@ int dSv_info_c::memory_to_card(char* card_ptr, int dataNum) {
// Now that we've saved, reset events if needed
if (lantern_not_recovered == true) {
if (lantern_dropped) {
- dComIfGs_onEventBit((u16)dSv_event_flag_c::saveBitLabels[224]);
+ dComIfGs_onEventBit(dSv_event_flag_c::saveBitLabels[224]);
}
if (lantern_stolen) {
- dComIfGs_onEventBit((u16)dSv_event_flag_c::saveBitLabels[225]);
+ dComIfGs_onEventBit(dSv_event_flag_c::saveBitLabels[225]);
}
}
@@ -2014,7 +2014,12 @@ BOOL flagFile_c::check_flag(u16 i_flag) {
#if VERSION > VERSION_GCN_JPN
const
#endif
-u16 dSv_event_flag_c::saveBitLabels[822] = {
+#if PLATFORM_SHIELD
+s16
+#else
+u16
+#endif
+dSv_event_flag_c::saveBitLabels[822] = {
UNUSED, TEST_001, TEST_002, TEST_003, TEST_004, F_0001, F_0002, F_0003, F_0004, F_0005, F_0006,
F_0007, F_0008, F_0009, F_0010, F_0011, F_0012, F_0013, F_0014, F_0015, F_0016, F_0017, F_0018,
F_0019, F_0020, D_0001, F_0021, F_0022, F_0023, F_0024, F_0025, F_0026, F_0027, F_0028, F_0029,