mirror of
https://github.com/TwilitRealm/dusklight
synced 2026-07-27 06:31:42 -04:00
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
This commit is contained in:
@@ -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();
|
||||
|
||||
+211
-321
@@ -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"
|
||||
}
|
||||
#pragma pop
|
||||
void daItemBase_c::setShadow() {
|
||||
f32 scale = mScale.x * getShadowSize();
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 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 */;
|
||||
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());
|
||||
}
|
||||
}
|
||||
|
||||
/* 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,
|
||||
};
|
||||
|
||||
@@ -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);
|
||||
|
||||
+573
-541
File diff suppressed because it is too large
Load Diff
@@ -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"
|
||||
}
|
||||
|
||||
@@ -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 */
|
||||
|
||||
+13
-31
@@ -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;
|
||||
|
||||
+564
-4141
File diff suppressed because it is too large
Load Diff
+1
-1
@@ -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"
|
||||
}
|
||||
|
||||
+95
-145
@@ -7,54 +7,6 @@
|
||||
#include "dol2asm.h"
|
||||
#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
|
||||
|
||||
+164
-217
@@ -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;
|
||||
}
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 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,
|
||||
};
|
||||
for (int i = 0; i < 8; i++) {
|
||||
if (mModel[i].isSame(i_modelData, roomNo)) {
|
||||
mModel[i].remove(0);
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
|
||||
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
|
||||
|
||||
+812
-739
File diff suppressed because it is too large
Load Diff
+2
-117
@@ -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"
|
||||
}
|
||||
|
||||
@@ -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
|
||||
*/
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
|
||||
@@ -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();
|
||||
|
||||
+265
-310
File diff suppressed because it is too large
Load Diff
+43
-149
@@ -4,127 +4,10 @@
|
||||
//
|
||||
|
||||
#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"
|
||||
}
|
||||
|
||||
+10
-16
@@ -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"
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user