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:
TakaRikka
2022-02-19 05:22:47 -08:00
committed by GitHub
parent a034bbe617
commit 92864cb8b8
200 changed files with 5001 additions and 13241 deletions
-1
View File
@@ -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
View File
@@ -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,
};
+26 -64
View File
@@ -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);
File diff suppressed because it is too large Load Diff
+1 -38
View File
@@ -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"
}
+5 -5
View File
@@ -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
View File
@@ -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
View File
File diff suppressed because it is too large Load Diff
+1 -1
View File
@@ -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
View File
@@ -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
View File
@@ -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
View File
File diff suppressed because it is too large Load Diff
+2 -117
View File
@@ -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"
}
+60 -50
View File
@@ -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
*/
-4
View File
@@ -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;
+2 -2
View File
@@ -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;
}
-4
View File
@@ -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);
}
-1
View File
@@ -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
View File
File diff suppressed because it is too large Load Diff
+43 -149
View File
@@ -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
View File
@@ -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"
}