summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorTakaRikka <38417346+TakaRikka@users.noreply.github.com>2024-01-29 07:39:51 -0800
committerGitHub <noreply@github.com>2024-01-29 17:39:51 +0200
commit36a29bc4fe6464d57d693ab24aedd97e4bb59310 (patch)
tree7f3b3979a7a4e385e0ef87dc5f6059e4ac5872da /src
parent7f0ba98c9f694234bd88cf1263840c5e8aaea390 (diff)
various fixes / matches (#2052)
* some fixes in d/s, d_item, d_shop * fix for dKankyo_DayProc weak generation * d_cc_uty fix * some d_name / d_com_inf_game / f_op_actor_mng matches * fix some player inline virtuals * remove asm
Diffstat (limited to 'src')
-rw-r--r--src/d/a/d_a_obj_item.cpp42
-rw-r--r--src/d/bg/d_bg_s_acch.cpp5
-rw-r--r--src/d/cc/d_cc_uty.cpp394
-rw-r--r--src/d/com/d_com_inf_game.cpp545
-rw-r--r--src/d/d_camera.cpp39
-rw-r--r--src/d/d_drawlist.cpp10
-rw-r--r--src/d/d_item.cpp1045
-rw-r--r--src/d/d_item_data.cpp27
-rw-r--r--src/d/d_kyeff.cpp5
-rw-r--r--src/d/d_name.cpp399
-rw-r--r--src/d/kankyo/d_kankyo.cpp1
-rw-r--r--src/d/kankyo/d_kankyo_wether.cpp4
-rw-r--r--src/d/menu/d_menu_fmap.cpp2
-rw-r--r--src/d/s/d_s_logo.cpp137
-rw-r--r--src/d/s/d_s_menu.cpp4
-rw-r--r--src/d/s/d_s_name.cpp139
-rw-r--r--src/d/s/d_s_play.cpp324
-rw-r--r--src/d/s/d_s_room.cpp102
-rw-r--r--src/d/s/d_s_title.cpp3
-rw-r--r--src/d/shop/d_shop_camera.cpp68
-rw-r--r--src/d/shop/d_shop_item_ctrl.cpp77
-rw-r--r--src/d/shop/d_shop_system.cpp1096
-rw-r--r--src/f_op/f_op_actor_mng.cpp169
-rw-r--r--src/m_Do/m_Do_graphic.cpp504
24 files changed, 2109 insertions, 3032 deletions
diff --git a/src/d/a/d_a_obj_item.cpp b/src/d/a/d_a_obj_item.cpp
index ea6b5207cd..e049382f6f 100644
--- a/src/d/a/d_a_obj_item.cpp
+++ b/src/d/a/d_a_obj_item.cpp
@@ -291,11 +291,11 @@ void daItem_c::setBaseMtx_0() {
SECTION_SDATA2 static f32 lit_3923 = 0.5f;
/* 8015B1C8-8015B254 155B08 008C+00 1/1 0/0 0/0 .text setBaseMtx_1__8daItem_cFv */
-// literals / load instructions flipped
+// matches with literals
#ifdef NONMATCHING
void daItem_c::setBaseMtx_1() {
f32 max_y = mpModel->getModelData()->getJointNodePointer(0)->getMax()->y;
- f32 y = max_y * 0.5f * mScale.y;
+ f32 y = (max_y / 2) * mScale.y;
mDoMtx_stack_c::transS(current.pos);
mDoMtx_stack_c::transM(0.0f, y, 0.0f);
@@ -396,6 +396,15 @@ SECTION_DATA static void* lit_5193[10] = {
(void*)(((char*)initScale__8daItem_cFv) + 0x3C),
};
+#ifdef NONMATCHING
+procFunc daItem_c::mFuncPtr[9] = {
+ &daItem_c::procMainNormal, &daItem_c::procMainEnemyCarry,
+ &daItem_c::procMainSimpleGetDemo, &daItem_c::procWaitGetDemoEvent,
+ &daItem_c::procMainGetDemoEvent, &daItem_c::procMainBoomerangCarry,
+ &daItem_c::procMainSwOnWait, &daItem_c::procMainBoomHitWait,
+ &daItem_c::procMainForceGet,
+};
+#else
/* 803B9E2C-803B9E38 -00001 000C+00 0/1 0/0 0/0 .data @5240 */
#pragma push
#pragma force_active on
@@ -497,13 +506,7 @@ SECTION_DATA u8 daItem_c::mFuncPtr[120] = {
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
};
-
-/* SECTION_DATA procFunc daItem_c::mFuncPtr[9] = {
- &daItem_c::procMainNormal, &daItem_c::procMainEnemyCarry, &daItem_c::procMainSimpleGetDemo,
- &daItem_c::procWaitGetDemoEvent, &daItem_c::procMainGetDemoEvent,
-&daItem_c::procMainBoomerangCarry, &daItem_c::procMainSwOnWait, &daItem_c::procMainBoomHitWait,
-&daItem_c::procMainForceGet,
-}; */
+#endif
/* 803B9F10-803B9F54 017030 0044+00 1/1 0/0 0/0 .data m_cyl_src__8daItem_c */
dCcD_SrcCyl daItem_c::m_cyl_src = {
@@ -607,7 +610,8 @@ void daItem_c::CreateInit() {
if (m_itemNo == BOOMERANG) {
itemGetNextExecute();
} else if ((m_itemNo == ORANGE_RUPEE || m_itemNo == SILVER_RUPEE) &&
- field_0x998.getEmitter() == NULL) {
+ field_0x998.getEmitter() == NULL)
+ {
dComIfGp_particle_set(0x0C14, &field_0x9ac, NULL, NULL, -1, &field_0x998, -1, NULL, NULL,
NULL);
}
@@ -770,7 +774,8 @@ int daItem_c::_daItem_create() {
if (phase_state == cPhs_COMPLEATE_e) {
if (!fopAcM_entrySolidHeap(this, (heapCallbackFunc)CheckFieldItemCreateHeap,
- dItem_data::getFieldHeapSize(m_itemNo))) {
+ dItem_data::getFieldHeapSize(m_itemNo)))
+ {
return cPhs_ERROR_e;
} else {
CreateInit();
@@ -811,14 +816,14 @@ SECTION_SDATA2 static f32 lit_4320 = 300.0f;
SECTION_SDATA2 static f32 lit_4321 = 18.0f;
/* 8015BA9C-8015BD84 1563DC 02E8+00 1/1 0/0 0/0 .text _daItem_execute__8daItem_cFv */
-// eyepos.y issue / need sinit for mFuncPtr
+// matches with sinit
#ifdef NONMATCHING
int daItem_c::_daItem_execute() {
field_0x950 = speed;
CountTimer();
mEyePos = current.pos;
- mEyePos.y += (f32)dItem_data::getH(m_itemNo) * 0.5f;
+ mEyePos.y += (f32)dItem_data::getH(m_itemNo) / 2;
mAttentionInfo.mPosition = current.pos;
@@ -871,7 +876,7 @@ int daItem_c::_daItem_execute() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
-asm void daItem_c::_daItem_execute() {
+asm int daItem_c::_daItem_execute() {
nofralloc
#include "asm/a/obj/d_a_obj_item/_daItem_execute__8daItem_cFv.s"
}
@@ -1307,7 +1312,8 @@ void daItem_c::itemGetNextExecute() {
case SILVER_RUPEE:
case PACHINKO_SHOT:
if (daPy_getPlayerActorClass()->checkCanoeRide() ||
- daPy_getPlayerActorClass()->checkHorseRide()) {
+ daPy_getPlayerActorClass()->checkHorseRide())
+ {
if (checkItemGet(m_itemNo, 1)) {
haveItem = true;
}
@@ -1696,7 +1702,8 @@ REGISTER_CTORS(0x8015DED0, __sinit_d_a_obj_item_cpp);
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
-asm const cXyz daPy_py_c::getItemPos() const {
+// asm const cXyz daPy_py_c::getItemPos() const {
+extern "C" asm void getItemPos__9daPy_py_cCFv() {
nofralloc
#include "asm/a/obj/d_a_obj_item/getItemPos__9daPy_py_cCFv.s"
}
@@ -1706,7 +1713,8 @@ asm const cXyz daPy_py_c::getItemPos() const {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
-asm const cXyz& daPy_py_c::getLeftHandPos() const {
+// asm const cXyz& daPy_py_c::getLeftHandPos() const {
+extern "C" asm void getLeftHandPos__9daPy_py_cCFv() {
nofralloc
#include "asm/a/obj/d_a_obj_item/getLeftHandPos__9daPy_py_cCFv.s"
}
diff --git a/src/d/bg/d_bg_s_acch.cpp b/src/d/bg/d_bg_s_acch.cpp
index f70c5cda3e..26d5645bc0 100644
--- a/src/d/bg/d_bg_s_acch.cpp
+++ b/src/d/bg/d_bg_s_acch.cpp
@@ -56,7 +56,7 @@ extern "C" void ChkLineDown__9dBgS_AcchFv();
extern "C" void __dt__12dBgS_AcchCirFv();
extern "C" static void func_80077484();
extern "C" static void func_8007748C();
-extern "C" bool checkPlayerFly__9daPy_py_cCFv();
+extern "C" u32 checkPlayerFly__9daPy_py_cCFv();
//
// External References:
@@ -823,6 +823,7 @@ static asm void func_8007748C() {
#pragma pop
/* 80077494-8007749C 071DD4 0008+00 0/0 1/0 0/0 .text checkPlayerFly__9daPy_py_cCFv */
-u32 daPy_py_c::checkPlayerFly() const {
+// u32 daPy_py_c::checkPlayerFly() const {
+extern "C" u32 checkPlayerFly__9daPy_py_cCFv() {
return 0;
}
diff --git a/src/d/cc/d_cc_uty.cpp b/src/d/cc/d_cc_uty.cpp
index 6fe89bc604..3b3875c501 100644
--- a/src/d/cc/d_cc_uty.cpp
+++ b/src/d/cc/d_cc_uty.cpp
@@ -1,47 +1,16 @@
-//
-// Generated By: dol2asm
-// Translation Unit: d/cc/d_cc_uty
-//
+/**
+ * d_cc_uty.cpp
+ * Collider Utilties
+ */
#include "d/cc/d_cc_uty.h"
+#include "SSystem/SComponent/c_math.h"
#include "Z2AudioLib/Z2Creature.h"
#include "d/a/d_a_player.h"
#include "d/d_procname.h"
#include "d/s/d_s_play.h"
-#include "dol2asm.h"
#include "f_op/f_op_actor_mng.h"
-//
-// Forward References:
-//
-
-extern "C" void pl_cut_LRC__Fi();
-extern "C" void cc_pl_cut_bit_get__Fv();
-extern "C" static void getMapInfo__FSc();
-extern "C" static void getHitId__FP8cCcD_Obji();
-extern "C" void def_se_set__FP10Z2CreatureP8cCcD_ObjUlP10fopAc_ac_c();
-extern "C" static void at_power_get__FP11dCcU_AtInfo();
-extern "C" void at_power_check__FP11dCcU_AtInfo();
-extern "C" void cc_at_check__FP10fopAc_ac_cP11dCcU_AtInfo();
-extern "C" bool checkCutJumpCancelTurn__9daPy_py_cCFv();
-
-//
-// External References:
-//
-
-extern "C" void getHitSeID__12dCcD_GObjInfFUci();
-extern "C" void dCcD_GetGObjInf__FP8cCcD_Obj();
-extern "C" void checkMasterSwordEquip__9daPy_py_cFv();
-extern "C" void GetAc__8cCcD_ObjFv();
-extern "C" void cM_atan2s__Fff();
-extern "C" void cM_rndFX__Ff();
-extern "C" void _savegpr_25();
-extern "C" void _restgpr_25();
-
-//
-// Declarations:
-//
-
bool daPy_py_c::checkWoodSwordEquip() {
return dComIfGs_getSelectEquipSword() == WOOD_STICK;
}
@@ -50,9 +19,8 @@ BOOL daPy_py_c::checkNowWolf() {
return dComIfGp_getLinkPlayer()->i_checkWolf();
}
-/* ############################################################################################## */
/* 803AC418-803AC500 009538 00E8+00 1/1 0/0 0/0 .data plCutLRC */
-SECTION_DATA static int plCutLRC[58] = {
+static int plCutLRC[58] = {
0, //
0, // CUT_VERTICAL
1, // CUT_STAB
@@ -124,33 +92,35 @@ int pl_cut_LRC(int index) {
/* 800873D4-800874C4 081D14 00F0+00 1/1 0/0 14/14 .text cc_pl_cut_bit_get__Fv */
u16 cc_pl_cut_bit_get() {
- daPy_py_c* link = (daPy_py_c*)dComIfGp_getPlayer(0);
+ daPy_py_c* player_p = (daPy_py_c*)dComIfGp_getPlayer(0);
u16 bit = 0;
- if (link->getCutType() == daPy_py_c::CUT_TYPE_NM_VERTICAL) {
+ if (player_p->getCutType() == daPy_py_c::CUT_TYPE_NM_VERTICAL) {
bit = 0x1;
- } else if (link->getCutType() == daPy_py_c::CUT_TYPE_NM_STAB) {
+ } else if (player_p->getCutType() == daPy_py_c::CUT_TYPE_NM_STAB) {
bit = 0x2;
- } else if (link->getCutType() == daPy_py_c::CUT_TYPE_COMBO_STAB) {
+ } else if (player_p->getCutType() == daPy_py_c::CUT_TYPE_COMBO_STAB) {
bit = 0x200;
- } else if (link->getCutType() == daPy_py_c::CUT_TYPE_NM_RIGHT) {
+ } else if (player_p->getCutType() == daPy_py_c::CUT_TYPE_NM_RIGHT) {
bit = 0x4;
- } else if (link->getCutType() == daPy_py_c::CUT_TYPE_NM_LEFT) {
+ } else if (player_p->getCutType() == daPy_py_c::CUT_TYPE_NM_LEFT) {
bit = 0x8;
- } else if (link->getCutType() == daPy_py_c::CUT_TYPE_FINISH_LEFT) {
+ } else if (player_p->getCutType() == daPy_py_c::CUT_TYPE_FINISH_LEFT) {
bit = 0x20;
- } else if (link->getCutType() == daPy_py_c::CUT_TYPE_FINISH_VERTICAL) {
+ } else if (player_p->getCutType() == daPy_py_c::CUT_TYPE_FINISH_VERTICAL) {
bit = 0x40;
- } else if (link->getCutType() == daPy_py_c::CUT_TYPE_TURN_RIGHT || link->getCutType() == 9 ||
- link->getCutType() == 43 ||
- link->getCutType() == daPy_py_c::CUT_TYPE_LARGE_TURN_RIGHT) {
+ } else if (player_p->getCutType() == daPy_py_c::CUT_TYPE_TURN_RIGHT ||
+ player_p->getCutType() == 9 || player_p->getCutType() == 43 ||
+ player_p->getCutType() == daPy_py_c::CUT_TYPE_LARGE_TURN_RIGHT)
+ {
bit = 0x80;
- } else if (link->getCutType() == daPy_py_c::CUT_TYPE_TURN_LEFT ||
- link->getCutType() == daPy_py_c::CUT_TYPE_LARGE_TURN_LEFT) {
+ } else if (player_p->getCutType() == daPy_py_c::CUT_TYPE_TURN_LEFT ||
+ player_p->getCutType() == daPy_py_c::CUT_TYPE_LARGE_TURN_LEFT)
+ {
bit = 0x800;
- } else if (link->getCutType() == daPy_py_c::CUT_TYPE_JUMP) {
+ } else if (player_p->getCutType() == daPy_py_c::CUT_TYPE_JUMP) {
bit = 0x100;
- } else if (link->getCutType() == 40 || link->getCutType() == 41) {
+ } else if (player_p->getCutType() == 40 || player_p->getCutType() == 41) {
bit = 0x400;
}
@@ -170,31 +140,31 @@ static int getMapInfo(s8 param_0) {
}
/* 800874F0-80087514 081E30 0024+00 2/2 0/0 0/0 .text getHitId__FP8cCcD_Obji */
-static u32 getHitId(cCcD_Obj* p_obj, int useReboundSE) {
- dCcD_GObjInf* dObj = static_cast<dCcD_GObjInf*>(p_obj);
- return dObj->getHitSeID(dObj->GetAtSe(), useReboundSE);
+static u32 getHitId(cCcD_Obj* i_ccObj, int i_useReboundSe) {
+ dCcD_GObjInf* dObj = static_cast<dCcD_GObjInf*>(i_ccObj);
+ return dObj->getHitSeID(dObj->GetAtSe(), i_useReboundSe);
}
/* 80087514-80087594 081E54 0080+00 0/0 0/0 47/47 .text
* def_se_set__FP10Z2CreatureP8cCcD_ObjUlP10fopAc_ac_c */
-void def_se_set(Z2Creature* p_sound, cCcD_Obj* p_collider, u32 map_info, fopAc_ac_c* p_actor) {
- if (p_sound != NULL) {
- int useReboundSE;
- if (p_actor != NULL && fopAcM_checkStatus(p_actor, 0x280000)) {
- useReboundSE = false;
+void def_se_set(Z2Creature* i_sound, cCcD_Obj* i_ccObj, u32 i_mapInfo, fopAc_ac_c* i_actor) {
+ if (i_sound != NULL) {
+ int useReboundSe;
+ if (i_actor != NULL && fopAcM_checkStatus(i_actor, 0x280000)) {
+ useReboundSe = false;
} else {
- useReboundSE = true;
+ useReboundSe = true;
}
- p_sound->startCollisionSE(getHitId(p_collider, useReboundSE), map_info);
+ i_sound->startCollisionSE(getHitId(i_ccObj, useReboundSe), i_mapInfo);
}
}
/* 80087594-80087A58 081ED4 04C4+00 1/1 0/0 0/0 .text at_power_get__FP11dCcU_AtInfo */
-static u8 at_power_get(dCcU_AtInfo* p_info) {
- u8 power = p_info->mpCollider->GetAtAtp();
+static u8 at_power_get(dCcU_AtInfo* i_AtInfo) {
+ u8 power = i_AtInfo->mpCollider->GetAtAtp();
- if (p_info->mPowerType == 0) {
- if (p_info->mpCollider->ChkAtType(0x10000000)) {
+ if (i_AtInfo->mPowerType == 0) {
+ if (i_AtInfo->mpCollider->ChkAtType(0x10000000)) {
power = 0;
} else if (power == 1) {
power = 1;
@@ -207,8 +177,8 @@ static u8 at_power_get(dCcU_AtInfo* p_info) {
} else if (power >= 4) {
power = 200;
}
- } else if (p_info->mPowerType == 6) {
- if (p_info->mpCollider->ChkAtType(0x10000000)) {
+ } else if (i_AtInfo->mPowerType == 6) {
+ if (i_AtInfo->mpCollider->ChkAtType(0x10000000)) {
power = 0;
} else if (power == 1) {
power = 1;
@@ -219,10 +189,10 @@ static u8 at_power_get(dCcU_AtInfo* p_info) {
} else if (power >= 3) {
power *= 10;
}
- } else if (p_info->mPowerType == 4) {
- if (p_info->mpCollider->ChkAtType(AT_TYPE_IRON_BALL)) {
+ } else if (i_AtInfo->mPowerType == 4) {
+ if (i_AtInfo->mpCollider->ChkAtType(AT_TYPE_IRON_BALL)) {
power = 200;
- } else if (p_info->mpCollider->ChkAtType(0x10000000)) {
+ } else if (i_AtInfo->mpCollider->ChkAtType(0x10000000)) {
power = 0;
} else if (power == 1) {
power = 1;
@@ -235,8 +205,8 @@ static u8 at_power_get(dCcU_AtInfo* p_info) {
} else if (power >= 4) {
power = 200;
}
- } else if (p_info->mPowerType == 5) {
- if (p_info->mpCollider->ChkAtType(AT_TYPE_ARROW)) {
+ } else if (i_AtInfo->mPowerType == 5) {
+ if (i_AtInfo->mpCollider->ChkAtType(AT_TYPE_ARROW)) {
power = 0;
} else if (power == 1) {
power = 1;
@@ -245,8 +215,8 @@ static u8 at_power_get(dCcU_AtInfo* p_info) {
} else if (power >= 3) {
power = 4;
}
- } else if (p_info->mPowerType == 2) {
- if (p_info->mpCollider->ChkAtType(AT_TYPE_IRON_BALL)) {
+ } else if (i_AtInfo->mPowerType == 2) {
+ if (i_AtInfo->mpCollider->ChkAtType(AT_TYPE_IRON_BALL)) {
power = 200;
} else if (power == 1) {
power = 1;
@@ -259,14 +229,14 @@ static u8 at_power_get(dCcU_AtInfo* p_info) {
} else if (power >= 4) {
power = 200;
}
- } else if (p_info->mPowerType == 1) {
- if (p_info->mpCollider->ChkAtType(AT_TYPE_IRON_BALL) || power >= 4) {
+ } else if (i_AtInfo->mPowerType == 1) {
+ if (i_AtInfo->mpCollider->ChkAtType(AT_TYPE_IRON_BALL) || power >= 4) {
power = 200;
} else {
power *= 10;
}
- } else if (p_info->mPowerType == 3) {
- if (p_info->mpCollider->ChkAtType(AT_TYPE_IRON_BALL) || power >= 4) {
+ } else if (i_AtInfo->mPowerType == 3) {
+ if (i_AtInfo->mpCollider->ChkAtType(AT_TYPE_IRON_BALL) || power >= 4) {
power = 200;
} else if (power == 1) {
power = 10;
@@ -275,10 +245,10 @@ static u8 at_power_get(dCcU_AtInfo* p_info) {
} else if (power >= 3) {
power = 40;
}
- } else if (p_info->mPowerType == 7) {
- if (p_info->mpCollider->ChkAtType(0x420008)) {
+ } else if (i_AtInfo->mPowerType == 7) {
+ if (i_AtInfo->mpCollider->ChkAtType(0x420008)) {
power = 50;
- } else if (p_info->mpCollider->ChkAtType(AT_TYPE_ARROW)) {
+ } else if (i_AtInfo->mpCollider->ChkAtType(AT_TYPE_ARROW)) {
power = 27;
} else if (power == 1) {
power = 1;
@@ -291,7 +261,7 @@ static u8 at_power_get(dCcU_AtInfo* p_info) {
} else if (power >= 4) {
power = 200;
}
- } else if (p_info->mPowerType == 8) {
+ } else if (i_AtInfo->mPowerType == 8) {
if (power == 1) {
power = 3;
} else if (power == 2) {
@@ -301,11 +271,11 @@ static u8 at_power_get(dCcU_AtInfo* p_info) {
} else if (power >= 3) {
power *= 10;
}
- } else if (p_info->mPowerType == 9 || p_info->mPowerType == 10) {
- if (p_info->mpCollider->ChkAtType(AT_TYPE_HOOKSHOT)) {
+ } else if (i_AtInfo->mPowerType == 9 || i_AtInfo->mPowerType == 10) {
+ if (i_AtInfo->mpCollider->ChkAtType(AT_TYPE_HOOKSHOT)) {
power = 0;
}
- if (p_info->mpCollider->ChkAtType(AT_TYPE_IRON_BALL)) {
+ if (i_AtInfo->mpCollider->ChkAtType(AT_TYPE_IRON_BALL)) {
power = 19;
}
@@ -320,8 +290,8 @@ static u8 at_power_get(dCcU_AtInfo* p_info) {
} else if (power >= 4) {
power = 200;
}
- } else if (p_info->mPowerType == 11) {
- if (p_info->mpCollider->ChkAtType(AT_TYPE_HOOKSHOT)) {
+ } else if (i_AtInfo->mPowerType == 11) {
+ if (i_AtInfo->mpCollider->ChkAtType(AT_TYPE_HOOKSHOT)) {
power = 0;
}
@@ -334,7 +304,7 @@ static u8 at_power_get(dCcU_AtInfo* p_info) {
} else if (power >= 4) {
power = 100;
}
- } else if (p_info->mPowerType == 12) {
+ } else if (i_AtInfo->mPowerType == 12) {
if (power == 1) {
power = 10;
} else if (power == 2) {
@@ -351,237 +321,197 @@ static u8 at_power_get(dCcU_AtInfo* p_info) {
/* 80087A58-80087C04 082398 01AC+00 1/1 0/0 38/38 .text at_power_check__FP11dCcU_AtInfo
*/
-fopAc_ac_c* at_power_check(dCcU_AtInfo* p_info) {
- if (p_info->mpCollider == NULL) {
+fopAc_ac_c* at_power_check(dCcU_AtInfo* i_AtInfo) {
+ if (i_AtInfo->mpCollider == NULL) {
return NULL;
}
- p_info->mpActor = p_info->mpCollider->GetAc();
- p_info->mHitType = 12;
- p_info->mAttackPower = 0;
- p_info->mHitBit = 0;
+ i_AtInfo->mpActor = i_AtInfo->mpCollider->GetAc();
+ i_AtInfo->mHitType = 12;
+ i_AtInfo->mAttackPower = 0;
+ i_AtInfo->mHitBit = 0;
- if (p_info->mpActor != NULL) {
- p_info->mAttackPower = at_power_get(p_info);
+ if (i_AtInfo->mpActor != NULL) {
+ i_AtInfo->mAttackPower = at_power_get(i_AtInfo);
- s16 ac_name = fopAcM_GetName(p_info->mpActor);
+ s16 ac_name = fopAcM_GetName(i_AtInfo->mpActor);
if (ac_name == PROC_ALINK || ac_name == PROC_ALINK) {
- if (p_info->mpCollider->ChkAtType(0x8000) ||
- p_info->mpCollider->ChkAtType(AT_TYPE_IRON_BALL)) {
- p_info->mHitType = HIT_TYPE_LINK_HEAVY_ATTACK;
+ if (i_AtInfo->mpCollider->ChkAtType(0x8000) ||
+ i_AtInfo->mpCollider->ChkAtType(AT_TYPE_IRON_BALL))
+ {
+ i_AtInfo->mHitType = HIT_TYPE_LINK_HEAVY_ATTACK;
} else {
- p_info->mHitType = HIT_TYPE_LINK_NORMAL_ATTACK;
- p_info->mHitBit = cc_pl_cut_bit_get();
+ i_AtInfo->mHitType = HIT_TYPE_LINK_NORMAL_ATTACK;
+ i_AtInfo->mHitBit = cc_pl_cut_bit_get();
}
} else if (ac_name == PROC_NBOMB) {
- p_info->mHitType = HIT_TYPE_BOMB;
- p_info->mHitBit = 0x10000000;
+ i_AtInfo->mHitType = HIT_TYPE_BOMB;
+ i_AtInfo->mHitBit = 0x10000000;
} else if (ac_name == PROC_BOOMERANG) {
- p_info->mHitType = HIT_TYPE_BOOMERANG;
- p_info->mHitBit = 0x40000000;
+ i_AtInfo->mHitType = HIT_TYPE_BOOMERANG;
+ i_AtInfo->mHitBit = 0x40000000;
} else if (ac_name == PROC_ARROW) {
- p_info->mHitType = HIT_TYPE_ARROW;
- p_info->mHitBit = 0x80000000;
+ i_AtInfo->mHitType = HIT_TYPE_ARROW;
+ i_AtInfo->mHitBit = 0x80000000;
}
}
- p_info->mHitStatus = 0;
- if (p_info->mpCollider->ChkAtType(0x40) || p_info->mpCollider->ChkAtType(AT_TYPE_BOOMERANG) ||
- p_info->mpCollider->ChkAtType(AT_TYPE_SLINGSHOT) ||
- p_info->mpCollider->ChkAtType(AT_TYPE_SHIELD_ATTACK)) {
- p_info->mHitType = HIT_TYPE_STUN;
- } else if (p_info->mpCollider->ChkAtType(AT_TYPE_HOOKSHOT)) {
- p_info->mHitBit = 0x1000;
+ i_AtInfo->mHitStatus = 0;
+ if (i_AtInfo->mpCollider->ChkAtType(0x40) ||
+ i_AtInfo->mpCollider->ChkAtType(AT_TYPE_BOOMERANG) ||
+ i_AtInfo->mpCollider->ChkAtType(AT_TYPE_SLINGSHOT) ||
+ i_AtInfo->mpCollider->ChkAtType(AT_TYPE_SHIELD_ATTACK))
+ {
+ i_AtInfo->mHitType = HIT_TYPE_STUN;
+ } else if (i_AtInfo->mpCollider->ChkAtType(AT_TYPE_HOOKSHOT)) {
+ i_AtInfo->mHitBit = 0x1000;
} else {
- s16 ac_name = fopAcM_GetName(p_info->mpActor);
+ s16 ac_name = fopAcM_GetName(i_AtInfo->mpActor);
if (ac_name == PROC_ALINK || ac_name == PROC_ALINK) {
- if (dCcD_GetGObjInf(p_info->mpCollider)->GetAtSpl() == 1) {
- p_info->mHitStatus = 1;
+ if (dCcD_GetGObjInf(i_AtInfo->mpCollider)->GetAtSpl() == 1) {
+ i_AtInfo->mHitStatus = 1;
}
- } else if (p_info->mAttackPower >= 3) {
- p_info->mHitStatus = 1;
+ } else if (i_AtInfo->mAttackPower >= 3) {
+ i_AtInfo->mHitStatus = 1;
}
}
- return p_info->mpActor;
+ return i_AtInfo->mpActor;
}
-/* ############################################################################################## */
-/* 80452798-804527A0 000D98 0004+04 1/1 0/0 0/0 .sdata2 @4212 */
-SECTION_SDATA2 static f32 lit_4212[1 + 1 /* padding */] = {
- 0.0f,
- /* padding */
- 0.0f,
-};
-
-/* 804527A0-804527A8 000DA0 0008+00 1/1 0/0 0/0 .sdata2 @4213 */
-SECTION_SDATA2 static f64 lit_4213 = 0.5;
-
-/* 804527A8-804527B0 000DA8 0008+00 1/1 0/0 0/0 .sdata2 @4214 */
-SECTION_SDATA2 static f64 lit_4214 = 3.0;
-
-/* 804527B0-804527B8 000DB0 0008+00 1/1 0/0 0/0 .sdata2 @4215 */
-SECTION_SDATA2 static u8 lit_4215[8] = {
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-};
-
-/* 804527B8-804527BC 000DB8 0004+00 1/1 0/0 0/0 .sdata2 @4216 */
-SECTION_SDATA2 static f32 lit_4216 = 100.0f;
-
-/* 804527BC-804527C0 000DBC 0004+00 1/1 0/0 0/0 .sdata2 @4217 */
-SECTION_SDATA2 static f32 lit_4217 = 4000.0f;
-
-/* 804527C0-804527C8 000DC0 0004+04 1/1 0/0 0/0 .sdata2 @4218 */
-SECTION_SDATA2 static f32 lit_4218[1 + 1 /* padding */] = {
- 10000.0f,
- /* padding */
- 0.0f,
-};
-
/* 80087C04-80088134 082544 0530+00 0/0 0/0 84/84 .text cc_at_check__FP10fopAc_ac_cP11dCcU_AtInfo
*/
-// data padding issues (?)
-#ifdef NONMATCHING
-fopAc_ac_c* cc_at_check(fopAc_ac_c* p_enemy, dCcU_AtInfo* p_info) {
- daPy_py_c* link = (daPy_py_c*)dComIfGp_getPlayer(0);
- p_info->mpActor = at_power_check(p_info);
+fopAc_ac_c* cc_at_check(fopAc_ac_c* i_enemy, dCcU_AtInfo* i_AtInfo) {
+ daPy_py_c* player_p = (daPy_py_c*)dComIfGp_getPlayer(0);
+ i_AtInfo->mpActor = at_power_check(i_AtInfo);
f32 x_diff;
f32 z_diff;
- if (p_info->mpActor != NULL) {
- cXyz tmp = p_info->mpActor->speed;
+ if (i_AtInfo->mpActor != NULL) {
+ cXyz tmp = i_AtInfo->mpActor->speed;
tmp.y = 0.0f;
if (tmp.abs() > 100.0f) {
- f32 x = p_info->mpActor->speed.x;
- f32 z = p_info->mpActor->speed.z;
- p_info->mHitDirection = cM_atan2s(-x, -z) + (s16)cM_rndFX(4000.0f);
+ f32 x = i_AtInfo->mpActor->speed.x;
+ f32 z = i_AtInfo->mpActor->speed.z;
+ i_AtInfo->mHitDirection = cM_atan2s(-x, -z) + (s16)cM_rndFX(4000.0f);
} else {
- if (fopAcM_GetName(p_info->mpActor) == PROC_BOOMERANG) {
- x_diff = p_enemy->current.pos.x - link->current.pos.x;
- z_diff = p_enemy->current.pos.z - link->current.pos.z;
- p_info->mHitDirection = cM_atan2s(-x_diff, -z_diff) + (s16)cM_rndFX(10000.0f);
+ if (fopAcM_GetName(i_AtInfo->mpActor) == PROC_BOOMERANG) {
+ x_diff = i_enemy->current.pos.x - player_p->current.pos.x;
+ z_diff = i_enemy->current.pos.z - player_p->current.pos.z;
+ i_AtInfo->mHitDirection = cM_atan2s(-x_diff, -z_diff) + (s16)cM_rndFX(10000.0f);
} else {
- x_diff = p_enemy->current.pos.x - p_info->mpActor->current.pos.x;
- z_diff = p_enemy->current.pos.z - p_info->mpActor->current.pos.z;
- p_info->mHitDirection = cM_atan2s(-x_diff, -z_diff);
+ x_diff = i_enemy->current.pos.x - i_AtInfo->mpActor->current.pos.x;
+ z_diff = i_enemy->current.pos.z - i_AtInfo->mpActor->current.pos.z;
+ i_AtInfo->mHitDirection = cM_atan2s(-x_diff, -z_diff);
}
}
- if (p_info->mHitType == HIT_TYPE_LINK_NORMAL_ATTACK &&
- link->getCutType() == daPy_py_c::CUT_TYPE_HEAD_JUMP) {
- p_info->mHitDirection = link->shape_angle.y;
+ if (i_AtInfo->mHitType == HIT_TYPE_LINK_NORMAL_ATTACK &&
+ player_p->getCutType() == daPy_py_c::CUT_TYPE_HEAD_JUMP)
+ {
+ i_AtInfo->mHitDirection = player_p->shape_angle.y;
}
- if (p_info->mpCollider->ChkAtType(AT_TYPE_HOOKSHOT) &&
- fopAcM_checkStatus(p_enemy, 0x380000)) {
- p_info->mAttackPower = 0;
+ if (i_AtInfo->mpCollider->ChkAtType(AT_TYPE_HOOKSHOT) &&
+ fopAcM_checkStatus(i_enemy, 0x380000))
+ {
+ i_AtInfo->mAttackPower = 0;
}
- if (static_cast<dCcD_GObjInf*>(p_info->mpCollider)->GetAtMtrl() == 4) {
- if (fopAcM_GetName(p_enemy) == PROC_B_GND) {
- p_info->mAttackPower = 0;
- } else if (fopAcM_GetName(p_enemy) != PROC_B_ZANT) {
- p_info->mAttackPower = 100;
+ if (static_cast<dCcD_GObjInf*>(i_AtInfo->mpCollider)->GetAtMtrl() == 4) {
+ if (fopAcM_GetName(i_enemy) == PROC_B_GND) {
+ i_AtInfo->mAttackPower = 0;
+ } else if (fopAcM_GetName(i_enemy) != PROC_B_ZANT) {
+ i_AtInfo->mAttackPower = 100;
}
}
- if (p_info->mHitType == HIT_TYPE_LINK_NORMAL_ATTACK) {
+ if (i_AtInfo->mHitType == HIT_TYPE_LINK_NORMAL_ATTACK) {
if (!daPy_py_c::checkNowWolf()) {
- if (link->checkMasterSwordEquip()) {
- p_info->mAttackPower *= 2;
+ if (player_p->checkMasterSwordEquip()) {
+ i_AtInfo->mAttackPower *= 2;
}
if (daPy_py_c::checkWoodSwordEquip()) {
- p_info->mAttackPower /= 2;
+ i_AtInfo->mAttackPower /= 2;
}
}
- if (link->getSwordAtUpTime()) {
- p_info->mAttackPower *= 2;
- p_info->mHitStatus = 1;
+ if (player_p->getSwordAtUpTime()) {
+ i_AtInfo->mAttackPower *= 2;
+ i_AtInfo->mHitStatus = 1;
}
}
- if (p_info->mAttackPower != 0) {
- p_enemy->mHealth -= p_info->mAttackPower;
+ if (i_AtInfo->mAttackPower != 0) {
+ i_enemy->mHealth -= i_AtInfo->mAttackPower;
}
s8 pause_time = 0;
- if (p_info->mAttackPower != 0 && p_enemy->mHealth <= 0) {
- p_info->mHitStatus = 2;
- p_enemy->mHealth = 0;
+ if (i_AtInfo->mAttackPower != 0 && i_enemy->mHealth <= 0) {
+ i_AtInfo->mHitStatus = 2;
+ i_enemy->mHealth = 0;
}
int uvar8;
- if (p_info->mpCollider->ChkAtType(AT_TYPE_HOOKSHOT) &&
- !fopAcM_checkStatus(p_enemy, 0x280000)) {
+ if (i_AtInfo->mpCollider->ChkAtType(AT_TYPE_HOOKSHOT) &&
+ !fopAcM_checkStatus(i_enemy, 0x280000))
+ {
uvar8 = 1;
} else {
uvar8 = 0;
}
- if (p_info->mpSound != NULL) {
- if (p_info->field_0x18 != 0) {
- p_info->mpSound->startCollisionSE(getHitId(p_info->mpCollider, uvar8),
- p_info->field_0x18);
+ if (i_AtInfo->mpSound != NULL) {
+ if (i_AtInfo->field_0x18 != 0) {
+ i_AtInfo->mpSound->startCollisionSE(getHitId(i_AtInfo->mpCollider, uvar8),
+ i_AtInfo->field_0x18);
} else {
- p_info->mpSound->startCollisionSE(getHitId(p_info->mpCollider, uvar8),
- getMapInfo(p_info->mHitStatus));
+ i_AtInfo->mpSound->startCollisionSE(getHitId(i_AtInfo->mpCollider, uvar8),
+ getMapInfo(i_AtInfo->mHitStatus));
}
}
- if (p_info->mHitStatus != 0) {
+ if (i_AtInfo->mHitStatus != 0) {
pause_time = 5;
} else {
- if (p_info->mAttackPower > 1) {
+ if (i_AtInfo->mAttackPower > 1) {
pause_time = 2;
}
}
- if (p_info->mpCollider->ChkAtType(AT_TYPE_MIDNA_LOCK) ||
- ((daPy_py_c*)dComIfGp_getPlayer(0))->checkHorseRide()) {
+ if (i_AtInfo->mpCollider->ChkAtType(AT_TYPE_MIDNA_LOCK) ||
+ ((daPy_py_c*)dComIfGp_getPlayer(0))->checkHorseRide())
+ {
// actor is Bulblin or Horseback Ganon
- if ((fopAcM_GetName(p_enemy) == PROC_E_RD &&
- ((s8*)p_enemy)[0x129a] != 0) ||
- fopAcM_GetName(p_enemy) == PROC_B_GND) {
+ if ((fopAcM_GetName(i_enemy) == PROC_E_RD && ((s8*)i_enemy)[0x129a] != 0) ||
+ fopAcM_GetName(i_enemy) == PROC_B_GND)
+ {
pause_time = 3;
} else {
pause_time = 0;
}
}
- s16 ac_name = fopAcM_GetName(p_enemy);
+ s16 ac_name = fopAcM_GetName(i_enemy);
// actor is Stalkin, Chu, Keese, Shadow Keese, Shadow Vermin, Baby Gohma, or Rat
if (ac_name == PROC_E_BS || ac_name == PROC_E_SM2 || ac_name == PROC_E_BA ||
ac_name == PROC_E_YK || ac_name == PROC_E_YG || ac_name == PROC_E_GM ||
- ac_name == PROC_E_MS) {
+ ac_name == PROC_E_MS)
+ {
pause_time = 0;
}
- if ((p_info->mHitType == HIT_TYPE_LINK_NORMAL_ATTACK ||
- p_info->mpCollider->ChkAtType(AT_TYPE_THROW_OBJ)) &&
- !link->checkCutJumpCancelTurn()) {
- if (p_info->mpCollider->ChkAtType(AT_TYPE_THROW_OBJ)) {
+ if ((i_AtInfo->mHitType == HIT_TYPE_LINK_NORMAL_ATTACK ||
+ i_AtInfo->mpCollider->ChkAtType(AT_TYPE_THROW_OBJ)) &&
+ !player_p->checkCutJumpCancelTurn())
+ {
+ if (i_AtInfo->mpCollider->ChkAtType(AT_TYPE_THROW_OBJ)) {
pause_time = 4;
}
dScnPly_c::setPauseTimer(pause_time);
}
}
- return p_info->mpActor;
-}
-#else
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm fopAc_ac_c* cc_at_check(fopAc_ac_c* param_0, dCcU_AtInfo* param_1) {
- nofralloc
-#include "asm/d/cc/d_cc_uty/cc_at_check__FP10fopAc_ac_cP11dCcU_AtInfo.s"
-}
-#pragma pop
-#endif
-
-/* 80088134-8008813C 082A74 0008+00 0/0 1/0 0/0 .text checkCutJumpCancelTurn__9daPy_py_cCFv */
-int daPy_py_c::checkCutJumpCancelTurn() const {
- return 0;
+ return i_AtInfo->mpActor;
}
diff --git a/src/d/com/d_com_inf_game.cpp b/src/d/com/d_com_inf_game.cpp
index 251fc12224..a893a9396f 100644
--- a/src/d/com/d_com_inf_game.cpp
+++ b/src/d/com/d_com_inf_game.cpp
@@ -4,14 +4,15 @@
//
#include "d/com/d_com_inf_game.h"
+#include "JSystem/JKernel/JKRAramArchive.h"
#include "JSystem/JKernel/JKRExpHeap.h"
-#include "stdio.h"
#include "d/a/d_a_alink.h"
#include "d/d_item.h"
#include "d/d_procname.h"
#include "d/d_simple_model.h"
#include "d/d_timer.h"
#include "d/map/d_map_path_dmap.h"
+#include "d/menu/d_menu_fmap.h"
#include "dol2asm.h"
#include "dolphin/os.h"
#include "f_op/f_op_scene_mng.h"
@@ -19,6 +20,7 @@
#include "m_Do/m_Do_audio.h"
#include "m_Do/m_Do_controller_pad.h"
#include "m_Do/m_Do_graphic.h"
+#include "stdio.h"
//
// Forward References:
@@ -471,54 +473,63 @@ int dComIfG_play_c::getLayerNo_common_common(const char* i_stageName, int i_room
}
// Talked with Yeta after giving Cheese
- else if (i_dComIfGs_isEventBit(dSv_event_flag_c::saveBitLabels[163])) {
+ else if (i_dComIfGs_isEventBit(dSv_event_flag_c::saveBitLabels[163]))
+ {
o_layer = 2;
}
// Talked with Yeta after giving Pumpkin
- else if (i_dComIfGs_isEventBit(dSv_event_flag_c::saveBitLabels[162])) {
+ else if (i_dComIfGs_isEventBit(dSv_event_flag_c::saveBitLabels[162]))
+ {
o_layer = 1;
}
}
// Stage is Faron Woods
- else if (!strcmp(i_stageName, "F_SP108")) {
+ else if (!strcmp(i_stageName, "F_SP108"))
+ {
// Cleared Snowpeak Ruins
if (i_dComIfGs_isEventBit(0x2008)) {
o_layer = 5;
}
// Completed Midna's Desperate Hour
- else if (i_dComIfGs_isEventBit(0x1E08)) {
+ else if (i_dComIfGs_isEventBit(0x1E08))
+ {
o_layer = 3;
}
// Cleared Forest Temple
- else if (i_dComIfGs_isEventBit(0x0602)) {
+ else if (i_dComIfGs_isEventBit(0x0602))
+ {
o_layer = 2;
}
// Haven't finished Ordon Day 2
- else if (!i_dComIfGs_isEventBit(0x4510)) {
+ else if (!i_dComIfGs_isEventBit(0x4510))
+ {
o_layer = 1;
}
}
// Stage is Faron Woods Interiors
- else if (!strcmp(i_stageName, "R_SP108")) {
+ else if (!strcmp(i_stageName, "R_SP108"))
+ {
// Cleared Forest Temple
if (i_dComIfGs_isEventBit(dSv_event_flag_c::saveBitLabels[55])) {
o_layer = 2;
}
// Haven't finished Ordon Day 2
- else if (!i_dComIfGs_isEventBit(0x4510)) {
+ else if (!i_dComIfGs_isEventBit(0x4510))
+ {
o_layer = 1;
}
}
// Stage is Kakariko Village or Kakariko Graveyard
- else if (!strcmp(i_stageName, "F_SP109") || !strcmp(i_stageName, "F_SP111")) {
+ else if (!strcmp(i_stageName, "F_SP109") || !strcmp(i_stageName, "F_SP111"))
+ {
// Obtained Zora's Armor
if (i_dComIfGs_isEventBit(0x0804)) {
o_layer = 2;
@@ -526,37 +537,45 @@ int dComIfG_play_c::getLayerNo_common_common(const char* i_stageName, int i_room
}
// Finished Telma Wagon Escort
- else if (i_dComIfGs_isEventBit(0x0810)) {
+ else if (i_dComIfGs_isEventBit(0x0810))
+ {
o_layer = 4;
}
// Watched cutscene after leaving Goron Mines
- else if (i_dComIfGs_isEventBit(0x1320)) {
+ else if (i_dComIfGs_isEventBit(0x1320))
+ {
o_layer = 2;
dComIfG_get_timelayer(&o_layer);
}
// Cleared Goron Mines
- else if (i_dComIfGs_isEventBit(0x0701)) {
+ else if (i_dComIfGs_isEventBit(0x0701))
+ {
o_layer = 12;
}
// Defeated King Bulblin 1
- else if (i_dComIfGs_isEventBit(0x0A08)) {
+ else if (i_dComIfGs_isEventBit(0x0A08))
+ {
o_layer = 2;
dComIfG_get_timelayer(&o_layer);
}
// King Bulblin 1 trigger activated
- else if (i_dComIfGs_isEventBit(0x0608)) {
+ else if (i_dComIfGs_isEventBit(0x0608))
+ {
o_layer = 1;
}
}
// Stage is Kakariko Village Interiors or Graveyard Interiors
- else if (!strcmp(i_stageName, "R_SP109") || !strcmp(i_stageName, "R_SP209")) {
+ else if (!strcmp(i_stageName, "R_SP109") || !strcmp(i_stageName, "R_SP209"))
+ {
// Stage is Kakariko Interiors and room is Barnes shop and Cleared Lakebed Temple
- if (!strcmp(i_stageName, "R_SP109") && i_roomNo == 1 && i_dComIfGs_isEventBit(0x0904)) {
+ if (!strcmp(i_stageName, "R_SP109") && i_roomNo == 1 &&
+ i_dComIfGs_isEventBit(0x0904))
+ {
o_layer = 4;
dComIfG_get_timelayer(&o_layer);
} else {
@@ -567,14 +586,16 @@ int dComIfG_play_c::getLayerNo_common_common(const char* i_stageName, int i_room
}
// King Bulblin 1 trigger activated
- else if (i_dComIfGs_isEventBit(dSv_event_flag_c::saveBitLabels[53])) {
+ else if (i_dComIfGs_isEventBit(dSv_event_flag_c::saveBitLabels[53]))
+ {
o_layer = 1;
}
}
}
// Stage is Death Mountain
- else if (!strcmp(i_stageName, "F_SP110")) {
+ else if (!strcmp(i_stageName, "F_SP110"))
+ {
// Cleared Goron Mines
if (i_dComIfGs_isEventBit(dSv_event_flag_c::saveBitLabels[64])) {
o_layer = 2;
@@ -582,24 +603,28 @@ int dComIfG_play_c::getLayerNo_common_common(const char* i_stageName, int i_room
}
// Stage is Death Mountain Interiors
- else if (!strcmp(i_stageName, "R_SP110")) {
+ else if (!strcmp(i_stageName, "R_SP110"))
+ {
// Returned Wood Statue to Ilia
if (i_dComIfGs_isEventBit(0x2320)) {
o_layer = 3;
}
// Cleared Temple of Time
- else if (i_dComIfGs_isEventBit(0x2004)) {
+ else if (i_dComIfGs_isEventBit(0x2004))
+ {
o_layer = 4;
}
// Obtained Master Sword
- else if (i_dComIfGs_isEventBit(0x2020)) {
+ else if (i_dComIfGs_isEventBit(0x2020))
+ {
o_layer = 2;
}
// Cleared Goron Mines
- else if (i_dComIfGs_isEventBit(0x0701)) {
+ else if (i_dComIfGs_isEventBit(0x0701))
+ {
o_layer = 1;
}
}
@@ -607,7 +632,8 @@ int dComIfG_play_c::getLayerNo_common_common(const char* i_stageName, int i_room
// Stage is Lake Hylia, Castle Town, Telma's Bar, or R_SP115 (removed)
else if (!strcmp(i_stageName, "F_SP115") || !strcmp(i_stageName, "F_SP116") ||
(!strcmp(i_stageName, "R_SP116") && i_roomNo == 5) ||
- !strcmp(i_stageName, "R_SP115")) {
+ !strcmp(i_stageName, "R_SP115"))
+ {
// Stage is Lake Hylia and room is Lake
if (!strcmp(i_stageName, "F_SP115") && i_roomNo == 0) {
// Repaired Sky Cannon
@@ -616,24 +642,28 @@ int dComIfG_play_c::getLayerNo_common_common(const char* i_stageName, int i_room
}
// Warped Sky Cannon to Lake Hylia
- else if (i_dComIfGs_isEventBit(0x3120)) {
+ else if (i_dComIfGs_isEventBit(0x3120))
+ {
o_layer = 1;
}
// Cleared Lakebed Temple
- else if (i_dComIfGs_isEventBit(0x0904)) {
+ else if (i_dComIfGs_isEventBit(0x0904))
+ {
o_layer = 2;
}
}
// Stage is Telma's Bar and room is Bar and Obtained Master Sword
else if (!strcmp(i_stageName, "R_SP116") && i_roomNo == 5 &&
- i_dComIfGs_isEventBit(0x2020)) {
+ i_dComIfGs_isEventBit(0x2020))
+ {
o_layer = 4;
}
// Completed Midna's Desperate Hour and Stage is Castle Town
- else if (i_dComIfGs_isEventBit(0x1E08) && !strcmp(i_stageName, "F_SP116")) {
+ else if (i_dComIfGs_isEventBit(0x1E08) && !strcmp(i_stageName, "F_SP116"))
+ {
// Room is not East, South, or North Castle Town
if (i_roomNo != 4 && i_roomNo != 3 && i_roomNo != 1) {
o_layer = 0;
@@ -646,7 +676,8 @@ int dComIfG_play_c::getLayerNo_common_common(const char* i_stageName, int i_room
// Stage is Lake Hylia and room is Fountain and haven't started Midna's
// Desperate Hour
if ((!strcmp(i_stageName, "F_SP115") && i_roomNo == 1) &&
- !i_dComIfGs_isEventBit(0x0C01)) {
+ !i_dComIfGs_isEventBit(0x0C01))
+ {
o_layer = 9;
} else {
o_layer = 2;
@@ -655,7 +686,8 @@ int dComIfG_play_c::getLayerNo_common_common(const char* i_stageName, int i_room
// Stage is Castle Town and room is South Castle Town and Finished Telma
// Wagon Escort
if ((!strcmp(i_stageName, "F_SP116") && i_roomNo == 3) &&
- i_dComIfGs_isEventBit(dSv_event_flag_c::saveBitLabels[68])) {
+ i_dComIfGs_isEventBit(dSv_event_flag_c::saveBitLabels[68]))
+ {
o_layer = 1;
}
}
@@ -663,7 +695,8 @@ int dComIfG_play_c::getLayerNo_common_common(const char* i_stageName, int i_room
}
// Stage is Zora's Domain
- else if (!strcmp(i_stageName, "F_SP113")) {
+ else if (!strcmp(i_stageName, "F_SP113"))
+ {
// Cleared Snowpeak Ruins
if (i_dComIfGs_isEventBit(0x2008)) {
o_layer = 2;
@@ -671,7 +704,8 @@ int dComIfG_play_c::getLayerNo_common_common(const char* i_stageName, int i_room
}
// Stage is Upper Zora's River
- else if (!strcmp(i_stageName, "F_SP126")) {
+ else if (!strcmp(i_stageName, "F_SP126"))
+ {
// Unlocked Iza's River Ride (1)
if (i_dComIfGs_isEventBit(dSv_event_flag_c::saveBitLabels[95])) {
o_layer = 1;
@@ -679,7 +713,8 @@ int dComIfG_play_c::getLayerNo_common_common(const char* i_stageName, int i_room
}
// Stage is Gerudo Desert and room is Desert
- else if (!strcmp(i_stageName, "F_SP124") && i_roomNo == 0) {
+ else if (!strcmp(i_stageName, "F_SP124") && i_roomNo == 0)
+ {
o_layer = 8;
// Used Sky Cannon to go to Desert
@@ -689,20 +724,23 @@ int dComIfG_play_c::getLayerNo_common_common(const char* i_stageName, int i_room
}
// Stage is Zora's River
- else if (!strcmp(i_stageName, "F_SP112")) {
+ else if (!strcmp(i_stageName, "F_SP112"))
+ {
// Unlocked Iza's River Ride (1)
if (i_dComIfGs_isEventBit(0x0B01)) {
o_layer = 1;
}
// Started Iza's River Ride (1)
- else if (i_dComIfGs_isEventBit(0x0902)) {
+ else if (i_dComIfGs_isEventBit(0x0902))
+ {
o_layer = 2;
}
}
// Stage is Ordon Village
- else if (!strcmp(i_stageName, "F_SP103")) {
+ else if (!strcmp(i_stageName, "F_SP103"))
+ {
// Room is Main Village
if (i_roomNo == 0) {
// Tamed Epona
@@ -712,23 +750,27 @@ int dComIfG_play_c::getLayerNo_common_common(const char* i_stageName, int i_room
}
// Cleared Faron Twilight
- else if (dComIfGs_isDarkClearLV(0)) {
+ else if (dComIfGs_isDarkClearLV(0))
+ {
o_layer = 2;
dComIfG_get_timelayer(&o_layer);
}
// Escaped Hyrule Castle Sewers (1st Time)
- else if (i_dComIfGs_isEventBit(dSv_event_flag_c::saveBitLabels[47])) {
+ else if (i_dComIfGs_isEventBit(dSv_event_flag_c::saveBitLabels[47]))
+ {
o_layer = 1;
}
// Finished Ordon Day 2
- else if (i_dComIfGs_isEventBit(0x4510)) {
+ else if (i_dComIfGs_isEventBit(0x4510))
+ {
o_layer = 7;
}
// Finished Ordon Day 1
- else if (i_dComIfGs_isEventBit(0x4A40)) {
+ else if (i_dComIfGs_isEventBit(0x4A40))
+ {
o_layer = 0;
} else {
o_layer = 6;
@@ -736,24 +778,28 @@ int dComIfG_play_c::getLayerNo_common_common(const char* i_stageName, int i_room
}
// Room is Outside Link's House
- else if (i_roomNo == 1) {
+ else if (i_roomNo == 1)
+ {
// Cleared Faron Twilight
if (dComIfGs_isDarkClearLV(0)) {
o_layer = 2;
}
// Escaped Hyrule Castle Sewers (1st Time)
- else if (i_dComIfGs_isEventBit(dSv_event_flag_c::saveBitLabels[47])) {
+ else if (i_dComIfGs_isEventBit(dSv_event_flag_c::saveBitLabels[47]))
+ {
o_layer = 1;
}
// Finished Ordon Day 2
- else if (i_dComIfGs_isEventBit(0x4510)) {
+ else if (i_dComIfGs_isEventBit(0x4510))
+ {
o_layer = 0;
}
// Finished Ordon Day 1
- else if (i_dComIfGs_isEventBit(0x4A40)) {
+ else if (i_dComIfGs_isEventBit(0x4A40))
+ {
o_layer = 4;
} else {
o_layer = 3;
@@ -762,7 +808,8 @@ int dComIfG_play_c::getLayerNo_common_common(const char* i_stageName, int i_room
}
// Stage is Ordon Village Interiors
- else if (!strcmp(i_stageName, "R_SP01")) {
+ else if (!strcmp(i_stageName, "R_SP01"))
+ {
// Room is Sera's Shop
if (i_roomNo == 1) {
// Cleared Faron Twilight
@@ -772,39 +819,45 @@ int dComIfG_play_c::getLayerNo_common_common(const char* i_stageName, int i_room
}
// Room is Shield house
- else if (i_roomNo == 2) {
+ else if (i_roomNo == 2)
+ {
// Watched cutscene after defeating King Bulblin 1
if (i_dComIfGs_isEventBit(0x0780)) {
o_layer = 3;
}
// Cleared Faron Twilight
- else if (dComIfGs_isDarkClearLV(0)) {
+ else if (dComIfGs_isDarkClearLV(0))
+ {
o_layer = 2;
}
// Escaped Hyrule Castle Sewers (1st Time)
- else if (i_dComIfGs_isEventBit(dSv_event_flag_c::saveBitLabels[47])) {
+ else if (i_dComIfGs_isEventBit(dSv_event_flag_c::saveBitLabels[47]))
+ {
o_layer = 1;
}
}
// Room is Rusl and Uli's house
- else if (i_roomNo == 5) {
+ else if (i_roomNo == 5)
+ {
// Tamed Epona
if (i_dComIfGs_isEventBit(0x0601)) {
o_layer = 4;
}
// Cleared Faron Twilight
- else if (dComIfGs_isDarkClearLV(0)) {
+ else if (dComIfGs_isDarkClearLV(0))
+ {
o_layer = 2;
}
}
}
// Stage is Ordon Spring
- else if (!strcmp(i_stageName, "F_SP104")) {
+ else if (!strcmp(i_stageName, "F_SP104"))
+ {
// Room is Ordon Spring
if (i_roomNo == 1) {
// Cleared Faron Twilight
@@ -813,17 +866,20 @@ int dComIfG_play_c::getLayerNo_common_common(const char* i_stageName, int i_room
}
// Escaped Hyrule Castle Sewers (1st Time)
- else if (i_dComIfGs_isEventBit(dSv_event_flag_c::saveBitLabels[47])) {
+ else if (i_dComIfGs_isEventBit(dSv_event_flag_c::saveBitLabels[47]))
+ {
o_layer = 4;
}
// Finished Ordon Day 2
- else if (i_dComIfGs_isEventBit(0x4510)) {
+ else if (i_dComIfGs_isEventBit(0x4510))
+ {
o_layer = 0;
}
// Finished Ordon Day 1
- else if (i_dComIfGs_isEventBit(0x4A20)) {
+ else if (i_dComIfGs_isEventBit(0x4A20))
+ {
o_layer = 3;
} else {
o_layer = 1;
@@ -831,18 +887,21 @@ int dComIfG_play_c::getLayerNo_common_common(const char* i_stageName, int i_room
}
// Cleared Faron Twilight
- else if (dComIfGs_isDarkClearLV(0)) {
+ else if (dComIfGs_isDarkClearLV(0))
+ {
o_layer = 2;
}
// Escaped Hyrule Castle Sewers (1st Time)
- else if (i_dComIfGs_isEventBit(dSv_event_flag_c::saveBitLabels[47])) {
+ else if (i_dComIfGs_isEventBit(dSv_event_flag_c::saveBitLabels[47]))
+ {
o_layer = 4;
}
}
// Stage is Ordon Ranch
- else if (!strcmp(i_stageName, "F_SP00")) {
+ else if (!strcmp(i_stageName, "F_SP00"))
+ {
// Cleared Faron Twilight
if (dComIfGs_isDarkClearLV(0)) {
o_layer = 2;
@@ -850,22 +909,26 @@ int dComIfG_play_c::getLayerNo_common_common(const char* i_stageName, int i_room
}
// Escaped Hyrule Castle Sewers (1st Time)
- else if (i_dComIfGs_isEventBit(dSv_event_flag_c::saveBitLabels[47])) {
+ else if (i_dComIfGs_isEventBit(dSv_event_flag_c::saveBitLabels[47]))
+ {
o_layer = 1;
}
// Watched cutscene after herding goats on Ordon Day 3
- else if (i_dComIfGs_isEventBit(dSv_event_flag_c::saveBitLabels[169])) {
+ else if (i_dComIfGs_isEventBit(dSv_event_flag_c::saveBitLabels[169]))
+ {
o_layer = 10;
}
// Finished Ordon Day 2
- else if (i_dComIfGs_isEventBit(0x4510)) {
+ else if (i_dComIfGs_isEventBit(0x4510))
+ {
o_layer = 9;
}
// Finished Ordon Day 1
- else if (i_dComIfGs_isEventBit(0x4A40)) {
+ else if (i_dComIfGs_isEventBit(0x4A40))
+ {
o_layer = 11;
} else {
o_layer = 12;
@@ -873,23 +936,27 @@ int dComIfG_play_c::getLayerNo_common_common(const char* i_stageName, int i_room
}
// Stage is Hyrule Field
- else if (!strcmp(i_stageName, "F_SP121")) {
+ else if (!strcmp(i_stageName, "F_SP121"))
+ {
// Completed Midna's Desperate Hour
if (i_dComIfGs_isEventBit(0x1E08)) {
o_layer = 6;
}
// Started Midna's Desperate Hour
- else if (i_dComIfGs_isEventBit(0x0C01)) {
+ else if (i_dComIfGs_isEventBit(0x0C01))
+ {
o_layer = 4;
}
// Finished Telma Wagon Escort
- else if (i_dComIfGs_isEventBit(dSv_event_flag_c::saveBitLabels[68])) {
+ else if (i_dComIfGs_isEventBit(dSv_event_flag_c::saveBitLabels[68]))
+ {
o_layer = 0;
}
- else if (dComIfGs_isTmpBit(0x0601)) {
+ else if (dComIfGs_isTmpBit(0x0601))
+ {
if (dComIfGs_isTmpBit(0x0602)) {
o_layer = 2;
} else {
@@ -899,7 +966,8 @@ int dComIfG_play_c::getLayerNo_common_common(const char* i_stageName, int i_room
}
// Stage is Outside Castle Town
- else if (!strcmp(i_stageName, "F_SP122")) {
+ else if (!strcmp(i_stageName, "F_SP122"))
+ {
// Room is Outside Castle Town - West
if (i_roomNo == 8) {
// Completed Midna's Desperate Hour
@@ -908,57 +976,66 @@ int dComIfG_play_c::getLayerNo_common_common(const char* i_stageName, int i_room
}
// Started Midna's Desperate Hour
- else if (i_dComIfGs_isEventBit(0x0C01)) {
+ else if (i_dComIfGs_isEventBit(0x0C01))
+ {
o_layer = 4;
}
}
// Room is Outside Castle Town - South
- else if (i_roomNo == 16) {
+ else if (i_roomNo == 16)
+ {
// Obtained Wood Statue
if (i_dComIfGs_isEventBit(0x2204)) {
o_layer = 6;
}
// Talked to Louise after getting Medicine Scent
- else if (i_dComIfGs_isEventBit(0x2102)) {
+ else if (i_dComIfGs_isEventBit(0x2102))
+ {
o_layer = 1;
}
// Completed Midna's Desperate Hour
- else if (i_dComIfGs_isEventBit(0x1E08)) {
+ else if (i_dComIfGs_isEventBit(0x1E08))
+ {
o_layer = 6;
}
// Started Midna's Desperate Hour
- else if (i_dComIfGs_isEventBit(0x0C01)) {
+ else if (i_dComIfGs_isEventBit(0x0C01))
+ {
o_layer = 4;
}
}
// Room is Outside Castle Town - East
- else if (i_roomNo == 17) {
+ else if (i_roomNo == 17)
+ {
// Completed Midna's Desperate Hour
if (i_dComIfGs_isEventBit(0x1E08)) {
o_layer = 0;
}
// Started Midna's Desperate Hour
- else if (i_dComIfGs_isEventBit(0x0C01)) {
+ else if (i_dComIfGs_isEventBit(0x0C01))
+ {
o_layer = 4;
}
}
}
// Stage is Hidden Village
- else if (!strcmp(i_stageName, "F_SP128")) {
+ else if (!strcmp(i_stageName, "F_SP128"))
+ {
if (i_dComIfGs_isEventBit(0x2320)) {
o_layer = 1;
}
}
// Stage is Castle Town Interiors
- else if (!strcmp(i_stageName, "R_SP160")) {
+ else if (!strcmp(i_stageName, "R_SP160"))
+ {
// Room is Jovani's house
if (i_roomNo == 5) {
// Completed Midna's Desperate Hour
@@ -970,13 +1047,15 @@ int dComIfG_play_c::getLayerNo_common_common(const char* i_stageName, int i_room
}
// Fundraised Malo Mart Castle Town branch
- else if (i_dComIfGs_isEventBit(0x2210)) {
+ else if (i_dComIfGs_isEventBit(0x2210))
+ {
o_layer = 1;
}
}
// Stage is Sacred Grove
- else if (!strcmp(i_stageName, "F_SP117")) {
+ else if (!strcmp(i_stageName, "F_SP117"))
+ {
// Cleared Snowpeak Ruins
if (i_dComIfGs_isEventBit(0x2008)) {
o_layer = 2;
@@ -984,25 +1063,29 @@ int dComIfG_play_c::getLayerNo_common_common(const char* i_stageName, int i_room
}
// Stage is Bulblin Camp
- else if (!strcmp(i_stageName, "F_SP118")) {
+ else if (!strcmp(i_stageName, "F_SP118"))
+ {
// Fixed the Mirror of Twilight
if (i_dComIfGs_isEventBit(0x2B08)) {
o_layer = 3;
}
// Cleared Arbiter's Grounds
- else if (i_dComIfGs_isEventBit(0x2010)) {
+ else if (i_dComIfGs_isEventBit(0x2010))
+ {
o_layer = 2;
}
// Escaped the burning tent
- else if (i_dComIfGs_isEventBit(0x0B40)) {
+ else if (i_dComIfGs_isEventBit(0x0B40))
+ {
o_layer = 1;
}
}
// Stage is Faron Woods Cave
- else if (!strcmp(i_stageName, "D_SB10")) {
+ else if (!strcmp(i_stageName, "D_SB10"))
+ {
// Finished Ordon Day 2
if (i_dComIfGs_isEventBit(0x4510)) {
o_layer = 1;
@@ -1010,14 +1093,16 @@ int dComIfG_play_c::getLayerNo_common_common(const char* i_stageName, int i_room
}
// Stage is Hyrule Castle Sewers
- else if (!strcmp(i_stageName, "R_SP107")) {
+ else if (!strcmp(i_stageName, "R_SP107"))
+ {
if (dComIfGs_isTransformLV(3)) {
o_layer = 13;
}
}
// Stage is Hyrule Castle
- else if (!strcmp(i_stageName, "D_MN09")) {
+ else if (!strcmp(i_stageName, "D_MN09"))
+ {
// Room is not Entrance, Outside Left Wing, or Outside Right Wing
if (i_roomNo != 11 && i_roomNo != 13 && i_roomNo != 14) {
o_layer = 1;
@@ -1025,7 +1110,8 @@ int dComIfG_play_c::getLayerNo_common_common(const char* i_stageName, int i_room
}
// Stage is Fishing Pond or Hena's Hut
- else if (!strcmp(i_stageName, "F_SP127") || !strcmp(i_stageName, "R_SP127")) {
+ else if (!strcmp(i_stageName, "F_SP127") || !strcmp(i_stageName, "R_SP127"))
+ {
switch (g_env_light.mPondSeason) {
case 1:
o_layer = 0;
@@ -1052,9 +1138,10 @@ int dComIfG_play_c::getLayerNo_common_common(const char* i_stageName, int i_room
// Hyrule Field, Upper Zora's River, or Outside Castle Town
if (!strcmp(i_stageName, "F_SP112") || !strcmp(i_stageName, "F_SP113") ||
!strcmp(i_stageName, "F_SP115") || !strcmp(i_stageName, "F_SP116") ||
- (!strcmp(i_stageName, "R_SP116") && i_roomNo == 5) || !strcmp(i_stageName, "R_SP115") ||
- !strcmp(i_stageName, "F_SP121") || !strcmp(i_stageName, "F_SP126") ||
- !strcmp(i_stageName, "F_SP122")) {
+ (!strcmp(i_stageName, "R_SP116") && i_roomNo == 5) ||
+ !strcmp(i_stageName, "R_SP115") || !strcmp(i_stageName, "F_SP121") ||
+ !strcmp(i_stageName, "F_SP126") || !strcmp(i_stageName, "F_SP122"))
+ {
// Stage is Hyrule Field
if (!strcmp(i_stageName, "F_SP121")) {
if (roomNo >= 9 && roomNo <= 14) {
@@ -1074,7 +1161,8 @@ int dComIfG_play_c::getLayerNo_common_common(const char* i_stageName, int i_room
}
}
// Stage and room is Zant Throne Room
- else if (!strcmp(i_stageName, "D_MN08A") && i_roomNo == 10) {
+ else if (!strcmp(i_stageName, "D_MN08A") && i_roomNo == 10)
+ {
// Defeated Zant
if (i_dComIfGs_isEventBit(0x5410)) {
o_layer = 1;
@@ -1227,10 +1315,10 @@ void dComIfG_inf_c::ct() {
}
/* 80450600-80450604 000080 0004+00 0/0 18/18 2/2 .sdata g_clearColor */
-SECTION_SDATA extern GXColor g_clearColor = {0, 0, 0, 0};
+GXColor g_clearColor = {0, 0, 0, 0};
/* 80450604-80450608 000084 0004+00 1/1 10/10 15/15 .sdata g_blackColor */
-SECTION_SDATA extern GXColor g_blackColor = {0, 0, 0, 255};
+GXColor g_blackColor = {0, 0, 0, 255};
/* 8002CC54-8002CD44 027594 00F0+00 1/1 1/1 0/0 .text dComIfG_changeOpeningScene__FP11scene_classs
*/
@@ -1254,7 +1342,8 @@ int dComIfG_changeOpeningScene(scene_class* i_scene, s16 i_procName) {
/* 8002CD44-8002CDB8 027684 0074+00 0/0 2/2 0/0 .text dComIfG_resetToOpening__FP11scene_class */
BOOL dComIfG_resetToOpening(scene_class* i_scene) {
if (mDoRst::isReturnToMenu() || !mDoRst::isReset() ||
- mDoGph_gInf_c::getFader()->getStatus() == 2) {
+ mDoGph_gInf_c::getFader()->getStatus() == 2)
+ {
return 0;
}
@@ -1280,8 +1369,12 @@ static int phase_2(char* i_arcName) {
if (syncStatus < 0) {
OSReport_Error("%s.arc Sync Read Error !!\n", i_arcName);
return cPhs_ERROR_e;
+ }
+
+ if (syncStatus > 0) {
+ return cPhs_INIT_e;
} else {
- return syncStatus > 0 ? 0 : 2;
+ return cPhs_NEXT_e;
}
}
@@ -1306,30 +1399,35 @@ int dComIfG_resLoad(request_of_phase_process_class* i_phase, char const* i_arcNa
/* 8002CEFC-8002CF5C 02783C 0060+00 1/0 0/0 0/0 .text phase_01__FP12phaseParam_c */
static int phase_01(phaseParam_c* i_phasePrm) {
if (dComIfG_setObjectRes(i_phasePrm->mResName, (u8)0, i_phasePrm->mpHeap) == 0) {
- return 5;
+ return cPhs_ERROR_e;
}
- return 2;
+ return cPhs_NEXT_e;
}
/* 8002CF5C-8002CFB8 02789C 005C+00 1/0 0/0 0/0 .text phase_02__FP12phaseParam_c */
static int phase_02(phaseParam_c* i_phasePrm) {
int syncStatus = dComIfG_syncObjectRes(i_phasePrm->mResName);
if (syncStatus < 0) {
- return 5;
+ return cPhs_ERROR_e;
+ }
+
+ if (syncStatus > 0) {
+ return cPhs_INIT_e;
} else {
- return syncStatus > 0 ? 0 : 2;
+ return cPhs_NEXT_e;
}
}
/* 8002CFB8-8002CFC0 0278F8 0008+00 1/0 0/0 0/0 .text phase_03__FP12phaseParam_c */
static int phase_03(phaseParam_c*) {
- return 0;
+ return cPhs_INIT_e;
}
/* 8002CFC0-8002D008 027900 0048+00 1/1 3/3 0/0 .text
* dComIfG_resLoad__FP30request_of_phase_process_classPCcP7JKRHeap */
-int dComIfG_resLoad(request_of_phase_process_class* i_phase, char const* i_resName, JKRHeap* i_heap) {
+int dComIfG_resLoad(request_of_phase_process_class* i_phase, char const* i_resName,
+ JKRHeap* i_heap) {
static int (*l_method[3])(void*) = {(int (*)(void*))phase_01, (int (*)(void*))phase_02,
(int (*)(void*))phase_03};
@@ -1359,13 +1457,14 @@ s8 dComIfGp_getReverb(int i_roomNo) {
/* 8002D0B4-8002D1AC 0279F4 00F8+00 0/0 3/3 34/34 .text
* dComIfGd_setSimpleShadow__FP4cXyzffR13cBgS_PolyInfosfP9_GXTexObj */
-int dComIfGd_setSimpleShadow(cXyz* i_pos, f32 param_1, f32 param_2, cBgS_PolyInfo& param_3, s16 i_angle,
- f32 param_5, GXTexObj* i_tex) {
+int dComIfGd_setSimpleShadow(cXyz* i_pos, f32 param_1, f32 param_2, cBgS_PolyInfo& param_3,
+ s16 i_angle, f32 param_5, GXTexObj* i_tex) {
if (param_3.ChkSetInfo() && -1000000000.0f != param_1) {
cM3dGPla plane;
dComIfG_Bgsp().GetTriPla(param_3, &plane);
- return dComIfGd_setSimpleShadow(i_pos, param_1, param_2, &plane.mNormal, i_angle, param_5, i_tex);
+ return dComIfGd_setSimpleShadow(i_pos, param_1, param_2, &plane.mNormal, i_angle, param_5,
+ i_tex);
} else {
return 0;
}
@@ -1415,15 +1514,16 @@ stage_arrow_class* dComIfGp_getRoomArrow(int i_roomNo) {
}
/* 8002D2FC-8002D554 027C3C 0258+00 2/2 7/7 4/4 .text dComIfGp_setNextStage__FPCcsScScfUliScsii */
-void dComIfGp_setNextStage(char const* i_stage, s16 i_point, s8 i_roomNo, s8 i_layer, f32 i_lastSpeed,
- u32 i_lastMode, int i_setPoint, s8 i_wipe, s16 i_lastAngle, int param_9,
- int i_wipeSpeedT) {
+void dComIfGp_setNextStage(char const* i_stage, s16 i_point, s8 i_roomNo, s8 i_layer,
+ f32 i_lastSpeed, u32 i_lastMode, int i_setPoint, s8 i_wipe,
+ s16 i_lastAngle, int param_9, int i_wipeSpeedT) {
if (i_layer >= 15) {
i_layer = -1;
}
if (dComIfGs_isPlayerFieldLastStayFieldDataExistFlag() &&
- daPy_getLinkPlayerActorClass() != NULL) {
+ daPy_getLinkPlayerActorClass() != NULL)
+ {
s8 curPoint = (s8)daPy_getLinkPlayerActorClass()->current.roomNo;
cXyz pos = dMapInfo_n::getMapPlayerPos();
s16 angle = daPy_getLinkPlayerActorClass()->shape_angle.y;
@@ -1433,7 +1533,9 @@ void dComIfGp_setNextStage(char const* i_stage, s16 i_point, s8 i_roomNo, s8 i_l
}
// Set Key Num to 2 if loading Wagon Escort after King Bulblin 2
- if (!strcmp(i_stage, "F_SP121") && i_roomNo == 13 && (i_point == 99 || i_point == 98) && i_layer == 2) {
+ if (!strcmp(i_stage, "F_SP121") && i_roomNo == 13 && (i_point == 99 || i_point == 98) &&
+ i_layer == 2)
+ {
dComIfGs_setKeyNum(6, 2);
} else {
dComIfGs_setKeyNum(6, 0);
@@ -1558,15 +1660,21 @@ s8 dComIfGs_sense_type_change_Get() {
}
/* 8002D94C-8002D9B0 02828C 0064+00 0/0 1/1 17/17 .text dComIfGs_onZoneSwitch__Fii */
+// matches debug but not retail :/
#ifdef NONMATCHING
-void dComIfGs_onZoneSwitch(int swBit, int roomNo) {
- if (roomNo < 0) {
- return;
+void dComIfGs_onZoneSwitch(int i_swBit, int i_roomNo) {
+ int zone_no;
+ int room_no;
+
+ if (i_roomNo >= 0) {
+ room_no = i_roomNo;
+ } else {
+ room_no = dComIfGp_roomControl_getStayNo();
}
- if (dComIfGp_roomControl_getStayNo() >= 0) {
- int zoneNo = dStage_roomControl_c::getZoneNo(roomNo);
- dComIfGs_onSvZoneSwitch(zoneNo, swBit);
+ if (room_no >= 0) {
+ zone_no = dComIfGp_roomControl_getZoneNo(room_no);
+ dComIfGs_onSvZoneSwitch(zone_no, i_swBit);
}
}
#else
@@ -1648,8 +1756,7 @@ asm BOOL dComIfGs_isZoneItem(int param_0, int param_1) {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
-asm BOOL dComIfGs_isOneZoneItem(int param_0, int param_1) {
- nofralloc
+asm BOOL dComIfGs_isOneZoneItem(int param_0, int param_1){nofralloc
#include "asm/d/com/d_com_inf_game/dComIfGs_isOneZoneItem__Fii.s"
}
#pragma pop
@@ -1717,7 +1824,8 @@ u8 dComIfGp_getSelectItem(int i_selItemIdx) {
u8 playItem = g_dComIfG_gameInfo.play.getSelectItem(i_selItemIdx);
if ((i_selItemIdx == SELECT_ITEM_X || i_selItemIdx == SELECT_ITEM_Y) &&
- dComIfGs_getMixItemIndex(i_selItemIdx) != 0xFF) {
+ dComIfGs_getMixItemIndex(i_selItemIdx) != 0xFF)
+ {
u8 saveItem = dComIfGs_getItem(dComIfGs_getMixItemIndex(i_selItemIdx), false);
if (saveItem == BOW) {
@@ -1758,15 +1866,15 @@ u8 dComIfGp_getSelectItem(int i_selItemIdx) {
}
void dComIfGp_mapShow() {
- dComIfGs_offEventBit(0x1D01);
+ dComIfGs_offEventBit(dSv_event_flag_c::MAP_VISIBLE);
}
void dComIfGp_mapHide() {
- dComIfGs_onEventBit(0x1D01);
+ dComIfGs_onEventBit(dSv_event_flag_c::MAP_VISIBLE);
}
bool dComIfGp_checkMapShow() {
- return !i_dComIfGs_isEventBit(0x1D01);
+ return !i_dComIfGs_isEventBit(dSv_event_flag_c::MAP_VISIBLE);
}
/* 8002E0E0-8002E188 028A20 00A8+00 0/0 9/9 0/0 .text dComIfGp_setHeapLockFlag__FUc */
@@ -1879,7 +1987,8 @@ u8 dComIfGs_checkGetInsectNum() {
u8 insectId = *insectList;
insectList++;
if (i_dComIfGs_isItemFirstBit(insectId) &&
- i_dComIfGs_isEventBit(dSv_event_flag_c::saveBitLabels[0x191 + i])) {
+ i_dComIfGs_isEventBit(dSv_event_flag_c::saveBitLabels[0x191 + i]))
+ {
insectCount++;
}
}
@@ -1920,7 +2029,8 @@ s16 dComIfGp_getSelectItemNum(int i_selItemIdx) {
s16 itemNum = 0;
if (selectItem == NORMAL_BOMB || selectItem == WATER_BOMB || selectItem == POKE_BOMB ||
- selectItem == BOMB_ARROW) {
+ selectItem == BOMB_ARROW)
+ {
selectItem = dComIfGs_getSelectMixItemNoArrowIndex(i_selItemIdx) - SLOT_15;
itemNum = dComIfGs_getBombNum(selectItem);
} else if (selectItem == PACHINKO) {
@@ -1940,7 +2050,8 @@ int dComIfGp_getSelectItemMaxNum(int i_selItemIdx) {
if (selectItem == BOMB_BAG_LV1) {
itemNum = 1;
} else if (selectItem == NORMAL_BOMB || selectItem == WATER_BOMB || selectItem == POKE_BOMB ||
- selectItem == BOMB_ARROW) {
+ selectItem == BOMB_ARROW)
+ {
itemNum = dComIfGs_getBombMax(selectItem);
} else if (selectItem == PACHINKO) {
itemNum = dComIfGs_getPachinkoMax();
@@ -1956,7 +2067,8 @@ void dComIfGp_setSelectItemNum(int i_selItemIdx, s16 i_num) {
u8 selectItem = dComIfGp_getSelectItem(i_selItemIdx);
if (selectItem == NORMAL_BOMB || selectItem == WATER_BOMB || selectItem == POKE_BOMB ||
- selectItem == BOMB_ARROW) {
+ selectItem == BOMB_ARROW)
+ {
u8 mix_slotNo = dComIfGs_getSelectMixItemNoArrowIndex(i_selItemIdx) - SLOT_15;
if (i_num > dComIfGs_getBombMax(selectItem)) {
@@ -1980,7 +2092,8 @@ void dComIfGp_addSelectItemNum(int i_selItemIdx, s16 i_num) {
u8 selectItem = dComIfGp_getSelectItem(i_selItemIdx);
if (selectItem == NORMAL_BOMB || selectItem == WATER_BOMB || selectItem == POKE_BOMB ||
- selectItem == BOMB_ARROW) {
+ selectItem == BOMB_ARROW)
+ {
u8 slot_no = dComIfGs_getSelectMixItemNoArrowIndex(i_selItemIdx) - SLOT_15;
dComIfGp_setItemBombNumCount(slot_no, i_num);
} else if (selectItem == PACHINKO) {
@@ -2017,38 +2130,130 @@ u32 dComIfG_getTrigA(u32 i_padNo) {
return mDoCPd_c::getTrigA(i_padNo);
}
-/* ############################################################################################## */
-/* 80378F38-80378F38 005598 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
-#pragma push
-#pragma force_active on
-SECTION_DEAD static char const* const stringBase_8037908A = "dat/field.dat";
-#pragma pop
+struct field_data_header {
+ /* 0x00 */ u32 field_0x0;
+ /* 0x04 */ u32 field_0x4;
+ /* 0x08 */ u32 field_0x8;
+ /* 0x0C */ u32 field_0xc;
+ /* 0x10 */ u32 field_0x10;
+ /* 0x14 */ u32 field_0x14;
+};
-/* 80451D18-80451D1C 000318 0004+00 1/1 0/0 0/0 .sdata2 @6980 */
-SECTION_SDATA2 static f32 lit_6980 = -90300.0f;
-
-/* 80451D1C-80451D20 00031C 0004+00 1/1 0/0 0/0 .sdata2 @6981 */
-SECTION_SDATA2 static f32 lit_6981 = 51800.0f;
+struct field_data {
+ /* 0x00 */ char stage_name[8];
+ /* 0x08 */ u8 room_no;
+ /* 0x09 */ u8 region_no;
+ /* 0x0A */ u8 field_0xa[0x14 - 0xA];
+};
/* 8002E9F0-8002EC54 029330 0264+00 0/0 1/1 0/0 .text dComIfGp_calcNowRegion__Fv */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void dComIfGp_calcNowRegion() {
- nofralloc
-#include "asm/d/com/d_com_inf_game/dComIfGp_calcNowRegion__Fv.s"
+void dComIfGp_calcNowRegion() {
+ u8 buffer[0x800] ALIGN_DECL(32);
+
+ dComIfGp_getFieldMapArchive2()->readResource(buffer, 0x800, "dat/field.dat");
+ u8* entry_num_p = &buffer[((field_data_header*)buffer)->field_0x4];
+ u8* entries_p = entry_num_p + 4;
+
+ for (int i = 0; i < 64; i++) {
+ dStage_roomControl_c::setRegionNo(i, 0xFF);
+ }
+
+ dComIfGs_offPlayerFieldLastStayFieldDataExistFlag();
+
+ if (!dComIfGs_isTmpBit(dSv_event_tmp_flag_c::NO_TELOP)) {
+ if (strcmp(dComIfGp_getStartStageName(), "F_SP104") != 0 ||
+ dComIfG_play_c::getLayerNo(0) != 12)
+ {
+ if (strcmp(dComIfGp_getStartStageName(), "F_SP115") == 0 &&
+ dComIfGp_getStartStageRoomNo() == 1)
+ {
+ cXyz pos(dComIfGs_getPlayerFieldLastStayPos());
+ pos.x = -90300.0f;
+ pos.z = 51800.0f;
+
+ dComIfGs_setPlayerFieldLastStayInfo(dComIfGp_getStartStageName(), pos, 0, 0, 4);
+ } else {
+ for (int i = 0; i < *entry_num_p; i++) {
+ field_data* data = (field_data*)entries_p;
+
+ if (strcmp(dMenuFmap_getStartStageName(buffer), data[i].stage_name) == 0) {
+ if (data[i].room_no == 0xFF) {
+ for (int j = 0; j < 64; j++) {
+ if (dStage_roomControl_c::getRegionNo(j) == 0xFF) {
+ dStage_roomControl_c::setRegionNo(j, data[i].region_no);
+ }
+ }
+ } else {
+ dStage_roomControl_c::setRegionNo(data[i].room_no, data[i].region_no);
+ }
+
+ dComIfGs_onPlayerFieldLastStayFieldDataExistFlag();
+ }
+ }
+ }
+ }
+ }
+
+ if (!dComIfGs_isPlayerFieldLastStayFieldDataExistFlag()) {
+ for (int i = 0; i < 64; i++) {
+ dStage_roomControl_c::setRegionNo(i, dComIfGs_getPlayerFieldLastStayRegionNo());
+ }
+ }
+
+ dComIfGp_getFieldMapArchive2()->removeResourceAll();
}
-#pragma pop
/* 8002EC54-8002EDE0 029594 018C+00 1/1 0/0 0/0 .text dComIfG_getNowCalcRegion__Fv */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-static asm u8 dComIfG_getNowCalcRegion() {
- nofralloc
-#include "asm/d/com/d_com_inf_game/dComIfG_getNowCalcRegion__Fv.s"
+u8 dComIfG_getNowCalcRegion() {
+ u8 buffer[0x800] ALIGN_DECL(32);
+
+ dComIfGp_getFieldMapArchive2()->readResource(buffer, 0x800, "dat/field.dat");
+ u8* entry_num_p = &buffer[((field_data_header*)buffer)->field_0x4];
+ u8* entries_p = entry_num_p + 4;
+
+ bool var_r26 = false;
+
+ u8 sp20[64];
+ for (int i = 0; i < 64; i++) {
+ sp20[i] = 0xFF;
+ }
+
+ for (int i = 0; i < *entry_num_p; i++) {
+ field_data* data = (field_data*)entries_p;
+
+ if (strcmp(dMenuFmap_getStartStageName(buffer), data[i].stage_name) == 0) {
+ if (data[i].room_no == 0xFF) {
+ for (int j = 0; j < 64; j++) {
+ if (sp20[j] == 0xFF) {
+ sp20[j] = data[i].region_no;
+ }
+ }
+ } else {
+ sp20[data[i].room_no] = data[i].region_no;
+ }
+
+ var_r26 = true;
+ }
+ }
+
+ dComIfGp_getFieldMapArchive2()->removeResourceAll();
+
+ if (var_r26) {
+ int room_no = -1;
+
+ if (daPy_getLinkPlayerActorClass() != NULL) {
+ room_no = fopAcM_GetRoomNo(daPy_getLinkPlayerActorClass());
+ }
+
+ if (room_no < 0) {
+ room_no = dComIfGp_getStartStageRoomNo();
+ }
+
+ return sp20[room_no];
+ }
+
+ return 0xFF;
}
-#pragma pop
BOOL dComIfGp_isLightDropMapVisible() {
for (int i = 0; i < 3; i++) {
@@ -2136,8 +2341,8 @@ static void dComIfGs_setWarpItemData(int, char const* i_stage, cXyz i_pos, s16 i
g_dComIfG_gameInfo.play.setWarpItemData(i_stage, i_pos, i_angle, i_roomNo, param_5, param_6);
}
-void dComIfG_play_c::setWarpItemData(char const* i_stage, cXyz i_pos, s16 i_angle, s8 i_roomNo, u8 param_4,
- u8 param_5) {
+void dComIfG_play_c::setWarpItemData(char const* i_stage, cXyz i_pos, s16 i_angle, s8 i_roomNo,
+ u8 param_4, u8 param_5) {
strcpy(mWarpItemStage, i_stage);
mWarpItemPos.set(i_pos);
mWarpItemAngle = i_angle;
@@ -2183,30 +2388,30 @@ void dComIfGs_setWarpMarkFlag(u8) {}
/* 8002F314-8002F328 029C54 0014+00 0/0 0/0 1/1 .text __ct__19dComIfG_resLoader_cFv */
dComIfG_resLoader_c::dComIfG_resLoader_c() {
- field_0x0 = NULL;
- field_0x4.id = cPhs_INIT_e;
- field_0xc = 0;
+ mResNameTable = NULL;
+ mPhase.id = cPhs_INIT_e;
+ mLoadIndex = 0;
}
/* 8002F328-8002F3B4 029C68 008C+00 0/0 0/0 1/1 .text __dt__19dComIfG_resLoader_cFv */
dComIfG_resLoader_c::~dComIfG_resLoader_c() {
- if (field_0x0 != NULL) {
- for (int i = field_0xc; i >= 0; i--) {
- dComIfG_resDelete(&field_0x4, field_0x0[i]);
- field_0x4.id = cPhs_NEXT_e;
+ if (mResNameTable != NULL) {
+ for (int i = mLoadIndex; i >= 0; i--) {
+ dComIfG_resDelete(&mPhase, mResNameTable[i]);
+ mPhase.id = cPhs_NEXT_e;
}
}
}
/* 8002F3B4-8002F434 029CF4 0080+00 0/0 0/0 1/1 .text load__19dComIfG_resLoader_cFPPCcP7JKRHeap */
int dComIfG_resLoader_c::load(char const** i_resNameTbl, JKRHeap* i_heap) {
- field_0x0 = i_resNameTbl;
+ mResNameTable = i_resNameTbl;
- int phase_state = dComIfG_resLoad(&field_0x4, field_0x0[field_0xc], i_heap);
+ int phase_state = dComIfG_resLoad(&mPhase, mResNameTable[mLoadIndex], i_heap);
if (phase_state == cPhs_COMPLEATE_e) {
- if (field_0x0[field_0xc + 1][0] != 0) {
- field_0xc++;
- field_0x4.id = cPhs_INIT_e;
+ if (mResNameTable[mLoadIndex + 1][0] != 0) {
+ mLoadIndex++;
+ mPhase.id = cPhs_INIT_e;
phase_state = cPhs_INIT_e;
}
}
@@ -2348,13 +2553,15 @@ BOOL dComIfGs_Wolf_Change_Check() {
// Stage is Hyrule Field and Room is Eldin Gorge Entrance
if (!strcmp(dComIfGp_getStartStageName(), "F_SP121") && dComIfGp_getStartStageRoomNo() == 2 &&
- dComIfGp_getStartStagePoint() == 10 && !dComIfGs_isSaveSwitch(12)) {
+ dComIfGp_getStartStagePoint() == 10 && !dComIfGs_isSaveSwitch(12))
+ {
is_wolf = false;
}
// Stage is Hyrule Field and Room is North Lanayru - Eldin Entrance
else if (!strcmp(dComIfGp_getStartStageName(), "F_SP121") &&
dComIfGp_getStartStageRoomNo() == 9 && dComIfGp_getStartStagePoint() == 10 &&
- !dComIfGs_isSaveSwitch(13)) {
+ !dComIfGs_isSaveSwitch(13))
+ {
is_wolf = false;
}
@@ -2416,7 +2623,8 @@ u8 dComIfGp_SelectWarpPt_get() {
BOOL dComIfGp_TransportWarp_check() {
BOOL check = false;
if (g_dComIfG_gameInfo.field_0x1de09 != 0xFF && g_dComIfG_gameInfo.field_0x1de0a != 0xFF &&
- g_dComIfG_gameInfo.field_0x1de09 == g_dComIfG_gameInfo.field_0x1de0a) {
+ g_dComIfG_gameInfo.field_0x1de09 == g_dComIfG_gameInfo.field_0x1de0a)
+ {
check = true;
}
return check;
@@ -2481,11 +2689,8 @@ u8 dComIfGs_staffroll_next_go_check() {
return g_env_light.field_0x130c;
}
-/* ############################################################################################## */
/* 80450608-8045060C 000088 0004+00 0/0 6/6 11/11 .sdata g_whiteColor */
-SECTION_SDATA extern GXColor g_whiteColor = {255, 255, 255, 255};
+GXColor g_whiteColor = {255, 255, 255, 255};
/* 8045060C-80450610 00008C 0004+00 0/0 3/3 3/3 .sdata g_saftyWhiteColor */
-SECTION_SDATA extern GXColor g_saftyWhiteColor = {160, 160, 160, 255};
-
-/* 80378F38-80378F38 005598 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
+GXColor g_saftyWhiteColor = {160, 160, 160, 255};
diff --git a/src/d/d_camera.cpp b/src/d/d_camera.cpp
index a510b25deb..91924d8cf0 100644
--- a/src/d/d_camera.cpp
+++ b/src/d/d_camera.cpp
@@ -3827,7 +3827,8 @@ static asm void func_80182804() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
-asm void daAlink_c::getChainGrabActor() {
+// asm void daAlink_c::getChainGrabActor() {
+extern "C" asm void getChainGrabActor__9daAlink_cFv() {
nofralloc
#include "asm/d/d_camera/getChainGrabActor__9daAlink_cFv.s"
}
@@ -3837,7 +3838,8 @@ asm void daAlink_c::getChainGrabActor() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
-asm void daAlink_c::checkCokkoGlide() const {
+// asm void daAlink_c::checkCokkoGlide() const {
+extern "C" asm void checkCokkoGlide__9daAlink_cCFv() {
nofralloc
#include "asm/d/d_camera/checkCokkoGlide__9daAlink_cCFv.s"
}
@@ -3847,7 +3849,8 @@ asm void daAlink_c::checkCokkoGlide() const {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
-asm void daAlink_c::checkCameraLargeDamage() const {
+// asm void daAlink_c::checkCameraLargeDamage() const {
+extern "C" asm void checkCameraLargeDamage__9daAlink_cCFv() {
nofralloc
#include "asm/d/d_camera/checkCameraLargeDamage__9daAlink_cCFv.s"
}
@@ -3858,7 +3861,8 @@ asm void daAlink_c::checkCameraLargeDamage() const {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
-asm void daAlink_c::getHsSubChainTopPos() const {
+// asm void daAlink_c::getHsSubChainTopPos() const {
+extern "C" asm void getHsSubChainTopPos__9daAlink_cCFv() {
nofralloc
#include "asm/d/d_camera/getHsSubChainTopPos__9daAlink_cCFv.s"
}
@@ -3879,7 +3883,8 @@ extern "C" asm void daAlink_getAlinkActorClass__Fv() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
-asm void daAlink_c::checkCutHeadProc() const {
+// asm void daAlink_c::checkCutHeadProc() const {
+extern "C" asm void checkCutHeadProc__9daAlink_cCFv() {
nofralloc
#include "asm/d/d_camera/checkCutHeadProc__9daAlink_cCFv.s"
}
@@ -3889,7 +3894,8 @@ asm void daAlink_c::checkCutHeadProc() const {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
-asm void daAlink_c::getRideActor() {
+// asm void daAlink_c::getRideActor() {
+extern "C" asm void getRideActor__9daAlink_cFv() {
nofralloc
#include "asm/d/d_camera/getRideActor__9daAlink_cFv.s"
}
@@ -4007,7 +4013,8 @@ asm void dCamera_c::Bank() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
-asm void daPy_py_c::checkThrowDamage() const {
+// asm void daPy_py_c::checkThrowDamage() const {
+extern "C" asm void checkThrowDamage__9daPy_py_cCFv() {
nofralloc
#include "asm/d/d_camera/checkThrowDamage__9daPy_py_cCFv.s"
}
@@ -4055,7 +4062,8 @@ extern "C" asm void V__7cSGlobeCFv() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
-asm void daPy_py_c::checkGoronSideMove() const {
+// asm void daPy_py_c::checkGoronSideMove() const {
+extern "C" asm void checkGoronSideMove__9daPy_py_cCFv() {
nofralloc
#include "asm/d/d_camera/checkGoronSideMove__9daPy_py_cCFv.s"
}
@@ -4146,7 +4154,8 @@ extern "C" asm bool __gt__7cSAngleCFRC7cSAngle() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
-asm void daPy_py_c::getRightFootPosP() {
+// asm void daPy_py_c::getRightFootPosP() {
+extern "C" asm void getRightFootPosP__9daPy_py_cFv() {
nofralloc
#include "asm/d/d_camera/getRightFootPosP__9daPy_py_cFv.s"
}
@@ -4156,7 +4165,8 @@ asm void daPy_py_c::getRightFootPosP() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
-asm void daPy_py_c::getLeftFootPosP() {
+// asm void daPy_py_c::getLeftFootPosP() {
+extern "C" asm void getLeftFootPosP__9daPy_py_cFv() {
nofralloc
#include "asm/d/d_camera/getLeftFootPosP__9daPy_py_cFv.s"
}
@@ -4171,7 +4181,8 @@ extern "C" u32 getMidnaActor__9daPy_py_cFv() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
-asm void daPy_py_c::checkCopyRodThrowAfter() const {
+// asm void daPy_py_c::checkCopyRodThrowAfter() const {
+extern "C" asm void checkCopyRodThrowAfter__9daPy_py_cCFv() {
nofralloc
#include "asm/d/d_camera/checkCopyRodThrowAfter__9daPy_py_cCFv.s"
}
@@ -4186,7 +4197,8 @@ void dAttention_c::keepLock(int param_0) {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
-asm void daPy_py_c::checkRide() const {
+// asm void daPy_py_c::checkRide() const {
+extern "C" asm void checkRide__9daPy_py_cCFv() {
nofralloc
#include "asm/d/d_camera/checkRide__9daPy_py_cCFv.s"
}
@@ -4196,7 +4208,8 @@ asm void daPy_py_c::checkRide() const {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
-asm void daPy_py_c::getRightHandPos() const {
+// asm void daPy_py_c::getRightHandPos() const {
+extern "C" asm void getRightHandPos__9daPy_py_cCFv() {
nofralloc
#include "asm/d/d_camera/getRightHandPos__9daPy_py_cCFv.s"
}
diff --git a/src/d/d_drawlist.cpp b/src/d/d_drawlist.cpp
index 6efa2a5801..7f76d1fcc6 100644
--- a/src/d/d_drawlist.cpp
+++ b/src/d/d_drawlist.cpp
@@ -280,7 +280,7 @@ extern "C" u8 mWipeDlst__12dDlst_list_c[72];
extern "C" u8 mWipeColor__12dDlst_list_c[4];
extern "C" f32 mWipeRate__12dDlst_list_c;
extern "C" f32 mWipeSpeed__12dDlst_list_c[1 + 1 /* padding */];
-extern "C" extern u8 data_80450EE0[8];
+extern "C" extern u8 data_80450EE0;
//
// External References:
@@ -2850,7 +2850,7 @@ SECTION_DEAD static char const* const pad_8037A1BC = "\0\0\0";
dDlst_2DT2_c dDlst_list_c::mWipeDlst;
/* 8045065C-80450660 0000DC 0004+00 1/1 0/0 0/0 .sdata mWipeColor__12dDlst_list_c */
-SECTION_SDATA GXColor dDlst_list_c::mWipeColor = {0, 0, 0, 0};
+GXColor dDlst_list_c::mWipeColor = {0, 0, 0, 0};
/* 80450ED0-80450ED4 0003D0 0004+00 2/2 1/1 0/0 .sbss None */
u8 dDlst_list_c::mWipe;
@@ -2993,9 +2993,3 @@ SECTION_DATA extern void* __vt__13dDlst_2DTri_c[3] = {
(void*)NULL,
(void*)draw__13dDlst_2DTri_cFv,
};
-
-/* 80450EE0-80450EE8 0003E0 0008+00 0/0 1/1 0/0 .sbss None */
-extern u8 data_80450EE0[8];
-u8 data_80450EE0[8] ALIGN_DECL(8);
-
-/* 8037A1B0-8037A1B0 006810 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
diff --git a/src/d/d_item.cpp b/src/d/d_item.cpp
index 406df67a52..c386a4f418 100644
--- a/src/d/d_item.cpp
+++ b/src/d/d_item.cpp
@@ -1,460 +1,11 @@
-//
-// Generated By: dol2asm
-// Translation Unit: d/d_item
-//
+/**
+ * d_item.cpp
+ * Item Get Handling
+ */
#include "d/d_item.h"
#include "d/com/d_com_inf_game.h"
#include "d/meter/d_meter2_info.h"
-#include "dolphin/types.h"
-
-//
-// Types:
-//
-
-struct dEnemyItem_c {
- static u8 mData[4 + 4 /* padding */];
-};
-
-//
-// Forward References:
-//
-
-extern "C" void execItemGet__FUc();
-extern "C" void checkItemGet__FUci();
-extern "C" static void item_func_HEART__Fv();
-extern "C" static void item_func_GREEN_RUPEE__Fv();
-extern "C" static void item_func_BLUE_RUPEE__Fv();
-extern "C" static void item_func_YELLOW_RUPEE__Fv();
-extern "C" static void item_func_RED_RUPEE__Fv();
-extern "C" static void item_func_PURPLE_RUPEE__Fv();
-extern "C" static void item_func_ORANGE_RUPEE__Fv();
-extern "C" static void item_func_SILVER_RUPEE__Fv();
-extern "C" static void item_func_S_MAGIC__Fv();
-extern "C" static void item_func_L_MAGIC__Fv();
-extern "C" static void item_func_BOMB_5__Fv();
-extern "C" static void item_func_BOMB_10__Fv();
-extern "C" static void item_func_BOMB_20__Fv();
-extern "C" static void item_func_BOMB_30__Fv();
-extern "C" static void item_func_ARROW_10__Fv();
-extern "C" static void item_func_ARROW_20__Fv();
-extern "C" static void item_func_ARROW_30__Fv();
-extern "C" static void item_func_ARROW_1__Fv();
-extern "C" static void item_func_PACHINKO_SHOT__Fv();
-extern "C" static void item_func_WATER_BOMB_5__Fv();
-extern "C" static void item_func_WATER_BOMB_10__Fv();
-extern "C" static void item_func_WATER_BOMB_20__Fv();
-extern "C" static void item_func_WATER_BOMB_30__Fv();
-extern "C" static void item_func_BOMB_INSECT_5__Fv();
-extern "C" static void item_func_BOMB_INSECT_10__Fv();
-extern "C" static void item_func_BOMB_INSECT_20__Fv();
-extern "C" static void item_func_BOMB_INSECT_30__Fv();
-extern "C" static void item_func_RECOVER_FAILY__Fv();
-extern "C" static void item_func_TRIPLE_HEART__Fv();
-extern "C" static void item_func_SMALL_KEY__Fv();
-extern "C" static void item_func_KAKERA_HEART__Fv();
-extern "C" static void item_func_UTUWA_HEART__Fv();
-extern "C" static void item_func_MAP__Fv();
-extern "C" static void item_func_COMPUS__Fv();
-extern "C" static void item_func_DUNGEON_EXIT__Fv();
-extern "C" static void item_func_BOSS_KEY__Fv();
-extern "C" static void item_func_DUNGEON_BACK__Fv();
-extern "C" static void item_func_SWORD__Fv();
-extern "C" static void item_func_MASTER_SWORD__Fv();
-extern "C" static void item_func_WOOD_SHIELD__Fv();
-extern "C" static void item_func_SHIELD__Fv();
-extern "C" static void item_func_HYLIA_SHIELD__Fv();
-extern "C" static void item_func_TKS_LETTER__Fv();
-extern "C" static void item_func_WEAR_CASUAL__Fv();
-extern "C" static void item_func_WEAR_KOKIRI__Fv();
-extern "C" static void item_func_ARMOR__Fv();
-extern "C" static void item_func_WEAR_ZORA__Fv();
-extern "C" static void item_func_MAGIC_LV1__Fv();
-extern "C" static void item_func_DUNGEON_EXIT_2__Fv();
-extern "C" static void item_func_WALLET_LV1__Fv();
-extern "C" static void item_func_WALLET_LV2__Fv();
-extern "C" static void item_func_WALLET_LV3__Fv();
-extern "C" static void item_func_ZORAS_JEWEL__Fv();
-extern "C" static void item_func_HAWK_EYE__Fv();
-extern "C" static void item_func_WOOD_STICK__Fv();
-extern "C" static void item_func_BOOMERANG__Fv();
-extern "C" static void item_func_SPINNER__Fv();
-extern "C" static void item_func_IRONBALL__Fv();
-extern "C" static void item_func_BOW__Fv();
-extern "C" static void item_func_HOOKSHOT__Fv();
-extern "C" static void item_func_HVY_BOOTS__Fv();
-extern "C" static void item_func_COPY_ROD__Fv();
-extern "C" static void item_func_W_HOOKSHOT__Fv();
-extern "C" static void item_func_KANTERA__Fv();
-extern "C" static void item_func_LIGHT_SWORD__Fv();
-extern "C" static void item_func_FISHING_ROD_1__Fv();
-extern "C" static void item_func_PACHINKO__Fv();
-extern "C" static void item_func_COPY_ROD_2__Fv();
-extern "C" static void item_func_BOMB_BAG_LV2__Fv();
-extern "C" static void item_func_BOMB_BAG_LV1__Fv();
-extern "C" static void item_func_BOMB_IN_BAG__Fv();
-extern "C" static void item_func_LIGHT_ARROW__Fv();
-extern "C" static void item_func_ARROW_LV1__Fv();
-extern "C" static void item_func_ARROW_LV2__Fv();
-extern "C" static void item_func_ARROW_LV3__Fv();
-extern "C" static void item_func_LURE_ROD__Fv();
-extern "C" static void item_func_BOMB_ARROW__Fv();
-extern "C" static void item_func_HAWK_ARROW__Fv();
-extern "C" static void item_func_BEE_ROD__Fv();
-extern "C" static void item_func_JEWEL_ROD__Fv();
-extern "C" static void item_func_WORM_ROD__Fv();
-extern "C" static void item_func_JEWEL_BEE_ROD__Fv();
-extern "C" static void item_func_JEWEL_WORM_ROD__Fv();
-extern "C" static void item_func_EMPTY_BOTTLE__Fv();
-extern "C" static void item_func_RED_BOTTLE__Fv();
-extern "C" static void item_func_GREEN_BOTTLE__Fv();
-extern "C" static void item_func_BLUE_BOTTLE__Fv();
-extern "C" static void item_func_MILK_BOTTLE__Fv();
-extern "C" static void item_func_HALF_MILK_BOTTLE__Fv();
-extern "C" static void item_func_OIL_BOTTLE__Fv();
-extern "C" static void item_func_WATER_BOTTLE__Fv();
-extern "C" static void item_func_OIL_BOTTLE2__Fv();
-extern "C" static void item_func_RED_BOTTLE2__Fv();
-extern "C" static void item_func_UGLY_SOUP__Fv();
-extern "C" static void item_func_HOT_SPRING__Fv();
-extern "C" static void item_func_FAIRY_BOTTLE__Fv();
-extern "C" static void item_func_HOT_SPRING2__Fv();
-extern "C" static void item_func_OIL2__Fv();
-extern "C" static void item_func_OIL__Fv();
-extern "C" static void item_func_NORMAL_BOMB__Fv();
-extern "C" static void item_func_WATER_BOMB__Fv();
-extern "C" static void item_func_POKE_BOMB__Fv();
-extern "C" static void item_func_FAIRY_DROP__Fv();
-extern "C" static void item_func_WORM__Fv();
-extern "C" static void item_func_DROP_BOTTLE__Fv();
-extern "C" static void item_func_BEE_CHILD__Fv();
-extern "C" static void item_func_CHUCHU_RARE__Fv();
-extern "C" static void item_func_CHUCHU_RED__Fv();
-extern "C" static void item_func_CHUCHU_BLUE__Fv();
-extern "C" static void item_func_CHUCHU_GREEN__Fv();
-extern "C" static void item_func_CHUCHU_YELLOW__Fv();
-extern "C" static void item_func_CHUCHU_PURPLE__Fv();
-extern "C" static void item_func_LV1_SOUP__Fv();
-extern "C" static void item_func_LV2_SOUP__Fv();
-extern "C" static void item_func_LV3_SOUP__Fv();
-extern "C" static void item_func_LETTER__Fv();
-extern "C" static void item_func_BILL__Fv();
-extern "C" static void item_func_WOOD_STATUE__Fv();
-extern "C" static void item_func_IRIAS_PENDANT__Fv();
-extern "C" static void item_func_HORSE_FLUTE__Fv();
-extern "C" static void item_func_RAFRELS_MEMO__Fv();
-extern "C" static void item_func_ASHS_SCRIBBLING__Fv();
-extern "C" static void item_func_CHUCHU_YELLOW2__Fv();
-extern "C" static void item_func_OIL_BOTTLE3__Fv();
-extern "C" static void item_func_SHOP_BEE_CHILD__Fv();
-extern "C" static void item_func_CHUCHU_BLACK__Fv();
-extern "C" static void item_func_LIGHT_DROP__Fv();
-extern "C" static void item_func_DROP_CONTAINER__Fv();
-extern "C" static void item_func_DROP_CONTAINER02__Fv();
-extern "C" static void item_func_DROP_CONTAINER03__Fv();
-extern "C" static void item_func_FILLED_CONTAINER__Fv();
-extern "C" static void item_func_MIRROR_PIECE_2__Fv();
-extern "C" static void item_func_MIRROR_PIECE_3__Fv();
-extern "C" static void item_func_MIRROR_PIECE_4__Fv();
-extern "C" static void item_func_SMELL_YELIA_POUCH__Fv();
-extern "C" static void item_func_SMELL_PUMPKIN__Fv();
-extern "C" static void item_func_SMELL_POH__Fv();
-extern "C" static void item_func_SMELL_FISH__Fv();
-extern "C" static void item_func_SMELL_CHILDREN__Fv();
-extern "C" static void item_func_SMELL_MEDICINE__Fv();
-extern "C" static void item_func_M_BEETLE__Fv();
-extern "C" static void item_func_F_BEETLE__Fv();
-extern "C" static void item_func_M_BUTTERFLY__Fv();
-extern "C" static void item_func_F_BUTTERFLY__Fv();
-extern "C" static void item_func_M_STAG_BEETLE__Fv();
-extern "C" static void item_func_F_STAG_BEETLE__Fv();
-extern "C" static void item_func_M_GRASSHOPPER__Fv();
-extern "C" static void item_func_F_GRASSHOPPER__Fv();
-extern "C" static void item_func_M_NANAFUSHI__Fv();
-extern "C" static void item_func_F_NANAFUSHI__Fv();
-extern "C" static void item_func_M_DANGOMUSHI__Fv();
-extern "C" static void item_func_F_DANGOMUSHI__Fv();
-extern "C" static void item_func_M_MANTIS__Fv();
-extern "C" static void item_func_F_MANTIS__Fv();
-extern "C" static void item_func_M_LADYBUG__Fv();
-extern "C" static void item_func_F_LADYBUG__Fv();
-extern "C" static void item_func_M_SNAIL__Fv();
-extern "C" static void item_func_F_SNAIL__Fv();
-extern "C" static void item_func_M_DRAGONFLY__Fv();
-extern "C" static void item_func_F_DRAGONFLY__Fv();
-extern "C" static void item_func_M_ANT__Fv();
-extern "C" static void item_func_F_ANT__Fv();
-extern "C" static void item_func_M_MAYFLY__Fv();
-extern "C" static void item_func_F_MAYFLY__Fv();
-extern "C" static void item_func_POU_SPIRIT__Fv();
-extern "C" static void item_func_ANCIENT_DOCUMENT__Fv();
-extern "C" static void item_func_AIR_LETTER__Fv();
-extern "C" static void item_func_ANCIENT_DOCUMENT2__Fv();
-extern "C" static void item_func_LV7_DUNGEON_EXIT__Fv();
-extern "C" static void item_func_LINKS_SAVINGS__Fv();
-extern "C" static void item_func_SMALL_KEY2__Fv();
-extern "C" static void item_func_POU_FIRE1__Fv();
-extern "C" static void item_func_POU_FIRE2__Fv();
-extern "C" static void item_func_POU_FIRE3__Fv();
-extern "C" static void item_func_POU_FIRE4__Fv();
-extern "C" static void item_func_BOSSRIDER_KEY__Fv();
-extern "C" static void item_func_TOMATO_PUREE__Fv();
-extern "C" static void item_func_TASTE__Fv();
-extern "C" static void item_func_LV5_BOSS_KEY__Fv();
-extern "C" static void item_func_SURFBOARD__Fv();
-extern "C" static void item_func_KANTERA2__Fv();
-extern "C" static void item_func_L2_KEY_PIECES1__Fv();
-extern "C" static void item_func_L2_KEY_PIECES2__Fv();
-extern "C" static void item_func_L2_KEY_PIECES3__Fv();
-extern "C" static void item_func_KEY_OF_CARAVAN__Fv();
-extern "C" static void item_func_LV2_BOSS_KEY__Fv();
-extern "C" static void item_func_KEY_OF_FILONE__Fv();
-extern "C" static void item_func_noentry__Fv();
-extern "C" static s32 item_getcheck_func_noentry__Fv();
-extern "C" static s32 item_getcheck_func_HEART__Fv();
-extern "C" static void item_getcheck_func_GREEN_RUPEE__Fv();
-extern "C" static void item_getcheck_func_BLUE_RUPEE__Fv();
-extern "C" static void item_getcheck_func_YELLOW_RUPEE__Fv();
-extern "C" static void item_getcheck_func_RED_RUPEE__Fv();
-extern "C" static void item_getcheck_func_PURPLE_RUPEE__Fv();
-extern "C" static void item_getcheck_func_ORANGE_RUPEE__Fv();
-extern "C" static void item_getcheck_func_SILVER_RUPEE__Fv();
-extern "C" static s32 item_getcheck_func_S_MAGIC__Fv();
-extern "C" static s32 item_getcheck_func_L_MAGIC__Fv();
-extern "C" static void item_getcheck_func_BOMB_5__Fv();
-extern "C" static void item_getcheck_func_BOMB_10__Fv();
-extern "C" static void item_getcheck_func_BOMB_20__Fv();
-extern "C" static void item_getcheck_func_BOMB_30__Fv();
-extern "C" static void item_getcheck_func_ARROW_10__Fv();
-extern "C" static void item_getcheck_func_ARROW_20__Fv();
-extern "C" static void item_getcheck_func_ARROW_30__Fv();
-extern "C" static void item_getcheck_func_ARROW_1__Fv();
-extern "C" static void item_getcheck_func_PACHINKO_SHOT__Fv();
-extern "C" static s32 item_getcheck_func_WATER_BOMB_5__Fv();
-extern "C" static s32 item_getcheck_func_WATER_BOMB_10__Fv();
-extern "C" static s32 item_getcheck_func_WATER_BOMB_20__Fv();
-extern "C" static s32 item_getcheck_func_WATER_BOMB_30__Fv();
-extern "C" static s32 item_getcheck_func_BOMB_INSECT_5__Fv();
-extern "C" static void item_getcheck_func_BOMB_INSECT_10__Fv();
-extern "C" static void item_getcheck_func_BOMB_INSECT_20__Fv();
-extern "C" static void item_getcheck_func_BOMB_INSECT_30__Fv();
-extern "C" static s32 item_getcheck_func_RECOVER_FAILY__Fv();
-extern "C" static s32 item_getcheck_func_TRIPLE_HEART__Fv();
-extern "C" static s32 item_getcheck_func_SMALL_KEY__Fv();
-extern "C" static s32 item_getcheck_func_KAKERA_HEART__Fv();
-extern "C" static s32 item_getcheck_func_UTUWA_HEART__Fv();
-extern "C" static void item_getcheck_func_MAP__Fv();
-extern "C" static s32 item_getcheck_func_COMPUS__Fv();
-extern "C" static void item_getcheck_func_DUNGEON_EXIT__Fv();
-extern "C" static void item_getcheck_func_BOSS_KEY__Fv();
-extern "C" static void item_getcheck_func_DUNGEON_BACK__Fv();
-extern "C" static void item_getcheck_func_SWORD__Fv();
-extern "C" static void item_getcheck_func_MASTER_SWORD__Fv();
-extern "C" static void item_getcheck_func_WOOD_SHIELD__Fv();
-extern "C" static void item_getcheck_func_SHIELD__Fv();
-extern "C" static void item_getcheck_func_HYLIA_SHIELD__Fv();
-extern "C" static void item_getcheck_func_TKS_LETTER__Fv();
-extern "C" static void item_getcheck_func_WEAR_CASUAL__Fv();
-extern "C" static void item_getcheck_func_WEAR_KOKIRI__Fv();
-extern "C" static void item_getcheck_func_ARMOR__Fv();
-extern "C" static void item_getcheck_func_WEAR_ZORA__Fv();
-extern "C" static s32 item_getcheck_func_MAGIC_LV1__Fv();
-extern "C" static void item_getcheck_func_DUNGEON_EXIT_2__Fv();
-extern "C" static s32 item_getcheck_func_WALLET_LV1__Fv();
-extern "C" static s32 item_getcheck_func_WALLET_LV2__Fv();
-extern "C" static s32 item_getcheck_func_WALLET_LV3__Fv();
-extern "C" static void item_getcheck_func_ZORAS_JEWEL__Fv();
-extern "C" static void item_getcheck_func_HAWK_EYE__Fv();
-extern "C" static void item_getcheck_func_WOOD_STICK__Fv();
-extern "C" static void item_getcheck_func_BOOMERANG__Fv();
-extern "C" static void item_getcheck_func_SPINNER__Fv();
-extern "C" static void item_getcheck_func_IRONBALL__Fv();
-extern "C" static void item_getcheck_func_BOW__Fv();
-extern "C" static void item_getcheck_func_HOOKSHOT__Fv();
-extern "C" static void item_getcheck_func_HVY_BOOTS__Fv();
-extern "C" static void item_getcheck_func_COPY_ROD__Fv();
-extern "C" static void item_getcheck_func_W_HOOKSHOT__Fv();
-extern "C" static void item_getcheck_func_KANTERA__Fv();
-extern "C" static void item_getcheck_func_LIGHT_SWORD__Fv();
-extern "C" static int item_getcheck_func_FISHING_ROD_1__Fv();
-extern "C" static void item_getcheck_func_PACHINKO__Fv();
-extern "C" static s32 item_getcheck_func_COPY_ROD_2__Fv();
-extern "C" static void item_getcheck_func_BOMB_BAG_LV2__Fv();
-extern "C" static void item_getcheck_func_BOMB_BAG_LV1__Fv();
-extern "C" static void item_getcheck_func_BOMB_IN_BAG__Fv();
-extern "C" static void item_getcheck_func_LIGHT_ARROW__Fv();
-extern "C" static void item_getcheck_func_ARROW_LV1__Fv();
-extern "C" static void item_getcheck_func_ARROW_LV2__Fv();
-extern "C" static void item_getcheck_func_ARROW_LV3__Fv();
-extern "C" static s32 item_getcheck_func_LURE_ROD__Fv();
-extern "C" static s32 item_getcheck_func_BOMB_ARROW__Fv();
-extern "C" static s32 item_getcheck_func_HAWK_ARROW__Fv();
-extern "C" static void item_getcheck_func_BEE_ROD__Fv();
-extern "C" static void item_getcheck_func_JEWEL_ROD__Fv();
-extern "C" static void item_getcheck_func_WORM_ROD__Fv();
-extern "C" static void item_getcheck_func_JEWEL_BEE_ROD__Fv();
-extern "C" static void item_getcheck_func_JEWEL_WORM_ROD__Fv();
-extern "C" static void item_getcheck_func_EMPTY_BOTTLE__Fv();
-extern "C" static void item_getcheck_func_RED_BOTTLE__Fv();
-extern "C" static void item_getcheck_func_GREEN_BOTTLE__Fv();
-extern "C" static void item_getcheck_func_BLUE_BOTTLE__Fv();
-extern "C" static void item_getcheck_func_MILK_BOTTLE__Fv();
-extern "C" static void item_getcheck_func_HALF_MILK_BOTTLE__Fv();
-extern "C" static void item_getcheck_func_OIL_BOTTLE__Fv();
-extern "C" static void item_getcheck_func_WATER_BOTTLE__Fv();
-extern "C" static void item_getcheck_func_OIL_BOTTLE2__Fv();
-extern "C" static void item_getcheck_func_RED_BOTTLE2__Fv();
-extern "C" static void item_getcheck_func_UGLY_SOUP__Fv();
-extern "C" static void item_getcheck_func_HOT_SPRING__Fv();
-extern "C" static void item_getcheck_func_FAIRY_BOTTLE__Fv();
-extern "C" static void item_getcheck_func_HOT_SPRING2__Fv();
-extern "C" static void item_getcheck_func_OIL2__Fv();
-extern "C" static void item_getcheck_func_OIL__Fv();
-extern "C" static void item_getcheck_func_NORMAL_BOMB__Fv();
-extern "C" static void item_getcheck_func_WATER_BOMB__Fv();
-extern "C" static void item_getcheck_func_POKE_BOMB__Fv();
-extern "C" static void item_getcheck_func_FAIRY_DROP__Fv();
-extern "C" static void item_getcheck_func_WORM__Fv();
-extern "C" static void item_getcheck_func_DROP_BOTTLE__Fv();
-extern "C" static s32 item_getcheck_func_BEE_CHILD__Fv();
-extern "C" static void item_getcheck_func_CHUCHU_RARE__Fv();
-extern "C" static void item_getcheck_func_CHUCHU_RED__Fv();
-extern "C" static void item_getcheck_func_CHUCHU_BLUE__Fv();
-extern "C" static void item_getcheck_func_CHUCHU_GREEN__Fv();
-extern "C" static void item_getcheck_func_CHUCHU_YELLOW__Fv();
-extern "C" static void item_getcheck_func_CHUCHU_PURPLE__Fv();
-extern "C" static void item_getcheck_func_LV1_SOUP__Fv();
-extern "C" static void item_getcheck_func_LV2_SOUP__Fv();
-extern "C" static void item_getcheck_func_LV3_SOUP__Fv();
-extern "C" static void item_getcheck_func_LETTER__Fv();
-extern "C" static void item_getcheck_func_BILL__Fv();
-extern "C" static void item_getcheck_func_WOOD_STATUE__Fv();
-extern "C" static void item_getcheck_func_IRIAS_PENDANT__Fv();
-extern "C" static void item_getcheck_func_HORSE_FLUTE__Fv();
-extern "C" static void item_getcheck_func_RAFRELS_MEMO__Fv();
-extern "C" static void item_getcheck_func_ASHS_SCRIBBLING__Fv();
-extern "C" static void item_getcheck_func_CHUCHU_YELLOW2__Fv();
-extern "C" static s32 item_getcheck_func_OIL_BOTTLE3__Fv();
-extern "C" static s32 item_getcheck_func_SHOP_BEE_CHILD__Fv();
-extern "C" static void item_getcheck_func_CHUCHU_BLACK__Fv();
-extern "C" static void item_getcheck_func_LIGHT_DROP__Fv();
-extern "C" static void item_getcheck_func_DROP_CONTAINER__Fv();
-extern "C" static void item_getcheck_func_DROP_CONTAINER02__Fv();
-extern "C" static void item_getcheck_func_DROP_CONTAINER03__Fv();
-extern "C" static s32 item_getcheck_func_FILLED_CONTAINER__Fv();
-extern "C" static s32 item_getcheck_func_MIRROR_PIECE_2__Fv();
-extern "C" static s32 item_getcheck_func_MIRROR_PIECE_3__Fv();
-extern "C" static s32 item_getcheck_func_MIRROR_PIECE_4__Fv();
-extern "C" static void item_getcheck_func_SMELL_YELIA_POUCH__Fv();
-extern "C" static s32 item_getcheck_func_SMELL_PUMPKIN__Fv();
-extern "C" static void item_getcheck_func_SMELL_POH__Fv();
-extern "C" static void item_getcheck_func_SMELL_FISH__Fv();
-extern "C" static void item_getcheck_func_SMELL_CHILDREN__Fv();
-extern "C" static void item_getcheck_func_SMELL_MEDICINE__Fv();
-extern "C" static void item_getcheck_func_M_BEETLE__Fv();
-extern "C" static void item_getcheck_func_F_BEETLE__Fv();
-extern "C" static void item_getcheck_func_M_BUTTERFLY__Fv();
-extern "C" static void item_getcheck_func_F_BUTTERFLY__Fv();
-extern "C" static void item_getcheck_func_M_STAG_BEETLE__Fv();
-extern "C" static void item_getcheck_func_F_STAG_BEETLE__Fv();
-extern "C" static void item_getcheck_func_M_GRASSHOPPER__Fv();
-extern "C" static void item_getcheck_func_F_GRASSHOPPER__Fv();
-extern "C" static void item_getcheck_func_M_NANAFUSHI__Fv();
-extern "C" static void item_getcheck_func_F_NANAFUSHI__Fv();
-extern "C" static void item_getcheck_func_M_DANGOMUSHI__Fv();
-extern "C" static void item_getcheck_func_F_DANGOMUSHI__Fv();
-extern "C" static void item_getcheck_func_M_MANTIS__Fv();
-extern "C" static void item_getcheck_func_F_MANTIS__Fv();
-extern "C" static void item_getcheck_func_M_LADYBUG__Fv();
-extern "C" static void item_getcheck_func_F_LADYBUG__Fv();
-extern "C" static void item_getcheck_func_M_SNAIL__Fv();
-extern "C" static void item_getcheck_func_F_SNAIL__Fv();
-extern "C" static void item_getcheck_func_M_DRAGONFLY__Fv();
-extern "C" static void item_getcheck_func_F_DRAGONFLY__Fv();
-extern "C" static void item_getcheck_func_M_ANT__Fv();
-extern "C" static void item_getcheck_func_F_ANT__Fv();
-extern "C" static void item_getcheck_func_M_MAYFLY__Fv();
-extern "C" static void item_getcheck_func_F_MAYFLY__Fv();
-extern "C" static void item_getcheck_func_POU_SPIRIT__Fv();
-extern "C" static void item_getcheck_func_ANCIENT_DOCUMENT__Fv();
-extern "C" static void item_getcheck_func_AIR_LETTER__Fv();
-extern "C" static void item_getcheck_func_ANCIENT_DOCUMENT2__Fv();
-extern "C" static void item_getcheck_func_LV7_DUNGEON_EXIT__Fv();
-extern "C" static s32 item_getcheck_func_LINKS_SAVINGS__Fv();
-extern "C" static s32 item_getcheck_func_SMALL_KEY2__Fv();
-extern "C" static s32 item_getcheck_func_POU_FIRE1__Fv();
-extern "C" static s32 item_getcheck_func_POU_FIRE2__Fv();
-extern "C" static s32 item_getcheck_func_POU_FIRE3__Fv();
-extern "C" static s32 item_getcheck_func_POU_FIRE4__Fv();
-extern "C" static s32 item_getcheck_func_BOSSRIDER_KEY__Fv();
-extern "C" static void item_getcheck_func_TOMATO_PUREE__Fv();
-extern "C" static void item_getcheck_func_TASTE__Fv();
-extern "C" static void item_getcheck_func_LV5_BOSS_KEY__Fv();
-extern "C" static s32 item_getcheck_func_SURFBOARD__Fv();
-extern "C" static s32 item_getcheck_func_KANTERA2__Fv();
-extern "C" static void item_getcheck_func_L2_KEY_PIECES1__Fv();
-extern "C" static void item_getcheck_func_L2_KEY_PIECES2__Fv();
-extern "C" static void item_getcheck_func_L2_KEY_PIECES3__Fv();
-extern "C" static void item_getcheck_func_KEY_OF_CARAVAN__Fv();
-extern "C" static void item_getcheck_func_LV2_BOSS_KEY__Fv();
-extern "C" static void item_getcheck_func_KEY_OF_FILONE__Fv();
-extern "C" bool isBomb__FUc(u8);
-extern "C" bool isArrow__FUc(u8);
-extern "C" void isBottleItem__FUc();
-extern "C" void isHeart__FUc();
-extern "C" void isInsect__FUc();
-extern "C" void check_itemno__Fi();
-extern "C" static void addBombCount__FUcUc(u8, u8);
-extern "C" extern char const* const d_d_item__stringBase0;
-extern "C" u8 mData__12dEnemyItem_c[4 + 4 /* padding */];
-
-//
-// External References:
-//
-
-extern "C" void setItemBombNumCount__14dComIfG_play_cFUcs();
-extern "C" void getLayerNo__14dComIfG_play_cFi();
-extern "C" u16 dComIfGs_getMaxLifeGauge__Fv();
-extern "C" void dComIfGs_setSelectEquipClothes__FUc(u8);
-extern "C" void dComIfGs_setSelectEquipSword__FUc(u8);
-extern "C" void dComIfGs_setSelectEquipShield__FUc(u8);
-extern "C" void isMagicFlag__21dSv_player_status_a_cCFUc();
-extern "C" void setItem__17dSv_player_item_cFiUc();
-extern "C" void getItem__17dSv_player_item_cCFib();
-extern "C" void setEmptyBottleItemIn__17dSv_player_item_cFUc();
-extern "C" void setEmptyBottle__17dSv_player_item_cFv();
-extern "C" void setEmptyBottle__17dSv_player_item_cFUc();
-extern "C" void checkBottle__17dSv_player_item_cFUc();
-extern "C" void setEmptyBombBagItemIn__17dSv_player_item_cFUcb();
-extern "C" void setEmptyBombBagItemIn__17dSv_player_item_cFUcUcb();
-extern "C" void setEmptyBombBag__17dSv_player_item_cFv();
-extern "C" void setEmptyBombBag__17dSv_player_item_cFUcUc();
-extern "C" void setRodTypeLevelUp__17dSv_player_item_cFv();
-extern "C" void onFirstBit__21dSv_player_get_item_cFUc();
-extern "C" void isFirstBit__21dSv_player_get_item_cCFUc();
-extern "C" void getBombNum__24dSv_player_item_record_cCFUc();
-extern "C" void setBottleNum__24dSv_player_item_record_cFUcUc();
-extern "C" void getBombNum__21dSv_player_item_max_cCFUc();
-extern "C" void setCollect__20dSv_player_collect_cFiUc();
-extern "C" void isCollect__20dSv_player_collect_cCFiUc();
-extern "C" void onLightDropGetFlag__16dSv_light_drop_cFUc();
-extern "C" void isLightDropGetFlag__16dSv_light_drop_cCFUc();
-extern "C" void onDungeonItem__12dSv_memBit_cFi();
-extern "C" void isDungeonItem__12dSv_memBit_cCFi();
-extern "C" void onEventBit__11dSv_event_cFUs();
-extern "C" void onSwitch__10dSv_info_cFii();
-extern "C" void dMeter2Info_setSword__FUcb(u8, bool);
-extern "C" void _savegpr_20();
-extern "C" void _savegpr_26();
-extern "C" void _savegpr_29();
-extern "C" void _restgpr_20();
-extern "C" void _restgpr_26();
-extern "C" void _restgpr_29();
-extern "C" u8 saveBitLabels__16dSv_event_flag_c[1644 + 4 /* padding */];
-
-//
-// Declarations:
-//
static void (*item_func_ptr[256])() = {
item_func_HEART,
@@ -715,16 +266,16 @@ static void (*item_func_ptr[256])() = {
item_func_noentry,
};
-inline void getItemFunc(u8 i_no) {
- dComIfGs_onItemFirstBit(i_no);
- item_func_ptr[i_no]();
+inline void getItemFunc(u8 i_itemNo) {
+ dComIfGs_onItemFirstBit(i_itemNo);
+ item_func_ptr[i_itemNo]();
}
-void execItemGet(u8 item_id) {
- getItemFunc(item_id);
+void execItemGet(u8 i_itemNo) {
+ getItemFunc(i_itemNo);
}
-static s32 (*item_getcheck_func_ptr[256])() = {
+static int (*item_getcheck_func_ptr[256])() = {
item_getcheck_func_HEART,
item_getcheck_func_GREEN_RUPEE,
item_getcheck_func_BLUE_RUPEE,
@@ -983,18 +534,18 @@ static s32 (*item_getcheck_func_ptr[256])() = {
item_getcheck_func_noentry,
};
-inline s32 getCheckItemFunc(u8 i_no) {
- return item_getcheck_func_ptr[i_no]();
+inline int getCheckItemFunc(u8 i_itemNo) {
+ return item_getcheck_func_ptr[i_itemNo]();
}
-s32 checkItemGet(u8 item_id, int param_2) {
- s32 checkItem = getCheckItemFunc(item_id);
+int checkItemGet(u8 i_itemNo, int i_default) {
+ int result = getCheckItemFunc(i_itemNo);
- if (checkItem == -1) {
- checkItem = param_2;
+ if (result == -1) {
+ result = i_default;
}
-
- return checkItem;
+
+ return result;
}
void item_func_HEART() {
@@ -1151,17 +702,17 @@ void item_func_DUNGEON_BACK() {
void item_func_SWORD() {
dComIfGs_setCollectSword(COLLECT_ORDON_SWORD);
- dComIfGs_setSelectEquipSword__FUc(SWORD);
+ dComIfGs_setSelectEquipSword(SWORD);
}
void item_func_MASTER_SWORD() {
dComIfGs_setCollectSword(COLLECT_MASTER_SWORD);
- dComIfGs_setSelectEquipSword__FUc(MASTER_SWORD);
+ dComIfGs_setSelectEquipSword(MASTER_SWORD);
}
void item_func_WOOD_SHIELD() {
dComIfGs_setCollectShield(COLLECT_WOODEN_SHIELD);
- dComIfGs_setSelectEquipShield__FUc(WOOD_SHIELD);
+ dComIfGs_setSelectEquipShield(WOOD_SHIELD);
}
void item_func_SHIELD() {}
@@ -1207,10 +758,7 @@ void item_func_WALLET_LV3() {
}
void item_func_ZORAS_JEWEL() {
- int checkFishingRod;
-
- checkFishingRod = item_getcheck_func_FISHING_ROD_1();
- if (checkFishingRod != 0) {
+ if (item_getcheck_func_FISHING_ROD_1()) {
dComIfGs_setRodTypeLevelUp();
} else {
dComIfGs_setItem(SLOT_20, ZORAS_JEWEL);
@@ -1667,779 +1215,783 @@ void item_func_KEY_OF_FILONE() {
void item_func_noentry() {}
-s32 item_getcheck_func_noentry() {
+int item_getcheck_func_noentry() {
return -1;
}
-s32 item_getcheck_func_HEART() {
+int item_getcheck_func_HEART() {
return -1;
}
-s32 item_getcheck_func_GREEN_RUPEE() {
+int item_getcheck_func_GREEN_RUPEE() {
return i_dComIfGs_isItemFirstBit(GREEN_RUPEE);
}
-s32 item_getcheck_func_BLUE_RUPEE() {
+int item_getcheck_func_BLUE_RUPEE() {
return i_dComIfGs_isItemFirstBit(BLUE_RUPEE);
}
-s32 item_getcheck_func_YELLOW_RUPEE() {
+int item_getcheck_func_YELLOW_RUPEE() {
return i_dComIfGs_isItemFirstBit(YELLOW_RUPEE);
}
-s32 item_getcheck_func_RED_RUPEE() {
+int item_getcheck_func_RED_RUPEE() {
return i_dComIfGs_isItemFirstBit(RED_RUPEE);
}
-s32 item_getcheck_func_PURPLE_RUPEE() {
+int item_getcheck_func_PURPLE_RUPEE() {
return i_dComIfGs_isItemFirstBit(PURPLE_RUPEE);
}
-s32 item_getcheck_func_ORANGE_RUPEE() {
+int item_getcheck_func_ORANGE_RUPEE() {
return i_dComIfGs_isItemFirstBit(ORANGE_RUPEE);
}
-s32 item_getcheck_func_SILVER_RUPEE() {
+int item_getcheck_func_SILVER_RUPEE() {
return i_dComIfGs_isItemFirstBit(SILVER_RUPEE);
}
-s32 item_getcheck_func_S_MAGIC() {
+int item_getcheck_func_S_MAGIC() {
return -1;
}
-s32 item_getcheck_func_L_MAGIC() {
+int item_getcheck_func_L_MAGIC() {
return -1;
}
-s32 item_getcheck_func_BOMB_5() {
+int item_getcheck_func_BOMB_5() {
return i_dComIfGs_isItemFirstBit(BOMB_5);
}
-s32 item_getcheck_func_BOMB_10() {
+int item_getcheck_func_BOMB_10() {
return i_dComIfGs_isItemFirstBit(BOMB_10);
}
-s32 item_getcheck_func_BOMB_20() {
+int item_getcheck_func_BOMB_20() {
return i_dComIfGs_isItemFirstBit(BOMB_20);
}
-s32 item_getcheck_func_BOMB_30() {
+int item_getcheck_func_BOMB_30() {
return i_dComIfGs_isItemFirstBit(BOMB_30);
}
-s32 item_getcheck_func_ARROW_10() {
+int item_getcheck_func_ARROW_10() {
return i_dComIfGs_isItemFirstBit(ARROW_10);
}
-s32 item_getcheck_func_ARROW_20() {
+int item_getcheck_func_ARROW_20() {
return i_dComIfGs_isItemFirstBit(ARROW_20);
}
-s32 item_getcheck_func_ARROW_30() {
+int item_getcheck_func_ARROW_30() {
return i_dComIfGs_isItemFirstBit(ARROW_30);
}
-s32 item_getcheck_func_ARROW_1() {
+int item_getcheck_func_ARROW_1() {
return i_dComIfGs_isItemFirstBit(ARROW_1);
}
-s32 item_getcheck_func_PACHINKO_SHOT() {
+int item_getcheck_func_PACHINKO_SHOT() {
return i_dComIfGs_isItemFirstBit(PACHINKO_SHOT);
}
-s32 item_getcheck_func_WATER_BOMB_5() {
+int item_getcheck_func_WATER_BOMB_5() {
return -1;
}
-s32 item_getcheck_func_WATER_BOMB_10() {
+int item_getcheck_func_WATER_BOMB_10() {
return -1;
}
-s32 item_getcheck_func_WATER_BOMB_20() {
+int item_getcheck_func_WATER_BOMB_20() {
return -1;
}
-s32 item_getcheck_func_WATER_BOMB_30() {
+int item_getcheck_func_WATER_BOMB_30() {
return -1;
}
-s32 item_getcheck_func_BOMB_INSECT_5() {
+int item_getcheck_func_BOMB_INSECT_5() {
return -1;
}
-s32 item_getcheck_func_BOMB_INSECT_10() {
+int item_getcheck_func_BOMB_INSECT_10() {
return i_dComIfGs_isItemFirstBit(BOMB_INSECT_10);
}
-s32 item_getcheck_func_BOMB_INSECT_20() {
+int item_getcheck_func_BOMB_INSECT_20() {
return i_dComIfGs_isItemFirstBit(BOMB_INSECT_20);
}
-s32 item_getcheck_func_BOMB_INSECT_30() {
+int item_getcheck_func_BOMB_INSECT_30() {
return i_dComIfGs_isItemFirstBit(BOMB_INSECT_30);
}
-s32 item_getcheck_func_RECOVER_FAILY() {
+int item_getcheck_func_RECOVER_FAILY() {
return -1;
}
-s32 item_getcheck_func_TRIPLE_HEART() {
+int item_getcheck_func_TRIPLE_HEART() {
return -1;
}
-s32 item_getcheck_func_SMALL_KEY() {
+int item_getcheck_func_SMALL_KEY() {
return -1;
}
-s32 item_getcheck_func_KAKERA_HEART() {
+int item_getcheck_func_KAKERA_HEART() {
return -1;
}
-s32 item_getcheck_func_UTUWA_HEART() {
+int item_getcheck_func_UTUWA_HEART() {
return -1;
}
-s32 item_getcheck_func_MAP() {
+int item_getcheck_func_MAP() {
return dComIfGs_isDungeonItemMap();
}
-s32 item_getcheck_func_COMPUS() {
+int item_getcheck_func_COMPUS() {
return -1;
}
-s32 item_getcheck_func_DUNGEON_EXIT() {
- return dComIfGs_getItem(SLOT_18, true) == DUNGEON_EXIT ? 1 : 0;
+int item_getcheck_func_DUNGEON_EXIT() {
+ return dComIfGs_getItem(SLOT_18, true) == DUNGEON_EXIT ? TRUE : FALSE;
}
-s32 item_getcheck_func_BOSS_KEY() {
+int item_getcheck_func_BOSS_KEY() {
return dComIfGs_isDungeonItemBossKey();
}
-s32 item_getcheck_func_DUNGEON_BACK() {
- return dComIfGs_getItem(SLOT_18, true) == DUNGEON_BACK ? 1 : 0;
+int item_getcheck_func_DUNGEON_BACK() {
+ return dComIfGs_getItem(SLOT_18, true) == DUNGEON_BACK ? TRUE : FALSE;
}
-s32 item_getcheck_func_SWORD() {
+int item_getcheck_func_SWORD() {
return dComIfGs_isCollectSword(COLLECT_ORDON_SWORD);
}
-s32 item_getcheck_func_MASTER_SWORD() {
+int item_getcheck_func_MASTER_SWORD() {
return dComIfGs_isCollectSword(COLLECT_MASTER_SWORD);
}
-s32 item_getcheck_func_WOOD_SHIELD() {
+int item_getcheck_func_WOOD_SHIELD() {
return i_dComIfGs_isItemFirstBit(WOOD_SHIELD);
}
-s32 item_getcheck_func_SHIELD() {
+int item_getcheck_func_SHIELD() {
return i_dComIfGs_isItemFirstBit(SHIELD);
}
-s32 item_getcheck_func_HYLIA_SHIELD() {
+int item_getcheck_func_HYLIA_SHIELD() {
return i_dComIfGs_isItemFirstBit(HYLIA_SHIELD);
}
-s32 item_getcheck_func_TKS_LETTER() {
- return dComIfGs_getItem(SLOT_18, true) == TKS_LETTER ? 1 : 0;
+int item_getcheck_func_TKS_LETTER() {
+ return dComIfGs_getItem(SLOT_18, true) == TKS_LETTER ? TRUE : FALSE;
}
-s32 item_getcheck_func_WEAR_CASUAL() {
+int item_getcheck_func_WEAR_CASUAL() {
return i_dComIfGs_isItemFirstBit(WEAR_CASUAL);
}
-s32 item_getcheck_func_WEAR_KOKIRI() {
+int item_getcheck_func_WEAR_KOKIRI() {
return dComIfGs_isCollectClothing(KOKIRI_CLOTHES_FLAG);
}
-s32 item_getcheck_func_ARMOR() {
+int item_getcheck_func_ARMOR() {
return i_dComIfGs_isItemFirstBit(ARMOR);
}
-s32 item_getcheck_func_WEAR_ZORA() {
+int item_getcheck_func_WEAR_ZORA() {
return i_dComIfGs_isItemFirstBit(WEAR_ZORA);
}
-s32 item_getcheck_func_MAGIC_LV1() {
+int item_getcheck_func_MAGIC_LV1() {
return -1;
}
-s32 item_getcheck_func_DUNGEON_EXIT_2() {
- return dComIfGs_getItem(SLOT_18, true) == DUNGEON_EXIT ? 1 : 0;
+int item_getcheck_func_DUNGEON_EXIT_2() {
+ return dComIfGs_getItem(SLOT_18, true) == DUNGEON_EXIT ? TRUE : FALSE;
}
-s32 item_getcheck_func_WALLET_LV1() {
+int item_getcheck_func_WALLET_LV1() {
return -1;
}
-s32 item_getcheck_func_WALLET_LV2() {
+int item_getcheck_func_WALLET_LV2() {
return -1;
}
-s32 item_getcheck_func_WALLET_LV3() {
+int item_getcheck_func_WALLET_LV3() {
return -1;
}
-s32 item_getcheck_func_ZORAS_JEWEL() {
- return dComIfGs_getItem(SLOT_20, true) == ZORAS_JEWEL ? 1 : 0;
+int item_getcheck_func_ZORAS_JEWEL() {
+ return dComIfGs_getItem(SLOT_20, true) == ZORAS_JEWEL ? TRUE : FALSE;
}
-s32 item_getcheck_func_HAWK_EYE() {
+int item_getcheck_func_HAWK_EYE() {
return i_dComIfGs_isItemFirstBit(HAWK_EYE);
}
-s32 item_getcheck_func_WOOD_STICK() {
+int item_getcheck_func_WOOD_STICK() {
return i_dComIfGs_isItemFirstBit(WOOD_STICK);
}
-s32 item_getcheck_func_BOOMERANG() {
- return dComIfGs_getItem(SLOT_0, true) == BOOMERANG ? 1 : 0;
+int item_getcheck_func_BOOMERANG() {
+ return dComIfGs_getItem(SLOT_0, true) == BOOMERANG ? TRUE : FALSE;
}
-s32 item_getcheck_func_SPINNER() {
- return dComIfGs_getItem(SLOT_2, true) == SPINNER ? 1 : 0;
+int item_getcheck_func_SPINNER() {
+ return dComIfGs_getItem(SLOT_2, true) == SPINNER ? TRUE : FALSE;
}
-s32 item_getcheck_func_IRONBALL() {
- return dComIfGs_getItem(SLOT_6, true) == IRONBALL ? 1 : 0;
+int item_getcheck_func_IRONBALL() {
+ return dComIfGs_getItem(SLOT_6, true) == IRONBALL ? TRUE : FALSE;
}
-s32 item_getcheck_func_BOW() {
- return dComIfGs_getItem(SLOT_4, false) == BOW ? 1 : 0;
+int item_getcheck_func_BOW() {
+ return dComIfGs_getItem(SLOT_4, false) == BOW ? TRUE : FALSE;
}
-s32 item_getcheck_func_HOOKSHOT() {
- return dComIfGs_getItem(SLOT_9, true) == HOOKSHOT ? 1 : 0;
+int item_getcheck_func_HOOKSHOT() {
+ return dComIfGs_getItem(SLOT_9, true) == HOOKSHOT ? TRUE : FALSE;
}
-s32 item_getcheck_func_HVY_BOOTS() {
- return dComIfGs_getItem(SLOT_3, true) == HVY_BOOTS ? 1 : 0;
+int item_getcheck_func_HVY_BOOTS() {
+ return dComIfGs_getItem(SLOT_3, true) == HVY_BOOTS ? TRUE : FALSE;
}
-s32 item_getcheck_func_COPY_ROD() {
- return dComIfGs_getItem(SLOT_8, true) == COPY_ROD ? 1 : 0;
+int item_getcheck_func_COPY_ROD() {
+ return dComIfGs_getItem(SLOT_8, true) == COPY_ROD ? TRUE : FALSE;
}
-s32 item_getcheck_func_W_HOOKSHOT() {
- return dComIfGs_getItem(SLOT_10, true) == W_HOOKSHOT ? 1 : 0;
+int item_getcheck_func_W_HOOKSHOT() {
+ return dComIfGs_getItem(SLOT_10, true) == W_HOOKSHOT ? TRUE : FALSE;
}
-s32 item_getcheck_func_KANTERA() {
- return dComIfGs_getItem(SLOT_1, true) == KANTERA ? 1 : 0;
+int item_getcheck_func_KANTERA() {
+ return dComIfGs_getItem(SLOT_1, true) == KANTERA ? TRUE : FALSE;
}
-s32 item_getcheck_func_LIGHT_SWORD() {
+int item_getcheck_func_LIGHT_SWORD() {
return dComIfGs_isCollectSword(COLLECT_LIGHT_SWORD);
}
/* 8009A0C8-8009A1FC 094A08 0134+00 7/6 0/0 0/0 .text item_getcheck_func_FISHING_ROD_1__Fv */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm s32 item_getcheck_func_FISHING_ROD_1() {
- nofralloc
-#include "asm/d/d_item/item_getcheck_func_FISHING_ROD_1__Fv.s"
+int item_getcheck_func_FISHING_ROD_1() {
+ return (dComIfGs_getItem(SLOT_20, true) == FISHING_ROD_1 ||
+ dComIfGs_getItem(SLOT_20, true) == BEE_ROD ||
+ dComIfGs_getItem(SLOT_20, true) == WORM_ROD ||
+ dComIfGs_getItem(SLOT_20, true) == JEWEL_ROD ||
+ dComIfGs_getItem(SLOT_20, true) == JEWEL_BEE_ROD ||
+ dComIfGs_getItem(SLOT_20, true) == JEWEL_WORM_ROD) ?
+ TRUE :
+ FALSE;
}
-#pragma pop
-s32 item_getcheck_func_PACHINKO() {
- return dComIfGs_getItem(SLOT_23, true) == PACHINKO ? 1 : 0;
+int item_getcheck_func_PACHINKO() {
+ return dComIfGs_getItem(SLOT_23, true) == PACHINKO ? TRUE : FALSE;
}
-s32 item_getcheck_func_COPY_ROD_2() {
+int item_getcheck_func_COPY_ROD_2() {
return -1;
}
-s32 item_getcheck_func_BOMB_BAG_LV2() {
+int item_getcheck_func_BOMB_BAG_LV2() {
return i_dComIfGs_isItemFirstBit(BOMB_BAG_LV2);
}
-s32 item_getcheck_func_BOMB_BAG_LV1() {
+int item_getcheck_func_BOMB_BAG_LV1() {
return i_dComIfGs_isItemFirstBit(BOMB_BAG_LV1);
}
-s32 item_getcheck_func_BOMB_IN_BAG() {
+int item_getcheck_func_BOMB_IN_BAG() {
return i_dComIfGs_isItemFirstBit(BOMB_IN_BAG);
}
-s32 item_getcheck_func_LIGHT_ARROW() {
+int item_getcheck_func_LIGHT_ARROW() {
return i_dComIfGs_isItemFirstBit(LIGHT_ARROW);
}
-s32 item_getcheck_func_ARROW_LV1() {
- return (dComIfGs_getItem(SLOT_4, false) == BOW && dComIfGs_getArrowMax() >= 30) ? 1 : 0;
+int item_getcheck_func_ARROW_LV1() {
+ return (dComIfGs_getItem(SLOT_4, false) == BOW && dComIfGs_getArrowMax() >= 30) ? TRUE : FALSE;
}
-s32 item_getcheck_func_ARROW_LV2() {
- return (dComIfGs_getItem(SLOT_4, false) == BOW && dComIfGs_getArrowMax() >= 60) ? 1 : 0;
+int item_getcheck_func_ARROW_LV2() {
+ return (dComIfGs_getItem(SLOT_4, false) == BOW && dComIfGs_getArrowMax() >= 60) ? TRUE : FALSE;
}
-s32 item_getcheck_func_ARROW_LV3() {
- return (dComIfGs_getItem(SLOT_4, false) == BOW && dComIfGs_getArrowMax() >= 100) ? 1 : 0;
+int item_getcheck_func_ARROW_LV3() {
+ return (dComIfGs_getItem(SLOT_4, false) == BOW && dComIfGs_getArrowMax() >= 100) ? TRUE : FALSE;
}
-s32 item_getcheck_func_LURE_ROD() {
+int item_getcheck_func_LURE_ROD() {
return -1;
}
-s32 item_getcheck_func_BOMB_ARROW() {
+int item_getcheck_func_BOMB_ARROW() {
return -1;
}
-s32 item_getcheck_func_HAWK_ARROW() {
+int item_getcheck_func_HAWK_ARROW() {
return -1;
}
-s32 item_getcheck_func_BEE_ROD() {
+int item_getcheck_func_BEE_ROD() {
return item_getcheck_func_FISHING_ROD_1();
}
-s32 item_getcheck_func_JEWEL_ROD() {
+int item_getcheck_func_JEWEL_ROD() {
return item_getcheck_func_FISHING_ROD_1();
}
-s32 item_getcheck_func_WORM_ROD() {
+int item_getcheck_func_WORM_ROD() {
return item_getcheck_func_FISHING_ROD_1();
}
-s32 item_getcheck_func_JEWEL_BEE_ROD() {
+int item_getcheck_func_JEWEL_BEE_ROD() {
return item_getcheck_func_FISHING_ROD_1();
}
-s32 item_getcheck_func_JEWEL_WORM_ROD() {
+int item_getcheck_func_JEWEL_WORM_ROD() {
return item_getcheck_func_FISHING_ROD_1();
}
-s32 item_getcheck_func_EMPTY_BOTTLE() {
+int item_getcheck_func_EMPTY_BOTTLE() {
return dComIfGs_checkBottle(EMPTY_BOTTLE);
}
-s32 item_getcheck_func_RED_BOTTLE() {
+int item_getcheck_func_RED_BOTTLE() {
return dComIfGs_checkBottle(RED_BOTTLE);
}
-s32 item_getcheck_func_GREEN_BOTTLE() {
+int item_getcheck_func_GREEN_BOTTLE() {
return dComIfGs_checkBottle(GREEN_BOTTLE);
}
-s32 item_getcheck_func_BLUE_BOTTLE() {
+int item_getcheck_func_BLUE_BOTTLE() {
return dComIfGs_checkBottle(BLUE_BOTTLE);
}
-s32 item_getcheck_func_MILK_BOTTLE() {
+int item_getcheck_func_MILK_BOTTLE() {
return dComIfGs_checkBottle(MILK_BOTTLE);
}
-s32 item_getcheck_func_HALF_MILK_BOTTLE() {
+int item_getcheck_func_HALF_MILK_BOTTLE() {
return dComIfGs_checkBottle(HALF_MILK_BOTTLE);
}
-s32 item_getcheck_func_OIL_BOTTLE() {
+int item_getcheck_func_OIL_BOTTLE() {
return dComIfGs_checkBottle(OIL_BOTTLE);
}
-s32 item_getcheck_func_WATER_BOTTLE() {
+int item_getcheck_func_WATER_BOTTLE() {
return dComIfGs_checkBottle(WATER_BOTTLE);
}
-s32 item_getcheck_func_OIL_BOTTLE2() {
+int item_getcheck_func_OIL_BOTTLE2() {
return dComIfGs_checkBottle(OIL_BOTTLE_2);
}
-s32 item_getcheck_func_RED_BOTTLE2() {
+int item_getcheck_func_RED_BOTTLE2() {
return dComIfGs_checkBottle(RED_BOTTLE_2);
}
-s32 item_getcheck_func_UGLY_SOUP() {
+int item_getcheck_func_UGLY_SOUP() {
return dComIfGs_checkBottle(UGLY_SOUP);
}
-s32 item_getcheck_func_HOT_SPRING() {
+int item_getcheck_func_HOT_SPRING() {
return dComIfGs_checkBottle(HOT_SPRING);
}
-s32 item_getcheck_func_FAIRY_BOTTLE() {
+int item_getcheck_func_FAIRY_BOTTLE() {
return dComIfGs_checkBottle(FAIRY);
}
-s32 item_getcheck_func_HOT_SPRING2() {
+int item_getcheck_func_HOT_SPRING2() {
return dComIfGs_checkBottle(HOT_SPRING);
}
-s32 item_getcheck_func_OIL2() {
+int item_getcheck_func_OIL2() {
return dComIfGs_checkBottle(OIL2);
}
-s32 item_getcheck_func_OIL() {
+int item_getcheck_func_OIL() {
return dComIfGs_checkBottle(OIL);
}
-s32 item_getcheck_func_NORMAL_BOMB() {
+int item_getcheck_func_NORMAL_BOMB() {
return i_dComIfGs_isItemFirstBit(NORMAL_BOMB);
}
-s32 item_getcheck_func_WATER_BOMB() {
+int item_getcheck_func_WATER_BOMB() {
return i_dComIfGs_isItemFirstBit(WATER_BOMB);
}
-s32 item_getcheck_func_POKE_BOMB() {
+int item_getcheck_func_POKE_BOMB() {
return i_dComIfGs_isItemFirstBit(POKE_BOMB);
}
-s32 item_getcheck_func_FAIRY_DROP() {
+int item_getcheck_func_FAIRY_DROP() {
return dComIfGs_checkBottle(FAIRY_DROP);
}
-s32 item_getcheck_func_WORM() {
+int item_getcheck_func_WORM() {
return dComIfGs_checkBottle(WORM);
}
-s32 item_getcheck_func_DROP_BOTTLE() {
+int item_getcheck_func_DROP_BOTTLE() {
return i_dComIfGs_isItemFirstBit(DROP_BOTTLE);
}
-s32 item_getcheck_func_BEE_CHILD() {
+int item_getcheck_func_BEE_CHILD() {
return -1;
}
-s32 item_getcheck_func_CHUCHU_RARE() {
+int item_getcheck_func_CHUCHU_RARE() {
return dComIfGs_checkBottle(CHUCHU_RARE);
}
-s32 item_getcheck_func_CHUCHU_RED() {
+int item_getcheck_func_CHUCHU_RED() {
return dComIfGs_checkBottle(CHUCHU_RED);
}
-s32 item_getcheck_func_CHUCHU_BLUE() {
+int item_getcheck_func_CHUCHU_BLUE() {
return dComIfGs_checkBottle(CHUCHU_BLUE);
}
-s32 item_getcheck_func_CHUCHU_GREEN() {
+int item_getcheck_func_CHUCHU_GREEN() {
return dComIfGs_checkBottle(CHUCHU_GREEN);
}
-s32 item_getcheck_func_CHUCHU_YELLOW() {
+int item_getcheck_func_CHUCHU_YELLOW() {
return dComIfGs_checkBottle(CHUCHU_YELLOW);
}
-s32 item_getcheck_func_CHUCHU_PURPLE() {
+int item_getcheck_func_CHUCHU_PURPLE() {
return dComIfGs_checkBottle(CHUCHU_PURPLE);
}
-s32 item_getcheck_func_LV1_SOUP() {
+int item_getcheck_func_LV1_SOUP() {
return i_dComIfGs_isItemFirstBit(LV1_SOUP);
}
-s32 item_getcheck_func_LV2_SOUP() {
+int item_getcheck_func_LV2_SOUP() {
return i_dComIfGs_isItemFirstBit(LV2_SOUP);
}
-s32 item_getcheck_func_LV3_SOUP() {
+int item_getcheck_func_LV3_SOUP() {
return i_dComIfGs_isItemFirstBit(LV3_SOUP);
}
-s32 item_getcheck_func_LETTER() {
- return dComIfGs_getItem(SLOT_21, true) == LETTER ? 1 : 0;
+int item_getcheck_func_LETTER() {
+ return dComIfGs_getItem(SLOT_21, true) == LETTER ? TRUE : FALSE;
}
-s32 item_getcheck_func_BILL() {
- return dComIfGs_getItem(SLOT_21, true) == BILL ? 1 : 0;
+int item_getcheck_func_BILL() {
+ return dComIfGs_getItem(SLOT_21, true) == BILL ? TRUE : FALSE;
}
-s32 item_getcheck_func_WOOD_STATUE() {
- return dComIfGs_getItem(SLOT_21, true) == WOOD_STATUE ? 1 : 0;
+int item_getcheck_func_WOOD_STATUE() {
+ return dComIfGs_getItem(SLOT_21, true) == WOOD_STATUE ? TRUE : FALSE;
}
-s32 item_getcheck_func_IRIAS_PENDANT() {
- return dComIfGs_getItem(SLOT_21, true) == IRIAS_PENDANT ? 1 : 0;
+int item_getcheck_func_IRIAS_PENDANT() {
+ return dComIfGs_getItem(SLOT_21, true) == IRIAS_PENDANT ? TRUE : FALSE;
}
-s32 item_getcheck_func_HORSE_FLUTE() {
- return dComIfGs_getItem(SLOT_22, true) == HORSE_FLUTE ? 1 : 0;
+int item_getcheck_func_HORSE_FLUTE() {
+ return dComIfGs_getItem(SLOT_22, true) == HORSE_FLUTE ? TRUE : FALSE;
}
-s32 item_getcheck_func_RAFRELS_MEMO() {
- return dComIfGs_getItem(SLOT_19, true) == RAFRELS_MEMO ? 1 : 0;
+int item_getcheck_func_RAFRELS_MEMO() {
+ return dComIfGs_getItem(SLOT_19, true) == RAFRELS_MEMO ? TRUE : FALSE;
}
-s32 item_getcheck_func_ASHS_SCRIBBLING() {
- return dComIfGs_getItem(SLOT_19, true) == ASHS_SCRIBBLING ? 1 : 0;
+int item_getcheck_func_ASHS_SCRIBBLING() {
+ return dComIfGs_getItem(SLOT_19, true) == ASHS_SCRIBBLING ? TRUE : FALSE;
}
-s32 item_getcheck_func_CHUCHU_YELLOW2() {
+int item_getcheck_func_CHUCHU_YELLOW2() {
return dComIfGs_checkBottle(CHUCHU_YELLOW2);
}
-s32 item_getcheck_func_OIL_BOTTLE3() {
+int item_getcheck_func_OIL_BOTTLE3() {
return -1;
}
-s32 item_getcheck_func_SHOP_BEE_CHILD() {
+int item_getcheck_func_SHOP_BEE_CHILD() {
return -1;
}
-s32 item_getcheck_func_CHUCHU_BLACK() {
+int item_getcheck_func_CHUCHU_BLACK() {
return dComIfGs_checkBottle(CHUCHU_BLACK);
}
-s32 item_getcheck_func_LIGHT_DROP() {
+int item_getcheck_func_LIGHT_DROP() {
return i_dComIfGs_isItemFirstBit(LIGHT_DROP);
}
-s32 item_getcheck_func_DROP_CONTAINER() {
+int item_getcheck_func_DROP_CONTAINER() {
return dComIfGs_isLightDropGetFlag(FARON_VESSEL);
}
-s32 item_getcheck_func_DROP_CONTAINER02() {
+int item_getcheck_func_DROP_CONTAINER02() {
return dComIfGs_isLightDropGetFlag(ELDIN_VESSEL);
}
-s32 item_getcheck_func_DROP_CONTAINER03() {
+int item_getcheck_func_DROP_CONTAINER03() {
return dComIfGs_isLightDropGetFlag(LANAYRU_VESSEL);
}
-s32 item_getcheck_func_FILLED_CONTAINER() {
+int item_getcheck_func_FILLED_CONTAINER() {
return -1;
}
-s32 item_getcheck_func_MIRROR_PIECE_2() {
+int item_getcheck_func_MIRROR_PIECE_2() {
return -1;
}
-s32 item_getcheck_func_MIRROR_PIECE_3() {
+int item_getcheck_func_MIRROR_PIECE_3() {
return -1;
}
-s32 item_getcheck_func_MIRROR_PIECE_4() {
+int item_getcheck_func_MIRROR_PIECE_4() {
return -1;
}
-s32 item_getcheck_func_SMELL_YELIA_POUCH() {
- return dComIfGs_getCollectSmell() == SMELL_YELIA_POUCH ? 1 : 0;
+int item_getcheck_func_SMELL_YELIA_POUCH() {
+ return dComIfGs_getCollectSmell() == SMELL_YELIA_POUCH ? TRUE : FALSE;
}
-s32 item_getcheck_func_SMELL_PUMPKIN() {
+int item_getcheck_func_SMELL_PUMPKIN() {
return -1;
}
-s32 item_getcheck_func_SMELL_POH() {
- return dComIfGs_getCollectSmell() == SMELL_POH ? 1 : 0;
+int item_getcheck_func_SMELL_POH() {
+ return dComIfGs_getCollectSmell() == SMELL_POH ? TRUE : FALSE;
}
-s32 item_getcheck_func_SMELL_FISH() {
- return dComIfGs_getCollectSmell() == SMELL_FISH ? 1 : 0;
+int item_getcheck_func_SMELL_FISH() {
+ return dComIfGs_getCollectSmell() == SMELL_FISH ? TRUE : FALSE;
}
-s32 item_getcheck_func_SMELL_CHILDREN() {
- return dComIfGs_getCollectSmell() == SMELL_CHILDREN ? 1 : 0;
+int item_getcheck_func_SMELL_CHILDREN() {
+ return dComIfGs_getCollectSmell() == SMELL_CHILDREN ? TRUE : FALSE;
}
-s32 item_getcheck_func_SMELL_MEDICINE() {
- return dComIfGs_getCollectSmell() == SMELL_MEDICINE ? 1 : 0;
+int item_getcheck_func_SMELL_MEDICINE() {
+ return dComIfGs_getCollectSmell() == SMELL_MEDICINE ? TRUE : FALSE;
}
-s32 item_getcheck_func_M_BEETLE() {
+int item_getcheck_func_M_BEETLE() {
return i_dComIfGs_isItemFirstBit(M_BEETLE);
}
-s32 item_getcheck_func_F_BEETLE() {
+int item_getcheck_func_F_BEETLE() {
return i_dComIfGs_isItemFirstBit(F_BEETLE);
}
-s32 item_getcheck_func_M_BUTTERFLY() {
+int item_getcheck_func_M_BUTTERFLY() {
return i_dComIfGs_isItemFirstBit(M_BUTTERFLY);
}
-s32 item_getcheck_func_F_BUTTERFLY() {
+int item_getcheck_func_F_BUTTERFLY() {
return i_dComIfGs_isItemFirstBit(F_BUTTERFLY);
}
-s32 item_getcheck_func_M_STAG_BEETLE() {
+int item_getcheck_func_M_STAG_BEETLE() {
return i_dComIfGs_isItemFirstBit(M_STAG_BEETLE);
}
-s32 item_getcheck_func_F_STAG_BEETLE() {
+int item_getcheck_func_F_STAG_BEETLE() {
return i_dComIfGs_isItemFirstBit(F_STAG_BEETLE);
}
-s32 item_getcheck_func_M_GRASSHOPPER() {
+int item_getcheck_func_M_GRASSHOPPER() {
return i_dComIfGs_isItemFirstBit(M_GRASSHOPPER);
}
-s32 item_getcheck_func_F_GRASSHOPPER() {
+int item_getcheck_func_F_GRASSHOPPER() {
return i_dComIfGs_isItemFirstBit(F_GRASSHOPPER);
}
-s32 item_getcheck_func_M_NANAFUSHI() {
+int item_getcheck_func_M_NANAFUSHI() {
return i_dComIfGs_isItemFirstBit(M_NANAFUSHI);
}
-s32 item_getcheck_func_F_NANAFUSHI() {
+int item_getcheck_func_F_NANAFUSHI() {
return i_dComIfGs_isItemFirstBit(F_NANAFUSHI);
}
-s32 item_getcheck_func_M_DANGOMUSHI() {
+int item_getcheck_func_M_DANGOMUSHI() {
return i_dComIfGs_isItemFirstBit(M_DANGOMUSHI);
}
-s32 item_getcheck_func_F_DANGOMUSHI() {
+int item_getcheck_func_F_DANGOMUSHI() {
return i_dComIfGs_isItemFirstBit(F_DANGOMUSHI);
}
-s32 item_getcheck_func_M_MANTIS() {
+int item_getcheck_func_M_MANTIS() {
return i_dComIfGs_isItemFirstBit(M_MANTIS);
}
-s32 item_getcheck_func_F_MANTIS() {
+int item_getcheck_func_F_MANTIS() {
return i_dComIfGs_isItemFirstBit(F_MANTIS);
}
-s32 item_getcheck_func_M_LADYBUG() {
+int item_getcheck_func_M_LADYBUG() {
return i_dComIfGs_isItemFirstBit(M_LADYBUG);
}
-s32 item_getcheck_func_F_LADYBUG() {
+int item_getcheck_func_F_LADYBUG() {
return i_dComIfGs_isItemFirstBit(F_LADYBUG);
}
-s32 item_getcheck_func_M_SNAIL() {
+int item_getcheck_func_M_SNAIL() {
return i_dComIfGs_isItemFirstBit(M_SNAIL);
}
-s32 item_getcheck_func_F_SNAIL() {
+int item_getcheck_func_F_SNAIL() {
return i_dComIfGs_isItemFirstBit(F_SNAIL);
}
-s32 item_getcheck_func_M_DRAGONFLY() {
+int item_getcheck_func_M_DRAGONFLY() {
return i_dComIfGs_isItemFirstBit(M_DRAGONFLY);
}
-s32 item_getcheck_func_F_DRAGONFLY() {
+int item_getcheck_func_F_DRAGONFLY() {
return i_dComIfGs_isItemFirstBit(F_DRAGONFLY);
}
-s32 item_getcheck_func_M_ANT() {
+int item_getcheck_func_M_ANT() {
return i_dComIfGs_isItemFirstBit(M_ANT);
}
-s32 item_getcheck_func_F_ANT() {
+int item_getcheck_func_F_ANT() {
return i_dComIfGs_isItemFirstBit(F_ANT);
}
-s32 item_getcheck_func_M_MAYFLY() {
+int item_getcheck_func_M_MAYFLY() {
return i_dComIfGs_isItemFirstBit(M_MAYFLY);
}
-s32 item_getcheck_func_F_MAYFLY() {
+int item_getcheck_func_F_MAYFLY() {
return i_dComIfGs_isItemFirstBit(F_MAYFLY);
}
-s32 item_getcheck_func_POU_SPIRIT() {
+int item_getcheck_func_POU_SPIRIT() {
return dComIfGs_getPohSpiritNum();
}
-s32 item_getcheck_func_ANCIENT_DOCUMENT() {
- return dComIfGs_getItem(SLOT_22, true) == ANCIENT_DOCUMENT ? 1 : 0;
+int item_getcheck_func_ANCIENT_DOCUMENT() {
+ return dComIfGs_getItem(SLOT_22, true) == ANCIENT_DOCUMENT ? TRUE : FALSE;
}
-s32 item_getcheck_func_AIR_LETTER() {
- return dComIfGs_getItem(SLOT_22, true) == AIR_LETTER ? 1 : 0;
+int item_getcheck_func_AIR_LETTER() {
+ return dComIfGs_getItem(SLOT_22, true) == AIR_LETTER ? TRUE : FALSE;
}
-s32 item_getcheck_func_ANCIENT_DOCUMENT2() {
- return dComIfGs_getItem(SLOT_22, true) == ANCIENT_DOCUMENT2 ? 1 : 0;
+int item_getcheck_func_ANCIENT_DOCUMENT2() {
+ return dComIfGs_getItem(SLOT_22, true) == ANCIENT_DOCUMENT2 ? TRUE : FALSE;
}
-s32 item_getcheck_func_LV7_DUNGEON_EXIT() {
- return dComIfGs_getItem(SLOT_18, true) == LV7_DUNGEON_EXIT ? 1 : 0;
+int item_getcheck_func_LV7_DUNGEON_EXIT() {
+ return dComIfGs_getItem(SLOT_18, true) == LV7_DUNGEON_EXIT ? TRUE : FALSE;
}
-s32 item_getcheck_func_LINKS_SAVINGS() {
+int item_getcheck_func_LINKS_SAVINGS() {
return -1;
}
-s32 item_getcheck_func_SMALL_KEY2() {
+int item_getcheck_func_SMALL_KEY2() {
return -1;
}
-s32 item_getcheck_func_POU_FIRE1() {
+int item_getcheck_func_POU_FIRE1() {
return -1;
}
-s32 item_getcheck_func_POU_FIRE2() {
+int item_getcheck_func_POU_FIRE2() {
return -1;
}
-s32 item_getcheck_func_POU_FIRE3() {
+int item_getcheck_func_POU_FIRE3() {
return -1;
}
-s32 item_getcheck_func_POU_FIRE4() {
+int item_getcheck_func_POU_FIRE4() {
return -1;
}
-s32 item_getcheck_func_BOSSRIDER_KEY() {
+int item_getcheck_func_BOSSRIDER_KEY() {
return -1;
}
-s32 item_getcheck_func_TOMATO_PUREE() {
+int item_getcheck_func_TOMATO_PUREE() {
return i_dComIfGs_isItemFirstBit(TOMATO_PUREE);
}
-s32 item_getcheck_func_TASTE() {
+int item_getcheck_func_TASTE() {
return i_dComIfGs_isItemFirstBit(TASTE);
}
-s32 item_getcheck_func_LV5_BOSS_KEY() {
+int item_getcheck_func_LV5_BOSS_KEY() {
return dComIfGs_isDungeonItemBossKey();
}
-s32 item_getcheck_func_SURFBOARD() {
+int item_getcheck_func_SURFBOARD() {
return -1;
}
-s32 item_getcheck_func_KANTERA2() {
+int item_getcheck_func_KANTERA2() {
return -1;
}
-s32 item_getcheck_func_L2_KEY_PIECES1() {
+int item_getcheck_func_L2_KEY_PIECES1() {
return i_dComIfGs_isItemFirstBit(L2_KEY_PIECES1);
}
-s32 item_getcheck_func_L2_KEY_PIECES2() {
+int item_getcheck_func_L2_KEY_PIECES2() {
return i_dComIfGs_isItemFirstBit(L2_KEY_PIECES2);
}
-s32 item_getcheck_func_L2_KEY_PIECES3() {
+int item_getcheck_func_L2_KEY_PIECES3() {
return i_dComIfGs_isItemFirstBit(L2_KEY_PIECES3);
}
-s32 item_getcheck_func_KEY_OF_CARAVAN() {
+int item_getcheck_func_KEY_OF_CARAVAN() {
return i_dComIfGs_isItemFirstBit(KEY_OF_CARAVAN);
}
-s32 item_getcheck_func_LV2_BOSS_KEY() {
+int item_getcheck_func_LV2_BOSS_KEY() {
return dComIfGs_isDungeonItemBossKey();
}
-s32 item_getcheck_func_KEY_OF_FILONE() {
+int item_getcheck_func_KEY_OF_FILONE() {
return dComIfGs_getKeyNum();
}
-s32 isBomb(u8 item_no) {
- s32 is_bomb = false;
+int isBomb(u8 i_itemNo) {
+ int is_bomb = false;
- if (item_no == BOMB_5 || item_no == BOMB_10 || item_no == BOMB_20 || item_no == BOMB_30 ||
- item_no == NORMAL_BOMB | item_no == WATER_BOMB || item_no == POKE_BOMB) {
+ if (i_itemNo == BOMB_5 || i_itemNo == BOMB_10 || i_itemNo == BOMB_20 || i_itemNo == BOMB_30 ||
+ i_itemNo == NORMAL_BOMB | i_itemNo == WATER_BOMB || i_itemNo == POKE_BOMB)
+ {
is_bomb = true;
}
return is_bomb;
}
-s32 isArrow(u8 item_no) {
- s32 is_arrow = false;
+int isArrow(u8 i_itemNo) {
+ int is_arrow = false;
- if (item_no == ARROW_1 || item_no == ARROW_10 || item_no == ARROW_20 || item_no == ARROW_30) {
+ if (i_itemNo == ARROW_1 || i_itemNo == ARROW_10 || i_itemNo == ARROW_20 || i_itemNo == ARROW_30)
+ {
is_arrow = true;
}
@@ -2447,8 +1999,8 @@ s32 isArrow(u8 item_no) {
}
/* 8009B708-8009B77C 096048 0074+00 0/0 4/4 1/1 .text isBottleItem__FUc */
-BOOL isBottleItem(u8 item_no) {
- switch (item_no) {
+BOOL isBottleItem(u8 i_itemNo) {
+ switch (i_itemNo) {
case OIL_BOTTLE3:
case EMPTY_BOTTLE:
case RED_BOTTLE:
@@ -2486,20 +2038,20 @@ BOOL isBottleItem(u8 item_no) {
}
}
-BOOL isHeart(u8 item_no) {
+BOOL isHeart(u8 i_itemNo) {
BOOL is_heart = false;
- if (item_no == HEART || item_no == TRIPLE_HEART) {
+ if (i_itemNo == HEART || i_itemNo == TRIPLE_HEART) {
is_heart = true;
}
return is_heart;
}
-bool isInsect(u8 item_no) {
+bool isInsect(u8 i_itemNo) {
bool is_insect = false;
- switch (item_no) {
+ switch (i_itemNo) {
case M_BEETLE:
case F_BEETLE:
case M_BUTTERFLY:
@@ -2530,55 +2082,53 @@ bool isInsect(u8 item_no) {
return is_insect;
}
-u8 check_itemno(int i_itemId) {
- if (!dComIfGs_isGetMagicUseFlag() && (i_itemId == S_MAGIC || i_itemId == L_MAGIC)) {
+u8 check_itemno(int i_itemNo) {
+ if (!dComIfGs_isGetMagicUseFlag() && (i_itemNo == S_MAGIC || i_itemNo == L_MAGIC)) {
return GREEN_RUPEE;
}
- if (i_itemId == ARROW_1) {
+ if (i_itemNo == ARROW_1) {
if (!i_dComIfGs_isItemFirstBit(BOW)) {
return GREEN_RUPEE;
}
} else {
- if (isArrow(i_itemId)) {
+ if (isArrow(i_itemNo)) {
if (!i_dComIfGs_isItemFirstBit(BOW)) {
return GREEN_RUPEE;
}
if (g_dComIfG_gameInfo.play.getLayerNo(0) == 0xD ||
- g_dComIfG_gameInfo.play.getLayerNo(0) == 0xE) {
- const char* tmp = dComIfGp_getStartStageName();
+ g_dComIfG_gameInfo.play.getLayerNo(0) == 0xE)
+ {
+ const char* stage_name = dComIfGp_getStartStageName();
// D_MN08: Palace of Twilight
- if (strncmp(tmp, "D_MN08", 6)) {
+ if (strncmp(stage_name, "D_MN08", 6)) {
return GREEN_RUPEE;
}
}
}
}
- if (!i_dComIfGs_isItemFirstBit(BOMB_BAG_LV1) && isBomb(i_itemId)) {
+ if (!i_dComIfGs_isItemFirstBit(BOMB_BAG_LV1) && isBomb(i_itemNo)) {
return GREEN_RUPEE;
} else {
- if (i_itemId == TRIPLE_HEART) {
- i_itemId = HEART;
+ if (i_itemNo == TRIPLE_HEART) {
+ i_itemNo = HEART;
}
- if (!checkItemGet(PACHINKO, 1) && i_itemId == PACHINKO_SHOT) {
- i_itemId = GREEN_RUPEE;
+ if (!checkItemGet(PACHINKO, 1) && i_itemNo == PACHINKO_SHOT) {
+ i_itemNo = GREEN_RUPEE;
}
- if (i_itemId == S_MAGIC || i_itemId == L_MAGIC) {
- i_itemId = GREEN_RUPEE;
+ if (i_itemNo == S_MAGIC || i_itemNo == L_MAGIC) {
+ i_itemNo = GREEN_RUPEE;
}
}
- return i_itemId;
+ return i_itemNo;
}
/* 8009B940-8009BBD8 096280 0298+00 11/11 0/0 0/0 .text addBombCount__FUcUc */
-#ifdef NONMATCHING
int addBombCount(u8 i_bombType, u8 i_addNum) {
u8 bombType[3];
- s32 bombNum[3];
- s32 var_r22;
- s32 bombIdx;
+ int bombNum[3];
for (u8 i = 0; i < 3; i++) {
bombType[i] = dComIfGs_getItem(i + SLOT_15, false);
@@ -2593,9 +2143,9 @@ int addBombCount(u8 i_bombType, u8 i_addNum) {
}
for (u8 i = 0; i < 3; i++) {
- bombIdx = -1;
- var_r22 = -1;
-
+ int bombIdx = -1;
+ int var_r22 = -1;
+
for (u8 j = 0; j < 3; j++) {
if (bombNum[j] == 0) {
bombIdx = j;
@@ -2604,13 +2154,15 @@ int addBombCount(u8 i_bombType, u8 i_addNum) {
}
for (u8 k = 0; k < 3; k++) {
- if (bombNum[k] > 0 && bombNum[k] > var_r22 && bombNum[k] != dComIfGs_getBombMax(bombType[k])) {
+ if (bombNum[k] > 0 && bombNum[k] > var_r22 &&
+ bombNum[k] != dComIfGs_getBombMax(bombType[k]))
+ {
bombIdx = k;
var_r22 = bombNum[k];
}
}
- if (bombIdx == -1) { // issue here?
+ if (bombIdx == -1) {
return i_addNum;
} else if (var_r22 == 0) {
if (dComIfGs_getBombMax(i_bombType) >= i_addNum) {
@@ -2635,19 +2187,6 @@ int addBombCount(u8 i_bombType, u8 i_addNum) {
return i_addNum;
}
-#else
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm int addBombCount(u8 param_0, u8 param_1) {
- nofralloc
-#include "asm/d/d_item/addBombCount__FUcUc.s"
-}
-#pragma pop
-#endif
-/* ############################################################################################## */
/* 80450F90-80450F98 000490 0004+04 0/0 2/2 0/0 .sbss mData__12dEnemyItem_c */
-u8 dEnemyItem_c::mData[4 + 4 /* padding */];
-
-/* 8037B0D0-8037B0D0 007730 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
+u8* dEnemyItem_c::mData;
diff --git a/src/d/d_item_data.cpp b/src/d/d_item_data.cpp
index ca5b29a2de..b2638860a1 100644
--- a/src/d/d_item_data.cpp
+++ b/src/d/d_item_data.cpp
@@ -1,26 +1,7 @@
-//
-// Generated By: dol2asm
-// Translation Unit: d/d_item_data
-//
-
#include "d/d_item_data.h"
-#include "dol2asm.h"
-
-//
-// Forward References:
-//
-
-extern "C" extern char const* const d_d_item_data__stringBase0;
-extern "C" void* item_resource__10dItem_data[1530];
-extern "C" void* field_item_res__10dItem_data[1020];
-extern "C" u8 item_info__10dItem_data[1020 + 4 /* padding */];
-
-//
-// Declarations:
-//
/* 803AC5A0-803ADD88 -00001 17E8+00 0/0 10/10 2/2 .data item_resource__10dItem_data */
-SECTION_DATA dItem_itemResource dItem_data::item_resource[255] = {
+dItem_itemResource dItem_data::item_resource[] = {
{"F_gD_rupy", 0x0004, 0xFFFF, 0xFFFF, 0x0007, 0xFFFF, 0x0, 0xFF, 0x002D, 0x64, 0x0000},
{"F_gD_rupy", 0x0004, 0xFFFF, 0xFFFF, 0x0007, 0xFFFF, 0x0, 0xFF, 0x002D, 0x3C, 0x0000},
{"F_gD_rupy", 0x0004, 0xFFFF, 0xFFFF, 0x0007, 0xFFFF, 0x1, 0xFF, 0x002D, 0x3C, 0x0000},
@@ -279,7 +260,7 @@ SECTION_DATA dItem_itemResource dItem_data::item_resource[255] = {
};
/* 803ADD88-803AED78 -00001 0FF0+00 0/0 3/3 14/14 .data field_item_res__10dItem_data */
-SECTION_DATA dItem_fieldItemResource dItem_data::field_item_res[255] = {
+dItem_fieldItemResource dItem_data::field_item_res[] = {
{"Always", 0x0014, 0xFFFF, 0x0030, 0xFF, 0x1000},
{"Always", 0x0017, 0xFFFF, 0x0031, 0x0, 0x1000},
{"Always", 0x0017, 0xFFFF, 0x0031, 0x1, 0x1000},
@@ -538,7 +519,7 @@ SECTION_DATA dItem_fieldItemResource dItem_data::field_item_res[255] = {
};
/* 803AED78-803AF178 00BE98 03FC+04 0/0 9/9 9/9 .data item_info__10dItem_data */
-SECTION_DATA dItem_itemInfo dItem_data::item_info[255] = {
+dItem_itemInfo dItem_data::item_info[] = {
{15, 40, 30, 4}, {20, 70, 30, 4}, {20, 70, 30, 4}, {20, 70, 30, 4}, {20, 70, 30, 4},
{20, 70, 30, 4}, {20, 70, 30, 4}, {20, 70, 30, 4}, {20, 40, 30, 4}, {20, 40, 30, 4},
{40, 60, 30, 0}, {40, 60, 30, 0}, {40, 60, 30, 0}, {40, 60, 30, 0}, {20, 80, 50, 0},
@@ -591,5 +572,3 @@ SECTION_DATA dItem_itemInfo dItem_data::item_info[255] = {
{0, 0, 0, 0}, {0, 0, 0, 4}, {0, 0, 0, 4}, {150, 50, 20, 21}, {0, 0, 0, 0},
{0, 0, 0, 0}, {0, 0, 0, 0}, {0, 0, 0, 0}, {0, 0, 0, 0}, {0, 0, 0, 0},
};
-
-/* 8037AD68-8037AD68 0073C8 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
diff --git a/src/d/d_kyeff.cpp b/src/d/d_kyeff.cpp
index 77f04f216a..b040a15762 100644
--- a/src/d/d_kyeff.cpp
+++ b/src/d/d_kyeff.cpp
@@ -8,11 +8,6 @@
#include "d/d_procname.h"
#include "d/kankyo/d_kankyo_wether.h"
-/* 801ADD00-801ADD38 1A8640 0038+00 2/2 0/0 0/0 .text dKankyo_DayProc__Fv */
-void dKankyo_DayProc() {
- dComIfGs_offTmpBit(dSv_event_tmp_flag_c::tempBitLabels[91]);
-}
-
static int dKyeff_Draw(dKyeff_c* i_this) {
dKyw_wether_draw();
return 1;
diff --git a/src/d/d_name.cpp b/src/d/d_name.cpp
index acbad3e5f8..68bf413a6c 100644
--- a/src/d/d_name.cpp
+++ b/src/d/d_name.cpp
@@ -4,15 +4,16 @@
//
#include "d/d_name.h"
+#include "JSystem/J2DGraph/J2DAnmLoader.h"
#include "JSystem/J2DGraph/J2DTextBox.h"
-#include "stdio.h"
#include "d/com/d_com_inf_game.h"
#include "d/d_lib.h"
#include "dol2asm.h"
#include "f_op/f_op_msg_mng.h"
#include "global.h"
-#include "m_Do/m_Do_controller_pad.h"
#include "m_Do/m_Do_audio.h"
+#include "m_Do/m_Do_controller_pad.h"
+#include "stdio.h"
//
// Forward References:
@@ -201,129 +202,8 @@ SECTION_DATA static selProcFunc SelProc[9] = {
&dName_c::MojiSelectAnm3, &dName_c::MenuSelect, &dName_c::MenuSelectAnm,
&dName_c::MenuSelectAnm2, &dName_c::MenuSelectAnm3, &dName_c::Wait};
-/* 803C2750-803C2788 -00001 0034+04 1/1 0/0 0/0 .data @4121 */
-SECTION_DATA static void* lit_4121[13 + 1 /* padding */] = {
- (void*)(((char*)mojiChange__7dName_cFUc) + 0x8C),
- (void*)(((char*)mojiChange__7dName_cFUc) + 0x130),
- (void*)(((char*)mojiChange__7dName_cFUc) + 0x170),
- (void*)(((char*)mojiChange__7dName_cFUc) + 0x1B0),
- (void*)(((char*)mojiChange__7dName_cFUc) + 0x358),
- (void*)(((char*)mojiChange__7dName_cFUc) + 0x2D4),
- (void*)(((char*)mojiChange__7dName_cFUc) + 0x358),
- (void*)(((char*)mojiChange__7dName_cFUc) + 0x31C),
- (void*)(((char*)mojiChange__7dName_cFUc) + 0x358),
- (void*)(((char*)mojiChange__7dName_cFUc) + 0x358),
- (void*)(((char*)mojiChange__7dName_cFUc) + 0x8C),
- (void*)(((char*)mojiChange__7dName_cFUc) + 0x31C),
- (void*)(((char*)mojiChange__7dName_cFUc) + 0x1B0),
- /* padding */
- NULL,
-};
-
-/* 803C2788-803C27C8 01F8A8 0040+00 0/1 0/0 0/0 .data l_cur0TagName$4610 */
-#pragma push
-#pragma force_active on
-SECTION_DATA static u64 l_cur0TagName[8] = {
- 's_00', 's_01', 's_02', 's_03', 's_04', 's_05', 's_06', 's_07',
-};
-#pragma pop
-
-/* 803C27C8-803C2808 01F8E8 0040+00 0/1 0/0 0/0 .data l_cur1TagName$4611 */
-#pragma push
-#pragma force_active on
-SECTION_DATA static u64 l_cur1TagName[8] = {
- 's_0r', 's_01r', 's_02r', 's_03r', 's_04r', 's_05r', 's_06r', 's_07r',
-};
-#pragma pop
-
-/* 803C2808-803C2828 01F928 0020+00 0/1 0/0 0/0 .data l_menu_icon_tag$4617 */
-#pragma push
-#pragma force_active on
-SECTION_DATA static u64 l_menu_icon_tag[4] = {
- 'p_ABC_n',
- 'p_abc_n',
- 'j_eigo_n',
- 'p_end_n',
-};
-#pragma pop
-
-/* 803C2828-803C28A0 01F948 0078+00 0/1 0/0 0/0 .data l_menu_tag$4618 */
-#pragma push
-#pragma force_active on
-SECTION_DATA static u64 l_menu_tag[15] = {
- 'p_ABC_0', 'p_ABC_1', 'p_ABC_2', 'p_abc_0', 'p_abc_1', 'p_abc_2',
- 'm_eigo_0', 'm_eigo_1', 'm_eigo_2', 'p_end_0', 'p_end_1', 'p_end_2',
-};
-#pragma pop
-
-/* 803C28A0-803C28B0 01F9C0 0010+00 0/1 0/0 0/0 .data l_menu_msg$4619 */
-#pragma push
-#pragma force_active on
-SECTION_DATA static u32 l_menu_msg[4] = {
- 0x38B,
- 0x38C,
- 0x388,
- 0x38E,
-};
-#pragma pop
-
-/* 803C28B0-803C2AB8 01F9D0 0208+00 0/1 0/0 0/0 .data l_tagName$4635 */
-#pragma push
-#pragma force_active on
-SECTION_DATA static u64 l_tagName[65] = {
- 'm_00_0', 'm_00_1', 'm_00_2', 'm_00_3', 'm_00_4', 'm_01_0', 'm_01_1', 'm_01_2', 'm_01_3',
- 'm_01_4', 'm_02_0', 'm_02_1', 'm_02_2', 'm_02_3', 'm_02_4', 'm03_0', 'm03_1', 'm03_2',
- 'm03_3', 'm03_4', 'm_04_0', 'm_04_1', 'm_04_2', 'm_04_3', 'm_04_4', 'm_05_0', 'm_05_1',
- 'm_05_2', 'm_05_3', 'm_05_4', 'm_06_0', 'm_06_1', 'm_06_2', 'm_06_3', 'm_06_4', 'm_07_0',
- 'm_07_1', 'm_07_2', 'm_07_3', 'm_07_4', 'm_08_0', 'm_08_1', 'm_08_2', 'm_08_3', 'm_08_4',
- 'm_09_0', 'm_09_1', 'm_09_2', 'm_09_3', 'm_09_4', 'm_10_0', 'm_10_1', 'm_10_2', 'm_10_3',
- 'm_10_4', 'm_11_0', 'm_11_1', 'm_11_2', 'm_11_3', 'm_11_4', 'm12_0', 'm12_1', 'm12_2',
- 'm12_3', 'm12_4',
-};
-#pragma pop
-
-/* 803C2AB8-803C2AF8 01FBD8 0040+00 0/1 0/0 0/0 .data l_nameTagName$4642 */
-#pragma push
-#pragma force_active on
-SECTION_DATA static u64 l_nameTagName[8] = {
- 'name_00', 'name_01', 'name_02', 'name_03', 'name_04', 'name_05', 'name_06', 'name_07',
-};
-#pragma pop
-
-/* 803C2AF8-803C2B38 01FC18 0040+00 0/1 0/0 0/0 .data l_nameCurTagName$4643 */
-#pragma push
-#pragma force_active on
-SECTION_DATA static u64 l_nameCurTagName[8] = {
- 's__n_00', 's__n_01', 's__n_02', 's__n_03', 's__n_04', 's__n_05', 's__n_06', 's__n_07',
-};
-#pragma pop
-
-/* 803C2B38-803C2B64 01FC58 0010+1C 3/3 0/0 0/0 .data __vt__14dDlst_NameIN_c */
-SECTION_DATA extern void* __vt__14dDlst_NameIN_c[4 + 7 /* padding */] = {
- (void*)NULL /* RTTI */,
- (void*)NULL,
- (void*)draw__14dDlst_NameIN_cFv,
- (void*)__dt__14dDlst_NameIN_cFv,
- /* padding */
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
-};
-
-/* 803C2B64-803C2B7C 01FC84 000C+0C 2/2 0/0 0/0 .data __vt__7dName_c */
-SECTION_DATA extern void* __vt__7dName_c[3 + 3 /* padding */] = {
- (void*)NULL /* RTTI */,
- (void*)NULL,
- (void*)__dt__7dName_cFv,
- /* padding */
- NULL,
- NULL,
- NULL,
-};
+extern void* __vt__14dDlst_NameIN_c[4 + 7 /* padding */];
+extern void* __vt__7dName_c[3 + 3 /* padding */];
/* 8024E3E0-8024E408 248D20 0028+00 1/1 0/0 0/0 .text __ct__9dNm_HIO_cFv */
dNm_HIO_c::dNm_HIO_c() {
@@ -340,6 +220,7 @@ dName_c::dName_c(J2DPane* pane) {
}
/* 8024E468-8024E62C 248DA8 01C4+00 1/0 0/0 0/0 .text __dt__7dName_cFv */
+// matches with vtable data
#ifdef NONMATCHING
dName_c::~dName_c() {
delete stick;
@@ -502,7 +383,8 @@ void dName_c::_move() {
}
} else if (mDoCPd_c::getTrigStart(PAD_1)) {
if ((mSelProc != PROC_MENU_SELECT || mSelMenu != MENU_END) &&
- (mSelProc == PROC_MENU_SELECT || mSelProc == PROC_MOJI_SELECT)) {
+ (mSelProc == PROC_MENU_SELECT || mSelProc == PROC_MOJI_SELECT))
+ {
mDoAud_seStart(Z2SE_SY_CURSOR_OPTION, 0, 0, 0);
mPrevSelMenu = mSelMenu;
mSelMenu = MENU_END;
@@ -577,9 +459,7 @@ void dName_c::cursorAnm() {
}
/* 8024ED48-8024ED4C 249688 0004+00 1/0 0/0 0/0 .text Wait__7dName_cFv */
-void dName_c::Wait() {
- /* empty function */
-}
+void dName_c::Wait() {}
/* 8024ED4C-8024F034 24968C 02E8+00 1/0 0/0 0/0 .text MojiSelect__7dName_cFv */
// matches with literals
@@ -672,7 +552,8 @@ void dName_c::MojiSelectAnmInit() {
/* 8024F0E0-8024F164 249A20 0084+00 1/0 0/0 0/0 .text MojiSelectAnm__7dName_cFv */
void dName_c::MojiSelectAnm() {
if (mMojiIcon[mPrevRow + mPrevColumn * 5]->scaleAnime(mCursorDelay, g_nmHIO.mSelCharScale,
- lit_3820, 0) == 1) {
+ lit_3820, 0) == 1)
+ {
selectCursorMove();
mSelProc = PROC_MOJI_SELECT;
field_0x2ad = mSelProc;
@@ -682,7 +563,8 @@ void dName_c::MojiSelectAnm() {
/* 8024F164-8024F1E8 249AA4 0084+00 1/0 0/0 0/0 .text MojiSelectAnm2__7dName_cFv */
void dName_c::MojiSelectAnm2() {
if (mMojiIcon[mPrevRow + mPrevColumn * 5]->scaleAnime(mCursorDelay, g_nmHIO.mSelCharScale,
- lit_3820, 0) == 1) {
+ lit_3820, 0) == 1)
+ {
menuCursorMove2();
mSelProc = PROC_MENU_SELECT;
field_0x2ad = mSelProc;
@@ -690,29 +572,28 @@ void dName_c::MojiSelectAnm2() {
}
/* 8024F1E8-8024F1EC 249B28 0004+00 1/0 0/0 0/0 .text MojiSelectAnm3__7dName_cFv */
-void dName_c::MojiSelectAnm3() {
- /* empty function */
-}
+void dName_c::MojiSelectAnm3() {}
/* 8024F1EC-8024F55C 249B2C 0370+00 1/0 0/0 0/0 .text mojiChange__7dName_cFUc */
-// weird pattern
-#ifdef NONMATCHING
int dName_c::mojiChange(u8 idx) {
if (mChrInfo[idx].field_0x3 == 0 || mChrInfo[idx].mMojiSet == MOJI_EIGO ||
- mChrInfo[idx].mCharacter == ' ') {
+ mChrInfo[idx].mCharacter == ' ')
+ {
return 0;
}
if (mChrInfo[idx].mColumn == 4 || mChrInfo[idx].mColumn == 6 || mChrInfo[idx].mColumn == 8 ||
- mChrInfo[idx].mColumn == 9) {
+ mChrInfo[idx].mColumn == 9)
+ {
return 0;
}
switch (mChrInfo[idx].mColumn) {
case 0:
- case 10:
+ case 10: {
if (mChrInfo[idx].mCharacter == 'ウ' || mChrInfo[idx].mCharacter == 'ゥ' ||
- mChrInfo[idx].mCharacter == 'ヴ') {
+ mChrInfo[idx].mCharacter == 'ヴ')
+ {
mChrInfo[idx].mCharacter++;
if (mChrInfo[idx].mCharacter == 'ェ') {
@@ -723,7 +604,7 @@ int dName_c::mojiChange(u8 idx) {
mChrInfo[idx].mCharacter = 'ゥ';
}
} else {
- int c = mChrInfo[idx].mMojiSet != MOJI_HIRA ? 'ぁ' : 'ァ';
+ int c = mChrInfo[idx].mMojiSet != MOJI_HIRA ? 'ァ' : 'ぁ';
if ((mChrInfo[idx].mCharacter - c) % 2) {
--mChrInfo[idx].mCharacter;
@@ -732,52 +613,82 @@ int dName_c::mojiChange(u8 idx) {
}
}
break;
- case 1:
+ }
+ case 1: {
int c = mChrInfo[idx].mMojiSet != MOJI_HIRA ? 'カ' : 'か';
- if ((mChrInfo[idx].mCharacter - c) % 2 == 0) {
- mChrInfo[idx].mCharacter += 1;
- } else {
- mChrInfo[idx].mCharacter -= 1;
- }
+ c = ((mChrInfo[idx].mCharacter - c) % 2);
+
+ int c2 = c + 1;
+ mChrInfo[idx].mCharacter = (mChrInfo[idx].mCharacter - c) + (c2 & 1);
break;
- case 2:
- int c2 = mChrInfo[idx].mMojiSet != MOJI_HIRA ? 'サ' : 'さ';
- ((mChrInfo[idx].mCharacter - c) % 2) ? mChrInfo[idx].mCharacter++ : mChrInfo[idx].mCharacter--;
+ }
+ case 2: {
+ int c = mChrInfo[idx].mMojiSet != MOJI_HIRA ? 'サ' : 'さ';
+ c = ((mChrInfo[idx].mCharacter - c) % 2);
+
+ int c2 = c + 1;
+ mChrInfo[idx].mCharacter = (mChrInfo[idx].mCharacter - c) + (c2 & 1);
break;
+ }
case 3:
- case 12:
- if (mChrInfo[idx].mCharacter != 0x815b) {
- int c = mChrInfo[idx].mMojiSet != MOJI_HIRA ? 'ヂ': 'ぢ';
-
- if (c < mChrInfo[idx].mCharacter) {
- int c2 = mChrInfo[idx].mMojiSet != MOJI_HIRA ? 'ヂ' : 'ぢ';
- (mChrInfo[idx].mCharacter - c2) % 2 ? mChrInfo[idx].mCharacter++ :
- mChrInfo[idx].mCharacter--;
+ case 12: {
+ if (mChrInfo[idx].mCharacter != (u32)0x815b) {
+ if (mChrInfo[idx].mCharacter <= (mChrInfo[idx].mMojiSet != MOJI_HIRA ? 'ヂ' : 'ぢ')) {
+ int c = mChrInfo[idx].mMojiSet != MOJI_HIRA ? 'タ' : 'た';
+ c = ((mChrInfo[idx].mCharacter - c) % 2);
+
+ int c2 = c + 1;
+ mChrInfo[idx].mCharacter = (mChrInfo[idx].mCharacter - c) + (c2 & 1);
+ } else if (mChrInfo[idx].mCharacter <=
+ (mChrInfo[idx].mMojiSet != MOJI_HIRA ? 'ド' : 'ど') &&
+ mChrInfo[idx].mCharacter >=
+ (mChrInfo[idx].mMojiSet != MOJI_HIRA ? 'テ' : 'て'))
+ {
+ int c = mChrInfo[idx].mMojiSet != MOJI_HIRA ? 'テ' : 'て';
+ c = ((mChrInfo[idx].mCharacter - c) % 2);
+
+ int c2 = c + 1;
+ mChrInfo[idx].mCharacter = (mChrInfo[idx].mCharacter - c) + (c2 & 1);
+ } else {
+ int c = mChrInfo[idx].mMojiSet != MOJI_HIRA ? 'ッ' : 'っ';
+ int c2 = (mChrInfo[idx].mCharacter - c) % 3;
+
+ int ivar2 = c2 + 1;
+ if (ivar2 > 2) {
+ ivar2 = 0;
+ }
+
+ mChrInfo[idx].mCharacter = ivar2 + (mChrInfo[idx].mCharacter - c2);
}
}
break;
- case 5:
+ }
+ case 5: {
+ int c = mChrInfo[idx].mMojiSet != MOJI_HIRA ? 'ハ' : 'は';
+ int c2 = (mChrInfo[idx].mCharacter - c) % 3;
+ int ivar2 = c2 + 1;
+ if (ivar2 > 2) {
+ ivar2 = 0;
+ }
+
+ mChrInfo[idx].mCharacter = ivar2 + (mChrInfo[idx].mCharacter - c2);
break;
+ }
case 7:
- case 11:
+ case 11: {
+ int c = mChrInfo[idx].mMojiSet != MOJI_HIRA ? 'ャ' : 'ゃ';
+ c = ((mChrInfo[idx].mCharacter - c) % 2);
+ int c2 = c + 1;
+ mChrInfo[idx].mCharacter = (mChrInfo[idx].mCharacter - c) + (c2 & 1);
break;
}
+ }
setNameText();
return 1;
}
-#else
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm int dName_c::mojiChange(u8 param_0) {
- nofralloc
-#include "asm/d/d_name/mojiChange__7dName_cFUc.s"
-}
-#pragma pop
-#endif
/* 8024F55C-8024F59C 249E9C 0040+00 1/1 0/0 0/0 .text selectMojiSet__7dName_cFv */
void dName_c::selectMojiSet() {
@@ -1011,9 +922,7 @@ void dName_c::MenuSelectAnm2() {
}
/* 8024FFA0-8024FFA4 24A8E0 0004+00 1/0 0/0 0/0 .text MenuSelectAnm3__7dName_cFv */
-void dName_c::MenuSelectAnm3() {
- /* empty function */
-}
+void dName_c::MenuSelectAnm3() {}
/* 8024FFA4-80250074 24A8E4 00D0+00 1/1 0/0 0/0 .text menuAbtnSelect__7dName_cFv */
// matches with literals
@@ -1221,20 +1130,130 @@ SECTION_SDATA2 static f32 lit_4725[1 + 1 /* padding */] = {
0.0f,
};
+/* 803C2788-803C27C8 01F8A8 0040+00 0/1 0/0 0/0 .data l_cur0TagName$4610 */
+#pragma push
+#pragma force_active on
+SECTION_DATA static u64 l_cur0TagName[8] = {
+ 's_00', 's_01', 's_02', 's_03', 's_04', 's_05', 's_06', 's_07',
+};
+#pragma pop
+
+/* 803C27C8-803C2808 01F8E8 0040+00 0/1 0/0 0/0 .data l_cur1TagName$4611 */
+#pragma push
+#pragma force_active on
+SECTION_DATA static u64 l_cur1TagName[8] = {
+ 's_0r', 's_01r', 's_02r', 's_03r', 's_04r', 's_05r', 's_06r', 's_07r',
+};
+#pragma pop
+
+/* 803C2808-803C2828 01F928 0020+00 0/1 0/0 0/0 .data l_menu_icon_tag$4617 */
+#pragma push
+#pragma force_active on
+SECTION_DATA static u64 l_menu_icon_tag[4] = {
+ 'p_ABC_n',
+ 'p_abc_n',
+ 'j_eigo_n',
+ 'p_end_n',
+};
+#pragma pop
+
+/* 803C2828-803C28A0 01F948 0078+00 0/1 0/0 0/0 .data l_menu_tag$4618 */
+#pragma push
+#pragma force_active on
+SECTION_DATA static u64 l_menu_tag[5][3] = {
+ 'p_ABC_0', 'p_ABC_1', 'p_ABC_2', 'p_abc_0', 'p_abc_1', 'p_abc_2',
+ 'm_eigo_0', 'm_eigo_1', 'm_eigo_2', 'p_end_0', 'p_end_1', 'p_end_2',
+};
+#pragma pop
+
+/* 803C28A0-803C28B0 01F9C0 0010+00 0/1 0/0 0/0 .data l_menu_msg$4619 */
+#pragma push
+#pragma force_active on
+SECTION_DATA static u32 l_menu_msg[4] = {
+ 0x38B,
+ 0x38C,
+ 0x388,
+ 0x38E,
+};
+#pragma pop
+
+/* 803C28B0-803C2AB8 01F9D0 0208+00 0/1 0/0 0/0 .data l_tagName$4635 */
+#pragma push
+#pragma force_active on
+SECTION_DATA static u64 l_tagName[65] = {
+ 'm_00_0', 'm_00_1', 'm_00_2', 'm_00_3', 'm_00_4', 'm_01_0', 'm_01_1', 'm_01_2', 'm_01_3',
+ 'm_01_4', 'm_02_0', 'm_02_1', 'm_02_2', 'm_02_3', 'm_02_4', 'm03_0', 'm03_1', 'm03_2',
+ 'm03_3', 'm03_4', 'm_04_0', 'm_04_1', 'm_04_2', 'm_04_3', 'm_04_4', 'm_05_0', 'm_05_1',
+ 'm_05_2', 'm_05_3', 'm_05_4', 'm_06_0', 'm_06_1', 'm_06_2', 'm_06_3', 'm_06_4', 'm_07_0',
+ 'm_07_1', 'm_07_2', 'm_07_3', 'm_07_4', 'm_08_0', 'm_08_1', 'm_08_2', 'm_08_3', 'm_08_4',
+ 'm_09_0', 'm_09_1', 'm_09_2', 'm_09_3', 'm_09_4', 'm_10_0', 'm_10_1', 'm_10_2', 'm_10_3',
+ 'm_10_4', 'm_11_0', 'm_11_1', 'm_11_2', 'm_11_3', 'm_11_4', 'm12_0', 'm12_1', 'm12_2',
+ 'm12_3', 'm12_4',
+};
+#pragma pop
+
+/* 803C2AB8-803C2AF8 01FBD8 0040+00 0/1 0/0 0/0 .data l_nameTagName$4642 */
+#pragma push
+#pragma force_active on
+SECTION_DATA static u64 l_nameTagName[8] = {
+ 'name_00', 'name_01', 'name_02', 'name_03', 'name_04', 'name_05', 'name_06', 'name_07',
+};
+#pragma pop
+
+/* 803C2AF8-803C2B38 01FC18 0040+00 0/1 0/0 0/0 .data l_nameCurTagName$4643 */
+#pragma push
+#pragma force_active on
+SECTION_DATA static u64 l_nameCurTagName[8] = {
+ 's__n_00', 's__n_01', 's__n_02', 's__n_03', 's__n_04', 's__n_05', 's__n_06', 's__n_07',
+};
+#pragma pop
+
+/* 803C2B38-803C2B64 01FC58 0010+1C 3/3 0/0 0/0 .data __vt__14dDlst_NameIN_c */
+SECTION_DATA extern void* __vt__14dDlst_NameIN_c[4 + 7 /* padding */] = {
+ (void*)NULL /* RTTI */,
+ (void*)NULL,
+ (void*)draw__14dDlst_NameIN_cFv,
+ (void*)__dt__14dDlst_NameIN_cFv,
+ /* padding */
+ NULL,
+ NULL,
+ NULL,
+ NULL,
+ NULL,
+ NULL,
+ NULL,
+};
+
+/* 803C2B64-803C2B7C 01FC84 000C+0C 2/2 0/0 0/0 .data __vt__7dName_c */
+SECTION_DATA extern void* __vt__7dName_c[3 + 3 /* padding */] = {
+ (void*)NULL /* RTTI */,
+ (void*)NULL,
+ (void*)__dt__7dName_cFv,
+ /* padding */
+ NULL,
+ NULL,
+ NULL,
+};
+
/* 802505CC-80250CEC 24AF0C 0720+00 1/1 0/0 0/0 .text screenSet__7dName_cFv */
+// matches with literals
#ifdef NONMATCHING
void dName_c::screenSet() {
nameIn.NameInScr = new J2DScreen();
+ JUT_ASSERT(nameIn.NameInScr != 0);
+
archive = dComIfGp_getNameResArchive();
nameIn.NameInScr->setPriority("zelda_player_name.blo", 0x100000, archive);
dPaneClass_showNullPane(nameIn.NameInScr);
nameIn.field_0x10 = nameIn.NameInScr->search('name_n');
- void* bpk = JKRFileLoader::getGlbResource("zelda_player_name.bpk", archive);
+ void* bpk = JKRGetNameResource("zelda_player_name.bpk", archive);
+ JUT_ASSERT(bpk != 0);
mCursorColorKey = (J2DAnmColorKey*)J2DAnmLoaderDataBase::load(bpk);
mCursorColorKey->searchUpdateMaterialID(nameIn.NameInScr);
- void* btk = JKRFileLoader::getGlbResource("zelda_player_name.btk", archive);
+ void* btk = JKRGetNameResource("zelda_player_name.btk", archive);
+ JUT_ASSERT(btk != 0);
mCursorTexKey = (J2DAnmTextureSRTKey*)J2DAnmLoaderDataBase::load(btk);
mCursorTexKey->searchUpdateMaterialID(nameIn.NameInScr);
@@ -1271,7 +1290,7 @@ void dName_c::screenSet() {
fopMsgM_messageGet(buf, l_menu_msg[i]);
for (int j = 0; j < 3; j++) {
- menuPane[j] = (J2DTextBox*)nameIn.NameInScr->search(l_menu_tag[j]);
+ menuPane[j] = (J2DTextBox*)nameIn.NameInScr->search(l_menu_tag[i][j]);
if (j == 0) {
mMenuText[i] = menuPane[j];
@@ -1287,7 +1306,7 @@ void dName_c::screenSet() {
mMenuIcon[1]->hide();
mMojiPane = nameIn.NameInScr->search('moji_n');
- for (int i = 0; i < 65; i++) {
+ for (u32 i = 0; i < 65; i++) {
mMojiIcon[i] = new CPaneMgr(nameIn.NameInScr, l_tagName[i], 2, NULL);
((J2DTextBox*)mMojiIcon[i]->getPanePtr())->setFont(nameIn.font);
((J2DTextBox*)mMojiIcon[i]->getPanePtr())->setString(72, "");
@@ -1308,7 +1327,9 @@ void dName_c::screenSet() {
mCharRow = 0;
mSelIcon = new dSelect_cursor_c(0, 1.0f, NULL);
+ JUT_ASSERT(mSelIcon != 0);
mSelIcon->setParam(0.82f, 0.77f, 0.05f, 0.4f, 0.4f);
+
Vec pos = mMojiIcon[mCharRow + mCharColumn * 5]->getGlobalVtxCenter(false, 0);
mSelIcon->setPos(pos.x, pos.y, mMojiIcon[mCharRow + mCharColumn * 5]->getPanePtr(), true);
mSelIcon->setAlphaRate(0.0f);
@@ -1367,14 +1388,16 @@ void dName_c::NameStrSet() {
for (int j = 0; j < 65; j++) {
if (mChrInfo[i].mCharacter == *(u16*)l_mojiHira[j] ||
mChrInfo[i].mCharacter == *(u16*)l_mojiHira2[j] ||
- mChrInfo[i].mCharacter == *(u16*)l_mojiHira3[j]) {
+ mChrInfo[i].mCharacter == *(u16*)l_mojiHira3[j])
+ {
mChrInfo[i].mColumn = j / 5;
mChrInfo[i].mRow = j % 5;
mChrInfo[i].mMojiSet = MOJI_HIRA;
break;
} else if (mChrInfo[i].mCharacter == *(u16*)l_mojikata[j] ||
mChrInfo[i].mCharacter == *(u16*)l_mojikata2[j] ||
- mChrInfo[i].mCharacter == *(u16*)l_mojikata3[j]) {
+ mChrInfo[i].mCharacter == *(u16*)l_mojikata3[j])
+ {
mChrInfo[i].mColumn = j / 5;
mChrInfo[i].mRow = j % 5;
mChrInfo[i].mMojiSet = MOJI_KATA;
@@ -1427,6 +1450,23 @@ s32 dName_c::getMenuPosIdx(u8 selPos) {
}
/* 80251094-8025115C 24B9D4 00C8+00 1/0 0/0 0/0 .text draw__14dDlst_NameIN_cFv */
+// matches with literals / vtable data
+#ifdef NONMATCHING
+void dDlst_NameIN_c::draw() {
+ if (field_0xc != NULL) {
+ Mtx m;
+ MtxP global_mtx = (MtxP)&field_0xc->getGlbMtx()[0][0]; // fake match?
+
+ MTXScale(m, (field_0xc->getWidth() / field_0x10->getWidth()),
+ (field_0xc->getHeight() / field_0x10->getHeight()), 1.0f);
+ MTXConcat(global_mtx, m, global_mtx);
+ field_0x10->setMtx(global_mtx);
+ }
+
+ J2DGrafContext* graf_ctx = dComIfGp_getCurrentGrafPort();
+ NameInScr->draw(0.0f, 0.0f, graf_ctx);
+}
+#else
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
@@ -1436,6 +1476,7 @@ extern "C" asm void draw__14dDlst_NameIN_cFv() {
#include "asm/d/d_name/draw__14dDlst_NameIN_cFv.s"
}
#pragma pop
+#endif
/* 8025115C-802511A4 24BA9C 0048+00 1/0 0/0 0/0 .text __dt__14dDlst_NameIN_cFv */
dDlst_NameIN_c::~dDlst_NameIN_c() {}
diff --git a/src/d/kankyo/d_kankyo.cpp b/src/d/kankyo/d_kankyo.cpp
index d6e115a54d..bef235be8c 100644
--- a/src/d/kankyo/d_kankyo.cpp
+++ b/src/d/kankyo/d_kankyo.cpp
@@ -15,6 +15,7 @@
#include "m_Do/m_Do_audio.h"
#include "m_Do/m_Do_graphic.h"
#include "rel/d/a/kytag/d_a_kytag08/d_a_kytag08.h"
+#include "d/kankyo/d_kankyo_static.h"
#include "string.h"
//
diff --git a/src/d/kankyo/d_kankyo_wether.cpp b/src/d/kankyo/d_kankyo_wether.cpp
index f501894d02..1832e266ea 100644
--- a/src/d/kankyo/d_kankyo_wether.cpp
+++ b/src/d/kankyo/d_kankyo_wether.cpp
@@ -217,7 +217,7 @@ extern "C" extern dScnKy_env_light_c g_env_light;
extern "C" extern Z2EnvSeMgr g_mEnvSeMgr;
extern "C" f32 Zero__4cXyz[3];
extern "C" u8 sincosTable___5JMath[65536];
-extern "C" extern u8 data_80450EE0[8];
+extern "C" extern u8 data_80450EE0;
extern "C" u8 mAudioMgrPtr__10Z2AudioMgr[4 + 4 /* padding */];
static void dKyw_pntlight_set(WIND_INFLUENCE* pntwind);
@@ -1321,6 +1321,8 @@ SECTION_SDATA2 static f32 lit_5192 = 24575.0f;
/* 80452160-80452164 000760 0004+00 1/1 0/0 0/0 .sdata2 @5193 */
SECTION_SDATA2 static f32 lit_5193 = 0.00139999995008111f;
+u8 data_80450EE0;
+
/* 80059728-80059E38 054068 0710+00 1/1 0/0 0/0 .text wether_move_vrkumo__Fv */
// gameinfo load issue, cmath instruction order / reg alloc
#ifdef NONMATCHING
diff --git a/src/d/menu/d_menu_fmap.cpp b/src/d/menu/d_menu_fmap.cpp
index 67160e11b3..616423aea0 100644
--- a/src/d/menu/d_menu_fmap.cpp
+++ b/src/d/menu/d_menu_fmap.cpp
@@ -1206,7 +1206,7 @@ static u8 virtual_stage[8];
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
-asm void dMenuFmap_getStartStageName(void* param_0) {
+asm const char* dMenuFmap_getStartStageName(void* param_0) {
nofralloc
#include "asm/d/menu/d_menu_fmap/dMenuFmap_getStartStageName__FPv.s"
}
diff --git a/src/d/s/d_s_logo.cpp b/src/d/s/d_s_logo.cpp
index 1701036a59..ed64acfd0f 100644
--- a/src/d/s/d_s_logo.cpp
+++ b/src/d/s/d_s_logo.cpp
@@ -1,46 +1,22 @@
-//
-// Translation Unit: d/s/d_s_logo
-//
+/**
+ * d_s_logo.cpp
+ * Game Boot Logo's Display
+ */
#include "d/s/d_s_logo.h"
#include "JSystem/JKernel/JKRAram.h"
#include "JSystem/JKernel/JKRExpHeap.h"
#include "c/c_dylink.h"
#include "d/com/d_com_inf_game.h"
+#include "d/d_item.h"
#include "d/d_procname.h"
#include "d/map/d_map_path_dmap.h"
+#include "dolphin/vi.h"
#include "m_Do/m_Do_Reset.h"
#include "m_Do/m_Do_controller_pad.h"
#include "m_Do/m_Do_graphic.h"
#include "m_Do/m_Do_machine.h"
-#include "dolphin/os/OSRtc.h"
-#include "dolphin/vi.h"
-
-//
-// Types:
-//
-
-class dEnemyItem_c {
-public:
- static void setItemData(u8* data) { mData = data; }
-
- static u8* mData;
-};
-
-//
-// Forward References:
-//
-//
-// External References:
-//
-
-
-//
-// Declarations:
-//
-
-/* ############################################################################################## */
/* 803C2E38-803C2E44 01FF58 000C+00 1/1 0/0 0/0 .data cNullVec__6Z2Calc */
static u8 cNullVec__6Z2Calc[12] = {
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
@@ -75,7 +51,6 @@ void dScnLogo_c::preLoad_dyl_remove() {
delete[] m_preLoad_dylPhase;
}
-/* ############################################################################################## */
/* 80399FE0-80399FFC 026640 001C+00 1/1 0/0 0/0 .rodata l_preLoad_dylKeyTbl */
static s16 const l_preLoad_dylKeyTbl[14] = {
0x02DC, 0x02CE, 0x0221, 0x00F2, 0x021B, 0x02F4, 0x0139,
@@ -84,13 +59,13 @@ static s16 const l_preLoad_dylKeyTbl[14] = {
/* 8025611C-80256198 250A5C 007C+00 2/2 0/0 0/0 .text preLoad_dyl__10dScnLogo_cFv */
bool dScnLogo_c::preLoad_dyl() {
- bool ret = 1;
+ bool ret = true;
for (int i = 0; i < 14; i++) {
- int link = cDylPhs::Link(&m_preLoad_dylPhase[i], l_preLoad_dylKeyTbl[i]);
+ int phase_state = cDylPhs::Link(&m_preLoad_dylPhase[i], l_preLoad_dylKeyTbl[i]);
- if (link != 4) {
- ret = 0;
+ if (phase_state != cPhs_COMPLEATE_e) {
+ ret = false;
}
}
@@ -100,7 +75,7 @@ bool dScnLogo_c::preLoad_dyl() {
/* 80256198-80256210 250AD8 0078+00 1/1 0/0 0/0 .text checkProgSelect__10dScnLogo_cFv */
void dScnLogo_c::checkProgSelect() {
if (mDoRst::getProgSeqFlag() == 0 && VIGetDTVStatus() != 0) {
- if (isProgressiveMode() || mDoCPd_c::getHoldB(0)) {
+ if (isProgressiveMode() || mDoCPd_c::getHoldB(PAD_1)) {
field_0x20a = 1;
field_0x209 = 0;
}
@@ -138,7 +113,7 @@ void dScnLogo_c::progSelDraw() {
if (field_0x20b == 0) {
if (field_0x209 == 0) {
- if (mDoCPd_c::getHoldRight(0) || mDoCPd_c::getStickX(0) > 0.5f) {
+ if (mDoCPd_c::getHoldRight(PAD_1) || mDoCPd_c::getStickX(PAD_1) > 0.5f) {
mDoAud_seStart(Z2SE_SY_MENU_CURSOR_COMMON, NULL, 0, 0);
field_0x209 = 1;
field_0x20e = 30;
@@ -146,7 +121,7 @@ void dScnLogo_c::progSelDraw() {
field_0x212 = 0;
}
} else {
- if (mDoCPd_c::getHoldLeft(0) || mDoCPd_c::getStickX(0) < -0.5f) {
+ if (mDoCPd_c::getHoldLeft(PAD_1) || mDoCPd_c::getStickX(PAD_1) < -0.5f) {
mDoAud_seStart(Z2SE_SY_MENU_CURSOR_COMMON, NULL, 0, 0);
field_0x209 = 0;
field_0x20e = 30;
@@ -326,10 +301,11 @@ void dScnLogo_c::warningDispDraw() {
field_0x210--;
}
- if (mTimer == 0 ||
- mDoCPd_c::getTrig(PAD_1) & (CButton::A | CButton::B | CButton::X | CButton::Y | CButton::START |
- CButton::Z | CButton::L | CButton::R | CButton::DPAD_LEFT |
- CButton::DPAD_RIGHT | CButton::DPAD_DOWN | CButton::DPAD_UP)) {
+ if (mTimer == 0 || mDoCPd_c::getTrig(PAD_1) &
+ (CButton::A | CButton::B | CButton::X | CButton::Y | CButton::START |
+ CButton::Z | CButton::L | CButton::R | CButton::DPAD_LEFT |
+ CButton::DPAD_RIGHT | CButton::DPAD_DOWN | CButton::DPAD_UP))
+ {
mExecCommand = EXEC_WARNING_OUT;
mTimer = 30;
mDoGph_gInf_c::startFadeOut(30);
@@ -394,10 +370,9 @@ void dScnLogo_c::dolbyOutDraw() {
/* 80257058-80257070 251998 0018+00 1/0 0/0 0/0 .text dolbyOutDraw2__10dScnLogo_cFv */
void dScnLogo_c::dolbyOutDraw2() {
- if (mTimer != 0) {
- return;
+ if (mTimer == 0) {
+ mExecCommand = EXEC_DVD_WAIT;
}
- mExecCommand = EXEC_DVD_WAIT;
}
/* 80257070-80257284 2519B0 0214+00 1/0 0/0 0/0 .text dvdWaitDraw__10dScnLogo_cFv */
@@ -412,7 +387,8 @@ void dScnLogo_c::dvdWaitDraw() {
mpMsgResCommand[3]->sync() && mpMsgResCommand[4]->sync() &&
mpMsgResCommand[5]->sync() && mpMsgResCommand[6]->sync() && mpFontResCommand->sync() &&
mpMain2DCommand->sync() && mpRubyResCommand->sync() && mParticleCommand->sync() &&
- mItemTableCommand->sync() && mEnemyItemCommand->sync() && preLoad_dyl()) {
+ mItemTableCommand->sync() && mEnemyItemCommand->sync() && preLoad_dyl())
+ {
mDoRst::setLogoScnFlag(0);
mDoRst::setProgChgFlag(0);
mExecCommand = EXEC_SCENE_CHANGE;
@@ -515,53 +491,56 @@ dScnLogo_c::~dScnLogo_c() {
}
/* 80257910-802579BC 252250 00AC+00 1/0 0/0 0/0 .text phase_0__FP10dScnLogo_c */
-static int phase_0(dScnLogo_c* logo) {
+static int phase_0(dScnLogo_c* i_this) {
mDoGph_gInf_c::setFadeColor(*(JUtility::TColor*)&g_blackColor);
dComIfGp_particle_create();
- logo->buffer = mDoExt_getGameHeap()->alloc(0x340000, -0x10);
- logo->field_0x1d0 = JKRExpHeap::create(logo->buffer, 0x340000, NULL, false);
- logo->field_0x1d4 = JKRExpHeap::create(0x130000, logo->field_0x1d0, false);
+ i_this->buffer = mDoExt_getGameHeap()->alloc(0x340000, -0x10);
+ i_this->field_0x1d0 = JKRExpHeap::create(i_this->buffer, 0x340000, NULL, false);
+ i_this->field_0x1d4 = JKRExpHeap::create(0x130000, i_this->field_0x1d0, false);
- return 2;
+ return cPhs_NEXT_e;
}
/* 802579BC-80257A70 2522FC 00B4+00 1/0 0/0 0/0 .text phase_1__FP10dScnLogo_c */
-static int phase_1(dScnLogo_c* logo) {
+static int phase_1(dScnLogo_c* i_this) {
if (!cDyl_InitAsyncIsDone()) {
- return 0;
+ return cPhs_INIT_e;
}
- if (!mDoAud_zelAudio_c::isInitFlag() ||
- Z2AudioMgr::getInterface()->checkFirstWaves()) {
- return 0;
+ if (!mDoAud_zelAudio_c::isInitFlag() || Z2AudioMgr::getInterface()->checkFirstWaves()) {
+ return cPhs_INIT_e;
}
- dComIfG_setObjectRes("LogoUs", (u8)0, logo->field_0x1d0);
+ dComIfG_setObjectRes("LogoUs", (u8)0, i_this->field_0x1d0);
mDoRst::setLogoScnFlag(1);
archiveHeap->dump_sort();
- return 2;
+ return cPhs_NEXT_e;
}
/* 80257A70-80257AB4 2523B0 0044+00 1/0 0/0 0/0 .text phase_2__FP10dScnLogo_c */
-static int phase_2(dScnLogo_c* param_0) {
- return dComIfG_syncAllObjectRes() ? 0 : 4;
+static int phase_2(dScnLogo_c* i_this) {
+ if (dComIfG_syncAllObjectRes()) {
+ return cPhs_INIT_e;
+ } else {
+ return cPhs_COMPLEATE_e;
+ }
}
/* 80257AB4-80257AE0 2523F4 002C+00 1/1 0/0 0/0 .text
* resLoad__FP30request_of_phase_process_classP10dScnLogo_c */
-static int resLoad(request_of_phase_process_class* i_phase, dScnLogo_c* param_1) {
+static int resLoad(request_of_phase_process_class* i_phase, dScnLogo_c* i_this) {
static int (*l_method[3])(void*) = {(int (*)(void*))phase_0, (int (*)(void*))phase_1,
(int (*)(void*))phase_2};
- return dComLbG_PhaseHandler(i_phase, l_method, param_1);
+ return dComLbG_PhaseHandler(i_phase, l_method, i_this);
}
/* 80257AE0-80257C64 252420 0184+00 1/1 0/0 0/0 .text create__10dScnLogo_cFv */
int dScnLogo_c::create() {
- int stat = resLoad(&field_0x1c4, this);
- if (stat != 4) {
- return stat;
+ int phase_state = resLoad(&field_0x1c4, this);
+ if (phase_state != cPhs_COMPLEATE_e) {
+ return phase_state;
}
mpHeap = mDoExt_setCurrentHeap(field_0x1d4);
@@ -596,7 +575,7 @@ int dScnLogo_c::create() {
mDoRst::offReset();
mDoRst::offResetPrepare();
- return stat;
+ return phase_state;
}
/* 80257C64-80257FEC 2525A4 0388+00 1/1 0/0 0/0 .text logoInitGC__10dScnLogo_cFv */
@@ -693,33 +672,33 @@ void dScnLogo_c::dvdDataLoad() {
}
/* 80258420-80258444 252D60 0024+00 1/0 0/0 0/0 .text dScnLogo_Create__FP11scene_class */
-static int dScnLogo_Create(scene_class* scn) {
- return (new (scn) dScnLogo_c())->create();
+static int dScnLogo_Create(scene_class* i_this) {
+ return (new (i_this) dScnLogo_c())->create();
}
/* 80258444-80258484 252D84 0040+00 1/0 0/0 0/0 .text dScnLogo_Execute__FP10dScnLogo_c */
-static int dScnLogo_Execute(dScnLogo_c* logo) {
+static int dScnLogo_Execute(dScnLogo_c* i_this) {
if (mDoRst::isReset()) {
- fopScnM_ChangeReq(logo, 9, 0, 5);
+ fopScnM_ChangeReq(i_this, PROC_LOGO_SCENE, 0, 5);
}
return 1;
}
/* 80258484-802584A8 252DC4 0024+00 1/0 0/0 0/0 .text dScnLogo_Draw__FP10dScnLogo_c */
-static int dScnLogo_Draw(dScnLogo_c* logo) {
- logo->draw();
+static int dScnLogo_Draw(dScnLogo_c* i_this) {
+ i_this->draw();
return 1;
}
/* 802584A8-802584D0 252DE8 0028+00 1/0 0/0 0/0 .text dScnLogo_Delete__FP10dScnLogo_c */
-static int dScnLogo_Delete(dScnLogo_c* logo) {
- logo->~dScnLogo_c();
+static int dScnLogo_Delete(dScnLogo_c* i_this) {
+ i_this->~dScnLogo_c();
return 1;
}
/* 802584D0-802584D8 252E10 0008+00 1/0 0/0 0/0 .text dScnLogo_IsDelete__FP10dScnLogo_c
*/
-static int dScnLogo_IsDelete(dScnLogo_c* logo) {
+static int dScnLogo_IsDelete(dScnLogo_c* i_this) {
return 1;
}
@@ -751,8 +730,10 @@ dLog_HIO_c::~dLog_HIO_c() {}
/* 803C2FD0-803C2FE4 -00001 0014+00 1/0 0/0 0/0 .data l_dScnLogo_Method */
static dScnLogo_Method l_dScnLogo_Method[5] = {
- (dScnLogo_Method) dScnLogo_Create, dScnLogo_Delete,
- dScnLogo_Execute, dScnLogo_IsDelete,
+ (dScnLogo_Method)dScnLogo_Create,
+ dScnLogo_Delete,
+ dScnLogo_Execute,
+ dScnLogo_IsDelete,
dScnLogo_Draw,
};
@@ -770,5 +751,3 @@ extern scene_process_profile_definition g_profile_LOGO_SCENE = {
(process_method_class*)&l_dScnLogo_Method,
NULL,
};
-
-/* 80399FFC-80399FFC 02665C 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
diff --git a/src/d/s/d_s_menu.cpp b/src/d/s/d_s_menu.cpp
index 74f482fada..424e2298eb 100644
--- a/src/d/s/d_s_menu.cpp
+++ b/src/d/s/d_s_menu.cpp
@@ -1,6 +1,6 @@
/**
* d_s_menu.cpp
- * dolzel2 - Scene Menu
+ * Debug Level Select Menu
*/
#include "d/s/d_s_menu.h"
@@ -8,8 +8,6 @@
#include "f_pc/f_pc_leaf.h"
#include "f_op/f_op_scene.h"
-
-/* ############################################################################################## */
/* 803C3018-803C3040 -00001 0028+00 0/0 0/0 1/0 .data g_profile_MENU_SCENE */
extern scene_process_profile_definition g_profile_MENU_SCENE = {
fpcLy_ROOT_e, // mLayerID
diff --git a/src/d/s/d_s_name.cpp b/src/d/s/d_s_name.cpp
index 0d679b519d..593df2df6b 100644
--- a/src/d/s/d_s_name.cpp
+++ b/src/d/s/d_s_name.cpp
@@ -1,6 +1,7 @@
-//
-// Translation Unit: d/s/d_s_name
-//
+/**
+ * d_s_name.cpp
+ * File Select Scene
+*/
#include "d/s/d_s_name.h"
#include "JSystem/JKernel/JKRExpHeap.h"
@@ -15,95 +16,6 @@
#include "m_Do/m_Do_mtx.h"
#include "f_op/f_op_overlap_mng.h"
-
-//
-// Forward References:
-//
-
-extern "C" void __ct__9dSn_HIO_cFv();
-extern "C" static void phase_1__FPc();
-extern "C" static void phase_2__FPc();
-extern "C" static void resLoad__FP30request_of_phase_process_classPc();
-extern "C" void create__10dScnName_cFv();
-extern "C" void setView__10dScnName_cFv();
-extern "C" void execute__10dScnName_cFv();
-extern "C" void draw__10dScnName_cFv();
-extern "C" void __dt__10dScnName_cFv();
-extern "C" void FileSelectOpen__10dScnName_cFv();
-extern "C" void FileSelectMain__10dScnName_cFv();
-extern "C" void FileSelectMainNormal__10dScnName_cFv();
-extern "C" void FileSelectClose__10dScnName_cFv();
-extern "C" void brightCheckOpen__10dScnName_cFv();
-extern "C" void brightCheck__10dScnName_cFv();
-extern "C" void changeGameScene__10dScnName_cFv();
-extern "C" static void dScnName_Draw__FP10dScnName_c();
-extern "C" static void dScnName_Execute__FP10dScnName_c();
-extern "C" static void dScnName_IsDelete__FP10dScnName_c();
-extern "C" static void dScnName_Delete__FP10dScnName_c();
-extern "C" static void dScnName_Create__FP11scene_class();
-extern "C" void __dt__17dScnName_camera_cFv();
-extern "C" void __dt__9dSn_HIO_cFv();
-extern "C" void __sinit_d_s_name_cpp();
-extern "C" extern char const* const d_s_d_s_name__stringBase0;
-
-//
-// External References:
-//
-
-extern "C" void mDoMtx_lookAt__FPA4_fPC3VecPC3Vecs();
-extern "C" void mDoMtx_concatProjView__FPA4_CfPA4_CfPA4_f();
-extern "C" void mDoExt_getGameHeap__Fv();
-extern "C" void mDoExt_setCurrentHeap__FP7JKRHeap();
-extern "C" void fopOvlpM_IsPeek__Fv();
-extern "C" void fopScnM_ChangeReq__FP11scene_classssUs();
-extern "C" void dComIfG_resetToOpening__FP11scene_class();
-extern "C" void dComIfGp_setNextStage__FPCcsScSc();
-extern "C" void dComIfGs_gameStart__Fv();
-extern "C" void dComLbG_PhaseHandler__FP30request_of_phase_process_classPPFPv_iPv();
-extern "C" void offFirstBit__21dSv_player_get_item_cFUc();
-extern "C" void setRes__14dRes_control_cFPCcP11dRes_info_ciPCcUcP7JKRHeap();
-extern "C" void syncRes__14dRes_control_cFPCcP11dRes_info_ci();
-extern "C" void deleteRes__14dRes_control_cFPCcP11dRes_info_ci();
-extern "C" void getResInfo__14dRes_control_cFPCcP11dRes_info_ci();
-extern "C" void cleanup__13dPa_control_cFv();
-extern "C" void setViewPort__14dDlst_window_cFffffff();
-extern "C" void setScissor__14dDlst_window_cFffff();
-extern "C" void Run__12dVibration_cFv();
-extern "C" void Init__12dVibration_cFv();
-extern "C" void __ct__14dFile_select_cFP10JKRArchive();
-extern "C" void _create__14dFile_select_cFv();
-extern "C" void _move__14dFile_select_cFv();
-extern "C" void _draw__14dFile_select_cFv();
-extern "C" void __ct__14dBrightCheck_cFP10JKRArchive();
-extern "C" void _move__14dBrightCheck_cFv();
-extern "C" void _draw__14dBrightCheck_cFv();
-extern "C" void dKy_clear_game_init__Fv();
-extern "C" void dKy_setLight_init__Fv();
-extern "C" void changeWater__13dMeter2Info_cFUc();
-extern "C" void bgmStart__8Z2SeqMgrFUlUll();
-extern "C" void bgmStop__8Z2SeqMgrFUll();
-extern "C" void bgmStreamPrepare__8Z2SeqMgrFUl();
-extern "C" void bgmStreamPlay__8Z2SeqMgrFv();
-extern "C" void becomeCurrentHeap__7JKRHeapFv();
-extern "C" void destroy__7JKRHeapFv();
-extern "C" void* __nw__FUl();
-extern "C" void __dl__FPv();
-extern "C" void create__10JKRExpHeapFUlP7JKRHeapb();
-extern "C" void __register_global_object();
-extern "C" void __ptmf_scall();
-extern "C" void _savegpr_28();
-extern "C" void _restgpr_28();
-extern "C" void* mRenderModeObj__15mDoMch_render_c[1 + 1 /* padding */];
-extern "C" u8 mFader__13mDoGph_gInf_c[4];
-extern "C" u8 mResetData__6mDoRst[4 + 4 /* padding */];
-extern "C" u8 sManager__10JFWDisplay[4];
-extern "C" u8 mAudioMgrPtr__10Z2AudioMgr[4 + 4 /* padding */];
-
-//
-// Declarations:
-//
-
-/* ############################################################################################## */
/* 803C3040-803C304C 020160 000C+00 1/1 0/0 0/0 .data cNullVec__6Z2Calc */
static u8 cNullVec__6Z2Calc[12] = {
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
@@ -128,10 +40,10 @@ dSn_HIO_c::dSn_HIO_c() {
static s32 phase_1(char* resName) {
mDoAud_bgmStart(-1);
if (dComIfG_setObjectRes(resName, (u8)0, NULL) == 0) {
- return 5;
+ return cPhs_ERROR_e;
}
- return 2;
+ return cPhs_NEXT_e;
}
/* 80258820-80258878 253160 0058+00 1/0 0/0 0/0 .text phase_2__FPc */
@@ -139,25 +51,27 @@ static s32 phase_2(char* resName) {
int syncStatus = dComIfG_syncObjectRes(resName);
if (syncStatus < 0) {
- return 5;
+ return cPhs_ERROR_e;
+ }
+
+ if (syncStatus > 0) {
+ return cPhs_INIT_e;
} else {
- return syncStatus > 0 ? 0 : 4;
+ return cPhs_COMPLEATE_e;
}
}
/* 80258878-802588A0 2531B8 0028+00 1/1 0/0 0/0 .text
* resLoad__FP30request_of_phase_process_classPc */
-static s32 resLoad(request_of_phase_process_class* i_phase, char* param_1) {
+static s32 resLoad(request_of_phase_process_class* i_phase, char* i_resName) {
static request_of_phase_process_fn l_method[2] = {
(request_of_phase_process_fn)phase_1,
(request_of_phase_process_fn)phase_2
};
- return dComLbG_PhaseHandler(i_phase, l_method, param_1);
+ return dComLbG_PhaseHandler(i_phase, l_method, i_resName);
}
-/* ############################################################################################## */
-
s32 dScnName_c::create() {
int phase_state = resLoad(&field_0x1c4, "fileSel");
if (phase_state == cPhs_COMPLEATE_e) {
@@ -349,8 +263,6 @@ void dScnName_c::brightCheck() {
}
}
-/* ############################################################################################## */
-
/* 802590F8-802591C0 253A38 00C8+00 1/0 0/0 0/0 .text changeGameScene__10dScnName_cFv */
void dScnName_c::changeGameScene() {
if (!mDoRst::isReset() && !fopOvlpM_IsPeek()) {
@@ -369,37 +281,34 @@ void dScnName_c::changeGameScene() {
}
/* 802591C0-802591E0 253B00 0020+00 1/0 0/0 0/0 .text dScnName_Draw__FP10dScnName_c */
-static void dScnName_Draw(dScnName_c* scn) {
- scn->draw();
+static int dScnName_Draw(dScnName_c* i_this) {
+ return i_this->draw();
}
/* 802591E0-80259200 253B20 0020+00 1/0 0/0 0/0 .text dScnName_Execute__FP10dScnName_c */
-static void dScnName_Execute(dScnName_c* scn) {
- scn->execute();
+static int dScnName_Execute(dScnName_c* i_this) {
+ return i_this->execute();
}
/* 80259200-80259230 253B40 0030+00 1/0 0/0 0/0 .text dScnName_IsDelete__FP10dScnName_c
*/
-static s32 dScnName_IsDelete(dScnName_c*) {
+static int dScnName_IsDelete(dScnName_c*) {
dComIfGp_particle_cleanup();
return 1;
}
/* 80259230-80259258 253B70 0028+00 1/0 0/0 0/0 .text dScnName_Delete__FP10dScnName_c */
-static s32 dScnName_Delete(dScnName_c* scn) {
- scn->~dScnName_c();
+static int dScnName_Delete(dScnName_c* i_this) {
+ i_this->~dScnName_c();
return 1;
}
/* 80259258-80259294 253B98 003C+00 1/0 0/0 0/0 .text dScnName_Create__FP11scene_class */
-static void dScnName_Create(scene_class* scn) {
- new (scn) dScnName_c();
- static_cast<dScnName_c*>(scn)->create();
+static int dScnName_Create(scene_class* i_this) {
+ new (i_this) dScnName_c();
+ return static_cast<dScnName_c*>(i_this)->create();
}
-/* 8039A2A8-8039A2A8 026908 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
-
-
/* 803C30DC-803C30F0 -00001 0014+00 2/0 0/0 0/0 .data l_dScnName_Method */
static leafdraw_method_class l_dScnName_Method = {
(process_method_func)dScnName_Create, (process_method_func)dScnName_Delete,
diff --git a/src/d/s/d_s_play.cpp b/src/d/s/d_s_play.cpp
index 024b0c46a1..6b1c96ca6a 100644
--- a/src/d/s/d_s_play.cpp
+++ b/src/d/s/d_s_play.cpp
@@ -1,8 +1,10 @@
-//
-// d/s/d_s_play
-//
+/**
+ * d_s_play.cpp
+ * Main Gameplay Scene
+ */
#include "d/s/d_s_play.h"
+#include "JSystem/JKernel/JKRHeap.h"
#include "JSystem/JUtility/JUTConsole.h"
#include "JSystem/JUtility/JUTGamePad.h"
#include "SSystem/SComponent/c_counter.h"
@@ -21,17 +23,12 @@
#include "f_op/f_op_msg_mng.h"
#include "f_op/f_op_overlap_mng.h"
#include "f_op/f_op_scene_mng.h"
-#include "JSystem/JKernel/JKRHeap.h"
#include "m_Do/m_Do_Reset.h"
#include "m_Do/m_Do_audio.h"
#include "m_Do/m_Do_graphic.h"
#include "rel/d/a/d_a_suspend/d_a_suspend.h"
#include "rel/d/a/d_a_ykgr/d_a_ykgr.h"
-//
-// Declarations:
-//
-
static void dScnPly_Create(scene_class*);
static int dScnPly_Delete(dScnPly_c*);
static int dScnPly_IsDelete(dScnPly_c);
@@ -52,7 +49,6 @@ static int phase_compleate(void*);
extern "C" s8 func_80252E70(s8*);
-/* ############################################################################################## */
/* 804510F8-80451100 0005F8 0008+00 2/2 0/0 0/0 .sbss resPhase */
static request_of_phase_process_class resPhase[1];
@@ -71,11 +67,10 @@ static OSTime resPreLoadTime1;
/* 80451120-80451124 000620 0004+00 1/1 0/0 0/0 .sbss g_preLoadHIO */
static dScnPly_preLoad_HIO_c g_preLoadHIO;
-/* 80451124-80451128 -00001 0004+00 3/3 7/7 38/38 .sbss None */
/* 80451124 0001+00 data_80451124 None */
-/* 80451125 0003+00 nextPauseTimer__9dScnPly_c None */
s8 dScnPly_c::pauseTimer;
+/* 80451125 0003+00 nextPauseTimer__9dScnPly_c None */
s8 dScnPly_c::nextPauseTimer;
/* 80259400-80259440 253D40 0040+00 1/1 0/0 0/0 .text calcPauseTimer__9dScnPly_cFv */
@@ -89,66 +84,6 @@ s8 dScnPly_c::calcPauseTimer() {
}
}
-/* ############################################################################################## */
-/* 803C3158-803C3188 020278 002E+02 1/1 0/0 0/0 .data l_wipeType$4081 */
-static s16 l_wipeType[23] = {
- 0x0000, 0x0000, 0x0011, 0x0002, 0x0002, 0x0001, 0x0003, 0x0001, 0x0004, 0x0004, 0x0005, 0x0005,
- 0x0006, 0x0007, 0x0000, 0x0000, 0x0002, 0x0002, 0x0002, 0x0002, 0x0002, 0x0008, 0x0008,
-};
-
-/* 803C3188-803C3194 0202A8 000A+02 1/1 0/0 0/0 .data camparamarc$4608 */
-static char camparamarc[10] = "CamParam";
-
-/* 803C3194-803C31C0 -00001 002C+00 1/1 0/0 0/0 .data l_method$4860 */
-static request_of_phase_process_fn l_method[11] = {
- (request_of_phase_process_fn)phase_00,
- (request_of_phase_process_fn)phase_1,
- (request_of_phase_process_fn)phase_1_0,
- (request_of_phase_process_fn)phase_01,
- (request_of_phase_process_fn)phase_0,
- (request_of_phase_process_fn)phase_2,
- (request_of_phase_process_fn)phase_3,
- (request_of_phase_process_fn)phase_4,
- (request_of_phase_process_fn)phase_5,
- (request_of_phase_process_fn)phase_6,
- (request_of_phase_process_fn)phase_compleate,
-};
-
-/* 803C31C0-803C31D4 -00001 0014+00 2/0 0/0 0/0 .data l_dScnPly_Method */
-static leafdraw_method_class l_dScnPly_Method = {
- (process_method_func)dScnPly_Create, (process_method_func)dScnPly_Delete,
- (process_method_func)dScnPly_Execute, (process_method_func)dScnPly_IsDelete,
- (process_method_func)dScnPly_Draw,
-};
-
-/* 803C31D4-803C31FC -00001 0028+00 0/0 0/0 1/0 .data g_profile_PLAY_SCENE */
-scene_process_profile_definition g_profile_PLAY_SCENE = {
- fpcLy_ROOT_e, // mLayerID
- 1, // mListID
- fpcPi_CURRENT_e, // mListPrio
- PROC_PLAY_SCENE, // mProcName
- &g_fpcNd_Method.mBase, // mSubMtd
- sizeof(dScnPly_c), // mSize
- 0, // mSizeOther
- 0, // mParameters
- &g_fopScn_Method.mBase, // mSubMtd
- (process_method_class*)&l_dScnPly_Method, // mpMtd
-};
-
-/* 803C31FC-803C3224 -00001 0028+00 0/0 0/0 1/0 .data g_profile_OPENING_SCENE */
-scene_process_profile_definition g_profile_OPENING_SCENE = {
- fpcLy_ROOT_e, // mLayerID
- 1, // mListID
- fpcPi_CURRENT_e, // mListPrio
- PROC_OPENING_SCENE, // mProcName
- &g_fpcNd_Method.mBase, // mSubMtd
- sizeof(dScnPly_c), // mSize
- 0, // mSizeOther
- 0, // mParameters
- &g_fopScn_Method.mBase, // mSubMtd
- (process_method_class*)&l_dScnPly_Method, // mpMtd
-};
-
/* 80454F18-80454F1C 003518 0002+02 1/0 0/0 0/0 .sdata2 T_JOINT_dylKeyTbl */
static const s16 T_JOINT_dylKeyTbl[1] = {
0x0106,
@@ -170,15 +105,20 @@ dScnPly_env_debugHIO_c::dScnPly_env_debugHIO_c() {
}
/* 802594AC-802597B8 253DEC 030C+00 1/0 0/0 0/0 .text dScnPly_Draw__FP9dScnPly_c */
-static int dScnPly_Draw(dScnPly_c* scn) {
+static int dScnPly_Draw(dScnPly_c* i_this) {
+ static s16 l_wipeType[] = {
+ 0x0000, 0x0000, 0x0011, 0x0002, 0x0002, 0x0001, 0x0003, 0x0001, 0x0004, 0x0004, 0x0005, 0x0005,
+ 0x0006, 0x0007, 0x0000, 0x0000, 0x0002, 0x0002, 0x0002, 0x0002, 0x0002, 0x0008, 0x0008,
+ };
+
dComIfG_Ccsp()->Move();
dComIfG_Bgsp().ClrMoveFlag();
u8 useWhiteColor;
- if (!fopOvlpM_IsPeek() && !dComIfG_resetToOpening(scn)) {
+ if (!fopOvlpM_IsPeek() && !dComIfG_resetToOpening(i_this)) {
if (dComIfGp_isEnableNextStage()) {
u8 wipe = dComIfGp_getNextStageWipe();
- fopScnM_ChangeReq(scn, 11, l_wipeType[wipe], 5);
+ fopScnM_ChangeReq(i_this, PROC_PLAY_SCENE, l_wipeType[wipe], 5);
int hour = dKy_getdaytime_hour();
useWhiteColor = hour >= 6 && hour < 18 ? true : false;
@@ -186,7 +126,8 @@ static int dScnPly_Draw(dScnPly_c* scn) {
if (wipe == 1 || wipe == 2 || wipe == 7 || wipe == 17 || wipe == 21 ||
((wipe == 8 || wipe == 10 || wipe == 18) && tmp) ||
- ((wipe == 9 || wipe == 11 || wipe == 19) && !tmp)) {
+ ((wipe == 9 || wipe == 11 || wipe == 19) && !tmp))
+ {
mDoGph_gInf_c::setFadeColor(*(JUtility::TColor*)&g_saftyWhiteColor);
} else if (wipe == 14 || wipe == 20) {
GXColor color = {0x2A, 0x1E, 0x46, 0xFF};
@@ -204,7 +145,7 @@ static int dScnPly_Draw(dScnPly_c* scn) {
dMdl_mng_c::reset();
if (!dComIfGp_isPauseFlag() && dScnPly_c::pauseTimer == 0) {
- if (fpcM_GetName(scn) == PROC_PLAY_SCENE) {
+ if (fpcM_GetName(i_this) == PROC_PLAY_SCENE) {
dComIfGp_getVibration().Run();
}
daSus_c::execute();
@@ -236,8 +177,8 @@ static int dScnPly_Draw(dScnPly_c* scn) {
}
/* 802597B8-8025987C 2540F8 00C4+00 1/0 0/0 0/0 .text dScnPly_Execute__FP9dScnPly_c */
-static int dScnPly_Execute(dScnPly_c* scnPly) {
- scnPly->offReset();
+static int dScnPly_Execute(dScnPly_c* i_this) {
+ i_this->offReset();
dStage_roomControl_c::offNoChangeRoom();
dStage_roomControl_c::setRoomReadId(0xFF);
@@ -248,7 +189,7 @@ static int dScnPly_Execute(dScnPly_c* scnPly) {
mDoAud_zelAudio_c::offBgmSet();
}
- if (scnPly->calcPauseTimer() != 0) {
+ if (i_this->calcPauseTimer() != 0) {
return 1;
}
}
@@ -263,24 +204,24 @@ static int dScnPly_Execute(dScnPly_c* scnPly) {
}
/* 8025987C-802598AC 2541BC 0030+00 1/0 0/0 0/0 .text dScnPly_IsDelete__F9dScnPly_c */
-static int dScnPly_IsDelete(dScnPly_c scnPly) {
+static int dScnPly_IsDelete(dScnPly_c i_this) {
dComIfGp_particle_cleanup();
return 1;
}
-struct ProLoadInfoStruct {
- const char* field_0x0;
- const s16* field_0x4;
- const char** field_0x8;
- u8 field_0xc;
- u8 field_0xd;
+struct PreLoadInfo {
+ const char* stageName;
+ const s16* profNameTbl;
+ const char** resNameTbl;
+ u8 dylKeyTblNum;
+ u8 resNameNum;
};
/* 80450760-80450764 -00001 0004+00 1/0 0/0 0/0 .sdata T_JOINT_resName */
static const char* T_JOINT_resName[1] = {"Always"};
/* 8039A2C8-8039A2D8 -00001 0010+00 4/4 0/0 0/0 .rodata PreLoadInfoT */
-static ProLoadInfoStruct const PreLoadInfoT[1] = {
+static PreLoadInfo const PreLoadInfoT[1] = {
{
"T_JOINT",
T_JOINT_dylKeyTbl,
@@ -296,46 +237,59 @@ static s8 preLoadNo = -1;
static u8 doPreLoad = 1;
/* 802598AC-80259AC4 2541EC 0218+00 1/0 0/0 0/0 .text dScnPly_Delete__FP9dScnPly_c */
-static int dScnPly_Delete(dScnPly_c* param_0) {
+static int dScnPly_Delete(dScnPly_c* i_this) {
daSus_c::reset();
dMpath_c::remove();
dTres_c::remove();
+
dComIfGp_getAttention().~dAttention_c();
dComIfGp_getVibration().Remove();
+
dComIfG_Bgsp().Dt();
dComIfG_Ccsp()->Dt();
dStage_Delete();
+
i_dComIfGp_event_remove();
+
dComIfGp_particle_removeScene(0);
+
dComIfGp_getMsgDtArchive(1)->removeResourceAll();
JKRUnmountArchive(dComIfGp_getMsgDtArchive(1));
+
dDemo_c::remove();
+
fopMsgM_destroyExpHeap(dComIfGp_getExpHeap2D());
dComIfGp_setExpHeap2D(NULL);
fopMsgM_destroyExpHeap(dComIfGp_getMsgExpHeap());
dComIfGp_setMsgExpHeap(NULL);
+
dComIfGp_deleteSimpleModel();
dMdl_mng_c::remove();
+
mDoGph_gInf_c::getBloom()->remove();
+
dComIfGs_offPlayerFieldLastStayFieldDataExistFlag();
dComIfGp_setWindowNum(0);
dComIfGd_setView(NULL);
+
if (preLoadNo >= 0) {
- const char** piVar4 = PreLoadInfoT[preLoadNo].field_0x8;
- int bVar1 = PreLoadInfoT[preLoadNo].field_0xd;
- if (piVar4 != NULL && (*piVar4 != NULL)) {
- for (int iVar3 = 0; iVar3 < bVar1; iVar3++) {
- dComIfG_resDelete(&resPhase[iVar3], piVar4[iVar3]);
+ const char** resname_table = PreLoadInfoT[preLoadNo].resNameTbl;
+ int res_num = PreLoadInfoT[preLoadNo].resNameNum;
+ if (resname_table != NULL && (*resname_table != NULL)) {
+ for (int i = 0; i < res_num; i++) {
+ dComIfG_resDelete(&resPhase[i], resname_table[i]);
}
}
- const s16* psVar5 = PreLoadInfoT[preLoadNo].field_0x4;
- int bVar2 = PreLoadInfoT[preLoadNo].field_0xc;
- if (psVar5 != NULL && *psVar5 != 0) {
- for (int iVar3 = 0; iVar3 < bVar2; iVar3++) {
- cDylPhs::Unlink(&dylPhase[iVar3], psVar5[iVar3]);
+
+ const s16* profname_table = PreLoadInfoT[preLoadNo].profNameTbl;
+ int prof_num = PreLoadInfoT[preLoadNo].dylKeyTblNum;
+ if (profname_table != NULL && *profname_table != 0) {
+ for (int i = 0; i < prof_num; i++) {
+ cDylPhs::Unlink(&dylPhase[i], profname_table[i]);
}
}
}
+
dComIfGp_init();
JUTAssertion::setMessageCount(0);
return 1;
@@ -359,7 +313,8 @@ bool dScnPly_c::resetGame() {
if (dComIfGp_getNextStagePoint() == -4 || (dComIfGs_getLastSceneMode() & 0xF) == 0xC ||
!strcmp(dComIfGp_getNextStageName(), "F_SP109") ||
(!strcmp(dComIfGp_getNextStageName(), "F_SP116") &&
- dComIfGp_getNextStageRoomNo() == 1 && dComIfGp_getNextStageLayer() == 9)) {
+ dComIfGp_getNextStageRoomNo() == 1 && dComIfGp_getNextStageLayer() == 9))
+ {
if (!dStage_roomControl_c::resetArchiveBank(0)) {
return false;
}
@@ -384,8 +339,8 @@ void dScnPly_c::offReset() {
}
/* 80259C70-80259CAC 2545B0 003C+00 1/0 0/0 0/0 .text phase_00__FP9dScnPly_c */
-static int phase_00(dScnPly_c* scn) {
- if (!scn->resetGame()) {
+static int phase_00(dScnPly_c* i_this) {
+ if (!i_this->resetGame()) {
return cPhs_INIT_e;
} else {
mDoGph_gInf_c::offBlure();
@@ -394,7 +349,7 @@ static int phase_00(dScnPly_c* scn) {
}
/* 80259CAC-80259D7C 2545EC 00D0+00 1/0 0/0 0/0 .text phase_01__FP9dScnPly_c */
-static int phase_01(dScnPly_c* scn) {
+static int phase_01(dScnPly_c* i_this) {
mDoAud_setHour(dKy_getdaytime_hour());
mDoAud_setMinute(dKy_getdaytime_minute());
mDoAud_setWeekday(dKy_get_dayofweek());
@@ -419,13 +374,13 @@ static int phase_01(dScnPly_c* scn) {
}
/* 80259D7C-80259D84 2546BC 0008+00 1/0 0/0 0/0 .text phase_0__FP9dScnPly_c */
-static int phase_0(dScnPly_c* param_0) {
+static int phase_0(dScnPly_c* i_this) {
return cPhs_NEXT_e;
}
/* 80259D84-8025A438 2546C4 06B4+00 1/0 0/0 0/0 .text phase_1__FP9dScnPly_c */
-static int phase_1(dScnPly_c* scn) {
- u32 id = fopScnM_GetID(scn);
+static int phase_1(dScnPly_c* i_this) {
+ u32 id = fopScnM_GetID(i_this);
dStage_roomControl_c::setProcID(id);
dComIfGp_setStartStage(dComIfGp_getNextStartStage());
@@ -442,38 +397,45 @@ static int phase_1(dScnPly_c* scn) {
// Stage: Faron Woods, Room: Faron Spring
if (!strcmp(dComIfGp_getStartStageName(), "F_SP108") && dComIfGp_getStartStageRoomNo() == 1 &&
- dComIfGp_getStartStagePoint() == 3) {
+ dComIfGp_getStartStagePoint() == 3)
+ {
dComIfGs_onDarkClearLV(0);
execItemGet(WEAR_KOKIRI);
}
// Stage: Kakariko Village, Room: Kakariko Village
else if (!strcmp(dComIfGp_getStartStageName(), "F_SP109") &&
- dComIfGp_getStartStageRoomNo() == 0 && dComIfGp_getStartStagePoint() == 30) {
+ dComIfGp_getStartStageRoomNo() == 0 && dComIfGp_getStartStagePoint() == 30)
+ {
dComIfGs_onDarkClearLV(1);
}
// Stage: Lake Hylia, Room: Fountain
else if (!strcmp(dComIfGp_getStartStageName(), "F_SP115") &&
- dComIfGp_getStartStageRoomNo() == 1 && dComIfGp_getStartStagePoint() == 20) {
+ dComIfGp_getStartStageRoomNo() == 1 && dComIfGp_getStartStagePoint() == 20)
+ {
dComIfGs_onDarkClearLV(2);
}
// Stage: Sacred Grove, Room: Lost Woods
else if (!strcmp(dComIfGp_getStartStageName(), "F_SP117") &&
- dComIfGp_getStartStageRoomNo() == 1 && dComIfGp_getStartStagePoint() == 99) {
+ dComIfGp_getStartStageRoomNo() == 1 && dComIfGp_getStartStagePoint() == 99)
+ {
dComIfGs_onDarkClearLV(3);
}
// Stage: Ordon Spring, Room: Ordon Spring
if (!strcmp(dComIfGp_getStartStageName(), "F_SP104") && dComIfGp_getStartStageRoomNo() == 1 &&
- dComIfGp_getStartStagePoint() == 23 && dComIfGp_getStartStageLayer() == 12) {
+ dComIfGp_getStartStagePoint() == 23 && dComIfGp_getStartStageLayer() == 12)
+ {
dComIfGs_onItemFirstBit(HORSE_FLUTE);
dComIfGs_setItem(SLOT_21, HORSE_FLUTE);
}
if ((u8)dKy_darkworld_stage_check(dComIfGp_getStartStageName(),
- dComIfGp_getStartStageRoomNo()) == true) {
+ dComIfGp_getStartStageRoomNo()) == true)
+ {
dComIfGp_world_dark_set(1);
} else if ((u8)dKy_darkworld_spot_check(dComIfGp_getStartStageName(),
- dComIfGp_getStartStageRoomNo()) == true) {
+ dComIfGp_getStartStageRoomNo()) == true)
+ {
dComIfGp_world_dark_set(2);
} else {
dComIfGp_world_dark_set(0);
@@ -481,7 +443,8 @@ static int phase_1(dScnPly_c* scn) {
// Stage: Lake Hylia, Room: Fountain
if (!strcmp(dComIfGp_getStartStageName(), "F_SP115") && dComIfGp_getStartStageRoomNo() == 1 &&
- dComIfGp_getStartStageLayer() < 0) {
+ dComIfGp_getStartStageLayer() < 0)
+ {
const char* stage = dComIfGp_getStartStageName();
s8 room = dComIfGp_getStartStageRoomNo();
s8 layer = dComIfGp_getStartStageLayer();
@@ -502,13 +465,15 @@ static int phase_1(dScnPly_c* scn) {
(!strcmp(dComIfGp_getStartStageName(), "F_SP115") && dComIfGp_getStartStageRoomNo() == 1 &&
dComIfGp_getStartStageLayer() == 8) ||
(!strcmp(dComIfGp_getStartStageName(), "F_SP115") && dComIfGp_getStartStageRoomNo() == 1 &&
- dComIfGp_getStartStageLayer() == 9)) {
+ dComIfGp_getStartStageLayer() == 9))
+ {
dComIfGp_world_dark_set(1);
}
// Stage: Zant Boss Fight, Room: Throne Room
if (!strcmp(dComIfGp_getStartStageName(), "D_MN08D") && dComIfGp_getStartStageRoomNo() == 50 &&
- dComIfGp_getStartStagePoint() == 20) {
+ dComIfGp_getStartStagePoint() == 20)
+ {
dComIfGs_onSaveDunSwitch(30);
}
@@ -516,29 +481,34 @@ static int phase_1(dScnPly_c* scn) {
// Stage: Hyrule Castle Sewers, Room: Prison Cell
if (!strcmp(dComIfGp_getStartStageName(), "R_SP107") && dComIfGp_getStartStageRoomNo() == 0 &&
- (dComIfGp_getStartStagePoint() == 24 || dComIfGp_getStartStagePoint() == 0)) {
+ (dComIfGp_getStartStagePoint() == 24 || dComIfGp_getStartStagePoint() == 0))
+ {
dComIfGs_onTransformLV(0);
}
// Stage: Hyrule Field, Room: Eldin Gorge south entrance
else if (!strcmp(dComIfGp_getStartStageName(), "F_SP121") &&
- dComIfGp_getStartStageRoomNo() == 2 && dComIfGp_getStartStagePoint() == 10) {
+ dComIfGp_getStartStageRoomNo() == 2 && dComIfGp_getStartStagePoint() == 10)
+ {
dComIfGs_onTransformLV(1);
}
// Stage: Hyrule Field, Room: Lanayru Field north entrance
else if (!strcmp(dComIfGp_getStartStageName(), "F_SP121") &&
- dComIfGp_getStartStageRoomNo() == 9 && dComIfGp_getStartStagePoint() == 10) {
+ dComIfGp_getStartStageRoomNo() == 9 && dComIfGp_getStartStagePoint() == 10)
+ {
dComIfGs_onTransformLV(2);
}
// Stage: Hyrule Field, Room: Lanayru Field
else if (!strcmp(dComIfGp_getStartStageName(), "F_SP121") &&
dComIfGp_getStartStageRoomNo() == 10 &&
- (dComIfGp_getStartStagePoint() == 23 || dComIfGp_getStartStagePoint() == 20)) {
+ (dComIfGp_getStartStagePoint() == 23 || dComIfGp_getStartStagePoint() == 20))
+ {
dComIfGs_onTransformLV(3);
}
// Stage: Fishing Pond, Room: Fishing Pond
if (!strcmp(dComIfGp_getStartStageName(), "F_SP127") && dComIfGp_getStartStageRoomNo() == 0 &&
- dComIfGp_getStartStagePoint() == 2) {
+ dComIfGp_getStartStagePoint() == 2)
+ {
g_env_light.mPondSeason++;
if (g_env_light.mPondSeason > 4) {
@@ -559,7 +529,9 @@ static int phase_1(dScnPly_c* scn) {
}
/* 8025A438-8025A4F8 254D78 00C0+00 1/0 0/0 0/0 .text phase_1_0__FP9dScnPly_c */
-static int phase_1_0(dScnPly_c* param_0) {
+static int phase_1_0(dScnPly_c* i_this) {
+ static char camparamarc[10] = "CamParam";
+
if (dComIfG_syncStageRes("Stg_00")) {
return cPhs_INIT_e;
} else {
@@ -572,29 +544,33 @@ static int phase_1_0(dScnPly_c* param_0) {
}
/* 8025A4F8-8025A5D4 254E38 00DC+00 1/0 0/0 0/0 .text phase_2__FP9dScnPly_c */
-static int phase_2(dScnPly_c* scn) {
+static int phase_2(dScnPly_c* i_this) {
int tmp = dComIfG_syncAllObjectRes();
if (tmp >= 0 && tmp != 0) {
return cPhs_INIT_e;
}
- u8 particle_no = dStage_stagInfo_GetParticleNo(i_dComIfGp_getStage()->getStagInfo(), dComIfG_play_c::getLayerNo(0));
+
+ u8 particle_no = dStage_stagInfo_GetParticleNo(i_dComIfGp_getStage()->getStagInfo(),
+ dComIfG_play_c::getLayerNo(0));
if (particle_no == 255) {
particle_no = dStage_stagInfo_GetParticleNo(i_dComIfGp_getStage()->getStagInfo());
}
- dComIfGp_particle_readScene(particle_no, &scn->sceneCommand);
- dMsgObject_readMessageGroup(&scn->field_0x1d0);
+ dComIfGp_particle_readScene(particle_no, &i_this->sceneCommand);
+ dMsgObject_readMessageGroup(&i_this->field_0x1d0);
return cPhs_NEXT_e;
}
/* 8025A5D4-8025A654 254F14 0080+00 1/0 0/0 0/0 .text phase_3__FP9dScnPly_c */
-static int phase_3(dScnPly_c* scn) {
- if ((scn->sceneCommand != NULL && !scn->sceneCommand->sync()) || mDoAud_check1stDynamicWave()) {
+static int phase_3(dScnPly_c* i_this) {
+ if ((i_this->sceneCommand != NULL && !i_this->sceneCommand->sync()) || mDoAud_check1stDynamicWave()) {
return cPhs_INIT_e;
- }
- if (!scn->field_0x1d0 == NULL && !scn->field_0x1d0->sync()) {
+ }
+
+ if (!i_this->field_0x1d0 == NULL && !i_this->field_0x1d0->sync()) {
return cPhs_INIT_e;
- }
+ }
+
return cPhs_NEXT_e;
}
@@ -664,7 +640,7 @@ static int phase_4(dScnPly_c* i_this) {
new (&dComIfGp_getAttention()) dAttention_c(dComIfGp_getPlayer(0), 0);
dComIfGp_getVibration().Init();
daYkgr_c::init();
-
+
dComIfG_setBrightness(255);
mDoGph_gInf_c::offFade();
mDoAud_zelAudio_c::onBgmSet();
@@ -676,7 +652,7 @@ static int phase_4(dScnPly_c* i_this) {
const char* stageName = dComIfGp_getStartStageName();
OS_REPORT("stageName=%s\n", stageName);
for (u32 i = 0; i < 1; i++) {
- if (strcmp(stageName, PreLoadInfoT[i].field_0x0) == 0) {
+ if (strcmp(stageName, PreLoadInfoT[i].stageName) == 0) {
preLoadNo = i;
}
}
@@ -691,11 +667,12 @@ static int phase_4(dScnPly_c* i_this) {
}
/* 8025A9F4-8025AAC0 255334 00CC+00 1/0 0/0 0/0 .text phase_5__FP9dScnPly_c */
-static int phase_5(dScnPly_c* param_0) {
+static int phase_5(dScnPly_c* i_this) {
if (preLoadNo >= 0) {
- int rv = 2;
- const char** resNames = PreLoadInfoT[preLoadNo].field_0x8;
- s32 resNameNum = PreLoadInfoT[preLoadNo].field_0xd;
+ int phase_state = cPhs_NEXT_e;
+
+ const char** resNames = PreLoadInfoT[preLoadNo].resNameTbl;
+ s32 resNameNum = PreLoadInfoT[preLoadNo].resNameNum;
if (resNames != NULL && *resNames != NULL) {
JUT_ASSERT(2830, resNameNum <= (sizeof(resPhase) / sizeof(resPhase[0])));
int goodLoads = 0;
@@ -704,52 +681,103 @@ static int phase_5(dScnPly_c* param_0) {
if (dComIfG_resLoad(&resPhase[i], resNames[i]) == 4) {
goodLoads++;
} else {
- rv = 0;
+ phase_state = cPhs_INIT_e;
}
loadNum++;
}
}
- if (rv == 4) {
+
+ if (phase_state == cPhs_COMPLEATE_e) {
resPreLoadTime1 = OSGetTime();
}
- return rv;
+
+ return phase_state;
}
+
return cPhs_NEXT_e;
}
/* 8025AAC0-8025AB8C 255400 00CC+00 1/0 0/0 0/0 .text phase_6__FP9dScnPly_c */
-static int phase_6(dScnPly_c* param_0) {
+static int phase_6(dScnPly_c* i_this) {
if (preLoadNo >= 0) {
- int rv = 2;
- const s16* dylKeyTbl = PreLoadInfoT[preLoadNo].field_0x4;
- s32 dylKeyTblNum = PreLoadInfoT[preLoadNo].field_0xc;
+ int phase_state = cPhs_NEXT_e;
+
+ const s16* dylKeyTbl = PreLoadInfoT[preLoadNo].profNameTbl;
+ s32 dylKeyTblNum = PreLoadInfoT[preLoadNo].dylKeyTblNum;
if (dylKeyTbl != NULL && *dylKeyTbl != 0) {
JUT_ASSERT(2864, dylKeyTblNum <= (sizeof(dylPhase) / sizeof(dylPhase[0])));
int goodLoads = 0;
int loadNum = 0;
for (int i = 0; i < dylKeyTblNum; i++) {
- if (cDylPhs::Link(&dylPhase[i], dylKeyTbl[i]) == 4) {
+ if (cDylPhs::Link(&dylPhase[i], dylKeyTbl[i]) == cPhs_COMPLEATE_e) {
goodLoads++;
} else {
- rv = 0;
+ phase_state = cPhs_INIT_e;
}
loadNum++;
}
}
- if (rv == 4) {
+
+ if (phase_state == cPhs_COMPLEATE_e) {
dylPreLoadTime1 = OSGetTime();
}
- return rv;
+
+ return phase_state;
}
+
return cPhs_NEXT_e;
}
/* 8025AB8C-8025AB94 2554CC 0008+00 1/0 0/0 0/0 .text phase_compleate__FPv */
-static int phase_compleate(void* param_0) {
+static int phase_compleate(void* i_this) {
return cPhs_COMPLEATE_e;
}
/* 8025AB94-8025ABC4 2554D4 0030+00 1/0 0/0 0/0 .text dScnPly_Create__FP11scene_class */
static void dScnPly_Create(scene_class* i_this) {
+ static request_of_phase_process_fn l_method[] = {
+ (request_of_phase_process_fn)phase_00, (request_of_phase_process_fn)phase_1,
+ (request_of_phase_process_fn)phase_1_0, (request_of_phase_process_fn)phase_01,
+ (request_of_phase_process_fn)phase_0, (request_of_phase_process_fn)phase_2,
+ (request_of_phase_process_fn)phase_3, (request_of_phase_process_fn)phase_4,
+ (request_of_phase_process_fn)phase_5, (request_of_phase_process_fn)phase_6,
+ (request_of_phase_process_fn)phase_compleate,
+ };
+
dComLbG_PhaseHandler(&static_cast<dScnPly_c*>(i_this)->field_0x1c4, l_method, i_this);
}
+
+/* 803C31C0-803C31D4 -00001 0014+00 2/0 0/0 0/0 .data l_dScnPly_Method */
+static leafdraw_method_class l_dScnPly_Method = {
+ (process_method_func)dScnPly_Create, (process_method_func)dScnPly_Delete,
+ (process_method_func)dScnPly_Execute, (process_method_func)dScnPly_IsDelete,
+ (process_method_func)dScnPly_Draw,
+};
+
+/* 803C31D4-803C31FC -00001 0028+00 0/0 0/0 1/0 .data g_profile_PLAY_SCENE */
+scene_process_profile_definition g_profile_PLAY_SCENE = {
+ fpcLy_ROOT_e, // mLayerID
+ 1, // mListID
+ fpcPi_CURRENT_e, // mListPrio
+ PROC_PLAY_SCENE, // mProcName
+ &g_fpcNd_Method.mBase, // mSubMtd
+ sizeof(dScnPly_c), // mSize
+ 0, // mSizeOther
+ 0, // mParameters
+ &g_fopScn_Method.mBase, // mSubMtd
+ (process_method_class*)&l_dScnPly_Method, // mpMtd
+};
+
+/* 803C31FC-803C3224 -00001 0028+00 0/0 0/0 1/0 .data g_profile_OPENING_SCENE */
+scene_process_profile_definition g_profile_OPENING_SCENE = {
+ fpcLy_ROOT_e, // mLayerID
+ 1, // mListID
+ fpcPi_CURRENT_e, // mListPrio
+ PROC_OPENING_SCENE, // mProcName
+ &g_fpcNd_Method.mBase, // mSubMtd
+ sizeof(dScnPly_c), // mSize
+ 0, // mSizeOther
+ 0, // mParameters
+ &g_fopScn_Method.mBase, // mSubMtd
+ (process_method_class*)&l_dScnPly_Method, // mpMtd
+}; \ No newline at end of file
diff --git a/src/d/s/d_s_room.cpp b/src/d/s/d_s_room.cpp
index 717d7ce6e3..603ffc159f 100644
--- a/src/d/s/d_s_room.cpp
+++ b/src/d/s/d_s_room.cpp
@@ -1,16 +1,16 @@
-//
-// d_s_room
-//
+/**
+ * d_s_room.cpp
+ * Gameplay Room Scene
+ */
#include "d/s/d_s_room.h"
#include "JSystem/JKernel/JKRExpHeap.h"
-#include "stdio.h"
#include "d/com/d_com_inf_game.h"
#include "d/d_procname.h"
#include "d/s/d_s_play.h"
-#include "dolphin/os.h"
#include "f_op/f_op_actor_mng.h"
#include "m_Do/m_Do_Reset.h"
+#include "stdio.h"
/* 8025AE1C-8025AE24 25575C 0008+00 1/0 0/0 0/0 .text dScnRoom_Draw__FP19room_of_scene_class */
static int dScnRoom_Draw(room_of_scene_class* i_this) {
@@ -21,6 +21,7 @@ static int dScnRoom_Draw(room_of_scene_class* i_this) {
static int getResetArchiveBank(int param_1, u8 const** param_2) {
dStage_roomControl_c::nameData* arcBankName = dStage_roomControl_c::getArcBankName();
int local_30 = 0;
+
*param_2 = NULL;
if (arcBankName != NULL) {
dStage_roomControl_c::bankData* arcBankData = dStage_roomControl_c::getArcBankData();
@@ -35,19 +36,23 @@ static int getResetArchiveBank(int param_1, u8 const** param_2) {
}
}
}
+
u8 const* pbVar1 = *param_2;
for (int i = 0; i < local_30; pbVar1++, i++) {
char* arcBank = dStage_roomControl_c::getArcBank(i);
char* name = "";
+
int id = *pbVar1;
if (id != 0xff) {
JUT_ASSERT(160, 0 <= id && id < arcBankName->m_num);
name = arcBankName->m_names[id];
}
+
if (strcmp(arcBank, name) != 0) {
return i;
}
}
+
return local_30;
}
@@ -60,24 +65,26 @@ static bool resetArchiveBank(int param_0) {
/* 8025AF4C-8025B0F0 25588C 01A4+00 1/1 0/0 0/0 .text setArchiveBank__Fi */
static bool setArchiveBank(int param_0) {
u8* arr[4];
- int iVar1 = getResetArchiveBank(param_0, (u8 const**)&arr);
+ int bank_no = getResetArchiveBank(param_0, (u8 const**)&arr);
if (arr[0] == NULL) {
return true;
}
+
dStage_roomControl_c::nameData* arcBankName = dStage_roomControl_c::getArcBankName();
- for (; (int)iVar1 < 0x20; iVar1++) {
+ for (; (int)bank_no < 0x20; bank_no++) {
const char* name = "";
- int id = arr[0][iVar1];
+ int id = arr[0][bank_no];
if (id != 0xff) {
JUT_ASSERT(216, 0 <= id && id < arcBankName->m_num);
name = arcBankName->m_names[id];
}
+
if (strcmp(name, "") != 0) {
if (strnicmp(name, "pack", 4) == 0) {
int syncres = dComIfG_syncObjectRes(name);
if (syncres < 0) {
if (!dComIfG_setObjectRes(name, 0, mDoExt_getArchiveHeap())) {
- OSReport_Error("Bank[%d] : %s.arc Read Error !!\n", iVar1, name);
+ OSReport_Error("Bank[%d] : %s.arc Read Error !!\n", bank_no, name);
} else {
return false;
}
@@ -86,12 +93,14 @@ static bool setArchiveBank(int param_0) {
}
} else {
if (!dComIfG_setObjectRes(name, 0, mDoExt_getArchiveHeap())) {
- OSReport_Error("Bank[%d] : %s.arc Read Error !!\n", iVar1, name);
+ OSReport_Error("Bank[%d] : %s.arc Read Error !!\n", bank_no, name);
}
}
}
- dStage_roomControl_c::setArcBank(iVar1, name);
+
+ dStage_roomControl_c::setArcBank(bank_no, name);
}
+
return true;
}
@@ -131,24 +140,31 @@ static bool isCreating(unsigned int param_0) {
static int loadDemoArchive(int room_no) {
if (*dStage_roomControl_c::getDemoArcName() == 0) {
dStage_Lbnk_c* lbnk = dComIfGp_roomControl_getStatusRoomDt(room_no)->mRoomDt.getLbnk();
+
if (lbnk != NULL) {
dStage_Lbnk_dt_c* entries = lbnk->entries;
+
if (entries != NULL) {
int bank = entries[dComIfG_play_c::getLayerNo(room_no)].bank;
+
if (bank != 0xff) {
JUT_ASSERT(350, 0 <= bank && bank < 100);
u8 bank2 = entries[dComIfG_play_c::getLayerNo(room_no)].bank2;
JUT_ASSERT(353, 0 <= bank2 && bank2 < 100);
+
sprintf(dStage_roomControl_c::getDemoArcName(), "Demo%02d_%02d", bank, bank2);
- if (!dComIfG_setObjectRes(dStage_roomControl_c::getDemoArcName(), 0, (JKRHeap*)NULL)) {
+ if (!dComIfG_setObjectRes(dStage_roomControl_c::getDemoArcName(), 0,
+ (JKRHeap*)NULL))
+ {
*dStage_roomControl_c::getDemoArcName() = 0;
} else {
return 1;
}
}
}
- }
+ }
}
+
return 0;
}
@@ -224,7 +240,8 @@ static int dScnRoom_Execute(room_of_scene_class* i_this) {
fopScnM_DeleteReq(i_this);
} else if (i_this->field_0x1d4 < 0 && i_this->field_0x1d5 != 0 &&
!i_dComIfGp_event_runCheck() &&
- (int)fopScnM_GetParam(i_this) == dComIfGp_roomControl_getStayNo()) {
+ (int)fopScnM_GetParam(i_this) == dComIfGp_roomControl_getStayNo())
+ {
if (isCreating(fpcM_LayerID(i_this))) {
dScnPly_c::nextPauseTimer = 2;
} else {
@@ -259,7 +276,8 @@ static bool isReadRoom(int param_0) {
for (int i = 0; i < roomData->field_0x0; i++) {
if (dStage_roomRead_dt_c_ChkBg(*tmp) &&
- param_0 == dStage_roomRead_dt_c_GetLoadRoomIndex(*tmp)) {
+ param_0 == dStage_roomRead_dt_c_GetLoadRoomIndex(*tmp))
+ {
return true;
}
tmp++;
@@ -280,7 +298,8 @@ static int dScnRoom_Delete(room_of_scene_class* i_this) {
if (mDoRst::isReset() || !dComIfGp_isEnableNextStage() ||
strcmp(dComIfGp_getNextStageName(), dComIfGp_getStartStageName()) ||
- (roomNo != dComIfGp_getNextStageRoomNo() && !isReadRoom(roomNo))) {
+ (roomNo != dComIfGp_getNextStageRoomNo() && !isReadRoom(roomNo)))
+ {
dComIfG_deleteStageRes(setArcName(i_this));
JKRExpHeap* heap = dStage_roomControl_c::getMemoryBlock(roomNo);
@@ -298,7 +317,7 @@ static int dScnRoom_Delete(room_of_scene_class* i_this) {
static int phase_0(room_of_scene_class* i_this) {
int roomNo = fopScnM_GetParam(i_this);
dStage_roomControl_c::setStatusProcID(roomNo, fopScnM_GetID(i_this));
- return 2;
+ return cPhs_NEXT_e;
}
/* 8025B8A4-8025B980 2561E4 00DC+00 1/0 0/0 0/0 .text phase_1__FP19room_of_scene_class */
@@ -313,7 +332,7 @@ static int phase_1(room_of_scene_class* i_this) {
if (heap != NULL) {
if (heap->getTotalUsedSize() != 0) {
- return 0;
+ return cPhs_INIT_e;
}
} else {
stage_stag_info_class* stagInfo = i_dComIfGp_getStage()->getStagInfo();
@@ -328,7 +347,7 @@ static int phase_1(room_of_scene_class* i_this) {
}
}
- return 2;
+ return cPhs_NEXT_e;
}
/* 8025B980-8025BAAC 2562C0 012C+00 1/0 0/0 0/0 .text phase_2__FP19room_of_scene_class */
@@ -341,7 +360,7 @@ static int phase_2(room_of_scene_class* i_this) {
}
if (phase != 0) {
- return 0;
+ return cPhs_INIT_e;
}
int roomNo = fopScnM_GetParam(i_this);
@@ -368,7 +387,7 @@ static int phase_2(room_of_scene_class* i_this) {
mDoExt_setCurrentHeap(old_heap);
}
- return 2;
+ return cPhs_NEXT_e;
}
/* 8025BAAC-8025BAC4 2563EC 0018+00 1/1 0/0 0/0 .text setZoneNo__20dStage_roomControl_cFii */
@@ -378,16 +397,24 @@ void dStage_roomControl_c::setZoneNo(int i_roomNo, int i_zoneNo) {
/* 8025BAC4-8025BAF8 256404 0034+00 1/0 0/0 0/0 .text phase_3__FP19room_of_scene_class */
static int phase_3(room_of_scene_class* i_this) {
- return objectSetCheck(i_this) ? 2 : 0;
+ if (objectSetCheck(i_this)) {
+ return cPhs_NEXT_e;
+ } else {
+ return cPhs_INIT_e;
+ }
}
/* 8025BAF8-8025BB48 256438 0050+00 1/0 0/0 0/0 .text phase_4__FP19room_of_scene_class */
static int phase_4(room_of_scene_class* i_this) {
if (dComIfGp_getPlayer(0) == NULL) {
- return 0;
+ return cPhs_INIT_e;
}
- return objectSetCheck(i_this) ? cPhs_COMPLEATE_e : 0;
+ if (objectSetCheck(i_this)) {
+ return cPhs_COMPLEATE_e;
+ } else {
+ return cPhs_INIT_e;
+ }
}
/* 8025BB48-8025BB78 256488 0030+00 1/0 0/0 0/0 .text dScnRoom_Create__FP11scene_class */
@@ -401,24 +428,23 @@ static int dScnRoom_Create(scene_class* i_this) {
return dComLbG_PhaseHandler(&room->field_0x1c4, l_method, i_this);
}
-/* ############################################################################################## */
/* 803C3274-803C3288 -00001 0014+00 1/0 0/0 0/0 .data l_dScnRoom_Method */
static leafdraw_method_class l_dScnRoom_Method = {
- (process_method_func)dScnRoom_Create, (process_method_func)dScnRoom_Delete, (process_method_func)dScnRoom_Execute,
- (process_method_func)dScnRoom_IsDelete, (process_method_func)dScnRoom_Draw,
+ (process_method_func)dScnRoom_Create, (process_method_func)dScnRoom_Delete,
+ (process_method_func)dScnRoom_Execute, (process_method_func)dScnRoom_IsDelete,
+ (process_method_func)dScnRoom_Draw,
};
/* 803C3288-803C32B0 -00001 0028+00 0/0 0/0 1/0 .data g_profile_ROOM_SCENE */
scene_process_profile_definition g_profile_ROOM_SCENE = {
- fpcLy_CURRENT_e, // mLayerID
- 0, // mListID
- fpcPi_CURRENT_e, // mListPrio
- PROC_ROOM_SCENE, // mProcName
- &g_fpcNd_Method.mBase, // mSubMtd
- sizeof(room_of_scene_class), // mSize
- 0, // mSizeOther
- 0, // mParameters
- &g_fopScn_Method.mBase, // mSubMtd
- (process_method_class*)&l_dScnRoom_Method, // mpMtd
+ fpcLy_CURRENT_e, // mLayerID
+ 0, // mListID
+ fpcPi_CURRENT_e, // mListPrio
+ PROC_ROOM_SCENE, // mProcName
+ &g_fpcNd_Method.mBase, // mSubMtd
+ sizeof(room_of_scene_class), // mSize
+ 0, // mSizeOther
+ 0, // mParameters
+ &g_fopScn_Method.mBase, // mSubMtd
+ (process_method_class*)&l_dScnRoom_Method, // mpMtd
};
-/* 8039A388-8039A388 0269E8 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
diff --git a/src/d/s/d_s_title.cpp b/src/d/s/d_s_title.cpp
index fe13b9adf1..52916935e3 100644
--- a/src/d/s/d_s_title.cpp
+++ b/src/d/s/d_s_title.cpp
@@ -1,6 +1,6 @@
/**
* d_s_title.cpp
- * dolzel2 - Scene Title
+ * Title Screen Scene
*/
#include "d/s/d_s_title.h"
@@ -8,7 +8,6 @@
#include "f_pc/f_pc_leaf.h"
#include "d/d_procname.h"
-/* ############################################################################################## */
/* 803C32B0-803C32D8 -00001 0028+00 0/0 0/0 1/0 .data g_profile_WARNING_SCENE */
extern scene_process_profile_definition g_profile_WARNING_SCENE = {
fpcLy_ROOT_e, // mLayerID
diff --git a/src/d/shop/d_shop_camera.cpp b/src/d/shop/d_shop_camera.cpp
index cf71ad9aad..ce08aa7a89 100644
--- a/src/d/shop/d_shop_camera.cpp
+++ b/src/d/shop/d_shop_camera.cpp
@@ -1,12 +1,13 @@
-//
-// d/shop/d_shop_camera
-//
+/**
+ * d_shop_camera.cpp
+ * Shop Camera Handling
+ */
#include "d/shop/d_shop_camera.h"
+#include "SSystem/SComponent/c_math.h"
+#include "d/a/d_a_player.h"
#include "d/com/d_com_inf_game.h"
#include "d/d_camera.h"
-#include "d/a/d_a_player.h"
-#include "SSystem/SComponent/c_math.h"
struct SeiraCam {
/* 0x00 */ Vec field_0x0;
@@ -17,20 +18,22 @@ struct SeiraCam {
/* 0x18 */ f32 field_0x34;
};
-/* ############################################################################################## */
/* 803BB7C8-803BB800 0188E8 0038+00 1/0 0/0 0/0 .data cam_seira_shop */
static SeiraCam cam_seira_shop = {
- {0.0f, 115.0f, 0.0f}, {0.0f, 115.0f, 150.0f}, 45.0f, {100.0f, 155.0f, -175.0f}, {100.0f, 155.0f, 0.0f}, 45.0f
+ {0.0f, 115.0f, 0.0f}, {0.0f, 115.0f, 150.0f}, 45.0f,
+ {100.0f, 155.0f, -175.0f}, {100.0f, 155.0f, 0.0f}, 45.0f,
};
/* 803BB800-803BB838 018920 0038+00 1/0 0/0 0/0 .data cam_seira_evnt_before */
static SeiraCam cam_seira_evnt_before = {
- {-50.0f, 115.0f, 0.0f}, {-50.0f, 115.0f, 150.0f}, 45.0f, {100.0f, 155.0f, -175.0f}, {100.0f, 155.0f, 0.0f}, 45.0f
+ {-50.0f, 115.0f, 0.0f}, {-50.0f, 115.0f, 150.0f}, 45.0f,
+ {100.0f, 155.0f, -175.0f}, {100.0f, 155.0f, 0.0f}, 45.0f,
};
/* 803BB838-803BB870 018958 0038+00 1/0 0/0 0/0 .data cam_seira_evnt_after */
static SeiraCam cam_seira_evnt_after = {
- {0.0f, 115.0f, 0.0f}, {0.0f, 115.0f, 150.0f}, 45.0f, {100.0f, 155.0f, -175.0f}, {100.0f, 155.0f, 0.0f}, 45.0f
+ {0.0f, 115.0f, 0.0f}, {0.0f, 115.0f, 150.0f}, 45.0f,
+ {100.0f, 155.0f, -175.0f}, {100.0f, 155.0f, 0.0f}, 45.0f,
};
/* 803BB870-803BB87C -00001 000C+00 2/2 0/0 0/0 .data shop_cam_data_tbl */
@@ -44,8 +47,10 @@ static SeiraCam* shop_cam_data_tbl[3] = {
*/
int ShopCam_action_c::shop_cam_action_init() {
Save();
+
daPy_py_c* player = (daPy_py_c*)dComIfGp_getPlayer(0);
player->i_onPlayerNoDraw();
+
setCamAction(&ShopCam_action_c::shop_cam_action);
if (field_0xd6 >= 0) {
field_0x7c = shop_cam_data_tbl[field_0xd6]->field_0x0;
@@ -60,6 +65,7 @@ int ShopCam_action_c::shop_cam_action_init() {
field_0x88 = field_0x60;
field_0x94 = field_0x6c;
}
+
SetSelectIdx(-1);
return 1;
}
@@ -69,6 +75,7 @@ int ShopCam_action_c::shop_cam_action() {
camera_class* camera = dComIfGp_getCamera(i_dComIfGp_getPlayerCameraID(0));
camera->mCamera.Stay();
camera->mCamera.SetTrimSize(1);
+
cXyz acStack_4c;
cXyz acStack_58;
f32 dVar11;
@@ -91,32 +98,39 @@ int ShopCam_action_c::shop_cam_action() {
acStack_58 = field_0x60;
dVar11 = field_0x6c;
}
+
cLib_addCalcPos2(&field_0x7c, acStack_4c, field_0xc0, field_0xc4);
cLib_addCalcPos2(&field_0x88, acStack_58, field_0xc0, field_0xc4);
cLib_addCalc2(&field_0x94, dVar11, field_0xc8, field_0xcc);
+
cXyz cStack_64 = field_0x7c - acStack_4c;
cXyz cStack_70 = field_0x88 - acStack_58;
f32 dVar10 = field_0x94 - dVar11;
bool r30 = false;
bool r29 = false;
bool r28 = false;
+
if (cStack_64.abs() < 1.0f) {
- field_0x7c = acStack_4c;
+ field_0x7c = acStack_4c;
r30 = true;
}
+
if (cStack_70.abs() < 1.0f) {
field_0x88 = acStack_58;
r29 = true;
}
+
if (dVar10 < 1.0f) {
field_0x94 = dVar11;
r28 = true;
}
+
if (r30 && r29 && r28) {
field_0xda = true;
} else {
field_0xda = false;
}
+
camera->mCamera.Set(field_0x7c, field_0x88, field_0x94, 0);
return 1;
}
@@ -136,25 +150,28 @@ void ShopCam_action_c::EventRecoverNotime() {
dComIfGp_getPlayer(0);
field_0xd8 = 2;
dCam_getBody()->EventRecoverNotime();
- field_0x0 = NULL;
+ mCamAction = NULL;
}
/* 801963B4-801964C8 190CF4 0114+00 0/0 0/0 9/9 .text Reset__16ShopCam_action_cFv */
void ShopCam_action_c::Reset() {
daPy_py_c* player = (daPy_py_c*)dComIfGp_getPlayer(0);
player->i_offPlayerNoDraw();
+
camera_class* camera = dComIfGp_getCamera(i_dComIfGp_getPlayerCameraID(0));
camera->mCamera.Set(field_0x98, field_0xa4, field_0xbc, 0);
camera->mCamera.Stay();
camera->mCamera.Reset(field_0x98, field_0xa4, field_0xbc, 0);
- field_0x0 = NULL;
+
+ mCamAction = NULL;
}
/* 801964C8-80196544 190E08 007C+00 0/0 0/0 9/9 .text move__16ShopCam_action_cFv */
void ShopCam_action_c::move() {
- if (field_0x0 != NULL) {
- (this->*field_0x0)();
+ if (mCamAction != NULL) {
+ (this->*mCamAction)();
}
+
if (field_0xd8 > 0) {
--field_0xd8;
if (field_0xd8 == 0) {
@@ -172,6 +189,7 @@ void ShopCam_action_c::setCamDataIdx(fopAc_ac_c* param_1, fopAc_ac_c* param_2, f
if (field_0x18 == NULL) {
field_0xb0 = param_1->mEyePos;
}
+
field_0x18 = param_1;
field_0x1c = param_2;
field_0x20 = param_3;
@@ -180,29 +198,33 @@ void ShopCam_action_c::setCamDataIdx(fopAc_ac_c* param_1, fopAc_ac_c* param_2, f
field_0x2c = 0;
field_0x30 = 0;
field_0x34 = 0;
+
field_0x44.x = param_5->x;
field_0x44.y = param_5->y;
field_0x44.z = param_5->z;
field_0x50 = 45.0f;
+
field_0x60.x = param_6->x;
field_0x60.y = param_6->y;
field_0x60.z = param_6->z;
field_0x6c = 45.0f;
+
field_0x70.set(*param_6);
+
_debugSetCamera();
}
/* 80196608-801966D4 190F48 00CC+00 0/0 1/1 0/0 .text
* setCamDataIdx2__16ShopCam_action_cFP10fopAc_ac_cP10fopAc_ac_cP10fopAc_ac_cP10fopAc_ac_cP10fopAc_ac_cP10fopAc_ac_cP10fopAc_ac_cP4cXyzP4cXyz
*/
-void ShopCam_action_c::setCamDataIdx2(fopAc_ac_c* param_1, fopAc_ac_c* param_2,
- fopAc_ac_c* param_3, fopAc_ac_c* param_4,
- fopAc_ac_c* param_5, fopAc_ac_c* param_6,
- fopAc_ac_c* param_7, cXyz* param_8, cXyz* param_9) {
- field_0xd6 = -1;
+void ShopCam_action_c::setCamDataIdx2(fopAc_ac_c* param_1, fopAc_ac_c* param_2, fopAc_ac_c* param_3,
+ fopAc_ac_c* param_4, fopAc_ac_c* param_5, fopAc_ac_c* param_6,
+ fopAc_ac_c* param_7, cXyz* param_8, cXyz* param_9) {
+ field_0xd6 = -1;
if (field_0x18 == NULL) {
field_0xb0 = param_1->mEyePos;
}
+
field_0x18 = param_1;
field_0x1c = param_2;
field_0x20 = param_3;
@@ -211,15 +233,19 @@ void ShopCam_action_c::setCamDataIdx2(fopAc_ac_c* param_1, fopAc_ac_c* param_2,
field_0x2c = param_6;
field_0x30 = param_7;
field_0x34 = 0;
+
field_0x44.x = param_8->x;
field_0x44.y = param_8->y;
field_0x44.z = param_8->z;
field_0x50 = 45.0f;
+
field_0x60.x = param_9->x;
field_0x60.y = param_9->y;
field_0x60.z = param_9->z;
field_0x6c = 45.0f;
+
field_0x70.set(*param_9);
+
_debugSetCamera();
}
@@ -228,11 +254,13 @@ void ShopCam_action_c::_debugSetCamera() {
field_0x38.x = field_0xb0.x;
field_0x38.y = field_0xb0.y;
field_0x38.z = field_0xb0.z;
+
cXyz local_28;
cXyz cStack_34;
cXyz local_40;
cXyz local_4c;
bool bVar1 = false;
+
if (field_0x1c != NULL && field_0x20 != NULL && field_0x24 != NULL && field_0x28 != NULL &&
field_0x2c == NULL && field_0x30 == NULL)
{
@@ -249,6 +277,7 @@ void ShopCam_action_c::_debugSetCamera() {
local_4c.set(field_0x20->orig.pos);
}
}
+
if (bVar1) {
field_0x54.x = 167.0f;
field_0x54.y = 220.0f;
@@ -272,6 +301,7 @@ void ShopCam_action_c::setMasterCamCtrPos(cXyz* param_0) {
} else {
field_0xb0.set(*param_0);
}
+
field_0x38.x = field_0xb0.x;
field_0x38.y = field_0xb0.y;
field_0x38.z = field_0xb0.z;
diff --git a/src/d/shop/d_shop_item_ctrl.cpp b/src/d/shop/d_shop_item_ctrl.cpp
index aa1d24e26e..8a4f199278 100644
--- a/src/d/shop/d_shop_item_ctrl.cpp
+++ b/src/d/shop/d_shop_item_ctrl.cpp
@@ -20,11 +20,11 @@ dShopItemCtrl_c::~dShopItemCtrl_c() {}
/* 801969A0-80196A3C 1912E0 009C+00 0/0 3/3 3/3 .text getCurrentPos__15dShopItemCtrl_cFi
*/
-cXyz dShopItemCtrl_c::getCurrentPos(int item_index) {
+cXyz dShopItemCtrl_c::getCurrentPos(int i_itemIdx) {
cXyz item_pos(0.0f, 0.0f, 0.0f);
- if (mItemIndex[item_index] != -1) {
- fopAc_ac_c* item = fopAcM_SearchByID(mItemIndex[item_index]);
+ if (mItemIndex[i_itemIdx] != -1) {
+ fopAc_ac_c* item = fopAcM_SearchByID(mItemIndex[i_itemIdx]);
if (item != NULL) {
item_pos.set(item->current.pos);
}
@@ -34,15 +34,16 @@ cXyz dShopItemCtrl_c::getCurrentPos(int item_index) {
}
/* 80196A3C-80196AF0 19137C 00B4+00 0/0 2/2 0/0 .text isHomePos__15dShopItemCtrl_cFi */
-bool dShopItemCtrl_c::isHomePos(int item_index) {
- if (item_index >= 0 && item_index < 7 && mItemIndex[item_index] != -1) {
- daShopItem_c* item = (daShopItem_c*)fopAcM_SearchByID(mItemIndex[item_index]);
+bool dShopItemCtrl_c::isHomePos(int i_itemIdx) {
+ if (i_itemIdx >= 0 && i_itemIdx < 7 && mItemIndex[i_itemIdx] != -1) {
+ daShopItem_c* item = (daShopItem_c*)fopAcM_SearchByID(mItemIndex[i_itemIdx]);
if (item != NULL) {
cXyz* item_pos = item->getPosP();
cXyz item_home = item->orig.pos;
if (item_pos->x == item_home.x && item_pos->y == item_home.y &&
- item_pos->z == item_home.z) {
+ item_pos->z == item_home.z)
+ {
return true;
}
}
@@ -53,14 +54,14 @@ bool dShopItemCtrl_c::isHomePos(int item_index) {
/* 80196AF0-80196BA4 191430 00B4+00 0/0 1/1 0/0 .text setRotateAnime__15dShopItemCtrl_cFi
*/
-void dShopItemCtrl_c::setRotateAnime(int item_index) {
+void dShopItemCtrl_c::setRotateAnime(int i_itemIdx) {
for (int i = 0; i < 7; i++) {
if (mItemIndex[i] != -1) {
daShopItem_c* item = (daShopItem_c*)fopAcM_SearchByID(mItemIndex[i]);
if (item != NULL) {
csXyz* item_rot = item->getRotateP();
- if (i == item_index - 1) {
+ if (i == i_itemIdx - 1) {
item_rot->y += 0x200;
} else {
cLib_addCalcAngleS(&item_rot->y, item->orig.angle.y, 4, 0x800, 0x80);
@@ -76,47 +77,43 @@ void dShopItemCtrl_c::setZoomAnime(int param_1, cXyz* param_2, s16 param_3, bool
if (mItemIndex[i] == -1) {
continue;
}
- daShopItem_c* shopItem = (daShopItem_c*) fopAcM_SearchByID(mItemIndex[i]);
+
+ daShopItem_c* shopItem = (daShopItem_c*)fopAcM_SearchByID(mItemIndex[i]);
if (shopItem == NULL) {
continue;
}
- cXyz* this_01 = shopItem->getPosP();
- cXyz cStack_44 = shopItem->orig.pos;
- cXyz cStack_50 = *param_2 - cStack_44;
- s16 local_5e = shopItem->getAngleX();
- s16 local_60 = shopItem->getAngleY();
+ cXyz* pos_p = shopItem->getPosP();
+ cXyz target_pos = shopItem->orig.pos;
+ cXyz cStack_50 = *param_2 - target_pos;
+ s16 x_angle = shopItem->getAngleX();
+ s16 y_angle = shopItem->getAngleY();
+
if (i == param_1 - 1 && param_4 == true) {
- cLib_addCalcPos2(
- this_01,
- *param_2,
- 0.5f,
- 0.05f * cStack_50.abs()
- );
- cLib_addCalcAngleS(&local_5e, param_3, 4, 0x800, 0x80);
- shopItem->setAngleX(local_5e);
- cLib_addCalcAngleS(&local_60, shopItem->orig.angle.y, 4, 0x800, 0x80);
- shopItem->setAngleY(local_60);
+ cLib_addCalcPos2(pos_p, *param_2, 0.5f, 0.05f * cStack_50.abs());
+ cLib_addCalcAngleS(&x_angle, param_3, 4, 0x800, 0x80);
+ shopItem->setAngleX(x_angle);
+ cLib_addCalcAngleS(&y_angle, shopItem->orig.angle.y, 4, 0x800, 0x80);
+ shopItem->setAngleY(y_angle);
} else {
- cLib_addCalcPos2(
- this_01,
- cStack_44,
- 0.5f,
- 0.1f * cStack_50.abs());
- cXyz cStack_5c = *this_01 - cStack_44;
+ cLib_addCalcPos2(pos_p, target_pos, 0.5f, 0.1f * cStack_50.abs());
+ cXyz cStack_5c = *pos_p - target_pos;
if (cStack_5c.abs() < 0.01f) {
- this_01->set(shopItem->orig.pos);
+ pos_p->set(shopItem->orig.pos);
}
- cLib_addCalcAngleS(&local_5e, 0, 4, 0x800, 0x80);
- if (local_5e <= 0x80) {
- local_5e = 0;
+
+ cLib_addCalcAngleS(&x_angle, 0, 4, 0x800, 0x80);
+ if (x_angle <= 0x80) {
+ x_angle = 0;
}
- shopItem->setAngleX(local_5e);
- cLib_addCalcAngleS(&local_60, 0, 4, 0x800, 0x80);
- if (local_60 <= 0x80) {
- local_60 = 0;
+
+ shopItem->setAngleX(x_angle);
+ cLib_addCalcAngleS(&y_angle, 0, 4, 0x800, 0x80);
+ if (y_angle <= 0x80) {
+ y_angle = 0;
}
- shopItem->setAngleY(local_60);
+
+ shopItem->setAngleY(y_angle);
}
}
}
diff --git a/src/d/shop/d_shop_system.cpp b/src/d/shop/d_shop_system.cpp
index de2c46b9f2..02a49d4142 100644
--- a/src/d/shop/d_shop_system.cpp
+++ b/src/d/shop/d_shop_system.cpp
@@ -1,10 +1,9 @@
-//
-// Generated By: dol2asm
-// Translation Unit: d/shop/d_shop_system
-//
+/**
+ * d_shop_system.cpp
+ * Main Shop System
+ */
#include "d/shop/d_shop_system.h"
-#include "rel/d/a/tag/d_a_tag_shop_item/d_a_tag_shop_item.h"
#include "SSystem/SComponent/c_math.h"
#include "d/a/d_a_shop_item_static.h"
#include "d/d_item.h"
@@ -14,209 +13,28 @@
#include "d/meter/d_meter2_info.h"
#include "d/meter/d_meter_HIO.h"
#include "d/msg/d_msg_object.h"
-#include "dol2asm.h"
#include "m_Do/m_Do_audio.h"
#include "m_Do/m_Do_controller_pad.h"
#include "m_Do/m_Do_lib.h"
+#include "rel/d/a/tag/d_a_tag_shop_item/d_a_tag_shop_item.h"
-//
-// Forward References:
-//
-
-extern "C" static void dShopSystem_searchItemActor__FPvPv();
-extern "C" static void dShopSystem_searchCameraActor__FPvPv();
-extern "C" void initShopSystem__13dShopSystem_cFv();
-extern "C" void __dt__13dShopSystem_cFv();
-extern "C" void onFlag__13dShopSystem_cFi();
-extern "C" void offFlag__13dShopSystem_cFi();
-extern "C" void isFlag__13dShopSystem_cFi();
-extern "C" void onSoldOutItemFlag__13dShopSystem_cFi();
-extern "C" void offSoldOutItemFlag__13dShopSystem_cFi();
-extern "C" void isSoldOutItemFlag__13dShopSystem_cFi();
-extern "C" void checkController__13dShopSystem_cFUcP10dMsgFlow_c();
-extern "C" void chooseItem3__13dShopSystem_cFUc();
-extern "C" void chooseItem5__13dShopSystem_cFUc();
-extern "C" void chooseItem4__13dShopSystem_cFUc();
-extern "C" void moveCursor__13dShopSystem_cFiUc();
-extern "C" void moveCursor0__13dShopSystem_cFiUc();
-extern "C" void moveCursor1__13dShopSystem_cFiUc();
-extern "C" void drawCursor__13dShopSystem_cFv();
-extern "C" void itemRotate__13dShopSystem_cFv();
-extern "C" void itemZoom__13dShopSystem_cFP4cXyz();
-extern "C" bool seq_wait__13dShopSystem_cFP10fopAc_ac_cP10dMsgFlow_c();
-extern "C" void seq_start__13dShopSystem_cFP10fopAc_ac_cP10dMsgFlow_c();
-extern "C" void seq_select_wait__13dShopSystem_cFP10fopAc_ac_cP10dMsgFlow_c();
-extern "C" void seq_select_start__13dShopSystem_cFP10fopAc_ac_cP10dMsgFlow_c();
-extern "C" void seq_select__13dShopSystem_cFP10fopAc_ac_cP10dMsgFlow_c();
-extern "C" void seq_moving__13dShopSystem_cFP10fopAc_ac_cP10dMsgFlow_c();
-extern "C" void seq_decide__13dShopSystem_cFP10fopAc_ac_cP10dMsgFlow_c();
-extern "C" void seq_choose__13dShopSystem_cFP10fopAc_ac_cP10dMsgFlow_c();
-extern "C" void seq_decide_yes__13dShopSystem_cFP10fopAc_ac_cP10dMsgFlow_c();
-extern "C" void seq_decide_no__13dShopSystem_cFP10fopAc_ac_cP10dMsgFlow_c();
-extern "C" void seq_finish__13dShopSystem_cFP10fopAc_ac_cP10dMsgFlow_c();
-extern "C" void seq_event__13dShopSystem_cFP10fopAc_ac_cP10dMsgFlow_c();
-extern "C" void shop_init__13dShopSystem_cFb();
-extern "C" void shop_process__13dShopSystem_cFP10fopAc_ac_cP10dMsgFlow_c();
-extern "C" void createShopItem__13dShopSystem_cFi();
-extern "C" void setSeq__13dShopSystem_cFUc();
-extern "C" void setSoldOutFlag__13dShopSystem_cFv();
-extern "C" void setSoldOut__13dShopSystem_cFv();
-extern "C" void setSoldOutItemHide__13dShopSystem_cFv();
-extern "C" void deleteObject__13dShopSystem_cFv();
-extern "C" void searchItemActor__13dShopSystem_cFv();
-extern "C" void getFlowNodeNum__13dShopSystem_cFv();
-extern "C" void setSellItemMax__13dShopSystem_cFUc();
-extern "C" void checkShopOpen__13dShopSystem_cFv();
-extern "C" void checkLeftTrigger__13dShopSystem_cFP9STControl();
-extern "C" void checkRightTrigger__13dShopSystem_cFP9STControl();
-extern "C" bool dpdMove__13dShopSystem_cFv();
-extern "C" void __sinit_d_shop_system_cpp();
-extern "C" bool beforeStartSeqAction__13dShopSystem_cFP10dMsgFlow_ci();
-extern "C" bool beforeSelectSeqAction__13dShopSystem_cFP10dMsgFlow_ci();
-extern "C" bool getResName2__13dShopSystem_cFi();
-extern "C" extern char const* const d_shop_d_shop_system__stringBase0;
-
-//
-// External References:
-//
-
-extern "C" void mDoLib_project__FP3VecP3Vec();
-extern "C" void fopAc_IsActor__FPv();
-extern "C" void fopAcIt_Judge__FPFPvPv_PvPv();
-extern "C" void fopAcM_delete__FUi();
-extern "C" void fopAcM_create__FsUlPC4cXyziPC5csXyzPC4cXyzSc();
-extern "C" void fopAcM_searchActorDistance__FPC10fopAc_ac_cPC10fopAc_ac_c();
-extern "C" void fopAcM_createItemForPresentDemo__FPC4cXyziUciiPC5csXyzPC4cXyz();
-extern "C" void fpcEx_Search__FPFPvPv_PvPv();
-extern "C" void fpcEx_IsExist__FUi();
-extern "C" void fpcSch_JudgeByID__FPvPv();
-extern "C" void setWaitParm__9STControlFssssffss();
-extern "C" void init__9STControlFv();
-extern "C" void checkTrigger__9STControlFv();
-extern "C" void checkLeftTrigger__9STControlFv();
-extern "C" void checkRightTrigger__9STControlFv();
-extern "C" void checkUpTrigger__9STControlFv();
-extern "C" void checkDownTrigger__9STControlFv();
-extern "C" void onSwitch__12dSv_memBit_cFi();
-extern "C" void isSwitch__12dSv_memBit_cCFi();
-extern "C" void hide__12daItemBase_cFv();
-extern "C" void set__12dDlst_list_cFRPP12dDlst_base_cRPP12dDlst_base_cP12dDlst_base_c();
-extern "C" void checkItemGet__FUci();
-extern "C" void ctrlBtk__8daNpcT_cFv();
-extern "C" void ctrlJoint__8daNpcT_cFP8J3DJointP8J3DModel();
-extern "C" void evtProc__8daNpcT_cFv();
-extern "C" void setFootPos__8daNpcT_cFv();
-extern "C" void setFootPrtcl__8daNpcT_cFP4cXyzff();
-extern "C" bool checkCullDraw__8daNpcT_cFv();
-extern "C" void twilight__8daNpcT_cFv();
-extern "C" void evtOrder__8daNpcT_cFv();
-extern "C" void evtChange__8daNpcT_cFv();
-extern "C" void clrParam__8daNpcT_cFv();
-extern "C" void setMotionAnm__8daNpcT_cFifi();
-extern "C" void initTalk__8daNpcT_cFiPP10fopAc_ac_c();
-extern "C" void decTmr__8daNpcT_cFv();
-extern "C" void setCollision__8daNpcT_cFv();
-extern "C" void setAttnPos__8daNpcT_cFv();
-extern "C" void ctrlSubFaceMotion__8daNpcT_cFi();
-extern "C" void afterMoved__8daNpcT_cFv();
-extern "C" void beforeMove__8daNpcT_cFv();
-extern "C" void action__8daNpcT_cFv();
-extern "C" void setParam__8daNpcT_cFv();
-extern "C" void drawOtherMdl__8daNpcT_cFv();
-extern "C" void drawGhost__8daNpcT_cFv();
-extern "C" bool drawDbgInfo__8daNpcT_cFv();
-extern "C" bool checkRemoveJoint__8daNpcT_cFi();
-extern "C" bool checkChangeJoint__8daNpcT_cFi();
-extern "C" void afterJntAnm__8daNpcT_cFi();
-extern "C" s32 getHeadJointNo__8daNpcT_cFv();
-extern "C" s32 getNeckJointNo__8daNpcT_cFv();
-extern "C" s32 getBackboneJointNo__8daNpcT_cFv();
-extern "C" void setAfterTalkMotion__8daNpcT_cFv();
-extern "C" bool evtCutProc__8daNpcT_cFv();
-extern "C" bool evtEndProc__8daNpcT_cFv();
-extern "C" bool evtTalk__8daNpcT_cFv();
-extern "C" bool checkChangeEvt__8daNpcT_cFv();
-extern "C" s32 getFootRJointNo__8daNpcT_cFv();
-extern "C" s32 getFootLJointNo__8daNpcT_cFv();
-extern "C" bool chkXYItems__8daNpcT_cFv();
-extern "C" bool afterSetFaceMotionAnm__8daNpcT_cFiifi();
-extern "C" void changeBtp__8daNpcT_cFPiPi();
-extern "C" void changeBck__8daNpcT_cFPiPi();
-extern "C" void getFaceMotionAnm__8daNpcT_cF26daNpcT_faceMotionAnmData_c();
-extern "C" bool afterSetMotionAnm__8daNpcT_cFiifi();
-extern "C" void changeBtk__8daNpcT_cFPiPi();
-extern "C" void changeAnm__8daNpcT_cFPiPi();
-extern "C" void getMotionAnm__8daNpcT_cF22daNpcT_motionAnmData_c();
-extern "C" void __dt__8daNpcT_cFv();
-extern "C" bool getEyeballLMaterialNo__8daNpcT_cFv();
-extern "C" bool getEyeballRMaterialNo__8daNpcT_cFv();
-extern "C" bool getEyeballMaterialNo__8daNpcT_cFv();
-extern "C" void __ct__16dSelect_cursor_cFUcfP10JKRArchive();
-extern "C" void setParam__16dSelect_cursor_cFfffff();
-extern "C" void setScale__16dSelect_cursor_cFf();
-extern "C" void addAlpha__16dSelect_cursor_cFv();
-extern "C" void decAlpha__16dSelect_cursor_cFv();
-extern "C" void
-setCamDataIdx__16ShopCam_action_cFP10fopAc_ac_cP10fopAc_ac_cP10fopAc_ac_cP10fopAc_ac_cP4cXyzP4cXyz();
-extern "C" void
-setCamDataIdx2__16ShopCam_action_cFP10fopAc_ac_cP10fopAc_ac_cP10fopAc_ac_cP10fopAc_ac_cP10fopAc_ac_cP10fopAc_ac_cP10fopAc_ac_cP4cXyzP4cXyz();
-extern "C" void setMasterCamCtrPos__16ShopCam_action_cFP4cXyz();
-extern "C" void __dt__15dShopItemCtrl_cFv();
-extern "C" void getCurrentPos__15dShopItemCtrl_cFi();
-extern "C" void isHomePos__15dShopItemCtrl_cFi();
-extern "C" void setRotateAnime__15dShopItemCtrl_cFi();
-extern "C" void setZoomAnime__15dShopItemCtrl_cFiP4cXyzsb();
-extern "C" void dMeter2Info_set2DVibration__Fv();
-extern "C" void dMeter2Info_set2DVibrationM__Fv();
-extern "C" void setShopWaitTimer__12dMsgObject_cFUc();
-extern "C" void getStatus__12dMsgObject_cFv();
-extern "C" void isMsgSendControl__12dMsgObject_cFv();
-extern "C" void onMsgSend__12dMsgObject_cFv();
-extern "C" void getMessageID__12dMsgObject_cFv();
-extern "C" void doFlow__10dMsgFlow_cFP10fopAc_ac_cPP10fopAc_ac_ci();
-extern "C" void getEventId__10dMsgFlow_cFPi();
-extern "C" void query005__10dMsgFlow_cFP21mesg_flow_node_branchP10fopAc_ac_ci();
-extern "C" void __mi__4cXyzCFRC3Vec();
-extern "C" void cM_atan2s__Fff();
-extern "C" void cLib_offsetPos__FP4cXyzPC4cXyzsPC4cXyz();
-extern "C" void seStart__7Z2SeMgrF10JAISoundIDPC3VecUlScffffUc();
-extern "C" void* __nw__FUl();
-extern "C" void __dl__FPv();
-extern "C" void __ptmf_scall();
-extern "C" void _savegpr_21();
-extern "C" void _savegpr_27();
-extern "C" void _savegpr_28();
-extern "C" void _savegpr_29();
-extern "C" void _restgpr_21();
-extern "C" void _restgpr_27();
-extern "C" void _restgpr_28();
-extern "C" void _restgpr_29();
-extern "C" extern void* __vt__9STControl[4];
-extern "C" u8 m_cpadInfo__8mDoCPd_c[256];
-extern "C" u8 mAudioMgrPtr__10Z2AudioMgr[4 + 4 /* padding */];
-
-//
-// Declarations:
-//
-
-/* ############################################################################################## */
/* 803BB898-803BB8A4 0189B8 000C+00 1/1 0/0 0/0 .data cNullVec__6Z2Calc */
-SECTION_DATA static u8 cNullVec__6Z2Calc[12] = {
+static u8 cNullVec__6Z2Calc[12] = {
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
};
/* 803BB8A4-803BB8C0 0189C4 001C+00 6/6 0/0 0/0 .data dShopSystem_itemActor */
-SECTION_DATA static daTag_ShopItem_c* dShopSystem_itemActor[7] = {
+static daTag_ShopItem_c* dShopSystem_itemActor[7] = {
NULL, NULL, NULL, NULL, NULL, NULL, NULL,
};
/* 804506E8-804506F0 000168 0007+01 7/7 0/0 0/0 .sdata dShopSystem_itemNo */
-SECTION_SDATA static u8 dShopSystem_itemNo[7] = {
+static u8 dShopSystem_itemNo[7] = {
NO_ITEM, NO_ITEM, NO_ITEM, NO_ITEM, NO_ITEM, NO_ITEM, NO_ITEM,
};
/* 80451058-8045105C 000558 0004+00 9/9 0/0 0/0 .sbss None */
-static u8 data_80451058; // sSellItemMax
+static u8 dShopSystem_sellItemMax;
/* 8045105C-80451060 00055C 0004+00 6/6 0/0 0/0 .sbss dShopSystem_item_count */
static int dShopSystem_item_count;
@@ -226,33 +44,39 @@ static u8 data_80451060;
/* 80197098-80197270 1919D8 01D8+00 1/1 0/0 0/0 .text dShopSystem_searchItemActor__FPvPv
*/
-static int dShopSystem_searchItemActor(void* param_0, void* param_1) {
- if (fopAcM_IsActor(param_0) && fopAcM_GetName(param_0) == PROC_TAG_SHOPITM) {
- if ((fopAcM_GetParam(param_1) & 0xF0000000) == (fopAcM_GetParam(param_0) & 0xF0000000) &&
- dShopSystem_item_count < data_80451058) {
- u8 param2 = (fopAcM_GetParam(param_0) >> 0x18) & 0xF;
-
- if (dShopSystem_itemActor[0] != param_0 && dShopSystem_itemActor[1] != param_0 &&
- dShopSystem_itemActor[2] != param_0 && dShopSystem_itemActor[3] != param_0 &&
- dShopSystem_itemActor[4] != param_0 && dShopSystem_itemActor[5] != param_0 &&
- dShopSystem_itemActor[6] != param_0) {
- u8 sw = static_cast<fopAc_ac_c*>(param_0)->orig.angle.z;
- u8 sw2 = ((u16)static_cast<fopAc_ac_c*>(param_0)->orig.angle.z) >> 8;
- u8 item_no = fopAcM_GetParam(param_0) & 0xff;
+static int dShopSystem_searchItemActor(void* i_actor, void* param_1) {
+ if (fopAcM_IsActor(i_actor) && fopAcM_GetName(i_actor) == PROC_TAG_SHOPITM) {
+ if ((fopAcM_GetParam(param_1) & 0xF0000000) == (fopAcM_GetParam(i_actor) & 0xF0000000) &&
+ dShopSystem_item_count < dShopSystem_sellItemMax)
+ {
+ u8 i_posID = (fopAcM_GetParam(i_actor) >> 0x18) & 0xF;
+ JUT_ASSERT(i_posID <= dShopSystem_c::ITEM_MAX_e);
+
+ if (dShopSystem_itemActor[0] != i_actor && dShopSystem_itemActor[1] != i_actor &&
+ dShopSystem_itemActor[2] != i_actor && dShopSystem_itemActor[3] != i_actor &&
+ dShopSystem_itemActor[4] != i_actor && dShopSystem_itemActor[5] != i_actor &&
+ dShopSystem_itemActor[6] != i_actor)
+ {
+ u8 sw = static_cast<fopAc_ac_c*>(i_actor)->orig.angle.z;
+ u8 sw2 = ((u16) static_cast<fopAc_ac_c*>(i_actor)->orig.angle.z) >> 8;
+ u8 item_no = fopAcM_GetParam(i_actor) & 0xFF;
if ((sw == 0xFF || !dComIfGs_isSaveSwitch(sw)) &&
- (sw2 == 0xFF || dComIfGs_isSaveSwitch(sw2))) {
+ (sw2 == 0xFF || dComIfGs_isSaveSwitch(sw2)))
+ {
if (sw != 0xFF && item_no == HYLIA_SHIELD && checkItemGet(item_no, true)) {
dComIfGs_onSaveSwitch(sw);
} else {
- if (param2 == 0) {
+ if (i_posID == 0) {
data_80451060 = 1;
- dShopSystem_itemActor[dShopSystem_item_count] = (daTag_ShopItem_c*) param_0;
+ dShopSystem_itemActor[dShopSystem_item_count] =
+ (daTag_ShopItem_c*)i_actor;
dShopSystem_itemNo[dShopSystem_item_count] = item_no;
- } else if (dShopSystem_itemActor[param2 - 1] == NULL) {
- dShopSystem_itemActor[param2 - 1] = (daTag_ShopItem_c*) param_0;
- dShopSystem_itemNo[param2 - 1] = item_no;
+ } else if (dShopSystem_itemActor[i_posID - 1] == NULL) {
+ dShopSystem_itemActor[i_posID - 1] = (daTag_ShopItem_c*)i_actor;
+ dShopSystem_itemNo[i_posID - 1] = item_no;
}
+
dShopSystem_item_count++;
}
}
@@ -263,44 +87,43 @@ static int dShopSystem_searchItemActor(void* param_0, void* param_1) {
return 0;
}
-/* ############################################################################################## */
/* 804506F0-804506F8 000170 0008+00 6/6 0/0 0/0 .sdata dShopSystem_cameraActor */
-SECTION_SDATA static fopAc_ac_c* dShopSystem_cameraActor[2] = {NULL, NULL};
+static fopAc_ac_c* dShopSystem_cameraActor[2] = {NULL, NULL};
/* 80451064-80451068 000564 0004+00 5/5 0/0 0/0 .sbss dShopSystem_camera_count */
static int dShopSystem_camera_count;
/* 80197270-80197338 191BB0 00C8+00 1/1 0/0 0/0 .text dShopSystem_searchCameraActor__FPvPv */
-static int dShopSystem_searchCameraActor(void* param_0, void* param_1) {
- if (fopAcM_IsActor(param_0) && fopAcM_GetName(param_0) == PROC_TAG_SHOPCAM) {
- if ((fopAcM_GetParam(param_1) & 0xf0000000) == (fopAcM_GetParam(param_0) & 0xf0000000) && dShopSystem_camera_count < 2) {
- switch (fopAcM_GetParam(param_0) & 0xf) {
- case 0:
- if (dShopSystem_cameraActor[0] == NULL) {
- dShopSystem_cameraActor[0] = (fopAc_ac_c*)param_0;
- dShopSystem_camera_count++;
- }
- break;
- case 1:
- if (dShopSystem_cameraActor[1] == NULL) {
- dShopSystem_cameraActor[1] = (fopAc_ac_c*)param_0;
- dShopSystem_camera_count++;
- }
- break;
- default:
- break;
+static int dShopSystem_searchCameraActor(void* i_actor, void* param_1) {
+ if (fopAcM_IsActor(i_actor) && fopAcM_GetName(i_actor) == PROC_TAG_SHOPCAM) {
+ if ((fopAcM_GetParam(param_1) & 0xf0000000) == (fopAcM_GetParam(i_actor) & 0xf0000000) &&
+ dShopSystem_camera_count < 2)
+ {
+ switch (fopAcM_GetParam(i_actor) & 0xf) {
+ case 0:
+ if (dShopSystem_cameraActor[0] == NULL) {
+ dShopSystem_cameraActor[0] = (fopAc_ac_c*)i_actor;
+ dShopSystem_camera_count++;
+ }
+ break;
+ case 1:
+ if (dShopSystem_cameraActor[1] == NULL) {
+ dShopSystem_cameraActor[1] = (fopAc_ac_c*)i_actor;
+ dShopSystem_camera_count++;
+ }
+ break;
+ default:
+ break;
}
}
}
return 0;
}
-/* ############################################################################################## */
-
/* 80197338-801974E4 191C78 01AC+00 0/0 0/0 19/19 .text initShopSystem__13dShopSystem_cFv
*/
void dShopSystem_c::initShopSystem() {
- data_80451058 = 3;
+ dShopSystem_sellItemMax = 3;
data_80451060 = 0;
for (int i = 0; i < 7; i++) {
@@ -349,421 +172,28 @@ struct shop_item_data {
Vec mItemPos[3];
};
-/* ############################################################################################## */
/* 803BB8C0-803BB8E4 0189E0 0024+00 1/0 0/0 0/0 .data item_seira_shop */
-SECTION_DATA static shop_item_data item_seira_shop = {
- {{110.0f, 150.0f, -115.0f}, {160.0f, 150.0f, -115.0f}, {210.0f, 150.0f, -115.0f}}};
+static shop_item_data item_seira_shop = {
+ {
+ {110.0f, 150.0f, -115.0f},
+ {160.0f, 150.0f, -115.0f},
+ {210.0f, 150.0f, -115.0f},
+ },
+};
-#ifdef NONMATCHING
static processFunc process[22] = {
- &dShopSystem_c::seq_wait,
- &dShopSystem_c::seq_start,
- &dShopSystem_c::seq_select_wait,
- &dShopSystem_c::seq_select_start,
- &dShopSystem_c::seq_select,
- &dShopSystem_c::seq_moving,
- &dShopSystem_c::seq_decide,
- &dShopSystem_c::seq_choose,
- &dShopSystem_c::seq_decide_yes,
- &dShopSystem_c::seq_decide_no,
- &dShopSystem_c::seq_finish,
- (processFunc)&dShopSystem_c::seq_event,
-};
-#else
-/* 803BB8E4-803BB8F0 -00001 000C+00 0/1 0/0 0/0 .data @4056 */
-#pragma push
-#pragma force_active on
-SECTION_DATA static void* lit_4056[3] = {
- (void*)NULL,
- (void*)0xFFFFFFFF,
- (void*)seq_wait__13dShopSystem_cFP10fopAc_ac_cP10dMsgFlow_c,
-};
-#pragma pop
-
-/* 803BB8F0-803BB8FC -00001 000C+00 0/1 0/0 0/0 .data @4057 */
-#pragma push
-#pragma force_active on
-SECTION_DATA static void* lit_4057[3] = {
- (void*)NULL,
- (void*)0xFFFFFFFF,
- (void*)seq_start__13dShopSystem_cFP10fopAc_ac_cP10dMsgFlow_c,
-};
-#pragma pop
-
-/* 803BB8FC-803BB908 -00001 000C+00 0/1 0/0 0/0 .data @4058 */
-#pragma push
-#pragma force_active on
-SECTION_DATA static void* lit_4058[3] = {
- (void*)NULL,
- (void*)0xFFFFFFFF,
- (void*)seq_select_wait__13dShopSystem_cFP10fopAc_ac_cP10dMsgFlow_c,
-};
-#pragma pop
-
-/* 803BB908-803BB914 -00001 000C+00 0/1 0/0 0/0 .data @4059 */
-#pragma push
-#pragma force_active on
-SECTION_DATA static void* lit_4059[3] = {
- (void*)NULL,
- (void*)0xFFFFFFFF,
- (void*)seq_select_start__13dShopSystem_cFP10fopAc_ac_cP10dMsgFlow_c,
-};
-#pragma pop
-
-/* 803BB914-803BB920 -00001 000C+00 0/1 0/0 0/0 .data @4060 */
-#pragma push
-#pragma force_active on
-SECTION_DATA static void* lit_4060[3] = {
- (void*)NULL,
- (void*)0xFFFFFFFF,
- (void*)seq_select__13dShopSystem_cFP10fopAc_ac_cP10dMsgFlow_c,
+ &dShopSystem_c::seq_wait, &dShopSystem_c::seq_start,
+ &dShopSystem_c::seq_select_wait, &dShopSystem_c::seq_select_start,
+ &dShopSystem_c::seq_select, &dShopSystem_c::seq_moving,
+ &dShopSystem_c::seq_decide, &dShopSystem_c::seq_choose,
+ &dShopSystem_c::seq_decide_yes, &dShopSystem_c::seq_decide_no,
+ &dShopSystem_c::seq_finish, (processFunc)&dShopSystem_c::seq_event,
};
-#pragma pop
-
-/* 803BB920-803BB92C -00001 000C+00 0/1 0/0 0/0 .data @4061 */
-#pragma push
-#pragma force_active on
-SECTION_DATA static void* lit_4061[3] = {
- (void*)NULL,
- (void*)0xFFFFFFFF,
- (void*)seq_moving__13dShopSystem_cFP10fopAc_ac_cP10dMsgFlow_c,
-};
-#pragma pop
-
-/* 803BB92C-803BB938 -00001 000C+00 0/1 0/0 0/0 .data @4062 */
-#pragma push
-#pragma force_active on
-SECTION_DATA static void* lit_4062[3] = {
- (void*)NULL,
- (void*)0xFFFFFFFF,
- (void*)seq_decide__13dShopSystem_cFP10fopAc_ac_cP10dMsgFlow_c,
-};
-#pragma pop
-
-/* 803BB938-803BB944 -00001 000C+00 0/1 0/0 0/0 .data @4063 */
-#pragma push
-#pragma force_active on
-SECTION_DATA static void* lit_4063[3] = {
- (void*)NULL,
- (void*)0xFFFFFFFF,
- (void*)seq_choose__13dShopSystem_cFP10fopAc_ac_cP10dMsgFlow_c,
-};
-#pragma pop
-
-/* 803BB944-803BB950 -00001 000C+00 0/1 0/0 0/0 .data @4064 */
-#pragma push
-#pragma force_active on
-SECTION_DATA static void* lit_4064[3] = {
- (void*)NULL,
- (void*)0xFFFFFFFF,
- (void*)seq_decide_yes__13dShopSystem_cFP10fopAc_ac_cP10dMsgFlow_c,
-};
-#pragma pop
-
-/* 803BB950-803BB95C -00001 000C+00 0/1 0/0 0/0 .data @4065 */
-#pragma push
-#pragma force_active on
-SECTION_DATA static void* lit_4065[3] = {
- (void*)NULL,
- (void*)0xFFFFFFFF,
- (void*)seq_decide_no__13dShopSystem_cFP10fopAc_ac_cP10dMsgFlow_c,
-};
-#pragma pop
-
-/* 803BB95C-803BB968 -00001 000C+00 0/1 0/0 0/0 .data @4066 */
-#pragma push
-#pragma force_active on
-SECTION_DATA static void* lit_4066[3] = {
- (void*)NULL,
- (void*)0xFFFFFFFF,
- (void*)seq_finish__13dShopSystem_cFP10fopAc_ac_cP10dMsgFlow_c,
-};
-#pragma pop
-
-/* 803BB968-803BB974 -00001 000C+00 0/1 0/0 0/0 .data @4067 */
-#pragma push
-#pragma force_active on
-SECTION_DATA static void* lit_4067[3] = {
- (void*)NULL,
- (void*)0xFFFFFFFF,
- (void*)seq_event__13dShopSystem_cFP10fopAc_ac_cP10dMsgFlow_c,
-};
-#pragma pop
-
-/* 803BB974-803BBA7C 018A94 0090+78 1/2 0/0 0/0 .data process */
-SECTION_DATA static u8 process[144 + 120 /* padding */] = {
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- /* padding */
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
-};
-#endif
/* 801974E4-801975C0 191E24 00DC+00 1/0 0/0 10/10 .text __dt__13dShopSystem_cFv */
dShopSystem_c::~dShopSystem_c() {
deleteObject();
- data_80451058 = 0;
+ dShopSystem_sellItemMax = 0;
data_80451060 = 0;
for (int i = 0; i < 7; i++) {
@@ -779,38 +209,38 @@ dShopSystem_c::~dShopSystem_c() {
}
/* 801975C0-801975DC 191F00 001C+00 6/6 0/0 0/0 .text onFlag__13dShopSystem_cFi */
-void dShopSystem_c::onFlag(int flag) {
- mFlag |= (u16)(1 << flag);
+void dShopSystem_c::onFlag(int i_flag) {
+ mFlag |= (u16)(1 << i_flag);
}
/* 801975DC-801975F8 191F1C 001C+00 7/7 0/0 0/0 .text offFlag__13dShopSystem_cFi */
-void dShopSystem_c::offFlag(int flag) {
- mFlag &= ~(u16)(1 << flag);
+void dShopSystem_c::offFlag(int i_flag) {
+ mFlag &= ~(u16)(1 << i_flag);
}
/* 801975F8-80197618 191F38 0020+00 8/8 1/1 0/0 .text isFlag__13dShopSystem_cFi */
-BOOL dShopSystem_c::isFlag(int flag) {
- return mFlag & (u16)(1 << flag) ? TRUE : FALSE;
+BOOL dShopSystem_c::isFlag(int i_flag) {
+ return mFlag & (u16)(1 << i_flag) ? TRUE : FALSE;
}
/* 80197618-80197634 191F58 001C+00 1/1 0/0 0/0 .text onSoldOutItemFlag__13dShopSystem_cFi */
-void dShopSystem_c::onSoldOutItemFlag(int flag) {
- mSoldOutItemFlags |= (u8)(1 << flag);
+void dShopSystem_c::onSoldOutItemFlag(int i_flag) {
+ mSoldOutItemFlags |= (u8)(1 << i_flag);
}
/* 80197634-80197650 191F74 001C+00 1/1 0/0 0/0 .text offSoldOutItemFlag__13dShopSystem_cFi */
-void dShopSystem_c::offSoldOutItemFlag(int flag) {
- mSoldOutItemFlags &= ~(u8)(1 << flag);
+void dShopSystem_c::offSoldOutItemFlag(int i_flag) {
+ mSoldOutItemFlags &= ~(u8)(1 << i_flag);
}
/* 80197650-80197670 191F90 0020+00 2/2 0/0 0/0 .text isSoldOutItemFlag__13dShopSystem_cFi */
-BOOL dShopSystem_c::isSoldOutItemFlag(int flag) {
- return mSoldOutItemFlags & (u8)(1 << flag) ? TRUE : FALSE;
+BOOL dShopSystem_c::isSoldOutItemFlag(int i_flag) {
+ return mSoldOutItemFlags & (u8)(1 << i_flag) ? TRUE : FALSE;
}
/* 80197670-80197808 191FB0 0198+00 3/3 0/0 0/0 .text
* checkController__13dShopSystem_cFUcP10dMsgFlow_c */
-int dShopSystem_c::checkController(u8 seq, dMsgFlow_c* p_flow) {
+int dShopSystem_c::checkController(u8 i_seq, dMsgFlow_c* i_flow) {
if (mWaitTimer != 0) {
if (mDoCPd_c::getTrigA(PAD_1)) {
dMsgObject_setShopWaitTimer(1);
@@ -823,12 +253,12 @@ int dShopSystem_c::checkController(u8 seq, dMsgFlow_c* p_flow) {
}
int control_status;
- if (data_80451058 == 4) {
- control_status = chooseItem4(seq);
- } else if (data_80451058 == 5) {
- control_status = chooseItem5(seq);
+ if (dShopSystem_sellItemMax == 4) {
+ control_status = chooseItem4(i_seq);
+ } else if (dShopSystem_sellItemMax == 5) {
+ control_status = chooseItem5(i_seq);
} else {
- control_status = chooseItem3(seq);
+ control_status = chooseItem3(i_seq);
}
if (control_status != 0) {
@@ -842,18 +272,19 @@ int dShopSystem_c::checkController(u8 seq, dMsgFlow_c* p_flow) {
if (mDoCPd_c::getTrigA(PAD_1)) {
if (msg->getStatus() != 6 && msg->getStatus() != 8 && msg->getStatus() != 9 &&
- msg->getStatus() != 20 && seq != SEQ_WAIT) {
+ msg->getStatus() != 20 && i_seq != SEQ_WAIT)
+ {
return 1;
}
}
if (mDoCPd_c::getTrigB(PAD_1)) {
- if (seq != SEQ_SELECT_WAIT) {
+ if (i_seq != SEQ_SELECT_WAIT) {
mLastCursorPos = mCursorPos;
mCursorPos = 0;
}
- if (!p_flow->isSelectMessage()) {
+ if (!i_flow->isSelectMessage()) {
return 2;
}
}
@@ -861,12 +292,10 @@ int dShopSystem_c::checkController(u8 seq, dMsgFlow_c* p_flow) {
return 0;
}
-/* ############################################################################################## */
-
/* 80197808-80197DD0 192148 05C8+00 1/1 0/0 0/0 .text chooseItem3__13dShopSystem_cFUc */
-int dShopSystem_c::chooseItem3(u8 seq) {
+int dShopSystem_c::chooseItem3(u8 i_seq) {
u8 old_cursor = mLastCursorPos;
- if (checkLeftTrigger(mpStick) && seq != SEQ_SELECT_WAIT) {
+ if (checkLeftTrigger(mpStick) && i_seq != SEQ_SELECT_WAIT) {
u8 cursor_pos = mCursorPos;
if (cursor_pos == 7) {
@@ -877,7 +306,7 @@ int dShopSystem_c::chooseItem3(u8 seq) {
mCursorPos = mLastCursorPos;
mLastCursorPos = old_cursor;
} else {
- if (seq != SEQ_START) {
+ if (i_seq != SEQ_START) {
if (mCursorPos != 0) {
mDoAud_seStart(Z2SE_SY_TALK_NEXT, NULL, 0, 0);
}
@@ -891,7 +320,7 @@ int dShopSystem_c::chooseItem3(u8 seq) {
mLastCursorPos = cursor_pos;
mCursorPos = 0;
- if (seq != SEQ_START) {
+ if (i_seq != SEQ_START) {
if (mCursorPos != 0) {
mDoAud_seStart(Z2SE_SY_TALK_NEXT, NULL, 0, 0);
}
@@ -908,7 +337,7 @@ int dShopSystem_c::chooseItem3(u8 seq) {
mCursorPos = mLastCursorPos;
mLastCursorPos = old_cursor;
} else {
- if (seq != SEQ_START) {
+ if (i_seq != SEQ_START) {
if (mCursorPos != 0) {
mDoAud_seStart(Z2SE_SY_TALK_NEXT, NULL, 0, 0);
}
@@ -920,7 +349,7 @@ int dShopSystem_c::chooseItem3(u8 seq) {
}
}
- if (checkRightTrigger(mpStick) && seq != SEQ_SELECT_WAIT) {
+ if (checkRightTrigger(mpStick) && i_seq != SEQ_SELECT_WAIT) {
u8 cursor_pos = mCursorPos;
if (cursor_pos != 7) {
@@ -932,13 +361,13 @@ int dShopSystem_c::chooseItem3(u8 seq) {
mCursorPos = mLastCursorPos;
mLastCursorPos = old_cursor;
} else {
- if (seq != SEQ_START) {
+ if (i_seq != SEQ_START) {
mDoAud_seStart(Z2SE_SY_TALK_NEXT, NULL, 0, 0);
mShopCamAction.SetSelectIdx(mCursorPos);
}
return 4;
}
- } else if (data_80451058 == 7) {
+ } else if (dShopSystem_sellItemMax == 7) {
mLastCursorPos = cursor_pos;
mCursorPos = 7;
@@ -946,7 +375,7 @@ int dShopSystem_c::chooseItem3(u8 seq) {
mCursorPos = mLastCursorPos;
mLastCursorPos = old_cursor;
} else {
- if (seq != SEQ_START) {
+ if (i_seq != SEQ_START) {
mDoAud_seStart(Z2SE_SY_TALK_NEXT, NULL, 0, 0);
mShopCamAction.SetSelectIdx(mCursorPos);
}
@@ -956,8 +385,8 @@ int dShopSystem_c::chooseItem3(u8 seq) {
}
}
- if (data_80451058 >= 6) {
- if (mpStick->checkUpTrigger() && seq != SEQ_SELECT_WAIT && mCursorPos <= 3) {
+ if (dShopSystem_sellItemMax >= 6) {
+ if (mpStick->checkUpTrigger() && i_seq != SEQ_SELECT_WAIT && mCursorPos <= 3) {
mLastCursorPos = mCursorPos;
mCursorPos += 3;
@@ -965,7 +394,7 @@ int dShopSystem_c::chooseItem3(u8 seq) {
mCursorPos = mLastCursorPos;
mLastCursorPos = old_cursor;
} else {
- if (seq != SEQ_START) {
+ if (i_seq != SEQ_START) {
if (mCursorPos != 0) {
mDoAud_seStart(Z2SE_SY_TALK_NEXT, NULL, 0, 0);
}
@@ -977,7 +406,7 @@ int dShopSystem_c::chooseItem3(u8 seq) {
}
}
- if (mpStick->checkDownTrigger() && seq != SEQ_SELECT_WAIT) {
+ if (mpStick->checkDownTrigger() && i_seq != SEQ_SELECT_WAIT) {
u8 cursor_pos = mCursorPos;
if (cursor_pos > 3 && cursor_pos <= 6) {
@@ -988,7 +417,7 @@ int dShopSystem_c::chooseItem3(u8 seq) {
mCursorPos = mLastCursorPos;
mLastCursorPos = old_cursor;
} else {
- if (seq != SEQ_START) {
+ if (i_seq != SEQ_START) {
mDoAud_seStart(Z2SE_SY_TALK_NEXT, NULL, 0, 0);
mShopCamAction.SetSelectIdx(mCursorPos);
}
@@ -1002,15 +431,15 @@ int dShopSystem_c::chooseItem3(u8 seq) {
}
/* 80197DD0-80198250 192710 0480+00 1/1 0/0 0/0 .text chooseItem5__13dShopSystem_cFUc */
-int dShopSystem_c::chooseItem5(u8 seq) {
+int dShopSystem_c::chooseItem5(u8 i_seq) {
u8 old_cursor = mLastCursorPos;
- if (checkLeftTrigger(mpStick) && seq != SEQ_SELECT_WAIT) {
+ if (checkLeftTrigger(mpStick) && i_seq != SEQ_SELECT_WAIT) {
u8 cursor_pos = mCursorPos;
if (cursor_pos == 3) {
mLastCursorPos = cursor_pos;
mCursorPos = 0;
- if (seq != SEQ_START) {
+ if (i_seq != SEQ_START) {
if (mCursorPos != 0) {
mDoAud_seStart(Z2SE_SY_TALK_NEXT, NULL, 0, 0);
}
@@ -1028,7 +457,7 @@ int dShopSystem_c::chooseItem5(u8 seq) {
mCursorPos = mLastCursorPos;
mLastCursorPos = old_cursor;
} else {
- if (seq != SEQ_START) {
+ if (i_seq != SEQ_START) {
if (mCursorPos != 0) {
mDoAud_seStart(Z2SE_SY_TALK_NEXT, NULL, 0, 0);
}
@@ -1040,7 +469,7 @@ int dShopSystem_c::chooseItem5(u8 seq) {
}
}
- if (checkRightTrigger(mpStick) && seq != SEQ_SELECT_WAIT) {
+ if (checkRightTrigger(mpStick) && i_seq != SEQ_SELECT_WAIT) {
u8 cursor_pos = mCursorPos;
if (cursor_pos != 2 && cursor_pos != 5) {
@@ -1051,7 +480,7 @@ int dShopSystem_c::chooseItem5(u8 seq) {
mCursorPos = mLastCursorPos;
mLastCursorPos = old_cursor;
} else {
- if (seq != SEQ_START) {
+ if (i_seq != SEQ_START) {
mDoAud_seStart(Z2SE_SY_TALK_NEXT, NULL, 0, 0);
mShopCamAction.SetSelectIdx(mCursorPos);
}
@@ -1060,7 +489,7 @@ int dShopSystem_c::chooseItem5(u8 seq) {
}
}
- if (mpStick->checkUpTrigger() && seq != SEQ_SELECT_WAIT) {
+ if (mpStick->checkUpTrigger() && i_seq != SEQ_SELECT_WAIT) {
u8 cursor_pos = mCursorPos;
if (cursor_pos == 3 || cursor_pos == 5) {
@@ -1076,7 +505,7 @@ int dShopSystem_c::chooseItem5(u8 seq) {
mCursorPos = mLastCursorPos;
mLastCursorPos = old_cursor;
} else {
- if (seq != SEQ_START) {
+ if (i_seq != SEQ_START) {
if (mCursorPos != 0) {
mDoAud_seStart(Z2SE_SY_TALK_NEXT, NULL, 0, 0);
}
@@ -1088,7 +517,7 @@ int dShopSystem_c::chooseItem5(u8 seq) {
}
}
- if (mpStick->checkDownTrigger() && seq != SEQ_SELECT_WAIT) {
+ if (mpStick->checkDownTrigger() && i_seq != SEQ_SELECT_WAIT) {
u8 cursor_pos = mCursorPos;
if (cursor_pos == 1 || cursor_pos == 2) {
@@ -1104,7 +533,7 @@ int dShopSystem_c::chooseItem5(u8 seq) {
mCursorPos = mLastCursorPos;
mLastCursorPos = old_cursor;
} else {
- if (seq != SEQ_START) {
+ if (i_seq != SEQ_START) {
mDoAud_seStart(Z2SE_SY_TALK_NEXT, NULL, 0, 0);
mShopCamAction.SetSelectIdx(mCursorPos);
}
@@ -1117,9 +546,9 @@ int dShopSystem_c::chooseItem5(u8 seq) {
}
/* 80198250-80198444 192B90 01F4+00 1/1 0/0 0/0 .text chooseItem4__13dShopSystem_cFUc */
-int dShopSystem_c::chooseItem4(u8 seq) {
+int dShopSystem_c::chooseItem4(u8 i_seq) {
u8 old_cursor = mLastCursorPos;
- if (checkLeftTrigger(mpStick) && seq != SEQ_SELECT_WAIT && mCursorPos != 0) {
+ if (checkLeftTrigger(mpStick) && i_seq != SEQ_SELECT_WAIT && mCursorPos != 0) {
mLastCursorPos = mCursorPos;
mCursorPos--;
@@ -1127,7 +556,7 @@ int dShopSystem_c::chooseItem4(u8 seq) {
mCursorPos = mLastCursorPos;
mLastCursorPos = old_cursor;
} else {
- if (seq != SEQ_START) {
+ if (i_seq != SEQ_START) {
if (mCursorPos != 0) {
mDoAud_seStart(Z2SE_SY_TALK_NEXT, NULL, 0, 0);
}
@@ -1139,7 +568,7 @@ int dShopSystem_c::chooseItem4(u8 seq) {
}
}
- if (checkRightTrigger(mpStick) && seq != SEQ_SELECT_WAIT && mCursorPos < 4) {
+ if (checkRightTrigger(mpStick) && i_seq != SEQ_SELECT_WAIT && mCursorPos < 4) {
mLastCursorPos = mCursorPos;
mCursorPos++;
@@ -1147,7 +576,7 @@ int dShopSystem_c::chooseItem4(u8 seq) {
mCursorPos = mLastCursorPos;
mLastCursorPos = old_cursor;
} else {
- if (seq != SEQ_START) {
+ if (i_seq != SEQ_START) {
mDoAud_seStart(Z2SE_SY_TALK_NEXT, NULL, 0, 0);
mShopCamAction.SetSelectIdx(mCursorPos);
}
@@ -1273,7 +702,8 @@ int dShopSystem_c::moveCursor1(int control_status, u8 param_1) {
int dShopSystem_c::drawCursor() {
if ((mSeq == 4 || mSeq == 5 ||
((mSeq == 6 || mSeq == SEQ_SELECT_WAIT) && isFlag(mCursorPos - 1))) &&
- mCursorPos != 0 && mItemCtrl.isHomePos(mCursorPos - 1)) {
+ mCursorPos != 0 && mItemCtrl.isHomePos(mCursorPos - 1))
+ {
mpDrawCursor->addAlpha();
} else {
mpDrawCursor->decAlpha();
@@ -1321,8 +751,6 @@ int dShopSystem_c::itemRotate() {
return 1;
}
-/* ############################################################################################## */
-
/* 80198A2C-801990B0 19336C 0684+00 0/0 0/0 9/9 .text itemZoom__13dShopSystem_cFP4cXyz */
int dShopSystem_c::itemZoom(cXyz* param_0) {
cXyz local_1c;
@@ -1347,7 +775,7 @@ int dShopSystem_c::itemZoom(cXyz* param_0) {
local_40.set(dShopSystem_itemActor[1]->orig.pos);
f32 tmp_05 = 0.5f;
- if (data_80451058 == 4) {
+ if (dShopSystem_sellItemMax == 4) {
if (dShopSystem_itemActor[2] != NULL) {
f32 tmp = (dShopSystem_itemActor[2]->orig.pos.x +
dShopSystem_itemActor[1]->orig.pos.x);
@@ -1361,15 +789,15 @@ int dShopSystem_c::itemZoom(cXyz* param_0) {
dShopSystem_itemActor[1]->orig.pos.z);
local_40.z = tmp3 * tmp_05;
}
- } else if (data_80451058 == 5) {
- f32 tmp = (dShopSystem_itemActor[2]->orig.pos.x +
- dShopSystem_itemActor[3]->orig.pos.x);
+ } else if (dShopSystem_sellItemMax == 5) {
+ f32 tmp =
+ (dShopSystem_itemActor[2]->orig.pos.x + dShopSystem_itemActor[3]->orig.pos.x);
local_40.x = tmp * tmp_05;
local_40.y = dShopSystem_itemActor[0]->orig.pos.y;
- f32 tmp3 = (dShopSystem_itemActor[2]->orig.pos.z +
- dShopSystem_itemActor[3]->orig.pos.z);
+ f32 tmp3 =
+ (dShopSystem_itemActor[2]->orig.pos.z + dShopSystem_itemActor[3]->orig.pos.z);
local_40.z = tmp3 * tmp_05;
}
@@ -1383,7 +811,8 @@ int dShopSystem_c::itemZoom(cXyz* param_0) {
if (field_0xf77 == 5) {
if (dShopSystem_itemNo[mCursorPos - 1] == ARROW_10 ||
dShopSystem_itemNo[mCursorPos - 1] == ARROW_20 ||
- dShopSystem_itemNo[mCursorPos - 1] == ARROW_30) {
+ dShopSystem_itemNo[mCursorPos - 1] == ARROW_30)
+ {
local_34.set(g_cursorHIO.mObjZoom.x, -50.0f + g_cursorHIO.mObjZoom.y + 5.0f,
(g_cursorHIO.mObjZoom.z + 250.0f) - 60.0f);
} else {
@@ -1401,9 +830,8 @@ int dShopSystem_c::itemZoom(cXyz* param_0) {
}
}
- cLib_offsetPos(&local_28, &dShopSystem_cameraActor[1]->current.pos, atan,
- &local_34);
- if (data_80451058 == 6 || data_80451058 == 5) {
+ cLib_offsetPos(&local_28, &dShopSystem_cameraActor[1]->current.pos, atan, &local_34);
+ if (dShopSystem_sellItemMax == 6 || dShopSystem_sellItemMax == 5) {
param_0->y += 15.0f;
}
local_1c.set(local_28.x + param_0->x, local_28.y + param_0->y, local_28.z + param_0->z);
@@ -1433,7 +861,8 @@ int dShopSystem_c::itemZoom(cXyz* param_0) {
} else if (dvar1 == 5) {
if (dShopSystem_itemNo[mCursorPos - 1] == ARROW_10 ||
dShopSystem_itemNo[mCursorPos - 1] == ARROW_20 ||
- dShopSystem_itemNo[mCursorPos - 1] == ARROW_30) {
+ dShopSystem_itemNo[mCursorPos - 1] == ARROW_30)
+ {
mItemCtrl.setZoomAnime(mCursorPos, &local_1c, g_cursorHIO.mShopObjZoomAngleX - 4000,
isFlag(8) ? true : false);
} else {
@@ -1443,7 +872,7 @@ int dShopSystem_c::itemZoom(cXyz* param_0) {
} else if (mCursorPos == 7) {
mItemCtrl.setZoomAnime(mCursorPos, &local_1c, g_cursorHIO.mMagicArmorObjZoomAngleX,
isFlag(8) ? true : false);
- } else if (data_80451058 == 7) {
+ } else if (dShopSystem_sellItemMax == 7) {
mItemCtrl.setZoomAnime(mCursorPos, &local_1c, g_cursorHIO.mShopObjZoomAngleX - 3000,
isFlag(8) ? true : false);
} else {
@@ -1461,15 +890,13 @@ int dShopSystem_c::seq_wait(fopAc_ac_c* param_0, dMsgFlow_c* param_1) {
return 0;
}
-/* ############################################################################################## */
-
inline void pos3Dto2D(Vec* a, Vec* b) {
mDoLib_project(a, b);
}
/* 801990B8-8019936C 1939F8 02B4+00 1/0 0/0 0/0 .text
* seq_start__13dShopSystem_cFP10fopAc_ac_cP10dMsgFlow_c */
-int dShopSystem_c::seq_start(fopAc_ac_c* actor, dMsgFlow_c* p_flow) {
+int dShopSystem_c::seq_start(fopAc_ac_c* actor, dMsgFlow_c* i_flow) {
if (field_0xf79 != 0) {
dComIfGp_setDoStatusForce(0, 0);
dComIfGp_setAStatusForce(0, 0);
@@ -1482,14 +909,14 @@ int dShopSystem_c::seq_start(fopAc_ac_c* actor, dMsgFlow_c* p_flow) {
pos3Dto2D(&pos3d, &pos2d);
mpDrawCursor->setPos(pos2d.x, pos2d.y + g_cursorHIO.mShopCursorOffsetY);
- if (chkSpMode() && !beforeStartSeqAction(p_flow, field_0xf5c)) {
+ if (chkSpMode() && !beforeStartSeqAction(i_flow, field_0xf5c)) {
return 0;
} else {
if (dMsgObject_c::isMsgSendControl()) {
dComIfGp_setDoStatusForce(0, 0);
dComIfGp_setAStatusForce(0x2A, 0);
- int control_status = checkController(SEQ_WAIT, p_flow);
+ int control_status = checkController(SEQ_WAIT, i_flow);
if (control_status != 0) {
dMsgObject_c::onMsgSend();
int cursor_status = moveCursor(control_status, 0);
@@ -1499,11 +926,11 @@ int dShopSystem_c::seq_start(fopAc_ac_c* actor, dMsgFlow_c* p_flow) {
field_0xf5c = cursor_status;
mShopCamAction.setCameraSpeed(0.0f, 0.0f, 0.0f, 0.0f);
setSeq(SEQ_SELECT);
- } else if (p_flow->doFlow(actor, NULL, cursor_status)) {
+ } else if (i_flow->doFlow(actor, NULL, cursor_status)) {
mShopCamAction.setCameraSpeed(0.0f, 0.0f, 0.0f, 0.0f);
setSeq(SEQ_FINISH);
}
- } else if (p_flow->doFlow(actor, NULL, cursor_status)) {
+ } else if (i_flow->doFlow(actor, NULL, cursor_status)) {
if (mCursorPos == 0) {
setSeq(SEQ_FINISH);
} else {
@@ -1512,12 +939,12 @@ int dShopSystem_c::seq_start(fopAc_ac_c* actor, dMsgFlow_c* p_flow) {
}
}
} else {
- if (p_flow->doFlow(actor, NULL, 0)) {
+ if (i_flow->doFlow(actor, NULL, 0)) {
int itemNo;
if (mFlow.getEventId(&itemNo) == 1) {
if (field_0xd90 == -1) {
- field_0xd90 = fopAcM_createItemForPresentDemo(&current.pos, itemNo,
- 0, -1, -1, NULL, NULL);
+ field_0xd90 = fopAcM_createItemForPresentDemo(&current.pos, itemNo, 0, -1,
+ -1, NULL, NULL);
}
if (fpcEx_IsExist(field_0xd90)) {
@@ -1552,7 +979,7 @@ int dShopSystem_c::seq_select_wait(fopAc_ac_c*, dMsgFlow_c*) {
* seq_select_start__13dShopSystem_cFP10fopAc_ac_cP10dMsgFlow_c */
int dShopSystem_c::seq_select_start(fopAc_ac_c*, dMsgFlow_c*) {
if (field_0xf60 < 0 && field_0xf76 == 0 && dShopSystem_item_count != -1) {
- if (dShopSystem_item_count != data_80451058) {
+ if (dShopSystem_item_count != dShopSystem_sellItemMax) {
return 0;
}
searchItemActor();
@@ -1602,8 +1029,8 @@ int dShopSystem_c::seq_select_start(fopAc_ac_c*, dMsgFlow_c*) {
/* 8019959C-80199A18 193EDC 047C+00 1/0 0/0 0/0 .text
* seq_select__13dShopSystem_cFP10fopAc_ac_cP10dMsgFlow_c */
-int dShopSystem_c::seq_select(fopAc_ac_c* actor, dMsgFlow_c* p_flow) {
- if (chkSpMode() && !beforeSelectSeqAction(p_flow, field_0xf5c)) {
+int dShopSystem_c::seq_select(fopAc_ac_c* actor, dMsgFlow_c* i_flow) {
+ if (chkSpMode() && !beforeSelectSeqAction(i_flow, field_0xf5c)) {
return 0;
}
@@ -1611,7 +1038,7 @@ int dShopSystem_c::seq_select(fopAc_ac_c* actor, dMsgFlow_c* p_flow) {
field_0xf76 = 0;
}
- int control_status = checkController(SEQ_START, p_flow);
+ int control_status = checkController(SEQ_START, i_flow);
dComIfGp_setDoStatusForce(0x22, 0);
dComIfGp_setAStatusForce(0x2A, 0);
@@ -1628,7 +1055,7 @@ int dShopSystem_c::seq_select(fopAc_ac_c* actor, dMsgFlow_c* p_flow) {
mShopCamAction.SetSelectIdx(mCursorPos);
mShopCamAction.setCameraSpeed(0.0f, 0.0f, 0.0f, 0.0f);
setSeq(SEQ_START);
- } else if (p_flow->doFlow(actor, NULL, cursor_status)) {
+ } else if (i_flow->doFlow(actor, NULL, cursor_status)) {
if (control_status == 3) {
if (mCursorPos != 0) {
mDoAud_seStart(Z2SE_SY_TALK_NEXT, NULL, 0, 0);
@@ -1662,7 +1089,8 @@ int dShopSystem_c::seq_select(fopAc_ac_c* actor, dMsgFlow_c* p_flow) {
}
}
} else if (control_status == 3 || control_status == 4 || control_status == 5 ||
- control_status == 6 || control_status == 7 || control_status == 2) {
+ control_status == 6 || control_status == 7 || control_status == 2)
+ {
if (mLastCursorPos == 7) {
mLastCursorPos = mCursorPos;
mCursorPos = 7;
@@ -1677,7 +1105,7 @@ int dShopSystem_c::seq_select(fopAc_ac_c* actor, dMsgFlow_c* p_flow) {
}
}
} else {
- p_flow->doFlow(actor, NULL, 0);
+ i_flow->doFlow(actor, NULL, 0);
}
u8 old_cursor = 0;
@@ -1706,8 +1134,6 @@ int dShopSystem_c::seq_select(fopAc_ac_c* actor, dMsgFlow_c* p_flow) {
return 0;
}
-/* ############################################################################################## */
-
/* 80199A18-80199BF8 194358 01E0+00 1/0 0/0 0/0 .text
* seq_moving__13dShopSystem_cFP10fopAc_ac_cP10dMsgFlow_c */
int dShopSystem_c::seq_moving(fopAc_ac_c*, dMsgFlow_c*) {
@@ -1756,11 +1182,11 @@ int dShopSystem_c::seq_moving(fopAc_ac_c*, dMsgFlow_c*) {
/* 80199BF8-80199D14 194538 011C+00 1/0 0/0 0/0 .text
* seq_decide__13dShopSystem_cFP10fopAc_ac_cP10dMsgFlow_c */
-int dShopSystem_c::seq_decide(fopAc_ac_c* actor, dMsgFlow_c* p_flow) {
- int control_status = checkController(SEQ_SELECT_WAIT, p_flow);
+int dShopSystem_c::seq_decide(fopAc_ac_c* actor, dMsgFlow_c* i_flow) {
+ int control_status = checkController(SEQ_SELECT_WAIT, i_flow);
dComIfGp_setDoStatusForce(0x22, 0);
- if (!p_flow->isSelectMessage()) {
+ if (!i_flow->isSelectMessage()) {
dComIfGp_setAStatusForce(0x2A, 0);
} else if (dMsgObject_getMsgObjectClass()->getSelectCancelPos() != 0) {
dComIfGp_setAStatusForce(0x2A, 0);
@@ -1769,15 +1195,15 @@ int dShopSystem_c::seq_decide(fopAc_ac_c* actor, dMsgFlow_c* p_flow) {
if (control_status != 0) {
int cursor_status = moveCursor(control_status, 2);
- if (p_flow->doFlow(actor, NULL, cursor_status)) {
+ if (i_flow->doFlow(actor, NULL, cursor_status)) {
offFlag(8);
setSeq(SEQ_SELECT_WAIT);
- } else if (p_flow->isSelectMessage()) {
+ } else if (i_flow->isSelectMessage()) {
field_0xf58 = control_status;
setSeq(SEQ_CHOOSE);
}
} else {
- p_flow->doFlow(actor, NULL, 0);
+ i_flow->doFlow(actor, NULL, 0);
}
return 0;
@@ -1785,19 +1211,20 @@ int dShopSystem_c::seq_decide(fopAc_ac_c* actor, dMsgFlow_c* p_flow) {
/* 80199D14-80199E28 194654 0114+00 1/0 0/0 0/0 .text
* seq_choose__13dShopSystem_cFP10fopAc_ac_cP10dMsgFlow_c */
-int dShopSystem_c::seq_choose(fopAc_ac_c* actor, dMsgFlow_c* p_flow) {
+int dShopSystem_c::seq_choose(fopAc_ac_c* actor, dMsgFlow_c* i_flow) {
dComIfGp_setDoStatusForce(0x22, 0);
- if (!p_flow->isSelectMessage()) {
+ if (!i_flow->isSelectMessage()) {
dComIfGp_setAStatusForce(0x2A, 0);
} else if (dMsgObject_getMsgObjectClass()->getSelectCancelPos() != 0) {
dComIfGp_setAStatusForce(0x2A, 0);
}
- p_flow->doFlow(actor, NULL, 0);
+ i_flow->doFlow(actor, NULL, 0);
- int select_num = p_flow->getSelectNum();
+ int select_num = i_flow->getSelectNum();
if (dMsgObject_c::getStatus() != 6 && dMsgObject_c::getStatus() != 8 &&
- dMsgObject_c::getStatus() != 9 && dMsgObject_c::getStatus() != 20) {
+ dMsgObject_c::getStatus() != 9 && dMsgObject_c::getStatus() != 20)
+ {
if ((u16)select_num == 0) {
setSeq(SEQ_DECIDE_YES);
} else {
@@ -1810,7 +1237,7 @@ int dShopSystem_c::seq_choose(fopAc_ac_c* actor, dMsgFlow_c* p_flow) {
/* 80199E28-80199FA4 194768 017C+00 1/0 0/0 0/0 .text
* seq_decide_yes__13dShopSystem_cFP10fopAc_ac_cP10dMsgFlow_c */
-int dShopSystem_c::seq_decide_yes(fopAc_ac_c* actor, dMsgFlow_c* p_flow) {
+int dShopSystem_c::seq_decide_yes(fopAc_ac_c* actor, dMsgFlow_c* i_flow) {
if (dMsgObject_getMessageID() == 0x1B82) {
mShopCamAction.SetSelectIdx(0);
field_0xf76 = 1;
@@ -1818,10 +1245,10 @@ int dShopSystem_c::seq_decide_yes(fopAc_ac_c* actor, dMsgFlow_c* p_flow) {
int itemNo;
if (mFlow.getEventId(&itemNo) == 1) {
- if (p_flow->doFlow(actor, NULL, 0)) {
+ if (i_flow->doFlow(actor, NULL, 0)) {
if (field_0xd90 == -1) {
- field_0xd90 = fopAcM_createItemForPresentDemo(&current.pos, itemNo, 0, -1,
- -1, NULL, NULL);
+ field_0xd90 =
+ fopAcM_createItemForPresentDemo(&current.pos, itemNo, 0, -1, -1, NULL, NULL);
}
if (fpcEx_IsExist(field_0xd90)) {
@@ -1842,7 +1269,7 @@ int dShopSystem_c::seq_decide_yes(fopAc_ac_c* actor, dMsgFlow_c* p_flow) {
flow = mItemCtrl.getMessageIndex(mCursorPos - 1) + 1;
}
- if (p_flow->doFlow(actor, NULL, flow)) {
+ if (i_flow->doFlow(actor, NULL, flow)) {
offFlag(8);
setSeq(SEQ_SELECT_WAIT);
}
@@ -1853,8 +1280,8 @@ int dShopSystem_c::seq_decide_yes(fopAc_ac_c* actor, dMsgFlow_c* p_flow) {
/* 80199FA4-8019A020 1948E4 007C+00 1/0 0/0 0/0 .text
* seq_decide_no__13dShopSystem_cFP10fopAc_ac_cP10dMsgFlow_c */
-int dShopSystem_c::seq_decide_no(fopAc_ac_c* actor, dMsgFlow_c* p_flow) {
- if (p_flow->doFlow(actor, NULL, moveCursor(field_0xf58, 2))) {
+int dShopSystem_c::seq_decide_no(fopAc_ac_c* actor, dMsgFlow_c* i_flow) {
+ if (i_flow->doFlow(actor, NULL, moveCursor(field_0xf58, 2))) {
offFlag(8);
setSeq(SEQ_SELECT_WAIT);
}
@@ -1864,10 +1291,10 @@ int dShopSystem_c::seq_decide_no(fopAc_ac_c* actor, dMsgFlow_c* p_flow) {
/* 8019A020-8019A0C0 194960 00A0+00 1/0 0/0 0/0 .text
* seq_finish__13dShopSystem_cFP10fopAc_ac_cP10dMsgFlow_c */
-int dShopSystem_c::seq_finish(fopAc_ac_c* actor, dMsgFlow_c* p_flow) {
- if (chkSpMode() && !beforeStartSeqAction(p_flow, field_0xf5c)) {
+int dShopSystem_c::seq_finish(fopAc_ac_c* actor, dMsgFlow_c* i_flow) {
+ if (chkSpMode() && !beforeStartSeqAction(i_flow, field_0xf5c)) {
return 0;
- } else if (p_flow->doFlow(actor, NULL, 0)) {
+ } else if (i_flow->doFlow(actor, NULL, 0)) {
setSeq(SEQ_WAIT);
return 1;
}
@@ -1901,7 +1328,7 @@ int dShopSystem_c::shop_init(bool param_0) {
* shop_process__13dShopSystem_cFP10fopAc_ac_cP10dMsgFlow_c */
int dShopSystem_c::shop_process(fopAc_ac_c* param_0, dMsgFlow_c* param_1) {
int iVar1;
- iVar1 = (this->*((processFunc*)process)[mSeq])(param_0, param_1);
+ iVar1 = (this->*process[mSeq])(param_0, param_1);
if (mWaitTimer != 0) {
mWaitTimer--;
@@ -1927,25 +1354,23 @@ int dShopSystem_c::shop_process(fopAc_ac_c* param_0, dMsgFlow_c* param_1) {
return iVar1;
}
-/* ############################################################################################## */
/* 804506F8-80450700 -00001 0004+04 1/1 0/0 0/0 .sdata shop_item_pos_data_tbl */
-SECTION_SDATA static shop_item_data* shop_item_pos_data_tbl = &item_seira_shop;
-
-/* 80453B58-80453B60 002158 0006+02 1/1 0/0 0/0 .sdata2 item_no$5460 */
-SECTION_SDATA2 static u8 item_no[6] = {
- MILK_BOTTLE, BEE_CHILD, PACHINKO, MILK_BOTTLE, BEE_CHILD, NO_ITEM,
-};
+static shop_item_data* shop_item_pos_data_tbl = &item_seira_shop;
/* 8019A238-8019A344 194B78 010C+00 0/0 0/0 1/1 .text createShopItem__13dShopSystem_cFi
*/
void dShopSystem_c::createShopItem(int itemType) {
+ static const u8 item_no[6] = {
+ MILK_BOTTLE, BEE_CHILD, PACHINKO, MILK_BOTTLE, BEE_CHILD, NO_ITEM,
+ };
+
if (itemType != -1) {
field_0xf60 = itemType;
mSoldOutFlag = -1;
cXyz pos;
for (int i = 0; i < 3; i++) {
- u8* itemTbl = item_no + (itemType * 3);
+ const u8* itemTbl = item_no + (itemType * 3);
pos.x = shop_item_pos_data_tbl->mItemPos[i].x + current.pos.x;
pos.y = shop_item_pos_data_tbl->mItemPos[i].y + current.pos.y;
@@ -1965,8 +1390,8 @@ void dShopSystem_c::createShopItem(int itemType) {
}
/* 8019A344-8019A354 194C84 0010+00 12/12 0/0 0/0 .text setSeq__13dShopSystem_cFUc */
-void dShopSystem_c::setSeq(u8 seq) {
- mSeq = seq;
+void dShopSystem_c::setSeq(u8 i_seq) {
+ mSeq = i_seq;
mWaitTimer = 2;
}
@@ -2044,13 +1469,14 @@ void dShopSystem_c::deleteObject() {
}
}
-/* ############################################################################################## */
-
/* 8019A5D0-8019AB00 194F10 0530+00 1/1 0/0 8/8 .text searchItemActor__13dShopSystem_cFv
*/
int dShopSystem_c::searchItemActor() {
u8 temp_data;
- if ((dShopSystem_item_count != -1 && ((dShopSystem_item_count < (temp_data = data_80451058)) || dShopSystem_camera_count < 2))) {
+ if ((dShopSystem_item_count != -1 &&
+ ((dShopSystem_item_count < (temp_data = dShopSystem_sellItemMax)) ||
+ dShopSystem_camera_count < 2)))
+ {
if (dShopSystem_item_count < temp_data) {
fpcEx_Search((fpcLyIt_JudgeFunc)dShopSystem_searchItemActor, this);
}
@@ -2060,54 +1486,63 @@ int dShopSystem_c::searchItemActor() {
return 0;
}
- if (dShopSystem_item_count >= data_80451058 && dShopSystem_camera_count >= 2) {
+ if (dShopSystem_item_count >= dShopSystem_sellItemMax && dShopSystem_camera_count >= 2) {
mSoldOutFlag = -1;
+
if (data_80451060) {
f32 actorDistArr[7];
u8 itemNoArr[7];
f32 arr2[7];
daTag_ShopItem_c* actorArr[7];
u8 arr3[7];
- for (int i = 0; i < data_80451058; i++) {
+
+ for (int i = 0; i < dShopSystem_sellItemMax; i++) {
actorArr[i] = dShopSystem_itemActor[i];
itemNoArr[i] = dShopSystem_itemNo[i];
actorDistArr[i] = fopAcM_searchActorDistance(this, actorArr[i]);
arr2[i] = 0.0f;
arr3[i] = 0;
}
- for (int i = 0; i < data_80451058; i++) {
+
+ for (int i = 0; i < dShopSystem_sellItemMax; i++) {
arr2[i] = actorDistArr[i];
arr3[i] = i;
+
if (i > 0) {
for (int j = i; j >= 0; j--) {
- if (arr2[j] < arr2[j-1]) {
+ if (arr2[j] < arr2[j - 1]) {
f32 temp = arr2[j];
- arr2[j] = arr2[j-1];
- arr2[j-1] = temp;
+ arr2[j] = arr2[j - 1];
+ arr2[j - 1] = temp;
+
u8 temp2 = arr3[j];
- arr3[j] = arr3[j-1];
- arr3[j-1] = temp2;
+ arr3[j] = arr3[j - 1];
+ arr3[j - 1] = temp2;
}
}
}
}
- for (int i = 0; i < data_80451058; i++) {
+
+ for (int i = 0; i < dShopSystem_sellItemMax; i++) {
dShopSystem_itemActor[i] = actorArr[arr3[i]];
dShopSystem_itemNo[i] = itemNoArr[arr3[i]];
}
}
- for (int i = 0; i < data_80451058; i++) {
+ for (int i = 0; i < dShopSystem_sellItemMax; i++) {
u32 processId = dShopSystem_itemActor[i]->getProcessID();
mItemCtrl.setItemIndex(i, processId);
- mItemCtrl.setMessageIndex(i, (u16)dShopSystem_itemActor[i]->orig.angle.GetX() != 0xffff ? (u16)dShopSystem_itemActor[i]->orig.angle.GetX() : -1);
+ mItemCtrl.setMessageIndex(i, (u16)dShopSystem_itemActor[i]->orig.angle.x != 0xFFFF ?
+ (u16)dShopSystem_itemActor[i]->orig.angle.x :
+ -1);
- if (processId + 0x10000 == 0xffff) {
+ if (processId + 0x10000 == 0xFFFF) {
onFlag(i);
onSoldOutItemFlag(i);
} else {
offFlag(i);
- if ((u8)fopAcM_GetParam(dShopSystem_itemActor[i]) == 0xff) {
+
+ if ((u8)fopAcM_GetParam(dShopSystem_itemActor[i]) == 0xFF) {
onSoldOutItemFlag(i);
} else {
offSoldOutItemFlag(i);
@@ -2120,12 +1555,11 @@ int dShopSystem_c::searchItemActor() {
dShopSystem_cameraActor[1]->current.pos.set(215.0f, 225.0f, 370.0f);
}
- if (data_80451058 > 3) {
+ if (dShopSystem_sellItemMax > 3) {
mShopCamAction.setCamDataIdx2(
this, dShopSystem_itemActor[0], dShopSystem_itemActor[1], dShopSystem_itemActor[2],
- dShopSystem_itemActor[3], dShopSystem_itemActor[4], dShopSystem_itemActor[5], &dShopSystem_cameraActor[0]->current.pos,
- &dShopSystem_cameraActor[1]->current.pos
- );
+ dShopSystem_itemActor[3], dShopSystem_itemActor[4], dShopSystem_itemActor[5],
+ &dShopSystem_cameraActor[0]->current.pos, &dShopSystem_cameraActor[1]->current.pos);
if (field_0xf77 == 8) {
cXyz camCtrPos;
@@ -2135,38 +1569,38 @@ int dShopSystem_c::searchItemActor() {
for (int i = 0; i < 7; i++) {
if (dShopSystem_itemActor[i] != NULL) {
- u8 cVar8 = dShopSystem_itemActor[i]->orig.angle.GetZ();
- u8 cVar4 = ((u16)dShopSystem_itemActor[i]->orig.angle.GetZ()) >> 8;
- if (((cVar8 != 0xff) &&
- (dComIfGs_isSaveSwitch(cVar8) == 0)) &&
- ((cVar4 != 0xff &&
- (dComIfGs_isSaveSwitch(cVar4) == 0)))) {
+ u8 sw0 = dShopSystem_itemActor[i]->orig.angle.z;
+ u8 sw1 = ((u16)dShopSystem_itemActor[i]->orig.angle.z) >> 8;
+
+ if ((sw0 != 0xFF && !dComIfGs_isSaveSwitch(sw0)) &&
+ (sw1 != 0xFF && !dComIfGs_isSaveSwitch(sw1)))
+ {
onFlag(i);
onSoldOutItemFlag(i);
}
}
}
+
dShopSystem_item_count = -1;
} else {
mShopCamAction.setCamDataIdx(
this, dShopSystem_itemActor[0], dShopSystem_itemActor[1], dShopSystem_itemActor[2],
- &dShopSystem_cameraActor[0]->current.pos,
- &dShopSystem_cameraActor[1]->current.pos
- );
+ &dShopSystem_cameraActor[0]->current.pos, &dShopSystem_cameraActor[1]->current.pos);
for (int i = 0; i < 7; i++) {
if (dShopSystem_itemActor[i] != NULL) {
- u8 cVar8 = dShopSystem_itemActor[i]->orig.angle.GetZ();
- u8 cVar4 = ((u16)dShopSystem_itemActor[i]->orig.angle.GetZ()) >> 8;
- if (((cVar8 != 0xff) &&
- (dComIfGs_isSaveSwitch(cVar8) == 0)) &&
- ((cVar4 != 0xff &&
- (dComIfGs_isSaveSwitch(cVar4) == 0)))) {
+ u8 sw0 = dShopSystem_itemActor[i]->orig.angle.z;
+ u8 sw1 = ((u16)dShopSystem_itemActor[i]->orig.angle.z) >> 8;
+
+ if ((sw0 != 0xFF && !dComIfGs_isSaveSwitch(sw0)) &&
+ (sw1 != 0xFF && !dComIfGs_isSaveSwitch(sw1)))
+ {
onFlag(i);
onSoldOutItemFlag(i);
}
}
}
+
dShopSystem_item_count = -1;
}
}
@@ -2185,10 +1619,19 @@ int dShopSystem_c::getFlowNodeNum() {
return num;
}
+// fake, used to fix weak function order
+void dShopSystem_c::dummyWeakOrder() {
+ static const char* bck_str = ".bck";
+ static const char* btp_str = ".btp";
+ static const char* btk_str = ".btk";
+
+ getResName2(0);
+}
+
/* 8019AB1C-8019AB24 19545C 0008+00 0/0 0/0 8/8 .text setSellItemMax__13dShopSystem_cFUc
*/
-void dShopSystem_c::setSellItemMax(u8 max) {
- data_80451058 = max;
+void dShopSystem_c::setSellItemMax(u8 i_max) {
+ dShopSystem_sellItemMax = i_max;
}
/* 8019AB24-8019AB60 195464 003C+00 0/0 0/0 9/9 .text checkShopOpen__13dShopSystem_cFv */
@@ -2204,14 +1647,14 @@ bool dShopSystem_c::checkShopOpen() {
/* 8019AB60-8019AB84 1954A0 0024+00 3/3 0/0 0/0 .text
* checkLeftTrigger__13dShopSystem_cFP9STControl */
-bool dShopSystem_c::checkLeftTrigger(STControl* stick) {
- return stick->checkLeftTrigger();
+bool dShopSystem_c::checkLeftTrigger(STControl* i_stick) {
+ return i_stick->checkLeftTrigger();
}
/* 8019AB84-8019ABA8 1954C4 0024+00 3/3 0/0 0/0 .text
* checkRightTrigger__13dShopSystem_cFP9STControl */
-bool dShopSystem_c::checkRightTrigger(STControl* stick) {
- return stick->checkRightTrigger();
+bool dShopSystem_c::checkRightTrigger(STControl* i_stick) {
+ return i_stick->checkRightTrigger();
}
/* 8019ABA8-8019ABB0 1954E8 0008+00 1/1 0/0 0/0 .text dpdMove__13dShopSystem_cFv */
@@ -2219,57 +1662,4 @@ bool dShopSystem_c::dpdMove() {
return false;
}
-/* 8019ABB0-8019ACE0 1954F0 0130+00 0/0 1/0 0/0 .text __sinit_d_shop_system_cpp */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void __sinit_d_shop_system_cpp() {
- nofralloc
-#include "asm/d/shop/d_shop_system/__sinit_d_shop_system_cpp.s"
-}
-#pragma pop
-
-#pragma push
-#pragma force_active on
-REGISTER_CTORS(0x8019ABB0, __sinit_d_shop_system_cpp);
-#pragma pop
-
-/* 8019ACE0-8019ACE8 195620 0008+00 1/0 0/0 0/0 .text
- * beforeStartSeqAction__13dShopSystem_cFP10dMsgFlow_ci */
-int dShopSystem_c::beforeStartSeqAction(dMsgFlow_c* param_0, int param_1) {
- return 1;
-}
-
-/* 8019ACE8-8019ACF0 195628 0008+00 1/0 0/0 0/0 .text
- * beforeSelectSeqAction__13dShopSystem_cFP10dMsgFlow_ci */
-int dShopSystem_c::beforeSelectSeqAction(dMsgFlow_c* param_0, int param_1) {
- return 1;
-}
-
-/* 8019ACF0-8019ACF8 195630 0008+00 1/0 0/0 0/0 .text getResName2__13dShopSystem_cFi */
-bool dShopSystem_c::getResName2(int param_0) {
- return false;
-}
-
-/* ############################################################################################## */
-/* 80394C17-80394C1C 021277 0005+00 0/0 0/0 0/0 .rodata None */
-#pragma push
-#pragma force_active on
-SECTION_DEAD static char const* const stringBase_80394C17 = ".bck";
-#pragma pop
-
-/* 80394C1C-80394C21 02127C 0005+00 0/0 0/0 0/0 .rodata None */
-#pragma push
-#pragma force_active on
-SECTION_DEAD static char const* const stringBase_80394C1C = ".btp";
-#pragma pop
-
-/* 80394C21-80394C28 021281 0005+02 0/0 0/0 0/0 .rodata None */
-#pragma push
-#pragma force_active on
-SECTION_DEAD static char const* const stringBase_80394C21 = ".btk";
-/* @stringBase0 padding */
-SECTION_DEAD static char const* const pad_80394C26 = "\0";
-#pragma pop
-
-/* 80394C10-80394C10 021270 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
+#pragma nosyminline on
diff --git a/src/f_op/f_op_actor_mng.cpp b/src/f_op/f_op_actor_mng.cpp
index 3c8ee5881a..24858228be 100644
--- a/src/f_op/f_op_actor_mng.cpp
+++ b/src/f_op/f_op_actor_mng.cpp
@@ -9,6 +9,7 @@
#include "SSystem/SComponent/c_malloc.h"
#include "SSystem/SComponent/c_math.h"
#include "d/a/d_a_player.h"
+#include "d/d_item.h"
#include "d/d_path.h"
#include "d/d_procname.h"
#include "dol2asm.h"
@@ -21,6 +22,9 @@
#include "m_Do/m_Do_mtx.h"
#include "rel/d/a/tag/d_a_tag_stream/d_a_tag_stream.h"
+#define MAKE_ITEM_PARAMS(itemNo, itemBitNo, param_2, param_3) \
+ ((itemNo & 0xFF) << 0 | (itemBitNo & 0xFF) << 0x8 | param_2 << 0x10 | (param_3 & 0xF) << 0x18)
+
//
// Types:
//
@@ -29,11 +33,6 @@ struct l_HIO {
/* 8001E098 */ ~l_HIO();
};
-class dEnemyItem_c {
-public:
- static u8* mData;
-};
-
//
// Forward References:
//
@@ -156,9 +155,9 @@ extern "C" static void func_8001E104();
extern "C" static void func_8001E10C();
extern "C" static void func_8001E114();
extern "C" void onFrollCrashFlg__9daPy_py_cFUci();
-extern "C" bool checkWolfDash__9daPy_py_cCFv();
-extern "C" bool checkFrontRoll__9daPy_py_cCFv();
-extern "C" bool checkHorseRide__9daPy_py_cCFv();
+extern "C" int checkWolfDash__9daPy_py_cCFv();
+extern "C" int checkFrontRoll__9daPy_py_cCFv();
+extern "C" u32 checkHorseRide__9daPy_py_cCFv();
extern "C" s32 getGrabActorID__9daPy_py_cCFv();
extern "C" extern char const* const f_op_f_op_actor_mng__stringBase0;
extern "C" u8 mLineCheck__11fopAcM_lc_c[112];
@@ -171,7 +170,7 @@ extern "C" f32 mWaterY__11fopAcM_wt_c[1 + 1 /* padding */];
// TODO: move
-u32 check_itemno(int param1);
+u8 check_itemno(int param1);
BOOL isHeart(u8);
//
@@ -807,7 +806,7 @@ s16 fopAcM_searchActorAngleX(const fopAc_ac_c* i_actorA, const fopAc_ac_c* i_act
#else
#pragma push
#pragma optimization_level 0
-#pragma optimizewithasm off
+#pragma optimizewithasm off
asm s16 fopAcM_searchActorAngleX(const fopAc_ac_c* p_actorA, const fopAc_ac_c* p_actorB) {
nofralloc
#include "asm/f_op/f_op_actor_mng/fopAcM_searchActorAngleX__FPC10fopAc_ac_cPC10fopAc_ac_c.s"
@@ -1067,11 +1066,13 @@ s32 fopAcM_cullingCheck(fopAc_ac_c const* i_actor) {
if (fopAcM_GetCullSize(i_actor) == 14) {
if (fopAcM_getCullSizeFar(i_actor) > 0.0f) {
mDoLib_clipper::changeFar(cullsize_far * mDoLib_clipper::getFar());
- u32 ret = mDoLib_clipper::clip(mtx_p, &i_actor->mCull.mBox.mMax, &i_actor->mCull.mBox.mMin);
+ u32 ret = mDoLib_clipper::clip(mtx_p, &i_actor->mCull.mBox.mMax,
+ &i_actor->mCull.mBox.mMin);
mDoLib_clipper::resetFar();
return ret;
} else {
- return mDoLib_clipper::clip(mtx_p, &i_actor->mCull.mBox.mMax, &i_actor->mCull.mBox.mMin);
+ return mDoLib_clipper::clip(mtx_p, &i_actor->mCull.mBox.mMax,
+ &i_actor->mCull.mBox.mMin);
}
} else {
cull_box* box = &l_cullSizeBox[cullsize];
@@ -1096,7 +1097,7 @@ s32 fopAcM_cullingCheck(fopAc_ac_c const* i_actor) {
center.x = center_p->x;
center.y = center_p->y;
center.z = center_p->z;
-
+
u32 ret = mDoLib_clipper::clip(mtx_p, center, radius);
mDoLib_clipper::resetFar();
return ret;
@@ -1668,20 +1669,11 @@ void* fopAcM_createItemForSimpleDemo(const cXyz* i_pos, int i_itemNo, int i_room
0x4, NULL);
}
-inline u32 maskShift(int val, int bits, int shift) {
- return (val & ((1 << bits) - 1)) << shift;
-}
-
-inline u32 makeItemParams(u32 iNo, u32 p8, u32 unk, u32 p9) {
- return maskShift(p8, 8, 0x8) | maskShift(iNo, 8, 0) | maskShift(unk, 8, 0x10) |
- maskShift(p9, 4, 0x18);
-}
-
/* 8001C240-8001C3E0 016B80 01A0+00 1/1 1/1 17/17 .text
* fopAcM_createItem__FPC4cXyziiiPC5csXyzPC4cXyzi */
-s32 fopAcM_createItem(const cXyz* i_pos, int itemNo, int param_3, int i_roomNo,
+s32 fopAcM_createItem(const cXyz* i_pos, int i_itemNo, int i_itemBitNo, int i_roomNo,
const csXyz* i_angle, const cXyz* i_scale, int param_7) {
- if (itemNo == NO_ITEM) {
+ if (i_itemNo == NO_ITEM) {
return -1;
}
@@ -1689,67 +1681,66 @@ s32 fopAcM_createItem(const cXyz* i_pos, int itemNo, int param_3, int i_roomNo,
if (i_angle != NULL) {
item_angle = *i_angle;
} else {
- item_angle.y = cM_rndFX(32767.0f);
+ item_angle.y = cM_rndFX(0x7FFF);
}
item_angle.z = 0xFF;
- u32 itemActorParams = makeItemParams(check_itemno(itemNo), param_3, 0xFF, param_7);
+ u8 item_no = check_itemno(i_itemNo);
+ u32 params = MAKE_ITEM_PARAMS(item_no, i_itemBitNo, 0xFF, param_7);
- switch (itemNo) {
+ switch (i_itemNo) {
case RECOVERY_FAILY:
return fopAcM_create(PROC_Obj_Yousei, 0xFFFFFFFF, i_pos, i_roomNo, i_angle, i_scale, -1);
case KAKERA_HEART:
case UTAWA_HEART:
- return fopAcM_create(PROC_Obj_LifeContainer, itemActorParams, i_pos, i_roomNo, i_angle,
- i_scale, -1);
+ return fopAcM_create(PROC_Obj_LifeContainer, params, i_pos, i_roomNo, i_angle, i_scale, -1);
case TRIPLE_HEART:
for (int i = 0; i < 2; i++) {
- fopAcM_create(PROC_ITEM, itemActorParams, i_pos, i_roomNo, &item_angle, i_scale, -1);
+ fopAcM_create(PROC_ITEM, params, i_pos, i_roomNo, &item_angle, i_scale, -1);
item_angle.y = cM_rndFX(32767.0f);
}
default:
- return fopAcM_create(PROC_ITEM, itemActorParams, i_pos, i_roomNo, &item_angle, i_scale, -1);
+ return fopAcM_create(PROC_ITEM, params, i_pos, i_roomNo, &item_angle, i_scale, -1);
}
}
/* 8001C3E0-8001C5B0 016D20 01D0+00 1/1 0/0 0/0 .text
* fopAcM_fastCreateItem2__FPC4cXyziiiiPC5csXyzPC4cXyz */
-void* fopAcM_fastCreateItem2(const cXyz* i_pos, int itemNo, int param_3, int i_roomNo, int param_5,
- const csXyz* i_angle, const cXyz* i_scale) {
+void* fopAcM_fastCreateItem2(const cXyz* i_pos, int i_itemNo, int i_itemBitNo, int i_roomNo,
+ int param_5, const csXyz* i_angle, const cXyz* i_scale) {
csXyz item_angle(csXyz::Zero);
- if (itemNo == NO_ITEM) {
+ if (i_itemNo == NO_ITEM) {
return NULL;
}
if (i_angle != NULL) {
item_angle = *i_angle;
} else {
- item_angle.y = cM_rndFX(32767.0f);
+ item_angle.y = cM_rndFX(0x7FFF);
}
item_angle.z = 0xFF;
- int tmpItemNo = check_itemno(itemNo);
- u32 itemActorParams =
- (param_3 & 0xFF) << 0x8 | (tmpItemNo & 0xFF) | 0xFF << 0x10 | ((param_5 & 0xF) << 0x18);
+ u8 item_no = check_itemno(i_itemNo);
+ u32 params = MAKE_ITEM_PARAMS(item_no, i_itemBitNo, 0xFF, param_5);
- switch (itemNo) {
+ switch (i_itemNo) {
case RECOVERY_FAILY:
return fopAcM_fastCreate(PROC_Obj_Yousei, 0xFFFFFFFF, i_pos, i_roomNo, i_angle, i_scale, -1,
NULL, NULL);
case KAKERA_HEART:
case UTAWA_HEART:
- return fopAcM_fastCreate(PROC_Obj_LifeContainer, itemActorParams, i_pos, i_roomNo, i_angle,
- i_scale, -1, NULL, NULL);
+ return fopAcM_fastCreate(PROC_Obj_LifeContainer, params, i_pos, i_roomNo, i_angle, i_scale,
+ -1, NULL, NULL);
case TRIPLE_HEART:
for (int i = 0; i < 2; i++) {
- fopAcM_fastCreate(PROC_ITEM, itemActorParams, i_pos, i_roomNo, &item_angle, i_scale, -1,
- NULL, NULL);
- item_angle.y = cM_rndFX(32767.0f);
+ fopAcM_fastCreate(PROC_ITEM, params, i_pos, i_roomNo, &item_angle, i_scale, -1, NULL,
+ NULL);
+ item_angle.y = cM_rndFX(0x7FFF);
}
default:
- return fopAcM_fastCreate(PROC_ITEM, itemActorParams, i_pos, i_roomNo, &item_angle, i_scale,
- -1, NULL, NULL);
+ return fopAcM_fastCreate(PROC_ITEM, params, i_pos, i_roomNo, &item_angle, i_scale, -1, NULL,
+ NULL);
}
}
@@ -1763,60 +1754,54 @@ SECTION_SDATA2 static f32 lit_5809 = 8192.0f;
/* 80451C38-80451C3C 000238 0004+00 4/4 0/0 0/0 .sdata2 @5810 */
SECTION_SDATA2 static f32 lit_5810 = 1.0f;
-/* 80451C3C-80451C40 00023C 0004+00 1/1 0/0 0/0 .sdata2 @5811 */
-SECTION_SDATA2 static f32 lit_5811 = 3.0f / 10.0f;
-
-/* 80451C40-80451C44 000240 0004+00 1/1 0/0 0/0 .sdata2 @5812 */
-SECTION_SDATA2 static f32 lit_5812 = 1.0f / 5.0f;
-
/* 8001C5B0-8001C870 016EF0 02C0+00 3/3 0/0 4/4 .text
* fopAcM_fastCreateItem__FPC4cXyziiPC5csXyzPC4cXyzPfPfiiPFPv_i */
-// issue with makeItemParams
-#ifdef NONMATCHING
void* fopAcM_fastCreateItem(const cXyz* i_pos, int i_itemNo, int i_roomNo, const csXyz* i_angle,
- const cXyz* i_scale, f32* p_speedF, f32* p_speedY, int param_8,
+ const cXyz* i_scale, f32* p_speedF, f32* p_speedY, int i_itemBitNo,
int param_9, createFunc i_createFunc) {
- csXyz angle;
-
if (i_itemNo == NO_ITEM) {
return NULL;
}
- u32 itemActorParams = makeItemParams(check_itemno(i_itemNo), param_8, 0xFF, param_9);
+ int i;
+
+ u8 item_no = check_itemno(i_itemNo);
+ u8 item_bit_no = i_itemBitNo;
+ u32 params = MAKE_ITEM_PARAMS(item_no, item_bit_no, 0xFF, param_9);
if (p_speedF != NULL && isHeart(i_itemNo)) {
- *p_speedF = *p_speedF * 2.0f;
+ *p_speedF = lit_5808 * *p_speedF;
}
+ csXyz angle;
switch (i_itemNo) {
case RECOVERY_FAILY:
return fopAcM_fastCreate(PROC_Obj_Yousei, 0xFFFFFFFF, i_pos, i_roomNo, i_angle, i_scale, -1,
NULL, NULL);
case KAKERA_HEART:
case UTAWA_HEART:
- return fopAcM_fastCreate(PROC_Obj_LifeContainer, itemActorParams, i_pos, i_roomNo, i_angle,
- i_scale, -1, NULL, NULL);
+ return fopAcM_fastCreate(PROC_Obj_LifeContainer, params, i_pos, i_roomNo, i_angle, i_scale,
+ -1, NULL, NULL);
case TRIPLE_HEART:
- for (int i = 0; i < 2; i++) {
+ for (i = 0; i < 2; i++) {
if (i_angle != NULL) {
angle = *i_angle;
} else {
angle = csXyz::Zero;
}
angle.z = 0xFF;
- angle.y += (s16)cM_rndFX(8192.0f);
+ angle.y += (s16)cM_rndFX(lit_5809);
- fopAc_ac_c* actor =
- (fopAc_ac_c*)fopAcM_fastCreate(PROC_ITEM, itemActorParams, i_pos, i_roomNo, &angle,
- i_scale, -1, i_createFunc, NULL);
+ fopAc_ac_c* actor = (fopAc_ac_c*)fopAcM_fastCreate(
+ PROC_ITEM, params, i_pos, i_roomNo, &angle, i_scale, -1, i_createFunc, NULL);
if (actor != NULL) {
if (p_speedF != NULL) {
- actor->speedF = *p_speedF * (1.0f + cM_rndFX(0.3f));
+ actor->speedF = *p_speedF * (lit_5810 + cM_rndFX(0.3f));
}
if (p_speedY != NULL) {
- actor->speed.y = *p_speedY * (1.0f + cM_rndFX(0.2f));
+ actor->speed.y = *p_speedY * (lit_5810 + cM_rndFX(0.2f));
}
}
}
@@ -1828,8 +1813,8 @@ void* fopAcM_fastCreateItem(const cXyz* i_pos, int i_itemNo, int i_roomNo, const
}
angle.z = 0xFF;
- fopAc_ac_c* actor = (fopAc_ac_c*)fopAcM_fastCreate(
- PROC_ITEM, itemActorParams, i_pos, i_roomNo, &angle, i_scale, -1, i_createFunc, NULL);
+ fopAc_ac_c* actor = (fopAc_ac_c*)fopAcM_fastCreate(PROC_ITEM, params, i_pos, i_roomNo,
+ &angle, i_scale, -1, i_createFunc, NULL);
if (actor != NULL) {
if (p_speedF != NULL) {
@@ -1844,18 +1829,6 @@ void* fopAcM_fastCreateItem(const cXyz* i_pos, int i_itemNo, int i_roomNo, const
return actor;
}
}
-#else
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void* fopAcM_fastCreateItem(const cXyz* i_pos, int i_itemNo, int i_roomNo, const csXyz* i_angle,
- const cXyz* i_scale, f32* p_speedF, f32* p_speedY, int param_8,
- int param_9, createFunc i_createFunc) {
- nofralloc
-#include "asm/f_op/f_op_actor_mng/fopAcM_fastCreateItem__FPC4cXyziiPC5csXyzPC4cXyzPfPfiiPFPv_i.s"
-}
-#pragma pop
-#endif
/* 8001C870-8001C95C 0171B0 00EC+00 0/0 0/0 1/1 .text fopAcM_createBokkuri__FUsPC4cXyziiiPC4cXyzii
*/
@@ -1910,7 +1883,7 @@ fopAc_ac_c* fopAcM_myRoomSearchEnemy(s8 i_roomNo) {
return actor;
}
- return (fopAc_ac_c*) fpcM_JudgeInLayer(fpcM_LayerID(roomProc), enemySearchJugge, NULL);
+ return (fopAc_ac_c*)fpcM_JudgeInLayer(fpcM_LayerID(roomProc), enemySearchJugge, NULL);
}
/* 8001CAD8-8001CB48 017418 0070+00 0/0 0/0 81/81 .text
@@ -2104,7 +2077,7 @@ f32 fopAcM_gc_c::mGroundY;
/* 8001D020-8001D10C 017960 00EC+00 0/0 0/0 96/96 .text
* fopAcM_effSmokeSet1__FPUlPUlPC4cXyzPC5csXyzfPC12dKy_tevstr_ci */
void fopAcM_effSmokeSet1(u32* param_0, u32* param_1, cXyz const* param_2, csXyz const* param_3,
- f32 param_4, dKy_tevstr_c const* param_5, int param_6) {
+ f32 param_4, dKy_tevstr_c const* param_5, int param_6) {
cXyz p2;
float z = param_2->z;
float y = FLOAT_LABEL(lit_6035) + param_2->y;
@@ -2117,7 +2090,9 @@ void fopAcM_effSmokeSet1(u32* param_0, u32* param_1, cXyz const* param_2, csXyz
stack_18.x = param_4;
stack_18.y = param_4;
stack_18.z = param_4;
- *param_0 = dComIfGp_particle_setSimpleFoot(*param_0, param_1, *fopAcM_gc_c::getGroundCheck(), &p2, param_5, param_6, param_3, &stack_18, NULL, 0xff, NULL);
+ *param_0 =
+ dComIfGp_particle_setSimpleFoot(*param_0, param_1, *fopAcM_gc_c::getGroundCheck(), &p2,
+ param_5, param_6, param_3, &stack_18, NULL, 0xff, NULL);
}
}
@@ -2421,9 +2396,9 @@ s32 fopAcM_getWaterStream(cXyz const* param_0, cBgS_PolyInfo const& param_1, cXy
daTagStream_c* stream = daTagStream_c::getTop();
if (stream != NULL) {
for (stream = daTagStream_c::getTop(); stream != NULL; stream = stream->getNext()) {
- if (stream->checkStreamOn() &&
- (param_4 == 0 || stream->checkCanoeOn()) &&
- stream->checkArea(param_0)) {
+ if (stream->checkStreamOn() && (param_4 == 0 || stream->checkCanoeOn()) &&
+ stream->checkArea(param_0))
+ {
*speed = stream->speed;
*param_3 = stream->getPower() & 0xff;
return 1;
@@ -2521,8 +2496,7 @@ asm s16 fopAcM_getPolygonAngle(cM3dGPla const* param_0, s16 param_1) {
/* 8001DC68-8001DCBC 0185A8 0054+00 0/0 5/5 21/21 .text
* lineCheck__11fopAcM_lc_cFPC4cXyzPC4cXyzPC10fopAc_ac_c */
-bool fopAcM_lc_c::lineCheck(cXyz const* param_0, cXyz const* param_1,
- fopAc_ac_c const* param_2) {
+bool fopAcM_lc_c::lineCheck(cXyz const* param_0, cXyz const* param_1, fopAc_ac_c const* param_2) {
((dBgS_LinChk*)mLineCheck)->Set(param_0, param_1, param_2);
dComIfG_Bgsp().LineCross((cBgS_LinChk*)mLineCheck);
}
@@ -2783,27 +2757,32 @@ static asm void func_8001E114() {
#pragma pop
/* 8001E11C-8001E120 018A5C 0004+00 0/0 1/0 0/0 .text onFrollCrashFlg__9daPy_py_cFUci */
-void daPy_py_c::onFrollCrashFlg(u8 param_0, int param_1) {
+// void daPy_py_c::onFrollCrashFlg(u8 param_0, int param_1) {
+extern "C" void onFrollCrashFlg__9daPy_py_cFUci() {
/* empty function */
}
/* 8001E120-8001E128 018A60 0008+00 0/0 1/0 0/0 .text checkWolfDash__9daPy_py_cCFv */
-int daPy_py_c::checkWolfDash() const {
+// int daPy_py_c::checkWolfDash() const {
+extern "C" int checkWolfDash__9daPy_py_cCFv() {
return false;
}
/* 8001E128-8001E130 018A68 0008+00 0/0 1/0 0/0 .text checkFrontRoll__9daPy_py_cCFv */
-int daPy_py_c::checkFrontRoll() const {
+// int daPy_py_c::checkFrontRoll() const {
+extern "C" int checkFrontRoll__9daPy_py_cCFv() {
return false;
}
/* 8001E130-8001E138 018A70 0008+00 0/0 1/0 0/0 .text checkHorseRide__9daPy_py_cCFv */
-u32 daPy_py_c::checkHorseRide() const {
+// u32 daPy_py_c::checkHorseRide() const {
+extern "C" u32 checkHorseRide__9daPy_py_cCFv() {
return false;
}
/* 8001E138-8001E140 018A78 0008+00 0/0 1/0 0/0 .text getGrabActorID__9daPy_py_cCFv */
-s32 daPy_py_c::getGrabActorID() const {
+// s32 daPy_py_c::getGrabActorID() const {
+extern "C" s32 getGrabActorID__9daPy_py_cCFv() {
return -1;
}
diff --git a/src/m_Do/m_Do_graphic.cpp b/src/m_Do/m_Do_graphic.cpp
index 734761deac..dca7473dc1 100644
--- a/src/m_Do/m_Do_graphic.cpp
+++ b/src/m_Do/m_Do_graphic.cpp
@@ -4,10 +4,10 @@
*/
#include "m_Do/m_Do_graphic.h"
+#include "JSystem/J2DGraph/J2DPrint.h"
#include "JSystem/JUtility/JUTDbPrint.h"
#include "JSystem/JUtility/JUTProcBar.h"
#include "JSystem/JUtility/JUTTexture.h"
-#include "JSystem/J2DGraph/J2DPrint.h"
#include "d/a/d_a_player.h"
#include "d/com/d_com_inf_game.h"
#include "d/menu/d_menu_collect.h"
@@ -17,8 +17,8 @@
#include "global.h"
#include "m_Do/m_Do_controller_pad.h"
#include "m_Do/m_Do_machine.h"
-#include "m_Do/m_Do_mtx.h"
#include "m_Do/m_Do_main.h"
+#include "m_Do/m_Do_mtx.h"
//
// Types:
@@ -159,7 +159,7 @@ static ResTIMG* createTimg(u16 width, u16 height, u32 format) {
ResTIMG* timg;
void* alloc_res = JKRHeap::alloc(bufferSize, 0x20, NULL);
- timg = (ResTIMG*) alloc_res;
+ timg = (ResTIMG*)alloc_res;
if (timg == NULL) {
return NULL;
@@ -594,186 +594,216 @@ SECTION_SDATA2 static f32 lit_4442 = -0.0025f;
// regalloc
#ifdef NONMATCHING
static void drawDepth2(view_class* param_0, view_port_class* param_1, int param_2) {
- if (dComIfGp_getLinkPlayer() == NULL) {
- return;
- }
+ s16 x_orig;
+ s16 y_orig;
+ s16 y_orig_pos;
+ s16 width;
+ s16 height;
+ void* zBufferTex;
+ void* frameBufferTex;
+
+ u16 halfWidth;
+ u16 halfHeight;
+
+ f32* temp_r20;
+
+ if (daPy_getLinkPlayerActorClass() != NULL) {
+ if (mDoGph_gInf_c::isAutoForcus()) {
+ f32 sp4C[7];
+ f32 sp34[6];
+ f32 sp1C;
+ f32 sp18;
+ f32 sp14;
+ GXGetProjectionv(sp4C);
+ GXGetViewportv(sp34);
+ GXProject(param_0->mLookat.mCenter.x, param_0->mLookat.mCenter.y,
+ param_0->mLookat.mCenter.z, param_0->mViewMtx, sp4C, sp34, &sp1C, &sp18,
+ &sp14);
+ }
- if ((s32)data_80450BE7 != 0) {
- f32 auStack_d8[7];
- f32 auStack_f0[6];
- f32 auStack_110;
- f32 auStack_114;
- f32 local_118;
- GXGetProjectionv(auStack_d8);
- GXGetViewportv(auStack_f0);
- GXProject(param_0->mLookat.mCenter.x, param_0->mLookat.mCenter.y,
- param_0->mLookat.mCenter.z, (MtxP)param_0->mViewMtx, (f32*)auStack_d8, (f32*)auStack_f0,
- &auStack_110, &auStack_114, &local_118);
- }
+ fopAc_ac_c* player_p = dComIfGp_getPlayer(0);
+ camera_class* camera_p = (camera_class*)dComIfGp_getCamera(0);
+ f32 var_f30 = -255.0f;
+
+ if (dCam_getBody()->Mode() != 4 && dCam_getBody()->Mode() != 7) {
+ camera_class* temp_r4 = dComIfGp_getCamera(i_dComIfGp_getPlayerCameraID(0));
+ dAttention_c& local_12c = dComIfGp_getAttention();
+
+ f32 temp_f31 = 60.0f / (temp_r4 ? fopCamM_GetFovy(temp_r4) : 48.0f);
+ if (local_12c.LockonTruth()) {
+ fopAc_ac_c* atn_actor =
+ fopAcM_SearchByID(daPy_getLinkPlayerActorClass()->getAtnActorID());
- camera_class* local_120 = dComIfGp_getCamera(0);
- f32 f30 = -255.0f;
- if (dCam_getBody()->mNextMode != 4 && dCam_getBody()->mNextMode != 7) {
- camera_class* local_128 = dComIfGp_getCamera(i_dComIfGp_getPlayerCameraID(0));
- dAttention_c& local_12c = dComIfGp_getAttention();
- f32 f31 = 60.0f / (local_128 ? fopCamM_GetFovy(local_128) : 48.0f);
- if (local_12c.LockonTruth()) {
- fopAc_ac_c* local_130 = fopAcM_SearchByID(daPy_getLinkPlayerActorClass()->getAtnActorID());
- if (local_130 != NULL) {
- cXyz cStack_100 = local_130->mEyePos;
- if (fabsf(cStack_100.y - local_120->mLookat.mEye.y) < 400.0f) {
- cStack_100.y = local_120->mLookat.mEye.y;
+ if (atn_actor != NULL) {
+ cXyz sp28 = atn_actor->mEyePos;
+ if (fabsf(sp28.y - camera_p->mLookat.mEye.y) < 400.0f) {
+ sp28.y = camera_p->mLookat.mEye.y;
+ }
+
+ f32 var_f2 =
+ (atn_actor->current.pos.abs(camera_p->mLookat.mEye)) / (280.0f * temp_f31);
+ var_f2 -= 0.8f;
+ if (var_f2 < 0.0f) {
+ var_f2 = 0.0f;
+ } else if (var_f2 > 1.0f) {
+ var_f2 = 1.0f;
+ }
+ var_f30 = -180.0f - 75.0f * var_f2;
}
- f32 fVar2 = (local_130->current.pos.abs(local_120->mLookat.mEye)) / (280.0f * f31);
- fVar2 -= 0.8f;
- if (fVar2 < 0.0f) {
- fVar2 = 0.0f;
- } else if (fVar2 > 1.0f) {
- fVar2 = 1.0f;
+ } else if (g_dComIfG_gameInfo.play.getEvent().runCheck() && temp_f31 < 3.0f &&
+ g_env_light.field_0x126c < 999999.0f)
+ {
+ f32 var_f2 = g_env_light.field_0x126c / (80.0f * temp_f31);
+ var_f2 -= 0.8f;
+ if (var_f2 < 0.0f) {
+ var_f2 = 0.0f;
+ } else if (var_f2 > 1.0f) {
+ var_f2 = 1.0f;
}
- f30 = -180.0f - 75.0f * fVar2;
+ var_f30 = -180.0f - 75.0f * var_f2;
}
- } else {
- if (g_dComIfG_gameInfo.play.getEvent().runCheck() && f31 < 3.0f && g_env_light.field_0x126c < 999999.0f) {
- f32 fVar2 = g_env_light.field_0x126c / (80.0f * f31);
- fVar2 -= 0.8f;
- if (fVar2 < 0.0f) {
- fVar2 = 0.0f;
- } else if (fVar2 > 1.0f) {
- fVar2 = 1.0f;
- }
- f30 = -180.0f - 75.0f * fVar2;
+ }
+
+ temp_r20 = &g_env_light.field_0x1264;
+ cLib_addCalc(temp_r20, var_f30, 0.1f, 100.0f, 0.0001f);
+ l_tevColor0.a = *temp_r20;
+ if (l_tevColor0.a <= -254) {
+ l_tevColor0.a = -255;
+ }
+
+ x_orig = (int)param_1->mXOrig & ~7;
+ y_orig = (int)param_1->mYOrig & ~7;
+ y_orig_pos = y_orig < 0 ? 0 : y_orig;
+ width = (int)param_1->mWidth & ~7;
+ height = (int)param_1->mHeight & ~7;
+ zBufferTex = mDoGph_gInf_c::mZbufferTex;
+ frameBufferTex = mDoGph_gInf_c::mFrameBufferTex;
+
+ if (y_orig < 0) {
+ height += y_orig;
+ s16 tmp_y_orig = -y_orig >> 1;
+ zBufferTex =
+ (char*)zBufferTex + GXGetTexBufferSize(304, tmp_y_orig, GX_TF_IA8, GX_FALSE, 0);
+ frameBufferTex =
+ (char*)frameBufferTex +
+ GXGetTexBufferSize(304, tmp_y_orig, mDoGph_gInf_c::getFrameBufferTimg()->format,
+ GX_FALSE, 0);
+ }
+
+ halfWidth = width >> 1;
+ halfHeight = height >> 1;
+ GXSetCopyFilter(GX_FALSE, NULL, GX_TRUE, JUTGetVideoManager()->getRenderMode()->vfilter);
+ GXSetTexCopySrc(x_orig, y_orig_pos, width, height);
+ GXSetTexCopyDst(halfWidth, halfHeight, GX_TF_Z16, GX_TRUE);
+ GXCopyTex(zBufferTex, GX_FALSE);
+ GXSetTexCopySrc(x_orig, y_orig_pos, width, height);
+ GXSetTexCopyDst(halfWidth, halfHeight,
+ (GXTexFmt)mDoGph_gInf_c::getFrameBufferTimg()->format, GX_TRUE);
+ GXCopyTex(frameBufferTex, GX_FALSE);
+ GXInitTexObj(mDoGph_gInf_c::getZbufferTexObj(), zBufferTex, halfWidth, halfHeight,
+ GX_TF_IA8, GX_CLAMP, GX_CLAMP, GX_FALSE);
+ GXInitTexObjLOD(mDoGph_gInf_c::getZbufferTexObj(), GX_NEAR, GX_NEAR, 0.0f, 0.0f, 0.0f,
+ GX_FALSE, GX_FALSE, GX_ANISO_1);
+ GXInitTexObj(mDoGph_gInf_c::getFrameBufferTexObj(), frameBufferTex, halfWidth, halfHeight,
+ (GXTexFmt)mDoGph_gInf_c::getFrameBufferTimg()->format, GX_CLAMP, GX_CLAMP,
+ GX_FALSE);
+ GXInitTexObjLOD(mDoGph_gInf_c::getFrameBufferTexObj(), GX_LINEAR, GX_LINEAR, 0.0f, 0.0f,
+ 0.0f, GX_FALSE, GX_FALSE, GX_ANISO_1);
+ GXPixModeSync();
+ GXInvalidateTexAll();
+ GXLoadTexObj(mDoGph_gInf_c::getFrameBufferTexObj(), GX_TEXMAP1);
+ GXLoadTexObj(mDoGph_gInf_c::getZbufferTexObj(), GX_TEXMAP0);
+
+ if (0.0f != g_env_light.mDemoAttentionPoint) {
+ if (g_env_light.mDemoAttentionPoint >= 0.0f) {
+ l_tevColor0.a = -254.0f + 509.0f * g_env_light.mDemoAttentionPoint;
+ } else {
+ l_tevColor0.a = -254.0f + 509.0f * (1.0f + g_env_light.mDemoAttentionPoint);
}
}
- }
- cLib_addCalc(&g_env_light.field_0x1264, f30, 0.1f, 100.0f, 0.0001f);
- l_tevColor0.a = g_env_light.field_0x1264;
- if (l_tevColor0.a <= -254) {
- l_tevColor0.a = -255;
- }
+ GXSetTevColorS10(GX_TEVREG0, l_tevColor0);
+ GXSetTevSwapModeTable(GX_TEV_SWAP3, GX_CH_ALPHA, GX_CH_GREEN, GX_CH_BLUE, GX_CH_RED);
+ GXSetTevSwapMode(GX_TEVSTAGE0, GX_TEV_SWAP0, GX_TEV_SWAP3);
+ GXSetTevKAlphaSel(GX_TEVSTAGE0, GX_TEV_KASEL_1);
+ GXSetTevOrder(GX_TEVSTAGE0, GX_TEXCOORD0, GX_TEXMAP0, GX_COLOR_NULL);
+ GXSetTevColorIn(GX_TEVSTAGE0, GX_CC_ZERO, GX_CC_ZERO, GX_CC_ZERO, GX_CC_ZERO);
+ GXSetTevColorOp(GX_TEVSTAGE0, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, GX_TRUE, GX_TEVPREV);
+ GXSetTevAlphaIn(GX_TEVSTAGE0, GX_CA_KONST, GX_CA_TEXA, GX_CA_KONST, GX_CA_ZERO);
+ GXSetTevAlphaOp(GX_TEVSTAGE0, GX_TEV_COMP_A8_EQ, GX_TB_ZERO, GX_CS_SCALE_1, GX_TRUE,
+ GX_TEVPREV);
+
+ GXSetTevOrder(GX_TEVSTAGE1, GX_TEXCOORD0, GX_TEXMAP0, GX_COLOR_NULL);
+ GXSetTevColorIn(GX_TEVSTAGE1, GX_CC_ZERO, GX_CC_ZERO, GX_CC_ZERO, GX_CC_ZERO);
+ GXSetTevColorOp(GX_TEVSTAGE1, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, GX_TRUE, GX_TEVPREV);
+ GXSetTevAlphaIn(GX_TEVSTAGE1, GX_CA_ZERO, GX_CA_APREV, GX_CA_TEXA, GX_CA_A0);
+ GXSetTevAlphaOp(GX_TEVSTAGE1, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_4, GX_TRUE, GX_TEVPREV);
+
+ GXSetTevOrder(GX_TEVSTAGE2, GX_TEXCOORD1, GX_TEXMAP1, GX_COLOR_NULL);
+ GXSetTevColorIn(GX_TEVSTAGE2, GX_CC_ZERO, GX_CC_ZERO, GX_CC_ZERO, GX_CC_TEXC);
+ GXSetTevColorOp(GX_TEVSTAGE2, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, GX_TRUE, GX_TEVPREV);
+ GXSetTevAlphaIn(GX_TEVSTAGE2, GX_CA_ZERO, GX_CA_ZERO, GX_CA_ZERO, GX_CA_APREV);
+ GXSetTevAlphaOp(GX_TEVSTAGE2, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, GX_TRUE, GX_TEVPREV);
+
+ GXSetTevOrder(GX_TEVSTAGE3, GX_TEXCOORD2, GX_TEXMAP1, GX_COLOR_NULL);
+ GXSetTevColorIn(GX_TEVSTAGE3, GX_CC_CPREV, GX_CC_TEXC, GX_CC_HALF, GX_CC_ZERO);
+ GXSetTevColorOp(GX_TEVSTAGE3, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, GX_TRUE, GX_TEVPREV);
+ GXSetTevAlphaIn(GX_TEVSTAGE3, GX_CA_ZERO, GX_CA_ZERO, GX_CA_ZERO, GX_CA_APREV);
+ GXSetTevAlphaOp(GX_TEVSTAGE3, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, GX_TRUE, GX_TEVPREV);
+
+ GXSetZCompLoc(GX_TRUE);
+ GXSetZMode(GX_FALSE, GX_ALWAYS, GX_FALSE);
+ if (g_env_light.mDemoAttentionPoint >= 0.0f) {
+ GXSetBlendMode(GX_BM_BLEND, GX_BL_SRC_ALPHA, GX_BL_INV_SRC_ALPHA, GX_LO_CLEAR);
+ GXSetAlphaCompare(GX_GREATER, 0, GX_AOP_OR, GX_GREATER, 0);
+ } else {
+ GXSetBlendMode(GX_BM_BLEND, GX_BL_INV_SRC_ALPHA, GX_BL_SRC_ALPHA, GX_LO_CLEAR);
+ GXSetAlphaCompare(GX_LESS, 0xff, GX_AOP_OR, GX_LESS, 0xff);
+ }
- s16 x_orig = (int)param_1->mXOrig & ~7;
- s16 y_orig = (int)param_1->mYOrig & ~7;
- s16 y_orig_pos = y_orig < 0 ? 0 : y_orig;
- s16 width = (int)param_1->mWidth & ~7;
- s16 height = (int)param_1->mHeight & ~7;
- void* zBufferTex = mDoGph_gInf_c::mZbufferTex;
- void* frameBufferTex = mDoGph_gInf_c::mFrameBufferTex;
-
- if (y_orig < 0) {
- height += y_orig;
- s16 tmp_y_orig = -y_orig >> 1;
- zBufferTex = (char*)zBufferTex + GXGetTexBufferSize(304, tmp_y_orig,
- GX_TF_IA8,
- GX_FALSE, 0);
- frameBufferTex = (char*)frameBufferTex + GXGetTexBufferSize(304, tmp_y_orig,
- mDoGph_gInf_c::getFrameBufferTimg()->format,
- GX_FALSE, 0);
- }
- u16 halfWidth = width >> 1;
- u16 halfHeight = height >> 1;
- GXSetCopyFilter(GX_FALSE, NULL, GX_TRUE, JUTGetVideoManager()->getRenderMode()->vfilter);
- GXSetTexCopySrc(x_orig, y_orig_pos, width, height);
- GXSetTexCopyDst(halfWidth, halfHeight, GX_TF_Z16, GX_TRUE);
- GXCopyTex(zBufferTex, GX_FALSE);
- GXSetTexCopySrc(x_orig, y_orig_pos, width, height);
- GXSetTexCopyDst(halfWidth, halfHeight, mDoGph_gInf_c::getFrameBufferTimg()->format, GX_TRUE);
- GXCopyTex(frameBufferTex, GX_FALSE);
- GXInitTexObj(mDoGph_gInf_c::getZbufferTexObj(), zBufferTex, halfWidth, halfHeight, GX_TF_IA8, GX_CLAMP, GX_CLAMP, GX_FALSE);
- GXInitTexObjLOD(mDoGph_gInf_c::getZbufferTexObj(), GX_NEAR, GX_NEAR, 0.0f, 0.0f, 0.0f, GX_FALSE, GX_FALSE, GX_ANISO_1);
- GXInitTexObj(mDoGph_gInf_c::getFrameBufferTexObj(), frameBufferTex, halfWidth, halfHeight, (GXTexFmt)mDoGph_gInf_c::getFrameBufferTimg()->format, GX_CLAMP, GX_CLAMP, GX_FALSE);
- GXInitTexObjLOD(mDoGph_gInf_c::getFrameBufferTexObj(), GX_LINEAR, GX_LINEAR, 0.0f, 0.0f, 0.0f, GX_FALSE, GX_FALSE, GX_ANISO_1);
- GXPixModeSync();
- GXInvalidateTexAll();
- GXLoadTexObj(mDoGph_gInf_c::getFrameBufferTexObj(), GX_TEXMAP1);
- GXLoadTexObj(mDoGph_gInf_c::getZbufferTexObj(), GX_TEXMAP0);
- if (0.0f != g_env_light.mDemoAttentionPoint) {
- if (g_env_light.mDemoAttentionPoint >= 0.0f) {
- l_tevColor0.a = -254.0f + 509.0f * g_env_light.mDemoAttentionPoint;
- } else {
- l_tevColor0.a = -254.0f + 509.0f * (1.0f + g_env_light.mDemoAttentionPoint);
- }
- }
- GXSetTevColorS10(GX_TEVREG0, l_tevColor0);
- GXSetTevSwapModeTable(GX_TEV_SWAP3, GX_CH_ALPHA, GX_CH_GREEN, GX_CH_BLUE, GX_CH_RED);
- GXSetTevSwapMode(GX_TEVSTAGE0, GX_TEV_SWAP0, GX_TEV_SWAP3);
- GXSetTevKAlphaSel(GX_TEVSTAGE0, GX_TEV_KASEL_1);
- GXSetTevOrder(GX_TEVSTAGE0, GX_TEXCOORD0, GX_TEXMAP0, GX_COLOR_NULL);
- GXSetTevColorIn(GX_TEVSTAGE0, GX_CC_ZERO, GX_CC_ZERO, GX_CC_ZERO, GX_CC_ZERO);
- GXSetTevColorOp(GX_TEVSTAGE0, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, GX_TRUE, GX_TEVPREV);
- GXSetTevAlphaIn(GX_TEVSTAGE0, GX_CA_KONST, GX_CA_TEXA, GX_CA_KONST, GX_CA_ZERO);
- GXSetTevAlphaOp(GX_TEVSTAGE0, GX_TEV_COMP_A8_EQ, GX_TB_ZERO, GX_CS_SCALE_1, GX_TRUE, GX_TEVPREV);
-
- GXSetTevOrder(GX_TEVSTAGE1, GX_TEXCOORD0, GX_TEXMAP0, GX_COLOR_NULL);
- GXSetTevColorIn(GX_TEVSTAGE1, GX_CC_ZERO, GX_CC_ZERO, GX_CC_ZERO, GX_CC_ZERO);
- GXSetTevColorOp(GX_TEVSTAGE1, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, GX_TRUE, GX_TEVPREV);
- GXSetTevAlphaIn(GX_TEVSTAGE1, GX_CA_ZERO, GX_CA_APREV, GX_CA_TEXA, GX_CA_A0);
- GXSetTevAlphaOp(GX_TEVSTAGE1, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_4, GX_TRUE, GX_TEVPREV);
-
- GXSetTevOrder(GX_TEVSTAGE2, GX_TEXCOORD1, GX_TEXMAP1, GX_COLOR_NULL);
- GXSetTevColorIn(GX_TEVSTAGE2, GX_CC_ZERO, GX_CC_ZERO, GX_CC_ZERO, GX_CC_TEXC);
- GXSetTevColorOp(GX_TEVSTAGE2, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, GX_TRUE, GX_TEVPREV);
- GXSetTevAlphaIn(GX_TEVSTAGE2, GX_CA_ZERO, GX_CA_ZERO, GX_CA_ZERO, GX_CA_APREV);
- GXSetTevAlphaOp(GX_TEVSTAGE2, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, GX_TRUE, GX_TEVPREV);
-
- GXSetTevOrder(GX_TEVSTAGE3, GX_TEXCOORD2, GX_TEXMAP1, GX_COLOR_NULL);
- GXSetTevColorIn(GX_TEVSTAGE3, GX_CC_CPREV, GX_CC_TEXC, GX_CC_HALF, GX_CC_ZERO);
- GXSetTevColorOp(GX_TEVSTAGE3, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, GX_TRUE, GX_TEVPREV);
- GXSetTevAlphaIn(GX_TEVSTAGE3, GX_CA_ZERO, GX_CA_ZERO, GX_CA_ZERO, GX_CA_APREV);
- GXSetTevAlphaOp(GX_TEVSTAGE3, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, GX_TRUE, GX_TEVPREV);
-
- GXSetZCompLoc(GX_TRUE);
- GXSetZMode(GX_FALSE, GX_ALWAYS, GX_FALSE);
- if (g_env_light.mDemoAttentionPoint >= 0.0f) {
- GXSetBlendMode(GX_BM_BLEND, GX_BL_SRC_ALPHA, GX_BL_INV_SRC_ALPHA, GX_LO_CLEAR);
- GXSetAlphaCompare(GX_GREATER, 0, GX_AOP_OR, GX_GREATER, 0);
- } else {
- GXSetBlendMode(GX_BM_BLEND, GX_BL_INV_SRC_ALPHA, GX_BL_SRC_ALPHA, GX_LO_CLEAR);
- GXSetAlphaCompare(GX_LESS, 0xff, GX_AOP_OR, GX_LESS, 0xff);
- }
+ GXSetFog(GX_FOG_NONE, 0.0f, 0.0f, 0.0f, 0.0f, g_clearColor);
+ GXSetCullMode(GX_CULL_NONE);
+ GXSetDither(GX_TRUE);
+ GXSetNumIndStages(0);
+ Mtx44 ortho;
+ C_MTXOrtho(ortho, param_1->mYOrig, param_1->mYOrig + param_1->mHeight, param_1->mXOrig,
+ param_1->mXOrig + param_1->mWidth, 0.0f, 10.0f);
+ GXLoadPosMtxImm(mDoMtx_getIdentity(), 0);
+ mDoMtx_stack_c::transS(0.0025f, 0.0025f, 0.0f);
+ GXLoadTexMtxImm(mDoMtx_stack_c::get(), 0x1e, GX_MTX2x4);
+ mDoMtx_stack_c::transS(-0.0025f, -0.0025f, 0.0f);
+ GXLoadTexMtxImm(mDoMtx_stack_c::get(), 0x21, GX_MTX2x4);
+ GXClearVtxDesc();
+ GXSetVtxDesc(GX_VA_POS, GX_DIRECT);
+ GXSetVtxDesc(GX_VA_TEX0, GX_DIRECT);
+ GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_POS, GX_POS_XYZ, GX_S16, 0);
+ GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_TEX0, GX_POS_XYZ, GX_S8, 0);
+ GXSetTexCoordGen2(GX_TEXCOORD0, GX_TG_MTX2x4, GX_TG_TEX0, 0x3c, GX_FALSE, 0x7d);
+ GXSetTexCoordGen2(GX_TEXCOORD1, GX_TG_MTX2x4, GX_TG_TEX0, 0x1e, GX_FALSE, 0x7d);
+ GXSetTexCoordGen2(GX_TEXCOORD2, GX_TG_MTX2x4, GX_TG_TEX0, 0x21, GX_FALSE, 0x7d);
+ GXSetNumChans(0);
+ GXSetNumTexGens(3);
+ GXSetNumTevStages(4);
+ GXSetProjection(ortho, GX_ORTHOGRAPHIC);
+ GXSetCurrentMtx(0);
- GXSetFog(GX_FOG_NONE, 0.0f, 0.0f, 0.0f, 0.0f, g_clearColor);
- GXSetCullMode(GX_CULL_NONE);
- GXSetDither(GX_TRUE);
- GXSetNumIndStages(0);
- Mtx44 ortho;
- C_MTXOrtho(ortho, param_1->mYOrig, param_1->mYOrig + param_1->mHeight, param_1->mXOrig, param_1->mXOrig + param_1->mWidth, 0.0f, 10.0f);
- GXLoadPosMtxImm(mDoMtx_getIdentity(), 0);
- mDoMtx_stack_c::transS(0.0025f, 0.0025f, 0.0f);
- GXLoadTexMtxImm(mDoMtx_stack_c::get(), 0x1e, GX_MTX2x4);
- mDoMtx_stack_c::transS(-0.0025f, -0.0025f, 0.0f);
- GXLoadTexMtxImm(mDoMtx_stack_c::get(), 0x21, GX_MTX2x4);
- GXClearVtxDesc();
- GXSetVtxDesc(GX_VA_POS, GX_DIRECT);
- GXSetVtxDesc(GX_VA_TEX0, GX_DIRECT);
- GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_POS, GX_POS_XYZ, GX_S16, 0);
- GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_TEX0, GX_POS_XYZ, GX_S8, 0);
- GXSetTexCoordGen2(GX_TEXCOORD0, GX_TG_MTX2x4, GX_TG_TEX0, 0x3c, GX_FALSE, 0x7d);
- GXSetTexCoordGen2(GX_TEXCOORD1, GX_TG_MTX2x4, GX_TG_TEX0, 0x1e, GX_FALSE, 0x7d);
- GXSetTexCoordGen2(GX_TEXCOORD2, GX_TG_MTX2x4, GX_TG_TEX0, 0x21, GX_FALSE, 0x7d);
- GXSetNumChans(0);
- GXSetNumTexGens(3);
- GXSetNumTevStages(4);
- GXSetProjection(ortho, GX_ORTHOGRAPHIC);
- GXSetCurrentMtx(0);
+ if (l_tevColor0.a > -255) {
+ GXBegin(GX_QUADS, GX_VTXFMT0, 4);
+ GXPosition3s16(x_orig, y_orig, -5);
+ GXTexCoord2s8(0, 0);
+ GXPosition3s16(width, y_orig, -5);
+ GXTexCoord2s8(1, 0);
+ GXPosition3s16(width, height, -5);
+ GXTexCoord2s8(1, 1);
+ GXPosition3s16(x_orig, height, -5);
+ GXTexCoord2s8(0, 1);
+ GXEnd();
+ }
- if (l_tevColor0.a > -255) {
- GXBegin(GX_QUADS, GX_VTXFMT0, 4);
- GXPosition3s16(x_orig, y_orig, -5);
- GXTexCoord2s8(0,0);
- GXPosition3s16(width, y_orig, -5);
- GXTexCoord2s8(1,0);
- GXPosition3s16(width, height, -5);
- GXTexCoord2s8(1,1);
- GXPosition3s16(x_orig, height, -5);
- GXTexCoord2s8(0,1);
- GXEnd();
+ GXSetTevSwapModeTable(GX_TEV_SWAP3, GX_CH_BLUE, GX_CH_BLUE, GX_CH_BLUE, GX_CH_ALPHA);
+ GXSetTevSwapMode(GX_TEVSTAGE0, GX_TEV_SWAP0, GX_TEV_SWAP0);
+ GXSetProjection(param_0->mProjMtx, GX_PERSPECTIVE);
}
-
- GXSetTevSwapModeTable(GX_TEV_SWAP3, GX_CH_BLUE, GX_CH_BLUE, GX_CH_BLUE, GX_CH_ALPHA);
- GXSetTevSwapMode(GX_TEVSTAGE0, GX_TEV_SWAP0, GX_TEV_SWAP0);
- GXSetProjection(param_0->mProjMtx, GX_PERSPECTIVE);
}
#else
#pragma push
@@ -812,7 +842,7 @@ static void trimming(view_class* param_0, view_port_class* param_1) {
s16 y_orig = (int)param_1->mYOrig & ~7;
s16 y_orig_pos = y_orig < 0 ? 0 : y_orig;
if ((y_orig_pos == 0) && (param_1->mScissor.mYOrig != param_1->mYOrig ||
- (param_1->mScissor.mHeight != param_1->mHeight)))
+ (param_1->mScissor.mHeight != param_1->mHeight)))
{
s32 sc_top = (int)param_1->mScissor.mYOrig;
s32 sc_bottom = param_1->mScissor.mYOrig + param_1->mScissor.mHeight;
@@ -822,27 +852,19 @@ static void trimming(view_class* param_0, view_port_class* param_1) {
GXSetNumTevStages(1);
GXSetTevOrder(GX_TEVSTAGE0, GX_TEXCOORD_NULL, GX_TEXMAP_NULL, GX_COLOR0A0);
GXSetTevColorIn(GX_TEVSTAGE0, GX_CC_ZERO, GX_CC_ZERO, GX_CC_ZERO, GX_CC_ZERO);
- GXSetTevColorOp(GX_TEVSTAGE0, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, GX_TRUE,
- GX_TEVPREV);
+ GXSetTevColorOp(GX_TEVSTAGE0, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, GX_TRUE, GX_TEVPREV);
GXSetTevAlphaIn(GX_TEVSTAGE0, GX_CA_ZERO, GX_CA_ZERO, GX_CA_ZERO, GX_CA_ZERO);
- GXSetTevAlphaOp(GX_TEVSTAGE0, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, GX_TRUE,
- GX_TEVPREV);
+ GXSetTevAlphaOp(GX_TEVSTAGE0, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, GX_TRUE, GX_TEVPREV);
GXSetZCompLoc(1);
GXSetZMode(GX_FALSE, GX_ALWAYS, GX_FALSE);
GXSetBlendMode(GX_BM_NONE, GX_BL_SRC_ALPHA, GX_BL_INV_SRC_ALPHA, GX_LO_CLEAR);
GXSetAlphaCompare(GX_ALWAYS, 0, GX_AOP_OR, GX_ALWAYS, 0);
- GXSetFog(GX_FOG_NONE, 0.0f,
- 0.0f, 0.0f,
- 0.0f, g_clearColor);
+ GXSetFog(GX_FOG_NONE, 0.0f, 0.0f, 0.0f, 0.0f, g_clearColor);
GXSetCullMode(GX_CULL_NONE);
GXSetDither(GX_TRUE);
GXSetNumIndStages(0);
Mtx44 ortho;
- C_MTXOrtho(
- ortho,
- 0.0f, 448.0f,
- 0.0f, 608.0f,
- 0.0f, 10.0f);
+ C_MTXOrtho(ortho, 0.0f, 448.0f, 0.0f, 608.0f, 0.0f, 10.0f);
GXLoadPosMtxImm(mDoMtx_getIdentity(), 0);
GXClearVtxDesc();
GXSetVtxDesc(GX_VA_POS, GX_DIRECT);
@@ -860,8 +882,8 @@ static void trimming(view_class* param_0, view_port_class* param_1) {
GXPosition3s16(0, 0x1c8, -5);
GXEnd();
}
- GXSetScissor(param_1->mScissor.mXOrig, param_1->mScissor.mYOrig,
- param_1->mScissor.mWidth, param_1->mScissor.mHeight);
+ GXSetScissor(param_1->mScissor.mXOrig, param_1->mScissor.mYOrig, param_1->mScissor.mWidth,
+ param_1->mScissor.mHeight);
}
#else
#pragma push
@@ -967,10 +989,10 @@ void mDoGph_gInf_c::bloom_c::draw() {
GXSetTevOrder(GX_TEVSTAGE0, GX_TEXCOORD0, GX_TEXMAP0, GX_COLOR_NULL);
GXSetTevColorIn(GX_TEVSTAGE0, GX_CC_ZERO, GX_CC_TEXC, GX_CC_C2, GX_CC_ZERO);
GXSetTevColorOp(GX_TEVSTAGE0, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, GX_TRUE,
- GX_TEVPREV);
+ GX_TEVPREV);
GXSetTevAlphaIn(GX_TEVSTAGE0, GX_CA_ZERO, GX_CA_ZERO, GX_CA_ZERO, GX_CA_A2);
GXSetTevAlphaOp(GX_TEVSTAGE0, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, GX_TRUE,
- GX_TEVPREV);
+ GX_TEVPREV);
GXSetTevSwapMode(GX_TEVSTAGE0, GX_TEV_SWAP1, GX_TEV_SWAP1);
GXSetTevColor(GX_TEVREG2, mMonoColor);
GXSetBlendMode(GX_BM_BLEND, GX_BL_SRC_ALPHA, GX_BL_INV_SRC_ALPHA, GX_LO_OR);
@@ -984,32 +1006,32 @@ void mDoGph_gInf_c::bloom_c::draw() {
GXSetTevOrder(GX_TEVSTAGE0, GX_TEXCOORD0, GX_TEXMAP0, GX_COLOR_NULL);
GXSetTevColorIn(GX_TEVSTAGE0, GX_CC_TEXC, GX_CC_TEXA, GX_CC_HALF, GX_CC_ZERO);
GXSetTevColorOp(GX_TEVSTAGE0, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, GX_TRUE,
- GX_TEVPREV);
+ GX_TEVPREV);
GXSetTevAlphaIn(GX_TEVSTAGE0, GX_CA_ZERO, GX_CA_ZERO, GX_CA_ZERO, GX_CA_ZERO);
GXSetTevAlphaOp(GX_TEVSTAGE0, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, GX_TRUE,
- GX_TEVPREV);
+ GX_TEVPREV);
GXSetTevSwapMode(GX_TEVSTAGE0, GX_TEV_SWAP1, GX_TEV_SWAP1);
GXSetTevOrder(GX_TEVSTAGE1, GX_TEXCOORD0, GX_TEXMAP0, GX_COLOR_NULL);
GXSetTevColorIn(GX_TEVSTAGE1, GX_CC_TEXC, GX_CC_CPREV, GX_CC_HALF, GX_CC_C0);
GXSetTevColorOp(GX_TEVSTAGE1, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, GX_TRUE,
- GX_TEVPREV);
+ GX_TEVPREV);
GXSetTevAlphaIn(GX_TEVSTAGE1, GX_CA_ZERO, GX_CA_ZERO, GX_CA_ZERO, GX_CA_ZERO);
GXSetTevAlphaOp(GX_TEVSTAGE1, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, GX_TRUE,
- GX_TEVPREV);
+ GX_TEVPREV);
GXSetTevSwapMode(GX_TEVSTAGE1, GX_TEV_SWAP3, GX_TEV_SWAP3);
GXSetTevOrder(GX_TEVSTAGE2, GX_TEXCOORD0, GX_TEXMAP0, GX_COLOR_NULL);
GXSetTevColorIn(GX_TEVSTAGE2, GX_CC_ZERO, GX_CC_TEXC, GX_CC_CPREV, GX_CC_ZERO);
GXSetTevColorOp(GX_TEVSTAGE2, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, GX_TRUE,
- GX_TEVPREV);
+ GX_TEVPREV);
GXSetTevAlphaIn(GX_TEVSTAGE2, GX_CA_ZERO, GX_CA_ZERO, GX_CA_ZERO, GX_CA_ZERO);
GXSetTevAlphaOp(GX_TEVSTAGE2, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, GX_TRUE,
- GX_TEVPREV);
+ GX_TEVPREV);
GXSetBlendMode(GX_BM_NONE, GX_BL_ZERO, GX_BL_ZERO, GX_LO_OR);
GXColorS10 tevColor0 = lit_4528;
tevColor0.r = -mPoint;
tevColor0.g = -mPoint;
tevColor0.b = -mPoint;
- GXSetTevColorS10(GX_TEVREG0,tevColor0);
+ GXSetTevColorS10(GX_TEVREG0, tevColor0);
GXColor tevColor1 = lit_4530;
tevColor1.r = mBlureRatio;
tevColor1.g = mBlureRatio;
@@ -1026,38 +1048,43 @@ void mDoGph_gInf_c::bloom_c::draw() {
GXSetTexCopyDst(0x98, 0x70, 6, GX_TRUE);
GXCopyTex(zBufferTex, 0);
GXTexObj auStack_c0;
- GXInitTexObj(&auStack_c0, zBufferTex, 0x98, 0x70, GX_TF_RGBA8, GX_CLAMP, GX_CLAMP, GX_FALSE);
- GXInitTexObjLOD(&auStack_c0, GX_LINEAR, GX_LINEAR, 0.0f, 0.0f, 0.0f, GX_FALSE, GX_FALSE, GX_ANISO_1);
+ GXInitTexObj(&auStack_c0, zBufferTex, 0x98, 0x70, GX_TF_RGBA8, GX_CLAMP, GX_CLAMP,
+ GX_FALSE);
+ GXInitTexObjLOD(&auStack_c0, GX_LINEAR, GX_LINEAR, 0.0f, 0.0f, 0.0f, GX_FALSE, GX_FALSE,
+ GX_ANISO_1);
GXLoadTexObj(&auStack_c0, GX_TEXMAP0);
GXSetNumTexGens(8);
u32 iVar11 = 0x1e;
s16 sVar10 = 0;
GXSetTexCoordGen(GX_TEXCOORD0, GX_TG_MTX2x4, GX_TG_TEX0, 0x3c);
- for (int texCoord = (int)GX_TEXCOORD1; texCoord < (int)GX_MAXCOORD; texCoord++, iVar11 += 3, sVar10 += 0x2492) {
- GXSetTexCoordGen((GXTexCoordID) texCoord, GX_TG_MTX2x4, GX_TG_TEX0, iVar11);
- f32 dVar15 = mBlureSize * (1.0f / 6400.0f);
- mDoMtx_stack_c::transS(
- (dVar15 * cM_scos(sVar10)) * getInvScale(),
- dVar15 * cM_ssin(sVar10),
- 0.0f);
- GXLoadTexMtxImm(mDoMtx_stack_c::get(), iVar11, GX_MTX2x4);
+ for (int texCoord = (int)GX_TEXCOORD1; texCoord < (int)GX_MAXCOORD;
+ texCoord++, iVar11 += 3, sVar10 += 0x2492)
+ {
+ GXSetTexCoordGen((GXTexCoordID)texCoord, GX_TG_MTX2x4, GX_TG_TEX0, iVar11);
+ f32 dVar15 = mBlureSize * (1.0f / 6400.0f);
+ mDoMtx_stack_c::transS((dVar15 * cM_scos(sVar10)) * getInvScale(),
+ dVar15 * cM_ssin(sVar10), 0.0f);
+ GXLoadTexMtxImm(mDoMtx_stack_c::get(), iVar11, GX_MTX2x4);
}
GXSetNumTevStages(8);
GXSetTevOrder(GX_TEVSTAGE0, GX_TEXCOORD0, GX_TEXMAP0, GX_COLOR_NULL);
GXSetTevColorIn(GX_TEVSTAGE0, GX_CC_ZERO, GX_CC_TEXC, GX_CC_A1, GX_CC_ZERO);
GXSetTevColorOp(GX_TEVSTAGE0, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, GX_TRUE,
- GX_TEVPREV);
+ GX_TEVPREV);
GXSetTevAlphaIn(GX_TEVSTAGE0, GX_CA_ZERO, GX_CA_ZERO, GX_CA_ZERO, GX_CA_ZERO);
GXSetTevAlphaOp(GX_TEVSTAGE0, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, GX_TRUE,
- GX_TEVPREV);
+ GX_TEVPREV);
for (int tevStage = (int)GX_TEVSTAGE1; tevStage < 8; tevStage++) {
- GXSetTevOrder((GXTevStageID)tevStage, (GXTexCoordID)tevStage, GX_TEXMAP0, GX_COLOR_NULL);
- GXSetTevColorIn((GXTevStageID)tevStage, GX_CC_ZERO, GX_CC_TEXC, GX_CC_A1, GX_CC_CPREV);
- GXSetTevColorOp((GXTevStageID)tevStage, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, GX_TRUE,
- GX_TEVPREV);
- GXSetTevAlphaIn((GXTevStageID)tevStage, GX_CA_ZERO, GX_CA_ZERO, GX_CA_ZERO, GX_CA_A0);
- GXSetTevAlphaOp((GXTevStageID)tevStage, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, GX_TRUE,
- GX_TEVPREV);
+ GXSetTevOrder((GXTevStageID)tevStage, (GXTexCoordID)tevStage, GX_TEXMAP0,
+ GX_COLOR_NULL);
+ GXSetTevColorIn((GXTevStageID)tevStage, GX_CC_ZERO, GX_CC_TEXC, GX_CC_A1,
+ GX_CC_CPREV);
+ GXSetTevColorOp((GXTevStageID)tevStage, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1,
+ GX_TRUE, GX_TEVPREV);
+ GXSetTevAlphaIn((GXTevStageID)tevStage, GX_CA_ZERO, GX_CA_ZERO, GX_CA_ZERO,
+ GX_CA_A0);
+ GXSetTevAlphaOp((GXTevStageID)tevStage, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1,
+ GX_TRUE, GX_TEVPREV);
}
GXPixModeSync();
mDoGph_drawFilterQuad(1, 1);
@@ -1065,8 +1092,10 @@ void mDoGph_gInf_c::bloom_c::draw() {
GXSetTexCopyDst(0x4c, 0x38, 6, GX_TRUE);
GXCopyTex(zBufferTex, GX_FALSE);
GXTexObj auStack_e0;
- GXInitTexObj(&auStack_e0, zBufferTex, 0x4c, 0x38, GX_TF_RGBA8, GX_CLAMP, GX_CLAMP, GX_FALSE);
- GXInitTexObjLOD(&auStack_c0, GX_LINEAR, GX_LINEAR, 0.0f, 0.0f, 0.0f, GX_FALSE, GX_FALSE, GX_ANISO_1);
+ GXInitTexObj(&auStack_e0, zBufferTex, 0x4c, 0x38, GX_TF_RGBA8, GX_CLAMP, GX_CLAMP,
+ GX_FALSE);
+ GXInitTexObjLOD(&auStack_c0, GX_LINEAR, GX_LINEAR, 0.0f, 0.0f, 0.0f, GX_FALSE, GX_FALSE,
+ GX_ANISO_1);
GXLoadTexObj(&auStack_e0, GX_TEXMAP0);
GXSetBlendMode(GX_BM_BLEND, GX_BL_SRC_ALPHA, GX_BL_INV_SRC_ALPHA, GX_LO_OR);
GXPixModeSync();
@@ -1075,8 +1104,10 @@ void mDoGph_gInf_c::bloom_c::draw() {
GXSetTexCopySrc(0, 0, 0x98, 0x70);
GXSetTexCopyDst(0x98, 0x70, 6, GX_FALSE);
GXCopyTex(zBufferTex, GX_FALSE);
- GXInitTexObj(&auStack_e0, m_buffer, 0x130, 0xe0, GX_TF_RGBA8, GX_CLAMP, GX_CLAMP, GX_FALSE);
- GXInitTexObjLOD(&auStack_e0, GX_LINEAR, GX_LINEAR, 0.0f, 0.0f, 0.0f, GX_FALSE, GX_FALSE, GX_ANISO_1);
+ GXInitTexObj(&auStack_e0, m_buffer, 0x130, 0xe0, GX_TF_RGBA8, GX_CLAMP, GX_CLAMP,
+ GX_FALSE);
+ GXInitTexObjLOD(&auStack_e0, GX_LINEAR, GX_LINEAR, 0.0f, 0.0f, 0.0f, GX_FALSE, GX_FALSE,
+ GX_ANISO_1);
GXLoadTexObj(&auStack_e0, GX_TEXMAP0);
GXSetNumTexGens(1);
GXSetTexCoordGen(GX_TEXCOORD0, GX_TG_MTX2x4, GX_TG_TEX0, 0x3c);
@@ -1084,10 +1115,10 @@ void mDoGph_gInf_c::bloom_c::draw() {
GXSetTevOrder(GX_TEVSTAGE0, GX_TEXCOORD0, GX_TEXMAP0, GX_COLOR_NULL);
GXSetTevColorIn(GX_TEVSTAGE0, GX_CC_ZERO, GX_CC_ZERO, GX_CC_ZERO, GX_CC_TEXC);
GXSetTevColorOp(GX_TEVSTAGE0, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, GX_TRUE,
- GX_TEVPREV);
+ GX_TEVPREV);
GXSetTevAlphaIn(GX_TEVSTAGE0, GX_CA_ZERO, GX_CA_ZERO, GX_CA_ZERO, GX_CA_ZERO);
GXSetTevAlphaOp(GX_TEVSTAGE0, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, GX_TRUE,
- GX_TEVPREV);
+ GX_TEVPREV);
GXSetBlendMode(GX_BM_NONE, GX_BL_ONE, GX_BL_ONE, GX_LO_OR);
mDoGph_drawFilterQuad(2, 2);
GXLoadTexObj(&auStack_c0, GX_TEXMAP0);
@@ -1096,15 +1127,15 @@ void mDoGph_gInf_c::bloom_c::draw() {
GXSetTevOrder(GX_TEVSTAGE0, GX_TEXCOORD0, GX_TEXMAP0, GX_COLOR_NULL);
GXSetTevColorIn(GX_TEVSTAGE0, GX_CC_ZERO, GX_CC_TEXC, GX_CC_C0, GX_CC_ZERO);
GXSetTevColorOp(GX_TEVSTAGE0, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, GX_TRUE,
- GX_TEVPREV);
+ GX_TEVPREV);
GXSetTevAlphaIn(GX_TEVSTAGE0, GX_CA_ZERO, GX_CA_ZERO, GX_CA_ZERO, GX_CA_A0);
GXSetTevAlphaOp(GX_TEVSTAGE0, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, GX_TRUE,
- GX_TEVPREV);
+ GX_TEVPREV);
GXBlendFactor blendFactor;
if (mMode == 1) {
- blendFactor = GX_BL_INV_DST_COLOR;
+ blendFactor = GX_BL_INV_DST_COLOR;
} else {
- blendFactor = GX_BL_ONE;
+ blendFactor = GX_BL_ONE;
}
GXSetBlendMode(GX_BM_BLEND, blendFactor, GX_BL_SRC_ALPHA, GX_LO_OR);
GXPixModeSync();
@@ -1151,8 +1182,8 @@ static void retry_captue_frame(view_class* param_0, view_port_class* param_1, in
}
GXSetTexCopySrc(x_orig, y_orig_pos, width, height);
- GXSetTexCopyDst(width >> 1, height >> 1, (GXTexFmt)mDoGph_gInf_c::getFrameBufferTimg()->format,
- GX_TRUE);
+ GXSetTexCopyDst(width >> 1, height >> 1,
+ (GXTexFmt)mDoGph_gInf_c::getFrameBufferTimg()->format, GX_TRUE);
GXCopyTex(tex, GX_FALSE);
GXPixModeSync();
GXInvalidateTexAll();
@@ -1174,11 +1205,9 @@ static void motionBlure(view_class* param_0) {
GXSetTevColor(GX_TEVREG0, local_60);
GXSetTevOrder(GX_TEVSTAGE0, GX_TEXCOORD0, GX_TEXMAP0, GX_COLOR_NULL);
GXSetTevColorIn(GX_TEVSTAGE0, GX_CC_ZERO, GX_CC_ZERO, GX_CC_ZERO, GX_CC_TEXC);
- GXSetTevColorOp(GX_TEVSTAGE0, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, GX_TRUE,
- GX_TEVPREV);
+ GXSetTevColorOp(GX_TEVSTAGE0, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, GX_TRUE, GX_TEVPREV);
GXSetTevAlphaIn(GX_TEVSTAGE0, GX_CA_ZERO, GX_CA_ZERO, GX_CA_ZERO, GX_CA_A0);
- GXSetTevAlphaOp(GX_TEVSTAGE0, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, GX_TRUE,
- GX_TEVPREV);
+ GXSetTevAlphaOp(GX_TEVSTAGE0, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, GX_TRUE, GX_TEVPREV);
GXSetZCompLoc(1);
GXSetZMode(GX_FALSE, GX_ALWAYS, GX_FALSE);
GXSetBlendMode(GX_BM_BLEND, GX_BL_SRC_ALPHA, GX_BL_INV_SRC_ALPHA, GX_LO_CLEAR);
@@ -1453,7 +1482,8 @@ int mDoGph_Painter() {
GXSetProjection(camera_p->mProjMtx, GX_PERSPECTIVE);
j3dSys.reinitGX();
- if ((g_env_light.mCameraInWater || !strcmp(dComIfGp_getStartStageName(), "D_MN08"))) {
+ if ((g_env_light.mCameraInWater || !strcmp(dComIfGp_getStartStageName(), "D_MN08")))
+ {
u8 enable = mDoGph_gInf_c::getBloom()->getEnable();
GXColor color = *mDoGph_gInf_c::getBloom()->getMonoColor();
if (color.a != 0 || enable) {
@@ -1480,7 +1510,9 @@ int mDoGph_Painter() {
trimming(camera_p, view_port);
- if (strcmp(dComIfGp_getStartStageName(), "F_SP127") != 0 && (mDoGph_gInf_c::mFade & 0x80) == 0) {
+ if (strcmp(dComIfGp_getStartStageName(), "F_SP127") != 0 &&
+ (mDoGph_gInf_c::mFade & 0x80) == 0)
+ {
mDoGph_gInf_c::calcFade();
}
}
@@ -1522,7 +1554,8 @@ int mDoGph_Painter() {
dComIfGp_particle_draw2Dfore(&draw_info3);
}
- if (strcmp(dComIfGp_getStartStageName(), "F_SP127") == 0 || (mDoGph_gInf_c::mFade & 0x80) != 0) {
+ if (strcmp(dComIfGp_getStartStageName(), "F_SP127") == 0 || (mDoGph_gInf_c::mFade & 0x80) != 0)
+ {
mDoGph_gInf_c::calcFade();
}
@@ -1547,7 +1580,7 @@ asm void mDoGph_Painter() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
-//asm J2DOrthoGraph::~J2DOrthoGraph() {
+// asm J2DOrthoGraph::~J2DOrthoGraph() {
asm void __dt__13J2DOrthoGraphFv() {
nofralloc
#include "asm/m_Do/m_Do_graphic/__dt__13J2DOrthoGraphFv.s"
@@ -1579,6 +1612,7 @@ REGISTER_CTORS(0x8000B1D0, __sinit_m_Do_graphic_cpp);
#pragma pop
/* 8000B1E4-8000B1EC 005B24 0008+00 0/0 1/0 0/0 .text getAtnActorID__9daPy_py_cCFv */
-s32 daPy_py_c::getAtnActorID() const {
+// s32 daPy_py_c::getAtnActorID() const {
+extern "C" s32 getAtnActorID__9daPy_py_cCFv() {
return -1;
}