summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorTakaRikka <38417346+TakaRikka@users.noreply.github.com>2022-02-19 05:22:47 -0800
committerGitHub <noreply@github.com>2022-02-19 14:22:47 +0100
commit9ba9d7c06cde1db164e3282550855880148dc940 (patch)
tree4f548b05d3ca3296f5337e5ab13944ff24fd2907 /src
parentd85ab6d159201ae41110a7b80f3fcbdca0b8efeb (diff)
d_model / d_simple_model / d_stage + cleanup (#181)
* d_model / d_simple_model / cleanup * d_stage work * set up saveHIO / remove asm * d_a_itembase
Diffstat (limited to 'src')
-rw-r--r--src/d/a/d_a_alink.cpp1
-rw-r--r--src/d/a/d_a_itembase.cpp532
-rw-r--r--src/d/a/d_a_itembase_static.cpp90
-rw-r--r--src/d/com/d_com_inf_game.cpp1110
-rw-r--r--src/d/com/d_com_static.cpp39
-rw-r--r--src/d/d_drawlist.cpp10
-rw-r--r--src/d/d_item.cpp44
-rw-r--r--src/d/d_item_data.cpp4705
-rw-r--r--src/d/d_lib.cpp2
-rw-r--r--src/d/d_model.cpp240
-rw-r--r--src/d/d_simple_model.cpp381
-rw-r--r--src/d/d_stage.cpp1545
-rw-r--r--src/d/d_timer.cpp119
-rw-r--r--src/d/map/d_map_path_dmap.cpp110
-rw-r--r--src/d/meter/d_meter2.cpp4
-rw-r--r--src/d/meter/d_meter2_info.cpp4
-rw-r--r--src/d/meter/d_meter_map.cpp4
-rw-r--r--src/d/particle/d_particle.cpp1
-rw-r--r--src/d/save/d_save.cpp575
-rw-r--r--src/d/save/d_save_HIO.cpp192
-rw-r--r--src/m_Do/m_Do_ext.cpp26
21 files changed, 2842 insertions, 6892 deletions
diff --git a/src/d/a/d_a_alink.cpp b/src/d/a/d_a_alink.cpp
index bbd6ff7cce..f2a6a563ac 100644
--- a/src/d/a/d_a_alink.cpp
+++ b/src/d/a/d_a_alink.cpp
@@ -3239,7 +3239,6 @@ extern "C" void entryTevRegAnimator__16J3DMaterialTableFP15J3DAnmTevRegKey();
extern "C" void load__20J3DAnmLoaderDataBaseFPCv24J3DAnmLoaderDataBaseFlag();
extern "C" void JMAEulerToQuat__FsssP10Quaternion();
extern "C" void GXClearVtxDesc();
-extern "C" void GXLoadNrmMtxImm();
extern "C" void __register_global_object();
extern "C" void __destroy_arr();
extern "C" void __construct_array();
diff --git a/src/d/a/d_a_itembase.cpp b/src/d/a/d_a_itembase.cpp
index 969955a6dc..1c021d9f8c 100644
--- a/src/d/a/d_a_itembase.cpp
+++ b/src/d/a/d_a_itembase.cpp
@@ -4,393 +4,283 @@
//
#include "d/a/d_a_itembase.h"
+#include "d/com/d_com_inf_game.h"
+#include "d/d_item_data.h"
#include "dol2asm.h"
#include "dolphin/types.h"
//
-// Types:
-//
-
-struct request_of_phase_process_class {};
-
-struct J3DMaterialTable {};
-
-struct J3DAnmTexPattern {};
-
-struct mDoExt_btpAnm {
- /* 8000D54C */ void init(J3DMaterialTable*, J3DAnmTexPattern*, int, int, f32, s16, s16);
- /* 8000D5E8 */ void entry(J3DMaterialTable*, s16);
-};
-
-struct J3DAnmTextureSRTKey {};
-
-struct mDoExt_btkAnm {
- /* 8000D63C */ void init(J3DMaterialTable*, J3DAnmTextureSRTKey*, int, int, f32, s16, s16);
- /* 8000D6D8 */ void entry(J3DMaterialTable*, f32);
-};
-
-struct J3DAnmTevRegKey {};
-
-struct mDoExt_brkAnm {
- /* 8000D70C */ void init(J3DMaterialTable*, J3DAnmTevRegKey*, int, int, f32, s16, s16);
- /* 8000D7A8 */ void entry(J3DMaterialTable*, f32);
-};
-
-struct J3DAnmColor {};
-
-struct mDoExt_bpkAnm {
- /* 8000D47C */ void init(J3DMaterialTable*, J3DAnmColor*, int, int, f32, s16, s16);
- /* 8000D518 */ void entry(J3DMaterialTable*, f32);
-};
-
-struct J3DModelData {};
-
-struct J3DAnmTransform {};
-
-struct mDoExt_bckAnm {
- /* 8000D7DC */ void init(J3DAnmTransform*, int, int, f32, s16, s16, bool);
- /* 8000D9CC */ void entry(J3DModelData*, f32);
-};
-
-struct mDoExt_baseAnm {
- /* 8000D428 */ void play();
-};
-
-struct fopAc_ac_c {};
-
-struct dKy_tevstr_c {};
-
-struct cXyz {};
-
-struct dScnKy_env_light_c {
- /* 801A37C4 */ void settingTevStruct(int, cXyz*, dKy_tevstr_c*);
- /* 801A4DA0 */ void setLightTevColorType_MAJI(J3DModelData*, dKy_tevstr_c*);
-};
-
-struct dRes_info_c {};
-
-struct dRes_control_c {
- /* 8003C2EC */ void getRes(char const*, s32, dRes_info_c*, int);
-};
-
-struct dItem_data {
- static void* item_resource[1530];
- static u8 item_info[1020 + 4 /* padding */];
-};
-
-struct dDlst_shadowControl_c {
- static u8 mSimpleTexObj[32];
-};
-
-struct cBgS_PolyInfo {};
-
-struct _GXTexObj {};
-
-struct J3DModel {};
-
-struct J3DFrameCtrl {
- /* 803283FC */ void init(s16);
-};
-
-//
-// Forward References:
-//
-
-extern "C" void DeleteBase__12daItemBase_cFPCc();
-extern "C" bool clothCreate__12daItemBase_cFv();
-extern "C" bool __CreateHeap__12daItemBase_cFv();
-extern "C" void CreateItemHeap__12daItemBase_cFPCcsssssss();
-extern "C" void DrawBase__12daItemBase_cFv();
-extern "C" void RotateYBase__12daItemBase_cFv();
-extern "C" void setListStart__12daItemBase_cFv();
-extern "C" void setListEnd__12daItemBase_cFv();
-extern "C" void settingBeforeDraw__12daItemBase_cFv();
-extern "C" void setTevStr__12daItemBase_cFv();
-extern "C" void setShadow__12daItemBase_cFv();
-extern "C" void animEntry__12daItemBase_cFv();
-extern "C" void animPlay__12daItemBase_cFffffff();
-extern "C" void chkFlag__12daItemBase_cFi();
-extern "C" void getTevFrm__12daItemBase_cFv();
-extern "C" void getBtpFrm__12daItemBase_cFv();
-extern "C" void getShadowSize__12daItemBase_cFv();
-extern "C" void getCollisionH__12daItemBase_cFv();
-extern "C" void getCollisionR__12daItemBase_cFv();
-extern "C" extern void* __vt__12daItemBase_c[17 + 1 /* padding */];
-
-//
// External References:
//
-extern "C" void play__14mDoExt_baseAnmFv();
-extern "C" void init__13mDoExt_bpkAnmFP16J3DMaterialTableP11J3DAnmColoriifss();
-extern "C" void entry__13mDoExt_bpkAnmFP16J3DMaterialTablef();
-extern "C" void init__13mDoExt_btpAnmFP16J3DMaterialTableP16J3DAnmTexPatterniifss();
-extern "C" void entry__13mDoExt_btpAnmFP16J3DMaterialTables();
-extern "C" void init__13mDoExt_btkAnmFP16J3DMaterialTableP19J3DAnmTextureSRTKeyiifss();
-extern "C" void entry__13mDoExt_btkAnmFP16J3DMaterialTablef();
-extern "C" void init__13mDoExt_brkAnmFP16J3DMaterialTableP15J3DAnmTevRegKeyiifss();
-extern "C" void entry__13mDoExt_brkAnmFP16J3DMaterialTablef();
-extern "C" void init__13mDoExt_bckAnmFP15J3DAnmTransformiifssb();
-extern "C" void entry__13mDoExt_bckAnmFP12J3DModelDataf();
-extern "C" void mDoExt_modelUpdateDL__FP8J3DModel();
-extern "C" void mDoExt_J3DModel__create__FP12J3DModelDataUlUl();
-extern "C" void fopAcM_setEffectMtx__FPC10fopAc_ac_cPC12J3DModelData();
-extern "C" void dComIfG_resDelete__FP30request_of_phase_process_classPCc();
-extern "C" void dComIfGd_setSimpleShadow__FP4cXyzffR13cBgS_PolyInfosfP9_GXTexObj();
-extern "C" void
-dComIfGd_setShadow__FUlScP8J3DModelP4cXyzffffR13cBgS_PolyInfoP12dKy_tevstr_csfP9_GXTexObj();
-extern "C" void getRes__14dRes_control_cFPCclP11dRes_info_ci();
-extern "C" void getData__12daItemBase_cFv();
-extern "C" void settingTevStruct__18dScnKy_env_light_cFiP4cXyzP12dKy_tevstr_c();
-extern "C" void setLightTevColorType_MAJI__18dScnKy_env_light_cFP12J3DModelDataP12dKy_tevstr_c();
-extern "C" void* __nw__FUl();
-extern "C" void init__12J3DFrameCtrlFs();
-extern "C" void _savefpr_27();
-extern "C" void _restfpr_27();
-extern "C" void _savegpr_21();
-extern "C" void _restgpr_21();
-extern "C" extern void* __vt__12J3DFrameCtrl[3];
-extern "C" void* item_resource__10dItem_data[1530];
-extern "C" u8 item_info__10dItem_data[1020 + 4 /* padding */];
-extern "C" extern u8 g_dComIfG_gameInfo[122384];
-extern "C" u8 mSimpleTexObj__21dDlst_shadowControl_c[32];
-extern "C" extern u8 g_env_light[4880];
-extern "C" extern u8 j3dSys[284];
+extern "C" extern dScnKy_env_light_c g_env_light;
//
// Declarations:
//
/* 80144724-8014474C 13F064 0028+00 0/0 1/1 8/8 .text DeleteBase__12daItemBase_cFPCc */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void daItemBase_c::DeleteBase(char const* param_0) {
- nofralloc
-#include "asm/d/a/d_a_itembase/DeleteBase__12daItemBase_cFPCc.s"
+int daItemBase_c::DeleteBase(char const* res) {
+ dComIfG_resDelete(&mPhase, res);
+ return 1;
}
-#pragma pop
/* 8014474C-80144754 13F08C 0008+00 1/0 1/0 9/0 .text clothCreate__12daItemBase_cFv */
-bool daItemBase_c::clothCreate() {
- return true;
+int daItemBase_c::clothCreate() {
+ return 1;
}
/* 80144754-8014475C 13F094 0008+00 1/0 1/0 3/0 .text __CreateHeap__12daItemBase_cFv */
-bool daItemBase_c::__CreateHeap() {
- return true;
+int daItemBase_c::__CreateHeap() {
+ return 1;
}
-/* ############################################################################################## */
-/* 804533A8-804533AC 0019A8 0004+00 2/2 0/0 0/0 .sdata2 @3881 */
-SECTION_SDATA2 static f32 lit_3881 = 1.0f;
-
/* 8014475C-80144B94 13F09C 0438+00 0/0 3/3 0/0 .text CreateItemHeap__12daItemBase_cFPCcsssssss */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void daItemBase_c::CreateItemHeap(char const* param_0, s16 param_1, s16 param_2, s16 param_3,
- s16 param_4, s16 param_5, s16 param_6, s16 param_7) {
- nofralloc
-#include "asm/d/a/d_a_itembase/CreateItemHeap__12daItemBase_cFPCcsssssss.s"
+int daItemBase_c::CreateItemHeap(char const* arcName, s16 bmdName, s16 btkName, s16 bpkName,
+ s16 bckName, s16 bxaName, s16 brkName, s16 btpName) {
+ J3DModelData* modelData = (J3DModelData*)dComIfG_getObjectRes(arcName, bmdName);
+
+ u32 flags = 0x11000084;
+ u32 uvar7 = 0x80000;
+
+ if (btkName > 0) {
+ flags |= 0x200;
+ }
+
+ if (bpkName > 0) {
+ flags |= 0x1;
+ }
+
+ if (btpName > 0) {
+ flags |= 0x20000;
+ }
+
+ if (chkFlag(4)) {
+ uvar7 = 0;
+ }
+
+ mpModel = mDoExt_J3DModel__create(modelData, uvar7, flags);
+
+ if (mpModel == NULL) {
+ return 0;
+ } else {
+ field_0x578 = NULL;
+ if (btkName > 0) {
+ J3DAnmTextureSRTKey* pbtk =
+ (J3DAnmTextureSRTKey*)dComIfG_getObjectRes(arcName, btkName);
+ field_0x578 = new mDoExt_btkAnm();
+
+ if (field_0x578 == NULL || !field_0x578->init(modelData, pbtk, 1, 2, 1.0f, 0, -1)) {
+ return 0;
+ }
+ }
+
+ field_0x57c = NULL;
+ if (bpkName > 0) {
+ J3DAnmColor* pbpk = (J3DAnmColor*)dComIfG_getObjectRes(arcName, bpkName);
+ field_0x57c = new mDoExt_bpkAnm();
+
+ if (field_0x57c == NULL || !field_0x57c->init(modelData, pbpk, 1, 2, 1.0f, 0, -1)) {
+ return 0;
+ }
+ }
+
+ field_0x584 = NULL;
+ if (bckName > 0) {
+ J3DAnmTransform* pbck = (J3DAnmTransform*)dComIfG_getObjectRes(arcName, bckName);
+ field_0x584 = new mDoExt_bckAnm();
+
+ if (field_0x584 == NULL || !field_0x584->init(pbck, 1, 2, 1.0f, 0, -1, false)) {
+ return 0;
+ }
+ }
+
+ field_0x580 = NULL;
+ if (brkName > 0) {
+ J3DAnmTevRegKey* pbrk = (J3DAnmTevRegKey*)dComIfG_getObjectRes(arcName, brkName);
+ s8 tevFrm = getTevFrm();
+ int tmp = 1;
+ if (tevFrm != -1) {
+ tmp = 0;
+ }
+
+ field_0x580 = new mDoExt_brkAnm();
+
+ if (field_0x580 == NULL || !field_0x580->init(modelData, pbrk, tmp, 2, 1.0f, 0, -1)) {
+ return 0;
+ }
+ }
+
+ field_0x588 = NULL;
+ if (btpName > 0) {
+ J3DAnmTexPattern* pbtp = (J3DAnmTexPattern*)dComIfG_getObjectRes(arcName, btpName);
+ field_0x588 = new mDoExt_btpAnm();
+
+ if (field_0x588 == NULL || !field_0x588->init(modelData, pbtp, 1, 2, 1.0f, 0, -1)) {
+ return 0;
+ }
+ }
+
+ if (!clothCreate()) {
+ return 0;
+ }
+ }
+
+ return __CreateHeap() ? 1 : 0;
}
-#pragma pop
/* 80144B94-80144C30 13F4D4 009C+00 1/0 1/0 9/0 .text DrawBase__12daItemBase_cFv */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void daItemBase_c::DrawBase() {
- nofralloc
-#include "asm/d/a/d_a_itembase/DrawBase__12daItemBase_cFv.s"
+int daItemBase_c::DrawBase() {
+ setTevStr();
+ animEntry();
+ setListStart();
+ settingBeforeDraw();
+ mDoExt_modelUpdateDL(mpModel);
+ setListEnd();
+ setShadow();
+ return 1;
}
-#pragma pop
/* 80144C30-80144C7C 13F570 004C+00 1/0 1/0 9/0 .text RotateYBase__12daItemBase_cFv */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void daItemBase_c::RotateYBase() {
- nofralloc
-#include "asm/d/a/d_a_itembase/RotateYBase__12daItemBase_cFv.s"
+void daItemBase_c::RotateYBase() {
+ mCollisionRot.y += (s16)(0xFFFF / getData().field_0x1c);
}
-#pragma pop
/* 80144C7C-80144CA0 13F5BC 0024+00 1/0 1/0 5/0 .text setListStart__12daItemBase_cFv */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void daItemBase_c::setListStart() {
- nofralloc
-#include "asm/d/a/d_a_itembase/setListStart__12daItemBase_cFv.s"
+void daItemBase_c::setListStart() {
+ dComIfGd_setListDark();
}
-#pragma pop
/* 80144CA0-80144CC4 13F5E0 0024+00 1/1 0/0 0/0 .text setListEnd__12daItemBase_cFv */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void daItemBase_c::setListEnd() {
- nofralloc
-#include "asm/d/a/d_a_itembase/setListEnd__12daItemBase_cFv.s"
+void daItemBase_c::setListEnd() {
+ dComIfGd_setList();
}
-#pragma pop
/* 80144CC4-80144D18 13F604 0054+00 1/0 1/0 9/0 .text settingBeforeDraw__12daItemBase_cFv
*/
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void daItemBase_c::settingBeforeDraw() {
- nofralloc
-#include "asm/d/a/d_a_itembase/settingBeforeDraw__12daItemBase_cFv.s"
+void daItemBase_c::settingBeforeDraw() {
+ if (chkFlag(4)) {
+ fopAcM_setEffectMtx(this, mpModel->getModelData());
+ }
}
-#pragma pop
/* 80144D18-80144D70 13F658 0058+00 1/0 0/0 8/0 .text setTevStr__12daItemBase_cFv */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void daItemBase_c::setTevStr() {
- nofralloc
-#include "asm/d/a/d_a_itembase/setTevStr__12daItemBase_cFv.s"
+void daItemBase_c::setTevStr() {
+ g_env_light.settingTevStruct(0, &mCurrent.mPosition, &mTevStr);
+ g_env_light.setLightTevColorType_MAJI(mpModel, &mTevStr);
}
-#pragma pop
-
-/* ############################################################################################## */
-/* 804533AC-804533B0 0019AC 0004+00 1/1 0/0 0/0 .sdata2 @3952 */
-SECTION_SDATA2 static u8 lit_3952[4] = {
- 0x00,
- 0x00,
- 0x00,
- 0x00,
-};
-
-/* 804533B0-804533B8 0019B0 0004+04 1/1 0/0 0/0 .sdata2 @3953 */
-SECTION_SDATA2 static f32 lit_3953[1 + 1 /* padding */] = {
- 150.0f,
- /* padding */
- 0.0f,
-};
-
-/* 804533B8-804533C0 0019B8 0008+00 1/1 0/0 0/0 .sdata2 @3955 */
-SECTION_SDATA2 static f64 lit_3955 = 4503599627370496.0 /* cast u32 to float */;
/* 80144D70-80144EDC 13F6B0 016C+00 1/0 1/0 9/1 .text setShadow__12daItemBase_cFv */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void daItemBase_c::setShadow() {
- nofralloc
-#include "asm/d/a/d_a_itembase/setShadow__12daItemBase_cFv.s"
+void daItemBase_c::setShadow() {
+ f32 scale = mScale.x * getShadowSize();
+
+ if (!chkFlag(0x10)) {
+ if (getShadowSize() != 0.0f) {
+ dComIfGd_setSimpleShadow(&mCurrent.mPosition, field_0x58c.GetGroundH(), scale,
+ field_0x58c.m_gnd, 0, 1.0f,
+ dDlst_shadowControl_c::getSimpleTex());
+ }
+ } else {
+ f32 shadowSize = getShadowSize();
+ if (shadowSize == 0.0f) {
+ shadowSize = 150.0f;
+ }
+
+ field_0x91c =
+ dComIfGd_setShadow(field_0x91c, 3, mpModel, &mCurrent.mPosition, shadowSize, 0.0f,
+ mCurrent.mPosition.y, field_0x58c.GetGroundH(), field_0x58c.m_gnd,
+ &mTevStr, 0, 1.0f, dDlst_shadowControl_c::getSimpleTex());
+ }
}
-#pragma pop
-
-/* ############################################################################################## */
-/* 804533C0-804533C8 0019C0 0008+00 1/1 0/0 0/0 .sdata2 @4041 */
-SECTION_SDATA2 static f64 lit_4041 = 4503601774854144.0 /* cast s32 to float */;
/* 80144EDC-8014503C 13F81C 0160+00 1/0 1/0 9/0 .text animEntry__12daItemBase_cFv */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void daItemBase_c::animEntry() {
- nofralloc
-#include "asm/d/a/d_a_itembase/animEntry__12daItemBase_cFv.s"
+void daItemBase_c::animEntry() {
+ if (field_0x580 != NULL) {
+ s8 tevFrm = getTevFrm();
+ if (tevFrm != -1) {
+ field_0x580->entry(mpModel->getModelData(), tevFrm);
+ } else {
+ field_0x580->entry(mpModel->getModelData());
+ }
+ }
+
+ if (field_0x588 != NULL) {
+ s8 btpFrm = getBtpFrm();
+ if (btpFrm != -1) {
+ field_0x588->entry(mpModel->getModelData(), btpFrm);
+ } else {
+ field_0x588->entry(mpModel->getModelData());
+ }
+ }
+
+ if (field_0x578 != NULL) {
+ field_0x578->entry(mpModel->getModelData());
+ }
+
+ if (field_0x584 != NULL) {
+ field_0x584->entry(mpModel->getModelData());
+ }
+
+ if (field_0x57c != NULL) {
+ field_0x57c->entry(mpModel->getModelData());
+ }
}
-#pragma pop
/* 8014503C-80145144 13F97C 0108+00 0/0 2/2 4/4 .text animPlay__12daItemBase_cFffffff */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void daItemBase_c::animPlay(f32 param_0, f32 param_1, f32 param_2, f32 param_3, f32 param_4,
- f32 param_5) {
- nofralloc
-#include "asm/d/a/d_a_itembase/animPlay__12daItemBase_cFffffff.s"
+void daItemBase_c::animPlay(f32 btkSpeed, f32 bpkSpeed, f32 bckSpeed, f32 param_3, f32 brkSpeed,
+ f32 btpSpeed) {
+ if (field_0x580 != NULL && getTevFrm() == -1) {
+ field_0x580->setPlaySpeed(brkSpeed);
+ field_0x580->play();
+ }
+
+ if (field_0x588 != NULL && getBtpFrm() == -1) {
+ field_0x588->setPlaySpeed(btpSpeed);
+ field_0x588->play();
+ }
+
+ if (field_0x578 != NULL) {
+ field_0x578->setPlaySpeed(btkSpeed);
+ field_0x578->play();
+ }
+
+ if (field_0x57c != NULL) {
+ field_0x57c->setPlaySpeed(bpkSpeed);
+ field_0x57c->play();
+ }
+
+ if (field_0x584 != NULL) {
+ field_0x584->setPlaySpeed(bckSpeed);
+ field_0x584->play();
+ }
}
-#pragma pop
/* 80145144-80145164 13FA84 0020+00 1/0 1/0 8/0 .text chkFlag__12daItemBase_cFi */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void daItemBase_c::chkFlag(int param_0) {
- nofralloc
-#include "asm/d/a/d_a_itembase/chkFlag__12daItemBase_cFi.s"
+BOOL daItemBase_c::chkFlag(int flag) {
+ return dItem_data::chkFlag(m_itemNo, flag);
}
-#pragma pop
/* 80145164-80145180 13FAA4 001C+00 1/0 1/0 8/0 .text getTevFrm__12daItemBase_cFv */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void daItemBase_c::getTevFrm() {
- nofralloc
-#include "asm/d/a/d_a_itembase/getTevFrm__12daItemBase_cFv.s"
+s8 daItemBase_c::getTevFrm() {
+ return dItem_data::getTevFrm(m_itemNo);
}
-#pragma pop
/* 80145180-8014519C 13FAC0 001C+00 1/0 1/0 8/0 .text getBtpFrm__12daItemBase_cFv */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void daItemBase_c::getBtpFrm() {
- nofralloc
-#include "asm/d/a/d_a_itembase/getBtpFrm__12daItemBase_cFv.s"
+s8 daItemBase_c::getBtpFrm() {
+ return dItem_data::getBtpFrm(m_itemNo);
}
-#pragma pop
/* 8014519C-801451B4 13FADC 0018+00 1/0 1/0 8/0 .text getShadowSize__12daItemBase_cFv */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void daItemBase_c::getShadowSize() {
- nofralloc
-#include "asm/d/a/d_a_itembase/getShadowSize__12daItemBase_cFv.s"
+u8 daItemBase_c::getShadowSize() {
+ return dItem_data::getShadowSize(m_itemNo);
}
-#pragma pop
/* 801451B4-801451D0 13FAF4 001C+00 1/0 1/0 8/0 .text getCollisionH__12daItemBase_cFv */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void daItemBase_c::getCollisionH() {
- nofralloc
-#include "asm/d/a/d_a_itembase/getCollisionH__12daItemBase_cFv.s"
+u8 daItemBase_c::getCollisionH() {
+ return dItem_data::getH(m_itemNo);
}
-#pragma pop
/* 801451D0-801451EC 13FB10 001C+00 1/0 1/0 8/0 .text getCollisionR__12daItemBase_cFv */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void daItemBase_c::getCollisionR() {
- nofralloc
-#include "asm/d/a/d_a_itembase/getCollisionR__12daItemBase_cFv.s"
+u8 daItemBase_c::getCollisionR() {
+ return dItem_data::getR(m_itemNo);
}
-#pragma pop
-
-/* ############################################################################################## */
-/* 803B3610-803B3658 010730 0044+04 0/0 1/1 9/9 .data __vt__12daItemBase_c */
-SECTION_DATA extern void* __vt__12daItemBase_c[17 + 1 /* padding */] = {
- (void*)NULL /* RTTI */,
- (void*)NULL,
- (void*)DrawBase__12daItemBase_cFv,
- (void*)setListStart__12daItemBase_cFv,
- (void*)settingBeforeDraw__12daItemBase_cFv,
- (void*)setTevStr__12daItemBase_cFv,
- (void*)setShadow__12daItemBase_cFv,
- (void*)animEntry__12daItemBase_cFv,
- (void*)RotateYBase__12daItemBase_cFv,
- (void*)clothCreate__12daItemBase_cFv,
- (void*)__CreateHeap__12daItemBase_cFv,
- (void*)chkFlag__12daItemBase_cFi,
- (void*)getTevFrm__12daItemBase_cFv,
- (void*)getBtpFrm__12daItemBase_cFv,
- (void*)getShadowSize__12daItemBase_cFv,
- (void*)getCollisionH__12daItemBase_cFv,
- (void*)getCollisionR__12daItemBase_cFv,
- /* padding */
- NULL,
-};
diff --git a/src/d/a/d_a_itembase_static.cpp b/src/d/a/d_a_itembase_static.cpp
index b8e002a6cb..303c5dd202 100644
--- a/src/d/a/d_a_itembase_static.cpp
+++ b/src/d/a/d_a_itembase_static.cpp
@@ -5,57 +5,20 @@
#include "d/a/d_a_itembase_static.h"
#include "SSystem/SComponent/c_lib.h"
+#include "d/d_item_data.h"
#include "dol2asm.h"
#include "dolphin/types.h"
-//
-// Types:
-//
-
-struct fopAc_ac_c {};
-
-struct dItem_data {
- static void* item_resource[1530];
- static void* field_item_res[1020];
-};
-
-//
-// Forward References:
-//
-
-extern "C" void getItemNo__12daItemBase_cFv();
-extern "C" void hide__12daItemBase_cFv();
-extern "C" void show__12daItemBase_cFv();
-extern "C" void changeDraw__12daItemBase_cFv();
-extern "C" void chkDraw__12daItemBase_cFv();
-extern "C" void dead__12daItemBase_cFv();
-extern "C" void chkDead__12daItemBase_cFv();
-extern "C" void CheckItemCreateHeap__FP10fopAc_ac_c();
-extern "C" void CheckFieldItemCreateHeap__FP10fopAc_ac_c();
-extern "C" u8 const m_data__12daItemBase_c[56];
-
-//
-// External References:
-//
-
-extern "C" void CreateItemHeap__12daItemBase_cFPCcsssssss();
-extern "C" void* item_resource__10dItem_data[1530];
-extern "C" void* field_item_res__10dItem_data[1020];
-
-//
-// Declarations:
-//
-
u8 daItemBase_c::getItemNo() {
- return mItemNo;
+ return m_itemNo;
}
void daItemBase_c::hide() {
- cLib_offBit(unk2347, 1);
+ cLib_offBit(field_0x92b, 1);
}
void daItemBase_c::show() {
- cLib_onBit(unk2347, 1);
+ cLib_onBit(field_0x92b, 1);
}
void daItemBase_c::changeDraw() {
@@ -67,44 +30,43 @@ void daItemBase_c::changeDraw() {
}
u8 daItemBase_c::chkDraw() {
- return cLib_checkBit(unk2347, 1) != 0;
+ return cLib_checkBit(field_0x92b, 1) != 0;
}
void daItemBase_c::dead() {
- cLib_onBit(unk2347, 2);
+ cLib_onBit(field_0x92b, 2);
}
u8 daItemBase_c::chkDead() {
- return cLib_checkBit(unk2347, 2) != 0;
+ return cLib_checkBit(field_0x92b, 2) != 0;
}
/* 80037B0C-80037B78 03244C 006C+00 0/0 0/0 1/1 .text CheckItemCreateHeap__FP10fopAc_ac_c
*/
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void CheckItemCreateHeap(fopAc_ac_c* param_0) {
- nofralloc
-#include "asm/d/a/d_a_itembase_static/CheckItemCreateHeap__FP10fopAc_ac_c.s"
+void CheckItemCreateHeap(fopAc_ac_c* actor) {
+ daItemBase_c* item = static_cast<daItemBase_c*>(actor);
+
+ u8 item_no = item->getItemNo();
+ item->CreateItemHeap(dItem_data::getArcName(item_no), dItem_data::getBmdName(item_no),
+ dItem_data::getBtkName(item_no), dItem_data::getBpkName(item_no),
+ dItem_data::getBckName(item_no), dItem_data::getBxaName(item_no),
+ dItem_data::getBrkName(item_no), dItem_data::getBtpName(item_no));
}
-#pragma pop
/* 80037B78-80037BE0 0324B8 0068+00 0/0 1/1 7/7 .text CheckFieldItemCreateHeap__FP10fopAc_ac_c */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void CheckFieldItemCreateHeap(fopAc_ac_c* param_0) {
- nofralloc
-#include "asm/d/a/d_a_itembase_static/CheckFieldItemCreateHeap__FP10fopAc_ac_c.s"
+void CheckFieldItemCreateHeap(fopAc_ac_c* actor) {
+ daItemBase_c* item = static_cast<daItemBase_c*>(actor);
+
+ u8 item_no = item->getItemNo();
+ item->CreateItemHeap(dItem_data::getFieldArc(item_no), dItem_data::getItemBmdName(item_no),
+ dItem_data::getItemBtkName(item_no), dItem_data::getItemBpkName(item_no),
+ dItem_data::getItemBckName(item_no), dItem_data::getItemBxaName(item_no),
+ dItem_data::getItemBrkName(item_no), dItem_data::getItemBtpName(item_no));
}
-#pragma pop
/* ############################################################################################## */
/* 803792B0-803792E8 005910 0038+00 0/0 1/1 0/0 .rodata m_data__12daItemBase_c */
-SECTION_RODATA u8 const daItemBase_c::m_data[56] = {
- 0xC0, 0x90, 0x00, 0x00, 0x3F, 0x1E, 0xB8, 0x52, 0x42, 0x34, 0x00, 0x00, 0x41, 0x20,
- 0x00, 0x00, 0x40, 0xC0, 0x00, 0x00, 0x00, 0x01, 0x00, 0xF0, 0x00, 0x3C, 0x0F, 0xA0,
- 0x00, 0x78, 0x00, 0x00, 0xC0, 0x80, 0x00, 0x00, 0x40, 0x60, 0x00, 0x00, 0x04, 0x4C,
- 0x0B, 0xB8, 0x41, 0xB8, 0x00, 0x00, 0xC0, 0xC0, 0x00, 0x00, 0x00, 0x0D, 0x00, 0x0A,
-};
+SECTION_RODATA daItemBase_data const daItemBase_c::m_data = {
+ -4.5f, 0.62f, 45.0f, 10.0f, 6.0f, 1, 240, 60, 4000,
+ 120, -4.0f, 3.5f, 1100, 3000, 23.0f, -6.0f, 13, 10};
COMPILER_STRIP_GATE(0x803792B0, &daItemBase_c::m_data);
diff --git a/src/d/com/d_com_inf_game.cpp b/src/d/com/d_com_inf_game.cpp
index f1b59bb10b..9a783342b5 100644
--- a/src/d/com/d_com_inf_game.cpp
+++ b/src/d/com/d_com_inf_game.cpp
@@ -5,38 +5,13 @@
#include "d/com/d_com_inf_game.h"
#include "d/d_item.h"
+#include "d/d_procname.h"
+#include "d/d_timer.h"
#include "d/kankyo/d_kankyo.h"
#include "d/meter/d_meter2_info.h"
#include "dol2asm.h"
#include "dolphin/types.h"
-
-//
-// Types:
-//
-
-struct scene_class {};
-
-struct dSmplMdl_draw_c {
- /* 80048CB4 */ dSmplMdl_draw_c();
- /* 80048E0C */ void draw();
- /* 80048EBC */ void entry(J3DModel*, int);
- /* 80048F70 */ void addModel(J3DModelData*, int, u8);
- /* 80049058 */ void removeModel(J3DModelData*, int);
-};
-
-struct dComIfG_resLoader_c {
- /* 8002F314 */ dComIfG_resLoader_c();
- /* 8002F328 */ ~dComIfG_resLoader_c();
- /* 8002F3B4 */ void load(char const**, JKRHeap*);
-};
-
-struct Z2SeqMgr {
- /* 802AF408 */ void bgmStop(u32, s32);
-};
-
-struct Z2AudioMgr {
- static u8 mAudioMgrPtr[4 + 4 /* padding */];
-};
+#include "m_Do/m_Do_audio.h"
//
// Forward References:
@@ -230,7 +205,7 @@ extern "C" void __dt__8cM3dGCylFv();
extern "C" void __dt__8cM3dGAabFv();
extern "C" void __dt__15cCcD_DivideInfoFv();
extern "C" extern char const* const d_com_d_com_inf_game__stringBase0;
-extern "C" extern u32 g_saftyWhiteColor;
+extern "C" extern GXColor g_saftyWhiteColor;
//
// External References:
@@ -374,7 +349,7 @@ extern "C" extern void* __vt__14cCcD_ShapeAttr[22];
extern "C" extern void* __vt__4cCcS[12];
extern "C" u8 m_cpadInfo__8mDoCPd_c[256];
extern "C" u8 mStatus__20dStage_roomControl_c[65792];
-extern "C" extern u8 g_env_light[4880];
+extern "C" extern dScnKy_env_light_c g_env_light;
extern "C" u8 mFader__13mDoGph_gInf_c[4];
extern "C" u8 mResetData__6mDoRst[4 + 4 /* padding */];
extern "C" u8 mAudioMgrPtr__10Z2AudioMgr[4 + 4 /* padding */];
@@ -425,8 +400,8 @@ void dComIfG_play_c::init() {
mGameoverStatus = 0;
}
-void dComIfGp_checkItemGet(u8 param_0, int param_1) {
- checkItemGet(param_0, param_1);
+void dComIfGp_checkItemGet(u8 i_itemNo, int param_1) {
+ checkItemGet(i_itemNo, param_1);
}
void dComIfG_play_c::itemInit() {
@@ -449,8 +424,8 @@ void dComIfG_play_c::itemInit() {
mNowVibration = dComIfGs_getOptVibration();
}
-void dComIfG_play_c::setItemBombNumCount(u8 i_item, s16 pCount) {
- mItemBombNumCount[i_item] += pCount;
+void dComIfG_play_c::setItemBombNumCount(u8 i_item, s16 count) {
+ mItemBombNumCount[i_item] += count;
}
s16 dComIfG_play_c::getItemBombNumCount(u8 i_item) {
@@ -461,23 +436,23 @@ void dComIfG_play_c::clearItemBombNumCount(u8 i_item) {
mItemBombNumCount[i_item] = 0;
}
-void dComIfG_play_c::setNowVibration(u8 pStatus) {
- mNowVibration = pStatus;
+void dComIfG_play_c::setNowVibration(u8 vib_status) {
+ mNowVibration = vib_status;
}
u32 dComIfG_play_c::getNowVibration() {
return mNowVibration;
}
-void dComIfG_play_c::setStartStage(dStage_startStage_c* pStartStage) {
+void dComIfG_play_c::setStartStage(dStage_startStage_c* p_startStage) {
mLayerOld = mStartStage.getLayer();
- mStartStage = *pStartStage;
+ mStartStage = *p_startStage;
}
/* 8002B3F4-8002B434 025D34 0040+00 1/1 0/0 0/0 .text dComIfG_get_timelayer__FPi */
-void dComIfG_get_timelayer(int* pLayer) {
- if (dKy_daynight_check__Fv()) {
- *pLayer += 1;
+void dComIfG_get_timelayer(int* layer) {
+ if (dKy_daynight_check()) {
+ *layer += 1;
}
}
@@ -1163,7 +1138,8 @@ int dComIfG_play_c::getLayerNo_common_common(const char* stageName, int roomId,
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
-asm int dComIfG_play_c::getLayerNo_common_common(char const* param_0, int param_1, int param_2) {
+asm int dComIfG_play_c::getLayerNo_common_common(char const* i_stageName, int i_roomID,
+ int i_layerOverride) {
nofralloc
#include "asm/d/com/d_com_inf_game/getLayerNo_common_common__14dComIfG_play_cFPCcii.s"
}
@@ -1183,104 +1159,74 @@ int dComIfG_play_c::getLayerNo_common(char const* i_stageName, int i_roomID, int
/* 8002C97C-8002C9D8 0272BC 005C+00 1/1 22/22 68/68 .text getLayerNo__14dComIfG_play_cFi
*/
-#ifdef NONMATCHING
-int dComIfG_play_c::getLayerNo(int param_0) {
- int roomNo = dComIfGp_roomControl_getStayNo();
+int dComIfG_play_c::getLayerNo(int) {
+ s32 roomNo = dComIfGp_roomControl_getStayNo();
- if (roomNo <= -1) {
+ if ((s8)roomNo <= -1) {
roomNo = dComIfGp_getStartStageRoomNo();
}
- int layer = dComIfGp_getStartStageLayer();
- const char* stage = dComIfGp_getStartStageName();
-
- return getLayerNo_common(stage, roomNo, layer);
-}
-#else
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm int dComIfG_play_c::getLayerNo(int param_0) {
- nofralloc
-#include "asm/d/com/d_com_inf_game/getLayerNo__14dComIfG_play_cFi.s"
+ return getLayerNo_common(dComIfGp_getStartStageName(), roomNo, dComIfGp_getStartStageLayer());
}
-#pragma pop
-#endif
/* 8002C9D8-8002CA1C 027318 0044+00 0/0 1/1 0/0 .text createParticle__14dComIfG_play_cFv
*/
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void dComIfG_play_c::createParticle() {
- nofralloc
-#include "asm/d/com/d_com_inf_game/createParticle__14dComIfG_play_cFv.s"
+void dComIfG_play_c::createParticle() {
+ mParticle = new dPa_control_c();
}
-#pragma pop
/* 8002CA1C-8002CA70 02735C 0054+00 0/0 1/1 0/0 .text createSimpleModel__14dComIfG_play_cFv */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm u32 dComIfG_play_c::createSimpleModel() {
- nofralloc
-#include "asm/d/com/d_com_inf_game/createSimpleModel__14dComIfG_play_cFv.s"
+dSmplMdl_draw_c* dComIfG_play_c::createSimpleModel() {
+ if (mSimpleModel == NULL) {
+ mSimpleModel = new dSmplMdl_draw_c();
+ }
+ return mSimpleModel;
}
-#pragma pop
/* 8002CA70-8002CAC4 0273B0 0054+00 0/0 1/1 0/0 .text deleteSimpleModel__14dComIfG_play_cFv */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void dComIfG_play_c::deleteSimpleModel() {
- nofralloc
-#include "asm/d/com/d_com_inf_game/deleteSimpleModel__14dComIfG_play_cFv.s"
+void dComIfG_play_c::deleteSimpleModel() {
+ if (mSimpleModel != NULL) {
+ delete mSimpleModel;
+ mSimpleModel = NULL;
+ }
}
-#pragma pop
/* 8002CAC4-8002CAF0 027404 002C+00 0/0 1/1 0/0 .text drawSimpleModel__14dComIfG_play_cFv
*/
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void dComIfG_play_c::drawSimpleModel() {
- nofralloc
-#include "asm/d/com/d_com_inf_game/drawSimpleModel__14dComIfG_play_cFv.s"
+void dComIfG_play_c::drawSimpleModel() {
+ if (mSimpleModel != NULL) {
+ mSimpleModel->draw();
+ }
}
-#pragma pop
/* 8002CAF0-8002CB30 027430 0040+00 0/0 0/0 16/16 .text
* addSimpleModel__14dComIfG_play_cFP12J3DModelDataiUc */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm u32 dComIfG_play_c::addSimpleModel(J3DModelData* param_0, int param_1, u8 param_2) {
- nofralloc
-#include "asm/d/com/d_com_inf_game/addSimpleModel__14dComIfG_play_cFP12J3DModelDataiUc.s"
+int dComIfG_play_c::addSimpleModel(J3DModelData* i_modelData, int roomNo, u8 drawBG) {
+ if (mSimpleModel != NULL && mSimpleModel->addModel(i_modelData, roomNo, drawBG)) {
+ return 1;
+ }
+
+ return -1;
}
-#pragma pop
/* 8002CB30-8002CB68 027470 0038+00 0/0 0/0 16/16 .text
* removeSimpleModel__14dComIfG_play_cFP12J3DModelDatai */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm u32 dComIfG_play_c::removeSimpleModel(J3DModelData* param_0, int param_1) {
- nofralloc
-#include "asm/d/com/d_com_inf_game/removeSimpleModel__14dComIfG_play_cFP12J3DModelDatai.s"
+int dComIfG_play_c::removeSimpleModel(J3DModelData* i_modelData, int roomNo) {
+ if (mSimpleModel != NULL) {
+ mSimpleModel->removeModel(i_modelData, roomNo);
+ return 1;
+ }
+
+ return 0;
}
-#pragma pop
/* 8002CB68-8002CB94 0274A8 002C+00 0/0 0/0 16/16 .text
* entrySimpleModel__14dComIfG_play_cFP8J3DModeli */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm u32 dComIfG_play_c::entrySimpleModel(J3DModel* param_0, int param_1) {
- nofralloc
-#include "asm/d/com/d_com_inf_game/entrySimpleModel__14dComIfG_play_cFP8J3DModeli.s"
+void dComIfG_play_c::entrySimpleModel(J3DModel* i_model, int roomNo) {
+ if (mSimpleModel != NULL) {
+ mSimpleModel->entry(i_model, roomNo);
+ }
}
-#pragma pop
void dComIfG_play_c::setTimerNowTimeMs(int time) {
mTimerInfo.mTimerNowTimeMs = time;
@@ -1315,8 +1261,8 @@ u8 dComIfG_play_c::getTimerType() {
}
/* 8002CBD4-8002CBDC -00001 0008+00 0/0 0/0 0/0 .text setTimerPtr__14dComIfG_play_cFP8dTimer_c */
-void dComIfG_play_c::setTimerPtr(dTimer_c* pTimerPtr) {
- mTimerInfo.mTimerPtr = pTimerPtr;
+void dComIfG_play_c::setTimerPtr(dTimer_c* ptr) {
+ mTimerInfo.mTimerPtr = ptr;
}
/* 8002CBDC-8002CBE4 02751C 0008+00 6/6 7/7 15/15 .text getTimerPtr__14dComIfG_play_cFv
@@ -1339,13 +1285,6 @@ void dComIfG_inf_c::ct() {
field_0x1de0a = 0xFF;
}
-/* ############################################################################################## */
-/* 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_80379043 = "F_SP102";
-#pragma pop
-
/* 80450600-80450604 000080 0004+00 0/0 18/18 2/2 .sdata g_clearColor */
SECTION_SDATA extern GXColor g_clearColor = {0, 0, 0, 0};
@@ -1354,35 +1293,43 @@ SECTION_SDATA extern GXColor g_blackColor = {0, 0, 0, 255};
/* 8002CC54-8002CD44 027594 00F0+00 1/1 1/1 0/0 .text dComIfG_changeOpeningScene__FP11scene_classs
*/
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void dComIfG_changeOpeningScene(scene_class* param_0, s16 param_1) {
- nofralloc
-#include "asm/d/com/d_com_inf_game/dComIfG_changeOpeningScene__FP11scene_classs.s"
+int dComIfG_changeOpeningScene(scene_class* scene, s16 procName) {
+ dComIfGp_offEnableNextStage();
+ dComIfGp_setNextStage("F_SP102", 100, 0, 10);
+ mDoAud_setSceneName(dComIfGp_getNextStageName(), dComIfGp_getNextStageRoomNo(),
+ dComIfGp_getNextStageLayer());
+ dComIfGs_setRestartRoomParam(0);
+
+ if (mDoGph_gInf_c::getFader()->getStatus() == 1) {
+ mDoGph_gInf_c::setFadeColor(*(JUtility::TColor*)&g_blackColor);
+ }
+
+ fopScnM_ChangeReq(scene, procName, 0, 30);
+ fopScnM_ReRequest(procName, 0);
+
+ return 1;
}
-#pragma pop
/* 8002CD44-8002CDB8 027684 0074+00 0/0 2/2 0/0 .text dComIfG_resetToOpening__FP11scene_class */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm BOOL dComIfG_resetToOpening(scene_class* param_0) {
- nofralloc
-#include "asm/d/com/d_com_inf_game/dComIfG_resetToOpening__FP11scene_class.s"
+BOOL dComIfG_resetToOpening(scene_class* scene) {
+ if (mDoRst::isReturnToMenu() || !mDoRst::isReset() ||
+ mDoGph_gInf_c::getFader()->getStatus() == 2) {
+ return 0;
+ }
+
+ dComIfG_changeOpeningScene(scene, PROC_OPENING_SCENE);
+ mDoAud_bgmStop(30);
+ mDoAud_resetProcess();
+ return 1;
}
-#pragma pop
static int phase_1(char* arc_name) {
- int ret;
-
if (!dComIfG_setObjectRes(arc_name, 0, NULL)) {
OSReport_Error("%s.arc Read Error !!\n", arc_name);
- ret = 5;
- } else {
- ret = 2;
+ return 5;
}
- return ret;
+
+ return 2;
}
/* 8002CE38-8002CEB4 027778 007C+00 1/0 0/0 0/0 .text phase_2__FPc */
@@ -1398,55 +1345,35 @@ static int phase_2(char* arc_name) {
}
/* 8002CEB4-8002CEBC 0277F4 0008+00 1/0 0/0 0/0 .text phase_3__FPc */
-static int phase_3(char* param_0) {
+static int phase_3(char*) {
return 4;
}
-typedef int (*dComIfG_phaseMethod)(char*);
-typedef int (*dComIfG_phaseMethod0)(phaseParam_c*);
-
-/* ############################################################################################## */
-/* 803A71B8-803A71C4 -00001 000C+00 1/1 0/0 0/0 .data l_method$5017 */
-SECTION_DATA static dComIfG_phaseMethod l_method_5017[3] = {
- phase_1,
- phase_2,
- phase_3,
-};
-
/* 8002CEBC-8002CEFC 0277FC 0040+00 0/0 7/7 550/550 .text
* dComIfG_resLoad__FP30request_of_phase_process_classPCc */
-#ifdef NONMATCHING
-int dComIfG_resLoad(request_of_phase_process_class* param_0, char const* param_1) {
- if (param_0->mPhaseStep == 2) {
+int dComIfG_resLoad(request_of_phase_process_class* i_phase, char const* arc_name) {
+ static int (*l_method[3])(void*) = {(int (*)(void*))phase_1, (int (*)(void*))phase_2,
+ (int (*)(void*))phase_3};
+
+ if (i_phase->mPhaseStep == 2) {
return 4;
- } else {
- dComLbG_PhaseHandler(param_0, &l_method_5017[0], (void*)param_1);
}
- return 0;
-}
-#else
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void dComIfG_resLoad(request_of_phase_process_class* param_0, char const* param_1) {
- nofralloc
-#include "asm/d/com/d_com_inf_game/dComIfG_resLoad__FP30request_of_phase_process_classPCc.s"
+
+ return dComLbG_PhaseHandler(i_phase, l_method, (void*)arc_name);
}
-#pragma pop
-#endif
/* 8002CEFC-8002CF5C 02783C 0060+00 1/0 0/0 0/0 .text phase_01__FP12phaseParam_c */
-static int phase_01(phaseParam_c* param_0) {
- if (dComIfG_setObjectRes(param_0->field_0x0, 0, param_0->heap) == 0) {
+static int phase_01(phaseParam_c* phase) {
+ if (dComIfG_setObjectRes(phase->mResName, 0, phase->mpHeap) == 0) {
return 5;
- } else {
- return 2;
}
+
+ return 2;
}
/* 8002CF5C-8002CFB8 02789C 005C+00 1/0 0/0 0/0 .text phase_02__FP12phaseParam_c */
-static int phase_02(phaseParam_c* param_0) {
- int syncStatus = dComIfG_syncObjectRes(param_0->field_0x0);
+static int phase_02(phaseParam_c* phase) {
+ int syncStatus = dComIfG_syncObjectRes(phase->mResName);
if (syncStatus < 0) {
return 5;
} else {
@@ -1455,90 +1382,102 @@ static int phase_02(phaseParam_c* param_0) {
}
/* 8002CFB8-8002CFC0 0278F8 0008+00 1/0 0/0 0/0 .text phase_03__FP12phaseParam_c */
-static int phase_03(phaseParam_c* param_0) {
+static int phase_03(phaseParam_c*) {
return false;
}
-/* ############################################################################################## */
-/* 803A71C4-803A71D0 -00001 000C+00 1/1 0/0 0/0 .data l_method$5051 */
-SECTION_DATA static dComIfG_phaseMethod0 l_method_5051[3] = {
- phase_01,
- phase_02,
- phase_03,
-};
-
/* 8002CFC0-8002D008 027900 0048+00 1/1 3/3 0/0 .text
* dComIfG_resLoad__FP30request_of_phase_process_classPCcP7JKRHeap */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void dComIfG_resLoad(request_of_phase_process_class* param_0, char const* param_1,
- JKRHeap* param_2) {
- nofralloc
-#include "asm/d/com/d_com_inf_game/dComIfG_resLoad__FP30request_of_phase_process_classPCcP7JKRHeap.s"
+int dComIfG_resLoad(request_of_phase_process_class* i_phase, char const* resName, JKRHeap* heap) {
+ static int (*l_method[3])(void*) = {(int (*)(void*))phase_01, (int (*)(void*))phase_02,
+ (int (*)(void*))phase_03};
+
+ if (i_phase->mPhaseStep == 2) {
+ return 4;
+ }
+
+ phaseParam_c param(resName, heap);
+ return dComLbG_PhaseHandler(i_phase, l_method, &param);
}
-#pragma pop
/* 8002D008-8002D06C 027948 0064+00 1/1 10/10 540/540 .text
* dComIfG_resDelete__FP30request_of_phase_process_classPCc */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void dComIfG_resDelete(request_of_phase_process_class* param_0, char const* param_1) {
- nofralloc
-#include "asm/d/com/d_com_inf_game/dComIfG_resDelete__FP30request_of_phase_process_classPCc.s"
+int dComIfG_resDelete(request_of_phase_process_class* i_phase, char const* resName) {
+ if (i_phase->mPhaseStep != 2) {
+ return 0;
+ }
+
+ dComIfG_deleteObjectResMain(resName);
+ i_phase->mPhaseStep = 0;
+ return 1;
}
-#pragma pop
-u8 dComIfGp_getReverb(int param_0) {
- return dStage_roomRead_dt_c_GetReverbStage(*dComIfGp_getStageRoom(), param_0);
+u8 dComIfGp_getReverb(int roomNo) {
+ return dStage_roomRead_dt_c_GetReverbStage(*dComIfGp_getStageRoom(), roomNo);
}
-/* ############################################################################################## */
-/* 80451D00-80451D04 000300 0004+00 2/2 0/0 0/0 .sdata2 @5090 */
-SECTION_SDATA2 static f32 lit_5090 = -1000000000.0f;
+inline int dComIfGd_setSimpleShadow(cXyz* pos, f32 param_1, f32 param_2, cXyz* param_3, s16 angle,
+ f32 param_5, _GXTexObj* tex) {
+ return g_dComIfG_gameInfo.drawlist.setSimpleShadow(pos, param_1, param_2, param_3, angle,
+ param_5, tex);
+}
/* 8002D0B4-8002D1AC 0279F4 00F8+00 0/0 3/3 34/34 .text
* dComIfGd_setSimpleShadow__FP4cXyzffR13cBgS_PolyInfosfP9_GXTexObj */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void dComIfGd_setSimpleShadow(cXyz* param_0, f32 param_1, f32 param_2, cBgS_PolyInfo& param_3,
- s16 param_4, f32 param_5, _GXTexObj* param_6) {
- nofralloc
-#include "asm/d/com/d_com_inf_game/dComIfGd_setSimpleShadow__FP4cXyzffR13cBgS_PolyInfosfP9_GXTexObj.s"
+int dComIfGd_setSimpleShadow(cXyz* pos, f32 param_1, f32 param_2, cBgS_PolyInfo& param_3, s16 angle,
+ f32 param_5, _GXTexObj* tex) {
+ if (param_3.ChkSetInfo() && -1000000000.0f != param_1) {
+ cM3dGPla plane;
+ dComIfG_Bgsp().GetTriPla(param_3, &plane);
+
+ return dComIfGd_setSimpleShadow(pos, param_1, param_2, &plane.mNormal, angle, param_5, tex);
+ } else {
+ return 0;
+ }
}
-#pragma pop
/* 8002D1AC-8002D25C 027AEC 00B0+00 0/0 0/0 1/1 .text dComIfGp_getMapTrans__FiPfPfPs */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void dComIfGp_getMapTrans(int param_0, f32* param_1, f32* param_2, s16* param_3) {
- nofralloc
-#include "asm/d/com/d_com_inf_game/dComIfGp_getMapTrans__FiPfPfPs.s"
+int dComIfGp_getMapTrans(int roomNo, f32* transX, f32* transY, s16* angle) {
+ dStage_Multi_c* multi = dComIfGp_getMulti();
+ if (multi == NULL) {
+ return 0;
+ }
+
+ dStage_Mult_info* info = multi->mInfo;
+ for (int i = 0; i < multi->field_0x0; i++) {
+ if (roomNo == info->mRoomNo) {
+ *transX = info->mTransX;
+ *transY = info->mTransY;
+ *angle = info->mAngle;
+ return 1;
+ }
+ info++;
+ }
+
+ return 0;
}
-#pragma pop
/* 8002D25C-8002D2AC 027B9C 0050+00 0/0 3/3 3/3 .text dComIfGp_getRoomCamera__Fi */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void dComIfGp_getRoomCamera(int param_0) {
- nofralloc
-#include "asm/d/com/d_com_inf_game/dComIfGp_getRoomCamera__Fi.s"
+stage_camera_class* dComIfGp_getRoomCamera(int roomNo) {
+ dStage_roomStatus_c* status = dComIfGp_roomControl_getStatusRoomDt(roomNo);
+
+ if (status == NULL) {
+ return NULL;
+ }
+
+ return status->mRoomDt.getCamera();
}
-#pragma pop
/* 8002D2AC-8002D2FC 027BEC 0050+00 0/0 3/3 3/3 .text dComIfGp_getRoomArrow__Fi */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void dComIfGp_getRoomArrow(int param_0) {
- nofralloc
-#include "asm/d/com/d_com_inf_game/dComIfGp_getRoomArrow__Fi.s"
+stage_arrow_class* dComIfGp_getRoomArrow(int roomNo) {
+ dStage_roomStatus_c* status = dComIfGp_roomControl_getStatusRoomDt(roomNo);
+
+ if (status == NULL) {
+ return NULL;
+ }
+
+ return status->mRoomDt.getArrow();
}
-#pragma pop
/* ############################################################################################## */
/* 80378F38-80378F38 005598 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
@@ -1548,29 +1487,82 @@ SECTION_DEAD static char const* const stringBase_80379089 = "";
#pragma pop
/* 8002D2FC-8002D554 027C3C 0258+00 2/2 7/7 4/4 .text dComIfGp_setNextStage__FPCcsScScfUliScsii */
+// 1 out of order instruction, small regalloc
+#ifdef NONMATCHING
+void dComIfGp_setNextStage(char const* stage, s16 point, s8 roomNo, s8 layer, f32 lastSpeed,
+ u32 lastMode, int param_6, s8 wipe, s16 lastAngle, int param_9,
+ int param_10) {
+ u32 mode = lastMode;
+
+ if (layer >= 15) {
+ layer = -1;
+ }
+
+ if (dComIfGs_isPlayerFieldLastStayFieldDataExistFlag() &&
+ daPy_getLinkPlayerActorClass() != NULL) {
+ s8 curPoint = (s8)daPy_getLinkPlayerActorClass()->mCurrent.mRoomNo;
+ cXyz pos = dMapInfo_n::getMapPlayerPos();
+ s16 angle = daPy_getLinkPlayerActorClass()->mCollisionRot.y;
+ u8 level = dComIfGp_getNowLevel();
+ dComIfGs_setPlayerFieldLastStayInfo(dComIfGp_getStartStageName(), pos, angle, curPoint,
+ level);
+ }
+
+ if (!strcmp(stage, "F_SP121") && roomNo == 13 && (point == 99 || point == 98) && layer == 2) {
+ dComIfGs_setKeyNum(6, 2);
+ } else {
+ dComIfGs_setKeyNum(6, 0);
+ }
+
+ if (daAlink_getAlinkActorClass() != NULL) {
+ daAlink_getAlinkActorClass()->setLastSceneMode(&mode);
+ }
+
+ if (strcmp(dMeter2Info_getSaveStageName(), "") &&
+ strcmp(stage, dMeter2Info_getSaveStageName())) {
+ dMeter2Info_setSaveStageName("");
+ }
+
+ u8 wipe_speed;
+ switch (param_10) {
+ case 0:
+ wipe_speed = 26;
+ break;
+ case 1:
+ wipe_speed = 13;
+ break;
+ case 2:
+ wipe_speed = 6;
+ break;
+ case 3:
+ wipe_speed = 1;
+ break;
+ default:
+ wipe_speed = 26;
+ break;
+ }
+
+ g_dComIfG_gameInfo.play.setNextStage(stage, roomNo, point, layer, wipe, wipe_speed);
+ g_dComIfG_gameInfo.info.getRestart().setLastSceneInfo(lastSpeed, mode, lastAngle);
+ if (param_6 != 0) {
+ dComIfGs_setStartPoint(point);
+ }
+}
+#else
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
-asm void dComIfGp_setNextStage(char const* param_0, s16 param_1, s8 param_2, s8 param_3,
- f32 param_4, u32 param_5, int param_6, s8 param_7, s16 param_8,
- int param_9, int param_10) {
+asm void dComIfGp_setNextStage(char const* stage, s16 point, s8 roomNo, s8 layer, f32 lastSpeed,
+ u32 lastMode, int param_6, s8 wipe, s16 lastAngle, int param_9,
+ int param_10) {
nofralloc
#include "asm/d/com/d_com_inf_game/dComIfGp_setNextStage__FPCcsScScfUliScsii.s"
}
#pragma pop
+#endif
-/* ############################################################################################## */
-/* 80451D04-80451D08 000304 0004+00 2/2 0/0 0/0 .sdata2 @5226 */
-SECTION_SDATA2 static u8 lit_5226[4] = {
- 0x00,
- 0x00,
- 0x00,
- 0x00,
-};
-
-void dComIfGp_setNextStage(char const* param_0, s16 param_1, s8 param_2, s8 param_3) {
- dComIfGp_setNextStage(param_0, param_1, param_2, param_3, FLOAT_LABEL(lit_5226), 0, 1, 0, 0, 1,
- 0);
+void dComIfGp_setNextStage(char const* stage, s16 point, s8 roomNo, s8 layer) {
+ dComIfGp_setNextStage(stage, point, roomNo, layer, 0.0f, 0, 1, 0, 0, 1, 0);
}
BOOL dComIfGs_isStageTbox(int i_stageNo, int i_no) {
@@ -1652,15 +1644,32 @@ s8 dComIfGs_sense_type_change_Get() {
return g_dComIfG_gameInfo.field_0x1ddfa;
}
+inline void dComIfGs_onSvZoneSwitch(int zoneNo, int swBit) {
+ g_dComIfG_gameInfo.info.getZone(zoneNo).getZoneBit().onSwitch(swBit);
+}
+
/* 8002D94C-8002D9B0 02828C 0064+00 0/0 1/1 17/17 .text dComIfGs_onZoneSwitch__Fii */
+#ifdef NONMATCHING
+void dComIfGs_onZoneSwitch(int swBit, int roomNo) {
+ if (roomNo < 0) {
+ return;
+ }
+
+ if (dComIfGp_roomControl_getStayNo() >= 0) {
+ int zoneNo = dStage_roomControl_c::getZoneNo(roomNo);
+ dComIfGs_onSvZoneSwitch(zoneNo, swBit);
+ }
+}
+#else
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
-asm void dComIfGs_onZoneSwitch(int param_0, int param_1) {
+asm void dComIfGs_onZoneSwitch(int swBit, int roomNo) {
nofralloc
#include "asm/d/com/d_com_inf_game/dComIfGs_onZoneSwitch__Fii.s"
}
#pragma pop
+#endif
int dStage_roomControl_c::getZoneNo(int i_roomNo) {
return mStatus[i_roomNo].getZoneNo();
@@ -1750,73 +1759,94 @@ void dComIfGs_setMixItemIndex(int i_no, u8 item_index) {
}
/* 8002DD3C-8002DDC8 02867C 008C+00 3/3 1/1 0/0 .text dComIfGs_getSelectMixItemNoArrowIndex__Fi */
-#ifdef NONMATCHING
-u8 dComIfGs_getSelectMixItemNoArrowIndex(int p1) {
- u8 item_index = dComIfGs_getSelectItemIndex(p1);
- u8 mix_index = dComIfGs_getMixItemIndex(p1);
+u8 dComIfGs_getSelectMixItemNoArrowIndex(int index) {
+ u8 item_index = dComIfGs_getSelectItemIndex(index);
+ u8 mix_index = dComIfGs_getMixItemIndex(index);
- if (item_index >= 0xf && item_index < 0x12) {
+ if (item_index >= SLOT_15 && item_index < SLOT_18) {
return item_index;
}
- else if (mix_index != 255 && (mix_index >= 0xf && mix_index < 0x12)) {
- return 255;
+ if (mix_index != NO_ITEM && mix_index >= SLOT_15 && mix_index < SLOT_18) {
+ return mix_index;
}
- // return p1;
-}
-#else
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm u8 dComIfGs_getSelectMixItemNoArrowIndex(int param_0) {
- nofralloc
-#include "asm/d/com/d_com_inf_game/dComIfGs_getSelectMixItemNoArrowIndex__Fi.s"
+ return NO_ITEM;
}
-#pragma pop
-#endif
u8 dComIfGs_getMixItemIndex(int i_no) {
return g_dComIfG_gameInfo.info.getPlayer().getPlayerStatusA().getMixItemIndex(i_no);
}
/* 8002DDF4-8002DF1C 028734 0128+00 1/1 13/13 0/0 .text dComIfGp_setSelectItem__Fi */
-void dComIfGp_setSelectItem(int idx) {
- if (idx == 2) {
- if (dComIfGs_getSelectItemIndex(idx) != 0xFF) {
- u8 selectItemIdx = dComIfGs_getSelectItemIndex(idx);
- g_dComIfG_gameInfo.play.setSelectItem(idx, selectItemIdx);
-
- if (selectItemIdx == 0xFF) {
- dComIfGs_setSelectItemIndex(idx, -1);
+void dComIfGp_setSelectItem(int index) {
+ if (index == SELECT_ITEM_DOWN) {
+ if (dComIfGs_getSelectItemIndex(index) != NO_ITEM) {
+ u8 selectItemIdx = dComIfGs_getSelectItemIndex(index);
+ g_dComIfG_gameInfo.play.setSelectItem(index, selectItemIdx);
+
+ if (selectItemIdx == NO_ITEM) {
+ dComIfGs_setSelectItemIndex(index, NO_ITEM);
}
} else {
- g_dComIfG_gameInfo.play.setSelectItem(idx, -1);
+ g_dComIfG_gameInfo.play.setSelectItem(index, NO_ITEM);
}
- } else {
- if (dComIfGs_getSelectItemIndex(idx) != 0xFF) {
- u8 selectItemIdx = dComIfGs_getSelectItemIndex(idx);
- u8 item = dComIfGs_getItem(selectItemIdx, 0);
- g_dComIfG_gameInfo.play.setSelectItem(idx, item);
+ } else if (dComIfGs_getSelectItemIndex(index) != NO_ITEM) {
+ u8 item = dComIfGs_getItem(dComIfGs_getSelectItemIndex(index), false);
+ g_dComIfG_gameInfo.play.setSelectItem(index, item);
- if (item == 0xFF) {
- dComIfGs_setSelectItemIndex(idx, -1);
- }
- } else {
- g_dComIfG_gameInfo.play.setSelectItem(idx, -1);
+ if (item == NO_ITEM) {
+ dComIfGs_setSelectItemIndex(index, NO_ITEM);
}
+ } else {
+ g_dComIfG_gameInfo.play.setSelectItem(index, NO_ITEM);
}
}
/* 8002DF1C-8002E048 02885C 012C+00 4/4 19/19 0/0 .text dComIfGp_getSelectItem__Fi */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm u8 dComIfGp_getSelectItem(int param_0) {
- nofralloc
-#include "asm/d/com/d_com_inf_game/dComIfGp_getSelectItem__Fi.s"
+u8 dComIfGp_getSelectItem(int index) {
+ u8 playItem = g_dComIfG_gameInfo.play.getSelectItem(index);
+
+ if ((index == SELECT_ITEM_X || index == SELECT_ITEM_Y) &&
+ dComIfGs_getMixItemIndex(index) != NO_ITEM) {
+ u8 saveItem = dComIfGs_getItem(dComIfGs_getMixItemIndex(index), false);
+
+ if (saveItem == BOW) {
+ saveItem = playItem;
+ playItem = BOW;
+ } else if (saveItem == FISHING_ROD_1) {
+ saveItem = playItem;
+ playItem = FISHING_ROD_1;
+ }
+
+ if (playItem == BOW) {
+ switch (saveItem) {
+ case NORMAL_BOMB:
+ case WATER_BOMB:
+ case POKE_BOMB:
+ playItem = BOMB_ARROW;
+ break;
+ case HAWK_EYE:
+ playItem = HAWK_ARROW;
+ break;
+ }
+ } else if (playItem == FISHING_ROD_1) {
+ switch (saveItem) {
+ case BEE_CHILD:
+ playItem = BEE_ROD;
+ break;
+ case WORM:
+ playItem = WORM_ROD;
+ break;
+ case ZORAS_JEWEL:
+ playItem = JEWEL_ROD;
+ break;
+ }
+ }
+ }
+
+ return playItem;
}
-#pragma pop
void dComIfGp_mapShow() {
dComIfGs_offEventBit(0x1D01);
@@ -1831,33 +1861,32 @@ bool dComIfGp_checkMapShow() {
}
/* 8002E0E0-8002E188 028A20 00A8+00 0/0 9/9 0/0 .text dComIfGp_setHeapLockFlag__FUc */
-s32 dComIfGp_setHeapLockFlag(u8 param_0) {
- if (param_0 == 7 || param_0 == 8) {
+s32 dComIfGp_setHeapLockFlag(u8 flag) {
+ if (flag == 7 || flag == 8) {
if (!dComIfGp_isHeapLockFlag()) {
dComIfGp_createSubExpHeap2D();
}
g_dComIfG_gameInfo.play.setHeapLockFlag(5);
- int check = dComIfGp_checkEmptySubHeap2D();
- if (check >= 0) {
- dComIfGp_setSubHeapLockFlag(check, param_0);
+ int heapIndex = dComIfGp_checkEmptySubHeap2D();
+ if (heapIndex >= 0) {
+ dComIfGp_setSubHeapLockFlag(heapIndex, flag);
}
+ } else if (flag == 0) {
+ dComIfGp_offHeapLockFlag(0);
} else {
- if (param_0 == 0) {
- dComIfGp_offHeapLockFlag(0);
- } else {
- g_dComIfG_gameInfo.play.setHeapLockFlag(param_0);
- }
+ g_dComIfG_gameInfo.play.setHeapLockFlag(flag);
}
+
return 1;
}
-s32 dComIfGp_offHeapLockFlag(int param_0) {
+s32 dComIfGp_offHeapLockFlag(int flag) {
if (dComIfGp_isHeapLockFlag() == 5) {
- if (param_0 == 7 || param_0 == 8) {
- int check = dComIfGp_searchUseSubHeap2D(param_0);
- if (check >= 0) {
- dComIfGp_setSubHeapLockFlag(check, 0);
+ if (flag == 7 || flag == 8) {
+ int heapIndex = dComIfGp_searchUseSubHeap2D(flag);
+ if (heapIndex >= 0) {
+ dComIfGp_setSubHeapLockFlag(heapIndex, 0);
}
if (!dComIfGp_getSubHeapLockFlag(0) && !dComIfGp_getSubHeapLockFlag(1)) {
@@ -1868,6 +1897,7 @@ s32 dComIfGp_offHeapLockFlag(int param_0) {
} else {
g_dComIfG_gameInfo.play.offHeapLockFlag();
}
+
return 1;
}
@@ -1903,10 +1933,10 @@ int dComIfGp_checkEmptySubHeap2D() {
return -1;
}
-int dComIfGp_searchUseSubHeap2D(int param_0) {
+int dComIfGp_searchUseSubHeap2D(int flag) {
if (dComIfGp_isHeapLockFlag() == 5) {
for (int i = 0; i < 2; i++) {
- if (param_0 == dComIfGp_getSubHeapLockFlag(i)) {
+ if (flag == dComIfGp_getSubHeapLockFlag(i)) {
return i;
}
}
@@ -1914,10 +1944,10 @@ int dComIfGp_searchUseSubHeap2D(int param_0) {
return -1;
}
-JKRExpHeap* dComIfGp_getSubHeap2D(int param_0) {
+JKRExpHeap* dComIfGp_getSubHeap2D(int flag) {
if (dComIfGp_isHeapLockFlag() == 5) {
for (int i = 0; i < 2; i++) {
- if (param_0 == dComIfGp_getSubHeapLockFlag(i)) {
+ if (flag == dComIfGp_getSubHeapLockFlag(i)) {
return dComIfGp_getSubExpHeap2D(i);
}
}
@@ -1925,20 +1955,19 @@ JKRExpHeap* dComIfGp_getSubHeap2D(int param_0) {
return NULL;
}
-static u8 l_itemno[24] = {
- M_BEETLE, F_BEETLE, M_BUTTERFLY, F_BUTTERFLY, M_STAG_BEETLE, F_STAG_BEETLE,
- M_GRASSHOPPER, F_GRASSHOPPER, M_NANAFUSHI, F_NANAFUSHI, M_DANGOMUSHI, F_DANGOMUSHI,
- M_MANTIS, F_MANTIS, M_LADYBUG, F_LADYBUG, M_SNAIL, F_SNAIL,
- M_DRAGONFLY, F_DRAGONFLY, M_ANT, F_ANT, M_MAYFLY, F_MAYFLY,
-};
-
int dComIfGs_checkGetInsectNum() {
+ static u8 l_itemno[24] = {
+ M_BEETLE, F_BEETLE, M_BUTTERFLY, F_BUTTERFLY, M_STAG_BEETLE, F_STAG_BEETLE,
+ M_GRASSHOPPER, F_GRASSHOPPER, M_NANAFUSHI, F_NANAFUSHI, M_DANGOMUSHI, F_DANGOMUSHI,
+ M_MANTIS, F_MANTIS, M_LADYBUG, F_LADYBUG, M_SNAIL, F_SNAIL,
+ M_DRAGONFLY, F_DRAGONFLY, M_ANT, F_ANT, M_MAYFLY, F_MAYFLY,
+ };
+
int insectCount = 0;
- u8* insectList = &l_itemno[0];
- u8 insectId;
+ u8* insectList = l_itemno;
for (int i = 0; i < ARRAY_SIZE(l_itemno); i++) {
- insectId = *insectList;
+ u8 insectId = *insectList;
insectList++;
if (dComIfGs_isItemFirstBit(insectId) &&
dComIfGs_isEventBit(dSv_event_flag_c::saveBitLabels[0x191 + i])) {
@@ -1948,21 +1977,24 @@ int dComIfGs_checkGetInsectNum() {
return insectCount;
}
-u8 dComIfGs_checkGetItem(u8 i_no) {
+u8 dComIfGs_checkGetItem(u8 i_itemNo) {
u8 count = 0;
for (int i = 0; i < 60; i++) {
- if (i_no == dComIfGs_getItem(i, true)) {
+ if (i_itemNo == dComIfGs_getItem(i, true)) {
count++;
}
}
- if (dComIfGs_getSelectEquipClothes() == i_no) {
+
+ if (dComIfGs_getSelectEquipClothes() == i_itemNo) {
count++;
}
- if (dComIfGs_getSelectEquipSword() == i_no) {
+
+ if (dComIfGs_getSelectEquipSword() == i_itemNo) {
count++;
}
- if (dComIfGs_getSelectEquipShield() == i_no) {
+
+ if (dComIfGs_getSelectEquipShield() == i_itemNo) {
count++;
}
@@ -1974,18 +2006,18 @@ u8 dComIfGs_getBottleMax() {
}
/* 8002E5C0-8002E688 028F00 00C8+00 0/0 11/11 0/0 .text dComIfGp_getSelectItemNum__Fi */
-int dComIfGp_getSelectItemNum(int param_0) {
- u8 selectItem = dComIfGp_getSelectItem(param_0);
+int dComIfGp_getSelectItemNum(int index) {
+ u8 selectItem = dComIfGp_getSelectItem(index);
int itemNum = 0;
if (selectItem == NORMAL_BOMB || selectItem == WATER_BOMB || selectItem == POKE_BOMB ||
selectItem == BOMB_ARROW) {
- selectItem = dComIfGs_getSelectMixItemNoArrowIndex(param_0) - SLOT_15;
+ selectItem = dComIfGs_getSelectMixItemNoArrowIndex(index) - SLOT_15;
itemNum = dComIfGs_getBombNum(selectItem);
} else if (selectItem == PACHINKO) {
itemNum = dComIfGs_getPachinkoNum();
} else if (selectItem == BEE_CHILD) {
- selectItem = dComIfGs_getSelectItemIndex(param_0);
+ selectItem = dComIfGs_getSelectItemIndex(index);
itemNum = dComIfGs_getBottleNum(selectItem - SLOT_11);
}
@@ -1993,8 +2025,8 @@ int dComIfGp_getSelectItemNum(int param_0) {
}
/* 8002E688-8002E714 028FC8 008C+00 0/0 5/5 0/0 .text dComIfGp_getSelectItemMaxNum__Fi */
-int dComIfGp_getSelectItemMaxNum(int param_0) {
- u8 selectItem = dComIfGp_getSelectItem(param_0);
+int dComIfGp_getSelectItemMaxNum(int index) {
+ u8 selectItem = dComIfGp_getSelectItem(index);
int itemNum = 0;
if (selectItem == BOMB_BAG_LV1) {
@@ -2012,98 +2044,73 @@ int dComIfGp_getSelectItemMaxNum(int param_0) {
}
/* 8002E714-8002E83C 029054 0128+00 0/0 2/2 0/0 .text dComIfGp_setSelectItemNum__Fis */
-// two swapped instructions
-#ifdef NONMATCHING
-void dComIfGp_setSelectItemNum(int param_0, s16 param_1) {
- u8 selectItem = dComIfGp_getSelectItem(param_0);
- u8 selectMixItem;
- int itemNum;
+void dComIfGp_setSelectItemNum(int index, s16 num) {
+ u8 selectItem = dComIfGp_getSelectItem(index);
if (selectItem == NORMAL_BOMB || selectItem == WATER_BOMB || selectItem == POKE_BOMB ||
selectItem == BOMB_ARROW) {
- selectMixItem = dComIfGs_getSelectMixItemNoArrowIndex(param_0) - SLOT_15;
- itemNum = dComIfGs_getBombMax(selectItem);
+ u8 mix_index = dComIfGs_getSelectMixItemNoArrowIndex(index) - SLOT_15;
- if (itemNum > param_1) {
- param_1 = dComIfGs_getBombMax(selectItem);
+ if (num > dComIfGs_getBombMax(selectItem)) {
+ num = dComIfGs_getBombMax(selectItem);
}
- dComIfGs_setBombNum(selectMixItem, param_1);
+ dComIfGs_setBombNum(mix_index, num);
} else if (selectItem == PACHINKO) {
- dComIfGs_setPachinkoNum(param_1);
+ dComIfGs_setPachinkoNum(num);
} else if (selectItem == BEE_CHILD) {
- selectItem = dComIfGs_getSelectItemIndex(param_0) - SLOT_11;
- itemNum = dComIfGs_getBottleMax();
+ u8 bottle_idx = dComIfGs_getSelectItemIndex(index) - SLOT_11;
- if (itemNum > param_1) {
- param_1 = dComIfGs_getBottleMax();
+ if (num > dComIfGs_getBottleMax()) {
+ num = dComIfGs_getBottleMax();
}
- dComIfGs_setBottleNum(selectItem, param_1);
+ dComIfGs_setBottleNum(bottle_idx, num);
}
}
-#else
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void dComIfGp_setSelectItemNum(int param_0, s16 param_1) {
- nofralloc
-#include "asm/d/com/d_com_inf_game/dComIfGp_setSelectItemNum__Fis.s"
-}
-#pragma pop
-#endif
/* 8002E83C-8002E910 02917C 00D4+00 0/0 5/5 0/0 .text dComIfGp_addSelectItemNum__Fis */
-void dComIfGp_addSelectItemNum(int param_0, s16 param_1) {
- u8 selectItem = dComIfGp_getSelectItem(param_0);
- u8 selectMixItem;
- int itemNum;
+void dComIfGp_addSelectItemNum(int index, s16 num) {
+ u8 selectItem = dComIfGp_getSelectItem(index);
if (selectItem == NORMAL_BOMB || selectItem == WATER_BOMB || selectItem == POKE_BOMB ||
selectItem == BOMB_ARROW) {
- selectMixItem = dComIfGs_getSelectMixItemNoArrowIndex(param_0) - SLOT_15;
- dComIfGp_setItemBombNumCount(selectMixItem, param_1);
+ u8 mix_index = dComIfGs_getSelectMixItemNoArrowIndex(index) - SLOT_15;
+ dComIfGp_setItemBombNumCount(mix_index, num);
} else if (selectItem == PACHINKO) {
- dComIfGp_setItemPachinkoNumCount(param_1);
+ dComIfGp_setItemPachinkoNumCount(num);
} else if (selectItem == BEE_CHILD) {
- selectItem = dComIfGs_getSelectItemIndex(param_0);
- dComIfGs_addBottleNum(selectItem - SLOT_11, param_1);
+ selectItem = dComIfGs_getSelectItemIndex(index);
+ dComIfGs_addBottleNum(selectItem - SLOT_11, num);
}
}
+inline int dComIfGd_setRealShadow(u32 param_0, s8 param_1, J3DModel* param_2, cXyz* param_3,
+ f32 param_4, f32 param_5, dKy_tevstr_c* param_6) {
+ return g_dComIfG_gameInfo.drawlist.setRealShadow(param_0, param_1, param_2, param_3, param_4,
+ param_5, param_6);
+}
+
/* 8002E910-8002E974 029250 0064+00 0/0 5/5 137/137 .text
* dComIfGd_setShadow__FUlScP8J3DModelP4cXyzffffR13cBgS_PolyInfoP12dKy_tevstr_csfP9_GXTexObj */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void dComIfGd_setShadow(u32 param_0, s8 param_1, J3DModel* param_2, cXyz* param_3, f32 param_4,
- f32 param_5, f32 param_6, f32 param_7, cBgS_PolyInfo& param_8,
- dKy_tevstr_c* param_9, s16 param_10, f32 param_11,
- _GXTexObj* param_12) {
- nofralloc
-#include "asm/d/com/d_com_inf_game/dComIfGd_setShadow__FUlScP8J3DModelP4cXyzffffR13cBgS_PolyInfoP12dKy_tevstr_csfP9_GXTexObj.s"
+int dComIfGd_setShadow(u32 param_0, s8 param_1, J3DModel* param_2, cXyz* param_3, f32 param_4,
+ f32 param_5, f32 param_6, f32 param_7, cBgS_PolyInfo& param_8,
+ dKy_tevstr_c* param_9, s16 param_10, f32 param_11, _GXTexObj* param_12) {
+ if (param_7 <= -1000000000.0f) {
+ return 0;
+ } else {
+ return dComIfGd_setRealShadow(param_0, param_1, param_2, param_3, param_4,
+ param_6 - param_7, param_9);
+ }
}
-#pragma pop
/* 8002E974-8002E9D4 0292B4 0060+00 0/0 1/1 0/0 .text dComIfGs_gameStart__Fv */
-// instruction in wrong place
-#ifdef NONMATCHING
void dComIfGs_gameStart() {
dComIfGp_offEnableNextStage();
s8 roomNo = g_dComIfG_gameInfo.info.getPlayer().getPlayerReturnPlace().getRoomNo();
- u8 status = g_dComIfG_gameInfo.info.getPlayer().getPlayerReturnPlace().getPlayerStatus();
+ s16 point = g_dComIfG_gameInfo.info.getPlayer().getPlayerReturnPlace().getPlayerStatus();
char* name = g_dComIfG_gameInfo.info.getPlayer().getPlayerReturnPlace().getName();
- dComIfGp_setNextStage(name, status, roomNo, -1, FLOAT_LABEL(lit_5226), 0, 1, 0, 0, 0, 0);
-}
-#else
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void dComIfGs_gameStart() {
- nofralloc
-#include "asm/d/com/d_com_inf_game/dComIfGs_gameStart__Fv.s"
+ dComIfGp_setNextStage(name, point, roomNo, -1, 0.0f, 0, 1, 0, 0, 0, 0);
}
-#pragma pop
-#endif
u32 dComIfG_getTrigA(u32 pad) {
return mDoCPd_c::getTrigA(pad);
@@ -2152,23 +2159,28 @@ BOOL dComIfGp_isLightDropMapVisible() {
}
/* 8002EE60-8002EEB0 0297A0 0050+00 1/1 11/11 0/0 .text dComIfGp_getNowLevel__Fv */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void dComIfGp_getNowLevel() {
- nofralloc
-#include "asm/d/com/d_com_inf_game/dComIfGp_getNowLevel__Fv.s"
+u8 dComIfGp_getNowLevel() {
+ int roomNo = -1;
+ if (daPy_getLinkPlayerActorClass() != NULL) {
+ roomNo = fopAcM_GetRoomNo(daPy_getLinkPlayerActorClass());
+ }
+
+ if (roomNo < 0) {
+ roomNo = dComIfGp_getStartStageRoomNo();
+ }
+
+ return dStage_roomControl_c::getRegionNo(roomNo);
}
-#pragma pop
-void dComIfGs_setSelectEquipClothes(u8 item) {
- g_dComIfG_gameInfo.info.getPlayer().getPlayerStatusA().setSelectEquip(COLLECT_CLOTHING, item);
+void dComIfGs_setSelectEquipClothes(u8 i_itemNo) {
+ g_dComIfG_gameInfo.info.getPlayer().getPlayerStatusA().setSelectEquip(COLLECT_CLOTHING,
+ i_itemNo);
}
/* 8002EEC0-8002EF94 029800 00D4+00 0/0 4/4 1/1 .text dComIfGs_setSelectEquipSword__FUc
*/
-void dComIfGs_setSelectEquipSword(u8 i_itemId) {
- switch (i_itemId) {
+void dComIfGs_setSelectEquipSword(u8 i_itemNo) {
+ switch (i_itemNo) {
case SWORD:
dComIfGs_setCollectSword(COLLECT_ORDON_SWORD);
break;
@@ -2183,13 +2195,13 @@ void dComIfGs_setSelectEquipSword(u8 i_itemId) {
break;
}
- g_dComIfG_gameInfo.info.getPlayer().getPlayerStatusA().setSelectEquip(1, i_itemId);
+ g_dComIfG_gameInfo.info.getPlayer().getPlayerStatusA().setSelectEquip(COLLECT_SWORD, i_itemNo);
}
/* 8002EF94-8002F040 0298D4 00AC+00 0/0 2/2 0/0 .text dComIfGs_setSelectEquipShield__FUc
*/
-void dComIfGs_setSelectEquipShield(u8 i_itemId) {
- switch (i_itemId) {
+void dComIfGs_setSelectEquipShield(u8 i_itemNo) {
+ switch (i_itemNo) {
case WOOD_SHIELD:
dComIfGs_setCollectShield(COLLECT_WOODEN_SHIELD);
break;
@@ -2201,7 +2213,7 @@ void dComIfGs_setSelectEquipShield(u8 i_itemId) {
break;
}
- g_dComIfG_gameInfo.info.getPlayer().getPlayerStatusA().setSelectEquip(2, i_itemId);
+ g_dComIfG_gameInfo.info.getPlayer().getPlayerStatusA().setSelectEquip(COLLECT_SHIELD, i_itemNo);
}
void dComIfGs_setKeyNum(int i_stageNo, u8 keyNum) {
@@ -2218,31 +2230,31 @@ void dComIfGs_setKeyNum(int i_stageNo, u8 keyNum) {
/* 8002F0E0-8002F128 029A20 0048+00 1/1 0/0 0/0 .text dComIfGs_setWarpItemData__FiPCc4cXyzsScUcUc
*/
-static void dComIfGs_setWarpItemData(int param_0, char const* param_1, cXyz param_2, s16 param_3,
- s8 param_4, u8 param_5, u8 param_6) {
- g_dComIfG_gameInfo.play.setWarpItemData(param_1, param_2, param_3, param_4, param_5, param_6);
+static void dComIfGs_setWarpItemData(int param_0, char const* stage, cXyz pos, s16 angle, s8 roomNo,
+ u8 param_5, u8 param_6) {
+ g_dComIfG_gameInfo.play.setWarpItemData(stage, pos, angle, roomNo, param_5, param_6);
}
-void dComIfG_play_c::setWarpItemData(char const* param_0, cXyz param_1, s16 param_2, s8 param_3,
- u8 param_4, u8 param_5) {
- strcpy(field_0x4F94, param_0);
- field_0x4f9c.set(param_1);
- field_0x4fa8 = param_2;
- field_0x4faa = param_3;
+void dComIfG_play_c::setWarpItemData(char const* stage, cXyz pos, s16 angle, s8 roomNo, u8 param_4,
+ u8 param_5) {
+ strcpy(mWarpItemStage, stage);
+ mWarpItemPos.set(pos);
+ mWarpItemAngle = angle;
+ mWarpItemRoom = roomNo;
field_0x4fac = param_5;
field_0x4fab = param_4;
}
-void dComIfGs_setWarpItemData(char const* param_0, cXyz param_1, s16 param_2, s8 param_3,
- u8 param_4, u8 param_5) {
- dComIfGs_setWarpItemData(0, param_0, param_1, param_2, param_3, param_4, param_5);
- dComIfGs_setLastWarpMarkItemData(param_0, param_1, param_2, param_3, param_4, param_5);
+void dComIfGs_setWarpItemData(char const* stage, cXyz pos, s16 angle, s8 roomNo, u8 param_4,
+ u8 param_5) {
+ dComIfGs_setWarpItemData(0, stage, pos, angle, roomNo, param_4, param_5);
+ dComIfGs_setLastWarpMarkItemData(stage, pos, angle, roomNo, param_4, param_5);
}
-void dComIfGs_setLastWarpMarkItemData(const char* stage, cXyz pos, s16 angle, s8 room, u8 unk1,
+void dComIfGs_setLastWarpMarkItemData(const char* stage, cXyz pos, s16 angle, s8 roomNo, u8 unk1,
u8 unk2) {
g_dComIfG_gameInfo.info.getPlayer().getPlayerLastMarkInfo().setWarpItemData(stage, pos, angle,
- room, unk1, unk2);
+ roomNo, unk1, unk2);
}
const char* dComIfGs_getWarpStageName() {
@@ -2250,20 +2262,9 @@ const char* dComIfGs_getWarpStageName() {
}
/* 8002F2BC-8002F2CC 029BFC 0010+00 0/0 1/1 0/0 .text dComIfGs_getWarpPlayerPos__Fv */
-#ifdef NONMATCHING
-cXyz dComIfGs_getWarpPlayerPos() {
+cXyz& dComIfGs_getWarpPlayerPos() {
return dComIfGs_getLastWarpMarkPlayerPos();
}
-#else
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm cXyz& dComIfGs_getWarpPlayerPos() {
- nofralloc
-#include "asm/d/com/d_com_inf_game/dComIfGs_getWarpPlayerPos__Fv.s"
-}
-#pragma pop
-#endif
s16 dComIfGs_getWarpPlayerAngleY() {
return dComIfGs_getLastWarpMarkPlayerAngleY();
@@ -2277,39 +2278,42 @@ BOOL dComIfGs_getWarpMarkFlag() {
return dComIfGs_getLastWarpAcceptStage() >= 0;
}
-void dComIfGs_setWarpMarkFlag(u8 param_0) {
+void dComIfGs_setWarpMarkFlag(u8) {
/* empty function */
}
/* 8002F314-8002F328 029C54 0014+00 0/0 0/0 1/1 .text __ct__19dComIfG_resLoader_cFv */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm dComIfG_resLoader_c::dComIfG_resLoader_c() {
- nofralloc
-#include "asm/d/com/d_com_inf_game/__ct__19dComIfG_resLoader_cFv.s"
+dComIfG_resLoader_c::dComIfG_resLoader_c() {
+ field_0x0 = NULL;
+ field_0x4.mPhaseStep = 0;
+ field_0xc = 0;
}
-#pragma pop
/* 8002F328-8002F3B4 029C68 008C+00 0/0 0/0 1/1 .text __dt__19dComIfG_resLoader_cFv */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm dComIfG_resLoader_c::~dComIfG_resLoader_c() {
- nofralloc
-#include "asm/d/com/d_com_inf_game/__dt__19dComIfG_resLoader_cFv.s"
+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.mPhaseStep = 2;
+ }
+ }
}
-#pragma pop
/* 8002F3B4-8002F434 029CF4 0080+00 0/0 0/0 1/1 .text load__19dComIfG_resLoader_cFPPCcP7JKRHeap */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void dComIfG_resLoader_c::load(char const** param_0, JKRHeap* param_1) {
- nofralloc
-#include "asm/d/com/d_com_inf_game/load__19dComIfG_resLoader_cFPPCcP7JKRHeap.s"
+int dComIfG_resLoader_c::load(char const** param_0, JKRHeap* heap) {
+ field_0x0 = param_0;
+
+ int ret = dComIfG_resLoad(&field_0x4, field_0x0[field_0xc], heap);
+ if (ret == 4) {
+ if (field_0x0[field_0xc + 1][0] != 0) {
+ field_0xc++;
+ field_0x4.mPhaseStep = 0;
+ ret = 0;
+ }
+ }
+
+ return ret;
}
-#pragma pop
/* 8002F434-8002F478 029D74 0044+00 0/0 12/12 12/12 .text dComIfG_getStageRes__FPCc */
void* dComIfG_getStageRes(char const* resName) {
@@ -2321,15 +2325,14 @@ void* dComIfG_getOldStageRes(char const* resName) {
return dComIfG_getStageRes("Xtg_00", resName);
}
-static char buf[32];
-
-char* dComIfG_getRoomArcName(int param_0) {
- sprintf((char*)buf, (char*)"R%02d_00", param_0);
+char* dComIfG_getRoomArcName(int roomNo) {
+ static char buf[32];
+ sprintf(buf, "R%02d_00", roomNo);
return buf;
}
/* 8002F500-8002F504 029E40 0004+00 0/0 1/1 0/0 .text dComIfGp_ret_wp_set__FSc */
-void dComIfGp_ret_wp_set(s8 param_0) {
+void dComIfGp_ret_wp_set(s8) {
/* empty function */
}
@@ -2341,121 +2344,125 @@ u8 dComIfGp_world_dark_get() {
return g_dComIfG_gameInfo.mWorldDark;
}
-int dComIfG_TimerStart(int param_0, s16 param_1) {
- int uvar2;
-
- if (param_0 == dComIfG_getTimerMode()) {
+int dComIfG_TimerStart(int mode, s16 time) {
+ if (mode == dComIfG_getTimerMode()) {
dTimer_c* timer = dComIfG_getTimerPtr();
if (timer != NULL) {
- if (param_1 == 0) {
- timer->start(param_0);
+ if (time == 0) {
+ timer->start(mode);
} else {
- timer->start(param_0, param_1);
+ timer->start(mode, time);
}
- uvar2 = 1;
+ return 1;
} else {
- uvar2 = 0;
+ return 0;
}
- } else {
- uvar2 = 0;
}
- return uvar2;
-}
-int dComIfG_TimerStop(int param_0) {
- int uvar2;
+ return 0;
+}
- if (param_0 == dComIfG_getTimerMode()) {
+int dComIfG_TimerStop(int mode) {
+ if (mode == dComIfG_getTimerMode()) {
dTimer_c* timer = dComIfG_getTimerPtr();
if (timer != NULL) {
timer->stop(4);
- uvar2 = 1;
+ return 1;
} else {
- uvar2 = 0;
+ return 0;
}
- } else {
- uvar2 = 0;
}
- return uvar2;
-}
-int dComIfG_TimerReStart(int param_0) {
- int uvar2;
+ return 0;
+}
- if (param_0 == dComIfG_getTimerMode()) {
+int dComIfG_TimerReStart(int mode) {
+ if (mode == dComIfG_getTimerMode()) {
dTimer_c* timer = dComIfG_getTimerPtr();
if (timer != NULL) {
timer->restart(4);
- uvar2 = 1;
+ return 1;
} else {
- uvar2 = 0;
+ return 0;
}
- } else {
- uvar2 = 0;
}
- return uvar2;
-}
-int dComIfG_TimerEnd(int param_0, int param_1) {
- int uvar2;
+ return 0;
+}
- if (param_0 == dComIfG_getTimerMode()) {
+int dComIfG_TimerEnd(int mode, int param_1) {
+ if (mode == dComIfG_getTimerMode()) {
dTimer_c* timer = dComIfG_getTimerPtr();
if (timer != NULL) {
timer->end(param_1);
- uvar2 = 1;
+ return 1;
} else {
- uvar2 = 0;
+ return 0;
}
- } else {
- uvar2 = 0;
}
- return uvar2;
+
+ return 0;
}
/* 8002F72C-8002F79C 02A06C 0070+00 0/0 0/0 2/2 .text dComIfG_TimerDeleteCheck__Fi */
-int dComIfG_TimerDeleteCheck(int param_0) {
- int uvar2;
-
- if (param_0 == dComIfG_getTimerMode()) {
+int dComIfG_TimerDeleteCheck(int mode) {
+ if (mode == dComIfG_getTimerMode()) {
dTimer_c* timer = dComIfG_getTimerPtr();
if (timer != NULL) {
- uvar2 = timer->deleteCheck();
+ return timer->deleteCheck();
} else {
- uvar2 = 0;
+ return 0;
}
- } else {
- uvar2 = 0;
}
- return uvar2;
-}
-int dComIfG_TimerDeleteRequest(int param_0) {
- int uvar2;
+ return 0;
+}
- if (param_0 == dComIfG_getTimerMode()) {
+int dComIfG_TimerDeleteRequest(int mode) {
+ if (mode == dComIfG_getTimerMode()) {
dTimer_c* timer = dComIfG_getTimerPtr();
if (timer != NULL) {
timer->deleteRequest();
- uvar2 = 1;
+ return 1;
} else {
- uvar2 = 0;
+ return 0;
}
- } else {
- uvar2 = 0;
}
- return uvar2;
+
+ return 0;
}
/* 8002F810-8002F9F0 02A150 01E0+00 0/0 1/1 0/0 .text dComIfGs_Wolf_Change_Check__Fv */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void dComIfGs_Wolf_Change_Check() {
- nofralloc
-#include "asm/d/com/d_com_inf_game/dComIfGs_Wolf_Change_Check__Fv.s"
+u8 dComIfGs_Wolf_Change_Check() {
+ u8 is_wolf = false;
+
+ // Transforming Unlocked
+ if (dComIfGs_isEventBit(0x0D04)) {
+ is_wolf = dComIfGs_getTransformStatus();
+ } else if (dComIfGs_isTransformLV(0) && !dComIfGs_isDarkClearLV(0)) {
+ is_wolf = true;
+ } else if (dComIfGs_isTransformLV(1) && !dComIfGs_isDarkClearLV(1)) {
+ is_wolf = true;
+ } else if (dComIfGs_isTransformLV(2) && !dComIfGs_isDarkClearLV(2)) {
+ is_wolf = true;
+ } else if (dComIfGs_isTransformLV(3) && !dComIfGs_isDarkClearLV(3)) {
+ is_wolf = true;
+ }
+
+ // 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)) {
+ 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)) {
+ is_wolf = false;
+ }
+
+ return is_wolf;
}
-#pragma pop
void dComIfGs_PolyDamageOff_Set(s8 param_0) {
g_dComIfG_gameInfo.field_0x1ddfb = param_0;
@@ -2483,6 +2490,16 @@ SECTION_SDATA2 static f64 lit_7580 = 0.6;
/* 8002FA54-8002FA84 02A394 0030+00 0/0 4/4 96/96 .text dComIfGs_wolfeye_effect_check__Fv
*/
+#ifdef NONMATCHING
+int dComIfGs_wolfeye_effect_check() {
+ BOOL ret = 0;
+ if (g_env_light.field_0xf3d == 1 && g_env_light.field_0xf40 > 0.6) {
+ ret = 1;
+ }
+
+ return ret;
+}
+#else
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
@@ -2491,6 +2508,7 @@ asm void dComIfGs_wolfeye_effect_check() {
#include "asm/d/com/d_com_inf_game/dComIfGs_wolfeye_effect_check__Fv.s"
}
#pragma pop
+#endif
void dComIfGs_Grass_hide_Set(s8 param_0) {
g_dComIfG_gameInfo.field_0x1ddfc = param_0;
@@ -2523,6 +2541,16 @@ BOOL dComIfGp_TransportWarp_check() {
/* 8002FB20-8002FB80 02A460 0060+00 2/2 6/6 0/0 .text
* dComLbG_PhaseHandler__FP30request_of_phase_process_classPPFPv_iPv */
+#ifdef NONMATCHING
+int dComLbG_PhaseHandler(request_of_phase_process_class* param_0, int (**param_1)(void*),
+ void* param_2) {
+ int ret = cPhs_Handler(param_0, param_1, param_2);
+ if (ret != 2 && ret < 2) {
+ return ret;
+ }
+ return dComLbG_PhaseHandler(param_0, param_1, param_2);
+}
+#else
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
@@ -2532,6 +2560,7 @@ asm int dComLbG_PhaseHandler(request_of_phase_process_class* param_0, int (**par
#include "asm/d/com/d_com_inf_game/dComLbG_PhaseHandler__FP30request_of_phase_process_classPPFPv_iPv.s"
}
#pragma pop
+#endif
/* 8002FB80-8002FC3C 02A4C0 00BC+00 0/0 1/1 1/1 .text dComIfGs_onVisitedRoom__Fi */
#pragma push
@@ -2553,41 +2582,44 @@ asm void dComIfGs_offVisitedRoom(int param_0) {
}
#pragma pop
+inline BOOL dComIfGs_isSaveVisitedRoom(int param_0, int param_1) {
+ return g_dComIfG_gameInfo.info.getSavedata().getSave2(param_0)->isVisitedRoom(param_1);
+}
+
/* 8002FC98-8002FCF4 02A5D8 005C+00 0/0 1/1 0/0 .text dComIfGs_isVisitedRoom__Fi */
+// instructions swapped
+#ifdef NONMATCHING
+BOOL dComIfGs_isVisitedRoom(int param_0) {
+ int stayNo = dComIfGp_roomControl_getStayNo();
+ dStage_FileList2_dt_c* fileList = dStage_roomControl_c::getFileList2(stayNo);
+ return dComIfGs_isSaveVisitedRoom(fileList->field_0x13, param_0);
+}
+#else
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
-asm void dComIfGs_isVisitedRoom(int param_0) {
+asm BOOL dComIfGs_isVisitedRoom(int param_0) {
nofralloc
#include "asm/d/com/d_com_inf_game/dComIfGs_isVisitedRoom__Fi.s"
}
#pragma pop
+#endif
/* 8002FCF4-8002FD08 02A634 0014+00 0/0 1/1 0/0 .text dComIfGs_staffroll_next_go__Fv */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void dComIfGs_staffroll_next_go() {
- nofralloc
-#include "asm/d/com/d_com_inf_game/dComIfGs_staffroll_next_go__Fv.s"
+void dComIfGs_staffroll_next_go() {
+ g_env_light.field_0x130c = true;
}
-#pragma pop
/* 8002FD08-8002FD18 02A648 0010+00 0/0 1/1 0/0 .text dComIfGs_staffroll_next_go_check__Fv */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void dComIfGs_staffroll_next_go_check() {
- nofralloc
-#include "asm/d/com/d_com_inf_game/dComIfGs_staffroll_next_go_check__Fv.s"
+u8 dComIfGs_staffroll_next_go_check() {
+ return g_env_light.field_0x130c;
}
-#pragma pop
/* ############################################################################################## */
/* 80450608-8045060C 000088 0004+00 0/0 6/6 11/11 .sdata g_whiteColor */
SECTION_SDATA extern GXColor g_whiteColor = {255, 255, 255, 255};
/* 8045060C-80450610 00008C 0004+00 0/0 3/3 3/3 .sdata g_saftyWhiteColor */
-SECTION_SDATA extern u32 g_saftyWhiteColor = 0xA0A0A0FF;
+SECTION_SDATA extern GXColor g_saftyWhiteColor = {160, 160, 160, 255};
/* 80378F38-80378F38 005598 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
diff --git a/src/d/com/d_com_static.cpp b/src/d/com/d_com_static.cpp
index 27327c3133..2a29c0b36c 100644
--- a/src/d/com/d_com_static.cpp
+++ b/src/d/com/d_com_static.cpp
@@ -11,19 +11,12 @@
// Types:
//
-struct fopAc_ac_c {};
-
struct daYkgr_c {
static u8 m_aim_rate[4];
static u8 m_path[4];
static u8 m_emitter[4];
};
-struct cXyz {
- /* 80009184 */ ~cXyz();
- /* 800125DC */ cXyz();
-};
-
struct daTagStream_c {
/* 800318B4 */ void checkArea(cXyz const*);
@@ -45,34 +38,6 @@ struct daTagMagne_c {
static u8 mTagMagne[4];
};
-struct daSus_c {
- struct data_c {
- /* 80030F14 */ void set(s8, cXyz const&, cXyz const&, u8, u8, u8);
- /* 80030FBC */ void reset();
- /* 80030FCC */ void isSwitch();
- /* 800310C8 */ void check(fopAc_ac_c*);
- /* 80031038 */ void check(cXyz const&);
- /* 80031150 */ void execute();
- /* 80031F28 */ ~data_c();
- /* 80031F64 */ data_c();
- };
-
- struct room_c {
- /* 80031190 */ void add(daSus_c::data_c*);
- /* 800311FC */ void reset();
- /* 80031EE4 */ room_c();
- };
-
- /* 80031248 */ void newData(s8, cXyz const&, cXyz const&, u8, u8, u8);
- /* 800313BC */ void reset();
- /* 800314D4 */ void check(fopAc_ac_c*);
- /* 80031434 */ void check(s8, cXyz const&);
- /* 800315A4 */ void execute();
-
- static u8 mData[1152];
- static u8 mRoom[256];
-};
-
struct daSetBgObj_c {
/* 80031870 */ void getArcName(fopAc_ac_c*);
};
@@ -100,8 +65,6 @@ struct daObjCarry_c {
static u8 mRoomNo[5 + 3 /* padding */];
};
-struct J3DModel {};
-
struct daMirror_c {
/* 8003194C */ void entry(J3DModel*);
/* 80031990 */ void remove();
@@ -418,7 +381,7 @@ asm void daSus_c::reset() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
-asm void daSus_c::check(s8 param_0, cXyz const& param_1) {
+asm bool daSus_c::check(s8 param_0, cXyz const& param_1) {
nofralloc
#include "asm/d/com/d_com_static/check__7daSus_cFScRC4cXyz.s"
}
diff --git a/src/d/d_drawlist.cpp b/src/d/d_drawlist.cpp
index ba99320c4d..200e2f485b 100644
--- a/src/d/d_drawlist.cpp
+++ b/src/d/d_drawlist.cpp
@@ -2663,8 +2663,8 @@ SECTION_SDATA2 static f32 lit_5553 = 0.0010000000474974513f;
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
-asm void dDlst_shadowControl_c::setReal(u32 param_0, s8 param_1, J3DModel* param_2, cXyz* param_3,
- f32 param_4, f32 param_5, dKy_tevstr_c* param_6) {
+asm int dDlst_shadowControl_c::setReal(u32 param_0, s8 param_1, J3DModel* param_2, cXyz* param_3,
+ f32 param_4, f32 param_5, dKy_tevstr_c* param_6) {
nofralloc
#include "asm/d/d_drawlist/setReal__21dDlst_shadowControl_cFUlScP8J3DModelP4cXyzffP12dKy_tevstr_c.s"
}
@@ -2686,8 +2686,8 @@ asm void dDlst_shadowControl_c::addReal(u32 param_0, J3DModel* param_1) {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
-asm void dDlst_shadowControl_c::setSimple(cXyz* param_0, f32 param_1, f32 param_2, cXyz* param_3,
- s16 param_4, f32 param_5, _GXTexObj* param_6) {
+asm int dDlst_shadowControl_c::setSimple(cXyz* param_0, f32 param_1, f32 param_2, cXyz* param_3,
+ s16 param_4, f32 param_5, _GXTexObj* param_6) {
nofralloc
#include "asm/d/d_drawlist/setSimple__21dDlst_shadowControl_cFP4cXyzffP4cXyzsfP9_GXTexObj.s"
}
@@ -2695,7 +2695,7 @@ asm void dDlst_shadowControl_c::setSimple(cXyz* param_0, f32 param_1, f32 param_
/* ############################################################################################## */
/* 804248D0-804248F0 0515F0 0020+00 1/1 6/6 173/173 .bss mSimpleTexObj__21dDlst_shadowControl_c */
-u8 dDlst_shadowControl_c::mSimpleTexObj[32];
+GXTexObj dDlst_shadowControl_c::mSimpleTexObj;
/* 80055FE8-80056018 050928 0030+00 0/0 1/1 0/0 .text
* setSimpleTex__21dDlst_shadowControl_cFPC7ResTIMG */
diff --git a/src/d/d_item.cpp b/src/d/d_item.cpp
index ba8f9ba134..517b0a82ae 100644
--- a/src/d/d_item.cpp
+++ b/src/d/d_item.cpp
@@ -1185,7 +1185,7 @@ void item_func_TKS_LETTER() {
}
void item_func_WEAR_CASUAL() {
- dComIfGs_setSelectEquipClothes(WEARS_CASUAL);
+ dComIfGs_setSelectEquipClothes(WEAR_CASUAL);
}
void item_func_WEAR_KOKIRI() {
@@ -1238,10 +1238,9 @@ void item_func_HAWK_EYE() {
#ifdef NONMATCHING
void item_func_WOOD_STICK() {
dComIfGs_setCollectSword(COLLECT_WOODEN_SWORD);
- dComIfGs_setSelectEquipSword__FUc(WOOD_STICK);
+ dComIfGs_setSelectEquipSword(WOOD_STICK);
- s8 stayNo = dComIfGp_roomControl_getStayNo();
- dComIfGs_onSwitch(28, stayNo); // wrong order
+ dComIfGs_onSwitch(28, dComIfGp_roomControl_getStayNo()); // wrong order
}
#else
#pragma push
@@ -1868,7 +1867,7 @@ s32 item_getcheck_func_TKS_LETTER() {
}
s32 item_getcheck_func_WEAR_CASUAL() {
- return dComIfGs_isItemFirstBit(WEARS_CASUAL);
+ return dComIfGs_isItemFirstBit(WEAR_CASUAL);
}
s32 item_getcheck_func_WEAR_KOKIRI() {
@@ -2471,12 +2470,10 @@ s32 isArrow(u8 item_no) {
}
/* 8009B708-8009B77C 096048 0074+00 0/0 4/4 1/1 .text isBottleItem__FUc */
-// probably wrong cases or order
-#ifdef NONMATCHING
bool isBottleItem(u8 item_no) {
- bool is_bottle_item;
-
switch (item_no) {
+ case OIL_BOTTLE3:
+ case EMPTY_BOTTLE:
case RED_BOTTLE:
case GREEN_BOTTLE:
case BLUE_BOTTLE:
@@ -2489,10 +2486,8 @@ bool isBottleItem(u8 item_no) {
case UGLY_SOUP:
case HOT_SPRING:
case FAIRY:
- case HOT_SPRING_2:
- case OIL2:
- case OIL:
case FAIRY_DROP:
+ case WORM:
case BEE_CHILD:
case CHUCHU_RARE:
case CHUCHU_RED:
@@ -2503,29 +2498,16 @@ bool isBottleItem(u8 item_no) {
case LV1_SOUP:
case LV2_SOUP:
case LV3_SOUP:
- case CHUCHU_YELLOW2:
- case OIL_BOTTLE3:
- case SHOP_BEE_CHILD:
case CHUCHU_BLACK:
- is_bottle_item = true;
- break;
+ case POU_FIRE1:
+ case POU_FIRE2:
+ case POU_FIRE3:
+ case POU_FIRE4:
+ return true;
default:
- is_bottle_item = false;
- break;
+ return false;
}
-
- return is_bottle_item;
}
-#else
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void isBottleItem(u8 param_0) {
- nofralloc
-#include "asm/d/d_item/isBottleItem__FUc.s"
-}
-#pragma pop
-#endif
BOOL isHeart(u8 item_no) {
BOOL is_heart = false;
diff --git a/src/d/d_item_data.cpp b/src/d/d_item_data.cpp
index 79eebb7429..4b03cce87a 100644
--- a/src/d/d_item_data.cpp
+++ b/src/d/d_item_data.cpp
@@ -8,16 +8,6 @@
#include "dolphin/types.h"
//
-// Types:
-//
-
-struct dItem_data {
- static void* item_resource[1530];
- static void* field_item_res[1020];
- static u8 item_info[1020 + 4 /* padding */];
-};
-
-//
// Forward References:
//
@@ -27,4147 +17,580 @@ extern "C" void* field_item_res__10dItem_data[1020];
extern "C" u8 item_info__10dItem_data[1020 + 4 /* padding */];
//
-// External References:
-//
-
-//
// Declarations:
//
-/* ############################################################################################## */
-/* 8037AD68-8037AD72 0073C8 000A+00 1/0 0/0 0/0 .rodata None */
-#pragma push
-#pragma force_active on
-SECTION_DEAD static char const* const stringBase_8037AD68 = "F_gD_rupy";
-#pragma pop
-
-/* 8037AD72-8037AD7C 0073D2 000A+00 1/0 0/0 0/0 .rodata None */
-#pragma push
-#pragma force_active on
-SECTION_DEAD static char const* const stringBase_8037AD72 = "O_gD_bomb";
-#pragma pop
-
-/* 8037AD7C-8037AD86 0073DC 000A+00 1/0 0/0 0/0 .rodata None */
-#pragma push
-#pragma force_active on
-SECTION_DEAD static char const* const stringBase_8037AD7C = "O_gD_arow";
-#pragma pop
-
-/* 8037AD86-8037AD90 0073E6 000A+00 1/0 0/0 0/0 .rodata None */
-#pragma push
-#pragma force_active on
-SECTION_DEAD static char const* const stringBase_8037AD86 = "O_gD_tane";
-#pragma pop
-
-/* 8037AD90-8037AD98 0073F0 0008+00 1/0 0/0 0/0 .rodata None */
-#pragma push
-#pragma force_active on
-SECTION_DEAD static char const* const stringBase_8037AD90 = "O_gD_PG";
-#pragma pop
-
-/* 8037AD98-8037ADA0 0073F8 0008+00 1/0 0/0 0/0 .rodata None */
-#pragma push
-#pragma force_active on
-SECTION_DEAD static char const* const stringBase_8037AD98 = "O_gD_BI";
-#pragma pop
-
-/* 8037ADA0-8037ADA9 007400 0009+00 1/0 0/0 0/0 .rodata None */
-#pragma push
-#pragma force_active on
-SECTION_DEAD static char const* const stringBase_8037ADA0 = "T_gD_key";
-#pragma pop
-
-/* 8037ADA9-8037ADB3 007409 000A+00 1/0 0/0 0/0 .rodata None */
-#pragma push
-#pragma force_active on
-SECTION_DEAD static char const* const stringBase_8037ADA9 = "O_gD_hutk";
-#pragma pop
-
-/* 8037ADB3-8037ADBD 007413 000A+00 1/0 0/0 0/0 .rodata None */
-#pragma push
-#pragma force_active on
-SECTION_DEAD static char const* const stringBase_8037ADB3 = "O_gD_hutu";
-#pragma pop
-
-/* 8037ADBD-8037ADC6 00741D 0009+00 1/0 0/0 0/0 .rodata None */
-#pragma push
-#pragma force_active on
-SECTION_DEAD static char const* const stringBase_8037ADBD = "T_gD_map";
-#pragma pop
-
-/* 8037ADC6-8037ADD0 007426 000A+00 1/0 0/0 0/0 .rodata None */
-#pragma push
-#pragma force_active on
-SECTION_DEAD static char const* const stringBase_8037ADC6 = "T_gD_kmps";
-#pragma pop
-
-/* 8037ADD0-8037ADD9 007430 0009+00 1/0 0/0 0/0 .rodata None */
-#pragma push
-#pragma force_active on
-SECTION_DEAD static char const* const stringBase_8037ADD0 = "O_gD_TKS";
-#pragma pop
-
-/* 8037ADD9-8037ADE3 007439 000A+00 1/0 0/0 0/0 .rodata None */
-#pragma push
-#pragma force_active on
-SECTION_DEAD static char const* const stringBase_8037ADD9 = "T_gD_bkey";
-#pragma pop
-
-/* 8037ADE3-8037ADEC 007443 0009+00 1/0 0/0 0/0 .rodata None */
-#pragma push
-#pragma force_active on
-SECTION_DEAD static char const* const stringBase_8037ADE3 = "O_gD_TKC";
-#pragma pop
-
-/* 8037ADEC-8037ADF5 00744C 0009+00 1/0 0/0 0/0 .rodata None */
-#pragma push
-#pragma force_active on
-SECTION_DEAD static char const* const stringBase_8037ADEC = "O_gD_SWA";
-#pragma pop
-
-/* 8037ADF5-8037ADFE 007455 0009+00 1/0 0/0 0/0 .rodata None */
-#pragma push
-#pragma force_active on
-SECTION_DEAD static char const* const stringBase_8037ADF5 = "T_gD_SHB";
-#pragma pop
-
-/* 8037ADFE-8037AE07 00745E 0009+00 1/0 0/0 0/0 .rodata None */
-#pragma push
-#pragma force_active on
-SECTION_DEAD static char const* const stringBase_8037ADFE = "O_gD_SHC";
-#pragma pop
-
-/* 8037AE07-8037AE10 007467 0009+00 1/0 0/0 0/0 .rodata None */
-#pragma push
-#pragma force_active on
-SECTION_DEAD static char const* const stringBase_8037AE07 = "O_gD_SHA";
-#pragma pop
-
-/* 8037AE10-8037AE1A 007470 000A+00 1/0 0/0 0/0 .rodata None */
-#pragma push
-#pragma force_active on
-SECTION_DEAD static char const* const stringBase_8037AE10 = "O_gD_mem2";
-#pragma pop
-
-/* 8037AE1A-8037AE24 00747A 000A+00 1/0 0/0 0/0 .rodata None */
-#pragma push
-#pragma force_active on
-SECTION_DEAD static char const* const stringBase_8037AE1A = "O_gD_marm";
-#pragma pop
-
-/* 8037AE24-8037AE2E 007484 000A+00 1/0 0/0 0/0 .rodata None */
-#pragma push
-#pragma force_active on
-SECTION_DEAD static char const* const stringBase_8037AE24 = "O_gD_zora";
-#pragma pop
-
-/* 8037AE2E-8037AE38 00748E 000A+00 1/0 0/0 0/0 .rodata None */
-#pragma push
-#pragma force_active on
-SECTION_DEAD static char const* const stringBase_8037AE2E = "O_gD_Injy";
-#pragma pop
-
-/* 8037AE38-8037AE42 007498 000A+00 1/0 0/0 0/0 .rodata None */
-#pragma push
-#pragma force_active on
-SECTION_DEAD static char const* const stringBase_8037AE38 = "O_gD_puL2";
-#pragma pop
-
-/* 8037AE42-8037AE4C 0074A2 000A+00 1/0 0/0 0/0 .rodata None */
-#pragma push
-#pragma force_active on
-SECTION_DEAD static char const* const stringBase_8037AE42 = "O_gD_puL3";
-#pragma pop
-
-/* 8037AE4C-8037AE56 0074AC 000A+00 1/0 0/0 0/0 .rodata None */
-#pragma push
-#pragma force_active on
-SECTION_DEAD static char const* const stringBase_8037AE4C = "O_gD_sang";
-#pragma pop
-
-/* 8037AE56-8037AE60 0074B6 000A+00 1/0 0/0 0/0 .rodata None */
-#pragma push
-#pragma force_active on
-SECTION_DEAD static char const* const stringBase_8037AE56 = "O_gD_hawk";
-#pragma pop
-
-/* 8037AE60-8037AE69 0074C0 0009+00 2/0 0/0 0/0 .rodata None */
-#pragma push
-#pragma force_active on
-SECTION_DEAD static char const* const stringBase_8037AE60 = "O_gD_SWB";
-#pragma pop
-
-/* 8037AE69-8037AE73 0074C9 000A+00 1/0 0/0 0/0 .rodata None */
-#pragma push
-#pragma force_active on
-SECTION_DEAD static char const* const stringBase_8037AE69 = "O_gD_boom";
-#pragma pop
-
-/* 8037AE73-8037AE7B 0074D3 0008+00 1/0 0/0 0/0 .rodata None */
-#pragma push
-#pragma force_active on
-SECTION_DEAD static char const* const stringBase_8037AE73 = "O_gD_SP";
-#pragma pop
-
-/* 8037AE7B-8037AE83 0074DB 0008+00 1/0 0/0 0/0 .rodata None */
-#pragma push
-#pragma force_active on
-SECTION_DEAD static char const* const stringBase_8037AE7B = "O_gD_IB";
-#pragma pop
-
-/* 8037AE83-8037AE8C 0074E3 0009+00 1/0 0/0 0/0 .rodata None */
-#pragma push
-#pragma force_active on
-SECTION_DEAD static char const* const stringBase_8037AE83 = "O_gD_bow";
-#pragma pop
-
-/* 8037AE8C-8037AE94 0074EC 0008+00 1/0 0/0 0/0 .rodata None */
-#pragma push
-#pragma force_active on
-SECTION_DEAD static char const* const stringBase_8037AE8C = "O_gD_HS";
-#pragma pop
-
-/* 8037AE94-8037AE9E 0074F4 000A+00 1/0 0/0 0/0 .rodata None */
-#pragma push
-#pragma force_active on
-SECTION_DEAD static char const* const stringBase_8037AE94 = "O_gD_boot";
-#pragma pop
-
-/* 8037AE9E-8037AEA8 0074FE 000A+00 1/0 0/0 0/0 .rodata None */
-#pragma push
-#pragma force_active on
-SECTION_DEAD static char const* const stringBase_8037AE9E = "O_gD_CROD";
-#pragma pop
-
-/* 8037AEA8-8037AEB0 007508 0008+00 1/0 0/0 0/0 .rodata None */
-#pragma push
-#pragma force_active on
-SECTION_DEAD static char const* const stringBase_8037AEA8 = "T_gD_kt";
-#pragma pop
-
-/* 8037AEB0-8037AEBA 007510 000A+00 1/0 0/0 0/0 .rodata None */
-#pragma push
-#pragma force_active on
-SECTION_DEAD static char const* const stringBase_8037AEB0 = "O_gD_uktr";
-#pragma pop
-
-/* 8037AEBA-8037AEC4 00751A 000A+00 1/0 0/0 0/0 .rodata None */
-#pragma push
-#pragma force_active on
-SECTION_DEAD static char const* const stringBase_8037AEBA = "O_gD_pach";
-#pragma pop
-
-/* 8037AEC4-8037AECE 007524 000A+00 1/0 0/0 0/0 .rodata None */
-#pragma push
-#pragma force_active on
-SECTION_DEAD static char const* const stringBase_8037AEC4 = "O_gD_bmL2";
-#pragma pop
-
-/* 8037AECE-8037AED8 00752E 000A+00 1/0 0/0 0/0 .rodata None */
-#pragma push
-#pragma force_active on
-SECTION_DEAD static char const* const stringBase_8037AECE = "O_gD_bomc";
-#pragma pop
-
-/* 8037AED8-8037AEE2 007538 000A+00 1/0 0/0 0/0 .rodata None */
-#pragma push
-#pragma force_active on
-SECTION_DEAD static char const* const stringBase_8037AED8 = "O_gD_quL1";
-#pragma pop
-
-/* 8037AEE2-8037AEEC 007542 000A+00 1/0 0/0 0/0 .rodata None */
-#pragma push
-#pragma force_active on
-SECTION_DEAD static char const* const stringBase_8037AEE2 = "O_gD_quL2";
-#pragma pop
-
-/* 8037AEEC-8037AEF6 00754C 000A+00 1/0 0/0 0/0 .rodata None */
-#pragma push
-#pragma force_active on
-SECTION_DEAD static char const* const stringBase_8037AEEC = "O_gD_quL3";
-#pragma pop
-
-/* 8037AEF6-8037AF00 007556 000A+00 1/0 0/0 0/0 .rodata None */
-#pragma push
-#pragma force_active on
-SECTION_DEAD static char const* const stringBase_8037AEF6 = "O_gD_bott";
-#pragma pop
-
-/* 8037AF00-8037AF09 007560 0009+00 1/0 0/0 0/0 .rodata None */
-#pragma push
-#pragma force_active on
-SECTION_DEAD static char const* const stringBase_8037AF00 = "Obj_kntr";
-#pragma pop
-
-/* 8037AF09-8037AF13 007569 000A+00 1/0 0/0 0/0 .rodata None */
-#pragma push
-#pragma force_active on
-SECTION_DEAD static char const* const stringBase_8037AF09 = "O_gD_lttr";
-#pragma pop
-
-/* 8037AF13-8037AF1D 007573 000A+00 1/0 0/0 0/0 .rodata None */
-#pragma push
-#pragma force_active on
-SECTION_DEAD static char const* const stringBase_8037AF13 = "O_gD_bill";
-#pragma pop
-
-/* 8037AF1D-8037AF27 00757D 000A+00 1/0 0/0 0/0 .rodata None */
-#pragma push
-#pragma force_active on
-SECTION_DEAD static char const* const stringBase_8037AF1D = "O_gD_wood";
-#pragma pop
-
-/* 8037AF27-8037AF31 007587 000A+00 1/0 0/0 0/0 .rodata None */
-#pragma push
-#pragma force_active on
-SECTION_DEAD static char const* const stringBase_8037AF27 = "O_gD_pend";
-#pragma pop
-
-/* 8037AF31-8037AF3B 007591 000A+00 1/0 0/0 0/0 .rodata None */
-#pragma push
-#pragma force_active on
-SECTION_DEAD static char const* const stringBase_8037AF31 = "O_gD_hk_s";
-#pragma pop
-
-/* 8037AF3B-8037AF45 00759B 000A+00 1/0 0/0 0/0 .rodata None */
-#pragma push
-#pragma force_active on
-SECTION_DEAD static char const* const stringBase_8037AF3B = "N_gD_Lpod";
-#pragma pop
-
-/* 8037AF45-8037AF4F 0075A5 000A+00 1/0 0/0 0/0 .rodata None */
-#pragma push
-#pragma force_active on
-SECTION_DEAD static char const* const stringBase_8037AF45 = "O_gD_kabo";
-#pragma pop
-
-/* 8037AF4F-8037AF59 0075AF 000A+00 1/0 0/0 0/0 .rodata None */
-#pragma push
-#pragma force_active on
-SECTION_DEAD static char const* const stringBase_8037AF4F = "O_gD_kabm";
-#pragma pop
-
-/* 8037AF59-8037AF63 0075B9 000A+00 1/0 0/0 0/0 .rodata None */
-#pragma push
-#pragma force_active on
-SECTION_DEAD static char const* const stringBase_8037AF59 = "O_gD_choo";
-#pragma pop
-
-/* 8037AF63-8037AF6D 0075C3 000A+00 1/0 0/0 0/0 .rodata None */
-#pragma push
-#pragma force_active on
-SECTION_DEAD static char const* const stringBase_8037AF63 = "O_gD_chom";
-#pragma pop
-
-/* 8037AF6D-8037AF77 0075CD 000A+00 1/0 0/0 0/0 .rodata None */
-#pragma push
-#pragma force_active on
-SECTION_DEAD static char const* const stringBase_8037AF6D = "O_gD_kuwo";
-#pragma pop
-
-/* 8037AF77-8037AF81 0075D7 000A+00 1/0 0/0 0/0 .rodata None */
-#pragma push
-#pragma force_active on
-SECTION_DEAD static char const* const stringBase_8037AF77 = "O_gD_kuwm";
-#pragma pop
-
-/* 8037AF81-8037AF8B 0075E1 000A+00 1/0 0/0 0/0 .rodata None */
-#pragma push
-#pragma force_active on
-SECTION_DEAD static char const* const stringBase_8037AF81 = "O_gD_bato";
-#pragma pop
-
-/* 8037AF8B-8037AF95 0075EB 000A+00 1/0 0/0 0/0 .rodata None */
-#pragma push
-#pragma force_active on
-SECTION_DEAD static char const* const stringBase_8037AF8B = "O_gD_batm";
-#pragma pop
-
-/* 8037AF95-8037AF9F 0075F5 000A+00 1/0 0/0 0/0 .rodata None */
-#pragma push
-#pragma force_active on
-SECTION_DEAD static char const* const stringBase_8037AF95 = "O_gD_nano";
-#pragma pop
-
-/* 8037AF9F-8037AFA9 0075FF 000A+00 1/0 0/0 0/0 .rodata None */
-#pragma push
-#pragma force_active on
-SECTION_DEAD static char const* const stringBase_8037AF9F = "O_gD_nanm";
-#pragma pop
-
-/* 8037AFA9-8037AFB3 007609 000A+00 1/0 0/0 0/0 .rodata None */
-#pragma push
-#pragma force_active on
-SECTION_DEAD static char const* const stringBase_8037AFA9 = "O_gD_dano";
-#pragma pop
-
-/* 8037AFB3-8037AFBD 007613 000A+00 1/0 0/0 0/0 .rodata None */
-#pragma push
-#pragma force_active on
-SECTION_DEAD static char const* const stringBase_8037AFB3 = "O_gD_danm";
-#pragma pop
-
-/* 8037AFBD-8037AFC7 00761D 000A+00 1/0 0/0 0/0 .rodata None */
-#pragma push
-#pragma force_active on
-SECTION_DEAD static char const* const stringBase_8037AFBD = "O_gD_kamo";
-#pragma pop
-
-/* 8037AFC7-8037AFD1 007627 000A+00 1/0 0/0 0/0 .rodata None */
-#pragma push
-#pragma force_active on
-SECTION_DEAD static char const* const stringBase_8037AFC7 = "O_gD_kamm";
-#pragma pop
-
-/* 8037AFD1-8037AFDB 007631 000A+00 1/0 0/0 0/0 .rodata None */
-#pragma push
-#pragma force_active on
-SECTION_DEAD static char const* const stringBase_8037AFD1 = "O_gD_teno";
-#pragma pop
-
-/* 8037AFDB-8037AFE5 00763B 000A+00 1/0 0/0 0/0 .rodata None */
-#pragma push
-#pragma force_active on
-SECTION_DEAD static char const* const stringBase_8037AFDB = "O_gD_tenm";
-#pragma pop
-
-/* 8037AFE5-8037AFEF 007645 000A+00 1/0 0/0 0/0 .rodata None */
-#pragma push
-#pragma force_active on
-SECTION_DEAD static char const* const stringBase_8037AFE5 = "O_gD_kato";
-#pragma pop
-
-/* 8037AFEF-8037AFF9 00764F 000A+00 1/0 0/0 0/0 .rodata None */
-#pragma push
-#pragma force_active on
-SECTION_DEAD static char const* const stringBase_8037AFEF = "O_gD_katm";
-#pragma pop
-
-/* 8037AFF9-8037B003 007659 000A+00 1/0 0/0 0/0 .rodata None */
-#pragma push
-#pragma force_active on
-SECTION_DEAD static char const* const stringBase_8037AFF9 = "O_gD_tono";
-#pragma pop
-
-/* 8037B003-8037B00D 007663 000A+00 1/0 0/0 0/0 .rodata None */
-#pragma push
-#pragma force_active on
-SECTION_DEAD static char const* const stringBase_8037B003 = "O_gD_tonm";
-#pragma pop
-
-/* 8037B00D-8037B017 00766D 000A+00 1/0 0/0 0/0 .rodata None */
-#pragma push
-#pragma force_active on
-SECTION_DEAD static char const* const stringBase_8037B00D = "O_gD_ario";
-#pragma pop
-
-/* 8037B017-8037B021 007677 000A+00 1/0 0/0 0/0 .rodata None */
-#pragma push
-#pragma force_active on
-SECTION_DEAD static char const* const stringBase_8037B017 = "O_gD_arim";
-#pragma pop
-
-/* 8037B021-8037B02B 007681 000A+00 1/0 0/0 0/0 .rodata None */
-#pragma push
-#pragma force_active on
-SECTION_DEAD static char const* const stringBase_8037B021 = "O_gD_kago";
-#pragma pop
-
-/* 8037B02B-8037B035 00768B 000A+00 1/0 0/0 0/0 .rodata None */
-#pragma push
-#pragma force_active on
-SECTION_DEAD static char const* const stringBase_8037B02B = "O_gD_kagm";
-#pragma pop
-
-/* 8037B035-8037B03F 007695 000A+00 1/0 0/0 0/0 .rodata None */
-#pragma push
-#pragma force_active on
-SECTION_DEAD static char const* const stringBase_8037B035 = "O_gD_tama";
-#pragma pop
-
-/* 8037B03F-8037B049 00769F 000A+00 1/0 0/0 0/0 .rodata None */
-#pragma push
-#pragma force_active on
-SECTION_DEAD static char const* const stringBase_8037B03F = "O_gD_komo";
-#pragma pop
-
-/* 8037B049-8037B053 0076A9 000A+00 1/0 0/0 0/0 .rodata None */
-#pragma push
-#pragma force_active on
-SECTION_DEAD static char const* const stringBase_8037B049 = "O_gD_pump";
-#pragma pop
-
-/* 8037B053-8037B05D 0076B3 000A+00 1/0 0/0 0/0 .rodata None */
-#pragma push
-#pragma force_active on
-SECTION_DEAD static char const* const stringBase_8037B053 = "O_gD_chee";
-#pragma pop
-
-/* 8037B05D-8037B067 0076BD 000A+00 1/0 0/0 0/0 .rodata None */
-#pragma push
-#pragma force_active on
-SECTION_DEAD static char const* const stringBase_8037B05D = "O_gD_bkey";
-#pragma pop
-
-/* 8037B067-8037B071 0076C7 000A+00 1/0 0/0 0/0 .rodata None */
-#pragma push
-#pragma force_active on
-SECTION_DEAD static char const* const stringBase_8037B067 = "D_MKey_01";
-#pragma pop
-
-/* 8037B071-8037B07B 0076D1 000A+00 1/0 0/0 0/0 .rodata None */
-#pragma push
-#pragma force_active on
-SECTION_DEAD static char const* const stringBase_8037B071 = "D_MKey_02";
-#pragma pop
-
-/* 8037B07B-8037B085 0076DB 000A+00 1/0 0/0 0/0 .rodata None */
-#pragma push
-#pragma force_active on
-SECTION_DEAD static char const* const stringBase_8037B07B = "D_MKey_03";
-#pragma pop
-
-/* 8037B085-8037B08F 0076E5 000A+00 1/0 0/0 0/0 .rodata None */
-#pragma push
-#pragma force_active on
-SECTION_DEAD static char const* const stringBase_8037B085 = "O_gD_Mkey";
-#pragma pop
-
-/* 8037B08F-8037B096 0076EF 0007+00 1/0 0/0 0/0 .rodata None */
-#pragma push
-#pragma force_active on
-SECTION_DEAD static char const* const stringBase_8037B08F = "Always";
-#pragma pop
-
-/* 8037B096-8037B09E 0076F6 0008+00 1/0 0/0 0/0 .rodata None */
-#pragma push
-#pragma force_active on
-SECTION_DEAD static char const* const stringBase_8037B096 = "T_g_key";
-#pragma pop
-
-/* 8037B09E-8037B0A7 0076FE 0009+00 1/0 0/0 0/0 .rodata None */
-#pragma push
-#pragma force_active on
-SECTION_DEAD static char const* const stringBase_8037B09E = "T_g_bkey";
-#pragma pop
-
-/* 8037B0A7-8037B0AF 007707 0008+00 1/0 0/0 0/0 .rodata None */
-#pragma push
-#pragma force_active on
-SECTION_DEAD static char const* const stringBase_8037B0A7 = "O_g_SWA";
-#pragma pop
-
-/* 8037B0AF-8037B0B7 00770F 0008+00 1/0 0/0 0/0 .rodata None */
-#pragma push
-#pragma force_active on
-SECTION_DEAD static char const* const stringBase_8037B0AF = "T_g_SHB";
-#pragma pop
-
-/* 8037B0B7-8037B0C0 007717 0009+00 1/0 0/0 0/0 .rodata None */
-#pragma push
-#pragma force_active on
-SECTION_DEAD static char const* const stringBase_8037B0B7 = "O_g_ZORA";
-#pragma pop
-
-/* 8037B0C0-8037B0C7 007720 0007+00 1/0 0/0 0/0 .rodata None */
-#pragma push
-#pragma force_active on
-SECTION_DEAD static char const* const stringBase_8037B0C0 = "T_g_kt";
-#pragma pop
-
-/* 8037B0C7-8037B0D0 007727 0007+02 1/0 0/0 0/0 .rodata None */
-#pragma push
-#pragma force_active on
-SECTION_DEAD static char const* const stringBase_8037B0C7 = "O_wood";
-/* @stringBase0 padding */
-SECTION_DEAD static char const* const pad_8037B0CE = "\0";
-#pragma pop
-
/* 803AC5A0-803ADD88 -00001 17E8+00 0/0 10/10 2/2 .data item_resource__10dItem_data */
-SECTION_DATA void* dItem_data::item_resource[1530] = {
- (void*)&d_d_item_data__stringBase0,
- (void*)0x0004FFFF,
- (void*)0xFFFF0007,
- (void*)0xFFFF00FF,
- (void*)0x002D6400,
- (void*)NULL,
- (void*)&d_d_item_data__stringBase0,
- (void*)0x0004FFFF,
- (void*)0xFFFF0007,
- (void*)0xFFFF00FF,
- (void*)0x002D3C00,
- (void*)NULL,
- (void*)&d_d_item_data__stringBase0,
- (void*)0x0004FFFF,
- (void*)0xFFFF0007,
- (void*)0xFFFF01FF,
- (void*)0x002D3C00,
- (void*)NULL,
- (void*)&d_d_item_data__stringBase0,
- (void*)0x0004FFFF,
- (void*)0xFFFF0007,
- (void*)0xFFFF02FF,
- (void*)0x002D3C00,
- (void*)NULL,
- (void*)&d_d_item_data__stringBase0,
- (void*)0x0004FFFF,
- (void*)0xFFFF0007,
- (void*)0xFFFF03FF,
- (void*)0x002D3C00,
- (void*)NULL,
- (void*)&d_d_item_data__stringBase0,
- (void*)0x0004FFFF,
- (void*)0xFFFF0007,
- (void*)0xFFFF04FF,
- (void*)0x002D3C00,
- (void*)NULL,
- (void*)&d_d_item_data__stringBase0,
- (void*)0x0004FFFF,
- (void*)0xFFFF0007,
- (void*)0xFFFF05FF,
- (void*)0x002D3C00,
- (void*)NULL,
- (void*)&d_d_item_data__stringBase0,
- (void*)0x0004FFFF,
- (void*)0xFFFF0007,
- (void*)0xFFFF06FF,
- (void*)0x002D3C00,
- (void*)NULL,
- (void*)&d_d_item_data__stringBase0,
- (void*)0x0004FFFF,
- (void*)0xFFFF0007,
- (void*)0xFFFF00FF,
- (void*)0x002D6400,
- (void*)NULL,
- (void*)&d_d_item_data__stringBase0,
- (void*)0x0004FFFF,
- (void*)0xFFFF0007,
- (void*)0xFFFF00FF,
- (void*)0x002D6400,
- (void*)NULL,
- (void*)(((char*)&d_d_item_data__stringBase0) + 0xA),
- (void*)0x0003FFFF,
- (void*)0xFFFFFFFF,
- (void*)0xFFFFFFFF,
- (void*)0x000C6400,
- (void*)0x019F0000,
- (void*)(((char*)&d_d_item_data__stringBase0) + 0xA),
- (void*)0x0003FFFF,
- (void*)0xFFFFFFFF,
- (void*)0xFFFFFFFF,
- (void*)0x000C6400,
- (void*)0x019F0000,
- (void*)(((char*)&d_d_item_data__stringBase0) + 0xA),
- (void*)0x0003FFFF,
- (void*)0xFFFFFFFF,
- (void*)0xFFFFFFFF,
- (void*)0x000C6400,
- (void*)0x019F0000,
- (void*)(((char*)&d_d_item_data__stringBase0) + 0xA),
- (void*)0x0003FFFF,
- (void*)0xFFFFFFFF,
- (void*)0xFFFFFFFF,
- (void*)0x000C6400,
- (void*)0x019F0000,
- (void*)(((char*)&d_d_item_data__stringBase0) + 0x14),
- (void*)0x0003FFFF,
- (void*)0xFFFFFFFF,
- (void*)0xFFFFFFFF,
- (void*)0x00536400,
- (void*)NULL,
- (void*)(((char*)&d_d_item_data__stringBase0) + 0x14),
- (void*)0x0003FFFF,
- (void*)0xFFFFFFFF,
- (void*)0xFFFFFFFF,
- (void*)0x00536400,
- (void*)NULL,
- (void*)(((char*)&d_d_item_data__stringBase0) + 0x14),
- (void*)0x0003FFFF,
- (void*)0xFFFFFFFF,
- (void*)0xFFFFFFFF,
- (void*)0x00536400,
- (void*)NULL,
- (void*)(((char*)&d_d_item_data__stringBase0) + 0x14),
- (void*)0x0003FFFF,
- (void*)0xFFFFFFFF,
- (void*)0xFFFFFFFF,
- (void*)0x00536400,
- (void*)NULL,
- (void*)(((char*)&d_d_item_data__stringBase0) + 0x1E),
- (void*)0x0003FFFF,
- (void*)0xFFFFFFFF,
- (void*)0xFFFFFFFF,
- (void*)0x005C6400,
- (void*)NULL,
- (void*)&d_d_item_data__stringBase0,
- (void*)0x0004FFFF,
- (void*)0xFFFF0007,
- (void*)0xFFFF00FF,
- (void*)0x002D6400,
- (void*)NULL,
- (void*)&d_d_item_data__stringBase0,
- (void*)0x0004FFFF,
- (void*)0xFFFF0007,
- (void*)0xFFFF00FF,
- (void*)0x002D6400,
- (void*)NULL,
- (void*)&d_d_item_data__stringBase0,
- (void*)0x0004FFFF,
- (void*)0xFFFF0007,
- (void*)0xFFFF00FF,
- (void*)0x002D6400,
- (void*)NULL,
- (void*)(((char*)&d_d_item_data__stringBase0) + 0x28),
- (void*)0x0003FFFF,
- (void*)0xFFFFFFFF,
- (void*)0xFFFFFFFF,
- (void*)0x000D6400,
- (void*)NULL,
- (void*)(((char*)&d_d_item_data__stringBase0) + 0x28),
- (void*)0x0003FFFF,
- (void*)0xFFFFFFFF,
- (void*)0xFFFFFFFF,
- (void*)0x000D6400,
- (void*)NULL,
- (void*)(((char*)&d_d_item_data__stringBase0) + 0x28),
- (void*)0x0003FFFF,
- (void*)0xFFFFFFFF,
- (void*)0xFFFFFFFF,
- (void*)0x000D6400,
- (void*)NULL,
- (void*)(((char*)&d_d_item_data__stringBase0) + 0x28),
- (void*)0x0003FFFF,
- (void*)0xFFFFFFFF,
- (void*)0xFFFFFFFF,
- (void*)0x000D6400,
- (void*)NULL,
- (void*)(((char*)&d_d_item_data__stringBase0) + 0x30),
- (void*)0x0003FFFF,
- (void*)0xFFFFFFFF,
- (void*)0xFFFFFFFF,
- (void*)0x000B6400,
- (void*)NULL,
- (void*)(((char*)&d_d_item_data__stringBase0) + 0x30),
- (void*)0x0003FFFF,
- (void*)0xFFFFFFFF,
- (void*)0xFFFFFFFF,
- (void*)0x000B6400,
- (void*)NULL,
- (void*)(((char*)&d_d_item_data__stringBase0) + 0x30),
- (void*)0x0003FFFF,
- (void*)0xFFFFFFFF,
- (void*)0xFFFFFFFF,
- (void*)0x000B6400,
- (void*)NULL,
- (void*)(((char*)&d_d_item_data__stringBase0) + 0x30),
- (void*)0x0003FFFF,
- (void*)0xFFFFFFFF,
- (void*)0xFFFFFFFF,
- (void*)0x000B6400,
- (void*)NULL,
- (void*)&d_d_item_data__stringBase0,
- (void*)0x0004FFFF,
- (void*)0xFFFF0007,
- (void*)0xFFFF00FF,
- (void*)0x002D6400,
- (void*)NULL,
- (void*)&d_d_item_data__stringBase0,
- (void*)0x0004FFFF,
- (void*)0xFFFF0007,
- (void*)0xFFFF00FF,
- (void*)0x002D6400,
- (void*)NULL,
- (void*)(((char*)&d_d_item_data__stringBase0) + 0x38),
- (void*)0x0003FFFF,
- (void*)0xFFFFFFFF,
- (void*)0xFFFFFFFF,
- (void*)0x006E6400,
- (void*)0x00790000,
- (void*)(((char*)&d_d_item_data__stringBase0) + 0x41),
- (void*)0x0008FFFF,
- (void*)0x0005000B,
- (void*)0xFFFFFFFF,
- (void*)0x00506400,
- (void*)0x01940000,
- (void*)(((char*)&d_d_item_data__stringBase0) + 0x4B),
- (void*)0x0008FFFF,
- (void*)0x0005000B,
- (void*)0xFFFFFFFF,
- (void*)0x00516400,
- (void*)NULL,
- (void*)(((char*)&d_d_item_data__stringBase0) + 0x55),
- (void*)0x0003FFFF,
- (void*)0xFFFFFFFF,
- (void*)0xFFFFFFFF,
- (void*)0x00716400,
- (void*)0x01970000,
- (void*)(((char*)&d_d_item_data__stringBase0) + 0x5E),
- (void*)0x0007FFFF,
- (void*)0x0004FFFF,
- (void*)0xFFFFFFFF,
- (void*)0x006F6400,
- (void*)0x01980000,
- (void*)(((char*)&d_d_item_data__stringBase0) + 0x68),
- (void*)0x0008FFFF,
- (void*)0x0005FFFF,
- (void*)0x000BFFFF,
- (void*)0x00286400,
- (void*)0x01910000,
- (void*)(((char*)&d_d_item_data__stringBase0) + 0x71),
- (void*)0x0003FFFF,
- (void*)0xFFFFFFFF,
- (void*)0xFFFFFFFF,
- (void*)0x00216400,
- (void*)0xFFFF0000,
- (void*)(((char*)&d_d_item_data__stringBase0) + 0x7B),
- (void*)0x0009000C,
- (void*)0x0006FFFF,
- (void*)0x000FFFFF,
- (void*)0x00266400,
- (void*)0x01910000,
- (void*)(((char*)&d_d_item_data__stringBase0) + 0x84),
- (void*)0x0003FFFF,
- (void*)0xFFFFFFFF,
- (void*)0xFFFFFFFF,
- (void*)0x00706E00,
- (void*)0x01950000,
- (void*)&d_d_item_data__stringBase0,
- (void*)0x0004FFFF,
- (void*)0xFFFF0007,
- (void*)0xFFFF00FF,
- (void*)0x00426E00,
- (void*)0x01B20000,
- (void*)(((char*)&d_d_item_data__stringBase0) + 0x8D),
- (void*)0x0003FFFF,
- (void*)0xFFFFFFFF,
- (void*)0xFFFFFFFF,
- (void*)0x00746E00,
- (void*)0x01B50000,
- (void*)(((char*)&d_d_item_data__stringBase0) + 0x96),
- (void*)0x0003FFFF,
- (void*)0xFFFFFFFF,
- (void*)0xFFFFFFFF,
- (void*)0x00406E00,
- (void*)0x01960000,
- (void*)(((char*)&d_d_item_data__stringBase0) + 0x9F),
- (void*)0x0003FFFF,
- (void*)0xFFFFFFFF,
- (void*)0xFFFFFFFF,
- (void*)0x003C6400,
- (void*)0x01B40000,
- (void*)(((char*)&d_d_item_data__stringBase0) + 0xA8),
- (void*)0x0003FFFF,
- (void*)0xFFFFFFFF,
- (void*)0xFFFFFFFF,
- (void*)0x00226400,
- (void*)0x01A80000,
- (void*)&d_d_item_data__stringBase0,
- (void*)0x0004FFFF,
- (void*)0xFFFF0007,
- (void*)0xFFFF00FF,
- (void*)0x006B6400,
- (void*)0x01920000,
- (void*)&d_d_item_data__stringBase0,
- (void*)0x0004FFFF,
- (void*)0xFFFF0007,
- (void*)0xFFFF00FF,
- (void*)0x006B6400,
- (void*)NULL,
- (void*)(((char*)&d_d_item_data__stringBase0) + 0xB2),
- (void*)0x0003FFFF,
- (void*)0xFFFFFFFF,
- (void*)0xFFFFFFFF,
- (void*)0x00416400,
- (void*)0x01A90000,
- (void*)(((char*)&d_d_item_data__stringBase0) + 0xBC),
- (void*)0x0003FFFF,
- (void*)0xFFFFFFFF,
- (void*)0xFFFFFFFF,
- (void*)0x004D6400,
- (void*)0x01AA0000,
- (void*)(((char*)&d_d_item_data__stringBase0) + 0xC6),
- (void*)0x0003FFFF,
- (void*)0xFFFFFFFF,
- (void*)0xFFFFFFFF,
- (void*)0x002D6400,
- (void*)NULL,
- (void*)(((char*)&d_d_item_data__stringBase0) + 0x68),
- (void*)0x0008FFFF,
- (void*)0x0005FFFF,
- (void*)0xFFFFFFFF,
- (void*)0x00286400,
- (void*)NULL,
- (void*)(((char*)&d_d_item_data__stringBase0) + 0xD0),
- (void*)0x0003FFFF,
- (void*)0xFFFFFFFF,
- (void*)0xFFFFFFFF,
- (void*)0x00476400,
- (void*)NULL,
- (void*)(((char*)&d_d_item_data__stringBase0) + 0xD0),
- (void*)0x0003FFFF,
- (void*)0xFFFFFFFF,
- (void*)0xFFFFFFFF,
- (void*)0x00486400,
- (void*)NULL,
- (void*)(((char*)&d_d_item_data__stringBase0) + 0xDA),
- (void*)0x0003FFFF,
- (void*)0xFFFFFFFF,
- (void*)0xFFFFFFFF,
- (void*)0x00496400,
- (void*)0x01AD0000,
- (void*)&d_d_item_data__stringBase0,
- (void*)0x0004FFFF,
- (void*)0xFFFF0007,
- (void*)0xFFFF00FF,
- (void*)0x00506400,
- (void*)0x019F0000,
- (void*)&d_d_item_data__stringBase0,
- (void*)0x0004FFFF,
- (void*)0xFFFF0007,
- (void*)0xFFFF00FF,
- (void*)0x00506400,
- (void*)0x01AF0000,
- (void*)&d_d_item_data__stringBase0,
- (void*)0x0004FFFF,
- (void*)0xFFFF0007,
- (void*)0xFFFF00FF,
- (void*)0x00506400,
- (void*)0x01B00000,
- (void*)&d_d_item_data__stringBase0,
- (void*)0x0004FFFF,
- (void*)0xFFFF0007,
- (void*)0xFFFF00FF,
- (void*)0x00506400,
- (void*)NULL,
- (void*)&d_d_item_data__stringBase0,
- (void*)0x0004FFFF,
- (void*)0xFFFF0007,
- (void*)0xFFFF00FF,
- (void*)0x00726E00,
- (void*)NULL,
- (void*)&d_d_item_data__stringBase0,
- (void*)0x0004FFFF,
- (void*)0xFFFF0007,
- (void*)0xFFFF00FF,
- (void*)0x002D6400,
- (void*)0x01B30000,
- (void*)(((char*)&d_d_item_data__stringBase0) + 0xE4),
- (void*)0x0003FFFF,
- (void*)0xFFFFFFFF,
- (void*)0xFFFFFFFF,
- (void*)0x002A6400,
- (void*)0x01940000,
- (void*)(((char*)&d_d_item_data__stringBase0) + 0xEE),
- (void*)0x0003FFFF,
- (void*)0xFFFFFFFF,
- (void*)0xFFFFFFFF,
- (void*)0x00596400,
- (void*)NULL,
- (void*)(((char*)&d_d_item_data__stringBase0) + 0xF8),
- (void*)0x0003FFFF,
- (void*)0xFFFFFFFF,
- (void*)0xFFFFFFFF,
- (void*)0x00246E00,
- (void*)NULL,
- (void*)(((char*)&d_d_item_data__stringBase0) + 0x101),
- (void*)0x0003FFFF,
- (void*)0xFFFFFFFF,
- (void*)0xFFFFFFFF,
- (void*)0x00626E00,
- (void*)0x01AB0000,
- (void*)(((char*)&d_d_item_data__stringBase0) + 0x10B),
- (void*)0x0003FFFF,
- (void*)0xFFFFFFFF,
- (void*)0xFFFFFFFF,
- (void*)0x002B5F00,
- (void*)0x01A60000,
- (void*)(((char*)&d_d_item_data__stringBase0) + 0x113),
- (void*)0x0003FFFF,
- (void*)0xFFFFFFFF,
- (void*)0xFFFFFFFF,
- (void*)0x00207800,
- (void*)NULL,
- (void*)(((char*)&d_d_item_data__stringBase0) + 0x11B),
- (void*)0x0003FFFF,
- (void*)0xFFFFFFFF,
- (void*)0xFFFFFFFF,
- (void*)0x00696400,
- (void*)0x01A50000,
- (void*)(((char*)&d_d_item_data__stringBase0) + 0x124),
- (void*)0x0003FFFF,
- (void*)0xFFFFFFFF,
- (void*)0xFFFFFFFF,
- (void*)0x006A7800,
- (void*)0x01AC0000,
- (void*)(((char*)&d_d_item_data__stringBase0) + 0x12C),
- (void*)0x0003FFFF,
- (void*)0xFFFFFFFF,
- (void*)0xFFFFFFFF,
- (void*)0x00256400,
- (void*)0x01A70000,
- (void*)(((char*)&d_d_item_data__stringBase0) + 0x136),
- (void*)0x0003FFFF,
- (void*)0xFFFFFFFF,
- (void*)0xFFFFFFFF,
- (void*)0x00166E00,
- (void*)0x019E0000,
- (void*)(((char*)&d_d_item_data__stringBase0) + 0x124),
- (void*)0x0003FFFF,
- (void*)0xFFFFFFFF,
- (void*)0xFFFFFFFF,
- (void*)0x002C8200,
- (void*)0x01B50000,
- (void*)(((char*)&d_d_item_data__stringBase0) + 0x140),
- (void*)0x0003FFFF,
- (void*)0xFFFFFFFF,
- (void*)0xFFFFFFFF,
- (void*)0x006C6E00,
- (void*)0x01930000,
- (void*)&d_d_item_data__stringBase0,
- (void*)0x0004FFFF,
- (void*)0xFFFF0007,
- (void*)0xFFFF00FF,
- (void*)0x00426E00,
- (void*)0x01B60000,
- (void*)(((char*)&d_d_item_data__stringBase0) + 0x148),
- (void*)0x0003FFFF,
- (void*)0xFFFFFFFF,
- (void*)0xFFFFFFFF,
- (void*)0x00186400,
- (void*)0x01B70000,
- (void*)(((char*)&d_d_item_data__stringBase0) + 0x152),
- (void*)0x0003FFFF,
- (void*)0xFFFFFFFF,
- (void*)0xFFFFFFFF,
- (void*)0x005B6400,
- (void*)0x01B80000,
- (void*)(((char*)&d_d_item_data__stringBase0) + 0x136),
- (void*)0x0003FFFF,
- (void*)0xFFFFFFFF,
- (void*)0xFFFFFFFF,
- (void*)0x00166E00,
- (void*)0x01B90000,
- (void*)&d_d_item_data__stringBase0,
- (void*)0x0004FFFF,
- (void*)0xFFFF0007,
- (void*)0xFFFF00FF,
- (void*)0x002D6400,
- (void*)0x01BA0000,
- (void*)&d_d_item_data__stringBase0,
- (void*)0x0004FFFF,
- (void*)0xFFFF0007,
- (void*)0xFFFF00FF,
- (void*)0x002D6400,
- (void*)0x01970000,
- (void*)(((char*)&d_d_item_data__stringBase0) + 0x15C),
- (void*)0x0003FFFF,
- (void*)0xFFFFFFFF,
- (void*)0xFFFFFFFF,
- (void*)0x00566400,
- (void*)0x01980000,
- (void*)(((char*)&d_d_item_data__stringBase0) + 0x166),
- (void*)0x0003FFFF,
- (void*)0xFFFFFFFF,
- (void*)0xFFFF00FF,
- (void*)0x00556400,
- (void*)0x01BD0000,
- (void*)(((char*)&d_d_item_data__stringBase0) + 0x166),
- (void*)0x0003FFFF,
- (void*)0xFFFFFFFF,
- (void*)0xFFFFFFFF,
- (void*)0x00556400,
- (void*)NULL,
- (void*)&d_d_item_data__stringBase0,
- (void*)0x0004FFFF,
- (void*)0xFFFF0007,
- (void*)0xFFFF00FF,
- (void*)0x00566400,
- (void*)NULL,
- (void*)&d_d_item_data__stringBase0,
- (void*)0x0004FFFF,
- (void*)0xFFFF0007,
- (void*)0xFFFF00FF,
- (void*)0x002D6400,
- (void*)NULL,
- (void*)(((char*)&d_d_item_data__stringBase0) + 0x170),
- (void*)0x0003FFFF,
- (void*)0xFFFFFFFF,
- (void*)0xFFFFFFFF,
- (void*)0x004A6400,
- (void*)0x01B10000,
- (void*)(((char*)&d_d_item_data__stringBase0) + 0x17A),
- (void*)0x0003FFFF,
- (void*)0xFFFFFFFF,
- (void*)0xFFFFFFFF,
- (void*)0x004B6400,
- (void*)0x01F00000,
- (void*)(((char*)&d_d_item_data__stringBase0) + 0x184),
- (void*)0x0003FFFF,
- (void*)0xFFFFFFFF,
- (void*)0xFFFFFFFF,
- (void*)0x004C6400,
- (void*)NULL,
- (void*)&d_d_item_data__stringBase0,
- (void*)0x0004FFFF,
- (void*)0xFFFF0007,
- (void*)0xFFFF00FF,
- (void*)0x002D6400,
- (void*)NULL,
- (void*)&d_d_item_data__stringBase0,
- (void*)0x0004FFFF,
- (void*)0xFFFF0007,
- (void*)0xFFFF00FF,
- (void*)0x004E6400,
- (void*)NULL,
- (void*)&d_d_item_data__stringBase0,
- (void*)0x0004FFFF,
- (void*)0xFFFF0007,
- (void*)0xFFFF00FF,
- (void*)0x000C6400,
- (void*)NULL,
- (void*)&d_d_item_data__stringBase0,
- (void*)0x0004FFFF,
- (void*)0xFFFF0007,
- (void*)0xFFFF00FF,
- (void*)0x00596400,
- (void*)NULL,
- (void*)&d_d_item_data__stringBase0,
- (void*)0x0004FFFF,
- (void*)0xFFFF0007,
- (void*)0xFFFF00FF,
- (void*)0x00196400,
- (void*)NULL,
- (void*)&d_d_item_data__stringBase0,
- (void*)0x0004FFFF,
- (void*)0xFFFF0007,
- (void*)0xFFFF00FF,
- (void*)0x001B6400,
- (void*)NULL,
- (void*)&d_d_item_data__stringBase0,
- (void*)0x0004FFFF,
- (void*)0xFFFF0007,
- (void*)0xFFFF00FF,
- (void*)0x001A6400,
- (void*)NULL,
- (void*)&d_d_item_data__stringBase0,
- (void*)0x0004FFFF,
- (void*)0xFFFF0007,
- (void*)0xFFFF00FF,
- (void*)0x001C6400,
- (void*)NULL,
- (void*)&d_d_item_data__stringBase0,
- (void*)0x0004FFFF,
- (void*)0xFFFF0007,
- (void*)0xFFFF00FF,
- (void*)0x001D6400,
- (void*)NULL,
- (void*)(((char*)&d_d_item_data__stringBase0) + 0x18E),
- (void*)0x0006000C,
- (void*)0xFFFF0009,
- (void*)0x000F0002,
- (void*)0x00115000,
- (void*)0x01BE0000,
- (void*)(((char*)&d_d_item_data__stringBase0) + 0x18E),
- (void*)0x0006000C,
- (void*)0xFFFF0009,
- (void*)0x000F0000,
- (void*)0x00115000,
- (void*)0x01BF0000,
- (void*)(((char*)&d_d_item_data__stringBase0) + 0x18E),
- (void*)0x0006000C,
- (void*)0xFFFF0009,
- (void*)0x000F0100,
- (void*)0x00115000,
- (void*)0x01C00000,
- (void*)(((char*)&d_d_item_data__stringBase0) + 0x18E),
- (void*)0x0006000C,
- (void*)0xFFFF0009,
- (void*)0x000F0200,
- (void*)0x00115000,
- (void*)0x01C10000,
- (void*)(((char*)&d_d_item_data__stringBase0) + 0x18E),
- (void*)0x0006000C,
- (void*)0xFFFF0009,
- (void*)0x000F0300,
- (void*)0x00115000,
- (void*)NULL,
- (void*)(((char*)&d_d_item_data__stringBase0) + 0x18E),
- (void*)0x0006000C,
- (void*)0xFFFF0009,
- (void*)0x000F0301,
- (void*)0x00125000,
- (void*)NULL,
- (void*)(((char*)&d_d_item_data__stringBase0) + 0x18E),
- (void*)0x0006000C,
- (void*)0xFFFF0009,
- (void*)0x000F0400,
- (void*)0x00115000,
- (void*)0x01A10000,
- (void*)(((char*)&d_d_item_data__stringBase0) + 0x18E),
- (void*)0x0006000C,
- (void*)0xFFFF0009,
- (void*)0x000F0500,
- (void*)0x00115000,
- (void*)0x01AE0000,
- (void*)(((char*)&d_d_item_data__stringBase0) + 0x18E),
- (void*)0x0006000C,
- (void*)0xFFFF0009,
- (void*)0x000F0400,
- (void*)0x00115000,
- (void*)0x01A10000,
- (void*)(((char*)&d_d_item_data__stringBase0) + 0x18E),
- (void*)0x0006000C,
- (void*)0xFFFF0009,
- (void*)0x000F0000,
- (void*)0x00115000,
- (void*)0x01BF0000,
- (void*)(((char*)&d_d_item_data__stringBase0) + 0x18E),
- (void*)0x0006000C,
- (void*)0xFFFF0009,
- (void*)0x000F0800,
- (void*)0x00115000,
- (void*)NULL,
- (void*)(((char*)&d_d_item_data__stringBase0) + 0x18E),
- (void*)0x0006000C,
- (void*)0xFFFF0009,
- (void*)0x000F0500,
- (void*)0x00115000,
- (void*)NULL,
- (void*)&d_d_item_data__stringBase0,
- (void*)0x0004FFFF,
- (void*)0xFFFF0007,
- (void*)0xFFFF00FF,
- (void*)0x00115000,
- (void*)NULL,
- (void*)(((char*)&d_d_item_data__stringBase0) + 0x18E),
- (void*)0x0006000C,
- (void*)0xFFFF0009,
- (void*)0x000F0500,
- (void*)0x00115000,
- (void*)NULL,
- (void*)(((char*)&d_d_item_data__stringBase0) + 0x198),
- (void*)0x0003FFFF,
- (void*)0xFFFFFFFF,
- (void*)0xFFFFFFFF,
- (void*)0x006C6E00,
- (void*)NULL,
- (void*)(((char*)&d_d_item_data__stringBase0) + 0x198),
- (void*)0x0003FFFF,
- (void*)0xFFFFFFFF,
- (void*)0xFFFFFFFF,
- (void*)0x006C6E00,
- (void*)NULL,
- (void*)(((char*)&d_d_item_data__stringBase0) + 0x15C),
- (void*)0x0003FFFF,
- (void*)0xFFFFFFFF,
- (void*)0xFFFFFFFF,
- (void*)0x000C6400,
- (void*)0x01980000,
- (void*)(((char*)&d_d_item_data__stringBase0) + 0x28),
- (void*)0x0003FFFF,
- (void*)0xFFFFFFFF,
- (void*)0xFFFFFFFF,
- (void*)0x000D6400,
- (void*)NULL,
- (void*)(((char*)&d_d_item_data__stringBase0) + 0x30),
- (void*)0x0003FFFF,
- (void*)0xFFFFFFFF,
- (void*)0xFFFFFFFF,
- (void*)0x000B6400,
- (void*)NULL,
- (void*)(((char*)&d_d_item_data__stringBase0) + 0x18E),
- (void*)0x0006000C,
- (void*)0xFFFF0009,
- (void*)0x000F0B00,
- (void*)0x00115000,
- (void*)NULL,
- (void*)&d_d_item_data__stringBase0,
- (void*)0x0004FFFF,
- (void*)0xFFFF0007,
- (void*)0xFFFF00FF,
- (void*)0x00115000,
- (void*)NULL,
- (void*)(((char*)&d_d_item_data__stringBase0) + 0x18E),
- (void*)0x0006000C,
- (void*)0xFFFF0009,
- (void*)0x000F0B00,
- (void*)0x00115000,
- (void*)NULL,
- (void*)&d_d_item_data__stringBase0,
- (void*)0x0004FFFF,
- (void*)0xFFFF0007,
- (void*)0xFFFF00FF,
- (void*)0x00115000,
- (void*)NULL,
- (void*)(((char*)&d_d_item_data__stringBase0) + 0x18E),
- (void*)0x0006000C,
- (void*)0xFFFF0009,
- (void*)0x000F0700,
- (void*)0x00115000,
- (void*)0x01BF0000,
- (void*)(((char*)&d_d_item_data__stringBase0) + 0x18E),
- (void*)0x0006000C,
- (void*)0xFFFF0009,
- (void*)0x000F0000,
- (void*)0x00115000,
- (void*)0x01BF0000,
- (void*)(((char*)&d_d_item_data__stringBase0) + 0x18E),
- (void*)0x0006000C,
- (void*)0xFFFF0009,
- (void*)0x000F0200,
- (void*)0x00115000,
- (void*)0x01BF0000,
- (void*)(((char*)&d_d_item_data__stringBase0) + 0x18E),
- (void*)0x0006000C,
- (void*)0xFFFF0009,
- (void*)0x000F0100,
- (void*)0x00115000,
- (void*)0x01BF0000,
- (void*)(((char*)&d_d_item_data__stringBase0) + 0x18E),
- (void*)0x0006000C,
- (void*)0xFFFF0009,
- (void*)0x000F0400,
- (void*)0x00115000,
- (void*)0x01BF0000,
- (void*)(((char*)&d_d_item_data__stringBase0) + 0x18E),
- (void*)0x0006000C,
- (void*)0xFFFF0009,
- (void*)0x000F0600,
- (void*)0x00115000,
- (void*)0x01BF0000,
- (void*)&d_d_item_data__stringBase0,
- (void*)0x0004FFFF,
- (void*)0xFFFF0007,
- (void*)0xFFFF00FF,
- (void*)0x00135000,
- (void*)NULL,
- (void*)&d_d_item_data__stringBase0,
- (void*)0x0004FFFF,
- (void*)0xFFFF0007,
- (void*)0xFFFF00FF,
- (void*)0x00135000,
- (void*)NULL,
- (void*)&d_d_item_data__stringBase0,
- (void*)0x0004FFFF,
- (void*)0xFFFF0007,
- (void*)0xFFFF00FF,
- (void*)0x00135000,
- (void*)0x01CF0000,
- (void*)(((char*)&d_d_item_data__stringBase0) + 0x1A1),
- (void*)0x0003FFFF,
- (void*)0xFFFFFFFF,
- (void*)0xFFFFFFFF,
- (void*)0x005A6400,
- (void*)NULL,
- (void*)(((char*)&d_d_item_data__stringBase0) + 0x1AB),
- (void*)0x0003FFFF,
- (void*)0xFFFFFFFF,
- (void*)0xFFFFFFFF,
- (void*)0x00546400,
- (void*)NULL,
- (void*)(((char*)&d_d_item_data__stringBase0) + 0x1B5),
- (void*)0x0003FFFF,
- (void*)0xFFFFFFFF,
- (void*)0xFFFFFFFF,
- (void*)0x00586400,
- (void*)NULL,
- (void*)(((char*)&d_d_item_data__stringBase0) + 0x1BF),
- (void*)0x0003FFFF,
- (void*)0xFFFFFFFF,
- (void*)0xFFFFFFFF,
- (void*)0x005D6400,
- (void*)NULL,
- (void*)&d_d_item_data__stringBase0,
- (void*)0x0004FFFF,
- (void*)0xFFFF0007,
- (void*)0xFFFF00FF,
- (void*)0x005D6400,
- (void*)NULL,
- (void*)&d_d_item_data__stringBase0,
- (void*)0x0004FFFF,
- (void*)0xFFFF0007,
- (void*)0xFFFF00FF,
- (void*)0x002D6400,
- (void*)NULL,
- (void*)&d_d_item_data__stringBase0,
- (void*)0x0004FFFF,
- (void*)0xFFFF0007,
- (void*)0xFFFF00FF,
- (void*)0x002D6400,
- (void*)NULL,
- (void*)&d_d_item_data__stringBase0,
- (void*)0x0004FFFF,
- (void*)0xFFFF0007,
- (void*)0xFFFF00FF,
- (void*)0x002D6400,
- (void*)NULL,
- (void*)&d_d_item_data__stringBase0,
- (void*)0x0004FFFF,
- (void*)0xFFFF0007,
- (void*)0xFFFF00FF,
- (void*)0x002D6400,
- (void*)NULL,
- (void*)&d_d_item_data__stringBase0,
- (void*)0x0004FFFF,
- (void*)0xFFFF0007,
- (void*)0xFFFF00FF,
- (void*)0x002D6400,
- (void*)0x01D30000,
- (void*)&d_d_item_data__stringBase0,
- (void*)0x0004FFFF,
- (void*)0xFFFF0007,
- (void*)0xFFFF00FF,
- (void*)0x002D6400,
- (void*)0x01D20000,
- (void*)&d_d_item_data__stringBase0,
- (void*)0x0004FFFF,
- (void*)0xFFFF0007,
- (void*)0xFFFF00FF,
- (void*)0x002D6400,
- (void*)NULL,
- (void*)&d_d_item_data__stringBase0,
- (void*)0x0004FFFF,
- (void*)0xFFFF0007,
- (void*)0xFFFF00FF,
- (void*)0x002D6400,
- (void*)NULL,
- (void*)&d_d_item_data__stringBase0,
- (void*)0x0004FFFF,
- (void*)0xFFFF0007,
- (void*)0xFFFF00FF,
- (void*)0x002D6400,
- (void*)NULL,
- (void*)&d_d_item_data__stringBase0,
- (void*)0x0004FFFF,
- (void*)0xFFFF0007,
- (void*)0xFFFF00FF,
- (void*)0x002D6400,
- (void*)NULL,
- (void*)&d_d_item_data__stringBase0,
- (void*)0x0004FFFF,
- (void*)0xFFFF0007,
- (void*)0xFFFF00FF,
- (void*)0x002D6400,
- (void*)NULL,
- (void*)(((char*)&d_d_item_data__stringBase0) + 0xA8),
- (void*)0x0003FFFF,
- (void*)0xFFFFFFFF,
- (void*)0xFFFFFFFF,
- (void*)0x00226400,
- (void*)NULL,
- (void*)(((char*)&d_d_item_data__stringBase0) + 0xA8),
- (void*)0x0003FFFF,
- (void*)0xFFFFFFFF,
- (void*)0xFFFFFFFF,
- (void*)0x00226400,
- (void*)NULL,
- (void*)&d_d_item_data__stringBase0,
- (void*)0x0004FFFF,
- (void*)0xFFFF0007,
- (void*)0xFFFF00FF,
- (void*)0x002D6400,
- (void*)NULL,
- (void*)&d_d_item_data__stringBase0,
- (void*)0x0004FFFF,
- (void*)0xFFFF0007,
- (void*)0xFFFF00FF,
- (void*)0x002D6400,
- (void*)NULL,
- (void*)&d_d_item_data__stringBase0,
- (void*)0x0004FFFF,
- (void*)0xFFFF0007,
- (void*)0xFFFF00FF,
- (void*)0x002D6400,
- (void*)NULL,
- (void*)&d_d_item_data__stringBase0,
- (void*)0x0004FFFF,
- (void*)0xFFFF0007,
- (void*)0xFFFF00FF,
- (void*)0x002D6400,
- (void*)NULL,
- (void*)&d_d_item_data__stringBase0,
- (void*)0x0004FFFF,
- (void*)0xFFFF0007,
- (void*)0xFFFF00FF,
- (void*)0x002D6400,
- (void*)NULL,
- (void*)&d_d_item_data__stringBase0,
- (void*)0x0004FFFF,
- (void*)0xFFFF0007,
- (void*)0xFFFF00FF,
- (void*)0x002D6400,
- (void*)NULL,
- (void*)&d_d_item_data__stringBase0,
- (void*)0x0004FFFF,
- (void*)0xFFFF0007,
- (void*)0xFFFF00FF,
- (void*)0x002D6400,
- (void*)NULL,
- (void*)&d_d_item_data__stringBase0,
- (void*)0x0004FFFF,
- (void*)0xFFFF0007,
- (void*)0xFFFF00FF,
- (void*)0x002D6400,
- (void*)NULL,
- (void*)&d_d_item_data__stringBase0,
- (void*)0x0004FFFF,
- (void*)0xFFFF0007,
- (void*)0xFFFF00FF,
- (void*)0x002D6400,
- (void*)NULL,
- (void*)&d_d_item_data__stringBase0,
- (void*)0x0004FFFF,
- (void*)0xFFFF0007,
- (void*)0xFFFF00FF,
- (void*)0x002D6400,
- (void*)NULL,
- (void*)&d_d_item_data__stringBase0,
- (void*)0x0004FFFF,
- (void*)0xFFFF0007,
- (void*)0xFFFF00FF,
- (void*)0x006C6E00,
- (void*)NULL,
- (void*)(((char*)&d_d_item_data__stringBase0) + 0x18E),
- (void*)0x0006000C,
- (void*)0xFFFF0009,
- (void*)0x000F0400,
- (void*)0x00115000,
- (void*)0x01A10000,
- (void*)(((char*)&d_d_item_data__stringBase0) + 0x1C9),
- (void*)0x0003FFFF,
- (void*)0xFFFFFFFF,
- (void*)0xFFFFFFFF,
- (void*)0x00115000,
- (void*)NULL,
- (void*)&d_d_item_data__stringBase0,
- (void*)0x0004FFFF,
- (void*)0xFFFF0007,
- (void*)0xFFFF00FF,
- (void*)0x00115000,
- (void*)NULL,
- (void*)&d_d_item_data__stringBase0,
- (void*)0x0004FFFF,
- (void*)0xFFFF0007,
- (void*)0xFFFF00FF,
- (void*)0x002D6400,
- (void*)NULL,
- (void*)(((char*)&d_d_item_data__stringBase0) + 0x1D3),
- (void*)0x0003FFFF,
- (void*)0xFFFFFFFF,
- (void*)0xFFFFFFFF,
- (void*)0x00526400,
- (void*)NULL,
- (void*)(((char*)&d_d_item_data__stringBase0) + 0x1D3),
- (void*)0x0003FFFF,
- (void*)0xFFFFFFFF,
- (void*)0xFFFFFFFF,
- (void*)0x00526400,
- (void*)NULL,
- (void*)(((char*)&d_d_item_data__stringBase0) + 0x1D3),
- (void*)0x0003FFFF,
- (void*)0xFFFFFFFF,
- (void*)0xFFFFFFFF,
- (void*)0x00526400,
- (void*)NULL,
- (void*)(((char*)&d_d_item_data__stringBase0) + 0x1D3),
- (void*)0x0003FFFF,
- (void*)0xFFFFFFFF,
- (void*)0xFFFFFFFF,
- (void*)0x00526400,
- (void*)NULL,
- (void*)&d_d_item_data__stringBase0,
- (void*)0x0004FFFF,
- (void*)0xFFFF0007,
- (void*)0xFFFF00FF,
- (void*)0x002D6400,
- (void*)NULL,
- (void*)&d_d_item_data__stringBase0,
- (void*)0x0004FFFF,
- (void*)0xFFFF0007,
- (void*)0xFFFF00FF,
- (void*)0x002D6400,
- (void*)NULL,
- (void*)&d_d_item_data__stringBase0,
- (void*)0x0004FFFF,
- (void*)0xFFFF0007,
- (void*)0xFFFF00FF,
- (void*)0x002D6400,
- (void*)NULL,
- (void*)&d_d_item_data__stringBase0,
- (void*)0x0004FFFF,
- (void*)0xFFFF0007,
- (void*)0xFFFF00FF,
- (void*)0x002D6400,
- (void*)NULL,
- (void*)&d_d_item_data__stringBase0,
- (void*)0x0004FFFF,
- (void*)0xFFFF0007,
- (void*)0xFFFF00FF,
- (void*)0x002D6400,
- (void*)NULL,
- (void*)&d_d_item_data__stringBase0,
- (void*)0x0004FFFF,
- (void*)0xFFFF0007,
- (void*)0xFFFF00FF,
- (void*)0x002D6400,
- (void*)NULL,
- (void*)&d_d_item_data__stringBase0,
- (void*)0x0004FFFF,
- (void*)0xFFFF0007,
- (void*)0xFFFF00FF,
- (void*)0x002D6400,
- (void*)NULL,
- (void*)&d_d_item_data__stringBase0,
- (void*)0x0004FFFF,
- (void*)0xFFFF0007,
- (void*)0xFFFF00FF,
- (void*)0x002D6400,
- (void*)NULL,
- (void*)&d_d_item_data__stringBase0,
- (void*)0x0004FFFF,
- (void*)0xFFFF0007,
- (void*)0xFFFF00FF,
- (void*)0x002D6400,
- (void*)NULL,
- (void*)&d_d_item_data__stringBase0,
- (void*)0x0004FFFF,
- (void*)0xFFFF0007,
- (void*)0xFFFF00FF,
- (void*)0x002D6400,
- (void*)NULL,
- (void*)&d_d_item_data__stringBase0,
- (void*)0x0004FFFF,
- (void*)0xFFFF0007,
- (void*)0xFFFF00FF,
- (void*)0x002D6400,
- (void*)NULL,
- (void*)&d_d_item_data__stringBase0,
- (void*)0x0004FFFF,
- (void*)0xFFFF0007,
- (void*)0xFFFF00FF,
- (void*)0x002D6400,
- (void*)NULL,
- (void*)&d_d_item_data__stringBase0,
- (void*)0x0004FFFF,
- (void*)0xFFFF0007,
- (void*)0xFFFF00FF,
- (void*)0x002D6400,
- (void*)NULL,
- (void*)&d_d_item_data__stringBase0,
- (void*)0x0004FFFF,
- (void*)0xFFFF0007,
- (void*)0xFFFF00FF,
- (void*)0x002D6400,
- (void*)NULL,
- (void*)&d_d_item_data__stringBase0,
- (void*)0x0004FFFF,
- (void*)0xFFFF0007,
- (void*)0xFFFF00FF,
- (void*)0x002D6400,
- (void*)NULL,
- (void*)&d_d_item_data__stringBase0,
- (void*)0x0004FFFF,
- (void*)0xFFFF0007,
- (void*)0xFFFF00FF,
- (void*)0x002D6400,
- (void*)NULL,
- (void*)&d_d_item_data__stringBase0,
- (void*)0x0004FFFF,
- (void*)0xFFFF0007,
- (void*)0xFFFF00FF,
- (void*)0x002D6400,
- (void*)NULL,
- (void*)&d_d_item_data__stringBase0,
- (void*)0x0004FFFF,
- (void*)0xFFFF0007,
- (void*)0xFFFF00FF,
- (void*)0x002D6400,
- (void*)NULL,
- (void*)&d_d_item_data__stringBase0,
- (void*)0x0004FFFF,
- (void*)0xFFFF0007,
- (void*)0xFFFF00FF,
- (void*)0x002D6400,
- (void*)NULL,
- (void*)&d_d_item_data__stringBase0,
- (void*)0x0004FFFF,
- (void*)0xFFFF0007,
- (void*)0xFFFF00FF,
- (void*)0x002D6400,
- (void*)NULL,
- (void*)&d_d_item_data__stringBase0,
- (void*)0x0004FFFF,
- (void*)0xFFFF0007,
- (void*)0xFFFF00FF,
- (void*)0x002D6400,
- (void*)NULL,
- (void*)&d_d_item_data__stringBase0,
- (void*)0x0004FFFF,
- (void*)0xFFFF0007,
- (void*)0xFFFF00FF,
- (void*)0x002D6400,
- (void*)NULL,
- (void*)&d_d_item_data__stringBase0,
- (void*)0x0004FFFF,
- (void*)0xFFFF0007,
- (void*)0xFFFF00FF,
- (void*)0x002D6400,
- (void*)NULL,
- (void*)&d_d_item_data__stringBase0,
- (void*)0x0004FFFF,
- (void*)0xFFFF0007,
- (void*)0xFFFF00FF,
- (void*)0x002D6400,
- (void*)NULL,
- (void*)&d_d_item_data__stringBase0,
- (void*)0x0004FFFF,
- (void*)0xFFFF0007,
- (void*)0xFFFF00FF,
- (void*)0x002D6400,
- (void*)NULL,
- (void*)&d_d_item_data__stringBase0,
- (void*)0x0004FFFF,
- (void*)0xFFFF0007,
- (void*)0xFFFF00FF,
- (void*)0x002D6400,
- (void*)NULL,
- (void*)&d_d_item_data__stringBase0,
- (void*)0x0004FFFF,
- (void*)0xFFFF0007,
- (void*)0xFFFF00FF,
- (void*)0x00115000,
- (void*)NULL,
- (void*)(((char*)&d_d_item_data__stringBase0) + 0x1DD),
- (void*)0x0005000B,
- (void*)0xFFFF0008,
- (void*)0xFFFFFFFF,
- (void*)0x00305000,
- (void*)NULL,
- (void*)(((char*)&d_d_item_data__stringBase0) + 0x1E7),
- (void*)0x0005000B,
- (void*)0xFFFF0008,
- (void*)0xFFFFFFFF,
- (void*)0x002F5000,
- (void*)NULL,
- (void*)(((char*)&d_d_item_data__stringBase0) + 0x1F1),
- (void*)0x0009000F,
- (void*)0x0006000C,
- (void*)0xFFFFFFFF,
- (void*)0x00085000,
- (void*)NULL,
- (void*)(((char*)&d_d_item_data__stringBase0) + 0x1FB),
- (void*)0x0009000F,
- (void*)0x0006000C,
- (void*)0xFFFFFFFF,
- (void*)0x00075000,
- (void*)NULL,
- (void*)(((char*)&d_d_item_data__stringBase0) + 0x205),
- (void*)0x0005000B,
- (void*)0xFFFF0008,
- (void*)0xFFFFFFFF,
- (void*)0x00385000,
- (void*)NULL,
- (void*)(((char*)&d_d_item_data__stringBase0) + 0x20F),
- (void*)0x0005000B,
- (void*)0xFFFF0008,
- (void*)0xFFFFFFFF,
- (void*)0x00375000,
- (void*)NULL,
- (void*)(((char*)&d_d_item_data__stringBase0) + 0x219),
- (void*)0x0005000B,
- (void*)0xFFFF0008,
- (void*)0xFFFFFFFF,
- (void*)0x00065000,
- (void*)NULL,
- (void*)(((char*)&d_d_item_data__stringBase0) + 0x223),
- (void*)0x0005000B,
- (void*)0xFFFF0008,
- (void*)0xFFFFFFFF,
- (void*)0x00055000,
- (void*)NULL,
- (void*)(((char*)&d_d_item_data__stringBase0) + 0x22D),
- (void*)0x0005000B,
- (void*)0xFFFF0008,
- (void*)0xFFFFFFFF,
- (void*)0x003B5000,
- (void*)NULL,
- (void*)(((char*)&d_d_item_data__stringBase0) + 0x237),
- (void*)0x0005000B,
- (void*)0xFFFF0008,
- (void*)0xFFFFFFFF,
- (void*)0x003A5000,
- (void*)NULL,
- (void*)(((char*)&d_d_item_data__stringBase0) + 0x241),
- (void*)0x0005000B,
- (void*)0xFFFF0008,
- (void*)0xFFFFFFFF,
- (void*)0x000A5000,
- (void*)NULL,
- (void*)(((char*)&d_d_item_data__stringBase0) + 0x24B),
- (void*)0x0005000B,
- (void*)0xFFFF0008,
- (void*)0xFFFFFFFF,
- (void*)0x00095000,
- (void*)NULL,
- (void*)(((char*)&d_d_item_data__stringBase0) + 0x255),
- (void*)0x0005000B,
- (void*)0xFFFF0008,
- (void*)0xFFFFFFFF,
- (void*)0x00345000,
- (void*)NULL,
- (void*)(((char*)&d_d_item_data__stringBase0) + 0x25F),
- (void*)0x0005000B,
- (void*)0xFFFF0008,
- (void*)0xFFFFFFFF,
- (void*)0x00335000,
- (void*)NULL,
- (void*)(((char*)&d_d_item_data__stringBase0) + 0x269),
- (void*)0x0005000B,
- (void*)0xFFFF0008,
- (void*)0xFFFFFFFF,
- (void*)0x005F5000,
- (void*)NULL,
- (void*)(((char*)&d_d_item_data__stringBase0) + 0x273),
- (void*)0x0005000B,
- (void*)0xFFFF0008,
- (void*)0xFFFFFFFF,
- (void*)0x005E5000,
- (void*)NULL,
- (void*)(((char*)&d_d_item_data__stringBase0) + 0x27D),
- (void*)0x0005000B,
- (void*)0xFFFF0008,
- (void*)0xFFFFFFFF,
- (void*)0x00365000,
- (void*)NULL,
- (void*)(((char*)&d_d_item_data__stringBase0) + 0x287),
- (void*)0x0005000B,
- (void*)0xFFFF0008,
- (void*)0xFFFFFFFF,
- (void*)0x00355000,
- (void*)NULL,
- (void*)(((char*)&d_d_item_data__stringBase0) + 0x291),
- (void*)0x0009000F,
- (void*)0x0006000C,
- (void*)0xFFFFFFFF,
- (void*)0x00615000,
- (void*)NULL,
- (void*)(((char*)&d_d_item_data__stringBase0) + 0x29B),
- (void*)0x0009000F,
- (void*)0x0006000C,
- (void*)0xFFFFFFFF,
- (void*)0x00605000,
- (void*)NULL,
- (void*)(((char*)&d_d_item_data__stringBase0) + 0x2A5),
- (void*)0x0005000B,
- (void*)0xFFFF0008,
- (void*)0xFFFFFFFF,
- (void*)0x00045000,
- (void*)NULL,
- (void*)(((char*)&d_d_item_data__stringBase0) + 0x2AF),
- (void*)0x0005000B,
- (void*)0xFFFF0008,
- (void*)0xFFFFFFFF,
- (void*)0x00035000,
- (void*)NULL,
- (void*)(((char*)&d_d_item_data__stringBase0) + 0x2B9),
- (void*)0x0009000F,
- (void*)0x0006000C,
- (void*)0xFFFFFFFF,
- (void*)0x00325000,
- (void*)NULL,
- (void*)(((char*)&d_d_item_data__stringBase0) + 0x2C3),
- (void*)0x0009000F,
- (void*)0x0006000C,
- (void*)0xFFFFFFFF,
- (void*)0x00315000,
- (void*)NULL,
- (void*)&d_d_item_data__stringBase0,
- (void*)0x0004FFFF,
- (void*)0xFFFF0007,
- (void*)0xFFFF00FF,
- (void*)0x002D6400,
- (void*)NULL,
- (void*)&d_d_item_data__stringBase0,
- (void*)0x0004FFFF,
- (void*)0xFFFF0007,
- (void*)0xFFFF00FF,
- (void*)0x002D6400,
- (void*)NULL,
- (void*)&d_d_item_data__stringBase0,
- (void*)0x0004FFFF,
- (void*)0xFFFF0007,
- (void*)0xFFFF00FF,
- (void*)0x002D6400,
- (void*)NULL,
- (void*)&d_d_item_data__stringBase0,
- (void*)0x0004FFFF,
- (void*)0xFFFF0007,
- (void*)0xFFFF00FF,
- (void*)0x002D6400,
- (void*)NULL,
- (void*)&d_d_item_data__stringBase0,
- (void*)0x0004FFFF,
- (void*)0xFFFF0007,
- (void*)0xFFFF00FF,
- (void*)0x002D6400,
- (void*)NULL,
- (void*)&d_d_item_data__stringBase0,
- (void*)0x0004FFFF,
- (void*)0xFFFF0007,
- (void*)0xFFFF00FF,
- (void*)0x002D6400,
- (void*)NULL,
- (void*)&d_d_item_data__stringBase0,
- (void*)0x0004FFFF,
- (void*)0xFFFF0007,
- (void*)0xFFFF00FF,
- (void*)0x002D6400,
- (void*)NULL,
- (void*)&d_d_item_data__stringBase0,
- (void*)0x0004FFFF,
- (void*)0xFFFF0007,
- (void*)0xFFFF00FF,
- (void*)0x002D6400,
- (void*)NULL,
- (void*)(((char*)&d_d_item_data__stringBase0) + 0x2CD),
- (void*)0x0005000B,
- (void*)0xFFFF0008,
- (void*)0xFFFFFFFF,
- (void*)0x003E6400,
- (void*)NULL,
- (void*)&d_d_item_data__stringBase0,
- (void*)0x0004FFFF,
- (void*)0xFFFF0007,
- (void*)0xFFFF00FF,
- (void*)0x002D6400,
- (void*)NULL,
- (void*)&d_d_item_data__stringBase0,
- (void*)0x0004FFFF,
- (void*)0xFFFF0007,
- (void*)0xFFFF00FF,
- (void*)0x002D6400,
- (void*)NULL,
- (void*)&d_d_item_data__stringBase0,
- (void*)0x0004FFFF,
- (void*)0xFFFF0007,
- (void*)0xFFFF00FF,
- (void*)0x002D6400,
- (void*)NULL,
- (void*)&d_d_item_data__stringBase0,
- (void*)0x0004FFFF,
- (void*)0xFFFF0007,
- (void*)0xFFFF00FF,
- (void*)0x002D6400,
- (void*)NULL,
- (void*)&d_d_item_data__stringBase0,
- (void*)0x0004FFFF,
- (void*)0xFFFF0007,
- (void*)0xFFFF00FF,
- (void*)0x002D6400,
- (void*)NULL,
- (void*)&d_d_item_data__stringBase0,
- (void*)0x0004FFFF,
- (void*)0xFFFF0007,
- (void*)0xFFFF00FF,
- (void*)0x002D6400,
- (void*)NULL,
- (void*)&d_d_item_data__stringBase0,
- (void*)0x0004FFFF,
- (void*)0xFFFF0007,
- (void*)0xFFFF00FF,
- (void*)0x002D6400,
- (void*)NULL,
- (void*)&d_d_item_data__stringBase0,
- (void*)0x0004FFFF,
- (void*)0xFFFF0007,
- (void*)0xFFFF00FF,
- (void*)0x002D6400,
- (void*)NULL,
- (void*)(((char*)&d_d_item_data__stringBase0) + 0x2D7),
- (void*)0x0003FFFF,
- (void*)0xFFFFFFFF,
- (void*)0xFFFFFFFF,
- (void*)0x004F6400,
- (void*)NULL,
- (void*)(((char*)&d_d_item_data__stringBase0) + 0x2D7),
- (void*)0x0003FFFF,
- (void*)0xFFFFFFFF,
- (void*)0xFFFFFFFF,
- (void*)0x004F6400,
- (void*)NULL,
- (void*)(((char*)&d_d_item_data__stringBase0) + 0x2D7),
- (void*)0x0003FFFF,
- (void*)0xFFFFFFFF,
- (void*)0xFFFFFFFF,
- (void*)0x004F6400,
- (void*)NULL,
- (void*)(((char*)&d_d_item_data__stringBase0) + 0x7B),
- (void*)0x0009000C,
- (void*)0x0006FFFF,
- (void*)0x000FFFFF,
- (void*)0x00266400,
- (void*)0x01910000,
- (void*)&d_d_item_data__stringBase0,
- (void*)0x0004FFFF,
- (void*)0xFFFF0007,
- (void*)0xFFFF04FF,
- (void*)0x002D3C00,
- (void*)NULL,
- (void*)(((char*)&d_d_item_data__stringBase0) + 0x38),
- (void*)0x0003FFFF,
- (void*)0xFFFFFFFF,
- (void*)0xFFFFFFFF,
- (void*)0x006E6400,
- (void*)NULL,
- (void*)(((char*)&d_d_item_data__stringBase0) + 0x18E),
- (void*)0x0006000C,
- (void*)0xFFFF0009,
- (void*)0x000F0002,
- (void*)0x00115000,
- (void*)NULL,
- (void*)(((char*)&d_d_item_data__stringBase0) + 0x18E),
- (void*)0x0006000C,
- (void*)0xFFFF0009,
- (void*)0x000F0002,
- (void*)0x00115000,
- (void*)NULL,
- (void*)(((char*)&d_d_item_data__stringBase0) + 0x18E),
- (void*)0x0006000C,
- (void*)0xFFFF0009,
- (void*)0x000F0002,
- (void*)0x00115000,
- (void*)NULL,
- (void*)(((char*)&d_d_item_data__stringBase0) + 0x18E),
- (void*)0x0006000C,
- (void*)0xFFFF0009,
- (void*)0x000F0002,
- (void*)0x00115000,
- (void*)NULL,
- (void*)(((char*)&d_d_item_data__stringBase0) + 0x38),
- (void*)0x0003FFFF,
- (void*)0xFFFFFFFF,
- (void*)0xFFFFFFFF,
- (void*)0x006E6400,
- (void*)NULL,
- (void*)(((char*)&d_d_item_data__stringBase0) + 0x2E1),
- (void*)0x0003FFFF,
- (void*)0xFFFFFFFF,
- (void*)0xFFFFFFFF,
- (void*)0x00296400,
- (void*)NULL,
- (void*)(((char*)&d_d_item_data__stringBase0) + 0x2EB),
- (void*)0x0003FFFF,
- (void*)0xFFFFFFFF,
- (void*)0xFFFFFFFF,
- (void*)0x00156400,
- (void*)NULL,
- (void*)(((char*)&d_d_item_data__stringBase0) + 0x2F5),
- (void*)0x0003FFFF,
- (void*)0xFFFFFFFF,
- (void*)0xFFFFFFFF,
- (void*)0x003F6400,
- (void*)NULL,
- (void*)&d_d_item_data__stringBase0,
- (void*)0x0004FFFF,
- (void*)0xFFFF0007,
- (void*)0xFFFF00FF,
- (void*)0x003C6400,
- (void*)NULL,
- (void*)(((char*)&d_d_item_data__stringBase0) + 0x140),
- (void*)0x0003FFFF,
- (void*)0xFFFFFFFF,
- (void*)0xFFFFFFFF,
- (void*)0x006C6E00,
- (void*)NULL,
- (void*)(((char*)&d_d_item_data__stringBase0) + 0x2FF),
- (void*)0x0003FFFF,
- (void*)0xFFFFFFFF,
- (void*)0xFFFFFFFF,
- (void*)0x00437800,
- (void*)NULL,
- (void*)(((char*)&d_d_item_data__stringBase0) + 0x309),
- (void*)0x0003FFFF,
- (void*)0xFFFFFFFF,
- (void*)0xFFFFFFFF,
- (void*)0x00457800,
- (void*)NULL,
- (void*)(((char*)&d_d_item_data__stringBase0) + 0x313),
- (void*)0x0003FFFF,
- (void*)0xFFFFFFFF,
- (void*)0xFFFFFFFF,
- (void*)0x00467800,
- (void*)NULL,
- (void*)(((char*)&d_d_item_data__stringBase0) + 0x38),
- (void*)0x0003FFFF,
- (void*)0xFFFFFFFF,
- (void*)0xFFFFFFFF,
- (void*)0x006E6400,
- (void*)NULL,
- (void*)(((char*)&d_d_item_data__stringBase0) + 0x31D),
- (void*)0x0003FFFF,
- (void*)0xFFFFFFFF,
- (void*)0xFFFFFFFF,
- (void*)0x00177800,
- (void*)NULL,
- (void*)(((char*)&d_d_item_data__stringBase0) + 0x38),
- (void*)0x0003FFFF,
- (void*)0xFFFFFFFF,
- (void*)0xFFFFFFFF,
- (void*)0x006E6400,
- (void*)NULL,
+SECTION_DATA dItem_itemResource dItem_data::item_resource[255] = {
+ {"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},
+ {"F_gD_rupy", 0x0004, 0xFFFF, 0xFFFF, 0x0007, 0xFFFF, 0x2, 0xFF, 0x002D, 0x3C, 0x0000},
+ {"F_gD_rupy", 0x0004, 0xFFFF, 0xFFFF, 0x0007, 0xFFFF, 0x3, 0xFF, 0x002D, 0x3C, 0x0000},
+ {"F_gD_rupy", 0x0004, 0xFFFF, 0xFFFF, 0x0007, 0xFFFF, 0x4, 0xFF, 0x002D, 0x3C, 0x0000},
+ {"F_gD_rupy", 0x0004, 0xFFFF, 0xFFFF, 0x0007, 0xFFFF, 0x5, 0xFF, 0x002D, 0x3C, 0x0000},
+ {"F_gD_rupy", 0x0004, 0xFFFF, 0xFFFF, 0x0007, 0xFFFF, 0x6, 0xFF, 0x002D, 0x3C, 0x0000},
+ {"F_gD_rupy", 0x0004, 0xFFFF, 0xFFFF, 0x0007, 0xFFFF, 0x0, 0xFF, 0x002D, 0x64, 0x0000},
+ {"F_gD_rupy", 0x0004, 0xFFFF, 0xFFFF, 0x0007, 0xFFFF, 0x0, 0xFF, 0x002D, 0x64, 0x0000},
+ {"O_gD_bomb", 0x0003, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFF, 0xFF, 0x000C, 0x64, 0x019F},
+ {"O_gD_bomb", 0x0003, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFF, 0xFF, 0x000C, 0x64, 0x019F},
+ {"O_gD_bomb", 0x0003, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFF, 0xFF, 0x000C, 0x64, 0x019F},
+ {"O_gD_bomb", 0x0003, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFF, 0xFF, 0x000C, 0x64, 0x019F},
+ {"O_gD_arow", 0x0003, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFF, 0xFF, 0x0053, 0x64, 0x0000},
+ {"O_gD_arow", 0x0003, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFF, 0xFF, 0x0053, 0x64, 0x0000},
+ {"O_gD_arow", 0x0003, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFF, 0xFF, 0x0053, 0x64, 0x0000},
+ {"O_gD_arow", 0x0003, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFF, 0xFF, 0x0053, 0x64, 0x0000},
+ {"O_gD_tane", 0x0003, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFF, 0xFF, 0x005C, 0x64, 0x0000},
+ {"F_gD_rupy", 0x0004, 0xFFFF, 0xFFFF, 0x0007, 0xFFFF, 0x0, 0xFF, 0x002D, 0x64, 0x0000},
+ {"F_gD_rupy", 0x0004, 0xFFFF, 0xFFFF, 0x0007, 0xFFFF, 0x0, 0xFF, 0x002D, 0x64, 0x0000},
+ {"F_gD_rupy", 0x0004, 0xFFFF, 0xFFFF, 0x0007, 0xFFFF, 0x0, 0xFF, 0x002D, 0x64, 0x0000},
+ {"O_gD_PG", 0x0003, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFF, 0xFF, 0x000D, 0x64, 0x0000},
+ {"O_gD_PG", 0x0003, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFF, 0xFF, 0x000D, 0x64, 0x0000},
+ {"O_gD_PG", 0x0003, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFF, 0xFF, 0x000D, 0x64, 0x0000},
+ {"O_gD_PG", 0x0003, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFF, 0xFF, 0x000D, 0x64, 0x0000},
+ {"O_gD_BI", 0x0003, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFF, 0xFF, 0x000B, 0x64, 0x0000},
+ {"O_gD_BI", 0x0003, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFF, 0xFF, 0x000B, 0x64, 0x0000},
+ {"O_gD_BI", 0x0003, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFF, 0xFF, 0x000B, 0x64, 0x0000},
+ {"O_gD_BI", 0x0003, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFF, 0xFF, 0x000B, 0x64, 0x0000},
+ {"F_gD_rupy", 0x0004, 0xFFFF, 0xFFFF, 0x0007, 0xFFFF, 0x0, 0xFF, 0x002D, 0x64, 0x0000},
+ {"F_gD_rupy", 0x0004, 0xFFFF, 0xFFFF, 0x0007, 0xFFFF, 0x0, 0xFF, 0x002D, 0x64, 0x0000},
+ {"T_gD_key", 0x0003, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFF, 0xFF, 0x006E, 0x64, 0x0079},
+ {"O_gD_hutk", 0x0008, 0xFFFF, 0x0005, 0x000B, 0xFFFF, 0xFF, 0xFF, 0x0050, 0x64, 0x0194},
+ {"O_gD_hutu", 0x0008, 0xFFFF, 0x0005, 0x000B, 0xFFFF, 0xFF, 0xFF, 0x0051, 0x64, 0x0000},
+ {"T_gD_map", 0x0003, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFF, 0xFF, 0x0071, 0x64, 0x0197},
+ {"T_gD_kmps", 0x0007, 0xFFFF, 0x0004, 0xFFFF, 0xFFFF, 0xFF, 0xFF, 0x006F, 0x64, 0x0198},
+ {"O_gD_TKS", 0x0008, 0xFFFF, 0x0005, 0xFFFF, 0x000B, 0xFF, 0xFF, 0x0028, 0x64, 0x0191},
+ {"T_gD_bkey", 0x0003, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFF, 0xFF, 0x0021, 0x64, 0xFFFF},
+ {"O_gD_TKC", 0x0009, 0x000C, 0x0006, 0xFFFF, 0x000F, 0xFF, 0xFF, 0x0026, 0x64, 0x0191},
+ {"O_gD_SWA", 0x0003, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFF, 0xFF, 0x0070, 0x6E, 0x0195},
+ {"F_gD_rupy", 0x0004, 0xFFFF, 0xFFFF, 0x0007, 0xFFFF, 0x0, 0xFF, 0x0042, 0x6E, 0x01B2},
+ {"T_gD_SHB", 0x0003, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFF, 0xFF, 0x0074, 0x6E, 0x01B5},
+ {"O_gD_SHC", 0x0003, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFF, 0xFF, 0x0040, 0x6E, 0x0196},
+ {"O_gD_SHA", 0x0003, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFF, 0xFF, 0x003C, 0x64, 0x01B4},
+ {"O_gD_mem2", 0x0003, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFF, 0xFF, 0x0022, 0x64, 0x01A8},
+ {"F_gD_rupy", 0x0004, 0xFFFF, 0xFFFF, 0x0007, 0xFFFF, 0x0, 0xFF, 0x006B, 0x64, 0x0192},
+ {"F_gD_rupy", 0x0004, 0xFFFF, 0xFFFF, 0x0007, 0xFFFF, 0x0, 0xFF, 0x006B, 0x64, 0x0000},
+ {"O_gD_marm", 0x0003, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFF, 0xFF, 0x0041, 0x64, 0x01A9},
+ {"O_gD_zora", 0x0003, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFF, 0xFF, 0x004D, 0x64, 0x01AA},
+ {"O_gD_Injy", 0x0003, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFF, 0xFF, 0x002D, 0x64, 0x0000},
+ {"O_gD_TKS", 0x0008, 0xFFFF, 0x0005, 0xFFFF, 0xFFFF, 0xFF, 0xFF, 0x0028, 0x64, 0x0000},
+ {"O_gD_puL2", 0x0003, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFF, 0xFF, 0x0047, 0x64, 0x0000},
+ {"O_gD_puL2", 0x0003, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFF, 0xFF, 0x0048, 0x64, 0x0000},
+ {"O_gD_puL3", 0x0003, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFF, 0xFF, 0x0049, 0x64, 0x01AD},
+ {"F_gD_rupy", 0x0004, 0xFFFF, 0xFFFF, 0x0007, 0xFFFF, 0x0, 0xFF, 0x0050, 0x64, 0x019F},
+ {"F_gD_rupy", 0x0004, 0xFFFF, 0xFFFF, 0x0007, 0xFFFF, 0x0, 0xFF, 0x0050, 0x64, 0x01AF},
+ {"F_gD_rupy", 0x0004, 0xFFFF, 0xFFFF, 0x0007, 0xFFFF, 0x0, 0xFF, 0x0050, 0x64, 0x01B0},
+ {"F_gD_rupy", 0x0004, 0xFFFF, 0xFFFF, 0x0007, 0xFFFF, 0x0, 0xFF, 0x0050, 0x64, 0x0000},
+ {"F_gD_rupy", 0x0004, 0xFFFF, 0xFFFF, 0x0007, 0xFFFF, 0x0, 0xFF, 0x0072, 0x6E, 0x0000},
+ {"F_gD_rupy", 0x0004, 0xFFFF, 0xFFFF, 0x0007, 0xFFFF, 0x0, 0xFF, 0x002D, 0x64, 0x01B3},
+ {"O_gD_sang", 0x0003, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFF, 0xFF, 0x002A, 0x64, 0x0194},
+ {"O_gD_hawk", 0x0003, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFF, 0xFF, 0x0059, 0x64, 0x0000},
+ {"O_gD_SWB", 0x0003, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFF, 0xFF, 0x0024, 0x6E, 0x0000},
+ {"O_gD_boom", 0x0003, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFF, 0xFF, 0x0062, 0x6E, 0x01AB},
+ {"O_gD_SP", 0x0003, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFF, 0xFF, 0x002B, 0x5F, 0x01A6},
+ {"O_gD_IB", 0x0003, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFF, 0xFF, 0x0020, 0x78, 0x0000},
+ {"O_gD_bow", 0x0003, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFF, 0xFF, 0x0069, 0x64, 0x01A5},
+ {"O_gD_HS", 0x0003, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFF, 0xFF, 0x006A, 0x78, 0x01AC},
+ {"O_gD_boot", 0x0003, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFF, 0xFF, 0x0025, 0x64, 0x01A7},
+ {"O_gD_CROD", 0x0003, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFF, 0xFF, 0x0016, 0x6E, 0x019E},
+ {"O_gD_HS", 0x0003, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFF, 0xFF, 0x002C, 0x82, 0x01B5},
+ {"T_gD_kt", 0x0003, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFF, 0xFF, 0x006C, 0x6E, 0x0193},
+ {"F_gD_rupy", 0x0004, 0xFFFF, 0xFFFF, 0x0007, 0xFFFF, 0x0, 0xFF, 0x0042, 0x6E, 0x01B6},
+ {"O_gD_uktr", 0x0003, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFF, 0xFF, 0x0018, 0x64, 0x01B7},
+ {"O_gD_pach", 0x0003, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFF, 0xFF, 0x005B, 0x64, 0x01B8},
+ {"O_gD_CROD", 0x0003, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFF, 0xFF, 0x0016, 0x6E, 0x01B9},
+ {"F_gD_rupy", 0x0004, 0xFFFF, 0xFFFF, 0x0007, 0xFFFF, 0x0, 0xFF, 0x002D, 0x64, 0x01BA},
+ {"F_gD_rupy", 0x0004, 0xFFFF, 0xFFFF, 0x0007, 0xFFFF, 0x0, 0xFF, 0x002D, 0x64, 0x0197},
+ {"O_gD_bmL2", 0x0003, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFF, 0xFF, 0x0056, 0x64, 0x0198},
+ {"O_gD_bomc", 0x0003, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x0, 0xFF, 0x0055, 0x64, 0x01BD},
+ {"O_gD_bomc", 0x0003, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFF, 0xFF, 0x0055, 0x64, 0x0000},
+ {"F_gD_rupy", 0x0004, 0xFFFF, 0xFFFF, 0x0007, 0xFFFF, 0x0, 0xFF, 0x0056, 0x64, 0x0000},
+ {"F_gD_rupy", 0x0004, 0xFFFF, 0xFFFF, 0x0007, 0xFFFF, 0x0, 0xFF, 0x002D, 0x64, 0x0000},
+ {"O_gD_quL1", 0x0003, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFF, 0xFF, 0x004A, 0x64, 0x01B1},
+ {"O_gD_quL2", 0x0003, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFF, 0xFF, 0x004B, 0x64, 0x01F0},
+ {"O_gD_quL3", 0x0003, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFF, 0xFF, 0x004C, 0x64, 0x0000},
+ {"F_gD_rupy", 0x0004, 0xFFFF, 0xFFFF, 0x0007, 0xFFFF, 0x0, 0xFF, 0x002D, 0x64, 0x0000},
+ {"F_gD_rupy", 0x0004, 0xFFFF, 0xFFFF, 0x0007, 0xFFFF, 0x0, 0xFF, 0x004E, 0x64, 0x0000},
+ {"F_gD_rupy", 0x0004, 0xFFFF, 0xFFFF, 0x0007, 0xFFFF, 0x0, 0xFF, 0x000C, 0x64, 0x0000},
+ {"F_gD_rupy", 0x0004, 0xFFFF, 0xFFFF, 0x0007, 0xFFFF, 0x0, 0xFF, 0x0059, 0x64, 0x0000},
+ {"F_gD_rupy", 0x0004, 0xFFFF, 0xFFFF, 0x0007, 0xFFFF, 0x0, 0xFF, 0x0019, 0x64, 0x0000},
+ {"F_gD_rupy", 0x0004, 0xFFFF, 0xFFFF, 0x0007, 0xFFFF, 0x0, 0xFF, 0x001B, 0x64, 0x0000},
+ {"F_gD_rupy", 0x0004, 0xFFFF, 0xFFFF, 0x0007, 0xFFFF, 0x0, 0xFF, 0x001A, 0x64, 0x0000},
+ {"F_gD_rupy", 0x0004, 0xFFFF, 0xFFFF, 0x0007, 0xFFFF, 0x0, 0xFF, 0x001C, 0x64, 0x0000},
+ {"F_gD_rupy", 0x0004, 0xFFFF, 0xFFFF, 0x0007, 0xFFFF, 0x0, 0xFF, 0x001D, 0x64, 0x0000},
+ {"O_gD_bott", 0x0006, 0x000C, 0xFFFF, 0x0009, 0x000F, 0x0, 0x2, 0x0011, 0x50, 0x01BE},
+ {"O_gD_bott", 0x0006, 0x000C, 0xFFFF, 0x0009, 0x000F, 0x0, 0x0, 0x0011, 0x50, 0x01BF},
+ {"O_gD_bott", 0x0006, 0x000C, 0xFFFF, 0x0009, 0x000F, 0x1, 0x0, 0x0011, 0x50, 0x01C0},
+ {"O_gD_bott", 0x0006, 0x000C, 0xFFFF, 0x0009, 0x000F, 0x2, 0x0, 0x0011, 0x50, 0x01C1},
+ {"O_gD_bott", 0x0006, 0x000C, 0xFFFF, 0x0009, 0x000F, 0x3, 0x0, 0x0011, 0x50, 0x0000},
+ {"O_gD_bott", 0x0006, 0x000C, 0xFFFF, 0x0009, 0x000F, 0x3, 0x1, 0x0012, 0x50, 0x0000},
+ {"O_gD_bott", 0x0006, 0x000C, 0xFFFF, 0x0009, 0x000F, 0x4, 0x0, 0x0011, 0x50, 0x01A1},
+ {"O_gD_bott", 0x0006, 0x000C, 0xFFFF, 0x0009, 0x000F, 0x5, 0x0, 0x0011, 0x50, 0x01AE},
+ {"O_gD_bott", 0x0006, 0x000C, 0xFFFF, 0x0009, 0x000F, 0x4, 0x0, 0x0011, 0x50, 0x01A1},
+ {"O_gD_bott", 0x0006, 0x000C, 0xFFFF, 0x0009, 0x000F, 0x0, 0x0, 0x0011, 0x50, 0x01BF},
+ {"O_gD_bott", 0x0006, 0x000C, 0xFFFF, 0x0009, 0x000F, 0x8, 0x0, 0x0011, 0x50, 0x0000},
+ {"O_gD_bott", 0x0006, 0x000C, 0xFFFF, 0x0009, 0x000F, 0x5, 0x0, 0x0011, 0x50, 0x0000},
+ {"F_gD_rupy", 0x0004, 0xFFFF, 0xFFFF, 0x0007, 0xFFFF, 0x0, 0xFF, 0x0011, 0x50, 0x0000},
+ {"O_gD_bott", 0x0006, 0x000C, 0xFFFF, 0x0009, 0x000F, 0x5, 0x0, 0x0011, 0x50, 0x0000},
+ {"Obj_kntr", 0x0003, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFF, 0xFF, 0x006C, 0x6E, 0x0000},
+ {"Obj_kntr", 0x0003, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFF, 0xFF, 0x006C, 0x6E, 0x0000},
+ {"O_gD_bmL2", 0x0003, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFF, 0xFF, 0x000C, 0x64, 0x0198},
+ {"O_gD_PG", 0x0003, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFF, 0xFF, 0x000D, 0x64, 0x0000},
+ {"O_gD_BI", 0x0003, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFF, 0xFF, 0x000B, 0x64, 0x0000},
+ {"O_gD_bott", 0x0006, 0x000C, 0xFFFF, 0x0009, 0x000F, 0xB, 0x0, 0x0011, 0x50, 0x0000},
+ {"F_gD_rupy", 0x0004, 0xFFFF, 0xFFFF, 0x0007, 0xFFFF, 0x0, 0xFF, 0x0011, 0x50, 0x0000},
+ {"O_gD_bott", 0x0006, 0x000C, 0xFFFF, 0x0009, 0x000F, 0xB, 0x0, 0x0011, 0x50, 0x0000},
+ {"F_gD_rupy", 0x0004, 0xFFFF, 0xFFFF, 0x0007, 0xFFFF, 0x0, 0xFF, 0x0011, 0x50, 0x0000},
+ {"O_gD_bott", 0x0006, 0x000C, 0xFFFF, 0x0009, 0x000F, 0x7, 0x0, 0x0011, 0x50, 0x01BF},
+ {"O_gD_bott", 0x0006, 0x000C, 0xFFFF, 0x0009, 0x000F, 0x0, 0x0, 0x0011, 0x50, 0x01BF},
+ {"O_gD_bott", 0x0006, 0x000C, 0xFFFF, 0x0009, 0x000F, 0x2, 0x0, 0x0011, 0x50, 0x01BF},
+ {"O_gD_bott", 0x0006, 0x000C, 0xFFFF, 0x0009, 0x000F, 0x1, 0x0, 0x0011, 0x50, 0x01BF},
+ {"O_gD_bott", 0x0006, 0x000C, 0xFFFF, 0x0009, 0x000F, 0x4, 0x0, 0x0011, 0x50, 0x01BF},
+ {"O_gD_bott", 0x0006, 0x000C, 0xFFFF, 0x0009, 0x000F, 0x6, 0x0, 0x0011, 0x50, 0x01BF},
+ {"F_gD_rupy", 0x0004, 0xFFFF, 0xFFFF, 0x0007, 0xFFFF, 0x0, 0xFF, 0x0013, 0x50, 0x0000},
+ {"F_gD_rupy", 0x0004, 0xFFFF, 0xFFFF, 0x0007, 0xFFFF, 0x0, 0xFF, 0x0013, 0x50, 0x0000},
+ {"F_gD_rupy", 0x0004, 0xFFFF, 0xFFFF, 0x0007, 0xFFFF, 0x0, 0xFF, 0x0013, 0x50, 0x01CF},
+ {"O_gD_lttr", 0x0003, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFF, 0xFF, 0x005A, 0x64, 0x0000},
+ {"O_gD_bill", 0x0003, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFF, 0xFF, 0x0054, 0x64, 0x0000},
+ {"O_gD_wood", 0x0003, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFF, 0xFF, 0x0058, 0x64, 0x0000},
+ {"O_gD_pend", 0x0003, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFF, 0xFF, 0x005D, 0x64, 0x0000},
+ {"F_gD_rupy", 0x0004, 0xFFFF, 0xFFFF, 0x0007, 0xFFFF, 0x0, 0xFF, 0x005D, 0x64, 0x0000},
+ {"F_gD_rupy", 0x0004, 0xFFFF, 0xFFFF, 0x0007, 0xFFFF, 0x0, 0xFF, 0x002D, 0x64, 0x0000},
+ {"F_gD_rupy", 0x0004, 0xFFFF, 0xFFFF, 0x0007, 0xFFFF, 0x0, 0xFF, 0x002D, 0x64, 0x0000},
+ {"F_gD_rupy", 0x0004, 0xFFFF, 0xFFFF, 0x0007, 0xFFFF, 0x0, 0xFF, 0x002D, 0x64, 0x0000},
+ {"F_gD_rupy", 0x0004, 0xFFFF, 0xFFFF, 0x0007, 0xFFFF, 0x0, 0xFF, 0x002D, 0x64, 0x0000},
+ {"F_gD_rupy", 0x0004, 0xFFFF, 0xFFFF, 0x0007, 0xFFFF, 0x0, 0xFF, 0x002D, 0x64, 0x01D3},
+ {"F_gD_rupy", 0x0004, 0xFFFF, 0xFFFF, 0x0007, 0xFFFF, 0x0, 0xFF, 0x002D, 0x64, 0x01D2},
+ {"F_gD_rupy", 0x0004, 0xFFFF, 0xFFFF, 0x0007, 0xFFFF, 0x0, 0xFF, 0x002D, 0x64, 0x0000},
+ {"F_gD_rupy", 0x0004, 0xFFFF, 0xFFFF, 0x0007, 0xFFFF, 0x0, 0xFF, 0x002D, 0x64, 0x0000},
+ {"F_gD_rupy", 0x0004, 0xFFFF, 0xFFFF, 0x0007, 0xFFFF, 0x0, 0xFF, 0x002D, 0x64, 0x0000},
+ {"F_gD_rupy", 0x0004, 0xFFFF, 0xFFFF, 0x0007, 0xFFFF, 0x0, 0xFF, 0x002D, 0x64, 0x0000},
+ {"F_gD_rupy", 0x0004, 0xFFFF, 0xFFFF, 0x0007, 0xFFFF, 0x0, 0xFF, 0x002D, 0x64, 0x0000},
+ {"O_gD_mem2", 0x0003, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFF, 0xFF, 0x0022, 0x64, 0x0000},
+ {"O_gD_mem2", 0x0003, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFF, 0xFF, 0x0022, 0x64, 0x0000},
+ {"F_gD_rupy", 0x0004, 0xFFFF, 0xFFFF, 0x0007, 0xFFFF, 0x0, 0xFF, 0x002D, 0x64, 0x0000},
+ {"F_gD_rupy", 0x0004, 0xFFFF, 0xFFFF, 0x0007, 0xFFFF, 0x0, 0xFF, 0x002D, 0x64, 0x0000},
+ {"F_gD_rupy", 0x0004, 0xFFFF, 0xFFFF, 0x0007, 0xFFFF, 0x0, 0xFF, 0x002D, 0x64, 0x0000},
+ {"F_gD_rupy", 0x0004, 0xFFFF, 0xFFFF, 0x0007, 0xFFFF, 0x0, 0xFF, 0x002D, 0x64, 0x0000},
+ {"F_gD_rupy", 0x0004, 0xFFFF, 0xFFFF, 0x0007, 0xFFFF, 0x0, 0xFF, 0x002D, 0x64, 0x0000},
+ {"F_gD_rupy", 0x0004, 0xFFFF, 0xFFFF, 0x0007, 0xFFFF, 0x0, 0xFF, 0x002D, 0x64, 0x0000},
+ {"F_gD_rupy", 0x0004, 0xFFFF, 0xFFFF, 0x0007, 0xFFFF, 0x0, 0xFF, 0x002D, 0x64, 0x0000},
+ {"F_gD_rupy", 0x0004, 0xFFFF, 0xFFFF, 0x0007, 0xFFFF, 0x0, 0xFF, 0x002D, 0x64, 0x0000},
+ {"F_gD_rupy", 0x0004, 0xFFFF, 0xFFFF, 0x0007, 0xFFFF, 0x0, 0xFF, 0x002D, 0x64, 0x0000},
+ {"F_gD_rupy", 0x0004, 0xFFFF, 0xFFFF, 0x0007, 0xFFFF, 0x0, 0xFF, 0x002D, 0x64, 0x0000},
+ {"F_gD_rupy", 0x0004, 0xFFFF, 0xFFFF, 0x0007, 0xFFFF, 0x0, 0xFF, 0x006C, 0x6E, 0x0000},
+ {"O_gD_bott", 0x0006, 0x000C, 0xFFFF, 0x0009, 0x000F, 0x4, 0x0, 0x0011, 0x50, 0x01A1},
+ {"O_gD_hk_s", 0x0003, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFF, 0xFF, 0x0011, 0x50, 0x0000},
+ {"F_gD_rupy", 0x0004, 0xFFFF, 0xFFFF, 0x0007, 0xFFFF, 0x0, 0xFF, 0x0011, 0x50, 0x0000},
+ {"F_gD_rupy", 0x0004, 0xFFFF, 0xFFFF, 0x0007, 0xFFFF, 0x0, 0xFF, 0x002D, 0x64, 0x0000},
+ {"N_gD_Lpod", 0x0003, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFF, 0xFF, 0x0052, 0x64, 0x0000},
+ {"N_gD_Lpod", 0x0003, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFF, 0xFF, 0x0052, 0x64, 0x0000},
+ {"N_gD_Lpod", 0x0003, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFF, 0xFF, 0x0052, 0x64, 0x0000},
+ {"N_gD_Lpod", 0x0003, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFF, 0xFF, 0x0052, 0x64, 0x0000},
+ {"F_gD_rupy", 0x0004, 0xFFFF, 0xFFFF, 0x0007, 0xFFFF, 0x0, 0xFF, 0x002D, 0x64, 0x0000},
+ {"F_gD_rupy", 0x0004, 0xFFFF, 0xFFFF, 0x0007, 0xFFFF, 0x0, 0xFF, 0x002D, 0x64, 0x0000},
+ {"F_gD_rupy", 0x0004, 0xFFFF, 0xFFFF, 0x0007, 0xFFFF, 0x0, 0xFF, 0x002D, 0x64, 0x0000},
+ {"F_gD_rupy", 0x0004, 0xFFFF, 0xFFFF, 0x0007, 0xFFFF, 0x0, 0xFF, 0x002D, 0x64, 0x0000},
+ {"F_gD_rupy", 0x0004, 0xFFFF, 0xFFFF, 0x0007, 0xFFFF, 0x0, 0xFF, 0x002D, 0x64, 0x0000},
+ {"F_gD_rupy", 0x0004, 0xFFFF, 0xFFFF, 0x0007, 0xFFFF, 0x0, 0xFF, 0x002D, 0x64, 0x0000},
+ {"F_gD_rupy", 0x0004, 0xFFFF, 0xFFFF, 0x0007, 0xFFFF, 0x0, 0xFF, 0x002D, 0x64, 0x0000},
+ {"F_gD_rupy", 0x0004, 0xFFFF, 0xFFFF, 0x0007, 0xFFFF, 0x0, 0xFF, 0x002D, 0x64, 0x0000},
+ {"F_gD_rupy", 0x0004, 0xFFFF, 0xFFFF, 0x0007, 0xFFFF, 0x0, 0xFF, 0x002D, 0x64, 0x0000},
+ {"F_gD_rupy", 0x0004, 0xFFFF, 0xFFFF, 0x0007, 0xFFFF, 0x0, 0xFF, 0x002D, 0x64, 0x0000},
+ {"F_gD_rupy", 0x0004, 0xFFFF, 0xFFFF, 0x0007, 0xFFFF, 0x0, 0xFF, 0x002D, 0x64, 0x0000},
+ {"F_gD_rupy", 0x0004, 0xFFFF, 0xFFFF, 0x0007, 0xFFFF, 0x0, 0xFF, 0x002D, 0x64, 0x0000},
+ {"F_gD_rupy", 0x0004, 0xFFFF, 0xFFFF, 0x0007, 0xFFFF, 0x0, 0xFF, 0x002D, 0x64, 0x0000},
+ {"F_gD_rupy", 0x0004, 0xFFFF, 0xFFFF, 0x0007, 0xFFFF, 0x0, 0xFF, 0x002D, 0x64, 0x0000},
+ {"F_gD_rupy", 0x0004, 0xFFFF, 0xFFFF, 0x0007, 0xFFFF, 0x0, 0xFF, 0x002D, 0x64, 0x0000},
+ {"F_gD_rupy", 0x0004, 0xFFFF, 0xFFFF, 0x0007, 0xFFFF, 0x0, 0xFF, 0x002D, 0x64, 0x0000},
+ {"F_gD_rupy", 0x0004, 0xFFFF, 0xFFFF, 0x0007, 0xFFFF, 0x0, 0xFF, 0x002D, 0x64, 0x0000},
+ {"F_gD_rupy", 0x0004, 0xFFFF, 0xFFFF, 0x0007, 0xFFFF, 0x0, 0xFF, 0x002D, 0x64, 0x0000},
+ {"F_gD_rupy", 0x0004, 0xFFFF, 0xFFFF, 0x0007, 0xFFFF, 0x0, 0xFF, 0x002D, 0x64, 0x0000},
+ {"F_gD_rupy", 0x0004, 0xFFFF, 0xFFFF, 0x0007, 0xFFFF, 0x0, 0xFF, 0x002D, 0x64, 0x0000},
+ {"F_gD_rupy", 0x0004, 0xFFFF, 0xFFFF, 0x0007, 0xFFFF, 0x0, 0xFF, 0x002D, 0x64, 0x0000},
+ {"F_gD_rupy", 0x0004, 0xFFFF, 0xFFFF, 0x0007, 0xFFFF, 0x0, 0xFF, 0x002D, 0x64, 0x0000},
+ {"F_gD_rupy", 0x0004, 0xFFFF, 0xFFFF, 0x0007, 0xFFFF, 0x0, 0xFF, 0x002D, 0x64, 0x0000},
+ {"F_gD_rupy", 0x0004, 0xFFFF, 0xFFFF, 0x0007, 0xFFFF, 0x0, 0xFF, 0x002D, 0x64, 0x0000},
+ {"F_gD_rupy", 0x0004, 0xFFFF, 0xFFFF, 0x0007, 0xFFFF, 0x0, 0xFF, 0x002D, 0x64, 0x0000},
+ {"F_gD_rupy", 0x0004, 0xFFFF, 0xFFFF, 0x0007, 0xFFFF, 0x0, 0xFF, 0x002D, 0x64, 0x0000},
+ {"F_gD_rupy", 0x0004, 0xFFFF, 0xFFFF, 0x0007, 0xFFFF, 0x0, 0xFF, 0x0011, 0x50, 0x0000},
+ {"O_gD_kabo", 0x0005, 0x000B, 0xFFFF, 0x0008, 0xFFFF, 0xFF, 0xFF, 0x0030, 0x50, 0x0000},
+ {"O_gD_kabm", 0x0005, 0x000B, 0xFFFF, 0x0008, 0xFFFF, 0xFF, 0xFF, 0x002F, 0x50, 0x0000},
+ {"O_gD_choo", 0x0009, 0x000F, 0x0006, 0x000C, 0xFFFF, 0xFF, 0xFF, 0x0008, 0x50, 0x0000},
+ {"O_gD_chom", 0x0009, 0x000F, 0x0006, 0x000C, 0xFFFF, 0xFF, 0xFF, 0x0007, 0x50, 0x0000},
+ {"O_gD_kuwo", 0x0005, 0x000B, 0xFFFF, 0x0008, 0xFFFF, 0xFF, 0xFF, 0x0038, 0x50, 0x0000},
+ {"O_gD_kuwm", 0x0005, 0x000B, 0xFFFF, 0x0008, 0xFFFF, 0xFF, 0xFF, 0x0037, 0x50, 0x0000},
+ {"O_gD_bato", 0x0005, 0x000B, 0xFFFF, 0x0008, 0xFFFF, 0xFF, 0xFF, 0x0006, 0x50, 0x0000},
+ {"O_gD_batm", 0x0005, 0x000B, 0xFFFF, 0x0008, 0xFFFF, 0xFF, 0xFF, 0x0005, 0x50, 0x0000},
+ {"O_gD_nano", 0x0005, 0x000B, 0xFFFF, 0x0008, 0xFFFF, 0xFF, 0xFF, 0x003B, 0x50, 0x0000},
+ {"O_gD_nanm", 0x0005, 0x000B, 0xFFFF, 0x0008, 0xFFFF, 0xFF, 0xFF, 0x003A, 0x50, 0x0000},
+ {"O_gD_dano", 0x0005, 0x000B, 0xFFFF, 0x0008, 0xFFFF, 0xFF, 0xFF, 0x000A, 0x50, 0x0000},
+ {"O_gD_danm", 0x0005, 0x000B, 0xFFFF, 0x0008, 0xFFFF, 0xFF, 0xFF, 0x0009, 0x50, 0x0000},
+ {"O_gD_kamo", 0x0005, 0x000B, 0xFFFF, 0x0008, 0xFFFF, 0xFF, 0xFF, 0x0034, 0x50, 0x0000},
+ {"O_gD_kamm", 0x0005, 0x000B, 0xFFFF, 0x0008, 0xFFFF, 0xFF, 0xFF, 0x0033, 0x50, 0x0000},
+ {"O_gD_teno", 0x0005, 0x000B, 0xFFFF, 0x0008, 0xFFFF, 0xFF, 0xFF, 0x005F, 0x50, 0x0000},
+ {"O_gD_tenm", 0x0005, 0x000B, 0xFFFF, 0x0008, 0xFFFF, 0xFF, 0xFF, 0x005E, 0x50, 0x0000},
+ {"O_gD_kato", 0x0005, 0x000B, 0xFFFF, 0x0008, 0xFFFF, 0xFF, 0xFF, 0x0036, 0x50, 0x0000},
+ {"O_gD_katm", 0x0005, 0x000B, 0xFFFF, 0x0008, 0xFFFF, 0xFF, 0xFF, 0x0035, 0x50, 0x0000},
+ {"O_gD_tono", 0x0009, 0x000F, 0x0006, 0x000C, 0xFFFF, 0xFF, 0xFF, 0x0061, 0x50, 0x0000},
+ {"O_gD_tonm", 0x0009, 0x000F, 0x0006, 0x000C, 0xFFFF, 0xFF, 0xFF, 0x0060, 0x50, 0x0000},
+ {"O_gD_ario", 0x0005, 0x000B, 0xFFFF, 0x0008, 0xFFFF, 0xFF, 0xFF, 0x0004, 0x50, 0x0000},
+ {"O_gD_arim", 0x0005, 0x000B, 0xFFFF, 0x0008, 0xFFFF, 0xFF, 0xFF, 0x0003, 0x50, 0x0000},
+ {"O_gD_kago", 0x0009, 0x000F, 0x0006, 0x000C, 0xFFFF, 0xFF, 0xFF, 0x0032, 0x50, 0x0000},
+ {"O_gD_kagm", 0x0009, 0x000F, 0x0006, 0x000C, 0xFFFF, 0xFF, 0xFF, 0x0031, 0x50, 0x0000},
+ {"F_gD_rupy", 0x0004, 0xFFFF, 0xFFFF, 0x0007, 0xFFFF, 0x0, 0xFF, 0x002D, 0x64, 0x0000},
+ {"F_gD_rupy", 0x0004, 0xFFFF, 0xFFFF, 0x0007, 0xFFFF, 0x0, 0xFF, 0x002D, 0x64, 0x0000},
+ {"F_gD_rupy", 0x0004, 0xFFFF, 0xFFFF, 0x0007, 0xFFFF, 0x0, 0xFF, 0x002D, 0x64, 0x0000},
+ {"F_gD_rupy", 0x0004, 0xFFFF, 0xFFFF, 0x0007, 0xFFFF, 0x0, 0xFF, 0x002D, 0x64, 0x0000},
+ {"F_gD_rupy", 0x0004, 0xFFFF, 0xFFFF, 0x0007, 0xFFFF, 0x0, 0xFF, 0x002D, 0x64, 0x0000},
+ {"F_gD_rupy", 0x0004, 0xFFFF, 0xFFFF, 0x0007, 0xFFFF, 0x0, 0xFF, 0x002D, 0x64, 0x0000},
+ {"F_gD_rupy", 0x0004, 0xFFFF, 0xFFFF, 0x0007, 0xFFFF, 0x0, 0xFF, 0x002D, 0x64, 0x0000},
+ {"F_gD_rupy", 0x0004, 0xFFFF, 0xFFFF, 0x0007, 0xFFFF, 0x0, 0xFF, 0x002D, 0x64, 0x0000},
+ {"O_gD_tama", 0x0005, 0x000B, 0xFFFF, 0x0008, 0xFFFF, 0xFF, 0xFF, 0x003E, 0x64, 0x0000},
+ {"F_gD_rupy", 0x0004, 0xFFFF, 0xFFFF, 0x0007, 0xFFFF, 0x0, 0xFF, 0x002D, 0x64, 0x0000},
+ {"F_gD_rupy", 0x0004, 0xFFFF, 0xFFFF, 0x0007, 0xFFFF, 0x0, 0xFF, 0x002D, 0x64, 0x0000},
+ {"F_gD_rupy", 0x0004, 0xFFFF, 0xFFFF, 0x0007, 0xFFFF, 0x0, 0xFF, 0x002D, 0x64, 0x0000},
+ {"F_gD_rupy", 0x0004, 0xFFFF, 0xFFFF, 0x0007, 0xFFFF, 0x0, 0xFF, 0x002D, 0x64, 0x0000},
+ {"F_gD_rupy", 0x0004, 0xFFFF, 0xFFFF, 0x0007, 0xFFFF, 0x0, 0xFF, 0x002D, 0x64, 0x0000},
+ {"F_gD_rupy", 0x0004, 0xFFFF, 0xFFFF, 0x0007, 0xFFFF, 0x0, 0xFF, 0x002D, 0x64, 0x0000},
+ {"F_gD_rupy", 0x0004, 0xFFFF, 0xFFFF, 0x0007, 0xFFFF, 0x0, 0xFF, 0x002D, 0x64, 0x0000},
+ {"F_gD_rupy", 0x0004, 0xFFFF, 0xFFFF, 0x0007, 0xFFFF, 0x0, 0xFF, 0x002D, 0x64, 0x0000},
+ {"O_gD_komo", 0x0003, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFF, 0xFF, 0x004F, 0x64, 0x0000},
+ {"O_gD_komo", 0x0003, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFF, 0xFF, 0x004F, 0x64, 0x0000},
+ {"O_gD_komo", 0x0003, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFF, 0xFF, 0x004F, 0x64, 0x0000},
+ {"O_gD_TKC", 0x0009, 0x000C, 0x0006, 0xFFFF, 0x000F, 0xFF, 0xFF, 0x0026, 0x64, 0x0191},
+ {"F_gD_rupy", 0x0004, 0xFFFF, 0xFFFF, 0x0007, 0xFFFF, 0x4, 0xFF, 0x002D, 0x3C, 0x0000},
+ {"T_gD_key", 0x0003, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFF, 0xFF, 0x006E, 0x64, 0x0000},
+ {"O_gD_bott", 0x0006, 0x000C, 0xFFFF, 0x0009, 0x000F, 0x0, 0x2, 0x0011, 0x50, 0x0000},
+ {"O_gD_bott", 0x0006, 0x000C, 0xFFFF, 0x0009, 0x000F, 0x0, 0x2, 0x0011, 0x50, 0x0000},
+ {"O_gD_bott", 0x0006, 0x000C, 0xFFFF, 0x0009, 0x000F, 0x0, 0x2, 0x0011, 0x50, 0x0000},
+ {"O_gD_bott", 0x0006, 0x000C, 0xFFFF, 0x0009, 0x000F, 0x0, 0x2, 0x0011, 0x50, 0x0000},
+ {"T_gD_key", 0x0003, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFF, 0xFF, 0x006E, 0x64, 0x0000},
+ {"O_gD_pump", 0x0003, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFF, 0xFF, 0x0029, 0x64, 0x0000},
+ {"O_gD_chee", 0x0003, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFF, 0xFF, 0x0015, 0x64, 0x0000},
+ {"O_gD_bkey", 0x0003, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFF, 0xFF, 0x003F, 0x64, 0x0000},
+ {"F_gD_rupy", 0x0004, 0xFFFF, 0xFFFF, 0x0007, 0xFFFF, 0x0, 0xFF, 0x003C, 0x64, 0x0000},
+ {"T_gD_kt", 0x0003, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFF, 0xFF, 0x006C, 0x6E, 0x0000},
+ {"D_MKey_01", 0x0003, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFF, 0xFF, 0x0043, 0x78, 0x0000},
+ {"D_MKey_02", 0x0003, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFF, 0xFF, 0x0045, 0x78, 0x0000},
+ {"D_MKey_03", 0x0003, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFF, 0xFF, 0x0046, 0x78, 0x0000},
+ {"T_gD_key", 0x0003, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFF, 0xFF, 0x006E, 0x64, 0x0000},
+ {"O_gD_Mkey", 0x0003, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFF, 0xFF, 0x0017, 0x78, 0x0000},
+ {"T_gD_key", 0x0003, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFF, 0xFF, 0x006E, 0x64, 0x0000},
};
/* 803ADD88-803AED78 -00001 0FF0+00 0/0 3/3 14/14 .data field_item_res__10dItem_data */
-SECTION_DATA void* dItem_data::field_item_res[1020] = {
- (void*)(((char*)&d_d_item_data__stringBase0) + 0x327),
- (void*)0x0014FFFF,
- (void*)0x0030FF00,
- (void*)0x10000000,
- (void*)(((char*)&d_d_item_data__stringBase0) + 0x327),
- (void*)0x0017FFFF,
- (void*)0x00310000,
- (void*)0x10000000,
- (void*)(((char*)&d_d_item_data__stringBase0) + 0x327),
- (void*)0x0017FFFF,
- (void*)0x00310100,
- (void*)0x10000000,
- (void*)(((char*)&d_d_item_data__stringBase0) + 0x327),
- (void*)0x0017FFFF,
- (void*)0x00310200,
- (void*)0x10000000,
- (void*)(((char*)&d_d_item_data__stringBase0) + 0x327),
- (void*)0x0017FFFF,
- (void*)0x00310300,
- (void*)0x10000000,
- (void*)(((char*)&d_d_item_data__stringBase0) + 0x327),
- (void*)0x0017FFFF,
- (void*)0x00310400,
- (void*)0x10000000,
- (void*)(((char*)&d_d_item_data__stringBase0) + 0x327),
- (void*)0x0017FFFF,
- (void*)0x00310500,
- (void*)0x10000000,
- (void*)(((char*)&d_d_item_data__stringBase0) + 0x327),
- (void*)0x0017FFFF,
- (void*)0x00310600,
- (void*)0x10000000,
- (void*)NULL,
- (void*)0xFFFFFFFF,
- (void*)0xFFFFFF00,
- (void*)0x10000000,
- (void*)NULL,
- (void*)0xFFFFFFFF,
- (void*)0xFFFFFF00,
- (void*)0x10000000,
- (void*)NULL,
- (void*)0xFFFFFFFF,
- (void*)0xFFFFFF00,
- (void*)0x10000000,
- (void*)NULL,
- (void*)0xFFFFFFFF,
- (void*)0xFFFFFF00,
- (void*)0x10000000,
- (void*)NULL,
- (void*)0xFFFFFFFF,
- (void*)0xFFFFFF00,
- (void*)0x10000000,
- (void*)NULL,
- (void*)0xFFFFFFFF,
- (void*)0xFFFFFF00,
- (void*)0x10000000,
- (void*)(((char*)&d_d_item_data__stringBase0) + 0x327),
- (void*)0x0023FFFF,
- (void*)0xFFFFFF00,
- (void*)0x10000000,
- (void*)(((char*)&d_d_item_data__stringBase0) + 0x327),
- (void*)0x0023FFFF,
- (void*)0xFFFFFF00,
- (void*)0x10000000,
- (void*)(((char*)&d_d_item_data__stringBase0) + 0x327),
- (void*)0x0023FFFF,
- (void*)0xFFFFFF00,
- (void*)0x10000000,
- (void*)(((char*)&d_d_item_data__stringBase0) + 0x327),
- (void*)0x0022FFFF,
- (void*)0xFFFFFF00,
- (void*)0x10000000,
- (void*)(((char*)&d_d_item_data__stringBase0) + 0x327),
- (void*)0x0024FFFF,
- (void*)0xFFFFFF00,
- (void*)0x10000000,
- (void*)NULL,
- (void*)0xFFFFFFFF,
- (void*)0xFFFFFF00,
- (void*)0x10000000,
- (void*)NULL,
- (void*)0xFFFFFFFF,
- (void*)0xFFFFFF00,
- (void*)0x10000000,
- (void*)NULL,
- (void*)0xFFFFFFFF,
- (void*)0xFFFFFF00,
- (void*)0x10000000,
- (void*)NULL,
- (void*)0xFFFFFFFF,
- (void*)0xFFFFFF00,
- (void*)0x10000000,
- (void*)NULL,
- (void*)0xFFFFFFFF,
- (void*)0xFFFFFF00,
- (void*)0x10000000,
- (void*)NULL,
- (void*)0xFFFFFFFF,
- (void*)0xFFFFFF00,
- (void*)0x10000000,
- (void*)NULL,
- (void*)0xFFFFFFFF,
- (void*)0xFFFFFF00,
- (void*)0x10000000,
- (void*)NULL,
- (void*)0xFFFFFFFF,
- (void*)0xFFFFFF00,
- (void*)0x10000000,
- (void*)NULL,
- (void*)0xFFFFFFFF,
- (void*)0xFFFFFF00,
- (void*)0x10000000,
- (void*)NULL,
- (void*)0xFFFFFFFF,
- (void*)0xFFFFFF00,
- (void*)0x10000000,
- (void*)NULL,
- (void*)0xFFFFFFFF,
- (void*)0xFFFFFF00,
- (void*)0x10000000,
- (void*)NULL,
- (void*)0xFFFFFFFF,
- (void*)0xFFFFFF00,
- (void*)0x10000000,
- (void*)(((char*)&d_d_item_data__stringBase0) + 0x327),
- (void*)0x0014FFFF,
- (void*)0x0030FF00,
- (void*)0x10000000,
- (void*)(((char*)&d_d_item_data__stringBase0) + 0x32E),
- (void*)0x0003FFFF,
- (void*)0xFFFFFF00,
- (void*)0x10000000,
- (void*)(((char*)&d_d_item_data__stringBase0) + 0x327),
- (void*)0x0015000D,
- (void*)0x0033FF00,
- (void*)0x10000000,
- (void*)(((char*)&d_d_item_data__stringBase0) + 0x327),
- (void*)0x0016000E,
- (void*)0x0034FF00,
- (void*)0x10000000,
- (void*)NULL,
- (void*)0xFFFFFFFF,
- (void*)0xFFFFFF00,
- (void*)0x10000000,
- (void*)NULL,
- (void*)0xFFFFFFFF,
- (void*)0xFFFFFF00,
- (void*)0x10000000,
- (void*)NULL,
- (void*)0xFFFFFFFF,
- (void*)0xFFFFFF00,
- (void*)0x10000000,
- (void*)(((char*)&d_d_item_data__stringBase0) + 0x336),
- (void*)0x0003FFFF,
- (void*)0xFFFFFF00,
- (void*)0x10000000,
- (void*)NULL,
- (void*)0xFFFFFFFF,
- (void*)0xFFFFFF00,
- (void*)0x10000000,
- (void*)(((char*)&d_d_item_data__stringBase0) + 0x33F),
- (void*)0x0003FFFF,
- (void*)0xFFFFFF00,
- (void*)0x10000000,
- (void*)NULL,
- (void*)0xFFFFFFFF,
- (void*)0xFFFFFF00,
- (void*)0x10000000,
- (void*)(((char*)&d_d_item_data__stringBase0) + 0x347),
- (void*)0x0003FFFF,
- (void*)0xFFFFFF00,
- (void*)0x10000000,
- (void*)NULL,
- (void*)0xFFFFFFFF,
- (void*)0xFFFFFF00,
- (void*)0x10000000,
- (void*)NULL,
- (void*)0xFFFFFFFF,
- (void*)0xFFFFFF00,
- (void*)0x10000000,
- (void*)NULL,
- (void*)0xFFFFFFFF,
- (void*)0xFFFFFF00,
- (void*)0x10000000,
- (void*)NULL,
- (void*)0xFFFFFFFF,
- (void*)0xFFFFFF00,
- (void*)0x10000000,
- (void*)NULL,
- (void*)0xFFFFFFFF,
- (void*)0xFFFFFF00,
- (void*)0x10000000,
- (void*)NULL,
- (void*)0xFFFFFFFF,
- (void*)0xFFFFFF00,
- (void*)0x10000000,
- (void*)(((char*)&d_d_item_data__stringBase0) + 0x34F),
- (void*)0x0003FFFF,
- (void*)0xFFFFFF00,
- (void*)0x10000000,
- (void*)NULL,
- (void*)0xFFFFFFFF,
- (void*)0xFFFFFF00,
- (void*)0x10000000,
- (void*)NULL,
- (void*)0xFFFFFFFF,
- (void*)0xFFFFFF00,
- (void*)0x10000000,
- (void*)NULL,
- (void*)0xFFFFFFFF,
- (void*)0xFFFFFF00,
- (void*)0x10000000,
- (void*)NULL,
- (void*)0xFFFFFFFF,
- (void*)0xFFFFFF00,
- (void*)0x10000000,
- (void*)NULL,
- (void*)0xFFFFFFFF,
- (void*)0xFFFFFF00,
- (void*)0x10000000,
- (void*)NULL,
- (void*)0xFFFFFFFF,
- (void*)0xFFFFFF00,
- (void*)0x10000000,
- (void*)NULL,
- (void*)0xFFFFFFFF,
- (void*)0xFFFFFF00,
- (void*)0x10000000,
- (void*)NULL,
- (void*)0xFFFFFFFF,
- (void*)0xFFFFFF00,
- (void*)0x10000000,
- (void*)NULL,
- (void*)0xFFFFFFFF,
- (void*)0xFFFFFF00,
- (void*)0x10000000,
- (void*)NULL,
- (void*)0xFFFFFFFF,
- (void*)0xFFFFFF00,
- (void*)0x10000000,
- (void*)NULL,
- (void*)0xFFFFFFFF,
- (void*)0xFFFFFF00,
- (void*)0x10000000,
- (void*)NULL,
- (void*)0xFFFFFFFF,
- (void*)0xFFFFFF00,
- (void*)0x10000000,
- (void*)NULL,
- (void*)0xFFFFFFFF,
- (void*)0xFFFFFF00,
- (void*)0x10000000,
- (void*)(((char*)&d_d_item_data__stringBase0) + 0xF8),
- (void*)0x0003FFFF,
- (void*)0xFFFFFF00,
- (void*)0x10000000,
- (void*)NULL,
- (void*)0xFFFFFFFF,
- (void*)0xFFFFFF00,
- (void*)0x10000000,
- (void*)NULL,
- (void*)0xFFFFFFFF,
- (void*)0xFFFFFF00,
- (void*)0x10000000,
- (void*)NULL,
- (void*)0xFFFFFFFF,
- (void*)0xFFFFFF00,
- (void*)0x10000000,
- (void*)NULL,
- (void*)0xFFFFFFFF,
- (void*)0xFFFFFF00,
- (void*)0x10000000,
- (void*)NULL,
- (void*)0xFFFFFFFF,
- (void*)0xFFFFFF00,
- (void*)0x10000000,
- (void*)NULL,
- (void*)0xFFFFFFFF,
- (void*)0xFFFFFF00,
- (void*)0x10000000,
- (void*)NULL,
- (void*)0xFFFFFFFF,
- (void*)0xFFFFFF00,
- (void*)0x10000000,
- (void*)NULL,
- (void*)0xFFFFFFFF,
- (void*)0xFFFFFF00,
- (void*)0x10000000,
- (void*)(((char*)&d_d_item_data__stringBase0) + 0x358),
- (void*)0x0003FFFF,
- (void*)0xFFFFFF00,
- (void*)0x10000000,
- (void*)NULL,
- (void*)0xFFFFFFFF,
- (void*)0xFFFFFF00,
- (void*)0x10000000,
- (void*)NULL,
- (void*)0xFFFFFFFF,
- (void*)0xFFFFFF00,
- (void*)0x10000000,
- (void*)NULL,
- (void*)0xFFFFFFFF,
- (void*)0xFFFFFF00,
- (void*)0x10000000,
- (void*)NULL,
- (void*)0xFFFFFFFF,
- (void*)0xFFFFFF00,
- (void*)0x10000000,
- (void*)NULL,
- (void*)0xFFFFFFFF,
- (void*)0xFFFFFF00,
- (void*)0x10000000,
- (void*)NULL,
- (void*)0xFFFFFFFF,
- (void*)0xFFFFFF00,
- (void*)0x10000000,
- (void*)NULL,
- (void*)0xFFFFFFFF,
- (void*)0xFFFFFF00,
- (void*)0x10000000,
- (void*)NULL,
- (void*)0xFFFFFFFF,
- (void*)0xFFFFFF00,
- (void*)0x10000000,
- (void*)NULL,
- (void*)0xFFFFFFFF,
- (void*)0xFFFFFF00,
- (void*)0x10000000,
- (void*)NULL,
- (void*)0xFFFFFFFF,
- (void*)0xFFFFFF00,
- (void*)0x10000000,
- (void*)NULL,
- (void*)0xFFFFFFFF,
- (void*)0xFFFFFF00,
- (void*)0x10000000,
- (void*)NULL,
- (void*)0xFFFFFFFF,
- (void*)0xFFFFFF00,
- (void*)0x10000000,
- (void*)NULL,
- (void*)0xFFFFFFFF,
- (void*)0xFFFFFF00,
- (void*)0x10000000,
- (void*)NULL,
- (void*)0xFFFFFFFF,
- (void*)0xFFFFFF00,
- (void*)0x10000000,
- (void*)NULL,
- (void*)0xFFFFFFFF,
- (void*)0xFFFFFF00,
- (void*)0x10000000,
- (void*)NULL,
- (void*)0xFFFFFFFF,
- (void*)0xFFFFFF00,
- (void*)0x10000000,
- (void*)NULL,
- (void*)0xFFFFFFFF,
- (void*)0xFFFFFF00,
- (void*)0x10000000,
- (void*)NULL,
- (void*)0xFFFFFFFF,
- (void*)0xFFFFFF00,
- (void*)0x10000000,
- (void*)NULL,
- (void*)0xFFFFFFFF,
- (void*)0xFFFFFF00,
- (void*)0x10000000,
- (void*)NULL,
- (void*)0xFFFFFFFF,
- (void*)0xFFFFFF00,
- (void*)0x10000000,
- (void*)NULL,
- (void*)0xFFFFFFFF,
- (void*)0xFFFFFF00,
- (void*)0x10000000,
- (void*)NULL,
- (void*)0xFFFFFFFF,
- (void*)0xFFFFFF00,
- (void*)0x10000000,
- (void*)NULL,
- (void*)0xFFFFFFFF,
- (void*)0xFFFFFF00,
- (void*)0x10000000,
- (void*)NULL,
- (void*)0xFFFFFFFF,
- (void*)0xFFFFFF00,
- (void*)0x10000000,
- (void*)NULL,
- (void*)0xFFFFFFFF,
- (void*)0xFFFFFF00,
- (void*)0x10000000,
- (void*)NULL,
- (void*)0xFFFFFFFF,
- (void*)0xFFFFFF00,
- (void*)0x10000000,
- (void*)NULL,
- (void*)0xFFFFFFFF,
- (void*)0xFFFFFF00,
- (void*)0x10000000,
- (void*)NULL,
- (void*)0xFFFFFFFF,
- (void*)0xFFFFFF00,
- (void*)0x10000000,
- (void*)NULL,
- (void*)0xFFFFFFFF,
- (void*)0xFFFFFF00,
- (void*)0x10000000,
- (void*)NULL,
- (void*)0xFFFFFFFF,
- (void*)0xFFFFFF00,
- (void*)0x10000000,
- (void*)NULL,
- (void*)0xFFFFFFFF,
- (void*)0xFFFFFF00,
- (void*)0x10000000,
- (void*)NULL,
- (void*)0xFFFFFFFF,
- (void*)0xFFFFFF00,
- (void*)0x10000000,
- (void*)NULL,
- (void*)0xFFFFFFFF,
- (void*)0xFFFFFF00,
- (void*)0x10000000,
- (void*)NULL,
- (void*)0xFFFFFFFF,
- (void*)0xFFFFFF00,
- (void*)0x10000000,
- (void*)NULL,
- (void*)0xFFFFFFFF,
- (void*)0xFFFFFF00,
- (void*)0x10000000,
- (void*)NULL,
- (void*)0xFFFFFFFF,
- (void*)0xFFFFFF00,
- (void*)0x10000000,
- (void*)NULL,
- (void*)0xFFFFFFFF,
- (void*)0xFFFFFF00,
- (void*)0x10000000,
- (void*)NULL,
- (void*)0xFFFFFFFF,
- (void*)0xFFFFFF00,
- (void*)0x10000000,
- (void*)NULL,
- (void*)0xFFFFFFFF,
- (void*)0xFFFFFF00,
- (void*)0x10000000,
- (void*)NULL,
- (void*)0xFFFFFFFF,
- (void*)0xFFFFFF00,
- (void*)0x10000000,
- (void*)NULL,
- (void*)0xFFFFFFFF,
- (void*)0xFFFFFF00,
- (void*)0x10000000,
- (void*)NULL,
- (void*)0xFFFFFFFF,
- (void*)0xFFFFFF00,
- (void*)0x10000000,
- (void*)NULL,
- (void*)0xFFFFFFFF,
- (void*)0xFFFFFF00,
- (void*)0x10000000,
- (void*)NULL,
- (void*)0xFFFFFFFF,
- (void*)0xFFFFFF00,
- (void*)0x10000000,
- (void*)NULL,
- (void*)0xFFFFFFFF,
- (void*)0xFFFFFF00,
- (void*)0x10000000,
- (void*)NULL,
- (void*)0xFFFFFFFF,
- (void*)0xFFFFFF00,
- (void*)0x10000000,
- (void*)NULL,
- (void*)0xFFFFFFFF,
- (void*)0xFFFFFF00,
- (void*)0x10000000,
- (void*)NULL,
- (void*)0xFFFFFFFF,
- (void*)0xFFFFFF00,
- (void*)0x10000000,
- (void*)NULL,
- (void*)0xFFFFFFFF,
- (void*)0xFFFFFF00,
- (void*)0x10000000,
- (void*)NULL,
- (void*)0xFFFFFFFF,
- (void*)0xFFFFFF00,
- (void*)0x10000000,
- (void*)NULL,
- (void*)0xFFFFFFFF,
- (void*)0xFFFFFF00,
- (void*)0x10000000,
- (void*)NULL,
- (void*)0xFFFFFFFF,
- (void*)0xFFFFFF00,
- (void*)0x10000000,
- (void*)NULL,
- (void*)0xFFFFFFFF,
- (void*)0xFFFFFF00,
- (void*)0x10000000,
- (void*)NULL,
- (void*)0xFFFFFFFF,
- (void*)0xFFFFFF00,
- (void*)0x10000000,
- (void*)NULL,
- (void*)0xFFFFFFFF,
- (void*)0xFFFFFF00,
- (void*)0x10000000,
- (void*)NULL,
- (void*)0xFFFFFFFF,
- (void*)0xFFFFFF00,
- (void*)0x10000000,
- (void*)NULL,
- (void*)0xFFFFFFFF,
- (void*)0xFFFFFF00,
- (void*)0x10000000,
- (void*)(((char*)&d_d_item_data__stringBase0) + 0x35F),
- (void*)0x0004FFFF,
- (void*)0xFFFFFF00,
- (void*)0x10000000,
- (void*)NULL,
- (void*)0xFFFFFFFF,
- (void*)0xFFFFFF00,
- (void*)0x10000000,
- (void*)NULL,
- (void*)0xFFFFFFFF,
- (void*)0xFFFFFF00,
- (void*)0x10000000,
- (void*)NULL,
- (void*)0xFFFFFFFF,
- (void*)0xFFFFFF00,
- (void*)0x10000000,
- (void*)NULL,
- (void*)0xFFFFFFFF,
- (void*)0xFFFFFF00,
- (void*)0x10000000,
- (void*)NULL,
- (void*)0xFFFFFFFF,
- (void*)0xFFFFFF00,
- (void*)0x10000000,
- (void*)NULL,
- (void*)0xFFFFFFFF,
- (void*)0xFFFFFF00,
- (void*)0x10000000,
- (void*)NULL,
- (void*)0xFFFFFFFF,
- (void*)0xFFFFFF00,
- (void*)0x10000000,
- (void*)NULL,
- (void*)0xFFFFFFFF,
- (void*)0xFFFFFF00,
- (void*)0x10000000,
- (void*)NULL,
- (void*)0xFFFFFFFF,
- (void*)0xFFFFFF00,
- (void*)0x10000000,
- (void*)NULL,
- (void*)0xFFFFFFFF,
- (void*)0xFFFFFF00,
- (void*)0x10000000,
- (void*)NULL,
- (void*)0xFFFFFFFF,
- (void*)0xFFFFFF00,
- (void*)0x10000000,
- (void*)NULL,
- (void*)0xFFFFFFFF,
- (void*)0xFFFFFF00,
- (void*)0x10000000,
- (void*)NULL,
- (void*)0xFFFFFFFF,
- (void*)0xFFFFFF00,
- (void*)0x10000000,
- (void*)NULL,
- (void*)0xFFFFFFFF,
- (void*)0xFFFFFF00,
- (void*)0x10000000,
- (void*)NULL,
- (void*)0xFFFFFFFF,
- (void*)0xFFFFFF00,
- (void*)0x10000000,
- (void*)NULL,
- (void*)0xFFFFFFFF,
- (void*)0xFFFFFF00,
- (void*)0x10000000,
- (void*)NULL,
- (void*)0xFFFFFFFF,
- (void*)0xFFFFFF00,
- (void*)0x10000000,
- (void*)NULL,
- (void*)0xFFFFFFFF,
- (void*)0xFFFFFF00,
- (void*)0x10000000,
- (void*)NULL,
- (void*)0xFFFFFFFF,
- (void*)0xFFFFFF00,
- (void*)0x10000000,
- (void*)NULL,
- (void*)0xFFFFFFFF,
- (void*)0xFFFFFF00,
- (void*)0x10000000,
- (void*)NULL,
- (void*)0xFFFFFFFF,
- (void*)0xFFFFFF00,
- (void*)0x10000000,
- (void*)NULL,
- (void*)0xFFFFFFFF,
- (void*)0xFFFFFF00,
- (void*)0x10000000,
- (void*)NULL,
- (void*)0xFFFFFFFF,
- (void*)0xFFFFFF00,
- (void*)0x10000000,
- (void*)NULL,
- (void*)0xFFFFFFFF,
- (void*)0xFFFFFF00,
- (void*)0x10000000,
- (void*)NULL,
- (void*)0xFFFFFFFF,
- (void*)0xFFFFFF00,
- (void*)0x10000000,
- (void*)NULL,
- (void*)0xFFFFFFFF,
- (void*)0xFFFFFF00,
- (void*)0x10000000,
- (void*)NULL,
- (void*)0xFFFFFFFF,
- (void*)0xFFFFFF00,
- (void*)0x10000000,
- (void*)NULL,
- (void*)0xFFFFFFFF,
- (void*)0xFFFFFF00,
- (void*)0x10000000,
- (void*)NULL,
- (void*)0xFFFFFFFF,
- (void*)0xFFFFFF00,
- (void*)0x10000000,
- (void*)NULL,
- (void*)0xFFFFFFFF,
- (void*)0xFFFFFF00,
- (void*)0x10000000,
- (void*)NULL,
- (void*)0xFFFFFFFF,
- (void*)0xFFFFFF00,
- (void*)0x10000000,
- (void*)NULL,
- (void*)0xFFFFFFFF,
- (void*)0xFFFFFF00,
- (void*)0x10000000,
- (void*)NULL,
- (void*)0xFFFFFFFF,
- (void*)0xFFFFFF00,
- (void*)0x10000000,
- (void*)NULL,
- (void*)0xFFFFFFFF,
- (void*)0xFFFFFF00,
- (void*)0x10000000,
- (void*)NULL,
- (void*)0xFFFFFFFF,
- (void*)0xFFFFFF00,
- (void*)0x10000000,
- (void*)NULL,
- (void*)0xFFFFFFFF,
- (void*)0xFFFFFF00,
- (void*)0x10000000,
- (void*)NULL,
- (void*)0xFFFFFFFF,
- (void*)0xFFFFFF00,
- (void*)0x10000000,
- (void*)NULL,
- (void*)0xFFFFFFFF,
- (void*)0xFFFFFF00,
- (void*)0x10000000,
- (void*)NULL,
- (void*)0xFFFFFFFF,
- (void*)0xFFFFFF00,
- (void*)0x10000000,
- (void*)NULL,
- (void*)0xFFFFFFFF,
- (void*)0xFFFFFF00,
- (void*)0x10000000,
- (void*)NULL,
- (void*)0xFFFFFFFF,
- (void*)0xFFFFFF00,
- (void*)0x10000000,
- (void*)NULL,
- (void*)0xFFFFFFFF,
- (void*)0xFFFFFF00,
- (void*)0x10000000,
- (void*)NULL,
- (void*)0xFFFFFFFF,
- (void*)0xFFFFFF00,
- (void*)0x10000000,
- (void*)NULL,
- (void*)0xFFFFFFFF,
- (void*)0xFFFFFF00,
- (void*)0x10000000,
- (void*)NULL,
- (void*)0xFFFFFFFF,
- (void*)0xFFFFFF00,
- (void*)0x10000000,
- (void*)NULL,
- (void*)0xFFFFFFFF,
- (void*)0xFFFFFF00,
- (void*)0x10000000,
- (void*)NULL,
- (void*)0xFFFFFFFF,
- (void*)0xFFFFFF00,
- (void*)0x10000000,
- (void*)NULL,
- (void*)0xFFFFFFFF,
- (void*)0xFFFFFF00,
- (void*)0x10000000,
- (void*)NULL,
- (void*)0xFFFFFFFF,
- (void*)0xFFFFFF00,
- (void*)0x10000000,
- (void*)NULL,
- (void*)0xFFFFFFFF,
- (void*)0xFFFFFF00,
- (void*)0x10000000,
- (void*)NULL,
- (void*)0xFFFFFFFF,
- (void*)0xFFFFFF00,
- (void*)0x10000000,
- (void*)NULL,
- (void*)0xFFFFFFFF,
- (void*)0xFFFFFF00,
- (void*)0x10000000,
- (void*)NULL,
- (void*)0xFFFFFFFF,
- (void*)0xFFFFFF00,
- (void*)0x10000000,
- (void*)NULL,
- (void*)0xFFFFFFFF,
- (void*)0xFFFFFF00,
- (void*)0x10000000,
- (void*)NULL,
- (void*)0xFFFFFFFF,
- (void*)0xFFFFFF00,
- (void*)0x10000000,
- (void*)NULL,
- (void*)0xFFFFFFFF,
- (void*)0xFFFFFF00,
- (void*)0x10000000,
- (void*)NULL,
- (void*)0xFFFFFFFF,
- (void*)0xFFFFFF00,
- (void*)0x10000000,
- (void*)NULL,
- (void*)0xFFFFFFFF,
- (void*)0xFFFFFF00,
- (void*)0x10000000,
- (void*)NULL,
- (void*)0xFFFFFFFF,
- (void*)0xFFFFFF00,
- (void*)0x10000000,
- (void*)NULL,
- (void*)0xFFFFFFFF,
- (void*)0xFFFFFF00,
- (void*)0x10000000,
- (void*)NULL,
- (void*)0xFFFFFFFF,
- (void*)0xFFFFFF00,
- (void*)0x10000000,
- (void*)NULL,
- (void*)0xFFFFFFFF,
- (void*)0xFFFFFF00,
- (void*)0x10000000,
- (void*)NULL,
- (void*)0xFFFFFFFF,
- (void*)0xFFFFFF00,
- (void*)0x10000000,
- (void*)NULL,
- (void*)0xFFFFFFFF,
- (void*)0xFFFFFF00,
- (void*)0x10000000,
- (void*)NULL,
- (void*)0xFFFFFFFF,
- (void*)0xFFFFFF00,
- (void*)0x10000000,
- (void*)NULL,
- (void*)0xFFFFFFFF,
- (void*)0xFFFFFF00,
- (void*)0x10000000,
- (void*)NULL,
- (void*)0xFFFFFFFF,
- (void*)0xFFFFFF00,
- (void*)0x10000000,
- (void*)NULL,
- (void*)0xFFFFFFFF,
- (void*)0xFFFFFF00,
- (void*)0x10000000,
- (void*)NULL,
- (void*)0xFFFFFFFF,
- (void*)0xFFFFFF00,
- (void*)0x10000000,
- (void*)NULL,
- (void*)0xFFFFFFFF,
- (void*)0xFFFFFF00,
- (void*)0x10000000,
- (void*)NULL,
- (void*)0xFFFFFFFF,
- (void*)0xFFFFFF00,
- (void*)0x10000000,
- (void*)NULL,
- (void*)0xFFFFFFFF,
- (void*)0xFFFFFF00,
- (void*)0x10000000,
- (void*)NULL,
- (void*)0xFFFFFFFF,
- (void*)0xFFFFFF00,
- (void*)0x10000000,
- (void*)NULL,
- (void*)0xFFFFFFFF,
- (void*)0xFFFFFF00,
- (void*)0x10000000,
- (void*)NULL,
- (void*)0xFFFFFFFF,
- (void*)0xFFFFFF00,
- (void*)0x10000000,
- (void*)NULL,
- (void*)0xFFFFFFFF,
- (void*)0xFFFFFF00,
- (void*)0x10000000,
- (void*)NULL,
- (void*)0xFFFFFFFF,
- (void*)0xFFFFFF00,
- (void*)0x10000000,
- (void*)NULL,
- (void*)0xFFFFFFFF,
- (void*)0xFFFFFF00,
- (void*)0x10000000,
- (void*)NULL,
- (void*)0xFFFFFFFF,
- (void*)0xFFFFFF00,
- (void*)0x10000000,
- (void*)NULL,
- (void*)0xFFFFFFFF,
- (void*)0xFFFFFF00,
- (void*)0x10000000,
- (void*)NULL,
- (void*)0xFFFFFFFF,
- (void*)0xFFFFFF00,
- (void*)0x10000000,
- (void*)NULL,
- (void*)0xFFFFFFFF,
- (void*)0xFFFFFF00,
- (void*)0x10000000,
- (void*)NULL,
- (void*)0xFFFFFFFF,
- (void*)0xFFFFFF00,
- (void*)0x10000000,
- (void*)NULL,
- (void*)0xFFFFFFFF,
- (void*)0xFFFFFF00,
- (void*)0x10000000,
- (void*)NULL,
- (void*)0xFFFFFFFF,
- (void*)0xFFFFFF00,
- (void*)0x10000000,
- (void*)NULL,
- (void*)0xFFFFFFFF,
- (void*)0xFFFFFF00,
- (void*)0x10000000,
- (void*)NULL,
- (void*)0xFFFFFFFF,
- (void*)0xFFFFFF00,
- (void*)0x10000000,
- (void*)NULL,
- (void*)0xFFFFFFFF,
- (void*)0xFFFFFF00,
- (void*)0x10000000,
- (void*)NULL,
- (void*)0xFFFFFFFF,
- (void*)0xFFFFFF00,
- (void*)0x10000000,
- (void*)NULL,
- (void*)0xFFFFFFFF,
- (void*)0xFFFFFF00,
- (void*)0x10000000,
- (void*)NULL,
- (void*)0xFFFFFFFF,
- (void*)0xFFFFFF00,
- (void*)0x10000000,
- (void*)NULL,
- (void*)0xFFFFFFFF,
- (void*)0xFFFFFF00,
- (void*)0x10000000,
- (void*)NULL,
- (void*)0xFFFFFFFF,
- (void*)0xFFFFFF00,
- (void*)0x10000000,
- (void*)NULL,
- (void*)0xFFFFFFFF,
- (void*)0xFFFFFF00,
- (void*)0x10000000,
- (void*)NULL,
- (void*)0xFFFFFFFF,
- (void*)0xFFFFFF00,
- (void*)0x10000000,
- (void*)NULL,
- (void*)0xFFFFFFFF,
- (void*)0xFFFFFF00,
- (void*)0x10000000,
- (void*)NULL,
- (void*)0xFFFFFFFF,
- (void*)0xFFFFFF00,
- (void*)0x10000000,
- (void*)NULL,
- (void*)0xFFFFFFFF,
- (void*)0xFFFFFF00,
- (void*)0x10000000,
- (void*)NULL,
- (void*)0xFFFFFFFF,
- (void*)0xFFFFFF00,
- (void*)0x10000000,
- (void*)NULL,
- (void*)0xFFFFFFFF,
- (void*)0xFFFFFF00,
- (void*)0x10000000,
- (void*)NULL,
- (void*)0xFFFFFFFF,
- (void*)0xFFFFFF00,
- (void*)0x10000000,
- (void*)NULL,
- (void*)0xFFFFFFFF,
- (void*)0xFFFFFF00,
- (void*)0x10000000,
- (void*)NULL,
- (void*)0xFFFFFFFF,
- (void*)0xFFFFFF00,
- (void*)0x10000000,
- (void*)NULL,
- (void*)0xFFFFFFFF,
- (void*)0xFFFFFF00,
- (void*)0x10000000,
- (void*)NULL,
- (void*)0xFFFFFFFF,
- (void*)0xFFFFFF00,
- (void*)0x10000000,
- (void*)NULL,
- (void*)0xFFFFFFFF,
- (void*)0xFFFFFF00,
- (void*)0x10000000,
- (void*)NULL,
- (void*)0xFFFFFFFF,
- (void*)0xFFFFFF00,
- (void*)0x10000000,
- (void*)NULL,
- (void*)0xFFFFFFFF,
- (void*)0xFFFFFF00,
- (void*)0x10000000,
- (void*)NULL,
- (void*)0xFFFFFFFF,
- (void*)0xFFFFFF00,
- (void*)0x10000000,
- (void*)NULL,
- (void*)0xFFFFFFFF,
- (void*)0xFFFFFF00,
- (void*)0x10000000,
- (void*)NULL,
- (void*)0xFFFFFFFF,
- (void*)0xFFFFFF00,
- (void*)0x10000000,
- (void*)NULL,
- (void*)0xFFFFFFFF,
- (void*)0xFFFFFF00,
- (void*)0x10000000,
- (void*)NULL,
- (void*)0xFFFFFFFF,
- (void*)0xFFFFFF00,
- (void*)0x10000000,
- (void*)NULL,
- (void*)0xFFFFFFFF,
- (void*)0xFFFFFF00,
- (void*)0x10000000,
- (void*)NULL,
- (void*)0xFFFFFFFF,
- (void*)0xFFFFFF00,
- (void*)0x10000000,
- (void*)NULL,
- (void*)0xFFFFFFFF,
- (void*)0xFFFFFF00,
- (void*)0x10000000,
- (void*)NULL,
- (void*)0xFFFFFFFF,
- (void*)0xFFFFFF00,
- (void*)0x10000000,
- (void*)(((char*)&d_d_item_data__stringBase0) + 0x358),
- (void*)0x0003FFFF,
- (void*)0xFFFFFF00,
- (void*)0x10000000,
- (void*)NULL,
- (void*)0xFFFFFFFF,
- (void*)0xFFFFFF00,
- (void*)0x10000000,
- (void*)NULL,
- (void*)0xFFFFFFFF,
- (void*)0xFFFFFF00,
- (void*)0x10000000,
- (void*)NULL,
- (void*)0xFFFFFFFF,
- (void*)0xFFFFFF00,
- (void*)0x10000000,
- (void*)NULL,
- (void*)0xFFFFFFFF,
- (void*)0xFFFFFF00,
- (void*)0x10000000,
- (void*)NULL,
- (void*)0xFFFFFFFF,
- (void*)0xFFFFFF00,
- (void*)0x10000000,
- (void*)(((char*)&d_d_item_data__stringBase0) + 0x32E),
- (void*)0x0003FFFF,
- (void*)0xFFFFFF00,
- (void*)0x10000000,
+SECTION_DATA dItem_fieldItemResource dItem_data::field_item_res[255] = {
+ {"Always", 0x0014, 0xFFFF, 0x0030, 0xFF, 0x1000},
+ {"Always", 0x0017, 0xFFFF, 0x0031, 0x0, 0x1000},
+ {"Always", 0x0017, 0xFFFF, 0x0031, 0x1, 0x1000},
+ {"Always", 0x0017, 0xFFFF, 0x0031, 0x2, 0x1000},
+ {"Always", 0x0017, 0xFFFF, 0x0031, 0x3, 0x1000},
+ {"Always", 0x0017, 0xFFFF, 0x0031, 0x4, 0x1000},
+ {"Always", 0x0017, 0xFFFF, 0x0031, 0x5, 0x1000},
+ {"Always", 0x0017, 0xFFFF, 0x0031, 0x6, 0x1000},
+ {NULL, 0xFFFF, 0xFFFF, 0xFFFF, 0xFF, 0x1000},
+ {NULL, 0xFFFF, 0xFFFF, 0xFFFF, 0xFF, 0x1000},
+ {NULL, 0xFFFF, 0xFFFF, 0xFFFF, 0xFF, 0x1000},
+ {NULL, 0xFFFF, 0xFFFF, 0xFFFF, 0xFF, 0x1000},
+ {NULL, 0xFFFF, 0xFFFF, 0xFFFF, 0xFF, 0x1000},
+ {NULL, 0xFFFF, 0xFFFF, 0xFFFF, 0xFF, 0x1000},
+ {"Always", 0x0023, 0xFFFF, 0xFFFF, 0xFF, 0x1000},
+ {"Always", 0x0023, 0xFFFF, 0xFFFF, 0xFF, 0x1000},
+ {"Always", 0x0023, 0xFFFF, 0xFFFF, 0xFF, 0x1000},
+ {"Always", 0x0022, 0xFFFF, 0xFFFF, 0xFF, 0x1000},
+ {"Always", 0x0024, 0xFFFF, 0xFFFF, 0xFF, 0x1000},
+ {NULL, 0xFFFF, 0xFFFF, 0xFFFF, 0xFF, 0x1000},
+ {NULL, 0xFFFF, 0xFFFF, 0xFFFF, 0xFF, 0x1000},
+ {NULL, 0xFFFF, 0xFFFF, 0xFFFF, 0xFF, 0x1000},
+ {NULL, 0xFFFF, 0xFFFF, 0xFFFF, 0xFF, 0x1000},
+ {NULL, 0xFFFF, 0xFFFF, 0xFFFF, 0xFF, 0x1000},
+ {NULL, 0xFFFF, 0xFFFF, 0xFFFF, 0xFF, 0x1000},
+ {NULL, 0xFFFF, 0xFFFF, 0xFFFF, 0xFF, 0x1000},
+ {NULL, 0xFFFF, 0xFFFF, 0xFFFF, 0xFF, 0x1000},
+ {NULL, 0xFFFF, 0xFFFF, 0xFFFF, 0xFF, 0x1000},
+ {NULL, 0xFFFF, 0xFFFF, 0xFFFF, 0xFF, 0x1000},
+ {NULL, 0xFFFF, 0xFFFF, 0xFFFF, 0xFF, 0x1000},
+ {NULL, 0xFFFF, 0xFFFF, 0xFFFF, 0xFF, 0x1000},
+ {"Always", 0x0014, 0xFFFF, 0x0030, 0xFF, 0x1000},
+ {"T_g_key", 0x0003, 0xFFFF, 0xFFFF, 0xFF, 0x1000},
+ {"Always", 0x0015, 0x000D, 0x0033, 0xFF, 0x1000},
+ {"Always", 0x0016, 0x000E, 0x0034, 0xFF, 0x1000},
+ {NULL, 0xFFFF, 0xFFFF, 0xFFFF, 0xFF, 0x1000},
+ {NULL, 0xFFFF, 0xFFFF, 0xFFFF, 0xFF, 0x1000},
+ {NULL, 0xFFFF, 0xFFFF, 0xFFFF, 0xFF, 0x1000},
+ {"T_g_bkey", 0x0003, 0xFFFF, 0xFFFF, 0xFF, 0x1000},
+ {NULL, 0xFFFF, 0xFFFF, 0xFFFF, 0xFF, 0x1000},
+ {"O_g_SWA", 0x0003, 0xFFFF, 0xFFFF, 0xFF, 0x1000},
+ {NULL, 0xFFFF, 0xFFFF, 0xFFFF, 0xFF, 0x1000},
+ {"T_g_SHB", 0x0003, 0xFFFF, 0xFFFF, 0xFF, 0x1000},
+ {NULL, 0xFFFF, 0xFFFF, 0xFFFF, 0xFF, 0x1000},
+ {NULL, 0xFFFF, 0xFFFF, 0xFFFF, 0xFF, 0x1000},
+ {NULL, 0xFFFF, 0xFFFF, 0xFFFF, 0xFF, 0x1000},
+ {NULL, 0xFFFF, 0xFFFF, 0xFFFF, 0xFF, 0x1000},
+ {NULL, 0xFFFF, 0xFFFF, 0xFFFF, 0xFF, 0x1000},
+ {NULL, 0xFFFF, 0xFFFF, 0xFFFF, 0xFF, 0x1000},
+ {"O_g_ZORA", 0x0003, 0xFFFF, 0xFFFF, 0xFF, 0x1000},
+ {NULL, 0xFFFF, 0xFFFF, 0xFFFF, 0xFF, 0x1000},
+ {NULL, 0xFFFF, 0xFFFF, 0xFFFF, 0xFF, 0x1000},
+ {NULL, 0xFFFF, 0xFFFF, 0xFFFF, 0xFF, 0x1000},
+ {NULL, 0xFFFF, 0xFFFF, 0xFFFF, 0xFF, 0x1000},
+ {NULL, 0xFFFF, 0xFFFF, 0xFFFF, 0xFF, 0x1000},
+ {NULL, 0xFFFF, 0xFFFF, 0xFFFF, 0xFF, 0x1000},
+ {NULL, 0xFFFF, 0xFFFF, 0xFFFF, 0xFF, 0x1000},
+ {NULL, 0xFFFF, 0xFFFF, 0xFFFF, 0xFF, 0x1000},
+ {NULL, 0xFFFF, 0xFFFF, 0xFFFF, 0xFF, 0x1000},
+ {NULL, 0xFFFF, 0xFFFF, 0xFFFF, 0xFF, 0x1000},
+ {NULL, 0xFFFF, 0xFFFF, 0xFFFF, 0xFF, 0x1000},
+ {NULL, 0xFFFF, 0xFFFF, 0xFFFF, 0xFF, 0x1000},
+ {NULL, 0xFFFF, 0xFFFF, 0xFFFF, 0xFF, 0x1000},
+ {"O_gD_SWB", 0x0003, 0xFFFF, 0xFFFF, 0xFF, 0x1000},
+ {NULL, 0xFFFF, 0xFFFF, 0xFFFF, 0xFF, 0x1000},
+ {NULL, 0xFFFF, 0xFFFF, 0xFFFF, 0xFF, 0x1000},
+ {NULL, 0xFFFF, 0xFFFF, 0xFFFF, 0xFF, 0x1000},
+ {NULL, 0xFFFF, 0xFFFF, 0xFFFF, 0xFF, 0x1000},
+ {NULL, 0xFFFF, 0xFFFF, 0xFFFF, 0xFF, 0x1000},
+ {NULL, 0xFFFF, 0xFFFF, 0xFFFF, 0xFF, 0x1000},
+ {NULL, 0xFFFF, 0xFFFF, 0xFFFF, 0xFF, 0x1000},
+ {NULL, 0xFFFF, 0xFFFF, 0xFFFF, 0xFF, 0x1000},
+ {"T_g_kt", 0x0003, 0xFFFF, 0xFFFF, 0xFF, 0x1000},
+ {NULL, 0xFFFF, 0xFFFF, 0xFFFF, 0xFF, 0x1000},
+ {NULL, 0xFFFF, 0xFFFF, 0xFFFF, 0xFF, 0x1000},
+ {NULL, 0xFFFF, 0xFFFF, 0xFFFF, 0xFF, 0x1000},
+ {NULL, 0xFFFF, 0xFFFF, 0xFFFF, 0xFF, 0x1000},
+ {NULL, 0xFFFF, 0xFFFF, 0xFFFF, 0xFF, 0x1000},
+ {NULL, 0xFFFF, 0xFFFF, 0xFFFF, 0xFF, 0x1000},
+ {NULL, 0xFFFF, 0xFFFF, 0xFFFF, 0xFF, 0x1000},
+ {NULL, 0xFFFF, 0xFFFF, 0xFFFF, 0xFF, 0x1000},
+ {NULL, 0xFFFF, 0xFFFF, 0xFFFF, 0xFF, 0x1000},
+ {NULL, 0xFFFF, 0xFFFF, 0xFFFF, 0xFF, 0x1000},
+ {NULL, 0xFFFF, 0xFFFF, 0xFFFF, 0xFF, 0x1000},
+ {NULL, 0xFFFF, 0xFFFF, 0xFFFF, 0xFF, 0x1000},
+ {NULL, 0xFFFF, 0xFFFF, 0xFFFF, 0xFF, 0x1000},
+ {NULL, 0xFFFF, 0xFFFF, 0xFFFF, 0xFF, 0x1000},
+ {NULL, 0xFFFF, 0xFFFF, 0xFFFF, 0xFF, 0x1000},
+ {NULL, 0xFFFF, 0xFFFF, 0xFFFF, 0xFF, 0x1000},
+ {NULL, 0xFFFF, 0xFFFF, 0xFFFF, 0xFF, 0x1000},
+ {NULL, 0xFFFF, 0xFFFF, 0xFFFF, 0xFF, 0x1000},
+ {NULL, 0xFFFF, 0xFFFF, 0xFFFF, 0xFF, 0x1000},
+ {NULL, 0xFFFF, 0xFFFF, 0xFFFF, 0xFF, 0x1000},
+ {NULL, 0xFFFF, 0xFFFF, 0xFFFF, 0xFF, 0x1000},
+ {NULL, 0xFFFF, 0xFFFF, 0xFFFF, 0xFF, 0x1000},
+ {NULL, 0xFFFF, 0xFFFF, 0xFFFF, 0xFF, 0x1000},
+ {NULL, 0xFFFF, 0xFFFF, 0xFFFF, 0xFF, 0x1000},
+ {NULL, 0xFFFF, 0xFFFF, 0xFFFF, 0xFF, 0x1000},
+ {NULL, 0xFFFF, 0xFFFF, 0xFFFF, 0xFF, 0x1000},
+ {NULL, 0xFFFF, 0xFFFF, 0xFFFF, 0xFF, 0x1000},
+ {NULL, 0xFFFF, 0xFFFF, 0xFFFF, 0xFF, 0x1000},
+ {NULL, 0xFFFF, 0xFFFF, 0xFFFF, 0xFF, 0x1000},
+ {NULL, 0xFFFF, 0xFFFF, 0xFFFF, 0xFF, 0x1000},
+ {NULL, 0xFFFF, 0xFFFF, 0xFFFF, 0xFF, 0x1000},
+ {NULL, 0xFFFF, 0xFFFF, 0xFFFF, 0xFF, 0x1000},
+ {NULL, 0xFFFF, 0xFFFF, 0xFFFF, 0xFF, 0x1000},
+ {NULL, 0xFFFF, 0xFFFF, 0xFFFF, 0xFF, 0x1000},
+ {NULL, 0xFFFF, 0xFFFF, 0xFFFF, 0xFF, 0x1000},
+ {NULL, 0xFFFF, 0xFFFF, 0xFFFF, 0xFF, 0x1000},
+ {NULL, 0xFFFF, 0xFFFF, 0xFFFF, 0xFF, 0x1000},
+ {NULL, 0xFFFF, 0xFFFF, 0xFFFF, 0xFF, 0x1000},
+ {NULL, 0xFFFF, 0xFFFF, 0xFFFF, 0xFF, 0x1000},
+ {NULL, 0xFFFF, 0xFFFF, 0xFFFF, 0xFF, 0x1000},
+ {NULL, 0xFFFF, 0xFFFF, 0xFFFF, 0xFF, 0x1000},
+ {NULL, 0xFFFF, 0xFFFF, 0xFFFF, 0xFF, 0x1000},
+ {NULL, 0xFFFF, 0xFFFF, 0xFFFF, 0xFF, 0x1000},
+ {NULL, 0xFFFF, 0xFFFF, 0xFFFF, 0xFF, 0x1000},
+ {NULL, 0xFFFF, 0xFFFF, 0xFFFF, 0xFF, 0x1000},
+ {NULL, 0xFFFF, 0xFFFF, 0xFFFF, 0xFF, 0x1000},
+ {NULL, 0xFFFF, 0xFFFF, 0xFFFF, 0xFF, 0x1000},
+ {NULL, 0xFFFF, 0xFFFF, 0xFFFF, 0xFF, 0x1000},
+ {NULL, 0xFFFF, 0xFFFF, 0xFFFF, 0xFF, 0x1000},
+ {NULL, 0xFFFF, 0xFFFF, 0xFFFF, 0xFF, 0x1000},
+ {NULL, 0xFFFF, 0xFFFF, 0xFFFF, 0xFF, 0x1000},
+ {NULL, 0xFFFF, 0xFFFF, 0xFFFF, 0xFF, 0x1000},
+ {NULL, 0xFFFF, 0xFFFF, 0xFFFF, 0xFF, 0x1000},
+ {NULL, 0xFFFF, 0xFFFF, 0xFFFF, 0xFF, 0x1000},
+ {NULL, 0xFFFF, 0xFFFF, 0xFFFF, 0xFF, 0x1000},
+ {NULL, 0xFFFF, 0xFFFF, 0xFFFF, 0xFF, 0x1000},
+ {NULL, 0xFFFF, 0xFFFF, 0xFFFF, 0xFF, 0x1000},
+ {"O_wood", 0x0004, 0xFFFF, 0xFFFF, 0xFF, 0x1000},
+ {NULL, 0xFFFF, 0xFFFF, 0xFFFF, 0xFF, 0x1000},
+ {NULL, 0xFFFF, 0xFFFF, 0xFFFF, 0xFF, 0x1000},
+ {NULL, 0xFFFF, 0xFFFF, 0xFFFF, 0xFF, 0x1000},
+ {NULL, 0xFFFF, 0xFFFF, 0xFFFF, 0xFF, 0x1000},
+ {NULL, 0xFFFF, 0xFFFF, 0xFFFF, 0xFF, 0x1000},
+ {NULL, 0xFFFF, 0xFFFF, 0xFFFF, 0xFF, 0x1000},
+ {NULL, 0xFFFF, 0xFFFF, 0xFFFF, 0xFF, 0x1000},
+ {NULL, 0xFFFF, 0xFFFF, 0xFFFF, 0xFF, 0x1000},
+ {NULL, 0xFFFF, 0xFFFF, 0xFFFF, 0xFF, 0x1000},
+ {NULL, 0xFFFF, 0xFFFF, 0xFFFF, 0xFF, 0x1000},
+ {NULL, 0xFFFF, 0xFFFF, 0xFFFF, 0xFF, 0x1000},
+ {NULL, 0xFFFF, 0xFFFF, 0xFFFF, 0xFF, 0x1000},
+ {NULL, 0xFFFF, 0xFFFF, 0xFFFF, 0xFF, 0x1000},
+ {NULL, 0xFFFF, 0xFFFF, 0xFFFF, 0xFF, 0x1000},
+ {NULL, 0xFFFF, 0xFFFF, 0xFFFF, 0xFF, 0x1000},
+ {NULL, 0xFFFF, 0xFFFF, 0xFFFF, 0xFF, 0x1000},
+ {NULL, 0xFFFF, 0xFFFF, 0xFFFF, 0xFF, 0x1000},
+ {NULL, 0xFFFF, 0xFFFF, 0xFFFF, 0xFF, 0x1000},
+ {NULL, 0xFFFF, 0xFFFF, 0xFFFF, 0xFF, 0x1000},
+ {NULL, 0xFFFF, 0xFFFF, 0xFFFF, 0xFF, 0x1000},
+ {NULL, 0xFFFF, 0xFFFF, 0xFFFF, 0xFF, 0x1000},
+ {NULL, 0xFFFF, 0xFFFF, 0xFFFF, 0xFF, 0x1000},
+ {NULL, 0xFFFF, 0xFFFF, 0xFFFF, 0xFF, 0x1000},
+ {NULL, 0xFFFF, 0xFFFF, 0xFFFF, 0xFF, 0x1000},
+ {NULL, 0xFFFF, 0xFFFF, 0xFFFF, 0xFF, 0x1000},
+ {NULL, 0xFFFF, 0xFFFF, 0xFFFF, 0xFF, 0x1000},
+ {NULL, 0xFFFF, 0xFFFF, 0xFFFF, 0xFF, 0x1000},
+ {NULL, 0xFFFF, 0xFFFF, 0xFFFF, 0xFF, 0x1000},
+ {NULL, 0xFFFF, 0xFFFF, 0xFFFF, 0xFF, 0x1000},
+ {NULL, 0xFFFF, 0xFFFF, 0xFFFF, 0xFF, 0x1000},
+ {NULL, 0xFFFF, 0xFFFF, 0xFFFF, 0xFF, 0x1000},
+ {NULL, 0xFFFF, 0xFFFF, 0xFFFF, 0xFF, 0x1000},
+ {NULL, 0xFFFF, 0xFFFF, 0xFFFF, 0xFF, 0x1000},
+ {NULL, 0xFFFF, 0xFFFF, 0xFFFF, 0xFF, 0x1000},
+ {NULL, 0xFFFF, 0xFFFF, 0xFFFF, 0xFF, 0x1000},
+ {NULL, 0xFFFF, 0xFFFF, 0xFFFF, 0xFF, 0x1000},
+ {NULL, 0xFFFF, 0xFFFF, 0xFFFF, 0xFF, 0x1000},
+ {NULL, 0xFFFF, 0xFFFF, 0xFFFF, 0xFF, 0x1000},
+ {NULL, 0xFFFF, 0xFFFF, 0xFFFF, 0xFF, 0x1000},
+ {NULL, 0xFFFF, 0xFFFF, 0xFFFF, 0xFF, 0x1000},
+ {NULL, 0xFFFF, 0xFFFF, 0xFFFF, 0xFF, 0x1000},
+ {NULL, 0xFFFF, 0xFFFF, 0xFFFF, 0xFF, 0x1000},
+ {NULL, 0xFFFF, 0xFFFF, 0xFFFF, 0xFF, 0x1000},
+ {NULL, 0xFFFF, 0xFFFF, 0xFFFF, 0xFF, 0x1000},
+ {NULL, 0xFFFF, 0xFFFF, 0xFFFF, 0xFF, 0x1000},
+ {NULL, 0xFFFF, 0xFFFF, 0xFFFF, 0xFF, 0x1000},
+ {NULL, 0xFFFF, 0xFFFF, 0xFFFF, 0xFF, 0x1000},
+ {NULL, 0xFFFF, 0xFFFF, 0xFFFF, 0xFF, 0x1000},
+ {NULL, 0xFFFF, 0xFFFF, 0xFFFF, 0xFF, 0x1000},
+ {NULL, 0xFFFF, 0xFFFF, 0xFFFF, 0xFF, 0x1000},
+ {NULL, 0xFFFF, 0xFFFF, 0xFFFF, 0xFF, 0x1000},
+ {NULL, 0xFFFF, 0xFFFF, 0xFFFF, 0xFF, 0x1000},
+ {NULL, 0xFFFF, 0xFFFF, 0xFFFF, 0xFF, 0x1000},
+ {NULL, 0xFFFF, 0xFFFF, 0xFFFF, 0xFF, 0x1000},
+ {NULL, 0xFFFF, 0xFFFF, 0xFFFF, 0xFF, 0x1000},
+ {NULL, 0xFFFF, 0xFFFF, 0xFFFF, 0xFF, 0x1000},
+ {NULL, 0xFFFF, 0xFFFF, 0xFFFF, 0xFF, 0x1000},
+ {NULL, 0xFFFF, 0xFFFF, 0xFFFF, 0xFF, 0x1000},
+ {NULL, 0xFFFF, 0xFFFF, 0xFFFF, 0xFF, 0x1000},
+ {NULL, 0xFFFF, 0xFFFF, 0xFFFF, 0xFF, 0x1000},
+ {NULL, 0xFFFF, 0xFFFF, 0xFFFF, 0xFF, 0x1000},
+ {NULL, 0xFFFF, 0xFFFF, 0xFFFF, 0xFF, 0x1000},
+ {NULL, 0xFFFF, 0xFFFF, 0xFFFF, 0xFF, 0x1000},
+ {NULL, 0xFFFF, 0xFFFF, 0xFFFF, 0xFF, 0x1000},
+ {NULL, 0xFFFF, 0xFFFF, 0xFFFF, 0xFF, 0x1000},
+ {NULL, 0xFFFF, 0xFFFF, 0xFFFF, 0xFF, 0x1000},
+ {NULL, 0xFFFF, 0xFFFF, 0xFFFF, 0xFF, 0x1000},
+ {NULL, 0xFFFF, 0xFFFF, 0xFFFF, 0xFF, 0x1000},
+ {NULL, 0xFFFF, 0xFFFF, 0xFFFF, 0xFF, 0x1000},
+ {NULL, 0xFFFF, 0xFFFF, 0xFFFF, 0xFF, 0x1000},
+ {NULL, 0xFFFF, 0xFFFF, 0xFFFF, 0xFF, 0x1000},
+ {NULL, 0xFFFF, 0xFFFF, 0xFFFF, 0xFF, 0x1000},
+ {NULL, 0xFFFF, 0xFFFF, 0xFFFF, 0xFF, 0x1000},
+ {NULL, 0xFFFF, 0xFFFF, 0xFFFF, 0xFF, 0x1000},
+ {NULL, 0xFFFF, 0xFFFF, 0xFFFF, 0xFF, 0x1000},
+ {NULL, 0xFFFF, 0xFFFF, 0xFFFF, 0xFF, 0x1000},
+ {NULL, 0xFFFF, 0xFFFF, 0xFFFF, 0xFF, 0x1000},
+ {NULL, 0xFFFF, 0xFFFF, 0xFFFF, 0xFF, 0x1000},
+ {NULL, 0xFFFF, 0xFFFF, 0xFFFF, 0xFF, 0x1000},
+ {NULL, 0xFFFF, 0xFFFF, 0xFFFF, 0xFF, 0x1000},
+ {NULL, 0xFFFF, 0xFFFF, 0xFFFF, 0xFF, 0x1000},
+ {NULL, 0xFFFF, 0xFFFF, 0xFFFF, 0xFF, 0x1000},
+ {NULL, 0xFFFF, 0xFFFF, 0xFFFF, 0xFF, 0x1000},
+ {NULL, 0xFFFF, 0xFFFF, 0xFFFF, 0xFF, 0x1000},
+ {NULL, 0xFFFF, 0xFFFF, 0xFFFF, 0xFF, 0x1000},
+ {NULL, 0xFFFF, 0xFFFF, 0xFFFF, 0xFF, 0x1000},
+ {NULL, 0xFFFF, 0xFFFF, 0xFFFF, 0xFF, 0x1000},
+ {NULL, 0xFFFF, 0xFFFF, 0xFFFF, 0xFF, 0x1000},
+ {NULL, 0xFFFF, 0xFFFF, 0xFFFF, 0xFF, 0x1000},
+ {NULL, 0xFFFF, 0xFFFF, 0xFFFF, 0xFF, 0x1000},
+ {NULL, 0xFFFF, 0xFFFF, 0xFFFF, 0xFF, 0x1000},
+ {NULL, 0xFFFF, 0xFFFF, 0xFFFF, 0xFF, 0x1000},
+ {NULL, 0xFFFF, 0xFFFF, 0xFFFF, 0xFF, 0x1000},
+ {NULL, 0xFFFF, 0xFFFF, 0xFFFF, 0xFF, 0x1000},
+ {NULL, 0xFFFF, 0xFFFF, 0xFFFF, 0xFF, 0x1000},
+ {NULL, 0xFFFF, 0xFFFF, 0xFFFF, 0xFF, 0x1000},
+ {NULL, 0xFFFF, 0xFFFF, 0xFFFF, 0xFF, 0x1000},
+ {NULL, 0xFFFF, 0xFFFF, 0xFFFF, 0xFF, 0x1000},
+ {NULL, 0xFFFF, 0xFFFF, 0xFFFF, 0xFF, 0x1000},
+ {NULL, 0xFFFF, 0xFFFF, 0xFFFF, 0xFF, 0x1000},
+ {NULL, 0xFFFF, 0xFFFF, 0xFFFF, 0xFF, 0x1000},
+ {NULL, 0xFFFF, 0xFFFF, 0xFFFF, 0xFF, 0x1000},
+ {NULL, 0xFFFF, 0xFFFF, 0xFFFF, 0xFF, 0x1000},
+ {NULL, 0xFFFF, 0xFFFF, 0xFFFF, 0xFF, 0x1000},
+ {NULL, 0xFFFF, 0xFFFF, 0xFFFF, 0xFF, 0x1000},
+ {NULL, 0xFFFF, 0xFFFF, 0xFFFF, 0xFF, 0x1000},
+ {NULL, 0xFFFF, 0xFFFF, 0xFFFF, 0xFF, 0x1000},
+ {NULL, 0xFFFF, 0xFFFF, 0xFFFF, 0xFF, 0x1000},
+ {NULL, 0xFFFF, 0xFFFF, 0xFFFF, 0xFF, 0x1000},
+ {NULL, 0xFFFF, 0xFFFF, 0xFFFF, 0xFF, 0x1000},
+ {NULL, 0xFFFF, 0xFFFF, 0xFFFF, 0xFF, 0x1000},
+ {NULL, 0xFFFF, 0xFFFF, 0xFFFF, 0xFF, 0x1000},
+ {NULL, 0xFFFF, 0xFFFF, 0xFFFF, 0xFF, 0x1000},
+ {NULL, 0xFFFF, 0xFFFF, 0xFFFF, 0xFF, 0x1000},
+ {NULL, 0xFFFF, 0xFFFF, 0xFFFF, 0xFF, 0x1000},
+ {NULL, 0xFFFF, 0xFFFF, 0xFFFF, 0xFF, 0x1000},
+ {NULL, 0xFFFF, 0xFFFF, 0xFFFF, 0xFF, 0x1000},
+ {"T_g_kt", 0x0003, 0xFFFF, 0xFFFF, 0xFF, 0x1000},
+ {NULL, 0xFFFF, 0xFFFF, 0xFFFF, 0xFF, 0x1000},
+ {NULL, 0xFFFF, 0xFFFF, 0xFFFF, 0xFF, 0x1000},
+ {NULL, 0xFFFF, 0xFFFF, 0xFFFF, 0xFF, 0x1000},
+ {NULL, 0xFFFF, 0xFFFF, 0xFFFF, 0xFF, 0x1000},
+ {NULL, 0xFFFF, 0xFFFF, 0xFFFF, 0xFF, 0x1000},
+ {"T_g_key", 0x0003, 0xFFFF, 0xFFFF, 0xFF, 0x1000},
};
/* 803AED78-803AF178 00BE98 03FC+04 0/0 9/9 9/9 .data item_info__10dItem_data */
-SECTION_DATA u8 dItem_data::item_info[1020 + 4 /* padding */] = {
- 0x0F,
- 0x28,
- 0x1E,
- 0x04,
- 0x14,
- 0x46,
- 0x1E,
- 0x04,
- 0x14,
- 0x46,
- 0x1E,
- 0x04,
- 0x14,
- 0x46,
- 0x1E,
- 0x04,
- 0x14,
- 0x46,
- 0x1E,
- 0x04,
- 0x14,
- 0x46,
- 0x1E,
- 0x04,
- 0x14,
- 0x46,
- 0x1E,
- 0x04,
- 0x14,
- 0x46,
- 0x1E,
- 0x04,
- 0x14,
- 0x28,
- 0x1E,
- 0x04,
- 0x14,
- 0x28,
- 0x1E,
- 0x04,
- 0x28,
- 0x3C,
- 0x1E,
- 0x00,
- 0x28,
- 0x3C,
- 0x1E,
- 0x00,
- 0x28,
- 0x3C,
- 0x1E,
- 0x00,
- 0x28,
- 0x3C,
- 0x1E,
- 0x00,
- 0x14,
- 0x50,
- 0x32,
- 0x00,
- 0x14,
- 0x50,
- 0x32,
- 0x00,
- 0x14,
- 0x50,
- 0x32,
- 0x00,
- 0x14,
- 0x50,
- 0x32,
- 0x00,
- 0x23,
- 0x46,
- 0x1E,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x04,
- 0x00,
- 0x00,
- 0x00,
- 0x04,
- 0x00,
- 0x00,
- 0x00,
- 0x04,
- 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,
- 0x04,
- 0x00,
- 0x00,
- 0x00,
- 0x04,
- 0x96,
- 0x28,
- 0x1E,
- 0x11,
- 0xE6,
- 0x64,
- 0x32,
- 0x15,
- 0xE6,
- 0x64,
- 0x32,
- 0x15,
- 0x00,
- 0x00,
- 0x00,
- 0x40,
- 0x00,
- 0x00,
- 0x00,
- 0x44,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x96,
- 0x00,
- 0x00,
- 0x55,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x04,
- 0x96,
- 0x3C,
- 0x3C,
- 0x11,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x04,
- 0x00,
- 0x00,
- 0x00,
- 0x04,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x04,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x04,
- 0x00,
- 0x00,
- 0x00,
- 0x04,
- 0x00,
- 0x00,
- 0x00,
- 0x04,
- 0x00,
- 0x00,
- 0x00,
- 0x04,
- 0x00,
- 0x00,
- 0x00,
- 0x04,
- 0x00,
- 0x00,
- 0x00,
- 0x04,
- 0x00,
- 0x00,
- 0x00,
- 0x04,
- 0x00,
- 0x00,
- 0x00,
- 0x04,
- 0x00,
- 0x00,
- 0x00,
- 0x04,
- 0x00,
- 0x00,
- 0x00,
- 0x04,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x96,
- 0xFF,
- 0xFF,
- 0x13,
- 0x00,
- 0x00,
- 0x00,
- 0x40,
- 0x00,
- 0x00,
- 0x00,
- 0x04,
- 0x00,
- 0x00,
- 0x00,
- 0x40,
- 0x00,
- 0x00,
- 0x00,
- 0x40,
- 0x00,
- 0x00,
- 0x00,
- 0x40,
- 0x00,
- 0x00,
- 0x00,
- 0x40,
- 0x00,
- 0x00,
- 0x00,
- 0x40,
- 0x96,
- 0x32,
- 0x14,
- 0x15,
- 0x00,
- 0x00,
- 0x00,
- 0x04,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x04,
- 0x00,
- 0x00,
- 0x00,
- 0x04,
- 0x00,
- 0x00,
- 0x00,
- 0x04,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x04,
- 0x00,
- 0x00,
- 0x00,
- 0x04,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x04,
- 0x00,
- 0x00,
- 0x00,
- 0x04,
- 0x00,
- 0x00,
- 0x00,
- 0x04,
- 0x00,
- 0x00,
- 0x00,
- 0x04,
- 0x00,
- 0x00,
- 0x00,
- 0x04,
- 0x00,
- 0x00,
- 0x00,
- 0x04,
- 0x00,
- 0x00,
- 0x00,
- 0x04,
- 0x00,
- 0x00,
- 0x00,
- 0x04,
- 0x00,
- 0x00,
- 0x00,
- 0x04,
- 0x00,
- 0x00,
- 0x00,
- 0x04,
- 0x00,
- 0x00,
- 0x00,
- 0x04,
- 0x00,
- 0x00,
- 0x00,
- 0x04,
- 0x00,
- 0x00,
- 0x00,
- 0x04,
- 0x00,
- 0x00,
- 0x00,
- 0x04,
- 0x00,
- 0x00,
- 0x00,
- 0x04,
- 0x00,
- 0x00,
- 0x00,
- 0x04,
- 0x00,
- 0x00,
- 0x00,
- 0x04,
- 0x00,
- 0x00,
- 0x00,
- 0x04,
- 0x00,
- 0x00,
- 0x00,
- 0x04,
- 0x00,
- 0x00,
- 0x00,
- 0x04,
- 0x00,
- 0x00,
- 0x00,
- 0x04,
- 0x00,
- 0x00,
- 0x00,
- 0x04,
- 0x00,
- 0x00,
- 0x00,
- 0x04,
- 0x00,
- 0x00,
- 0x00,
- 0x04,
- 0x00,
- 0x00,
- 0x00,
- 0x04,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x04,
- 0x00,
- 0x00,
- 0x00,
- 0x04,
- 0x00,
- 0x00,
- 0x00,
- 0x04,
- 0x00,
- 0x00,
- 0x00,
- 0x04,
- 0x00,
- 0x00,
- 0x00,
- 0x04,
- 0x00,
- 0x00,
- 0x00,
- 0x04,
- 0x00,
- 0x00,
- 0x00,
- 0x04,
- 0x00,
- 0x00,
- 0x00,
- 0x04,
- 0x00,
- 0x00,
- 0x00,
- 0x04,
- 0x00,
- 0x00,
- 0x00,
- 0x04,
- 0x00,
- 0x00,
- 0x00,
- 0x04,
- 0x00,
- 0x00,
- 0x00,
- 0x04,
- 0x00,
- 0x00,
- 0x00,
- 0x04,
- 0x00,
- 0x00,
- 0x00,
- 0x04,
- 0x00,
- 0x00,
- 0x00,
- 0x04,
- 0x00,
- 0x46,
- 0x1E,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x04,
- 0x00,
- 0x00,
- 0x00,
- 0x04,
- 0x00,
- 0x00,
- 0x00,
- 0x04,
- 0x00,
- 0x00,
- 0x00,
- 0x04,
- 0x00,
- 0x00,
- 0x00,
- 0x04,
- 0x00,
- 0x00,
- 0x00,
- 0x04,
- 0x00,
- 0x00,
- 0x00,
- 0x04,
- 0x00,
- 0x00,
- 0x00,
- 0x04,
- 0x00,
- 0x00,
- 0x00,
- 0x04,
- 0x00,
- 0x00,
- 0x00,
- 0x04,
- 0x00,
- 0x00,
- 0x00,
- 0x04,
- 0x00,
- 0x00,
- 0x00,
- 0x04,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x04,
- 0x00,
- 0x00,
- 0x00,
- 0x04,
- 0x00,
- 0x00,
- 0x00,
- 0x04,
- 0x00,
- 0x00,
- 0x00,
- 0x04,
- 0x00,
- 0x00,
- 0x00,
- 0x04,
- 0x00,
- 0x00,
- 0x00,
- 0x04,
- 0x00,
- 0x00,
- 0x00,
- 0x04,
- 0x00,
- 0x00,
- 0x00,
- 0x04,
- 0x00,
- 0x00,
- 0x00,
- 0x04,
- 0x00,
- 0x00,
- 0x00,
- 0x04,
- 0x00,
- 0x00,
- 0x00,
- 0x04,
- 0x00,
- 0x00,
- 0x00,
- 0x04,
- 0x00,
- 0x00,
- 0x00,
- 0x04,
- 0x00,
- 0x00,
- 0x00,
- 0x04,
- 0x1E,
- 0x32,
- 0x28,
- 0x05,
- 0x00,
- 0x00,
- 0x00,
- 0x04,
- 0x00,
- 0x00,
- 0x00,
- 0x04,
- 0x00,
- 0x00,
- 0x00,
- 0x04,
- 0x00,
- 0x00,
- 0x00,
- 0x04,
- 0x00,
- 0x00,
- 0x00,
- 0x04,
- 0x00,
- 0x00,
- 0x00,
- 0x04,
- 0x00,
- 0x00,
- 0x00,
- 0x04,
- 0x00,
- 0x00,
- 0x00,
- 0x04,
- 0x00,
- 0x00,
- 0x00,
- 0x04,
- 0x00,
- 0x00,
- 0x00,
- 0x04,
- 0x00,
- 0x00,
- 0x00,
- 0x04,
- 0x00,
- 0x00,
- 0x00,
- 0x04,
- 0x00,
- 0x00,
- 0x00,
- 0x04,
- 0x00,
- 0x00,
- 0x00,
- 0x04,
- 0x00,
- 0x00,
- 0x00,
- 0x04,
- 0x00,
- 0x00,
- 0x00,
- 0x04,
- 0x00,
- 0x00,
- 0x00,
- 0x04,
- 0x00,
- 0x00,
- 0x00,
- 0x04,
- 0x00,
- 0x00,
- 0x00,
- 0x04,
- 0x00,
- 0x00,
- 0x00,
- 0x04,
- 0x00,
- 0x00,
- 0x00,
- 0x04,
- 0x00,
- 0x00,
- 0x00,
- 0x04,
- 0x00,
- 0x00,
- 0x00,
- 0x04,
- 0x00,
- 0x00,
- 0x00,
- 0x04,
- 0x00,
- 0x00,
- 0x00,
- 0x04,
- 0x00,
- 0x00,
- 0x00,
- 0x04,
- 0x00,
- 0x00,
- 0x00,
- 0x04,
- 0x00,
- 0x00,
- 0x00,
- 0x04,
- 0x00,
- 0x00,
- 0x00,
- 0x04,
- 0x00,
- 0x00,
- 0x00,
- 0x04,
- 0x00,
- 0x00,
- 0x00,
- 0x04,
- 0x00,
- 0x00,
- 0x00,
- 0x04,
- 0x00,
- 0x00,
- 0x00,
- 0x04,
- 0x00,
- 0x00,
- 0x00,
- 0x04,
- 0x00,
- 0x00,
- 0x00,
- 0x04,
- 0x00,
- 0x00,
- 0x00,
- 0x04,
- 0x00,
- 0x00,
- 0x00,
- 0x04,
- 0x00,
- 0x00,
- 0x00,
- 0x04,
- 0x00,
- 0x00,
- 0x00,
- 0x04,
- 0x00,
- 0x00,
- 0x00,
- 0x04,
- 0x00,
- 0x00,
- 0x00,
- 0x04,
- 0x00,
- 0x00,
- 0x00,
- 0x04,
- 0x00,
- 0x00,
- 0x00,
- 0x04,
- 0x00,
- 0x00,
- 0x00,
- 0x04,
- 0x00,
- 0x00,
- 0x00,
- 0x04,
- 0x00,
- 0x00,
- 0x00,
- 0x04,
- 0x00,
- 0x00,
- 0x00,
- 0x04,
- 0x00,
- 0x00,
- 0x00,
- 0x04,
- 0x00,
- 0x00,
- 0x00,
- 0x04,
- 0x00,
- 0x00,
- 0x00,
- 0x04,
- 0x00,
- 0x00,
- 0x00,
- 0x04,
- 0x00,
- 0x00,
- 0x00,
- 0x04,
- 0x00,
- 0x00,
- 0x00,
- 0x04,
- 0x00,
- 0x00,
- 0x00,
- 0x04,
- 0x00,
- 0x00,
- 0x00,
- 0x04,
- 0x00,
- 0x00,
- 0x00,
- 0x04,
- 0x00,
- 0x00,
- 0x00,
- 0x04,
- 0x00,
- 0x00,
- 0x00,
- 0x04,
- 0x00,
- 0x00,
- 0x00,
- 0x04,
- 0x00,
- 0x00,
- 0x00,
- 0x04,
- 0x00,
- 0x00,
- 0x00,
- 0x04,
- 0x00,
- 0x00,
- 0x00,
- 0x04,
- 0x00,
- 0x00,
- 0x00,
- 0x04,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x04,
- 0x00,
- 0x00,
- 0x00,
- 0x04,
- 0x00,
- 0x00,
- 0x00,
- 0x04,
- 0x00,
- 0x00,
- 0x00,
- 0x04,
- 0x00,
- 0x00,
- 0x00,
- 0x04,
- 0x00,
- 0x00,
- 0x00,
- 0x04,
- 0x00,
- 0x00,
- 0x00,
- 0x04,
- 0x00,
- 0x00,
- 0x00,
- 0x04,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x04,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x04,
- 0x00,
- 0x00,
- 0x00,
- 0x04,
- 0x00,
- 0x00,
- 0x00,
- 0x04,
- 0x00,
- 0x00,
- 0x00,
- 0x04,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x04,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x04,
- 0x00,
- 0x00,
- 0x00,
- 0x04,
- 0x96,
- 0x32,
- 0x14,
- 0x15,
- 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,
+SECTION_DATA dItem_itemInfo dItem_data::item_info[255] = {
+ {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},
+ {20, 80, 50, 0}, {20, 80, 50, 0}, {20, 80, 50, 0}, {35, 70, 30, 0}, {0, 0, 0, 4},
+ {0, 0, 0, 4}, {0, 0, 0, 4}, {0, 0, 0, 0}, {0, 0, 0, 0}, {0, 0, 0, 0},
+ {0, 0, 0, 0}, {0, 0, 0, 0}, {0, 0, 0, 0}, {0, 0, 0, 0}, {0, 0, 0, 0},
+ {0, 0, 0, 4}, {0, 0, 0, 4}, {150, 40, 30, 17}, {230, 100, 50, 21}, {230, 100, 50, 21},
+ {0, 0, 0, 64}, {0, 0, 0, 68}, {0, 0, 0, 0}, {150, 0, 0, 85}, {0, 0, 0, 0},
+ {0, 0, 0, 0}, {0, 0, 0, 4}, {150, 60, 60, 17}, {0, 0, 0, 0}, {0, 0, 0, 0},
+ {0, 0, 0, 0}, {0, 0, 0, 4}, {0, 0, 0, 4}, {0, 0, 0, 0}, {0, 0, 0, 0},
+ {0, 0, 0, 4}, {0, 0, 0, 0}, {0, 0, 0, 4}, {0, 0, 0, 4}, {0, 0, 0, 4},
+ {0, 0, 0, 4}, {0, 0, 0, 4}, {0, 0, 0, 4}, {0, 0, 0, 4}, {0, 0, 0, 4},
+ {0, 0, 0, 4}, {0, 0, 0, 4}, {0, 0, 0, 0}, {0, 0, 0, 0}, {150, 255, 255, 19},
+ {0, 0, 0, 64}, {0, 0, 0, 4}, {0, 0, 0, 64}, {0, 0, 0, 64}, {0, 0, 0, 64},
+ {0, 0, 0, 64}, {0, 0, 0, 64}, {150, 50, 20, 21}, {0, 0, 0, 4}, {0, 0, 0, 0},
+ {0, 0, 0, 0}, {0, 0, 0, 4}, {0, 0, 0, 4}, {0, 0, 0, 4}, {0, 0, 0, 0},
+ {0, 0, 0, 0}, {0, 0, 0, 0}, {0, 0, 0, 4}, {0, 0, 0, 4}, {0, 0, 0, 0},
+ {0, 0, 0, 0}, {0, 0, 0, 0}, {0, 0, 0, 4}, {0, 0, 0, 4}, {0, 0, 0, 4},
+ {0, 0, 0, 4}, {0, 0, 0, 4}, {0, 0, 0, 4}, {0, 0, 0, 4}, {0, 0, 0, 4},
+ {0, 0, 0, 4}, {0, 0, 0, 4}, {0, 0, 0, 4}, {0, 0, 0, 4}, {0, 0, 0, 4},
+ {0, 0, 0, 4}, {0, 0, 0, 4}, {0, 0, 0, 4}, {0, 0, 0, 4}, {0, 0, 0, 4},
+ {0, 0, 0, 4}, {0, 0, 0, 4}, {0, 0, 0, 4}, {0, 0, 0, 4}, {0, 0, 0, 4},
+ {0, 0, 0, 4}, {0, 0, 0, 4}, {0, 0, 0, 0}, {0, 0, 0, 0}, {0, 0, 0, 0},
+ {0, 0, 0, 4}, {0, 0, 0, 4}, {0, 0, 0, 4}, {0, 0, 0, 4}, {0, 0, 0, 4},
+ {0, 0, 0, 4}, {0, 0, 0, 4}, {0, 0, 0, 4}, {0, 0, 0, 4}, {0, 0, 0, 4},
+ {0, 0, 0, 4}, {0, 0, 0, 4}, {0, 0, 0, 4}, {0, 0, 0, 4}, {0, 0, 0, 4},
+ {0, 70, 30, 0}, {0, 0, 0, 0}, {0, 0, 0, 4}, {0, 0, 0, 4}, {0, 0, 0, 4},
+ {0, 0, 0, 4}, {0, 0, 0, 4}, {0, 0, 0, 4}, {0, 0, 0, 4}, {0, 0, 0, 4},
+ {0, 0, 0, 4}, {0, 0, 0, 4}, {0, 0, 0, 4}, {0, 0, 0, 4}, {0, 0, 0, 0},
+ {0, 0, 0, 0}, {0, 0, 0, 4}, {0, 0, 0, 4}, {0, 0, 0, 4}, {0, 0, 0, 4},
+ {0, 0, 0, 4}, {0, 0, 0, 4}, {0, 0, 0, 4}, {0, 0, 0, 4}, {0, 0, 0, 4},
+ {0, 0, 0, 4}, {0, 0, 0, 4}, {0, 0, 0, 4}, {0, 0, 0, 4}, {0, 0, 0, 4},
+ {30, 50, 40, 5}, {0, 0, 0, 4}, {0, 0, 0, 4}, {0, 0, 0, 4}, {0, 0, 0, 4},
+ {0, 0, 0, 4}, {0, 0, 0, 4}, {0, 0, 0, 4}, {0, 0, 0, 4}, {0, 0, 0, 4},
+ {0, 0, 0, 4}, {0, 0, 0, 4}, {0, 0, 0, 4}, {0, 0, 0, 4}, {0, 0, 0, 4},
+ {0, 0, 0, 4}, {0, 0, 0, 4}, {0, 0, 0, 4}, {0, 0, 0, 4}, {0, 0, 0, 4},
+ {0, 0, 0, 4}, {0, 0, 0, 4}, {0, 0, 0, 4}, {0, 0, 0, 4}, {0, 0, 0, 4},
+ {0, 0, 0, 4}, {0, 0, 0, 4}, {0, 0, 0, 4}, {0, 0, 0, 4}, {0, 0, 0, 4},
+ {0, 0, 0, 4}, {0, 0, 0, 4}, {0, 0, 0, 4}, {0, 0, 0, 4}, {0, 0, 0, 4},
+ {0, 0, 0, 4}, {0, 0, 0, 4}, {0, 0, 0, 4}, {0, 0, 0, 4}, {0, 0, 0, 4},
+ {0, 0, 0, 4}, {0, 0, 0, 4}, {0, 0, 0, 4}, {0, 0, 0, 4}, {0, 0, 0, 4},
+ {0, 0, 0, 4}, {0, 0, 0, 4}, {0, 0, 0, 4}, {0, 0, 0, 4}, {0, 0, 0, 4},
+ {0, 0, 0, 4}, {0, 0, 0, 4}, {0, 0, 0, 4}, {0, 0, 0, 4}, {0, 0, 0, 4},
+ {0, 0, 0, 4}, {0, 0, 0, 4}, {0, 0, 0, 4}, {0, 0, 0, 4}, {0, 0, 0, 4},
+ {0, 0, 0, 4}, {0, 0, 0, 4}, {0, 0, 0, 4}, {0, 0, 0, 4}, {0, 0, 0, 0},
+ {0, 0, 0, 4}, {0, 0, 0, 4}, {0, 0, 0, 4}, {0, 0, 0, 4}, {0, 0, 0, 4},
+ {0, 0, 0, 4}, {0, 0, 0, 4}, {0, 0, 0, 4}, {0, 0, 0, 0}, {0, 0, 0, 0},
+ {0, 0, 0, 0}, {0, 0, 0, 0}, {0, 0, 0, 4}, {0, 0, 0, 0}, {0, 0, 0, 4},
+ {0, 0, 0, 4}, {0, 0, 0, 4}, {0, 0, 0, 4}, {0, 0, 0, 0}, {0, 0, 0, 4},
+ {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_lib.cpp b/src/d/d_lib.cpp
index 22a375a9f9..882afebe9a 100644
--- a/src/d/d_lib.cpp
+++ b/src/d/d_lib.cpp
@@ -287,7 +287,7 @@ asm void dLib_checkActorInRectangle(fopAc_ac_c* param_0, fopAc_ac_c* param_1, cX
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
-asm void dLib_getExpandSizeFromAramArchive(JKRAramArchive* param_0, char const* param_1) {
+asm u32 dLib_getExpandSizeFromAramArchive(JKRAramArchive* param_0, char const* param_1) {
nofralloc
#include "asm/d/d_lib/dLib_getExpandSizeFromAramArchive__FP14JKRAramArchivePCc.s"
}
diff --git a/src/d/d_model.cpp b/src/d/d_model.cpp
index fb8b968a2f..ce00b54a32 100644
--- a/src/d/d_model.cpp
+++ b/src/d/d_model.cpp
@@ -8,54 +8,6 @@
#include "dolphin/types.h"
//
-// Types:
-//
-
-struct dStage_roomControl_c {
- static u8 mStatus[65792];
-};
-
-struct dMdl_obj_c {};
-
-struct dKy_tevstr_c {};
-
-struct J3DModelData {};
-
-struct dMdl_mng_c {
- /* 8009C6DC */ void search(J3DModelData*, u16, dKy_tevstr_c*);
- /* 8009C724 */ void entry(J3DModelData*, u16, dKy_tevstr_c*);
- /* 8009C8D8 */ void entry(J3DModelData*, u16, int);
- /* 8009C7AC */ void create();
- /* 8009C864 */ void remove();
- /* 8009C8C0 */ void reset();
-
- static u8 m_myObj[4 + 4 /* padding */];
-};
-
-struct dMdl_c {
- /* 8009C4FC */ void draw();
- /* 8009C650 */ void create(J3DModelData*, u16, dKy_tevstr_c*);
- /* 8009C668 */ void entryObj(dMdl_obj_c*);
- /* 8009C808 */ ~dMdl_c();
- /* 8009C930 */ dMdl_c();
-};
-
-struct J3DShape {
- /* 80315300 */ void loadPreDrawSetting() const;
-
- static u8 sOldVcdVatCmd[4];
-};
-
-struct J3DPacket;
-struct J3DDrawBuffer {
- /* 8032548C */ void entryImm(J3DPacket*, u16);
-};
-
-struct J3DPacket {
- /* 80312750 */ bool entry(J3DDrawBuffer*);
-};
-
-//
// Forward References:
//
@@ -84,11 +36,6 @@ extern "C" void __dl__FPv();
extern "C" bool entry__9J3DPacketFP13J3DDrawBuffer();
extern "C" void loadPreDrawSetting__8J3DShapeCFv();
extern "C" void entryImm__13J3DDrawBufferFP9J3DPacketUs();
-extern "C" void PSMTXConcat();
-extern "C" void GXSetChanAmbColor();
-extern "C" void GXSetChanMatColor();
-extern "C" void GXLoadPosMtxImm();
-extern "C" void GXLoadNrmMtxImm();
extern "C" void __destroy_arr();
extern "C" void __construct_array();
extern "C" void _savegpr_27();
@@ -97,144 +44,147 @@ extern "C" void _restgpr_27();
extern "C" void _restgpr_28();
extern "C" extern void* __vt__9J3DPacket[5];
extern "C" u8 mStatus__20dStage_roomControl_c[65792];
-extern "C" extern u8 g_dComIfG_gameInfo[122384];
-extern "C" extern u8 j3dSys[284];
-extern "C" extern u32 g_whiteColor;
extern "C" u8 sOldVcdVatCmd__8J3DShape[4];
//
// Declarations:
//
-/* ############################################################################################## */
-/* 80456B70-80456B78 000010 0004+04 1/1 0/0 0/0 .sbss2 @3621 */
-SECTION_SBSS2 static u8 lit_3621[4 + 4 /* padding */];
-
/* 8009C4FC-8009C650 096E3C 0154+00 1/0 0/0 0/0 .text draw__6dMdl_cFv */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void dMdl_c::draw() {
- nofralloc
-#include "asm/d/d_model/draw__6dMdl_cFv.s"
+void dMdl_c::draw() {
+ j3dSys.setVtxPos(mpModelData->getVtxPosArray());
+ j3dSys.setVtxNrm(mpModelData->getVtxNrmArray());
+ j3dSys.setVtxCol(mpModelData->getVtxColorArray(0));
+ J3DShape::resetVcdVatCache();
+
+ J3DShape* shape = mpModelData->getMaterialNodePointer(mMaterialId)->getShape();
+ mpModelData->getMaterialNodePointer(mMaterialId)->loadSharedDL();
+ shape->loadPreDrawSetting();
+
+ GXColor amb_color = {mpTevstr->field_0x348.r, mpTevstr->field_0x348.g, mpTevstr->field_0x348.b,
+ mpTevstr->field_0x348.a};
+ GXSetChanAmbColor(GX_COLOR0A0, amb_color);
+ GXSetChanMatColor(GX_COLOR0A0, g_whiteColor);
+ dKy_setLight_nowroom_actor(mpTevstr);
+ dKy_setLight_again();
+ dKy_GxFog_tevstr_set(mpTevstr);
+
+ Mtx m;
+ for (dMdl_obj_c* obj = mpModelObj; obj != NULL; obj = obj->mpObj) {
+ PSMTXConcat(j3dSys.getViewMtx(), obj->getMtx(), m);
+ GXLoadPosMtxImm(m, GX_PNMTX0);
+ GXLoadNrmMtxImm(m, GX_PNMTX0);
+ shape->simpleDrawCache();
+ }
+
+ field_0x1a = false;
}
-#pragma pop
/* 8009C650-8009C668 096F90 0018+00 1/1 0/0 1/1 .text
* create__6dMdl_cFP12J3DModelDataUsP12dKy_tevstr_c */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void dMdl_c::create(J3DModelData* param_0, u16 param_1, dKy_tevstr_c* param_2) {
- nofralloc
-#include "asm/d/d_model/create__6dMdl_cFP12J3DModelDataUsP12dKy_tevstr_c.s"
+void dMdl_c::create(J3DModelData* i_modelData, u16 i_materialId, dKy_tevstr_c* i_tevstr) {
+ mpModelData = i_modelData;
+ mMaterialId = i_materialId;
+ mpTevstr = i_tevstr;
+ field_0x1a = false;
}
-#pragma pop
/* 8009C668-8009C6DC 096FA8 0074+00 0/0 0/0 5/5 .text entryObj__6dMdl_cFP10dMdl_obj_c */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void dMdl_c::entryObj(dMdl_obj_c* param_0) {
- nofralloc
-#include "asm/d/d_model/entryObj__6dMdl_cFP10dMdl_obj_c.s"
+void dMdl_c::entryObj(dMdl_obj_c* i_obj) {
+ if (!field_0x1a) {
+ dComIfGd_getListPacket()->entryImm(this, 0);
+ field_0x1a = true;
+ mpModelObj = NULL;
+ }
+
+ i_obj->mpObj = mpModelObj;
+ mpModelObj = i_obj;
}
-#pragma pop
/* 8009C6DC-8009C724 09701C 0048+00 1/1 0/0 0/0 .text
* search__10dMdl_mng_cFP12J3DModelDataUsP12dKy_tevstr_c */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void dMdl_mng_c::search(J3DModelData* param_0, u16 param_1, dKy_tevstr_c* param_2) {
- nofralloc
-#include "asm/d/d_model/search__10dMdl_mng_cFP12J3DModelDataUsP12dKy_tevstr_c.s"
+dMdl_c* dMdl_mng_c::search(J3DModelData* i_modelData, u16 i_materialId, dKy_tevstr_c* i_tevstr) {
+ dMdl_c* model = field_0x0;
+ for (int i = field_0x80; i > 0; i--) {
+ if (model->getModelData() == i_modelData && model->getMaterialId() == i_materialId &&
+ model->getTevstr() == i_tevstr) {
+ return model;
+ }
+ model++;
+ }
+ return NULL;
}
-#pragma pop
/* 8009C724-8009C7AC 097064 0088+00 1/1 0/0 0/0 .text
* entry__10dMdl_mng_cFP12J3DModelDataUsP12dKy_tevstr_c */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void dMdl_mng_c::entry(J3DModelData* param_0, u16 param_1, dKy_tevstr_c* param_2) {
- nofralloc
-#include "asm/d/d_model/entry__10dMdl_mng_cFP12J3DModelDataUsP12dKy_tevstr_c.s"
+dMdl_c* dMdl_mng_c::entry(J3DModelData* i_modelData, u16 i_materialId, dKy_tevstr_c* i_tevstr) {
+ dMdl_c* model = search(i_modelData, i_materialId, i_tevstr);
+
+ if (model == NULL) {
+ if (field_0x80 >= 4) {
+ return NULL;
+ } else {
+ model = &field_0x0[field_0x80];
+ model->create(i_modelData, i_materialId, i_tevstr);
+ field_0x80++;
+ }
+ }
+
+ return model;
}
-#pragma pop
/* ############################################################################################## */
/* 80450FA0-80450FA8 0004A0 0004+04 4/4 0/0 0/0 .sbss m_myObj__10dMdl_mng_c */
-u8 dMdl_mng_c::m_myObj[4 + 4 /* padding */];
+dMdl_mng_c* dMdl_mng_c::m_myObj;
/* 8009C7AC-8009C808 0970EC 005C+00 0/0 1/1 0/0 .text create__10dMdl_mng_cFv */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void dMdl_mng_c::create() {
- nofralloc
-#include "asm/d/d_model/create__10dMdl_mng_cFv.s"
+void dMdl_mng_c::create() {
+ m_myObj = new dMdl_mng_c();
}
-#pragma pop
-
-/* ############################################################################################## */
-/* 803AF978-803AF990 00CA98 0014+04 2/2 0/0 1/1 .data __vt__6dMdl_c */
-SECTION_DATA extern void* __vt__6dMdl_c[5 + 1 /* padding */] = {
- (void*)NULL /* RTTI */,
- (void*)NULL,
- (void*)entry__9J3DPacketFP13J3DDrawBuffer,
- (void*)draw__6dMdl_cFv,
- (void*)__dt__6dMdl_cFv,
- /* padding */
- NULL,
-};
/* 8009C808-8009C864 097148 005C+00 3/2 0/0 0/0 .text __dt__6dMdl_cFv */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm dMdl_c::~dMdl_c() {
- nofralloc
-#include "asm/d/d_model/__dt__6dMdl_cFv.s"
-}
-#pragma pop
+dMdl_c::~dMdl_c() {}
/* 8009C864-8009C8C0 0971A4 005C+00 0/0 1/1 0/0 .text remove__10dMdl_mng_cFv */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void dMdl_mng_c::remove() {
- nofralloc
-#include "asm/d/d_model/remove__10dMdl_mng_cFv.s"
+void dMdl_mng_c::remove() {
+ if (m_myObj != NULL) {
+ delete m_myObj;
+ m_myObj = NULL;
+ }
}
-#pragma pop
/* 8009C8C0-8009C8D8 097200 0018+00 0/0 1/1 0/0 .text reset__10dMdl_mng_cFv */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void dMdl_mng_c::reset() {
- nofralloc
-#include "asm/d/d_model/reset__10dMdl_mng_cFv.s"
+void dMdl_mng_c::reset() {
+ if (m_myObj == NULL) {
+ return;
+ }
+
+ m_myObj->field_0x80 = 0;
}
-#pragma pop
/* 8009C8D8-8009C930 097218 0058+00 0/0 0/0 4/4 .text entry__10dMdl_mng_cFP12J3DModelDataUsi */
+// missing mr instructions
+#ifdef NONMATCHING
+dMdl_c* dMdl_mng_c::entry(J3DModelData* i_modelData, u16 i_materialId, int i_roomNo) {
+ if (m_myObj == NULL) {
+ return NULL;
+ }
+
+ return entry(i_modelData, i_materialId, dComIfGp_roomControl_getTevStr(i_roomNo));
+}
+#else
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
-asm void dMdl_mng_c::entry(J3DModelData* param_0, u16 param_1, int param_2) {
+asm dMdl_c* dMdl_mng_c::entry(J3DModelData* param_0, u16 param_1, int param_2) {
nofralloc
#include "asm/d/d_model/entry__10dMdl_mng_cFP12J3DModelDataUsi.s"
}
#pragma pop
+#endif
/* 8009C930-8009C964 097270 0034+00 1/1 0/0 0/0 .text __ct__6dMdl_cFv */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm dMdl_c::dMdl_c() {
- nofralloc
-#include "asm/d/d_model/__ct__6dMdl_cFv.s"
+dMdl_c::dMdl_c() {
+ mpModelData = NULL;
+ mMaterialId = 0;
}
-#pragma pop
diff --git a/src/d/d_simple_model.cpp b/src/d/d_simple_model.cpp
index 46f79ed3fe..9ad7bf70ef 100644
--- a/src/d/d_simple_model.cpp
+++ b/src/d/d_simple_model.cpp
@@ -4,100 +4,16 @@
//
#include "d/d_simple_model.h"
+#include "d/com/d_com_inf_game.h"
#include "dol2asm.h"
#include "dolphin/types.h"
-
-//
-// Types:
-//
-
-struct modelList_c {};
-
-struct J3DModelData {};
-
-struct diff_model_c {
- /* 80048D60 */ diff_model_c();
- /* 800490EC */ void create(J3DModelData*, int, u8);
- /* 800491F4 */ void getModelData();
- /* 80049210 */ void remove(int);
- /* 80049270 */ void draw();
- /* 80049368 */ void init();
- /* 80049388 */ void isSame(J3DModelData*, int);
- /* 800493FC */ void getRoomNo();
- /* 80049408 */ void insert(modelList_c*);
-};
-
-struct dStage_roomControl_c {
- static u8 mStatus[65792];
-};
-
-struct J3DModel {};
-
-struct dSmplMdl_draw_c {
- /* 80048CB4 */ dSmplMdl_draw_c();
- /* 80048D80 */ ~dSmplMdl_draw_c();
- /* 80048E0C */ void draw();
- /* 80048EBC */ void entry(J3DModel*, int);
- /* 80048F70 */ void addModel(J3DModelData*, int, u8);
- /* 80049058 */ void removeModel(J3DModelData*, int);
-};
-
-struct dKy_tevstr_c {};
-
-struct dScnKy_env_light_c {
- /* 801A4DA0 */ void setLightTevColorType_MAJI(J3DModelData*, dKy_tevstr_c*);
-};
-
-struct JKRSolidHeap {};
-
-//
-// Forward References:
-//
-
-extern "C" static void dSmplMdl_modelUpdateDL__FP8J3DModel();
-extern "C" void __ct__15dSmplMdl_draw_cFv();
-extern "C" void __ct__12diff_model_cFv();
-extern "C" void __dt__15dSmplMdl_draw_cFv();
-extern "C" void draw__15dSmplMdl_draw_cFv();
-extern "C" void entry__15dSmplMdl_draw_cFP8J3DModeli();
-extern "C" void addModel__15dSmplMdl_draw_cFP12J3DModelDataiUc();
-extern "C" void removeModel__15dSmplMdl_draw_cFP12J3DModelDatai();
-extern "C" void create__12diff_model_cFP12J3DModelDataiUc();
-extern "C" void getModelData__12diff_model_cFv();
-extern "C" void remove__12diff_model_cFi();
-extern "C" void draw__12diff_model_cFv();
-extern "C" void init__12diff_model_cFv();
-extern "C" void isSame__12diff_model_cFP12J3DModelDatai();
-extern "C" void getRoomNo__12diff_model_cFv();
-extern "C" void insert__12diff_model_cFP11modelList_c();
+#include "m_Do/m_Do_mtx.h"
//
// External References:
//
-extern "C" void mDoExt_modelUpdateDL__FP8J3DModel();
-extern "C" void mDoExt_createSolidHeapFromGameToCurrent__FUlUl();
-extern "C" void mDoExt_adjustSolidHeapToSystem__FP12JKRSolidHeap();
-extern "C" void mDoExt_destroySolidHeap__FP12JKRSolidHeap();
-extern "C" void mDoExt_restoreCurrentHeap__Fv();
-extern "C" void mDoExt_J3DModel__create__FP12J3DModelDataUlUl();
-extern "C" void setLightTevColorType_MAJI__18dScnKy_env_light_cFP12J3DModelDataP12dKy_tevstr_c();
-extern "C" void __dl__FPv();
-extern "C" void PSMTXCopy();
-extern "C" void __construct_array();
-extern "C" void _savegpr_25();
-extern "C" void _savegpr_26();
-extern "C" void _savegpr_28();
-extern "C" void _savegpr_29();
-extern "C" void _restgpr_25();
-extern "C" void _restgpr_26();
-extern "C" void _restgpr_28();
-extern "C" void _restgpr_29();
-extern "C" extern u8 g_mDoMtx_identity[48 + 24 /* padding */];
-extern "C" u8 mStatus__20dStage_roomControl_c[65792];
-extern "C" extern u8 g_dComIfG_gameInfo[122384];
-extern "C" extern u8 g_env_light[4880];
-extern "C" extern u8 j3dSys[284];
+extern "C" extern dScnKy_env_light_c g_env_light;
//
// Declarations:
@@ -105,181 +21,212 @@ extern "C" extern u8 j3dSys[284];
/* 80048C54-80048CB4 043594 0060+00 1/1 0/0 0/0 .text dSmplMdl_modelUpdateDL__FP8J3DModel
*/
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-static asm void dSmplMdl_modelUpdateDL(J3DModel* param_0) {
- nofralloc
-#include "asm/d/d_simple_model/dSmplMdl_modelUpdateDL__FP8J3DModel.s"
+static void dSmplMdl_modelUpdateDL(J3DModel* i_model) {
+ i_model->calc();
+ i_model->entry();
+ i_model->viewCalc();
}
-#pragma pop
-
-/* ############################################################################################## */
-/* 803A82F8-803A8308 005418 000C+04 2/2 0/0 0/0 .data __vt__15dSmplMdl_draw_c */
-SECTION_DATA extern void* __vt__15dSmplMdl_draw_c[3 + 1 /* padding */] = {
- (void*)NULL /* RTTI */,
- (void*)NULL,
- (void*)__dt__15dSmplMdl_draw_cFv,
- /* padding */
- NULL,
-};
/* 80048CB4-80048D60 0435F4 00AC+00 0/0 1/1 0/0 .text __ct__15dSmplMdl_draw_cFv */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm dSmplMdl_draw_c::dSmplMdl_draw_c() {
- nofralloc
-#include "asm/d/d_simple_model/__ct__15dSmplMdl_draw_cFv.s"
+dSmplMdl_draw_c::dSmplMdl_draw_c() {
+ for (int i = 0; i < 8; i++) {
+ mModel[i].init();
+ }
+
+ for (int i = 0; i < 500; i++) {
+ mList[i].init();
+ }
+
+ mListCount = 0;
}
-#pragma pop
/* 80048D60-80048D80 0436A0 0020+00 1/1 0/0 0/0 .text __ct__12diff_model_cFv */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm diff_model_c::diff_model_c() {
- nofralloc
-#include "asm/d/d_simple_model/__ct__12diff_model_cFv.s"
+diff_model_c::diff_model_c() {
+ mpHeap = NULL;
+ mpModel = NULL;
+ mCreateNum = 0;
+ mpList = NULL;
+ mRoomNo = 63;
}
-#pragma pop
/* 80048D80-80048E0C 0436C0 008C+00 1/0 0/0 0/0 .text __dt__15dSmplMdl_draw_cFv */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm dSmplMdl_draw_c::~dSmplMdl_draw_c() {
- nofralloc
-#include "asm/d/d_simple_model/__dt__15dSmplMdl_draw_cFv.s"
+dSmplMdl_draw_c::~dSmplMdl_draw_c() {
+ for (int i = 0; i < 8; i++) {
+ if (mModel[i].getModel() != NULL) {
+ mModel[i].remove(1);
+ }
+ }
}
-#pragma pop
/* 80048E0C-80048EBC 04374C 00B0+00 0/0 1/1 0/0 .text draw__15dSmplMdl_draw_cFv */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void dSmplMdl_draw_c::draw() {
- nofralloc
-#include "asm/d/d_simple_model/draw__15dSmplMdl_draw_cFv.s"
+void dSmplMdl_draw_c::draw() {
+ for (int i = 0; i < 8; i++) {
+ if (mModel[i].getModel() != NULL) {
+ mModel[i].draw();
+ }
+ }
+ mListCount = 0;
+
+ for (int i = 0; i < 500; i++) {
+ mList[i].init();
+ }
+
+ for (int i = 0; i < 8; i++) {
+ mModel[i].insert(NULL);
+ }
}
-#pragma pop
/* 80048EBC-80048F70 0437FC 00B4+00 0/0 1/1 0/0 .text entry__15dSmplMdl_draw_cFP8J3DModeli */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void dSmplMdl_draw_c::entry(J3DModel* param_0, int param_1) {
- nofralloc
-#include "asm/d/d_simple_model/entry__15dSmplMdl_draw_cFP8J3DModeli.s"
+void dSmplMdl_draw_c::entry(J3DModel* i_model, int roomNo) {
+ if (i_model != NULL && mListCount < 500) {
+ mList[mListCount].set(i_model);
+ for (int i = 0; i < 8; i++) {
+ if (mModel[i].isSame(i_model->getModelData(), roomNo)) {
+ mModel[i].insert(&mList[mListCount]);
+ break;
+ }
+ }
+ mListCount++;
+ }
}
-#pragma pop
/* 80048F70-80049058 0438B0 00E8+00 0/0 1/1 0/0 .text
* addModel__15dSmplMdl_draw_cFP12J3DModelDataiUc */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void dSmplMdl_draw_c::addModel(J3DModelData* param_0, int param_1, u8 param_2) {
- nofralloc
-#include "asm/d/d_simple_model/addModel__15dSmplMdl_draw_cFP12J3DModelDataiUc.s"
+BOOL dSmplMdl_draw_c::addModel(J3DModelData* i_modelData, int roomNo, u8 drawBG) {
+ for (int i = 0; i < 8; i++) {
+ if (mModel[i].isSame(i_modelData, roomNo)) {
+ return mModel[i].create(i_modelData, roomNo, drawBG) ? TRUE : FALSE;
+ }
+ }
+
+ for (int i = 0; i < 8; i++) {
+ if (mModel[i].getModelData() == NULL) {
+ return mModel[i].create(i_modelData, roomNo, drawBG) ? TRUE : FALSE;
+ }
+ }
+
+ return 0;
}
-#pragma pop
/* 80049058-800490EC 043998 0094+00 0/0 1/1 0/0 .text
* removeModel__15dSmplMdl_draw_cFP12J3DModelDatai */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void dSmplMdl_draw_c::removeModel(J3DModelData* param_0, int param_1) {
- nofralloc
-#include "asm/d/d_simple_model/removeModel__15dSmplMdl_draw_cFP12J3DModelDatai.s"
-}
-#pragma pop
+int dSmplMdl_draw_c::removeModel(J3DModelData* i_modelData, int roomNo) {
+ if (i_modelData == NULL) {
+ return 0;
+ }
+
+ for (int i = 0; i < 8; i++) {
+ if (mModel[i].isSame(i_modelData, roomNo)) {
+ mModel[i].remove(0);
+ return 0;
+ }
+ }
-/* ############################################################################################## */
-/* 80451F38-80451F40 000538 0004+04 1/1 0/0 0/0 .sdata2 @3763 */
-SECTION_SDATA2 static f32 lit_3763[1 + 1 /* padding */] = {
- 0.0f,
- /* padding */
- 0.0f,
-};
+ return 0;
+}
/* 800490EC-800491F4 043A2C 0108+00 1/1 0/0 0/0 .text create__12diff_model_cFP12J3DModelDataiUc */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void diff_model_c::create(J3DModelData* param_0, int param_1, u8 param_2) {
- nofralloc
-#include "asm/d/d_simple_model/create__12diff_model_cFP12J3DModelDataiUc.s"
+BOOL diff_model_c::create(J3DModelData* i_modelData, int roomNo, u8 drawBG) {
+ if (mpHeap == NULL) {
+ mpHeap = mDoExt_createSolidHeapFromGameToCurrent(0x2000, 0x20);
+
+ if (mpHeap != NULL) {
+ mpModel = mDoExt_J3DModel__create(i_modelData, 0x80000, 0x11000084);
+
+ if (mpModel == NULL) {
+ remove(1);
+ mDoExt_restoreCurrentHeap();
+ } else {
+ mpModel->setBaseScale(cXyz(0.0f, 0.0f, 0.0f));
+ mpModel->i_setBaseTRMtx(g_mDoMtx_identity);
+ mCreateNum++;
+ mDoExt_adjustSolidHeapToSystem(mpHeap);
+ mRoomNo = roomNo;
+ mDrawBG = drawBG;
+ return 1;
+ }
+ }
+ } else {
+ mCreateNum++;
+ return 1;
+ }
+
+ return 0;
}
-#pragma pop
/* 800491F4-80049210 043B34 001C+00 2/2 0/0 0/0 .text getModelData__12diff_model_cFv */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void diff_model_c::getModelData() {
- nofralloc
-#include "asm/d/d_simple_model/getModelData__12diff_model_cFv.s"
+J3DModelData* diff_model_c::getModelData() {
+ if (mpModel != NULL) {
+ return mpModel->getModelData();
+ }
+ return NULL;
}
-#pragma pop
/* 80049210-80049270 043B50 0060+00 3/3 0/0 0/0 .text remove__12diff_model_cFi */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void diff_model_c::remove(int param_0) {
- nofralloc
-#include "asm/d/d_simple_model/remove__12diff_model_cFi.s"
+void diff_model_c::remove(int param_0) {
+ mCreateNum--;
+
+ if (mCreateNum == 0 || param_0 != 0) {
+ JKRSolidHeap* heap = mpHeap;
+ if (heap != NULL) {
+ mDoExt_destroySolidHeap(heap);
+ init();
+ }
+ }
}
-#pragma pop
/* 80049270-80049368 043BB0 00F8+00 1/1 0/0 0/0 .text draw__12diff_model_cFv */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void diff_model_c::draw() {
- nofralloc
-#include "asm/d/d_simple_model/draw__12diff_model_cFv.s"
+void diff_model_c::draw() {
+ modelList_c* list = mpList;
+ if (list != NULL) {
+ if (dComIfGp_roomControl_checkStatusFlag(getRoomNo(), 0x10)) {
+ dKy_tevstr_c* tevstr = dComIfGp_roomControl_getTevStr(getRoomNo());
+ g_env_light.setLightTevColorType_MAJI(mpModel, tevstr);
+
+ if (mDrawBG == 1) {
+ dComIfGd_setListBG();
+ }
+
+ for (; list != NULL; list = list->field_0x4) {
+ dSmplMdl_modelUpdateDL(list->mpModel);
+ }
+ mDoExt_modelUpdateDL(mpModel);
+ dComIfGd_setList();
+ }
+ }
}
-#pragma pop
/* 80049368-80049388 043CA8 0020+00 2/2 0/0 0/0 .text init__12diff_model_cFv */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void diff_model_c::init() {
- nofralloc
-#include "asm/d/d_simple_model/init__12diff_model_cFv.s"
+void diff_model_c::init() {
+ mpModel = NULL;
+ mpHeap = NULL;
+ mpList = NULL;
+ mCreateNum = 0;
+ mRoomNo = 63;
}
-#pragma pop
/* 80049388-800493FC 043CC8 0074+00 3/3 0/0 0/0 .text isSame__12diff_model_cFP12J3DModelDatai */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void diff_model_c::isSame(J3DModelData* param_0, int param_1) {
- nofralloc
-#include "asm/d/d_simple_model/isSame__12diff_model_cFP12J3DModelDatai.s"
+BOOL diff_model_c::isSame(J3DModelData* i_modelData, int roomNo) {
+ if (mpModel != NULL) {
+ return getModelData() == i_modelData && roomNo == getRoomNo();
+ }
+
+ return FALSE;
}
-#pragma pop
/* 800493FC-80049408 043D3C 000C+00 2/2 0/0 0/0 .text getRoomNo__12diff_model_cFv */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void diff_model_c::getRoomNo() {
- nofralloc
-#include "asm/d/d_simple_model/getRoomNo__12diff_model_cFv.s"
+s32 diff_model_c::getRoomNo() {
+ return mRoomNo;
}
-#pragma pop
/* 80049408-80049420 043D48 0018+00 2/2 0/0 0/0 .text insert__12diff_model_cFP11modelList_c */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void diff_model_c::insert(modelList_c* param_0) {
- nofralloc
-#include "asm/d/d_simple_model/insert__12diff_model_cFP11modelList_c.s"
+void diff_model_c::insert(modelList_c* list) {
+ modelList_c* prev = mpList;
+ mpList = list;
+
+ if (list == NULL) {
+ return;
+ }
+
+ list->field_0x4 = prev;
}
-#pragma pop
diff --git a/src/d/d_stage.cpp b/src/d/d_stage.cpp
index 4d519a0d6b..cdcd6314fe 100644
--- a/src/d/d_stage.cpp
+++ b/src/d/d_stage.cpp
@@ -4,33 +4,20 @@
//
#include "d/d_stage.h"
-#include "d/d_procname.h"
+#include "JSystem/JKernel/JKRAramArchive.h"
+#include "SSystem/SComponent/c_malloc.h"
#include "d/com/d_com_inf_game.h"
+#include "d/com/d_com_static.h"
+#include "d/d_procname.h"
+#include "d/save/d_save_HIO.h"
#include "dol2asm.h"
#include "dolphin/types.h"
+#include "f_op/f_op_kankyo_mng.h"
+#include "f_op/f_op_msg_mng.h"
#include "m_Do/m_Do_ext.h"
#include "m_Do/m_Do_reset.h"
//
-// Types:
-//
-
-struct daSus_c {
- /* 80031434 */ void check(s8, cXyz const&);
- /* 800315A4 */ void execute();
-};
-
-struct dSvBit_HIO_c {
- /* 8025C1F8 */ void init();
-};
-
-struct cMl {
- /* 80263228 */ void memalignB(int, u32);
-};
-
-struct JKRAramArchive {};
-
-//
// Forward References:
//
@@ -411,13 +398,17 @@ extern "C" void _restgpr_27();
extern "C" void _restgpr_28();
extern "C" void _restgpr_29();
extern "C" extern J3DLightInfo const j3dDefaultLightInfo;
-extern "C" extern u8 g_save_bit_HIO[1184 + 4 /* padding */];
+extern "C" extern dSvBit_HIO_c g_save_bit_HIO;
extern "C" u8 mResetData__6mDoRst[4 + 4 /* padding */];
//
// Declarations:
//
+inline u8 dStage_stagInfo_GetSaveTbl(stage_stag_info_class* param_0) {
+ return param_0->field_0x09 >> 1 & 0x1f;
+}
+
inline dStage_stageDt_c* dComIfGp_getStage() {
return &g_dComIfG_gameInfo.play.getStage();
}
@@ -452,16 +443,14 @@ dStage_KeepDoorInfo* dStage_GetKeepDoorInfo() {
return &DoorInfo;
}
-static u8 dStage_isBossStage(dStage_dt_c* param_0) {
- u8 isBossStg;
- stage_stag_info_class* pstag = param_0->getStagInfo();
+static u8 dStage_isBossStage(dStage_dt_c* stageDt) {
+ stage_stag_info_class* pstag = stageDt->getStagInfo();
- if (pstag == 0) {
- isBossStg = false;
- } else {
- isBossStg = dStage_stagInfo_GetSTType(pstag) == 3;
+ if (pstag == NULL) {
+ return false;
}
- return isBossStg;
+
+ return dStage_stagInfo_GetSTType(pstag) == 3;
}
/* 80023F50-80023F84 01E890 0034+00 1/1 0/0 0/1 .text dStage_KeepDoorInfoInit__FP11dStage_dt_c */
@@ -482,13 +471,6 @@ static asm void dStage_KeepDoorInfoProc(dStage_dt_c* param_0, stage_tgsc_class*
}
#pragma pop
-/* ############################################################################################## */
-/* 803F5778-803F5784 022498 000C+00 0/1 0/0 0/0 .bss @3981 */
-// #pragma push
-// #pragma force_active on
-// static u8 lit_3981[12];
-// #pragma pop
-
/* 803F5784-803F6088 0224A4 0904+00 3/4 0/0 0/0 .bss l_RoomKeepDoorInfo */
static dStage_KeepDoorInfo l_RoomKeepDoorInfo;
@@ -513,23 +495,11 @@ static asm void dStage_RoomKeepDoorInfoProc(dStage_dt_c* param_0, stage_tgsc_cla
/* 80024174-8002419C 01EAB4 0028+00 2/0 0/0 0/0 .text
* dStage_RoomKeepDoorInit__FP11dStage_dt_cPviPv */
-#ifdef NONMATCHING
-static int dStage_RoomKeepDoorInit(dStage_dt_c* param_0, void* param_1, int param_2,
+static int dStage_RoomKeepDoorInit(dStage_dt_c* stageDt, void* i_data, int entryNum,
void* param_3) {
- dStage_RoomKeepDoorInfoProc(param_0, (stage_tgsc_class*)param_1);
+ dStage_RoomKeepDoorInfoProc(stageDt, (stage_tgsc_class*)((char*)i_data + 4));
return 1;
}
-#else
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-static asm int dStage_RoomKeepDoorInit(dStage_dt_c* param_0, void* param_1, int param_2,
- void* param_3) {
- nofralloc
-#include "asm/d/d_stage/dStage_RoomKeepDoorInit__FP11dStage_dt_cPviPv.s"
-}
-#pragma pop
-#endif
void dStage_startStage_c::set(const char* i_Name, s8 i_RoomNo, s16 i_Point, s8 i_Layer) {
strcpy(mName, i_Name);
@@ -538,14 +508,6 @@ void dStage_startStage_c::set(const char* i_Name, s8 i_RoomNo, s16 i_Point, s8 i
mLayer = i_Layer;
}
-/* ############################################################################################## */
-/* 80378A50-80378A50 0050B0 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
-#pragma push
-#pragma force_active on
-SECTION_DEAD static char const* const stringBase_80378ADD = "name.bin";
-SECTION_DEAD static char const* const stringBase_80378AE6 = "bank.bin";
-#pragma pop
-
/* 803F6094-80406194 022DB4 10100+00 12/12 31/31 16/16 .bss mStatus__20dStage_roomControl_c */
dStage_roomStatus_c dStage_roomControl_c::mStatus[0x40];
@@ -557,19 +519,16 @@ u32 dStage_roomControl_c::mProcID;
/* 80450D64-80450D68 -00001 0004+00 6/6 94/94 101/101 .sbss None */
/* 80450D64 0001+00 data_80450D64 None */
-/* 80450D65 0001+00 data_80450D65 None */
-/* 80450D66 0001+00 data_80450D66 None */
-/* 80450D67 0001+00 data_80450D67 None */
s8 struct_80450D64;
-#pragma push
-#pragma force_active on
-s8 sLastStayNo;
+/* 80450D65 0001+00 data_80450D65 None */
+s8 gLastStayNo;
-s8 sNextStayNo;
-#pragma pop
+/* 80450D66 0001+00 data_80450D66 None */
+s8 gNextStayNo;
-s8 sTimePass;
+/* 80450D67 0001+00 data_80450D67 None */
+s8 gTimePass;
/* 80450D68-80450D6C 000268 0004+00 2/2 2/2 1/1 .sbss None */
u8 data_80450D68;
@@ -581,38 +540,48 @@ char* dStage_roomControl_c::mArcBankName;
char* dStage_roomControl_c::mArcBankData;
/* 800241E8-80024338 01EB28 0150+00 1/1 0/0 0/4 .text init__20dStage_roomControl_cFv */
-#ifdef NONMATCHING
void dStage_roomControl_c::init() {
- if (-1 < dComIfGp_getStartStagePoint()) {
- dComIfGs_initZone();
+ struct_80450D64 = -1;
+ gLastStayNo = -1;
+ gNextStayNo = -1;
+ data_80450D68 = 0;
+ data_804505F0 = -1;
+
+ if (dComIfGp_getStartStagePoint() >= 0 || dComIfGp_getStartStagePoint() == -4) {
+ initZone();
}
- dStage_roomStatus_c* status = &mStatus[0];
-
+ dStage_roomStatus_c* status = mStatus;
for (int i = 0; i < 0x40; i++) {
status->mRoomDt.init();
status->mRoomDt.initFileList2();
- status->unk_0x3F4[0] = 0;
- status->unk_0x3F4[1] = 0;
+ setStatusFlag(i, 0);
+ status->mDraw = false;
+
+ if (status->mZoneNo >= 0) {
+ dComIfGs_clearRoomSwitch(status->mZoneNo);
+ dComIfGs_clearRoomItem(status->mZoneNo);
+ }
+
+ status->mMemBlockID = -1;
+ status->field_0x400 = 0;
+ status++;
+ }
+
+ mArcBankName = (char*)dComIfG_getStageRes("name.bin");
+ mArcBankData = (char*)dComIfG_getStageRes("bank.bin");
+
+ if (mArcBankName == NULL) {
+ mArcBankData = NULL;
}
}
-#else
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void dStage_roomControl_c::init() {
- nofralloc
-#include "asm/d/d_stage/init__20dStage_roomControl_cFv.s"
-}
-#pragma pop
-#endif
/* 80024338-80024384 01EC78 004C+00 1/1 1/1 0/7 .text initZone__20dStage_roomControl_cFv
*/
void dStage_roomControl_c::initZone() {
dComIfGs_initZone();
- dStage_roomStatus_c* status = &mStatus[0];
+ dStage_roomStatus_c* status = mStatus;
for (int i = 0; i < 0x40; i++) {
status->mZoneNo = -1;
status++;
@@ -1568,10 +1537,10 @@ SECTION_DATA static FuncTable l_layerFuncTable_5131[2] = {
};
/* 803A6638-803A6644 -00001 000C+00 1/1 0/0 0/0 .data l_funcTable$5136 */
-SECTION_DATA static FuncTable l_funcTable_5136 = {"STAG", dStage_stagInfoInit};
+SECTION_DATA static FuncTable l_funcTable_5136[1] = {"STAG", dStage_stagInfoInit};
/* 803A6644-803A6650 -00001 000C+00 1/1 0/0 0/0 .data l_layerFuncTableA$5141 */
-SECTION_DATA static FuncTable l_layerFuncTableA = {"SON0", dStage_soundInfoInit};
+SECTION_DATA static FuncTable l_layerFuncTableA[1] = {"SON0", dStage_soundInfoInit};
/* 803A6650-803A668C -00001 003C+00 1/1 0/0 0/0 .data l_envLayerFuncTable$5142 */
SECTION_DATA static FuncTable l_envLayerFuncTable[5] = {
@@ -1636,7 +1605,6 @@ SECTION_DATA JKRExpHeap* dStage_roomControl_c::mMemoryBlock[19] = {
};
/* 800243B0-800243E8 01ECF0 0038+00 0/0 3/3 1/1 .text getMemoryBlock__20dStage_roomControl_cFi */
-#ifdef NONMATCHING
JKRExpHeap* dStage_roomControl_c::getMemoryBlock(int i_roomNo) {
int blockId = getMemoryBlockID(i_roomNo);
@@ -1645,44 +1613,24 @@ JKRExpHeap* dStage_roomControl_c::getMemoryBlock(int i_roomNo) {
}
return mMemoryBlock[blockId];
}
-#else
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm JKRExpHeap* dStage_roomControl_c::getMemoryBlock(int param_0) {
- nofralloc
-#include "asm/d/d_stage/getMemoryBlock__20dStage_roomControl_cFi.s"
-}
-#pragma pop
-#endif
/* 800243E8-80024424 01ED28 003C+00 2/2 0/0 0/0 .text setStayNo__20dStage_roomControl_cFi
*/
-#ifdef NONMATCHING
-void dStage_roomControl_c::setStayNo(int param_0) {
- sLastStayNo = struct_80450D64;
- struct_80450D64 = param_0;
+void dStage_roomControl_c::setStayNo(int stayNo) {
+ gLastStayNo = struct_80450D64;
+ struct_80450D64 = stayNo;
+ gNextStayNo = struct_80450D64;
- if (struct_80450D64 > -1) {
- sNextStayNo = struct_80450D64;
+ if (struct_80450D64 < 0) {
+ return;
}
- sNextStayNo = struct_80450D64;
- mStatus[struct_80450D64].unk_0x3F4[1] = 1;
-}
-#else
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void dStage_roomControl_c::setStayNo(int param_0) {
- nofralloc
-#include "asm/d/d_stage/setStayNo__20dStage_roomControl_cFi.s"
+
+ onStatusDraw(struct_80450D64);
}
-#pragma pop
-#endif
/* 80024424-8002442C 01ED64 0008+00 0/0 0/0 1/1 .text setNextStayNo__20dStage_roomControl_cFi */
void dStage_roomControl_c::setNextStayNo(int nextStayNo) {
- sNextStayNo = nextStayNo;
+ gNextStayNo = nextStayNo;
}
static int stayRoomCheck(int param_0, u8* param_1, int param_2) {
@@ -1696,14 +1644,21 @@ static int stayRoomCheck(int param_0, u8* param_1, int param_2) {
}
/* 80024460-800244E8 01EDA0 0088+00 1/1 0/0 0/0 .text createRoomScene__Fi */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-static asm void createRoomScene(int param_0) {
- nofralloc
-#include "asm/d/d_stage/createRoomScene__Fi.s"
+static int createRoomScene(int param_0) {
+ int* ptr = (int*)JKRHeap::alloc(4, -4, NULL);
+
+ if (ptr == NULL) {
+ return 0;
+ }
+ *ptr = param_0;
+
+ if (!fopScnM_CreateReq(PROC_ROOM_SCENE, 0x7FFF, 0, (u32)ptr)) {
+ JKRHeap::free(ptr, NULL);
+ return 0;
+ }
+
+ return 1;
}
-#pragma pop
/* 800244E8-8002451C 01EE28 0034+00 0/0 0/0 8/13 .text checkRoomDisp__20dStage_roomControl_cCFi */
bool dStage_roomControl_c::checkRoomDisp(int i_roomNo) const {
@@ -1717,32 +1672,42 @@ bool dStage_roomControl_c::checkRoomDisp(int i_roomNo) const {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
-asm void dStage_roomControl_c::loadRoom(int param_0, u8* param_1, bool param_2) {
+asm int dStage_roomControl_c::loadRoom(int param_0, u8* param_1, bool param_2) {
nofralloc
#include "asm/d/d_stage/loadRoom__20dStage_roomControl_cFiPUcb.s"
}
#pragma pop
/* 8002471C-8002483C 01F05C 0120+00 1/1 0/0 0/3 .text zoneCountCheck__20dStage_roomControl_cCFi */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void dStage_roomControl_c::zoneCountCheck(int param_0) const {
- nofralloc
-#include "asm/d/d_stage/zoneCountCheck__20dStage_roomControl_cCFi.s"
+void dStage_roomControl_c::zoneCountCheck(int stayNo) const {
+ dStage_roomStatus_c* status = mStatus;
+ for (int i = 0; i < 0x40; i++) {
+ if (status->mZoneNo >= 0 && status->mZoneCount > 0) {
+ dComIfGs_clearRoomSwitch(status->mZoneNo);
+ dComIfGs_clearRoomItem(status->mZoneNo);
+
+ if (dStage_stagInfo_GetSTType(dComIfGp_getStage()->getStagInfo()) != 0 &&
+ stayNo != gLastStayNo) {
+ if (--status->mZoneCount == 0) {
+ dComIfGs_removeZone(status->mZoneNo);
+ status->mZoneNo = -1;
+ }
+ }
+ }
+ status++;
+ }
+ setStayNo(stayNo);
}
-#pragma pop
stage_stag_info_class* dStage_stageDt_c::getStagInfo() const {
return mStagInfo;
}
-JKRExpHeap* dStage_roomControl_c::createMemoryBlock(int param_0, u32 param_1) {
- if (mMemoryBlock[param_0] == NULL) {
- JKRHeap* tmp = mDoExt_getArchiveHeap();
- mMemoryBlock[param_0] = JKRExpHeap::create(param_1, tmp, false);
+JKRExpHeap* dStage_roomControl_c::createMemoryBlock(int index, u32 param_1) {
+ if (mMemoryBlock[index] == NULL) {
+ mMemoryBlock[index] = JKRExpHeap::create(param_1, mDoExt_getArchiveHeap(), false);
}
- return mMemoryBlock[param_0];
+ return mMemoryBlock[index];
}
void dStage_roomControl_c::destroyMemoryBlock() {
@@ -1780,8 +1745,8 @@ SECTION_DATA char dStage_roomControl_c::mArcBank[32][10] = {
};
/* 8002490C-80024940 01F24C 0034+00 1/1 1/1 0/2 .text setArcBank__20dStage_roomControl_cFiPCc */
-void dStage_roomControl_c::setArcBank(int i_bank, char const* param_1) {
- strncpy(&mArcBank[i_bank][0], param_1, 9);
+void dStage_roomControl_c::setArcBank(int i_bank, char const* bankName) {
+ strncpy(&mArcBank[i_bank][0], bankName, 9);
}
/* 80024940-80024954 01F280 0014+00 1/1 1/1 0/1 .text getArcBank__20dStage_roomControl_cFi */
@@ -1802,14 +1767,14 @@ SECTION_DEAD static char const* const stringBase_80378AF0 =
*/
// regalloc
#ifdef NONMATCHING
-int dStage_roomControl_c::resetArchiveBank(int i_bank) {
+bool dStage_roomControl_c::resetArchiveBank(int i_bank) {
for (; i_bank < 32; i_bank++) {
char* bank = getArcBank(i_bank);
if (strcmp(bank, "")) {
s32 syncStatus = dComIfG_syncObjectRes(bank);
if (syncStatus < 0) {
- OSReport_Error("Bank[%d] : %s.arc Sync Read Error !!\n", bank, i_bank);
+ OSReport_Error("Bank[%d] : %s.arc Sync Read Error !!\n", i_bank, bank);
} else {
if (syncStatus > 0) {
return 0;
@@ -1834,60 +1799,59 @@ asm bool dStage_roomControl_c::resetArchiveBank(int param_0) {
/* 80024A34-80024ABC 01F374 0088+00 1/1 0/0 0/2 .text
* create__Q220dStage_roomControl_c9roomDzs_cFUc */
-#ifdef NONMATCHING
-void dStage_roomControl_c::roomDzs_c::create(u8 param_0) {
- JKRExpHeap* archeap = mDoExt_getArchiveHeap();
- JKRHeap** heap = new (archeap, -4) JKRHeap*[param_0];
- m_dzs = heap;
-
- JKRHeap* heap2 = (JKRHeap*)m_dzs;
-
- if (heap2 != NULL) {
- for (u8 i = 0; i < param_0; i++) {
- heap2 = heap[i];
+void dStage_roomControl_c::roomDzs_c::create(u8 i_num) {
+ m_dzs = new (mDoExt_getArchiveHeap(), -4) void*[i_num];
+
+ if (m_dzs != NULL) {
+ u32** dzs = (u32**)m_dzs;
+ for (u8 i = 0; i < i_num; i++) {
+ *dzs = NULL;
+ dzs++;
}
- m_num = param_0;
+ m_num = i_num;
}
}
-#else
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void dStage_roomControl_c::roomDzs_c::create(u8 param_0) {
- nofralloc
-#include "asm/d/d_stage/create__Q220dStage_roomControl_c9roomDzs_cFUc.s"
-}
-#pragma pop
-#endif
/* 80024ABC-80024B44 01F3FC 0088+00 1/1 0/0 0/0 .text remove__Q220dStage_roomControl_c9roomDzs_cFv
*/
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void dStage_roomControl_c::roomDzs_c::remove() {
- nofralloc
-#include "asm/d/d_stage/remove__Q220dStage_roomControl_c9roomDzs_cFv.s"
+void dStage_roomControl_c::roomDzs_c::remove() {
+ if (m_num != 0) {
+ u32** dzs = (u32**)m_dzs;
+ for (u8 i = 0; i < m_num; i++) {
+ if (*dzs != NULL) {
+ mDoExt_getArchiveHeap()->free(*dzs);
+ }
+ dzs++;
+ }
+ delete[] m_dzs;
+ m_num = 0;
+ }
}
-#pragma pop
-
-/* ############################################################################################## */
-/* 80378A50-80378A50 0050B0 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
-#pragma push
-#pragma force_active on
-SECTION_DEAD static char const* const stringBase_80378B16 = "%s/room%d.dzs";
-#pragma pop
/* 80024B44-80024C1C 01F484 00D8+00 1/1 0/0 0/1 .text add__Q220dStage_roomControl_c9roomDzs_cFUcUc
*/
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void dStage_roomControl_c::roomDzs_c::add(u8 param_0, u8 param_1) {
- nofralloc
-#include "asm/d/d_stage/add__Q220dStage_roomControl_c9roomDzs_cFUcUc.s"
+void* dStage_roomControl_c::roomDzs_c::add(u8 i_num, u8 roomNo) {
+ if (m_num == 0) {
+ return NULL;
+ }
+
+ void** dzs = m_dzs;
+ if (dzs[i_num] == NULL) {
+ char dzsName[20];
+ sprintf(dzsName, "%s/room%d.dzs", dComIfGp_getStartStageName(), roomNo);
+
+ u32 expandSize =
+ dLib_getExpandSizeFromAramArchive(dComIfGp_getFieldMapArchive2(), (const char*)dzsName);
+ void* dzs_buf = mDoExt_getArchiveHeap()->alloc(expandSize, -0x20);
+ dzs[i_num] = dzs_buf;
+
+ if (dzs[i_num] != NULL) {
+ dComIfGp_getFieldMapArchive2()->readResource(dzs[i_num], expandSize, dzsName);
+ }
+ }
+
+ return dzs[i_num];
}
-#pragma pop
void dStage_stageDt_c::init() {
mCamera = NULL;
@@ -1954,18 +1918,24 @@ void dStage_roomDt_c::init() {
}
/* 80024D10-80024DB0 01F650 00A0+00 1/1 0/0 0/0 .text dStage_roomInit__Fi */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-static asm void dStage_roomInit(int param_0) {
- nofralloc
-#include "asm/d/d_stage/dStage_roomInit__Fi.s"
+static int dStage_roomInit(int stayNo) {
+ dComIfGp_roomControl_setStayNo(stayNo);
+
+ roomRead_class* room = dComIfGp_getStageRoom();
+ if (room != NULL && room->field_0x0 > stayNo) {
+ int time_pass = dStage_roomRead_dt_c_GetTimePass(*room->field_0x4[stayNo]);
+ dComIfGp_roomControl_setTimePass(time_pass);
+
+ return dComIfGp_roomControl_loadRoom(room->field_0x4[stayNo]->field_0x0,
+ room->field_0x4[stayNo]->field_0x4, true);
+ }
+
+ return 1;
}
-#pragma pop
/* 80024DB0-80024DB8 01F6F0 0008+00 2/2 0/0 0/0 .text SetTimePass__20dStage_roomControl_cFi */
void dStage_roomControl_c::SetTimePass(int isPassing) {
- sTimePass = isPassing;
+ gTimePass = isPassing;
}
roomRead_class* dStage_stageDt_c::getRoom() const {
@@ -2023,8 +1993,7 @@ static void dStage_actorCreate(stage_actor_data_class* param_0, fopAcM_prm_class
param_1->mSubtype = actorInf->mSubtype;
s16 objName = actorInf->mProcName;
- // "hider" actor
- if (objName == 0x30F) {
+ if (objName == PROC_SUSPEND) {
actor = (fopAc_ac_c*)fopAcM_FastCreate(objName, 0, NULL, param_1);
if (actor != NULL) {
@@ -2037,25 +2006,20 @@ static void dStage_actorCreate(stage_actor_data_class* param_0, fopAcM_prm_class
}
}
-/* ############################################################################################## */
-/* 80451C90-80451C94 000290 0004+00 2/2 0/0 0/0 .sdata2 @4270 */
-SECTION_SDATA2 static u8 lit_4270[4] = {
- 0x00,
- 0x00,
- 0x00,
- 0x00,
-};
-
/* 80024F98-80025004 01F8D8 006C+00 1/1 0/0 0/0 .text
* dStage_cameraCreate__FP24stage_camera2_data_classii */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-static asm void dStage_cameraCreate(stage_camera2_data_class* param_0, int param_1, int param_2) {
- nofralloc
-#include "asm/d/d_stage/dStage_cameraCreate__FP24stage_camera2_data_classii.s"
+static int dStage_cameraCreate(stage_camera2_data_class* camera, int i_cameraIdx, int param_2) {
+ camera = static_cast<stage_camera2_data_class*>(cMl::memalignB(-4, 0x18));
+
+ if (camera != NULL) {
+ camera->field_0x4 = 0.0f;
+ camera->field_0x8 = 0.0f;
+ camera->field_0x4 = 0.0f;
+ camera->field_0x0 = param_2;
+ fopCamM_Create(i_cameraIdx, PROC_CAMERA, camera);
+ }
+ return 1;
}
-#pragma pop
stage_actor_class* dStage_roomDt_c::getPlayer() const {
return mPlayer;
@@ -2065,52 +2029,96 @@ stage_actor_class* dStage_stageDt_c::getPlayer() const {
return mPlayer;
}
-/* ############################################################################################## */
-/* 80378A50-80378A50 0050B0 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
-#pragma push
-#pragma force_active on
-SECTION_DEAD static char const* const stringBase_80378B2B = "S_MV000";
-#pragma pop
-
/* 80025014-800252B8 01F954 02A4+00 2/0 0/0 0/0 .text dStage_playerInit__FP11dStage_dt_cPviPv */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-static asm int dStage_playerInit(dStage_dt_c* param_0, void* param_1, int param_2, void* param_3) {
- nofralloc
-#include "asm/d/d_stage/dStage_playerInit__FP11dStage_dt_cPviPv.s"
+static int dStage_playerInit(dStage_dt_c* stageDt, void* i_data, int num, void* param_3) {
+ stage_actor_class* player = (stage_actor_class*)((int*)i_data + 1);
+ stage_actor_data_class* player_data = player->mEntries;
+ stageDt->setPlayer(player);
+ stageDt->setPlayerNum(num);
+
+ if (dComIfGp_getPlayer(0) != NULL || dComIfGp_getStartStageRoomNo() != stageDt->getRoomNo()) {
+ return 1;
+ }
+
+ fopAcM_prm_class* appen = fopAcM_CreateAppend();
+
+ int point = dComIfGp_getStartStagePoint();
+ u32 roomParam = dComIfGs_getRestartRoomParam();
+ if (point == -2 || point == -3) {
+ appen->mParameter = dComIfGs_getTurnRestartParam();
+ appen->mPos = dComIfGs_getTurnRestartPos();
+ appen->mAngle.set(0, dComIfGs_getTurnRestartAngleY(), -0x100);
+ } else if (point == -1) {
+ appen->mParameter = roomParam;
+ appen->mPos = dComIfGs_getRestartRoomPos();
+ appen->mAngle.set(0, dComIfGs_getRestartRoomAngleY(), -0x100);
+ } else {
+ int unk;
+ if (point == -4) {
+ unk = dComIfGs_getTurnRestartAngleY();
+ } else {
+ unk = point;
+ }
+
+ for (int i = 0; i < num; i++) {
+ if ((u8)player_data->mAngle.z == unk) {
+ break;
+ }
+ player_data++;
+ }
+
+ appen->mParameter = player_data->mParameter;
+ appen->mPos = player_data->mSpawnPos;
+ appen->mAngle = player_data->mAngle;
+ appen->mEnemyNo = player_data->mEnemyNo;
+
+ if (point == -4) {
+ appen->mParameter = dComIfGs_getTurnRestartParam();
+ } else if (roomParam != 0) {
+ appen->mParameter = (roomParam & 0xFFFFFFC0) | (dComIfGp_getStartStageRoomNo() & 0x3F);
+ } else if (roomParam == 0) {
+ appen->mParameter =
+ (appen->mParameter & 0xFFFFFFC0) | (dComIfGp_getStartStageRoomNo() & 0x3F);
+ }
+ }
+
+ dComIfGs_setRestartRoomParam(0);
+ appen->mEnemyNo = 0xFFFF;
+ appen->mRoomNo = -1;
+
+ dComIfGp_getStartStage()->set(dComIfGp_getStartStageName(), appen->mParameter & 0x3F,
+ dComIfGp_getStartStagePoint(), dComIfGp_getStartStageLayer());
+ dStage_actorCreate(player_data, appen);
+
+ base_process_class* ac =
+ (base_process_class*)fopScnM_SearchByID(dStage_roomControl_c::getProcID());
+ if (ac->mProcName == PROC_PLAY_SCENE) {
+ if (strcmp(dComIfGp_getStartStageName(), "S_MV000")) {
+ fopMsgM_Create(PROC_METER2, NULL, NULL);
+ }
+ }
+
+ return 1;
}
-#pragma pop
/* 800252B8-80025308 01FBF8 0050+00 1/0 0/0 0/0 .text dStage_cameraInit__FP11dStage_dt_cPviPv */
-#ifdef NONMATCHING
-static int dStage_cameraInit(dStage_dt_c* param_0, void* param_1, int param_2, void* param_3) {
- unkTest* tmp = (unkTest*)param_1;
- param_0->setCamera((stage_camera_class*)tmp->field_0x4);
- dStage_cameraCreate((stage_camera2_data_class*)tmp->field_0x4, 0, 0);
+static int dStage_cameraInit(dStage_dt_c* stageDt, void* i_data, int param_2, void* param_3) {
+ stage_camera_class* camera = (stage_camera_class*)((char*)i_data + 4);
+ stageDt->setCamera(camera);
+ dStage_cameraCreate(camera->field_0x4, 0, 0);
return 1;
}
-#else
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-static asm int dStage_cameraInit(dStage_dt_c* param_0, void* param_1, int param_2, void* param_3) {
- nofralloc
-#include "asm/d/d_stage/dStage_cameraInit__FP11dStage_dt_cPviPv.s"
-}
-#pragma pop
-#endif
/* 80025308-8002533C 01FC48 0034+00 1/0 0/0 0/0 .text dStage_RoomCameraInit__FP11dStage_dt_cPviPv
*/
-static int dStage_RoomCameraInit(dStage_dt_c* i_stage, void* param_1, int param_2, void* param_3) {
- i_stage->setCamera((stage_camera_class*)param_1 + 4);
+static int dStage_RoomCameraInit(dStage_dt_c* i_stage, void* i_data, int param_2, void* param_3) {
+ i_stage->setCamera((stage_camera_class*)((char*)i_data + 4));
return 1;
}
/* 8002533C-80025370 01FC7C 0034+00 2/0 0/0 0/0 .text dStage_arrowInit__FP11dStage_dt_cPviPv */
-static int dStage_arrowInit(dStage_dt_c* i_stage, void* param_1, int param_2, void* param_3) {
- i_stage->setArrow((stage_arrow_class*)param_1 + 4);
+static int dStage_arrowInit(dStage_dt_c* i_stage, void* i_data, int param_2, void* param_3) {
+ i_stage->setArrow((stage_arrow_class*)((char*)i_data + 4));
return 1;
}
@@ -2119,89 +2127,68 @@ static int dStage_arrowInit(dStage_dt_c* i_stage, void* param_1, int param_2, vo
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
-asm int dStage_roomDt_c::getMapInfo2(int param_0) const {
+asm stage_map_info_class* dStage_roomDt_c::getMapInfo2(int param_0) const {
nofralloc
#include "asm/d/d_stage/getMapInfo2__15dStage_roomDt_cCFi.s"
}
#pragma pop
/* 800253FC-80025404 01FD3C 0008+00 1/0 0/0 0/0 .text getMapInfoBase__15dStage_roomDt_cCFv */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm stage_map_info_dummy_class* dStage_roomDt_c::getMapInfoBase() const {
- nofralloc
-#include "asm/d/d_stage/getMapInfoBase__15dStage_roomDt_cCFv.s"
+stage_map_info_dummy_class* dStage_roomDt_c::getMapInfoBase() const {
+ return mMapInfoBase;
}
-#pragma pop
/* 80025404-80025490 01FD44 008C+00 1/0 0/0 0/0 .text getMapInfo2__16dStage_stageDt_cCFi
*/
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
-asm int dStage_stageDt_c::getMapInfo2(int param_0) const {
+asm stage_map_info_class* dStage_stageDt_c::getMapInfo2(int param_0) const {
nofralloc
#include "asm/d/d_stage/getMapInfo2__16dStage_stageDt_cCFi.s"
}
#pragma pop
/* 80025490-80025498 01FDD0 0008+00 1/0 0/0 0/0 .text getMapInfoBase__16dStage_stageDt_cCFv */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm stage_map_info_dummy_class* dStage_stageDt_c::getMapInfoBase() const {
- nofralloc
-#include "asm/d/d_stage/getMapInfoBase__16dStage_stageDt_cCFv.s"
+stage_map_info_dummy_class* dStage_stageDt_c::getMapInfoBase() const {
+ return mMapInfoBase;
}
-#pragma pop
/* 80025498-800254CC 01FDD8 0034+00 1/0 0/0 0/0 .text dStage_paletteInfoInit__FP11dStage_dt_cPviPv
*/
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-static asm int dStage_paletteInfoInit(dStage_dt_c* param_0, void* param_1, int param_2,
- void* param_3) {
- nofralloc
-#include "asm/d/d_stage/dStage_paletteInfoInit__FP11dStage_dt_cPviPv.s"
+static int dStage_paletteInfoInit(dStage_dt_c* stageDt, void* i_data, int param_2, void* param_3) {
+ dStage_nodeHeader* pal_info = (dStage_nodeHeader*)(i_data);
+ stageDt->setPaletteInfo((stage_palette_info_class*)pal_info->m_offset);
+ return 1;
}
-#pragma pop
/* 800254CC-80025500 01FE0C 0034+00 1/0 0/0 0/1 .text dStage_pselectInfoInit__FP11dStage_dt_cPviPv
*/
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-static asm int dStage_pselectInfoInit(dStage_dt_c* param_0, void* param_1, int param_2,
- void* param_3) {
- nofralloc
-#include "asm/d/d_stage/dStage_pselectInfoInit__FP11dStage_dt_cPviPv.s"
+static int dStage_pselectInfoInit(dStage_dt_c* stageDt, void* i_data, int param_2, void* param_3) {
+ dStage_nodeHeader* psel_info = (dStage_nodeHeader*)(i_data);
+ stageDt->setPselectInfo((stage_pselect_info_class*)psel_info->m_offset);
+ return 1;
}
-#pragma pop
/* 80025500-80025534 01FE40 0034+00 1/0 0/0 0/1 .text dStage_envrInfoInit__FP11dStage_dt_cPviPv */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-static asm int dStage_envrInfoInit(dStage_dt_c* param_0, void* param_1, int param_2,
- void* param_3) {
- nofralloc
-#include "asm/d/d_stage/dStage_envrInfoInit__FP11dStage_dt_cPviPv.s"
+static int dStage_envrInfoInit(dStage_dt_c* stageDt, void* i_data, int param_2, void* param_3) {
+ dStage_nodeHeader* envr_info = (dStage_nodeHeader*)(i_data);
+ stageDt->setEnvrInfo((stage_envr_info_class*)envr_info->m_offset);
+ return 1;
}
-#pragma pop
/* 80025534-8002556C 01FE74 0038+00 1/0 0/0 0/2 .text dStage_filiInfo2Init__FP11dStage_dt_cPviPv
*/
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-static asm int dStage_filiInfo2Init(dStage_dt_c* param_0, void* param_1, int param_2,
- void* param_3) {
- nofralloc
-#include "asm/d/d_stage/dStage_filiInfo2Init__FP11dStage_dt_cPviPv.s"
+static int dStage_filiInfo2Init(dStage_dt_c* stageDt, void* i_data, int entryNum, void* param_3) {
+ if (entryNum == 0) {
+ return 1;
+ }
+
+ dStage_nodeHeader* fili_info = (dStage_nodeHeader*)(i_data);
+ dStage_roomControl_c::setFileList2(stageDt->getRoomNo(),
+ (dStage_FileList2_dt_c*)fili_info->m_offset);
+ return 1;
}
-#pragma pop
/* 8002556C-8002558C 01FEAC 0020+00 1/0 0/0 0/0 .text
* dStage_fieldMapFiliInfo2Init__FP11dStage_dt_cPviPv */
@@ -2216,181 +2203,265 @@ static asm int dStage_fieldMapFiliInfo2Init(dStage_dt_c* param_0, void* param_1,
#pragma pop
/* 8002558C-800255E0 01FECC 0054+00 2/0 0/0 0/0 .text dStage_filiInfoInit__FP11dStage_dt_cPviPv */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-static asm int dStage_filiInfoInit(dStage_dt_c* param_0, void* param_1, int param_2,
- void* param_3) {
- nofralloc
-#include "asm/d/d_stage/dStage_filiInfoInit__FP11dStage_dt_cPviPv.s"
+static int dStage_filiInfoInit(dStage_dt_c* stageDt, void* i_data, int entryNum, void* param_3) {
+ if (entryNum == 0) {
+ stageDt->setFileListInfo(NULL);
+ } else {
+ dStage_nodeHeader* fili_info = (dStage_nodeHeader*)(i_data);
+ stageDt->setFileListInfo((dStage_FileList_dt_c*)fili_info->m_offset);
+ }
+
+ return 1;
}
-#pragma pop
/* 800255E0-80025614 01FF20 0034+00 2/0 0/0 0/0 .text dStage_vrboxInfoInit__FP11dStage_dt_cPviPv
*/
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-static asm int dStage_vrboxInfoInit(dStage_dt_c* param_0, void* param_1, int param_2,
- void* param_3) {
- nofralloc
-#include "asm/d/d_stage/dStage_vrboxInfoInit__FP11dStage_dt_cPviPv.s"
+static int dStage_vrboxInfoInit(dStage_dt_c* stageDt, void* i_data, int entryNum, void* param_3) {
+ dStage_nodeHeader* vrbox_info = (dStage_nodeHeader*)(i_data);
+ stageDt->setVrboxInfo((stage_vrbox_info_class*)vrbox_info->m_offset);
+ return 1;
}
-#pragma pop
/* 80025614-80025648 01FF54 0034+00 1/0 0/0 0/0 .text
* dStage_vrboxcolInfoInit__FP11dStage_dt_cPviPv */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-static asm int dStage_vrboxcolInfoInit(dStage_dt_c* param_0, void* param_1, int param_2,
- void* param_3) {
- nofralloc
-#include "asm/d/d_stage/dStage_vrboxcolInfoInit__FP11dStage_dt_cPviPv.s"
+static int dStage_vrboxcolInfoInit(dStage_dt_c* stageDt, void* i_data, int entryNum,
+ void* param_3) {
+ dStage_nodeHeader* vrcol_info = (dStage_nodeHeader*)(i_data);
+ stageDt->setVrboxcolInfo((stage_vrboxcol_info_class*)vrcol_info->m_offset);
+ return 1;
}
-#pragma pop
/* 80025648-800256AC 01FF88 0064+00 2/0 0/0 0/0 .text dStage_plightInfoInit__FP11dStage_dt_cPviPv
*/
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-static asm int dStage_plightInfoInit(dStage_dt_c* param_0, void* param_1, int param_2,
- void* param_3) {
- nofralloc
-#include "asm/d/d_stage/dStage_plightInfoInit__FP11dStage_dt_cPviPv.s"
+static int dStage_plightInfoInit(dStage_dt_c* stageDt, void* i_data, int entryNum, void* param_3) {
+ dStage_nodeHeader* plight_info = (dStage_nodeHeader*)(i_data);
+ stageDt->setPlightInfo((stage_plight_info_class*)plight_info->m_offset);
+ stageDt->setPlightNumInfo(entryNum);
+ return 1;
}
-#pragma pop
/* 800256AC-80025738 01FFEC 008C+00 1/0 0/0 0/0 .text dStage_lgtvInfoInit__FP11dStage_dt_cPviPv */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-static asm int dStage_lgtvInfoInit(dStage_dt_c* param_0, void* param_1, int param_2,
- void* param_3) {
- nofralloc
-#include "asm/d/d_stage/dStage_lgtvInfoInit__FP11dStage_dt_cPviPv.s"
+static int dStage_lgtvInfoInit(dStage_dt_c* stageDt, void* i_data, int entryNum, void* param_3) {
+ stageDt->setLightVecInfoNum(entryNum);
+
+ if (entryNum == 0) {
+ stageDt->setLightVecInfo(NULL);
+ } else {
+ dStage_nodeHeader* lgtv_info = (dStage_nodeHeader*)(i_data);
+ stageDt->setLightVecInfo((stage_pure_lightvec_info_class*)lgtv_info->m_offset);
+ }
+
+ return 1;
}
-#pragma pop
/* 80025738-80025744 020078 000C+00 0/0 1/1 0/0 .text
* dStage_stagInfo_GetParticleNo__FP21stage_stag_info_classi */
+#ifdef NONMATCHING
+u8 dStage_stagInfo_GetParticleNo(stage_stag_info_class* p_info, int layer) {
+ return p_info[layer].mParticleNo;
+}
+#else
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
-asm u8 dStage_stagInfo_GetParticleNo(stage_stag_info_class* param_0, int param_1) {
+asm u8 dStage_stagInfo_GetParticleNo(stage_stag_info_class* p_info, int layer) {
nofralloc
#include "asm/d/d_stage/dStage_stagInfo_GetParticleNo__FP21stage_stag_info_classi.s"
}
#pragma pop
-
-/* ############################################################################################## */
-/* 80378A50-80378A50 0050B0 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
-#pragma push
-#pragma force_active on
-SECTION_DEAD static char const* const stringBase_80378B33 = "Xtg_00";
-#pragma pop
+#endif
/* 80025744-8002582C 020084 00E8+00 1/0 0/0 0/0 .text dStage_stagInfoInit__FP11dStage_dt_cPviPv */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-static asm int dStage_stagInfoInit(dStage_dt_c* param_0, void* param_1, int param_2,
+static int dStage_stagInfoInit(dStage_dt_c* stageDt, void* i_data, int entryNum,
void* param_3) {
- nofralloc
-#include "asm/d/d_stage/dStage_stagInfoInit__FP11dStage_dt_cPviPv.s"
+ dStage_nodeHeader* stag_info = (dStage_nodeHeader*)(i_data);
+ stageDt->setStagInfo((stage_stag_info_class*)stag_info->m_offset);
+
+ if (!dStage_isBossStage(stageDt)) {
+ dComIfG_deleteStageRes("Xtg_00");
+ dComIfGp_resetOldMulti();
+ }
+
+ int stageNo = dStage_stagInfo_GetSaveTbl(stageDt->getStagInfo());
+ dComIfGs_getSave(stageNo);
+ g_save_bit_HIO.init();
+ dComIfGs_initDan(stageNo);
+ dStage_KeepDoorInfoInit(stageDt);
+ return 1;
}
-#pragma pop
/* 8002582C-80025838 02016C 000C+00 1/0 0/0 0/0 .text resetOldMulti__16dStage_stageDt_cFv
*/
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void dStage_stageDt_c::resetOldMulti() {
- nofralloc
-#include "asm/d/d_stage/resetOldMulti__16dStage_stageDt_cFv.s"
+void dStage_stageDt_c::resetOldMulti() {
+ mOldMulti = NULL;
}
-#pragma pop
/* 80025838-8002586C 020178 0034+00 2/0 0/0 0/0 .text dStage_sclsInfoInit__FP11dStage_dt_cPviPv */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-static asm int dStage_sclsInfoInit(dStage_dt_c* param_0, void* param_1, int param_2,
- void* param_3) {
- nofralloc
-#include "asm/d/d_stage/dStage_sclsInfoInit__FP11dStage_dt_cPviPv.s"
+static int dStage_sclsInfoInit(dStage_dt_c* stageDt, void* i_data, int entryNum, void* param_3) {
+ stageDt->setSclsInfo((stage_scls_info_dummy_class*)((char*)i_data + 4));
+ return 1;
}
-#pragma pop
/* 8002586C-80025958 0201AC 00EC+00 1/0 0/0 0/0 .text
* dStage_actorCommonLayerInit__FP11dStage_dt_cPviPv */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-static asm int dStage_actorCommonLayerInit(dStage_dt_c* param_0, void* param_1, int param_2,
- void* param_3) {
- nofralloc
-#include "asm/d/d_stage/dStage_actorCommonLayerInit__FP11dStage_dt_cPviPv.s"
+static int dStage_actorCommonLayerInit(dStage_dt_c* stageDt, void* i_data, int entryNum,
+ void* param_3) {
+ stage_actor_class* actor = (stage_actor_class*)((int*)i_data + 1);
+ stage_actor_data_class* actor_data = actor->mEntries;
+
+ for (int i = 0; i < actor->mEntryNum; i++) {
+ if (!dComIfGs_isActor(actor_data->mEnemyNo, stageDt->getRoomNo())) {
+ if (!daSus_c::check(stageDt->getRoomNo(), actor_data->mSpawnPos)) {
+ fopAcM_prm_class* appen = fopAcM_CreateAppend();
+
+ if (appen != NULL) {
+ appen->mParameter = actor_data->mParameter;
+ appen->mPos = actor_data->mSpawnPos;
+ appen->mAngle = actor_data->mAngle;
+ appen->mEnemyNo = actor_data->mEnemyNo;
+ appen->mRoomNo = stageDt->getRoomNo();
+ dStage_actorCreate(actor_data, appen);
+ }
+ }
+ }
+ actor_data++;
+ }
+
+ return 1;
}
-#pragma pop
/* 80025958-80025A38 020298 00E0+00 1/0 0/0 0/0 .text
* dStage_tgscCommonLayerInit__FP11dStage_dt_cPviPv */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-static asm int dStage_tgscCommonLayerInit(dStage_dt_c* param_0, void* param_1, int param_2,
- void* param_3) {
- nofralloc
-#include "asm/d/d_stage/dStage_tgscCommonLayerInit__FP11dStage_dt_cPviPv.s"
+static int dStage_tgscCommonLayerInit(dStage_dt_c* stageDt, void* i_data, int entryNum,
+ void* param_3) {
+ stage_tgsc_class* actor = (stage_tgsc_class*)((int*)i_data + 1);
+ stage_tgsc_data_class* actor_data = actor->mData;
+
+ for (int i = 0; i < actor->mEntryNum; i++) {
+ if (!daSus_c::check(stageDt->getRoomNo(), actor_data->mSpawnPos)) {
+ fopAcM_prm_class* appen = fopAcM_CreateAppend();
+
+ if (appen != NULL) {
+ appen->mParameter = actor_data->mParameter;
+ appen->mPos = actor_data->mSpawnPos;
+ appen->mAngle = actor_data->mAngle;
+ appen->mEnemyNo = actor_data->mEnemyNo;
+ appen->mRoomNo = stageDt->getRoomNo();
+ appen->mScale[0] = actor_data->field_0x20;
+ appen->mScale[1] = actor_data->field_0x21;
+ appen->mScale[2] = actor_data->field_0x22;
+ dStage_actorCreate(actor_data, appen);
+ }
+ }
+ actor_data++;
+ }
+
+ return 1;
}
-#pragma pop
/* 80025A38-80025B24 020378 00EC+00 3/2 0/0 0/0 .text dStage_actorInit__FP11dStage_dt_cPviPv */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-static asm int dStage_actorInit(dStage_dt_c* param_0, void* param_1, int param_2, void* param_3) {
- nofralloc
-#include "asm/d/d_stage/dStage_actorInit__FP11dStage_dt_cPviPv.s"
+static int dStage_actorInit(dStage_dt_c* stageDt, void* i_data, int entryNum, void* param_3) {
+ stage_actor_class* actor = (stage_actor_class*)((int*)i_data + 1);
+ stage_actor_data_class* actor_data = actor->mEntries;
+
+ for (int i = 0; i < actor->mEntryNum; i++) {
+ if (!dComIfGs_isActor(actor_data->mEnemyNo, stageDt->getRoomNo())) {
+ if (!daSus_c::check(stageDt->getRoomNo(), actor_data->mSpawnPos)) {
+ fopAcM_prm_class* appen = fopAcM_CreateAppend();
+
+ if (appen != NULL) {
+ appen->mParameter = actor_data->mParameter;
+ appen->mPos = actor_data->mSpawnPos;
+ appen->mAngle = actor_data->mAngle;
+ appen->mEnemyNo = actor_data->mEnemyNo;
+ appen->mRoomNo = stageDt->getRoomNo();
+ dStage_actorCreate(actor_data, appen);
+ }
+ }
+ }
+ actor_data++;
+ }
+
+ return 1;
}
-#pragma pop
/* 80025B24-80025BFC 020464 00D8+00 1/0 0/0 0/0 .text
* dStage_actorInit_always__FP11dStage_dt_cPviPv */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-static asm int dStage_actorInit_always(dStage_dt_c* param_0, void* param_1, int param_2,
- void* param_3) {
- nofralloc
-#include "asm/d/d_stage/dStage_actorInit_always__FP11dStage_dt_cPviPv.s"
+static int dStage_actorInit_always(dStage_dt_c* stageDt, void* i_data, int entryNum,
+ void* param_3) {
+ stage_actor_class* actor = (stage_actor_class*)((int*)i_data + 1);
+ stage_actor_data_class* actor_data = actor->mEntries;
+
+ for (int i = 0; i < actor->mEntryNum; i++) {
+ if (!dComIfGs_isActor(actor_data->mEnemyNo, stageDt->getRoomNo())) {
+ fopAcM_prm_class* appen = fopAcM_CreateAppend();
+
+ if (appen != NULL) {
+ appen->mParameter = actor_data->mParameter;
+ appen->mPos = actor_data->mSpawnPos;
+ appen->mAngle = actor_data->mAngle;
+ appen->mEnemyNo = actor_data->mEnemyNo;
+ appen->mRoomNo = stageDt->getRoomNo();
+ dStage_actorCreate(actor_data, appen);
+ }
+ }
+ actor_data++;
+ }
+
+ return 1;
}
-#pragma pop
/* 80025BFC-80025CDC 02053C 00E0+00 4/1 0/0 0/0 .text dStage_tgscInfoInit__FP11dStage_dt_cPviPv */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-static asm int dStage_tgscInfoInit(dStage_dt_c* param_0, void* param_1, int param_2,
- void* param_3) {
- nofralloc
-#include "asm/d/d_stage/dStage_tgscInfoInit__FP11dStage_dt_cPviPv.s"
+static int dStage_tgscInfoInit(dStage_dt_c* stageDt, void* i_data, int entryNum, void* param_3) {
+ stage_tgsc_class* actor = (stage_tgsc_class*)((int*)i_data + 1);
+ stage_tgsc_data_class* actor_data = actor->mData;
+
+ for (int i = 0; i < actor->mEntryNum; i++) {
+ if (!daSus_c::check(stageDt->getRoomNo(), actor_data->mSpawnPos)) {
+ fopAcM_prm_class* appen = fopAcM_CreateAppend();
+
+ if (appen != NULL) {
+ appen->mParameter = actor_data->mParameter;
+ appen->mPos = actor_data->mSpawnPos;
+ appen->mAngle = actor_data->mAngle;
+ appen->mEnemyNo = actor_data->mEnemyNo;
+ appen->mRoomNo = stageDt->getRoomNo();
+ appen->mScale[0] = actor_data->field_0x20;
+ appen->mScale[1] = actor_data->field_0x21;
+ appen->mScale[2] = actor_data->field_0x22;
+ dStage_actorCreate(actor_data, appen);
+ }
+ }
+ actor_data++;
+ }
+
+ return 1;
}
-#pragma pop
/* 80025CDC-80025DA8 02061C 00CC+00 1/1 0/0 0/0 .text dStage_doorInfoInit__FP11dStage_dt_cPviPv */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-static asm int dStage_doorInfoInit(dStage_dt_c* param_0, void* param_1, int param_2,
- void* param_3) {
- nofralloc
-#include "asm/d/d_stage/dStage_doorInfoInit__FP11dStage_dt_cPviPv.s"
+static int dStage_doorInfoInit(dStage_dt_c* stageDt, void* i_data, int entryNum, void* param_3) {
+ stage_tgsc_class* actor = (stage_tgsc_class*)((int*)i_data + 1);
+ stage_tgsc_data_class* actor_data = actor->mData;
+
+ for (int i = 0; i < actor->mEntryNum; i++) {
+ fopAcM_prm_class* appen = fopAcM_CreateAppend();
+
+ if (appen != NULL) {
+ appen->mParameter = actor_data->mParameter;
+ appen->mPos = actor_data->mSpawnPos;
+ appen->mAngle = actor_data->mAngle;
+ appen->mEnemyNo = actor_data->mEnemyNo;
+ appen->mRoomNo = stageDt->getRoomNo();
+ appen->mScale[0] = actor_data->field_0x20;
+ appen->mScale[1] = actor_data->field_0x21;
+ appen->mScale[2] = actor_data->field_0x22;
+ dStage_actorCreate(actor_data, appen);
+ }
+ actor_data++;
+ }
+
+ return 1;
}
-#pragma pop
/* 80025DA8-80025E40 0206E8 0098+00 2/0 0/0 0/0 .text dStage_roomReadInit__FP11dStage_dt_cPviPv */
#pragma push
@@ -2405,25 +2476,19 @@ static asm int dStage_roomReadInit(dStage_dt_c* param_0, void* param_1, int para
/* 80025E40-80025E70 020780 0030+00 0/0 1/1 0/0 .text
* dStage_roomRead_dt_c_GetReverbStage__FR14roomRead_classi */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm u8 dStage_roomRead_dt_c_GetReverbStage(roomRead_class& param_0, int param_1) {
- nofralloc
-#include "asm/d/d_stage/dStage_roomRead_dt_c_GetReverbStage__FR14roomRead_classi.s"
+u8 dStage_roomRead_dt_c_GetReverbStage(roomRead_class& room, int index) {
+ if (index < 0 || index >= room.field_0x0) {
+ index = 0;
+ }
+
+ return dStage_roomRead_dt_c_GetReverb(*room.field_0x4[index]);
}
-#pragma pop
/* 80025E70-80025EA4 0207B0 0034+00 1/0 0/0 0/0 .text dStage_ppntInfoInit__FP11dStage_dt_cPviPv */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-static asm int dStage_ppntInfoInit(dStage_dt_c* param_0, void* param_1, int param_2,
- void* param_3) {
- nofralloc
-#include "asm/d/d_stage/dStage_ppntInfoInit__FP11dStage_dt_cPviPv.s"
+static int dStage_ppntInfoInit(dStage_dt_c* stageDt, void* i_data, int entryNum, void* param_3) {
+ stageDt->setPntInfo((dStage_dPnt_c*)((char*)i_data + 4));
+ return 1;
}
-#pragma pop
/* 80025EA4-80025F44 0207E4 00A0+00 1/0 0/0 0/0 .text dStage_pathInfoInit__FP11dStage_dt_cPviPv */
#pragma push
@@ -2437,15 +2502,10 @@ static asm int dStage_pathInfoInit(dStage_dt_c* param_0, void* param_1, int para
#pragma pop
/* 80025F44-80025F78 020884 0034+00 2/0 0/0 0/0 .text dStage_rppnInfoInit__FP11dStage_dt_cPviPv */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-static asm int dStage_rppnInfoInit(dStage_dt_c* param_0, void* param_1, int param_2,
- void* param_3) {
- nofralloc
-#include "asm/d/d_stage/dStage_rppnInfoInit__FP11dStage_dt_cPviPv.s"
+static int dStage_rppnInfoInit(dStage_dt_c* stageDt, void* i_data, int entryNum, void* param_3) {
+ stageDt->setPnt2Info((dStage_dPnt_c*)((char*)i_data + 4));
+ return 1;
}
-#pragma pop
/* 80025F78-80026018 0208B8 00A0+00 2/0 0/0 0/0 .text dStage_rpatInfoInit__FP11dStage_dt_cPviPv */
#pragma push
@@ -2460,115 +2520,81 @@ static asm int dStage_rpatInfoInit(dStage_dt_c* param_0, void* param_1, int para
/* 80026018-8002604C 020958 0034+00 1/0 0/0 0/0 .text dStage_soundInfoInit__FP11dStage_dt_cPviPv
*/
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-static asm int dStage_soundInfoInit(dStage_dt_c* param_0, void* param_1, int param_2,
- void* param_3) {
- nofralloc
-#include "asm/d/d_stage/dStage_soundInfoInit__FP11dStage_dt_cPviPv.s"
+static int dStage_soundInfoInit(dStage_dt_c* stageDt, void* i_data, int entryNum, void* param_3) {
+ stageDt->setSoundInf((dStage_SoundInfo_c*)((char*)i_data + 4));
+ return 1;
}
-#pragma pop
/* 8002604C-80026080 02098C 0034+00 2/0 0/0 0/0 .text dStage_soundInfoInitCL__FP11dStage_dt_cPviPv
*/
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-static asm int dStage_soundInfoInitCL(dStage_dt_c* param_0, void* param_1, int param_2,
- void* param_3) {
- nofralloc
-#include "asm/d/d_stage/dStage_soundInfoInitCL__FP11dStage_dt_cPviPv.s"
+static int dStage_soundInfoInitCL(dStage_dt_c* stageDt, void* i_data, int entryNum, void* param_3) {
+ stageDt->setSoundInfCL((dStage_SoundInfo_c*)((char*)i_data + 4));
+ return 1;
}
-#pragma pop
/* 80026080-800260B4 0209C0 0034+00 3/3 0/0 0/0 .text dStage_setLayerTagName__FP9FuncTableii */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-static asm void dStage_setLayerTagName(FuncTable* param_0, int param_1, int param_2) {
- nofralloc
-#include "asm/d/d_stage/dStage_setLayerTagName__FP9FuncTableii.s"
-}
-#pragma pop
+static void dStage_setLayerTagName(FuncTable* funcTbl, int tblSize, int i_layerNo) {
+ char layerTag;
+ if (i_layerNo < 10) {
+ layerTag = '0';
+ } else {
+ layerTag = 'W';
+ }
+ layerTag = i_layerNo + layerTag;
-/* ############################################################################################## */
-/* 80378A50-80378A50 0050B0 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
-#pragma push
-#pragma force_active on
-SECTION_DEAD static char const* const stringBase_80378B3A = "dStage_dt_c_decode: i_data is NULL\n";
-#pragma pop
+ for (int i = 0; i < tblSize; i++) {
+ funcTbl->identifier[3] = layerTag;
+ funcTbl++;
+ }
+}
/* 800260B4-8002617C 0209F4 00C8+00 9/9 0/0 0/0 .text
* dStage_dt_c_decode__FPvP11dStage_dt_cP9FuncTablei */
-// no idea
-#ifdef NONMATCHING
-static void dStage_dt_c_decode(void* i_data, dStage_dt_c* i_stage, FuncTable* param_2,
- int param_3) {
- int* ptr;
-
+static void dStage_dt_c_decode(void* i_data, dStage_dt_c* i_stage, FuncTable* funcTbl,
+ int tblSize) {
if (i_data != NULL) {
- int ivar4 = 0;
- ptr = (int*)i_data + 1;
- for (int i = 0; i < param_3; i += 12) {
- for (int j = 0; j < (int)ptr; j += 12) {
- if ((int)ptr == ivar4) {
- param_2->function(i_stage, (void*)ptr, param_3, i_data);
+ for (int i = 0; i < tblSize; i++) {
+ dStage_fileHeader* file = ((dStage_fileHeader*)i_data);
+ dStage_nodeHeader* node = ((dStage_nodeHeader*)(file + 1));
+
+ FuncTable* nodeFunc = funcTbl + i;
+
+ for (int j = 0; j < file->chunkCount; j++) {
+ if ((int)node->m_tag == *(int*)nodeFunc->identifier) {
+ if (nodeFunc->function != NULL) {
+ nodeFunc->function(i_stage, node, node->m_entryNum, i_data);
+ }
+ break;
}
+ node++;
}
- ivar4++;
}
+ } else {
+ OSReport_Error("dStage_dt_c_decode: i_data is NULL\n");
}
-
- OSReport_Error("dStage_dt_c_decode: i_data is NULL\n");
-}
-#else
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-static asm void dStage_dt_c_decode(void* param_0, dStage_dt_c* param_1, FuncTable* param_2,
- int param_3) {
- nofralloc
-#include "asm/d/d_stage/dStage_dt_c_decode__FPvP11dStage_dt_cP9FuncTablei.s"
}
-#pragma pop
-#endif
/* 8002617C-800261B0 020ABC 0034+00 1/0 0/0 0/0 .text dStage_stEventInfoInit__FP11dStage_dt_cPviPv
*/
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-static asm int dStage_stEventInfoInit(dStage_dt_c* param_0, void* param_1, int param_2,
- void* param_3) {
- nofralloc
-#include "asm/d/d_stage/dStage_stEventInfoInit__FP11dStage_dt_cPviPv.s"
+static int dStage_stEventInfoInit(dStage_dt_c* stageDt, void* i_data, int entryNum, void* param_3) {
+ stageDt->setMapEventInfo((dStage_MapEventInfo_c*)((char*)i_data + 4));
+ return 1;
}
-#pragma pop
/* 800261B0-800261E4 020AF0 0034+00 1/0 0/0 0/0 .text
* dStage_mapEventInfoInit__FP11dStage_dt_cPviPv */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-static asm int dStage_mapEventInfoInit(dStage_dt_c* param_0, void* param_1, int param_2,
- void* param_3) {
- nofralloc
-#include "asm/d/d_stage/dStage_mapEventInfoInit__FP11dStage_dt_cPviPv.s"
+static int dStage_mapEventInfoInit(dStage_dt_c* stageDt, void* i_data, int entryNum,
+ void* param_3) {
+ stageDt->setMapEventInfo((dStage_MapEventInfo_c*)((char*)i_data + 4));
+ return 1;
}
-#pragma pop
/* 800261E4-80026218 020B24 0034+00 2/0 0/0 0/0 .text dStage_floorInfoInit__FP11dStage_dt_cPviPv
*/
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-static asm int dStage_floorInfoInit(dStage_dt_c* param_0, void* param_1, int param_2,
- void* param_3) {
- nofralloc
-#include "asm/d/d_stage/dStage_floorInfoInit__FP11dStage_dt_cPviPv.s"
+static int dStage_floorInfoInit(dStage_dt_c* stageDt, void* i_data, int entryNum, void* param_3) {
+ stageDt->setFloorInfo((dStage_FloorInfo_c*)((char*)i_data + 4));
+ return 1;
}
-#pragma pop
/* 80026218-80026298 020B58 0080+00 1/0 0/0 0/9 .text dStage_memaInfoInit__FP11dStage_dt_cPviPv */
#pragma push
@@ -2594,15 +2620,11 @@ static asm int dStage_mecoInfoInit(dStage_dt_c* param_0, void* param_1, int para
/* 8002631C-8002634C 020C5C 0030+00 2/0 0/0 0/0 .text
* dStage_stageKeepTresureInit__FP11dStage_dt_cPviPv */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-static asm int dStage_stageKeepTresureInit(dStage_dt_c* param_0, void* param_1, int param_2,
- void* param_3) {
- nofralloc
-#include "asm/d/d_stage/dStage_stageKeepTresureInit__FP11dStage_dt_cPviPv.s"
+static int dStage_stageKeepTresureInit(dStage_dt_c* stageDt, void* i_data, int entryNum,
+ void* param_3) {
+ dTres_c::addData((dTres_c::list_class*)((char*)i_data + 4), stageDt->getRoomNo());
+ return 1;
}
-#pragma pop
/* 8002634C-8002635C 020C8C 0010+00 1/0 0/0 0/0 .text
* dStage_fieldMapTresureInit__FP11dStage_dt_cPviPv */
@@ -2617,14 +2639,16 @@ static asm int dStage_fieldMapTresureInit(dStage_dt_c* param_0, void* param_1, i
#pragma pop
/* 8002635C-800263A0 020C9C 0044+00 4/4 0/0 0/0 .text dStage_dt_c_offsetToPtr__FPv */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-static asm void dStage_dt_c_offsetToPtr(void* param_0) {
- nofralloc
-#include "asm/d/d_stage/dStage_dt_c_offsetToPtr__FPv.s"
+static void dStage_dt_c_offsetToPtr(void* i_data) {
+ dStage_nodeHeader* p_node = (dStage_nodeHeader*)((int*)i_data + 1);
+
+ for (int i = 0; i < ((dStage_fileHeader*)i_data)->chunkCount; i++) {
+ if (p_node->m_offset != 0 && p_node->m_offset < 0x80000000) {
+ p_node->m_offset += (u32)i_data;
+ }
+ p_node++;
+ }
}
-#pragma pop
/* 800263A0-800263D0 020CE0 0030+00 1/0 0/0 0/0 .text dStage_mapPathInit__FP11dStage_dt_cPviPv */
#pragma push
@@ -2660,133 +2684,131 @@ static asm int dStage_fieldMapMapPathInit(dStage_dt_c* param_0, void* param_1, i
}
#pragma pop
-/* ############################################################################################## */
-/* 80378A50-80378A50 0050B0 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
-#pragma push
-#pragma force_active on
-SECTION_DEAD static char const* const stringBase_80378B5E = "room%d.dzs";
-#pragma pop
-
/* 80450D74-80450D7C 000274 0008+00 3/3 0/0 0/0 .sbss m_roomDzs__20dStage_roomControl_c
*/
dStage_roomControl_c::roomDzs_c dStage_roomControl_c::m_roomDzs;
/* 8002645C-800265DC 020D9C 0180+00 1/1 0/0 0/0 .text readMult__FP11dStage_dt_cP14dStage_Multi_cb
*/
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-static asm void readMult(dStage_dt_c* param_0, dStage_Multi_c* param_1, bool param_2) {
- nofralloc
-#include "asm/d/d_stage/readMult__FP11dStage_dt_cP14dStage_Multi_cb.s"
+static void readMult(dStage_dt_c* stageDt, dStage_Multi_c* multi, bool useOldRes) {
+ if (multi != NULL) {
+ dStage_Mult_info* info = multi->mInfo;
+
+ if (dStage_stagInfo_GetUpButton(dComIfGp_getStage()->getStagInfo()) == 0 ||
+ dStage_stagInfo_GetUpButton(dComIfGp_getStage()->getStagInfo()) == 6) {
+ dStage_roomControl_c::m_roomDzs.create(multi->field_0x0);
+ }
+
+ for (s8 i = 0; i < multi->field_0x0; i++) {
+ void* dzs = dStage_roomControl_c::addRoomDzs(i, info->mRoomNo);
+
+ if (dzs == NULL) {
+ char dzsName[11];
+ sprintf(dzsName, "room%d.dzs", info->mRoomNo);
+
+ if (useOldRes) {
+ dzs = dComIfG_getOldStageRes(dzsName);
+ } else {
+ dzs = dComIfG_getStageRes(dzsName);
+ }
+ }
+
+ if (dzs != NULL) {
+ dStage_dt_c_offsetToPtr(dzs);
+ stageDt->setRoomNo(info->mRoomNo);
+ dStage_dt_c_decode(dzs, stageDt, l_roomFuncTable, 4);
+ dStage_setLayerTagName(l_layerFuncTable_5053, 3, dComIfG_play_c::getLayerNo(0));
+ dStage_dt_c_decode(dzs, stageDt, l_layerFuncTable_5053, 3);
+ }
+
+ info++;
+ }
+ }
}
-#pragma pop
/* 800265DC-80026670 020F1C 0094+00 1/0 0/0 0/0 .text dStage_multInfoInit__FP11dStage_dt_cPviPv */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-static asm int dStage_multInfoInit(dStage_dt_c* param_0, void* param_1, int param_2,
- void* param_3) {
- nofralloc
-#include "asm/d/d_stage/dStage_multInfoInit__FP11dStage_dt_cPviPv.s"
+static int dStage_multInfoInit(dStage_dt_c* stageDt, void* i_data, int entryNum, void* param_3) {
+ stageDt->setMulti((dStage_Multi_c*)((char*)i_data + 4));
+ dStage_initRoomKeepDoorInfo();
+
+ readMult(stageDt, stageDt->getMulti(), false);
+ readMult(stageDt, stageDt->getOldMulti(), true);
+ stageDt->setRoomNo(-1);
+
+ return 1;
}
-#pragma pop
/* 80026670-800266A4 020FB0 0034+00 1/0 0/0 0/0 .text dStage_lbnkInfoInit__FP11dStage_dt_cPviPv */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-static asm int dStage_lbnkInfoInit(dStage_dt_c* param_0, void* param_1, int param_2,
- void* param_3) {
- nofralloc
-#include "asm/d/d_stage/dStage_lbnkInfoInit__FP11dStage_dt_cPviPv.s"
+static int dStage_lbnkInfoInit(dStage_dt_c* stageDt, void* i_data, int entryNum, void* param_3) {
+ stageDt->setLbnk((dStage_Lbnk_c*)((char*)i_data + 4));
+ return 1;
}
-#pragma pop
/* 800266A4-8002670C 020FE4 0068+00 1/0 0/0 0/0 .text dStage_roomTresureInit__FP11dStage_dt_cPviPv
*/
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-static asm int dStage_roomTresureInit(dStage_dt_c* param_0, void* param_1, int param_2,
- void* param_3) {
- nofralloc
-#include "asm/d/d_stage/dStage_roomTresureInit__FP11dStage_dt_cPviPv.s"
+static int dStage_roomTresureInit(dStage_dt_c* stageDt, void* i_data, int entryNum, void* param_3) {
+ stageDt->setTresure((stage_tresure_class*)((char*)i_data + 4));
+ dStage_actorInit(stageDt, i_data, entryNum, param_3);
+ return 1;
}
-#pragma pop
/* 8002670C-80026730 02104C 0024+00 1/0 0/0 0/0 .text
* dStage_layerTresureInit__FP11dStage_dt_cPviPv */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-static asm int dStage_layerTresureInit(dStage_dt_c* param_0, void* param_1, int param_2,
- void* param_3) {
- nofralloc
-#include "asm/d/d_stage/dStage_layerTresureInit__FP11dStage_dt_cPviPv.s"
+static int dStage_layerTresureInit(dStage_dt_c* stageDt, void* i_data, int entryNum,
+ void* param_3) {
+ dStage_actorInit(stageDt, i_data, entryNum, param_3);
+ return 1;
}
-#pragma pop
/* 80026730-80026764 021070 0034+00 1/0 0/0 0/0 .text dStage_dmapInfoInit__FP11dStage_dt_cPviPv */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-static asm int dStage_dmapInfoInit(dStage_dt_c* param_0, void* param_1, int param_2,
- void* param_3) {
- nofralloc
-#include "asm/d/d_stage/dStage_dmapInfoInit__FP11dStage_dt_cPviPv.s"
+static int dStage_dmapInfoInit(dStage_dt_c* stageDt, void* i_data, int entryNum, void* param_3) {
+ stageDt->setDMap((dStage_DMap_c*)((char*)i_data + 4));
+ return 1;
}
-#pragma pop
/* 80026764-800267DC 0210A4 0078+00 1/0 0/0 0/0 .text
* dStage_stageDrtgInfoInit__FP11dStage_dt_cPviPv */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-static asm int dStage_stageDrtgInfoInit(dStage_dt_c* param_0, void* param_1, int param_2,
- void* param_3) {
- nofralloc
-#include "asm/d/d_stage/dStage_stageDrtgInfoInit__FP11dStage_dt_cPviPv.s"
+static int dStage_stageDrtgInfoInit(dStage_dt_c* stageDt, void* i_data, int entryNum,
+ void* param_3) {
+ stageDt->setDrTg((stage_tgsc_class*)((char*)i_data + 4));
+ dStage_tgscInfoInit(stageDt, i_data, entryNum, param_3);
+ dStage_KeepDoorInfoProc(stageDt, (stage_tgsc_class*)((char*)i_data + 4));
+ return 1;
}
-#pragma pop
/* 800267DC-80026844 02111C 0068+00 2/0 0/0 0/0 .text
* dStage_roomDrtgInfoInit__FP11dStage_dt_cPviPv */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-static asm int dStage_roomDrtgInfoInit(dStage_dt_c* param_0, void* param_1, int param_2,
- void* param_3) {
- nofralloc
-#include "asm/d/d_stage/dStage_roomDrtgInfoInit__FP11dStage_dt_cPviPv.s"
+static int dStage_roomDrtgInfoInit(dStage_dt_c* stageDt, void* i_data, int entryNum,
+ void* param_3) {
+ stageDt->setDrTg((stage_tgsc_class*)((char*)i_data + 4));
+ dStage_doorInfoInit(stageDt, i_data, entryNum, param_3);
+ return 1;
}
-#pragma pop
/* 80026844-80026898 021184 0054+00 1/0 0/0 0/0 .text dStage_elstInfoInit__FP11dStage_dt_cPviPv */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-static asm int dStage_elstInfoInit(dStage_dt_c* param_0, void* param_1, int param_2,
- void* param_3) {
- nofralloc
-#include "asm/d/d_stage/dStage_elstInfoInit__FP11dStage_dt_cPviPv.s"
+static int dStage_elstInfoInit(dStage_dt_c* stageDt, void* i_data, int param_2, void* param_3) {
+ dStage_Elst_c* elst = (dStage_Elst_c*)((char*)i_data + 4);
+
+ if (param_2 == 0) {
+ stageDt->setElst(NULL);
+ } else {
+ stageDt->setElst(elst);
+ }
+
+ return 1;
}
-#pragma pop
/* 80026898-80026914 0211D8 007C+00 1/1 0/0 0/0 .text dKankyo_create__Fv */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-static asm void dKankyo_create() {
- nofralloc
-#include "asm/d/d_stage/dKankyo_create__Fv.s"
+static void dKankyo_create() {
+ fopKyM_fastCreate(PROC_KANKYO, NULL, NULL, NULL, NULL);
+ fopKyM_fastCreate(PROC_KYEFF, NULL, NULL, NULL, NULL);
+ fopKyM_fastCreate(PROC_KYEFF2, NULL, NULL, NULL, NULL);
+ fopKyM_fastCreate(PROC_ENVSE, NULL, NULL, NULL, NULL);
}
-#pragma pop
/* 80026914-80026940 021254 002C+00 1/1 0/0 0/0 .text layerMemoryInfoLoader__FPvP11dStage_dt_ci */
static void layerMemoryInfoLoader(void* i_data, dStage_dt_c* i_stage, int param_2) {
- dStage_dt_c_decode(i_data, i_stage, &l_layerFuncTable_5131[0], 2);
+ dStage_dt_c_decode(i_data, i_stage, l_layerFuncTable_5131, 2);
}
/* 80026940-800269B4 021280 0074+00 1/1 0/0 0/0 .text
@@ -2794,83 +2816,77 @@ static void layerMemoryInfoLoader(void* i_data, dStage_dt_c* i_stage, int param_
static void dStage_dt_c_stageInitLoader(void* i_data, dStage_dt_c* i_stage) {
dStage_dt_c_offsetToPtr(i_data);
i_stage->init();
- dStage_dt_c_decode(i_data, i_stage, &l_funcTable_5136, 1);
+ dStage_dt_c_decode(i_data, i_stage, l_funcTable_5136, 1);
layerMemoryInfoLoader(i_data, i_stage, -1);
}
/* 800269B4-80026AE8 0212F4 0134+00 2/2 0/0 0/0 .text layerTableLoader__FPvP11dStage_dt_ci */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-static asm void layerTableLoader(void* param_0, dStage_dt_c* param_1, int param_2) {
- nofralloc
-#include "asm/d/d_stage/layerTableLoader__FPvP11dStage_dt_ci.s"
+static void layerTableLoader(void* i_data, dStage_dt_c* stageDt, int roomNo) {
+ int newRoomNo;
+ if (roomNo != -1) {
+ newRoomNo = roomNo;
+ } else {
+ newRoomNo = dComIfGp_getStartStageRoomNo();
+ }
+
+ dStage_setLayerTagName(l_layerFuncTableA, ARRAY_SIZE(l_layerFuncTableA),
+ dComIfG_play_c::getLayerNo(0));
+ dStage_dt_c_decode(i_data, stageDt, l_layerFuncTableA, ARRAY_SIZE(l_layerFuncTableA));
+
+ dStage_Elst_c* elst = dComIfGp_getStage()->getElst();
+ if (elst != NULL && newRoomNo >= 0 && elst->field_0x0 > newRoomNo) {
+ dStage_Elst_c::unkData* d = elst->field_0x4;
+ int layer = dComIfG_play_c::getLayerNo(0);
+ dStage_setLayerTagName(l_envLayerFuncTable, ARRAY_SIZE(l_envLayerFuncTable),
+ d[newRoomNo].field_0x0[layer]);
+ dStage_dt_c_decode(i_data, stageDt, l_envLayerFuncTable, ARRAY_SIZE(l_envLayerFuncTable));
+ } else {
+ dStage_setLayerTagName(l_envLayerFuncTable, ARRAY_SIZE(l_envLayerFuncTable), 0);
+ dStage_dt_c_decode(i_data, stageDt, l_envLayerFuncTable, ARRAY_SIZE(l_envLayerFuncTable));
+ }
}
-#pragma pop
/* 80026AE8-80026AF0 021428 0008+00 1/0 0/0 0/0 .text getElst__16dStage_stageDt_cFv */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm dStage_Elst_c* dStage_stageDt_c::getElst() {
- nofralloc
-#include "asm/d/d_stage/getElst__16dStage_stageDt_cFv.s"
+dStage_Elst_c* dStage_stageDt_c::getElst() {
+ return mElst;
}
-#pragma pop
/* 80026AF0-80026B58 021430 0068+00 2/2 0/0 0/0 .text layerActorLoader__FPvP11dStage_dt_ci */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-static asm void layerActorLoader(void* param_0, dStage_dt_c* param_1, int param_2) {
- nofralloc
-#include "asm/d/d_stage/layerActorLoader__FPvP11dStage_dt_ci.s"
+static void layerActorLoader(void* i_data, dStage_dt_c* stageDt, int param_2) {
+ dStage_setLayerTagName(l_layerFuncTable_5158, 4, dComIfG_play_c::getLayerNo(0));
+ dStage_dt_c_decode(i_data, stageDt, l_layerFuncTable_5158, 4);
}
-#pragma pop
/* 80026B58-80026BBC 021498 0064+00 1/1 0/0 0/0 .text dStage_dt_c_stageLoader__FPvP11dStage_dt_c
*/
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-static asm void dStage_dt_c_stageLoader(void* param_0, dStage_dt_c* param_1) {
- nofralloc
-#include "asm/d/d_stage/dStage_dt_c_stageLoader__FPvP11dStage_dt_c.s"
+static void dStage_dt_c_stageLoader(void* i_data, dStage_dt_c* stageDt) {
+ dStage_dt_c_decode(i_data, stageDt, l_funcTable_5163, 26);
+ layerTableLoader(i_data, stageDt, -1);
+ layerActorLoader(i_data, stageDt, -1);
}
-#pragma pop
/* 80026BBC-80026C34 0214FC 0078+00 0/0 1/1 0/0 .text dStage_dt_c_roomLoader__FPvP11dStage_dt_ci
*/
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void dStage_dt_c_roomLoader(void* param_0, dStage_dt_c* param_1, int param_2) {
- nofralloc
-#include "asm/d/d_stage/dStage_dt_c_roomLoader__FPvP11dStage_dt_ci.s"
+void dStage_dt_c_roomLoader(void* i_data, dStage_dt_c* stageDt, int param_2) {
+ dStage_dt_c_offsetToPtr(i_data);
+ stageDt->init();
+ dStage_dt_c_decode(i_data, stageDt, l_funcTable_5168, 14);
+ layerTableLoader(i_data, stageDt, param_2);
}
-#pragma pop
/* 80026C34-80026C8C 021574 0058+00 0/0 1/1 0/0 .text dStage_dt_c_roomReLoader__FPvP11dStage_dt_ci
*/
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void dStage_dt_c_roomReLoader(void* param_0, dStage_dt_c* param_1, int param_2) {
- nofralloc
-#include "asm/d/d_stage/dStage_dt_c_roomReLoader__FPvP11dStage_dt_ci.s"
+void dStage_dt_c_roomReLoader(void* i_data, dStage_dt_c* stageDt, int param_2) {
+ dStage_dt_c_decode(i_data, stageDt, l_funcTable_5173, 8);
+ layerActorLoader(i_data, stageDt, param_2);
}
-#pragma pop
/* 80026C8C-80026CDC 0215CC 0050+00 0/0 1/1 0/0 .text
* dStage_dt_c_fieldMapLoader__FPvP11dStage_dt_c */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void dStage_dt_c_fieldMapLoader(void* param_0, dStage_dt_c* param_1) {
- nofralloc
-#include "asm/d/d_stage/dStage_dt_c_fieldMapLoader__FPvP11dStage_dt_c.s"
+void dStage_dt_c_fieldMapLoader(void* i_data, dStage_dt_c* i_stage) {
+ dStage_dt_c_offsetToPtr(i_data);
+ dStage_dt_c_decode(i_data, i_stage, l_funcTable_5178, 3);
}
-#pragma pop
/* 80026CDC-80026D38 02161C 005C+00 0/0 1/1 0/0 .text dStage_infoCreate__Fv */
void dStage_infoCreate() {
@@ -2880,77 +2896,109 @@ void dStage_infoCreate() {
dStage_dt_c_stageInitLoader(stageRsrc, dComIfGp_getStage());
}
-/* ############################################################################################## */
-/* 80378A50-80378A50 0050B0 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
-#pragma push
-#pragma force_active on
-SECTION_DEAD static char const* const stringBase_80378B73 = "vrbox_sora.bmd";
-#pragma pop
-
/* 80406194-804061A0 032EB4 000A+02 2/2 14/14 7/7 .bss mDemoArcName__20dStage_roomControl_c */
char dStage_roomControl_c::mDemoArcName[10];
/* 80026D38-80026DF8 021678 00C0+00 0/0 1/1 0/0 .text dStage_Create__Fv */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void dStage_Create() {
- nofralloc
-#include "asm/d/d_stage/dStage_Create__Fv.s"
-}
-#pragma pop
+void dStage_Create() {
+ void* stageRsrc = dComIfG_getStageRes("stage.dzs");
+ dStage_dt_c_stageLoader(stageRsrc, dComIfGp_getStage());
+ daSus_c::execute();
-/* ############################################################################################## */
-/* 80378A50-80378A50 0050B0 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
-#pragma push
-#pragma force_active on
-SECTION_DEAD static char const* const stringBase_80378B82 = "Stg_00";
-SECTION_DEAD static char const* const stringBase_80378B89 = "Event";
-#pragma pop
+ if (dComIfGp_getStartStageRoomNo() >= 0) {
+ dStage_roomInit(dComIfGp_getStartStageRoomNo());
+ }
+
+ *dStage_roomControl_c::getDemoArcName() = NULL;
+ dKankyo_create();
+
+ if (dComIfG_getStageRes("vrbox_sora.bmd")) {
+ fpcSCtRq_Request(fpcLy_CurrentLayer(), PROC_VRBOX, NULL, NULL, NULL);
+ fpcSCtRq_Request(fpcLy_CurrentLayer(), PROC_VRBOX2, NULL, NULL, NULL);
+ }
+
+ dComIfGp_evmng_create();
+}
/* 80026DF8-80026FDC 021738 01E4+00 0/0 1/1 0/7 .text dStage_Delete__Fv */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void dStage_Delete() {
- nofralloc
-#include "asm/d/d_stage/dStage_Delete__Fv.s"
+void dStage_Delete() {
+ if (*dStage_roomControl_c::getDemoArcName() != NULL) {
+ dComIfG_deleteObjectResMain(dStage_roomControl_c::getDemoArcName());
+ }
+
+ int stageNo = dStage_stagInfo_GetSaveTbl(dComIfGp_getStageStagInfo());
+ dComIfGs_putSave(stageNo);
+ dStage_roomControl_c::removeRoomDzs();
+
+ if (mDoRst::isReset() || !dComIfGp_isEnableNextStage() ||
+ strcmp(dComIfGp_getNextStageName(), dComIfGp_getStartStageName())) {
+ dStage_roomControl_c::destroyMemoryBlock();
+
+ if (dStage_stagInfo_GetSTType(dComIfGp_getStageStagInfo()) == 1) {
+ dRes_info_c* info = dComIfG_getStageResInfo("Stg_00");
+ *info->getArchiveName() = 'X';
+ dComIfGp_setOldMulti();
+ } else {
+ dComIfG_deleteStageRes("Stg_00");
+ dComIfG_deleteStageRes("Xtg_00");
+ dComIfGp_resetOldMulti();
+ }
+ }
+
+ dComIfG_deleteObjectResMain("Event");
+ dComIfG_deleteObjectResMain(dComIfGp_getCameraParamFileName(0));
+ dComIfGp_evmng_remove();
+ dComIfGp_getStage()->init();
}
-#pragma pop
/* 80026FDC-80026FE8 02191C 000C+00 1/0 0/0 0/0 .text setOldMulti__16dStage_stageDt_cFv
*/
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void dStage_stageDt_c::setOldMulti() {
- nofralloc
-#include "asm/d/d_stage/setOldMulti__16dStage_stageDt_cFv.s"
+void dStage_stageDt_c::setOldMulti() {
+ mOldMulti = mMulti;
}
-#pragma pop
/* 80026FE8-800270FC 021928 0114+00 0/0 1/1 1/1 .text dStage_RoomCheck__FP11cBgS_GndChk
*/
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void dStage_RoomCheck(cBgS_GndChk* param_0) {
- nofralloc
-#include "asm/d/d_stage/dStage_RoomCheck__FP11cBgS_GndChk.s"
+int dStage_RoomCheck(cBgS_GndChk* gndChk) {
+ int roomReadId = dStage_roomControl_c::getRoomReadId();
+ int roomId;
+
+ if (gndChk == NULL) {
+ roomId = roomReadId;
+ } else {
+ roomId = dComIfG_Bgsp().GetRoomId(*gndChk);
+ }
+
+ if (roomId < 0) {
+ return 0;
+ }
+
+ if (roomId != dComIfGp_roomControl_getStayNo()) {
+ dComIfGp_roomControl_zoneCountCheck(roomId);
+ }
+
+ if (roomReadId < 0) {
+ roomReadId = dComIfGp_roomControl_getStayNo();
+ }
+
+ roomRead_class* room = dComIfGp_getStageRoom();
+ if (room != NULL && room->field_0x0 > roomReadId) {
+ int timePass =
+ dStage_roomRead_dt_c_GetTimePass(*room->field_0x4[dComIfGp_roomControl_getStayNo()]);
+ dComIfGp_roomControl_setTimePass(timePass);
+
+ roomRead_data_class* room_data = room->field_0x4[roomReadId];
+ return dComIfGp_roomControl_loadRoom(room_data->field_0x0, room_data->field_0x4, false);
+ }
+
+ return 1;
}
-#pragma pop
/* 800270FC-80027170 021A3C 0074+00 0/0 1/1 0/0 .text
* dStage_changeSceneExitId__FR13cBgS_PolyInfofUlScs */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void dStage_changeSceneExitId(cBgS_PolyInfo& param_0, f32 param_1, u32 param_2, s8 param_3,
- s16 param_4) {
- nofralloc
-#include "asm/d/d_stage/dStage_changeSceneExitId__FR13cBgS_PolyInfofUlScs.s"
+void dStage_changeSceneExitId(cBgS_PolyInfo& param_0, f32 speed, u32 mode, s8 roomNo, s16 angle) {
+ dStage_changeScene(dComIfG_Bgsp().GetExitId(param_0), speed, mode, roomNo, angle, -1);
}
-#pragma pop
/* ############################################################################################## */
/* 80451C94-80451C98 000294 0004+00 2/2 0/0 0/0 .sdata2 @5315 */
@@ -2961,37 +3009,65 @@ SECTION_SDATA2 static f64 lit_5317 = 4503601774854144.0 /* cast s32 to float */;
/* 80027170-800272E0 021AB0 0170+00 1/1 10/10 63/63 .text dStage_changeScene__FifUlScsi
*/
+// scls info types might be wrong or inlines wrong
+#ifdef NONMATCHING
+int dStage_changeScene(int i_exitId, f32 speed, u32 mode, s8 room_no, s16 angle, int param_5) {
+ stage_scls_info_dummy_class* scls;
+
+ if (room_no == -1) {
+ scls = dComIfGp_getStageSclsInfo();
+ } else {
+ scls = dComIfGp_roomControl_getStatusRoomDt(room_no)->mRoomDt.getSclsInfo();
+ }
+
+ if (scls == NULL) {
+ return 0;
+ }
+
+ stage_scls_info_class* scls_info = &scls->mEntries[i_exitId];
+ u8 wipe = dStage_sclsInfo_getWipe(scls_info);
+ int wipe_time = dStage_sclsInfo_getWipeTime(scls_info);
+ s8 layer = dStage_sclsInfo_getSceneLayer(scls_info);
+ int timeH = dStage_sclsInfo_getTimeH(scls_info);
+
+ if (layer >= 15) {
+ layer = -1;
+ }
+
+ if (layer == -1 && param_5 != -1) {
+ layer = param_5;
+ }
+
+ if (timeH < 31) {
+ dKy_set_nexttime(15.0f * timeH);
+ }
+
+ dComIfGp_setNextStage(scls_info->mStage, scls_info->mStart, scls_info->mRoom, layer, speed,
+ mode, 1, wipe == 15 ? 0 : wipe, angle, 1, wipe_time);
+ return 1;
+}
+#else
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
-asm void dStage_changeScene(int param_0, f32 param_1, u32 param_2, s8 param_3, s16 param_4,
- int param_5) {
+asm int dStage_changeScene(int i_exitId, f32 speed, u32 mode, s8 room_no, s16 angle, int param_5) {
nofralloc
#include "asm/d/d_stage/dStage_changeScene__FifUlScsi.s"
}
#pragma pop
+#endif
/* 800272E0-800272E8 021C20 0008+00 1/0 0/0 0/0 .text getSclsInfo__15dStage_roomDt_cCFv
*/
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm stage_scls_info_dummy_class* dStage_roomDt_c::getSclsInfo() const {
- nofralloc
-#include "asm/d/d_stage/getSclsInfo__15dStage_roomDt_cCFv.s"
+stage_scls_info_dummy_class* dStage_roomDt_c::getSclsInfo() const {
+ return mSclsInfo;
}
-#pragma pop
/* 800272E8-800272F0 021C28 0008+00 1/0 0/0 0/0 .text getSclsInfo__16dStage_stageDt_cCFv
*/
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm stage_scls_info_dummy_class* dStage_stageDt_c::getSclsInfo() const {
- nofralloc
-#include "asm/d/d_stage/getSclsInfo__16dStage_stageDt_cCFv.s"
+stage_scls_info_dummy_class* dStage_stageDt_c::getSclsInfo() const {
+ return mSclsInfo;
}
-#pragma pop
/* ############################################################################################## */
/* 80378A50-80378A50 0050B0 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
@@ -3013,14 +3089,11 @@ asm void dStage_changeScene4Event(int param_0, s8 param_1, int param_2, bool par
#pragma pop
/* 800274B0-80027524 021DF0 0074+00 0/0 1/1 0/0 .text dStage_restartRoom__FUlUli */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void dStage_restartRoom(u32 param_0, u32 param_1, int param_2) {
- nofralloc
-#include "asm/d/d_stage/dStage_restartRoom__FUlUli.s"
+void dStage_restartRoom(u32 roomParam, u32 mode, int param_2) {
+ dComIfGp_setNextStage(dComIfGp_getStartStageName(), -1, dComIfGs_getRestartRoomNo(), -1, 0.0f,
+ mode, 0, 0, 0, param_2, 0);
+ dComIfGs_setRestartRoomParam(roomParam);
}
-#pragma pop
void dStage_roomDt_c::setCamera(stage_camera_class* i_Camera) {
mCamera = i_Camera;
diff --git a/src/d/d_timer.cpp b/src/d/d_timer.cpp
index e38ccefd7a..66f360b7ab 100644
--- a/src/d/d_timer.cpp
+++ b/src/d/d_timer.cpp
@@ -4,6 +4,7 @@
//
#include "d/d_timer.h"
+#include "d/com/d_com_inf_game.h"
#include "dol2asm.h"
#include "dolphin/types.h"
@@ -11,75 +12,10 @@
// Types:
//
-struct request_of_phase_process_class {};
-
-struct msg_class {};
-
-struct cXyz {};
-
-struct dTimer_c {
- /* 8025CA0C */ void _create();
- /* 8025CF04 */ void _execute();
- /* 8025D33C */ void _draw();
- /* 8025D3BC */ void _delete();
- /* 8025D524 */ void deleteCheck();
- /* 8025D618 */ void start(int, s16);
- /* 8025D538 */ void start(int);
- /* 8025D7C0 */ void stock_start(s16);
- /* 8025D708 */ void stock_start();
- /* 8025D7E8 */ void stop(u8);
- /* 8025D86C */ void restart(u8);
- /* 8025D920 */ void end(int);
- /* 8025D9E0 */ void deleteRequest();
- /* 8025D9F0 */ void getTimeMs();
- /* 8025DA54 */ void getLimitTimeMs();
- /* 8025DA9C */ void getRestTimeMs();
- /* 8025DB10 */ void isStart();
- /* 802613DC */ void createGetIn(cXyz);
-};
-
-struct dRes_info_c {};
-
-struct dRes_control_c {
- /* 8003C1E4 */ void getResInfo(char const*, dRes_info_c*, int);
-};
-
struct dMsgObject_c {
/* 8023822C */ void getStatus();
};
-struct JMSMesgEntry_c {};
-
-struct dMeter2Info_c {
- /* 8021C250 */ void getString(u32, char*, JMSMesgEntry_c*);
-};
-
-struct JUtility {
- struct TColor {};
-};
-
-struct dMeter2Draw_c {
- /* 802140DC */ void drawPikari(f32, f32, f32*, f32, JUtility::TColor, JUtility::TColor,
- JUtility::TColor, JUtility::TColor, f32, u8);
-};
-
-struct dLib_time_c {
- /* 80032804 */ void getTime();
-};
-
-struct dDlst_base_c {};
-
-struct dDlst_list_c {
- /* 80056794 */ void set(dDlst_base_c**&, dDlst_base_c**&, dDlst_base_c*);
-};
-
-struct J2DPane {
- /* 802F7AFC */ void getParentPane();
- /* 802F7FCC */ void animationTransform();
-};
-
-struct JKRArchive {};
-
struct dDlst_TimerScrnDraw_c {
/* 8025DB38 */ dDlst_TimerScrnDraw_c();
/* 8025DBE0 */ void setHIO();
@@ -109,18 +45,6 @@ struct dDlst_TimerScrnDraw_c {
/* 80261394 */ ~dDlst_TimerScrnDraw_c();
};
-struct dComIfG_play_c {
- /* 8002CB9C */ void getTimerNowTimeMs();
- /* 8002CBAC */ void getTimerLimitTimeMs();
- /* 8002CBBC */ void getTimerMode();
- /* 8002CBCC */ void getTimerType();
- /* 8002CBDC */ void getTimerPtr();
-};
-
-struct JAISoundID {};
-
-struct Vec {};
-
struct Z2SeMgr {
/* 802AB984 */ void seStart(JAISoundID, Vec const*, u32, s8, f32, f32, f32, f32, u8);
};
@@ -129,44 +53,10 @@ struct Z2AudioMgr {
static u8 mAudioMgrPtr[4 + 4 /* padding */];
};
-struct JKRHeap {
- /* 802CE784 */ void getTotalFreeSize();
-};
-
-struct JKRFileLoader {
- /* 802D4270 */ void getGlbResource(char const*, JKRFileLoader*);
-};
-
-struct JKRExpHeap {};
-
-struct J2DTextBox {
- /* 80300658 */ void getStringPtr() const;
-};
-
-struct J2DGrafContext {};
-
-struct J2DScreen {
- /* 802F8498 */ J2DScreen();
- /* 802F8648 */ void setPriority(char const*, u32, JKRArchive*);
- /* 802F8ED4 */ void draw(f32, f32, J2DGrafContext const*);
-};
-
struct J2DAnmLoaderDataBase {
/* 80308A6C */ void load(void const*);
};
-struct CPaneMgrAlpha {
- /* 802555C8 */ void show();
- /* 80255608 */ void hide();
- /* 802557D0 */ void setAlphaRate(f32);
-};
-
-struct CPaneMgr {
- /* 80253984 */ CPaneMgr(J2DScreen*, u64, u8, JKRExpHeap*);
- /* 802545B0 */ void paneTrans(f32, f32);
- /* 80254EBC */ void getGlobalVtxCenter(J2DPane*, bool, s16);
-};
-
//
// Forward References:
//
@@ -298,14 +188,9 @@ extern "C" void _restgpr_26();
extern "C" void _restgpr_28();
extern "C" void _restgpr_29();
extern "C" void __div2i();
-extern "C" void strcmp();
-extern "C" void strcpy();
extern "C" extern void* g_fopMsg_Method[5 + 1 /* padding */];
-extern "C" extern void* g_fpcLf_Method[5 + 1 /* padding */];
extern "C" extern void* __vt__12dDlst_base_c[3];
-extern "C" extern u8 g_dComIfG_gameInfo[122384];
extern "C" extern u8 g_drawHIO[3880];
-extern "C" extern u8 g_meter2_info[248];
extern "C" u8 mAudioMgrPtr__10Z2AudioMgr[4 + 4 /* padding */];
//
@@ -378,7 +263,7 @@ asm void dTimer_c::_delete() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
-asm void dTimer_c::deleteCheck() {
+asm int dTimer_c::deleteCheck() {
nofralloc
#include "asm/d/d_timer/deleteCheck__8dTimer_cFv.s"
}
diff --git a/src/d/map/d_map_path_dmap.cpp b/src/d/map/d_map_path_dmap.cpp
index 45e5aa933b..b9025f1b1c 100644
--- a/src/d/map/d_map_path_dmap.cpp
+++ b/src/d/map/d_map_path_dmap.cpp
@@ -4,19 +4,16 @@
//
#include "d/map/d_map_path_dmap.h"
+#include "d/com/d_com_inf_game.h"
+#include "d/meter/d_meter_HIO.h"
#include "dol2asm.h"
#include "dolphin/types.h"
+#include "m_Do/m_Do_mtx.h"
//
// Types:
//
-struct mDoMtx_stack_c {
- /* 8000CE38 */ void scaleM(f32, f32, f32);
-
- static u8 now[48];
-};
-
struct dMpath_n {
struct dTexObjAggregate_c {
/* 8003C85C */ void create();
@@ -181,76 +178,64 @@ extern "C" void _restgpr_28();
extern "C" void _restgpr_29();
extern "C" u8 now__14mDoMtx_stack_c[48];
extern "C" u8 mStatus__20dStage_roomControl_c[65792];
-extern "C" extern u8 g_dComIfG_gameInfo[122384];
extern "C" u8 m_texObjAgg__8dMpath_n[28];
extern "C" u8 mTypeGroupListAll__7dTres_c[204 + 4 /* padding */];
-extern "C" extern u8 g_fmapHIO[1188];
//
// Declarations:
//
/* 8003ECA0-8003ECD8 0395E0 0038+00 0/0 3/3 0/0 .text chkGetCompass__10dMapInfo_nFv */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void dMapInfo_n::chkGetCompass() {
- nofralloc
-#include "asm/d/map/d_map_path_dmap/chkGetCompass__10dMapInfo_nFv.s"
+bool dMapInfo_n::chkGetCompass() {
+ return dComIfGs_isDungeonItemCompass() ? true : false;
}
-#pragma pop
/* 8003ECD8-8003ED10 039618 0038+00 0/0 4/4 0/0 .text chkGetMap__10dMapInfo_nFv */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void dMapInfo_n::chkGetMap() {
- nofralloc
-#include "asm/d/map/d_map_path_dmap/chkGetMap__10dMapInfo_nFv.s"
+bool dMapInfo_n::chkGetMap() {
+ return dComIfGs_isDungeonItemMap() ? true : false;
}
-#pragma pop
/* 8003ED10-8003ED60 039650 0050+00 2/2 7/7 0/0 .text isVisitedRoom__10dMapInfo_nFi */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void dMapInfo_n::isVisitedRoom(int param_0) {
- nofralloc
-#include "asm/d/map/d_map_path_dmap/isVisitedRoom__10dMapInfo_nFi.s"
+bool dMapInfo_n::isVisitedRoom(int i_roomNo) {
+ return g_fmapHIO.mAllRegionsUnlocked || dComIfGs_isVisitedRoom(i_roomNo);
}
-#pragma pop
/* 8003ED60-8003EDC0 0396A0 0060+00 1/1 2/2 0/0 .text correctionOriginPos__10dMapInfo_nFScP3Vec */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void dMapInfo_n::correctionOriginPos(s8 param_0, Vec* param_1) {
- nofralloc
-#include "asm/d/map/d_map_path_dmap/correctionOriginPos__10dMapInfo_nFScP3Vec.s"
+void dMapInfo_n::correctionOriginPos(s8 i_roomNo, Vec* pos_p) {
+ dStage_FileList2_dt_c* filelist = dStage_roomControl_c::getFileList2(i_roomNo);
+
+ if (pos_p != NULL) {
+ rotAngle(filelist, pos_p);
+ offsetPlus(filelist, pos_p);
+ }
}
-#pragma pop
/* 8003EDC0-8003EDEC 039700 002C+00 3/3 0/0 0/0 .text
* offsetPlus__10dMapInfo_nFPC21dStage_FileList2_dt_cP3Vec */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void dMapInfo_n::offsetPlus(dStage_FileList2_dt_c const* param_0, Vec* param_1) {
- nofralloc
-#include "asm/d/map/d_map_path_dmap/offsetPlus__10dMapInfo_nFPC21dStage_FileList2_dt_cP3Vec.s"
+void dMapInfo_n::offsetPlus(dStage_FileList2_dt_c const* filelist, Vec* p_pos) {
+ if (filelist == NULL) {
+ return;
+ }
+
+ p_pos->x += filelist->field_0x14;
+ p_pos->z += filelist->field_0x18;
}
-#pragma pop
/* 8003EDEC-8003EE5C 03972C 0070+00 3/3 0/0 0/0 .text
* rotAngle__10dMapInfo_nFPC21dStage_FileList2_dt_cP3Vec */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void dMapInfo_n::rotAngle(dStage_FileList2_dt_c const* param_0, Vec* param_1) {
- nofralloc
-#include "asm/d/map/d_map_path_dmap/rotAngle__10dMapInfo_nFPC21dStage_FileList2_dt_cP3Vec.s"
+void dMapInfo_n::rotAngle(dStage_FileList2_dt_c const* filelist, Vec* p_pos) {
+ s16 rot = 0;
+
+ if (filelist != NULL) {
+ rot = filelist->field_0x1c;
+ }
+ mDoMtx_stack_c::YrotS(rot);
+
+ Vec mult;
+ mDoMtx_stack_c::multVec(p_pos, &mult);
+
+ *p_pos = mult;
}
-#pragma pop
/* ############################################################################################## */
/* 80451E28-80451E2C 000428 0004+00 6/6 0/0 0/0 .sdata2 @3796 */
@@ -262,6 +247,30 @@ SECTION_SDATA2 static u8 lit_3796[4] = {
};
/* 8003EE5C-8003EF20 03979C 00C4+00 1/1 6/6 0/0 .text getMapPlayerPos__10dMapInfo_nFv */
+// stayNo / mStatus loads switched
+#ifdef NONMATCHING
+Vec dMapInfo_n::getMapPlayerPos() {
+ Vec pos;
+ fopAc_ac_c* player = daPy_getPlayerActorClass();
+ if (player != NULL) {
+ pos = player->mCurrent.mPosition;
+ } else {
+ f32 tmp = FLOAT_LABEL(lit_3796);
+ pos.x = tmp;
+ pos.y = tmp;
+ pos.z = tmp;
+ }
+
+ s8 stayNo = dComIfGp_roomControl_getStayNo();
+ dStage_FileList2_dt_c* fileList2_p = dStage_roomControl_c::getFileList2(stayNo);
+ if (fileList2_p != NULL) {
+ rotAngle(fileList2_p, &pos);
+ offsetPlus(fileList2_p, &pos);
+ }
+
+ return pos;
+}
+#else
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
@@ -270,6 +279,7 @@ asm Vec dMapInfo_n::getMapPlayerPos() {
#include "asm/d/map/d_map_path_dmap/getMapPlayerPos__10dMapInfo_nFv.s"
}
#pragma pop
+#endif
/* 8003EF20-8003EF70 039860 0050+00 1/1 1/1 0/0 .text getMapPlayerAngleY__10dMapInfo_nFv
*/
diff --git a/src/d/meter/d_meter2.cpp b/src/d/meter/d_meter2.cpp
index 106a3431ed..067832a2eb 100644
--- a/src/d/meter/d_meter2.cpp
+++ b/src/d/meter/d_meter2.cpp
@@ -1351,10 +1351,6 @@ asm void dMeter2_c::alphaAnimeButtonCross() {
}
#pragma pop
-inline daPy_py_c* daPy_getPlayerActorClass() {
- return (daPy_py_c*)dComIfGp_getPlayer(0);
-}
-
inline u16 dComIfGp_event_checkHind(u16 flag) {
if (!dComIfGp_event_runCheck()) {
return false;
diff --git a/src/d/meter/d_meter2_info.cpp b/src/d/meter/d_meter2_info.cpp
index d4b84b17fd..2b4848736c 100644
--- a/src/d/meter/d_meter2_info.cpp
+++ b/src/d/meter/d_meter2_info.cpp
@@ -1274,8 +1274,8 @@ asm void dMeter2Info_getPixel(f32 param_0, f32 param_1, f32 param_2, f32 param_3
/* 8021E4B0-8021E530 218DF0 0080+00 0/0 2/2 1/1 .text dMeter2Info_setCloth__FUcb */
void dMeter2Info_setCloth(u8 i_clothId, bool param_1) {
- if ((int)i_clothId >= MAGIC_LV1 || (int)i_clothId < WEARS_CASUAL) {
- i_clothId = WEARS_CASUAL;
+ if ((int)i_clothId >= MAGIC_LV1 || (int)i_clothId < WEAR_CASUAL) {
+ i_clothId = WEAR_CASUAL;
param_1 = false;
}
diff --git a/src/d/meter/d_meter_map.cpp b/src/d/meter/d_meter_map.cpp
index e333a537ab..20834e0cdf 100644
--- a/src/d/meter/d_meter_map.cpp
+++ b/src/d/meter/d_meter_map.cpp
@@ -106,10 +106,6 @@ inline dStage_stageDt_c* dComIfGp_getStage() {
return &g_dComIfG_gameInfo.play.getStage();
}
-inline daPy_py_c* daPy_getPlayerActorClass() {
- return (daPy_py_c*)dComIfGp_getPlayer(0);
-}
-
inline BOOL dComIfGs_isEventBit(u16 id) {
return g_dComIfG_gameInfo.info.getEvent().isEventBit(id);
}
diff --git a/src/d/particle/d_particle.cpp b/src/d/particle/d_particle.cpp
index fc0a5455da..b44228ba19 100644
--- a/src/d/particle/d_particle.cpp
+++ b/src/d/particle/d_particle.cpp
@@ -443,7 +443,6 @@ extern "C" void entryTexNoAnimator__16J3DMaterialTableFP16J3DAnmTexPattern();
extern "C" void entryTevRegAnimator__16J3DMaterialTableFP15J3DAnmTevRegKey();
extern "C" void GXInvalidateVtxCache();
extern "C" void GXFlush();
-extern "C" void GXLoadNrmMtxImm();
extern "C" void __register_global_object();
extern "C" void __destroy_new_array();
extern "C" void __construct_array();
diff --git a/src/d/save/d_save.cpp b/src/d/save/d_save.cpp
index bef3b669f6..19f288b34e 100644
--- a/src/d/save/d_save.cpp
+++ b/src/d/save/d_save.cpp
@@ -228,8 +228,8 @@ inline BOOL dComIfGs_isEventBit(u16 id) {
return g_dComIfG_gameInfo.info.getSavedata().getEvent().isEventBit(id);
}
-static u8 dSv_item_rename(u8 item_id) {
- switch (item_id) {
+static u8 dSv_item_rename(u8 i_itemNo) {
+ switch (i_itemNo) {
case OIL_BOTTLE_2:
return OIL_BOTTLE;
case RED_BOTTLE_2:
@@ -237,7 +237,7 @@ static u8 dSv_item_rename(u8 item_id) {
case OIL2:
return OIL;
default:
- return item_id;
+ return i_itemNo;
}
}
@@ -259,7 +259,7 @@ void dSv_player_status_a_c::init() {
mSelectEquip[i] = 0;
}
- mSelectEquip[COLLECT_CLOTHING] = WEARS_CASUAL;
+ mSelectEquip[COLLECT_CLOTHING] = WEAR_CASUAL;
mSelectEquip[COLLECT_SWORD] = NO_ITEM;
mSelectEquip[COLLECT_SHIELD] = NO_ITEM;
mSelectEquip[COLLECT_SMELL] = NO_ITEM;
@@ -269,33 +269,33 @@ void dSv_player_status_a_c::init() {
mMagic = 0;
mMagicFlag = 0;
unk29 = 0;
- mTransformStatus = 0;
+ mTransformStatus = TF_STATUS_HUMAN;
for (int i = 0; i < 3; i++) {
unk31[i] = 0;
}
}
-void dSv_player_status_a_c::setSelectItemIndex(signed int i_no, u8 item_index) {
+void dSv_player_status_a_c::setSelectItemIndex(int i_no, u8 item_index) {
if (i_no < MAX_SELECT_ITEM) {
mSelectItem[i_no] = item_index;
}
}
-u8 dSv_player_status_a_c::getSelectItemIndex(signed int i_no) const {
+u8 dSv_player_status_a_c::getSelectItemIndex(int i_no) const {
if (i_no < MAX_SELECT_ITEM) {
return mSelectItem[i_no];
}
return 0;
}
-void dSv_player_status_a_c::setMixItemIndex(signed int i_no, u8 item_index) {
+void dSv_player_status_a_c::setMixItemIndex(int i_no, u8 item_index) {
if (i_no < MAX_SELECT_ITEM) {
mMixItem[i_no] = item_index;
}
}
-u8 dSv_player_status_a_c::getMixItemIndex(signed int i_no) const {
+u8 dSv_player_status_a_c::getMixItemIndex(int i_no) const {
if (i_no < MAX_SELECT_ITEM) {
return mMixItem[i_no];
}
@@ -318,7 +318,7 @@ u16 dSv_player_status_a_c::getRupeeMax() const {
BOOL dSv_player_status_a_c::isMagicFlag(u8 i_magic) const {
if (i_magic == 0) {
- return dComIfGs_isEventBit(0x2304);
+ return dComIfGs_isEventBit(0x2304); // Magic Unlocked
}
return (mMagicFlag & (u8)(1 << i_magic)) ? TRUE : FALSE;
}
@@ -360,12 +360,11 @@ void dSv_horse_place_c::init() {
mRoomNo = 0;
}
-void dSv_horse_place_c::set(const char* i_name, const cXyz& i_position, s16 i_x_rot,
- signed char i_room_id) {
+void dSv_horse_place_c::set(const char* i_name, const cXyz& i_pos, s16 i_angle, s8 i_roomNo) {
strcpy(mName, i_name);
- mPos = i_position;
- mAngleY = i_x_rot;
- mRoomNo = i_room_id;
+ mPos = i_pos;
+ mAngleY = i_angle;
+ mRoomNo = i_roomNo;
}
void dSv_player_return_place_c::init() {
@@ -376,10 +375,10 @@ void dSv_player_return_place_c::init() {
unk11 = 0;
}
-void dSv_player_return_place_c::set(const char* i_name, s8 i_room_id, u8 i_spawn_id) {
+void dSv_player_return_place_c::set(const char* i_name, s8 i_roomNo, u8 i_status) {
strcpy(mName, i_name);
- mRoomNo = i_room_id;
- mPlayerStatus = i_spawn_id;
+ mRoomNo = i_roomNo;
+ mPlayerStatus = i_status;
}
void dSv_player_field_last_stay_info_c::init() {
@@ -396,30 +395,24 @@ void dSv_player_field_last_stay_info_c::init() {
}
}
-void dSv_player_field_last_stay_info_c::set(const char* i_name, const cXyz& i_last_position,
- s16 i_last_angle, signed char i_last_spawn_id,
- u8 i_last_room_id) {
+void dSv_player_field_last_stay_info_c::set(const char* i_name, const cXyz& i_pos, s16 i_angle,
+ s8 i_spawn, u8 i_regionNo) {
strcpy(mName, i_name);
-
- mPos = i_last_position;
- mAngleY = i_last_angle;
- mLastSpawnId = i_last_spawn_id;
- mRegionNo = i_last_room_id;
+ mPos = i_pos;
+ mAngleY = i_angle;
+ mLastSpawnId = i_spawn;
+ mRegionNo = i_regionNo;
}
-void dSv_player_field_last_stay_info_c::onRegionBit(int i_region_bit) {
- if (i_region_bit < 0) {
- return;
+void dSv_player_field_last_stay_info_c::onRegionBit(int i_region) {
+ if (i_region >= 0 && i_region < 8) {
+ mRegion |= (u8)(1 << i_region);
}
- if (8 <= i_region_bit) {
- return;
- }
- mRegion |= (u8)(1 << i_region_bit);
}
-BOOL dSv_player_field_last_stay_info_c::isRegionBit(int i_region_bit) const {
- if ((i_region_bit >= 0) && (i_region_bit < 8)) {
- return (mRegion & (u8)(1 << i_region_bit)) ? TRUE : FALSE;
+BOOL dSv_player_field_last_stay_info_c::isRegionBit(int i_region) const {
+ if (i_region >= 0 && i_region < 8) {
+ return (mRegion & (u8)(1 << i_region)) ? TRUE : FALSE;
}
return false;
}
@@ -437,107 +430,104 @@ void dSv_player_last_mark_info_c::init() {
}
}
-void dSv_player_last_mark_info_c::setWarpItemData(const char* i_ooccoo_stage,
- const cXyz& i_ooccoo_position, s16 i_ooccoo_angle,
- s8 i_ooccoo_room_id, u8 unk1, u8 unk2) {
- strcpy(mName, i_ooccoo_stage);
- mPos.set(i_ooccoo_position);
- mAngleY = i_ooccoo_angle;
- mRoomNo = i_ooccoo_room_id;
+void dSv_player_last_mark_info_c::setWarpItemData(const char* i_name, const cXyz& i_pos,
+ s16 i_angle, s8 i_roomNo, u8 unk1, u8 unk2) {
+ strcpy(mName, i_name);
+ mPos.set(i_pos);
+ mAngleY = i_angle;
+ mRoomNo = i_roomNo;
}
void dSv_player_item_c::init() {
- for (int i = 0; i < 24; i++) {
+ for (int i = 0; i < MAX_ITEM_SLOTS; i++) {
mItems[i] = NO_ITEM;
mItemSlots[i] = NO_ITEM;
}
}
-void dSv_player_item_c::setItem(int item_slot, u8 item_id) {
+void dSv_player_item_c::setItem(int item_slot, u8 i_itemNo) {
if (item_slot < MAX_ITEM_SLOTS) {
- mItems[item_slot] = item_id;
+ mItems[item_slot] = i_itemNo;
setLineUpItem();
}
- int select_item_index = DEFAULT_SELECT_ITEM_INDEX;
-
- do {
- if (item_slot == dComIfGs_getSelectItemIndex(select_item_index)) {
- dComIfGp_setSelectItem(select_item_index);
+ for (int i = DEFAULT_SELECT_ITEM_INDEX; i < MAX_SELECT_ITEM - 1; i++) {
+ if (item_slot == dComIfGs_getSelectItemIndex(i)) {
+ dComIfGp_setSelectItem(i);
}
- select_item_index++;
- } while (select_item_index < MAX_SELECT_ITEM - 1);
+ }
}
-u8 dSv_player_item_c::getItem(int item_idx, bool isComboItem) const {
- if (item_idx < MAX_ITEM_SLOTS) {
- if (isComboItem) {
- for (int i = 0; i < 2; i++) {
- if ((dComIfGs_getSelectItemIndex(i) == item_idx ||
- item_idx == dComIfGs_getMixItemIndex(i)) &&
+u8 dSv_player_item_c::getItem(int slot_no, bool check_combo) const {
+ if (slot_no < MAX_ITEM_SLOTS) {
+ if (check_combo) {
+ for (int i = 0; i < SELECT_ITEM_NUM; i++) {
+ if ((slot_no == dComIfGs_getSelectItemIndex(i) ||
+ slot_no == dComIfGs_getMixItemIndex(i)) &&
dComIfGs_getMixItemIndex(i) != NO_ITEM) {
- u8 item_id_2 = mItems[dComIfGs_getSelectItemIndex(i)];
- u8 item_id_1 = mItems[dComIfGs_getMixItemIndex(i)];
+ u8 select_item = mItems[dComIfGs_getSelectItemIndex(i)];
+ u8 mix_item = mItems[dComIfGs_getMixItemIndex(i)];
// Get Bomb arrow check: Bow + Normal Bombs
- if ((item_id_2 == BOW && item_id_1 == NORMAL_BOMB) ||
- (item_id_1 == BOW && item_id_2 == NORMAL_BOMB)) {
+ if ((select_item == BOW && mix_item == NORMAL_BOMB) ||
+ (mix_item == BOW && select_item == NORMAL_BOMB)) {
return BOMB_ARROW;
}
// Get Bomb arrow check: Bow + Water Bombs
- if ((item_id_2 == BOW && item_id_1 == WATER_BOMB) ||
- (item_id_1 == BOW && item_id_2 == WATER_BOMB)) {
+ if ((select_item == BOW && mix_item == WATER_BOMB) ||
+ (mix_item == BOW && select_item == WATER_BOMB)) {
return BOMB_ARROW;
}
// Get Bomb arrow check: Bow + Bomblings
- if ((item_id_2 == BOW && item_id_1 == POKE_BOMB) ||
- (item_id_1 == BOW && item_id_2 == POKE_BOMB)) {
+ if ((select_item == BOW && mix_item == POKE_BOMB) ||
+ (mix_item == BOW && select_item == POKE_BOMB)) {
return BOMB_ARROW;
}
// Get Hawkeye check
- if ((item_id_2 == BOW && item_id_1 == HAWK_EYE) ||
- (item_id_1 == BOW && item_id_2 == HAWK_EYE)) {
+ if ((select_item == BOW && mix_item == HAWK_EYE) ||
+ (mix_item == BOW && select_item == HAWK_EYE)) {
return HAWK_ARROW;
}
// Get Rod w/ bee larva
- if ((item_id_2 == FISHING_ROD_1 && item_id_1 == BEE_CHILD) ||
- (item_id_1 == FISHING_ROD_1 && item_id_2 == BEE_CHILD)) {
+ if ((select_item == FISHING_ROD_1 && mix_item == BEE_CHILD) ||
+ (mix_item == FISHING_ROD_1 && select_item == BEE_CHILD)) {
return BEE_ROD;
}
// Get Rod w/ coral earring
- if ((item_id_2 == FISHING_ROD_1 && item_id_1 == ZORAS_JEWEL) ||
- (item_id_1 == FISHING_ROD_1 && item_id_2 == ZORAS_JEWEL)) {
+ if ((select_item == FISHING_ROD_1 && mix_item == ZORAS_JEWEL) ||
+ (mix_item == FISHING_ROD_1 && select_item == ZORAS_JEWEL)) {
return JEWEL_ROD;
}
// Get Rod w/ worm
- if ((item_id_2 == FISHING_ROD_1 && item_id_1 == WORM) ||
- (item_id_1 == FISHING_ROD_1 && item_id_2 == WORM)) {
+ if ((select_item == FISHING_ROD_1 && mix_item == WORM) ||
+ (mix_item == FISHING_ROD_1 && select_item == WORM)) {
return WORM_ROD;
}
- if (i == 3) {
+ // This block will only run on the Wii version
+ if (i == SELECT_ITEM_B) {
if (dComIfGs_getSelectItemIndex(i) == 0 &&
dComIfGs_getMixItemIndex(i) == 0) {
- dComIfGs_setSelectItemIndex(i, 0xFF);
- dComIfGs_setMixItemIndex(i, 0xFF);
- return 0xFF;
+ dComIfGs_setSelectItemIndex(i, NO_ITEM);
+ dComIfGs_setMixItemIndex(i, NO_ITEM);
+ return NO_ITEM;
}
}
// Uncertain combination item===>%d, %d\n
- OSReport_Error("合成アイテム不定===>%d, %d\n", item_id_2, item_id_1);
+ OSReport_Error("合成アイテム不定===>%d, %d\n", select_item, mix_item);
}
}
}
- return mItems[item_idx];
- } else {
- return NO_ITEM;
+ return mItems[slot_no];
}
+
+ return NO_ITEM;
}
static u8 i_item_lst[23] = {0x0A, 0x08, 0x06, 0x02, 0x09, 0x04, 0x03, 0x00, 0x01, 0x17, 0x14, 0x05,
@@ -556,7 +546,7 @@ void dSv_player_item_c::setLineUpItem() {
for (int i1 = 0; i1 < 23; i1++) {
if (mItems[i_item_lst[i1]] != NO_ITEM) {
- mItemSlots[i2] = i_item_lst[i2];
+ mItemSlots[i2] = i_item_lst[i1];
i2++;
}
}
@@ -572,36 +562,32 @@ asm void dSv_player_item_c::setLineUpItem() {
#pragma pop
#endif
-u8 dSv_player_item_c::getLineUpItem(int slot_number) const {
- if (slot_number < MAX_ITEM_SLOTS) {
- return mItemSlots[slot_number];
+u8 dSv_player_item_c::getLineUpItem(int slot_no) const {
+ if (slot_no < MAX_ITEM_SLOTS) {
+ return mItemSlots[slot_no];
}
return NO_ITEM;
}
/* 80033370-80033450 02DCB0 00E0+00 1/1 2/2 0/0 .text setBottleItemIn__17dSv_player_item_cFUcUc */
#ifdef NONMATCHING
-void dSv_player_item_c::setBottleItemIn(u8 i_item_id_1, u8 i_item_id_2) {
- u8 current_item_index;
- u8 new_item_index;
-
- current_item_index = dSv_item_rename(i_item_id_1);
- new_item_index = dSv_item_rename(i_item_id_2);
+void dSv_player_item_c::setBottleItemIn(u8 curItemIn, u8 newItemIn) {
+ u8 cur_item = dSv_item_rename(curItemIn);
+ u8 new_item = dSv_item_rename(newItemIn);
for (int i = 0; i < 4; i++) {
- // sanitize input to make sure it's only a bottle
- if (current_item_index == items[i + SLOT_11]) {
- setItem(i + SLOT_11, new_item_index);
- // if hotsprings water, turn on the timer
- if (new_item_index == 107) {
+ if (cur_item == mItems[i + SLOT_11]) {
+ setItem(i + SLOT_11, new_item);
+ if (new_item == HOT_SPRING) {
dMeter2Info_setHotSpringTimer(i + SLOT_11);
}
- for (int j = 0; j < 4; j++) {
- j = getSelectItemIndex(i);
- if (i + SLOT_11 == j) {
- dComIfGp_setSelectItem__Fi(j);
+
+ for (int j = 0; j < 3; j++) {
+ if (i + SLOT_11 == dComIfGs_getSelectItemIndex(j)) {
+ dComIfGp_setSelectItem(j);
}
}
+ return;
}
}
}
@@ -609,7 +595,7 @@ void dSv_player_item_c::setBottleItemIn(u8 i_item_id_1, u8 i_item_id_2) {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
-asm void dSv_player_item_c::setBottleItemIn(u8 param_0, u8 param_1) {
+asm void dSv_player_item_c::setBottleItemIn(u8 curItemIn, u8 newItemIn) {
nofralloc
#include "asm/d/save/d_save/setBottleItemIn__17dSv_player_item_cFUcUc.s"
}
@@ -620,15 +606,14 @@ asm void dSv_player_item_c::setBottleItemIn(u8 param_0, u8 param_1) {
* setEmptyBottleItemIn__17dSv_player_item_cFUc */
// this is 1 instruction off
#ifdef NONMATCHING
-void dSv_player_item_c::setEmptyBottleItemIn(u8 i_item_id) {
- setBottleItemIn(EMPTY_BOTTLE, dSv_item_rename(i_item_id));
- return;
+void dSv_player_item_c::setEmptyBottleItemIn(u8 i_itemNo) {
+ setBottleItemIn(EMPTY_BOTTLE, dSv_item_rename(i_itemNo));
}
#else
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
-asm void dSv_player_item_c::setEmptyBottleItemIn(u8 param_0) {
+asm void dSv_player_item_c::setEmptyBottleItemIn(u8 i_itemNo) {
nofralloc
#include "asm/d/save/d_save/setEmptyBottleItemIn__17dSv_player_item_cFUc.s"
}
@@ -644,10 +629,10 @@ void dSv_player_item_c::setEmptyBottle() {
}
}
-void dSv_player_item_c::setEmptyBottle(u8 item_id) {
+void dSv_player_item_c::setEmptyBottle(u8 i_itemNo) {
for (int i = 0; i < 4; i++) {
if (dComIfGs_getItem((u8)(i + SLOT_11), true) == NO_ITEM) {
- dComIfGs_setItem((u8)(i + SLOT_11), item_id);
+ dComIfGs_setItem((u8)(i + SLOT_11), i_itemNo);
return;
}
}
@@ -657,46 +642,40 @@ void dSv_player_item_c::setEmptyBottle(u8 item_id) {
* setEquipBottleItemIn__17dSv_player_item_cFUcUc */
// one instruction
#ifdef NONMATCHING
-void dSv_player_item_c::setEquipBottleItemIn(u8 param_0, u8 param_1) {
- u8 item = dSv_item_rename(param_1);
- u8 selectItemIdx;
- if (dComIfGs_getSelectItemIndex(param_0) >= 11 && dComIfGs_getSelectItemIndex(param_0) <= 14) {
- if (item == HOT_SPRING) {
- selectItemIdx = dComIfGs_getSelectItemIndex(param_0);
- dMeter2Info_setHotSpringTimer(selectItemIdx);
- }
-
- selectItemIdx = dComIfGs_getSelectItemIndex(param_0);
- setItem(selectItemIdx, item);
+void dSv_player_item_c::setEquipBottleItemIn(u8 curItemIn, u8 newItemIn) {
+ u8 new_item = dSv_item_rename(newItemIn);
- selectItemIdx = dComIfGs_getSelectItemIndex(param_0);
- dComIfGs_setItem(selectItemIdx, item);
+ if (dComIfGs_getSelectItemIndex(curItemIn) >= SLOT_11 &&
+ dComIfGs_getSelectItemIndex(curItemIn) <= SLOT_14) {
+ if (new_item == HOT_SPRING) {
+ dMeter2Info_setHotSpringTimer(dComIfGs_getSelectItemIndex(curItemIn));
+ }
- selectItemIdx = dComIfGs_getSelectItemIndex(param_0);
- dComIfGp_setItem(selectItemIdx, item);
- dComIfGp_setSelectItem(param_0);
+ setItem(dComIfGs_getSelectItemIndex(curItemIn), new_item);
+ dComIfGs_setItem(dComIfGs_getSelectItemIndex(curItemIn), new_item);
+ dComIfGp_setItem(dComIfGs_getSelectItemIndex(curItemIn), new_item);
+ dComIfGp_setSelectItem(curItemIn);
}
}
#else
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
-asm void dSv_player_item_c::setEquipBottleItemIn(u8 param_0, u8 param_1) {
+asm void dSv_player_item_c::setEquipBottleItemIn(u8 curItemIn, u8 newItemIn) {
nofralloc
#include "asm/d/save/d_save/setEquipBottleItemIn__17dSv_player_item_cFUcUc.s"
}
#pragma pop
#endif
-void dSv_player_item_c::setEquipBottleItemEmpty(u8 selected_index) {
- setEquipBottleItemIn(selected_index, EMPTY_BOTTLE);
+void dSv_player_item_c::setEquipBottleItemEmpty(u8 curItemIn) {
+ setEquipBottleItemIn(curItemIn, EMPTY_BOTTLE);
}
-u8 dSv_player_item_c::checkBottle(u8 i_item_id) {
- u8 item_id;
+u8 dSv_player_item_c::checkBottle(u8 i_itemNo) {
u8 num_bottles = 0;
+ u8 item_id = dSv_item_rename(i_itemNo);
- item_id = dSv_item_rename(i_item_id);
for (int i = 0; i < BOTTLE_MAX; i++) {
if (item_id == mItems[i + SLOT_11]) {
num_bottles++;
@@ -790,31 +769,27 @@ BOOL dSv_player_item_c::checkInsectBottle() {
}
u8 dSv_player_item_c::checkEmptyBottle() {
- u8 num = 0;
+ u8 bottleNum = 0;
for (int i = 0; i < BOTTLE_MAX; i++) {
- // Loop through the bottle slots (11 - 14) and increment counter for every empty bottle
if (mItems[i + SLOT_11] == EMPTY_BOTTLE) {
- num++;
+ bottleNum++;
}
}
- return num;
+ return bottleNum;
}
-void dSv_player_item_c::setBombBagItemIn(u8 param_0, u8 param_1, bool param_2) {
- int i = 0;
- for (; i < 3; i++) {
- if (param_0 == mItems[i + SLOT_15]) {
- setItem(i + SLOT_15, param_1);
+void dSv_player_item_c::setBombBagItemIn(u8 curBomb, u8 newBomb, bool setNum) {
+ for (int i = 0; i < 3; i++) {
+ if (curBomb == mItems[i + SLOT_15]) {
+ setItem(i + SLOT_15, newBomb);
- if (param_2 == 1 && param_1 != BOMB_BAG_LV1) {
- u8 bombMax = dComIfGs_getBombMax(param_1);
- dComIfGs_setBombNum(i, bombMax);
+ if (setNum == true && newBomb != BOMB_BAG_LV1) {
+ dComIfGs_setBombNum(i, dComIfGs_getBombMax(newBomb));
}
for (int j = 0; j < 3; j++) {
- u8 selectItem = dComIfGs_getSelectItemIndex(j);
- if (i + SLOT_15 == selectItem) {
+ if (i + SLOT_15 == dComIfGs_getSelectItemIndex(j)) {
dComIfGp_setSelectItem(j);
}
}
@@ -823,23 +798,20 @@ void dSv_player_item_c::setBombBagItemIn(u8 param_0, u8 param_1, bool param_2) {
}
}
-void dSv_player_item_c::setBombBagItemIn(u8 param_0, u8 param_1, u8 param_2, bool param_3) {
- int i = 0;
- for (; i < 3; i++) {
- if (param_0 == mItems[i + SLOT_15]) {
- setItem(i + SLOT_15, param_1);
+void dSv_player_item_c::setBombBagItemIn(u8 curBomb, u8 newBomb, u8 bombNum, bool setNum) {
+ for (int i = 0; i < 3; i++) {
+ if (curBomb == mItems[i + SLOT_15]) {
+ setItem(i + SLOT_15, newBomb);
- if (param_3 == 1 && param_1 != BOMB_BAG_LV1) {
- u8 bombMax = dComIfGs_getBombMax(param_1);
- if (param_2 > bombMax) {
- param_2 = dComIfGs_getBombMax(param_1);
+ if (setNum == 1 && newBomb != BOMB_BAG_LV1) {
+ if (bombNum > dComIfGs_getBombMax(newBomb)) {
+ bombNum = dComIfGs_getBombMax(newBomb);
}
- dComIfGs_setBombNum(i, param_2);
+ dComIfGs_setBombNum(i, bombNum);
}
for (int j = 0; j < 3; j++) {
- u8 selectItem = dComIfGs_getSelectItemIndex(j);
- if (i + SLOT_15 == selectItem) {
+ if (i + SLOT_15 == dComIfGs_getSelectItemIndex(j)) {
dComIfGp_setSelectItem(j);
}
}
@@ -848,72 +820,66 @@ void dSv_player_item_c::setBombBagItemIn(u8 param_0, u8 param_1, u8 param_2, boo
}
}
-void dSv_player_item_c::setEmptyBombBagItemIn(u8 param_1, bool param_2) {
- setBombBagItemIn(BOMB_BAG_LV1, param_1, param_2);
+void dSv_player_item_c::setEmptyBombBagItemIn(u8 newBomb, bool setNum) {
+ setBombBagItemIn(BOMB_BAG_LV1, newBomb, setNum);
}
-void dSv_player_item_c::setEmptyBombBagItemIn(u8 param_1, u8 param_2, bool param_3) {
- setBombBagItemIn(BOMB_BAG_LV1, param_1, param_2, param_3);
+void dSv_player_item_c::setEmptyBombBagItemIn(u8 newBomb, u8 bombNum, bool setNum) {
+ setBombBagItemIn(BOMB_BAG_LV1, newBomb, bombNum, setNum);
}
void dSv_player_item_c::setEmptyBombBag() {
for (int i = 0; i < 3; i++) {
- if (dComIfGs_getItem((u8)(i + SLOT_15), true) == 0xff) {
+ if (dComIfGs_getItem((u8)(i + SLOT_15), true) == NO_ITEM) {
dComIfGs_setItem((u8)(i + SLOT_15), BOMB_BAG_LV1);
return;
}
}
}
-void dSv_player_item_c::setEmptyBombBag(u8 param_0, u8 param_1) {
+void dSv_player_item_c::setEmptyBombBag(u8 newBomb, u8 bombNum) {
for (int i = 0; i < 3; i++) {
- if (dComIfGs_getItem((u8)(i + SLOT_15), true) == 0xff) {
- dComIfGs_setItem((u8)(i + SLOT_15), param_0);
+ if (dComIfGs_getItem((u8)(i + SLOT_15), true) == NO_ITEM) {
+ dComIfGs_setItem((u8)(i + SLOT_15), newBomb);
- if (param_0 == BOMB_BAG_LV1) {
+ if (newBomb == BOMB_BAG_LV1) {
return;
}
- if (param_1 > dComIfGs_getBombMax(param_0)) {
- param_1 = dComIfGs_getBombMax(param_0);
+ if (bombNum > dComIfGs_getBombMax(newBomb)) {
+ bombNum = dComIfGs_getBombMax(newBomb);
}
- dComIfGs_setBombNum(i, param_1);
+ dComIfGs_setBombNum(i, bombNum);
return;
}
}
}
-u8 dSv_player_item_c::checkBombBag(u8 param_1) {
- u8 counter = 0;
+u8 dSv_player_item_c::checkBombBag(u8 i_itemNo) {
+ u8 bombBags = 0;
for (int i = 0; i < BOMB_BAG_MAX; i++) {
- // Loop through the bomb bag slots (15 - 17) and increment counter for every match
- if (param_1 == mItems[i + SLOT_15]) {
- counter++;
+ if (i_itemNo == mItems[i + SLOT_15]) {
+ bombBags++;
}
}
- return counter;
+ return bombBags;
}
-void dSv_player_item_c::setWarashibeItem(u8 i_item_id) {
- u32 select_item_index;
-
- dComIfGs_setItem(SLOT_21, i_item_id);
- dComIfGp_setItem(SLOT_21, i_item_id);
+void dSv_player_item_c::setWarashibeItem(u8 i_itemNo) {
+ dComIfGs_setItem(SLOT_21, i_itemNo);
+ dComIfGp_setItem(SLOT_21, i_itemNo);
for (int i = 0; i < 4; i++) {
- select_item_index = dComIfGs_getSelectItemIndex((u8)i);
- if (select_item_index == SLOT_21) {
+ if (dComIfGs_getSelectItemIndex((u8)i) == SLOT_21) {
dComIfGp_setSelectItem((u8)i);
}
}
}
void dSv_player_item_c::setRodTypeLevelUp() {
- int current_fishing_rod_item_id = mItems[SLOT_20];
-
- switch (current_fishing_rod_item_id) {
+ switch (mItems[SLOT_20]) {
case BEE_ROD: {
mItems[SLOT_20] = JEWEL_BEE_ROD;
break;
@@ -933,8 +899,8 @@ void dSv_player_item_c::setRodTypeLevelUp() {
}
}
-void dSv_player_item_c::setBaitItem(u8 param_1) {
- switch (param_1) {
+void dSv_player_item_c::setBaitItem(u8 i_itemNo) {
+ switch (i_itemNo) {
case BEE_CHILD: {
dComIfGs_isItemFirstBit(ZORAS_JEWEL) ? mItems[SLOT_20] = JEWEL_BEE_ROD :
mItems[SLOT_20] = BEE_ROD;
@@ -966,17 +932,14 @@ void dSv_player_get_item_c::init() {
/* 80033E60-80033E94 02E7A0 0034+00 0/0 3/3 1/1 .text onFirstBit__21dSv_player_get_item_cFUc */
// this is a few instructions off
#ifdef NONMATCHING
-void dSv_player_get_item_c::onFirstBit(u8 i_itemno) {
- int tmp = (int)i_itemno;
- int tmp2 = (i_itemno >> 3) & 0xE0;
- // int uVar1 = ;
- mItemFlags[tmp2] |= 1 << (tmp & 0x1F);
+void dSv_player_get_item_c::onFirstBit(u8 i_itemNo) {
+ mItemFlags[i_itemNo >> 5] |= (1 << (i_itemNo & 0x1F));
}
#else
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
-asm void dSv_player_get_item_c::onFirstBit(u8 param_0) {
+asm void dSv_player_get_item_c::onFirstBit(u8 i_itemNo) {
nofralloc
#include "asm/d/save/d_save/onFirstBit__21dSv_player_get_item_cFUc.s"
}
@@ -987,7 +950,7 @@ asm void dSv_player_get_item_c::onFirstBit(u8 param_0) {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
-asm void dSv_player_get_item_c::offFirstBit(u8 param_0) {
+asm void dSv_player_get_item_c::offFirstBit(u8 i_itemNo) {
nofralloc
#include "asm/d/save/d_save/offFirstBit__21dSv_player_get_item_cFUc.s"
}
@@ -997,7 +960,7 @@ asm void dSv_player_get_item_c::offFirstBit(u8 param_0) {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
-asm int dSv_player_get_item_c::isFirstBit(u8 param_0) const {
+asm int dSv_player_get_item_c::isFirstBit(u8 i_itemNo) const {
nofralloc
#include "asm/d/save/d_save/isFirstBit__21dSv_player_get_item_cCFUc.s"
}
@@ -1033,18 +996,19 @@ void dSv_player_item_record_c::setBottleNum(u8 i_bottleIdx, u8 bottle_num) {
mBottleNum[i_bottleIdx] = bottle_num;
}
-u8 dSv_player_item_record_c::addBottleNum(u8 i_bottleIdx, s16 param_2) {
- int iVar3 = mBottleNum[i_bottleIdx] + param_2;
+u8 dSv_player_item_record_c::addBottleNum(u8 i_bottleIdx, s16 num) {
+ int bottleNum = mBottleNum[i_bottleIdx] + num;
- dComIfGs_getItem((u8)(i_bottleIdx + 0xB), true);
+ dComIfGs_getItem((u8)(i_bottleIdx + SLOT_11), true);
- if (iVar3 < 0) {
+ if (bottleNum < 0) {
mBottleNum[i_bottleIdx] = 0;
- } else if (iVar3 > dComIfGs_getBottleMax()) {
+ } else if (bottleNum > dComIfGs_getBottleMax()) {
mBottleNum[i_bottleIdx] = dComIfGs_getBottleMax();
} else {
- mBottleNum[i_bottleIdx] = iVar3;
+ mBottleNum[i_bottleIdx] = bottleNum;
}
+
return mBottleNum[i_bottleIdx];
}
@@ -1076,21 +1040,19 @@ void dSv_player_item_max_c::setBombNum(u8 bomb_id, u8 bomb_max) {
}
}
-u8 dSv_player_item_max_c::getBombNum(u8 param_1) const {
- u8 iVar3;
-
- iVar3 = 0x1;
+u8 dSv_player_item_max_c::getBombNum(u8 bombId) const {
+ u8 lv_multiplier = 1;
if (dComIfGs_isItemFirstBit(BOMB_BAG_LV2)) {
- iVar3 = 0x2;
+ lv_multiplier = 2;
}
- switch (param_1) {
+ switch (bombId) {
case NORMAL_BOMB:
- return (u8)(mItemMax[NORMAL_BOMB_MAX] * iVar3);
+ return (u8)(mItemMax[NORMAL_BOMB_MAX] * lv_multiplier);
case WATER_BOMB:
- return (u8)(mItemMax[WATER_BOMB_MAX] * iVar3);
+ return (u8)(mItemMax[WATER_BOMB_MAX] * lv_multiplier);
case POKE_BOMB:
- return (u8)(mItemMax[POKE_BOMB_MAX] * iVar3);
+ return (u8)(mItemMax[POKE_BOMB_MAX] * lv_multiplier);
default:
return 0;
}
@@ -1152,27 +1114,27 @@ void dSv_light_drop_c::init() {
}
}
-void dSv_light_drop_c::setLightDropNum(u8 i_nowLevel, u8 param_2) {
- if ((i_nowLevel < LIGHT_DROP_STAGE) || (i_nowLevel > 6)) {
- mLightDropNum[i_nowLevel] = param_2;
+void dSv_light_drop_c::setLightDropNum(u8 i_nowLevel, u8 dropNum) {
+ if (i_nowLevel < LIGHT_DROP_STAGE || i_nowLevel > 6) {
+ mLightDropNum[i_nowLevel] = dropNum;
}
}
u8 dSv_light_drop_c::getLightDropNum(u8 i_nowLevel) const {
- if ((i_nowLevel >= LIGHT_DROP_STAGE) && (i_nowLevel <= 6)) {
+ if (i_nowLevel >= LIGHT_DROP_STAGE && i_nowLevel <= 6) {
return 0;
}
return mLightDropNum[i_nowLevel];
}
void dSv_light_drop_c::onLightDropGetFlag(u8 i_nowLevel) {
- if ((i_nowLevel < LIGHT_DROP_STAGE) || (i_nowLevel > 6)) {
+ if (i_nowLevel < LIGHT_DROP_STAGE || i_nowLevel > 6) {
mLightDropGetFlag |= (u8)(1 << i_nowLevel);
}
}
BOOL dSv_light_drop_c::isLightDropGetFlag(u8 i_nowLevel) const {
- if ((i_nowLevel >= LIGHT_DROP_STAGE) && (i_nowLevel <= 6)) {
+ if (i_nowLevel >= LIGHT_DROP_STAGE && i_nowLevel <= 6) {
return 0;
}
return mLightDropGetFlag & (u8)(1 << i_nowLevel) ? TRUE : FALSE;
@@ -1190,15 +1152,15 @@ void dSv_letter_info_c::init() {
}
void dSv_letter_info_c::onLetterGetFlag(int i_no) {
- mLetterGetFlags[i_no >> 0x5] |= 0x1 << (i_no & 0x1F);
+ mLetterGetFlags[i_no >> 5] |= 1 << (i_no & 0x1F);
}
BOOL dSv_letter_info_c::isLetterGetFlag(int i_no) const {
- return mLetterGetFlags[i_no >> 0x5] & (1 << (i_no & 0x1F)) ? TRUE : FALSE;
+ return mLetterGetFlags[i_no >> 5] & (1 << (i_no & 0x1F)) ? TRUE : FALSE;
}
void dSv_letter_info_c::onLetterReadFlag(int i_no) {
- mLetterReadFlags[i_no >> 0x5] |= 0x1 << (i_no & 0x1F);
+ mLetterReadFlags[i_no >> 5] |= 1 << (i_no & 0x1F);
}
BOOL dSv_letter_info_c::isLetterReadFlag(int i_no) const {
@@ -1219,8 +1181,8 @@ void dSv_fishing_info_c::addFishCount(u8 fish_index) {
}
void dSv_player_info_c::init() {
- dMeter2Info_getString(0x382, (char*)mPlayerName, NULL);
- dMeter2Info_getString(0x383, (char*)mHorseName, NULL);
+ dMeter2Info_getString(0x382, mPlayerName, NULL); // Link
+ dMeter2Info_getString(0x383, mHorseName, NULL); // Epona
unk4 = 0;
unk0 = 0;
@@ -1235,11 +1197,9 @@ void dSv_player_info_c::init() {
}
void dSv_player_config_c::init() {
- u32 os_soundMode;
-
unk0 = 1;
- os_soundMode = OSGetSoundMode();
- if (os_soundMode == SOUND_MODE_MONO) {
+
+ if (OSGetSoundMode() == SOUND_MODE_MONO) {
mSoundMode = SOUND_MODE_MONO;
Z2AudioMgr::mAudioMgrPtr->setOutputMode(SOUND_MODE_MONO);
} else {
@@ -1321,7 +1281,7 @@ void dSv_memBit_c::offTbox(int i_no) {
}
BOOL dSv_memBit_c::isTbox(int i_no) const {
- return 1 << (i_no & 0x1f) & mTbox[i_no >> 0x5] ? TRUE : FALSE;
+ return 1 << (i_no & 0x1f) & mTbox[i_no >> 5] ? TRUE : FALSE;
}
void dSv_memBit_c::onSwitch(int i_no) {
@@ -1332,22 +1292,22 @@ void dSv_memBit_c::offSwitch(int i_no) {
}
BOOL dSv_memBit_c::isSwitch(int i_no) const {
- return (mSwitch[i_no >> 0x5] & 0x1 << (i_no & 0x1F)) ? TRUE : FALSE;
+ return (mSwitch[i_no >> 5] & 1 << (i_no & 0x1F)) ? TRUE : FALSE;
}
/* 8003488C-800348C4 02F1CC 0038+00 1/1 0/0 0/0 .text revSwitch__12dSv_memBit_cFi */
// instruction in wrong place
#ifdef NONMATCHING
BOOL dSv_memBit_c::revSwitch(int i_no) {
- unsigned int tmp = 1 << (i_no & 0x1F);
- (mTbox + (i_no >> 0x5))[0x2] ^= tmp;
- return (mTbox + (i_no >> 0x5))[0x2] & tmp ? TRUE : FALSE;
+ u32 tmp = 1 << (i_no & 0x1F);
+ mSwitch[i_no >> 5] ^= tmp;
+ return mSwitch[i_no >> 5] & tmp ? TRUE : FALSE;
}
#else
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
-asm int dSv_memBit_c::revSwitch(int param_0) {
+asm int dSv_memBit_c::revSwitch(int i_no) {
nofralloc
#include "asm/d/save/d_save/revSwitch__12dSv_memBit_cFi.s"
}
@@ -1359,7 +1319,7 @@ void dSv_memBit_c::onItem(int i_no) {
}
BOOL dSv_memBit_c::isItem(int i_no) const {
- return (mItem[i_no >> 0x5] & 1 << (i_no & 0x1F)) ? TRUE : FALSE;
+ return (mItem[i_no >> 5] & 1 << (i_no & 0x1F)) ? TRUE : FALSE;
}
void dSv_memBit_c::onDungeonItem(int i_no) {
@@ -1389,14 +1349,13 @@ BOOL dSv_event_c::isEventBit(u16 i_no) const {
return mEvent[(i_no >> 8)] & (i_no & 0xFF) ? TRUE : FALSE;
}
-void dSv_event_c::setEventReg(u16 param_1, u8 param_2) {
- u8 uVar1 = (param_1 >> 8);
- mEvent[uVar1] &= ~(u8)param_1;
- mEvent[uVar1] |= param_2;
+void dSv_event_c::setEventReg(u16 i_reg, u8 i_no) {
+ mEvent[i_reg >> 8] &= ~(u8)i_reg;
+ mEvent[i_reg >> 8] |= i_no;
}
-u8 dSv_event_c::getEventReg(u16 param_1) const {
- return (u8)param_1 & mEvent[param_1 >> 8];
+u8 dSv_event_c::getEventReg(u16 i_reg) const {
+ return (u8)i_reg & mEvent[i_reg >> 8];
}
void dSv_MiniGame_c::init() {
@@ -1429,8 +1388,8 @@ void dSv_memory2_c::offVisitedRoom(int i_no) {
mVisitedRoom[i_no >> 5] &= ~(1 << (i_no & 0x1F));
}
-BOOL dSv_memory2_c::isVisitedRoom(int param_1) {
- return (1 << (param_1 & 0x1F) & mVisitedRoom[param_1 >> 5]) ? TRUE : FALSE;
+BOOL dSv_memory2_c::isVisitedRoom(int i_no) {
+ return (1 << (i_no & 0x1F) & mVisitedRoom[i_no >> 5]) ? TRUE : FALSE;
}
bool dSv_danBit_c::init(s8 i_stage) {
@@ -1466,7 +1425,7 @@ void dSv_danBit_c::offSwitch(int i_no) {
}
BOOL dSv_danBit_c::isSwitch(int i_no) const {
- return mSwitch[i_no >> 0x5] & (0x1 << (i_no & 0x1F)) ? TRUE : FALSE;
+ return mSwitch[i_no >> 5] & (1 << (i_no & 0x1F)) ? TRUE : FALSE;
}
BOOL dSv_danBit_c::revSwitch(int i_no) {
@@ -1521,14 +1480,14 @@ BOOL dSv_zoneBit_c::isSwitch(int i_no) const {
#ifdef NONMATCHING
BOOL dSv_zoneBit_c::revSwitch(int i_no) {
int uVar1 = 1 << (i_no & 0xF);
- switch_bitfield[i_no >> 4] ^= uVar1;
- return switch_bitfield[i_no >> 4] & uVar1 ? TRUE : FALSE;
+ mSwitch[i_no >> 4] ^= uVar1;
+ return mSwitch[i_no >> 4] & uVar1 ? TRUE : FALSE;
}
#else
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
-asm int dSv_zoneBit_c::revSwitch(int param_0) {
+asm int dSv_zoneBit_c::revSwitch(int i_no) {
nofralloc
#include "asm/d/save/d_save/revSwitch__13dSv_zoneBit_cFi.s"
}
@@ -1646,11 +1605,11 @@ void dSv_info_c::initZone() {
}
}
-u32 dSv_info_c::createZone(int param_1) {
+u32 dSv_info_c::createZone(int i_roomNo) {
dSv_zone_c* zone = mZone;
for (int i = 0; i < 0x20; zone++, i++) {
if (zone->getRoomNo() < 0) {
- zone->init(param_1);
+ zone->init(i_roomNo);
return i;
}
}
@@ -1658,129 +1617,125 @@ u32 dSv_info_c::createZone(int param_1) {
}
void dSv_info_c::onSwitch(int i_no, int i_roomNo) {
- if ((i_no == -1) || (i_no == 0xFF)) {
+ if (i_no == -1 || i_no == 255) {
return;
}
- if (i_no < 0x80) {
+ if (i_no < MEMORY_SWITCH) {
mMemory.getBit().onSwitch(i_no);
- } else if (i_no < 0xc0) {
- mDan.onSwitch(i_no - 0x80);
+ } else if (i_no < (MEMORY_SWITCH + DAN_SWITCH)) {
+ mDan.onSwitch(i_no - MEMORY_SWITCH);
} else {
int zoneId = dStage_roomControl_c::getZoneNo(i_roomNo);
- if (i_no < 0xE0) {
- mZone[zoneId].getZoneBit().onSwitch(i_no - 0xC0);
+ if (i_no < (MEMORY_SWITCH + DAN_SWITCH + ZONE_SWITCH)) {
+ mZone[zoneId].getZoneBit().onSwitch(i_no - (MEMORY_SWITCH + DAN_SWITCH));
} else {
- mZone[zoneId].getZoneBit().onOneSwitch(i_no - 0xE0);
+ mZone[zoneId].getZoneBit().onOneSwitch(i_no -
+ (MEMORY_SWITCH + DAN_SWITCH + ZONE_SWITCH));
}
}
}
void dSv_info_c::offSwitch(int i_no, int i_roomNo) {
- if ((i_no == -1) || (i_no == 0xFF)) {
+ if (i_no == -1 || i_no == 255) {
return;
}
- if (i_no < 0x80) {
+ if (i_no < MEMORY_SWITCH) {
mMemory.getBit().offSwitch(i_no);
- } else if (i_no < 0xc0) {
- mDan.offSwitch(i_no - 0x80);
+ } else if (i_no < (MEMORY_SWITCH + DAN_SWITCH)) {
+ mDan.offSwitch(i_no - MEMORY_SWITCH);
} else {
int zoneId = dStage_roomControl_c::getZoneNo(i_roomNo);
- if (i_no < 0xE0) {
- mZone[zoneId].getZoneBit().offSwitch(i_no - 0xC0);
+ if (i_no < (MEMORY_SWITCH + DAN_SWITCH + ZONE_SWITCH)) {
+ mZone[zoneId].getZoneBit().offSwitch(i_no - (MEMORY_SWITCH + DAN_SWITCH));
} else {
- mZone[zoneId].getZoneBit().offOneSwitch(i_no - 0xE0);
+ mZone[zoneId].getZoneBit().offOneSwitch(i_no -
+ (MEMORY_SWITCH + DAN_SWITCH + ZONE_SWITCH));
}
}
}
BOOL dSv_info_c::isSwitch(int i_no, int i_roomNo) const {
- int value;
- if ((i_no == -1) || (i_no == 0xFF)) {
+ if (i_no == -1 || i_no == 255) {
return FALSE;
}
- if (i_no < 0x80) {
- value = mMemory.getBit().isSwitch(i_no);
- } else if (i_no < 0xc0) {
- value = mDan.isSwitch(i_no - 0x80);
+ if (i_no < MEMORY_SWITCH) {
+ return mMemory.getBit().isSwitch(i_no);
+ } else if (i_no < (MEMORY_SWITCH + DAN_SWITCH)) {
+ return mDan.isSwitch(i_no - MEMORY_SWITCH);
} else {
int zoneId = dStage_roomControl_c::getZoneNo(i_roomNo);
- if ((zoneId < 0) || (zoneId >= 0x20)) {
- value = FALSE;
+ if (zoneId < 0 || zoneId >= ZONE_MAX) {
+ return FALSE;
} else {
- if (i_no < 0xE0) {
- value = mZone[zoneId].getBit().isSwitch(i_no - 0xC0);
+ if (i_no < (MEMORY_SWITCH + DAN_SWITCH + ZONE_SWITCH)) {
+ return mZone[zoneId].getBit().isSwitch(i_no - (MEMORY_SWITCH + DAN_SWITCH));
} else {
- value = mZone[zoneId].getBit().isOneSwitch(i_no - 0xE0);
+ return mZone[zoneId].getBit().isOneSwitch(
+ i_no - (MEMORY_SWITCH + DAN_SWITCH + ZONE_SWITCH));
}
}
}
- return value;
}
BOOL dSv_info_c::revSwitch(int i_no, int i_roomNo) {
- int value;
- if ((i_no == -1) || (i_no == 0xFF)) {
+ if (i_no == -1 || i_no == 255) {
return FALSE;
}
- if (i_no < 0x80) {
- value = mMemory.getBit().revSwitch(i_no);
- } else if (i_no < 0xC0) {
- value = mDan.revSwitch(i_no - 0x80);
+ if (i_no < MEMORY_SWITCH) {
+ return mMemory.getBit().revSwitch(i_no);
+ } else if (i_no < (MEMORY_SWITCH + DAN_SWITCH)) {
+ return mDan.revSwitch(i_no - MEMORY_SWITCH);
} else {
int zoneNo = dStage_roomControl_c::getZoneNo(i_roomNo);
- if (i_no < 0xE0) {
- value = mZone[zoneNo].getZoneBit().revSwitch(i_no - 0xC0);
+ if (i_no < (MEMORY_SWITCH + DAN_SWITCH + ZONE_SWITCH)) {
+ return mZone[zoneNo].getZoneBit().revSwitch(i_no - (MEMORY_SWITCH + DAN_SWITCH));
} else {
- value = mZone[zoneNo].getZoneBit().revOneSwitch(i_no - 0xE0);
+ return mZone[zoneNo].getZoneBit().revOneSwitch(
+ i_no - (MEMORY_SWITCH + DAN_SWITCH + ZONE_SWITCH));
}
}
-
- return value;
}
void dSv_info_c::onItem(int i_no, int i_roomNo) {
- if ((i_no == -1) || (i_no == 0xFF)) {
+ if (i_no == -1 || i_no == 255) {
return;
}
- if (i_no < 0x80) {
+ if (i_no < MEMORY_ITEM) {
mDan.onItem(i_no);
- } else if (i_no < 0xA0) {
- mMemory.getBit().onItem(i_no - 0x80);
+ } else if (i_no < (MEMORY_ITEM + DAN_ITEM)) {
+ mMemory.getBit().onItem(i_no - MEMORY_ITEM);
} else {
int zoneNo = dStage_roomControl_c::getZoneNo(i_roomNo);
- if (i_no < 0xC0) {
- mZone[zoneNo].getZoneBit().onItem(i_no - 0xA0);
+ if (i_no < (MEMORY_ITEM + DAN_ITEM + ZONE_ITEM)) {
+ mZone[zoneNo].getZoneBit().onItem(i_no - (MEMORY_ITEM + DAN_ITEM));
} else {
- mZone[zoneNo].getZoneBit().onOneItem(i_no - 0xC0);
+ mZone[zoneNo].getZoneBit().onOneItem(i_no - (MEMORY_ITEM + DAN_ITEM + ZONE_ITEM));
}
}
}
BOOL dSv_info_c::isItem(int i_no, int i_roomNo) const {
- int value;
- if ((i_no == -1) || (i_no == 0xFF)) {
+ if (i_no == -1 || i_no == 255) {
return FALSE;
}
- if (i_no < 0x80) {
- value = mDan.isItem(i_no);
- } else if (i_no < 0xA0) {
- value = mMemory.getBit().isItem(i_no - 0x80);
+ if (i_no < MEMORY_ITEM) {
+ return mDan.isItem(i_no);
+ } else if (i_no < (MEMORY_ITEM + DAN_ITEM)) {
+ return mMemory.getBit().isItem(i_no - MEMORY_ITEM);
} else {
int zoneNo = dStage_roomControl_c::getZoneNo(i_roomNo);
- if (i_no < 0xC0) {
- value = mZone[zoneNo].getBit().isItem(i_no - 0xA0);
+ if (i_no < (MEMORY_ITEM + DAN_ITEM + ZONE_ITEM)) {
+ return mZone[zoneNo].getBit().isItem(i_no - (MEMORY_ITEM + DAN_ITEM));
} else {
- value = mZone[zoneNo].getBit().isOneItem(i_no - 0xC0);
+ return mZone[zoneNo].getBit().isOneItem(i_no - (MEMORY_ITEM + DAN_ITEM + ZONE_ITEM));
}
}
-
- return value;
}
void dSv_info_c::onActor(int i_id, int i_roomNo) {
@@ -1821,7 +1776,7 @@ SECTION_DEAD static char const* const stringBase_8037926C = "SAVE size:%d\n";
/* 80035798-80035A04 0300D8 026C+00 0/0 1/1 0/0 .text memory_to_card__10dSv_info_cFPci */
// lots of regalloc issues
#ifdef NONMATCHING
-int dSv_info_c::memory_to_card(char* card_ptr, int data_num) {
+int dSv_info_c::memory_to_card(char* card_ptr, int dataNum) {
bool lantern_not_recovered = false;
s32 lantern_stolen;
s32 lantern_dropped;
@@ -1843,7 +1798,7 @@ int dSv_info_c::memory_to_card(char* card_ptr, int data_num) {
phi_r30 = true;
}
- char* save_ptr = card_ptr + (data_num * 0xA94); // 0xA94 = Quest Log size
+ char* save_ptr = card_ptr + (dataNum * 0xA94); // 0xA94 = Quest Log size
dSv_save_c* savedata = dComIfGs_getSaveData();
s64 play_time = (OSGetTime() - dComIfGs_getSaveStartTime());
@@ -1879,7 +1834,7 @@ int dSv_info_c::memory_to_card(char* card_ptr, int data_num) {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
-asm int dSv_info_c::memory_to_card(char* param_0, int param_1) {
+asm int dSv_info_c::memory_to_card(char* card_ptr, int dataNum) {
nofralloc
#include "asm/d/save/d_save/memory_to_card__10dSv_info_cFPci.s"
}
@@ -1896,8 +1851,8 @@ SECTION_DEAD static char const* const stringBase_8037927A = "LOAD size:%d\n";
/* 80035A04-80035BD0 030344 01CC+00 0/0 2/2 0/0 .text card_to_memory__10dSv_info_cFPci */
// memcpy param loads out of order
#ifdef NONMATCHING
-int dSv_info_c::card_to_memory(char* param_0, int param_1) {
- memcpy(dComIfGs_getSaveData(), param_0 + param_1 * 0xa94, sizeof(dSv_save_c));
+int dSv_info_c::card_to_memory(char* card_ptr, int dataNum) {
+ memcpy(dComIfGs_getSaveData(), card_ptr + dataNum * 0xa94, sizeof(dSv_save_c));
if (OSGetSoundMode() == SOUND_MODE_MONO) {
g_dComIfG_gameInfo.info.getPlayer().getConfig().setSound(SOUND_MODE_MONO);
@@ -1940,7 +1895,7 @@ int dSv_info_c::card_to_memory(char* param_0, int param_1) {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
-asm int dSv_info_c::card_to_memory(char* param_0, int param_1) {
+asm int dSv_info_c::card_to_memory(char* card_ptr, int dataNum) {
nofralloc
#include "asm/d/save/d_save/card_to_memory__10dSv_info_cFPci.s"
}
@@ -1959,8 +1914,8 @@ SECTION_DEAD static char const* const pad_80379296 = "\0";
/* 80035BD0-80035C88 030510 00B8+00 0/0 3/3 0/0 .text initdata_to_card__10dSv_info_cFPci
*/
#ifdef NONMATCHING
-int dSv_info_c::initdata_to_card(char* param_0, int fileNo) {
- char* ptr = param_0 + (fileNo * 0xa94);
+int dSv_info_c::initdata_to_card(char* card_ptr, int dataNum) {
+ char* ptr = card_ptr + (dataNum * 0xa94);
dSv_save_c tmp;
tmp.init();
@@ -1974,7 +1929,7 @@ int dSv_info_c::initdata_to_card(char* param_0, int fileNo) {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
-asm int dSv_info_c::initdata_to_card(char* param_0, int param_1) {
+asm int dSv_info_c::initdata_to_card(char* card_ptr, int dataNum) {
nofralloc
#include "asm/d/save/d_save/initdata_to_card__10dSv_info_cFPci.s"
}
diff --git a/src/d/save/d_save_HIO.cpp b/src/d/save/d_save_HIO.cpp
index 7194c85059..f7092ae539 100644
--- a/src/d/save/d_save_HIO.cpp
+++ b/src/d/save/d_save_HIO.cpp
@@ -4,128 +4,11 @@
//
#include "d/save/d_save_HIO.h"
+#include "d/com/d_com_inf_game.h"
#include "dol2asm.h"
#include "dolphin/types.h"
//
-// Types:
-//
-
-struct dSv_player_status_b_c {
- /* 80032BB0 */ void isDarkClearLV(int) const;
- /* 80032BEC */ void isTransformLV(int) const;
-};
-
-struct dSv_memBit_c {
- /* 800347E8 */ void isTbox(int) const;
- /* 80034860 */ void isSwitch(int) const;
- /* 800348EC */ void isItem(int) const;
-};
-
-struct dSv_light_drop_c {
- /* 80034340 */ void getLightDropNum(u8) const;
- /* 8003439C */ void isLightDropGetFlag(u8) const;
-};
-
-struct dSv_event_c {
- /* 800349BC */ void isEventBit(u16) const;
-};
-
-struct dSv_danBit_c {
- /* 80034BE8 */ void isSwitch(int) const;
- /* 80034C74 */ void isItem(int) const;
-};
-
-struct dSvBit_childTreasureHIO_c {
- /* 8025C874 */ ~dSvBit_childTreasureHIO_c();
-};
-
-struct dSvBit_childTransformHIO_c {
- /* 8025C0A0 */ dSvBit_childTransformHIO_c();
- /* 8025C0D4 */ void init();
- /* 8025C2E4 */ ~dSvBit_childTransformHIO_c();
-};
-
-struct dSvBit_childTbPerfectionHIO_c {
- /* 8025BF68 */ dSvBit_childTbPerfectionHIO_c();
- /* 8025BF9C */ void init();
- /* 8025C374 */ ~dSvBit_childTbPerfectionHIO_c();
-};
-
-struct dSvBit_childSwitchHIO_c {
- /* 8025C970 */ ~dSvBit_childSwitchHIO_c();
-};
-
-struct dSvBit_childSwZoneHIO_c {
- /* 8025BCB0 */ dSvBit_childSwZoneHIO_c();
- /* 8025BCE4 */ void init();
- /* 8025C524 */ ~dSvBit_childSwZoneHIO_c();
-};
-
-struct dSvBit_childSwPerfectionHIO_c {
- /* 8025BB78 */ dSvBit_childSwPerfectionHIO_c();
- /* 8025BBAC */ void init();
- /* 8025C5B4 */ ~dSvBit_childSwPerfectionHIO_c();
-};
-
-struct dSvBit_childSwOneZoneHIO_c {
- /* 8025BD10 */ dSvBit_childSwOneZoneHIO_c();
- /* 8025BD44 */ void init();
- /* 8025C4DC */ ~dSvBit_childSwOneZoneHIO_c();
-};
-
-struct dSvBit_childSwDungeonHIO_c {
- /* 8025BC14 */ dSvBit_childSwDungeonHIO_c();
- /* 8025BC48 */ void init();
- /* 8025C56C */ ~dSvBit_childSwDungeonHIO_c();
-};
-
-struct dSvBit_childOtherHIO_c {
- /* 8025C13C */ dSvBit_childOtherHIO_c();
- /* 8025C178 */ void init();
- /* 8025C29C */ ~dSvBit_childOtherHIO_c();
-};
-
-struct dSvBit_childItemHIO_c {
- /* 8025C8D4 */ ~dSvBit_childItemHIO_c();
-};
-
-struct dSvBit_childItZoneHIO_c {
- /* 8025BEA8 */ dSvBit_childItZoneHIO_c();
- /* 8025BEDC */ void init();
- /* 8025C404 */ ~dSvBit_childItZoneHIO_c();
-};
-
-struct dSvBit_childItPerfectionHIO_c {
- /* 8025BD70 */ dSvBit_childItPerfectionHIO_c();
- /* 8025BDA4 */ void init();
- /* 8025C494 */ ~dSvBit_childItPerfectionHIO_c();
-};
-
-struct dSvBit_childItOneZoneHIO_c {
- /* 8025BF08 */ dSvBit_childItOneZoneHIO_c();
- /* 8025BF3C */ void init();
- /* 8025C3BC */ ~dSvBit_childItOneZoneHIO_c();
-};
-
-struct dSvBit_childItDungeonHIO_c {
- /* 8025BE0C */ dSvBit_childItDungeonHIO_c();
- /* 8025BE40 */ void init();
- /* 8025C44C */ ~dSvBit_childItDungeonHIO_c();
-};
-
-struct dSvBit_childDarknessHIO_c {
- /* 8025C004 */ dSvBit_childDarknessHIO_c();
- /* 8025C038 */ void init();
- /* 8025C32C */ ~dSvBit_childDarknessHIO_c();
-};
-
-struct dSvBit_HIO_c {
- /* 8025C1F8 */ void init();
- /* 8025C6FC */ ~dSvBit_HIO_c();
-};
-
-//
// Forward References:
//
@@ -190,7 +73,6 @@ extern "C" void __dl__FPv();
extern "C" void __register_global_object();
extern "C" void _savegpr_29();
extern "C" void _restgpr_29();
-extern "C" extern u8 g_dComIfG_gameInfo[122384];
//
// Declarations:
@@ -288,14 +170,12 @@ SECTION_DATA extern void* __vt__29dSvBit_childSwPerfectionHIO_c[3] = {
};
/* 8025BB78-8025BBAC 2564B8 0034+00 1/1 0/0 0/0 .text __ct__29dSvBit_childSwPerfectionHIO_cFv */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm dSvBit_childSwPerfectionHIO_c::dSvBit_childSwPerfectionHIO_c() {
- nofralloc
-#include "asm/d/save/d_save_HIO/__ct__29dSvBit_childSwPerfectionHIO_cFv.s"
+dSvBit_childSwPerfectionHIO_c::dSvBit_childSwPerfectionHIO_c() {
+ for (int i = 0; i < 0x80; i++) {
+ field_0x5[i] = false;
+ field_0x85[i] = false;
+ }
}
-#pragma pop
/* 8025BBAC-8025BC14 2564EC 0068+00 1/1 0/0 0/0 .text init__29dSvBit_childSwPerfectionHIO_cFv */
#pragma push
@@ -452,14 +332,12 @@ asm void dSvBit_childItOneZoneHIO_c::init() {
#pragma pop
/* 8025BF68-8025BF9C 2568A8 0034+00 1/1 0/0 0/0 .text __ct__29dSvBit_childTbPerfectionHIO_cFv */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm dSvBit_childTbPerfectionHIO_c::dSvBit_childTbPerfectionHIO_c() {
- nofralloc
-#include "asm/d/save/d_save_HIO/__ct__29dSvBit_childTbPerfectionHIO_cFv.s"
+dSvBit_childTbPerfectionHIO_c::dSvBit_childTbPerfectionHIO_c() {
+ for (int i = 0; i < 0x40; i++) {
+ field_0x5[i] = false;
+ field_0x45[i] = false;
+ }
}
-#pragma pop
/* 8025BF9C-8025C004 2568DC 0068+00 1/1 0/0 0/0 .text init__29dSvBit_childTbPerfectionHIO_cFv */
#pragma push
@@ -547,7 +425,8 @@ asm void dSvBit_HIO_c::init() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
-asm dSvBit_childOtherHIO_c::~dSvBit_childOtherHIO_c() {
+// asm dSvBit_childOtherHIO_c::~dSvBit_childOtherHIO_c() {
+extern "C" asm void __dt__22dSvBit_childOtherHIO_cFv() {
nofralloc
#include "asm/d/save/d_save_HIO/__dt__22dSvBit_childOtherHIO_cFv.s"
}
@@ -557,7 +436,8 @@ asm dSvBit_childOtherHIO_c::~dSvBit_childOtherHIO_c() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
-asm dSvBit_childTransformHIO_c::~dSvBit_childTransformHIO_c() {
+// asm dSvBit_childTransformHIO_c::~dSvBit_childTransformHIO_c() {
+extern "C" asm void __dt__26dSvBit_childTransformHIO_cFv() {
nofralloc
#include "asm/d/save/d_save_HIO/__dt__26dSvBit_childTransformHIO_cFv.s"
}
@@ -568,7 +448,8 @@ asm dSvBit_childTransformHIO_c::~dSvBit_childTransformHIO_c() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
-asm dSvBit_childDarknessHIO_c::~dSvBit_childDarknessHIO_c() {
+// asm dSvBit_childDarknessHIO_c::~dSvBit_childDarknessHIO_c() {
+extern "C" asm void __dt__25dSvBit_childDarknessHIO_cFv() {
nofralloc
#include "asm/d/save/d_save_HIO/__dt__25dSvBit_childDarknessHIO_cFv.s"
}
@@ -578,7 +459,8 @@ asm dSvBit_childDarknessHIO_c::~dSvBit_childDarknessHIO_c() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
-asm dSvBit_childTbPerfectionHIO_c::~dSvBit_childTbPerfectionHIO_c() {
+// asm dSvBit_childTbPerfectionHIO_c::~dSvBit_childTbPerfectionHIO_c() {
+extern "C" asm void __dt__29dSvBit_childTbPerfectionHIO_cFv() {
nofralloc
#include "asm/d/save/d_save_HIO/__dt__29dSvBit_childTbPerfectionHIO_cFv.s"
}
@@ -588,7 +470,8 @@ asm dSvBit_childTbPerfectionHIO_c::~dSvBit_childTbPerfectionHIO_c() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
-asm dSvBit_childItOneZoneHIO_c::~dSvBit_childItOneZoneHIO_c() {
+// asm dSvBit_childItOneZoneHIO_c::~dSvBit_childItOneZoneHIO_c() {
+extern "C" asm void __dt__26dSvBit_childItOneZoneHIO_cFv() {
nofralloc
#include "asm/d/save/d_save_HIO/__dt__26dSvBit_childItOneZoneHIO_cFv.s"
}
@@ -599,7 +482,8 @@ asm dSvBit_childItOneZoneHIO_c::~dSvBit_childItOneZoneHIO_c() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
-asm dSvBit_childItZoneHIO_c::~dSvBit_childItZoneHIO_c() {
+// asm dSvBit_childItZoneHIO_c::~dSvBit_childItZoneHIO_c() {
+extern "C" asm void __dt__23dSvBit_childItZoneHIO_cFv() {
nofralloc
#include "asm/d/save/d_save_HIO/__dt__23dSvBit_childItZoneHIO_cFv.s"
}
@@ -609,7 +493,8 @@ asm dSvBit_childItZoneHIO_c::~dSvBit_childItZoneHIO_c() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
-asm dSvBit_childItDungeonHIO_c::~dSvBit_childItDungeonHIO_c() {
+// asm dSvBit_childItDungeonHIO_c::~dSvBit_childItDungeonHIO_c() {
+extern "C" asm void __dt__26dSvBit_childItDungeonHIO_cFv() {
nofralloc
#include "asm/d/save/d_save_HIO/__dt__26dSvBit_childItDungeonHIO_cFv.s"
}
@@ -619,7 +504,8 @@ asm dSvBit_childItDungeonHIO_c::~dSvBit_childItDungeonHIO_c() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
-asm dSvBit_childItPerfectionHIO_c::~dSvBit_childItPerfectionHIO_c() {
+// asm dSvBit_childItPerfectionHIO_c::~dSvBit_childItPerfectionHIO_c() {
+extern "C" asm void __dt__29dSvBit_childItPerfectionHIO_cFv() {
nofralloc
#include "asm/d/save/d_save_HIO/__dt__29dSvBit_childItPerfectionHIO_cFv.s"
}
@@ -629,7 +515,8 @@ asm dSvBit_childItPerfectionHIO_c::~dSvBit_childItPerfectionHIO_c() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
-asm dSvBit_childSwOneZoneHIO_c::~dSvBit_childSwOneZoneHIO_c() {
+// asm dSvBit_childSwOneZoneHIO_c::~dSvBit_childSwOneZoneHIO_c() {
+extern "C" asm void __dt__26dSvBit_childSwOneZoneHIO_cFv() {
nofralloc
#include "asm/d/save/d_save_HIO/__dt__26dSvBit_childSwOneZoneHIO_cFv.s"
}
@@ -640,7 +527,8 @@ asm dSvBit_childSwOneZoneHIO_c::~dSvBit_childSwOneZoneHIO_c() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
-asm dSvBit_childSwZoneHIO_c::~dSvBit_childSwZoneHIO_c() {
+// asm dSvBit_childSwZoneHIO_c::~dSvBit_childSwZoneHIO_c() {
+extern "C" asm void __dt__23dSvBit_childSwZoneHIO_cFv() {
nofralloc
#include "asm/d/save/d_save_HIO/__dt__23dSvBit_childSwZoneHIO_cFv.s"
}
@@ -650,7 +538,8 @@ asm dSvBit_childSwZoneHIO_c::~dSvBit_childSwZoneHIO_c() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
-asm dSvBit_childSwDungeonHIO_c::~dSvBit_childSwDungeonHIO_c() {
+// asm dSvBit_childSwDungeonHIO_c::~dSvBit_childSwDungeonHIO_c() {
+extern "C" asm void __dt__26dSvBit_childSwDungeonHIO_cFv() {
nofralloc
#include "asm/d/save/d_save_HIO/__dt__26dSvBit_childSwDungeonHIO_cFv.s"
}
@@ -660,7 +549,8 @@ asm dSvBit_childSwDungeonHIO_c::~dSvBit_childSwDungeonHIO_c() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
-asm dSvBit_childSwPerfectionHIO_c::~dSvBit_childSwPerfectionHIO_c() {
+// asm dSvBit_childSwPerfectionHIO_c::~dSvBit_childSwPerfectionHIO_c() {
+extern "C" asm void __dt__29dSvBit_childSwPerfectionHIO_cFv() {
nofralloc
#include "asm/d/save/d_save_HIO/__dt__29dSvBit_childSwPerfectionHIO_cFv.s"
}
@@ -722,7 +612,8 @@ REGISTER_CTORS(0x8025C5FC, __sinit_d_save_HIO_cpp);
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
-asm dSvBit_HIO_c::~dSvBit_HIO_c() {
+// asm dSvBit_HIO_c::~dSvBit_HIO_c() {
+extern "C" asm void __dt__12dSvBit_HIO_cFv() {
nofralloc
#include "asm/d/save/d_save_HIO/__dt__12dSvBit_HIO_cFv.s"
}
@@ -733,7 +624,8 @@ asm dSvBit_HIO_c::~dSvBit_HIO_c() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
-asm dSvBit_childTreasureHIO_c::~dSvBit_childTreasureHIO_c() {
+// asm dSvBit_childTreasureHIO_c::~dSvBit_childTreasureHIO_c() {
+extern "C" asm void __dt__25dSvBit_childTreasureHIO_cFv() {
nofralloc
#include "asm/d/save/d_save_HIO/__dt__25dSvBit_childTreasureHIO_cFv.s"
}
@@ -743,7 +635,8 @@ asm dSvBit_childTreasureHIO_c::~dSvBit_childTreasureHIO_c() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
-asm dSvBit_childItemHIO_c::~dSvBit_childItemHIO_c() {
+// asm dSvBit_childItemHIO_c::~dSvBit_childItemHIO_c() {
+extern "C" asm void __dt__21dSvBit_childItemHIO_cFv() {
nofralloc
#include "asm/d/save/d_save_HIO/__dt__21dSvBit_childItemHIO_cFv.s"
}
@@ -754,7 +647,8 @@ asm dSvBit_childItemHIO_c::~dSvBit_childItemHIO_c() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
-asm dSvBit_childSwitchHIO_c::~dSvBit_childSwitchHIO_c() {
+// asm dSvBit_childSwitchHIO_c::~dSvBit_childSwitchHIO_c() {
+extern "C" asm void __dt__23dSvBit_childSwitchHIO_cFv() {
nofralloc
#include "asm/d/save/d_save_HIO/__dt__23dSvBit_childSwitchHIO_cFv.s"
}
diff --git a/src/m_Do/m_Do_ext.cpp b/src/m_Do/m_Do_ext.cpp
index dc2924dfa1..08ec75cdfc 100644
--- a/src/m_Do/m_Do_ext.cpp
+++ b/src/m_Do/m_Do_ext.cpp
@@ -18,11 +18,6 @@
// Types:
//
-struct mDoExt_btpAnm {
- /* 8000D54C */ void init(J3DMaterialTable*, J3DAnmTexPattern*, int, int, f32, s16, s16);
- /* 8000D5E8 */ void entry(J3DMaterialTable*, s16);
-};
-
struct mDoExt_blkAnm {
/* 8000DA08 */ void init(J3DDeformData*, J3DAnmCluster*, int, int, f32, s16, s16);
};
@@ -530,7 +525,6 @@ extern "C" void GXClearVtxDesc();
extern "C" void GXGetTexObjWidth();
extern "C" void GXGetTexObjHeight();
extern "C" void GXSetTexCoordScaleManually();
-extern "C" void GXLoadNrmMtxImm();
extern "C" void __construct_new_array();
extern "C" void _savegpr_15();
extern "C" void _savegpr_18();
@@ -632,8 +626,8 @@ asm void mDoExt_baseAnm::play() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
-asm void mDoExt_bpkAnm::init(J3DMaterialTable* param_0, J3DAnmColor* param_1, int param_2,
- int param_3, f32 param_4, s16 param_5, s16 param_6) {
+asm int mDoExt_bpkAnm::init(J3DMaterialTable* param_0, J3DAnmColor* param_1, int param_2,
+ int param_3, f32 param_4, s16 param_5, s16 param_6) {
nofralloc
#include "asm/m_Do/m_Do_ext/init__13mDoExt_bpkAnmFP16J3DMaterialTableP11J3DAnmColoriifss.s"
}
@@ -655,8 +649,8 @@ asm void mDoExt_bpkAnm::entry(J3DMaterialTable* param_0, f32 param_1) {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
-asm void mDoExt_btpAnm::init(J3DMaterialTable* param_0, J3DAnmTexPattern* param_1, int param_2,
- int param_3, f32 param_4, s16 param_5, s16 param_6) {
+asm int mDoExt_btpAnm::init(J3DMaterialTable* param_0, J3DAnmTexPattern* param_1, int param_2,
+ int param_3, f32 param_4, s16 param_5, s16 param_6) {
nofralloc
#include "asm/m_Do/m_Do_ext/init__13mDoExt_btpAnmFP16J3DMaterialTableP16J3DAnmTexPatterniifss.s"
}
@@ -678,8 +672,8 @@ asm void mDoExt_btpAnm::entry(J3DMaterialTable* param_0, s16 param_1) {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
-asm void mDoExt_btkAnm::init(J3DMaterialTable* param_0, J3DAnmTextureSRTKey* param_1, int param_2,
- int param_3, f32 param_4, s16 param_5, s16 param_6) {
+asm int mDoExt_btkAnm::init(J3DMaterialTable* param_0, J3DAnmTextureSRTKey* param_1, int param_2,
+ int param_3, f32 param_4, s16 param_5, s16 param_6) {
nofralloc
#include "asm/m_Do/m_Do_ext/init__13mDoExt_btkAnmFP16J3DMaterialTableP19J3DAnmTextureSRTKeyiifss.s"
}
@@ -701,8 +695,8 @@ asm void mDoExt_btkAnm::entry(J3DMaterialTable* param_0, f32 param_1) {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
-asm void mDoExt_brkAnm::init(J3DMaterialTable* param_0, J3DAnmTevRegKey* param_1, int param_2,
- int param_3, f32 param_4, s16 param_5, s16 param_6) {
+asm int mDoExt_brkAnm::init(J3DMaterialTable* param_0, J3DAnmTevRegKey* param_1, int param_2,
+ int param_3, f32 param_4, s16 param_5, s16 param_6) {
nofralloc
#include "asm/m_Do/m_Do_ext/init__13mDoExt_brkAnmFP16J3DMaterialTableP15J3DAnmTevRegKeyiifss.s"
}
@@ -1452,8 +1446,8 @@ SECTION_DATA extern void* __vt__10J3DMtxCalc[11 + 1 /* padding */] = {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
-asm void mDoExt_bckAnm::init(J3DAnmTransform* param_0, int param_1, int param_2, f32 param_3,
- s16 param_4, s16 param_5, bool param_6) {
+asm int mDoExt_bckAnm::init(J3DAnmTransform* param_0, int param_1, int param_2, f32 param_3,
+ s16 param_4, s16 param_5, bool param_6) {
nofralloc
#include "asm/m_Do/m_Do_ext/init__13mDoExt_bckAnmFP15J3DAnmTransformiifssb.s"
}