mirror of
https://github.com/encounter/tp.git
synced 2026-07-11 06:18:46 -07:00
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
This commit is contained in:
+25
-17
@@ -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"
|
||||
}
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
+162
-232
File diff suppressed because it is too large
Load Diff
+375
-170
File diff suppressed because it is too large
Load Diff
+26
-13
@@ -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"
|
||||
}
|
||||
|
||||
@@ -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 */
|
||||
|
||||
+294
-755
File diff suppressed because it is too large
Load Diff
+3
-24
@@ -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 */
|
||||
|
||||
@@ -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;
|
||||
|
||||
+222
-181
File diff suppressed because it is too large
Load Diff
@@ -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"
|
||||
|
||||
//
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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"
|
||||
}
|
||||
|
||||
+58
-79
@@ -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 */
|
||||
|
||||
@@ -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
|
||||
|
||||
+24
-115
@@ -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,
|
||||
|
||||
+176
-148
File diff suppressed because it is too large
Load Diff
+64
-38
@@ -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 */
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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;
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user