move more of d_save / d_com_inf_game (#141)

* some d_save matches / fixes

* more d_save cleanup

* fopAc_ac_c changes

* move a bunch of d_save / d_com_inf_game stuff

* format + remove asm

* move bit labels to correct header

* format

* move d_item

* fix check_itemno doc

* move

* fixes

* getLayerNo_common_common almost matching

just regalloc issues

* small fixes

* few more matches

* fix
This commit is contained in:
TakaRikka
2021-08-23 13:47:18 -07:00
committed by GitHub
parent f6df420a61
commit e14b04c54a
422 changed files with 4869 additions and 14588 deletions
+68 -192
View File
@@ -4,6 +4,7 @@
//
#include "d/a/d_a_alink.h"
#include "d/com/d_com_inf_game.h"
#include "dol2asm.h"
#include "dolphin/types.h"
#include "f_op/f_op_actor_mng.h"
@@ -93,13 +94,6 @@ struct daMirror_c {
/* 8003194C */ void entry(J3DModel*);
};
struct daItemBase_c {
/* 80037A5C */ void getItemNo();
/* 80037A64 */ void hide();
/* 80037A74 */ void show();
/* 80037AE4 */ void dead();
};
struct daCrod_c {
/* 80141A94 */ void setControllActorData();
};
@@ -569,28 +563,11 @@ struct daAlinkHIO_atnMove_c0 {
static u8 const m[84];
};
struct dVibration_c {
/* 8006FA24 */ void StartShock(int, int, cXyz);
/* 8006FB10 */ void StartQuake(int, int, cXyz);
/* 8006FD94 */ void StopQuake(int);
};
struct dSv_event_tmp_flag_c {
static u8 const tempBitLabels[370 + 2 /* padding */];
};
struct dScnKy_env_light_c {
/* 801A37C4 */ void settingTevStruct(int, cXyz*, dKy_tevstr_c*);
/* 801A4DA0 */ void setLightTevColorType_MAJI(J3DModelData*, dKy_tevstr_c*);
};
struct dRes_control_c {
/* 8003C1E4 */ void getResInfo(char const*, dRes_info_c*, int);
/* 8003C37C */ void getRes(char const*, char const*, dRes_info_c*, int);
/* 8003C2EC */ void getRes(char const*, s32, dRes_info_c*, int);
/* 8003C400 */ void getIDRes(char const*, u16, dRes_info_c*, int);
};
struct dPa_control_c {
struct level_c {
/* 8004B8B4 */ void forceOnEventMove(u32);
@@ -631,35 +608,6 @@ struct dInsect_c {
/* 80110648 */ void Insect_Release();
};
struct dEvt_control_c {
/* 80042468 */ void reset();
/* 80042518 */ void reset(void*);
/* 80042914 */ void setSkipProc(void*, int (*)(void*, int), int);
/* 8004316C */ void compulsory(void*, char const*, u16);
/* 800432EC */ void convPId(unsigned int);
/* 800436F4 */ void setPtD(void*);
/* 801412D4 */ void isOrderOK();
};
struct dEvent_manager_c {
/* 80046800 */ void setObjectArchive(char*);
/* 80046A58 */ void orderStartDemo();
/* 80047758 */ void getEventIdx(fopAc_ac_c*, char const*, u8);
/* 80047A38 */ void startCheckOld(char const*);
/* 80047B1C */ void getMyStaffId(char const*, fopAc_ac_c*, int);
/* 80047F5C */ void getMyNowCutName(int);
/* 800480EC */ void getMySubstanceP(int, char const*, int);
/* 8004817C */ void cutEnd(int);
/* 800483C4 */ void setGoal(cXyz*);
/* 800483E0 */ void getGoal();
/* 800483E8 */ void getRunEventName();
/* 8004882C */ void checkStartDemo();
};
struct dEvent_exception_c {
/* 800463F0 */ void setStartDemo(int);
};
struct dDlst_shadowControl_c {
/* 80055F1C */ void addReal(u32, J3DModel*);
@@ -677,10 +625,6 @@ struct dDemo_c {
static u8 m_object[4];
};
struct dComIfG_play_c {
/* 8002C97C */ void getLayerNo(int);
};
struct dCamera_c {
/* 80088A7C */ void StartEventCamera(int, int, ...);
/* 80088BBC */ void EndEventCamera(int);
@@ -696,12 +640,6 @@ struct dBgS_ObjAcch {
/* 800D0C6C */ ~dBgS_ObjAcch();
};
struct camera_class {};
struct cCcS {
/* 80264BA8 */ void Set(cCcD_Obj*);
};
struct _GXTexObj {};
struct Z2SeqMgr {
@@ -1293,7 +1231,7 @@ extern "C" static void mDoAud_setLinkHp__Fll();
extern "C" static void dComIfGs_getLife__Fv();
extern "C" static void dComIfGp_getRStatus__Fv();
extern "C" void checkAttentionLock__9daAlink_cFv();
extern "C" static void dComIfGp_setItemLifeCount__FfUc();
extern "C" void dComIfGp_setItemLifeCount__FfUc(f32, u8);
extern "C" static void cMtx_multVec__FPA4_CfPC3VecP3Vec();
extern "C" void getAnmMtx__8J3DModelFi();
extern "C" void setBaseTRMtx__8J3DModelFPA4_f();
@@ -2812,7 +2750,7 @@ extern "C" void __ct__8cM3dGPlaFv();
extern "C" void offCondition__11dEvt_info_cFUs();
extern "C" void checkShieldGet__9daPy_py_cFv();
extern "C" static void fopAcM_onSwitch__FPC10fopAc_ac_ci();
extern "C" static void dComIfGs_isItemFirstBit__FUc();
extern "C" void dComIfGs_isItemFirstBit__FUc(u8);
extern "C" static void dStage_stagInfo_GetSaveTbl__FP21stage_stag_info_class();
extern "C" static void dComIfGp_getStage__Fv();
extern "C" void checkEquipHeavyBoots__9daPy_py_cCFv();
@@ -3004,8 +2942,8 @@ extern "C" static void dComIfGp_getDoStatus__Fv();
extern "C" void __ct__4cXyzFfff(f32, f32, f32);
extern "C" static void dMeter2Info_offUseButton__Fi();
extern "C" void setLinkState__14Z2CreatureLinkFUc();
extern "C" static void dComIfGs_getRupee__Fv();
extern "C" static void dComIfGp_setItemRupeeCount__Fl();
extern "C" void dComIfGs_getRupee__Fv();
extern "C" void dComIfGp_setItemRupeeCount__Fl(s32);
extern "C" static void dMeter2Info_setFloatingMessage__FUssb();
extern "C" void onForcePanic__9daMidna_cFv();
extern "C" void checkForceNormalColor__9daMidna_cCFv();
@@ -3825,7 +3763,6 @@ extern "C" u8 mLineCheck__11fopAcM_lc_c[112];
extern "C" u8 mGndCheck__11fopAcM_gc_c[84];
extern "C" u8 mWaterCheck__11fopAcM_wt_c[84 + 4 /* padding */];
extern "C" u8 mDemoArcName__20dStage_roomControl_c[10 + 2 /* 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" f32 Zero__4cXyz[3];
@@ -3840,7 +3777,6 @@ extern "C" extern u32 __float_max;
extern "C" extern u8 data_80450B38[4];
extern "C" f32 mGroundY__11fopAcM_gc_c;
extern "C" f32 mWaterY__11fopAcM_wt_c[1 + 1 /* padding */];
extern "C" extern u8 struct_80450D64[4];
extern "C" u8 m_top__12daTagHstop_c[4 + 4 /* padding */];
extern "C" u8 m_object__7dDemo_c[4];
extern "C" u8 mWaterBubblePcallBack__13dPa_control_c[4];
@@ -3995,22 +3931,9 @@ asm void daAlink_matAnm_c::calc(J3DMaterial* param_0) const {
}
#pragma pop
/* 8009DA60-8009DA98 0983A0 0038+00 48/48 0/0 5/5 .text checkStageName__9daAlink_cFPCc */
// need gameinfo setup
#ifdef NONMATCHING
bool daAlink_c::checkStageName(const char* stage) {
return strcmp(dComIfGp_getStartStageName(), stage) == 0;
}
#else
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm bool daAlink_c::checkStageName(char const* param_0) {
nofralloc
#include "asm/d/a/d_a_alink/checkStageName__9daAlink_cFPCc.s"
}
#pragma pop
#endif
/* 8009DA98-8009DB64 0983D8 00CC+00 1/1 0/0 0/0 .text
* tgHitCallback__9daAlink_cFP10fopAc_ac_cP12dCcD_GObjInfP12dCcD_GObjInf */
@@ -16199,65 +16122,35 @@ asm void daAlink_c::setAtnList() {
#pragma pop
/* 800B3220-800B3238 0ADB60 0018+00 5/5 0/0 0/0 .text setRStatus__9daAlink_cFUc */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::setRStatus(u8 param_0) {
nofralloc
#include "asm/d/a/d_a_alink/setRStatus__9daAlink_cFUc.s"
void daAlink_c::setRStatus(u8 status) {
dComIfGp_setRStatus(status, 0);
}
#pragma pop
/* 800B3238-800B3250 0ADB78 0018+00 1/1 0/0 0/0 .text setRStatusEmphasys__9daAlink_cFUc
*/
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::setRStatusEmphasys(u8 param_0) {
nofralloc
#include "asm/d/a/d_a_alink/setRStatusEmphasys__9daAlink_cFUc.s"
void daAlink_c::setRStatusEmphasys(u8 status) {
dComIfGp_setRStatus(status, 2);
}
#pragma pop
/* 800B3250-800B3268 0ADB90 0018+00 61/61 0/0 0/0 .text setDoStatus__9daAlink_cFUc */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::setDoStatus(u8 param_0) {
nofralloc
#include "asm/d/a/d_a_alink/setDoStatus__9daAlink_cFUc.s"
void daAlink_c::setDoStatus(u8 status) {
dComIfGp_setDoStatus(status, 0);
}
#pragma pop
/* 800B3268-800B3280 0ADBA8 0018+00 19/19 0/0 0/0 .text setDoStatusEmphasys__9daAlink_cFUc */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::setDoStatusEmphasys(u8 param_0) {
nofralloc
#include "asm/d/a/d_a_alink/setDoStatusEmphasys__9daAlink_cFUc.s"
void daAlink_c::setDoStatusEmphasys(u8 status) {
dComIfGp_setDoStatus(status, 2);
}
#pragma pop
/* 800B3280-800B3298 0ADBC0 0018+00 2/2 0/0 0/0 .text setDoStatusContinuation__9daAlink_cFUc */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::setDoStatusContinuation(u8 param_0) {
nofralloc
#include "asm/d/a/d_a_alink/setDoStatusContinuation__9daAlink_cFUc.s"
void daAlink_c::setDoStatusContinuation(u8 status) {
dComIfGp_setDoStatus(status, 4);
}
#pragma pop
/* 800B3298-800B32B0 0ADBD8 0018+00 8/8 0/0 0/0 .text setBStatus__9daAlink_cFUc */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::setBStatus(u8 param_0) {
nofralloc
#include "asm/d/a/d_a_alink/setBStatus__9daAlink_cFUc.s"
void daAlink_c::setBStatus(u8 status) {
dComIfGp_setAStatus(status, 0);
}
#pragma pop
/* 800B32B0-800B3358 0ADBF0 00A8+00 2/2 0/0 0/0 .text checkAtnWaitAnime__9daAlink_cFv */
#pragma push
@@ -17085,26 +16978,32 @@ asm void daAlink_c::setMagicArmorBrk(int param_0) {
}
#pragma pop
inline u16 i_dComIfGs_getRupee() {
return g_dComIfG_gameInfo.info.getPlayer().getPlayerStatusA().getRupee();
}
/* 800BB408-800BB458 0B5D48 0050+00 6/6 0/0 0/0 .text checkMagicArmorHeavy__9daAlink_cCFv
*/
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::checkMagicArmorHeavy() const {
nofralloc
#include "asm/d/a/d_a_alink/checkMagicArmorHeavy__9daAlink_cCFv.s"
BOOL daAlink_c::checkMagicArmorHeavy() const {
bool check = false;
if (checkMagicArmorWearAbility() && i_dComIfGs_getRupee() == 0) {
check = true;
}
return check;
}
#pragma pop
/* 800BB458-800BB4B8 0B5D98 0060+00 1/0 0/0 0/0 .text checkBootsOrArmorHeavy__9daAlink_cCFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm bool daAlink_c::checkBootsOrArmorHeavy() const {
nofralloc
#include "asm/d/a/d_a_alink/checkBootsOrArmorHeavy__9daAlink_cCFv.s"
BOOL daAlink_c::checkBootsOrArmorHeavy() const {
bool check = false;
if (i_checkEquipHeavyBoots() || checkMagicArmorHeavy() || checkIronBallWaitAnime()) {
check = true;
}
return check;
}
#pragma pop
/* 800BB4B8-800BB560 0B5DF8 00A8+00 29/29 0/0 0/0 .text checkHeavyStateOn__9daAlink_cFii
*/
@@ -17139,14 +17038,15 @@ asm void daAlink_c::initGravity() {
/* 800BB770-800BB7A0 0B60B0 0030+00 64/64 0/0 0/0 .text setSpecialGravity__9daAlink_cFffi
*/
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::setSpecialGravity(f32 param_0, f32 param_1, int param_2) {
nofralloc
#include "asm/d/a/d_a_alink/setSpecialGravity__9daAlink_cFffi.s"
void daAlink_c::setSpecialGravity(f32 gravity, f32 speed, int param_2) {
if (param_2 != 0) {
i_offNoResetFlg3(0x4000);
} else {
i_onNoResetFlg3(0x4000);
}
mGravity = gravity;
mMaxFallSpeed = speed;
}
#pragma pop
/* 800BB7A0-800BBD40 0B60E0 05A0+00 1/1 0/0 0/0 .text transAnimeProc__9daAlink_cFP4cXyzff
*/
@@ -17511,7 +17411,7 @@ asm void daAlink_c::checkZoraWearAbility() const {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::checkMagicArmorWearAbility() const {
asm BOOL daAlink_c::checkMagicArmorWearAbility() const {
nofralloc
#include "asm/d/a/d_a_alink/checkMagicArmorWearAbility__9daAlink_cCFv.s"
}
@@ -19274,6 +19174,11 @@ BOOL daAlink_c::checkRideOn() const {
}
/* 800CFEC4-800CFEF4 0CA804 0030+00 1/1 0/0 0/0 .text dComIfGp_att_getCatghTarget__Fv */
#ifdef NONMATCHING
static s32 dComIfGp_att_getCatghTarget() {
return dComIfGp_getAttention().getCatghTarget().getCatghTarget();
}
#else
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
@@ -19282,6 +19187,7 @@ static asm void dComIfGp_att_getCatghTarget() {
#include "asm/d/a/d_a_alink/dComIfGp_att_getCatghTarget__Fv.s"
}
#pragma pop
#endif
/* 800CFEF4-800CFF2C 0CA834 0038+00 1/1 0/0 0/0 .text mDoAud_setLinkHp__Fll */
static void mDoAud_setLinkHp(s32 param_0, s32 param_1) {
@@ -19291,24 +19197,14 @@ static void mDoAud_setLinkHp(s32 param_0, s32 param_1) {
}
/* 800CFF2C-800CFF3C 0CA86C 0010+00 1/1 0/0 0/0 .text dComIfGs_getLife__Fv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
static asm void dComIfGs_getLife() {
nofralloc
#include "asm/d/a/d_a_alink/dComIfGs_getLife__Fv.s"
static u16 dComIfGs_getLife() {
return g_dComIfG_gameInfo.info.getPlayer().getPlayerStatusA().getLife();
}
#pragma pop
/* 800CFF3C-800CFF4C 0CA87C 0010+00 1/1 0/0 0/0 .text dComIfGp_getRStatus__Fv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
static asm void dComIfGp_getRStatus() {
nofralloc
#include "asm/d/a/d_a_alink/dComIfGp_getRStatus__Fv.s"
static u8 dComIfGp_getRStatus() {
return g_dComIfG_gameInfo.play.getRStatus();
}
#pragma pop
/* 800CFF4C-800CFFA4 0CA88C 0058+00 1/1 0/0 0/0 .text checkAttentionLock__9daAlink_cFv */
#pragma push
@@ -19321,14 +19217,9 @@ asm BOOL daAlink_c::checkAttentionLock() {
#pragma pop
/* 800CFFA4-800CFFC0 0CA8E4 001C+00 1/1 0/0 0/0 .text dComIfGp_setItemLifeCount__FfUc */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
static asm void dComIfGp_setItemLifeCount(f32 param_0, u8 param_1) {
nofralloc
#include "asm/d/a/d_a_alink/dComIfGp_setItemLifeCount__FfUc.s"
void dComIfGp_setItemLifeCount(f32 amount, u8 type) {
g_dComIfG_gameInfo.play.setItemLifeCount(amount, type);
}
#pragma pop
/* 800CFFC0-800CFFE0 0CA900 0020+00 1/1 0/0 0/0 .text cMtx_multVec__FPA4_CfPC3VecP3Vec */
#pragma push
@@ -19462,14 +19353,9 @@ u16 daAlink_c::checkSpecialDemoMode() const {
/* 800D014C-800D0164 0CAA8C 0018+00 1/1 0/0 0/0 .text setMidnaTalkStatus__9daAlink_cFUc
*/
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::setMidnaTalkStatus(u8 param_0) {
nofralloc
#include "asm/d/a/d_a_alink/setMidnaTalkStatus__9daAlink_cFUc.s"
void daAlink_c::setMidnaTalkStatus(u8 status) {
dComIfGp_setZStatus(status, 0);
}
#pragma pop
/* 800D0164-800D0180 0CAAA4 001C+00 1/1 0/0 0/0 .text set3DStatus__9daAlink_cFUcUc */
#pragma push
@@ -35018,21 +34904,16 @@ static asm void fopAcM_onSwitch(fopAc_ac_c const* param_0, int param_1) {
#pragma pop
/* 80141264-80141294 13BBA4 0030+00 1/1 0/0 0/0 .text dComIfGs_isItemFirstBit__FUc */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
static asm void dComIfGs_isItemFirstBit(u8 param_0) {
nofralloc
#include "asm/d/a/d_a_alink/dComIfGs_isItemFirstBit__FUc.s"
int dComIfGs_isItemFirstBit(u8 i_no) {
return g_dComIfG_gameInfo.info.getPlayer().getGetItem().isFirstBit(i_no);
}
#pragma pop
/* 80141294-801412A0 13BBD4 000C+00 1/1 0/0 0/0 .text
* dStage_stagInfo_GetSaveTbl__FP21stage_stag_info_class */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
static asm void dStage_stagInfo_GetSaveTbl(stage_stag_info_class* param_0) {
static asm u8 dStage_stagInfo_GetSaveTbl(stage_stag_info_class* param_0) {
nofralloc
#include "asm/d/a/d_a_alink/dStage_stagInfo_GetSaveTbl__FP21stage_stag_info_class.s"
}
@@ -35119,14 +35000,9 @@ int daPy_py_c::checkEndResetFlg1(daPy_ERFLG1 pFlag) const {
}
/* 8014134C-8014135C 13BC8C 0010+00 1/1 0/0 0/0 .text dComIfGp_getEventManager__Fv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
static asm void dComIfGp_getEventManager() {
nofralloc
#include "asm/d/a/d_a_alink/dComIfGp_getEventManager__Fv.s"
static dEvent_manager_c& dComIfGp_getEventManager() {
return g_dComIfG_gameInfo.play.getEvtManager();
}
#pragma pop
/* 8014135C-8014136C 13BC9C 0010+00 1/1 0/0 0/0 .text
* offNoResetFlg1__9daPy_py_cFQ29daPy_py_c9daPy_FLG1 */
@@ -35178,7 +35054,7 @@ asm bool dEvt_info_c::checkCommandCatch() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void dComIfGs_isEventBit(u16 param_0) {
asm BOOL dComIfGs_isEventBit(u16 param_0) {
nofralloc
#include "asm/d/a/d_a_alink/dComIfGs_isEventBit__FUs.s"
}
@@ -36184,7 +36060,7 @@ void Z2CreatureLink::setLinkState(u8 pState) {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
static asm void dComIfGs_getRupee() {
asm u16 dComIfGs_getRupee() {
nofralloc
#include "asm/d/a/d_a_alink/dComIfGs_getRupee__Fv.s"
}
@@ -36194,7 +36070,7 @@ static asm void dComIfGs_getRupee() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
static asm void dComIfGp_setItemRupeeCount(s32 param_0) {
asm void dComIfGp_setItemRupeeCount(s32 param_0) {
nofralloc
#include "asm/d/a/d_a_alink/dComIfGp_setItemRupeeCount__Fl.s"
}
+1297 -705
View File
File diff suppressed because it is too large Load Diff
+1 -2
View File
@@ -195,7 +195,6 @@ extern "C" u8 now__14mDoMtx_stack_c[48];
extern "C" extern u8 g_dComIfG_gameInfo[122384];
extern "C" extern u32 __float_nan;
extern "C" extern u32 __float_max;
extern "C" extern u8 struct_80450D64[4];
extern "C" extern u8 data_80450F58[8];
extern "C" u8 mAudioMgrPtr__10Z2AudioMgr[4 + 4 /* padding */];
@@ -1039,7 +1038,7 @@ asm void dAttHint_c::proc() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void dAttCatch_c::convPId(unsigned int param_0) {
asm s32 dAttCatch_c::convPId(unsigned int param_0) {
nofralloc
#include "asm/d/d_attention/convPId__11dAttCatch_cFUi.s"
}
+1589 -3371
View File
File diff suppressed because it is too large Load Diff
+73 -77
View File
@@ -7,17 +7,12 @@
#include "dol2asm.h"
#include "dolphin/types.h"
#include "m_Do/m_Do_ext.h"
#include "m_Do/m_Do_reset.h"
//
// Types:
//
struct mDoRst {
static u8 mResetData[4 + 4 /* padding */];
};
struct fopAcM_prm_class {};
struct daSus_c {
/* 80031434 */ void check(s8, cXyz const&);
/* 800315A4 */ void execute();
@@ -454,7 +449,6 @@ extern "C" void _restgpr_26();
extern "C" void _restgpr_27();
extern "C" void _restgpr_28();
extern "C" void _restgpr_29();
extern "C" void sprintf();
extern "C" void snprintf(char*, u32, char*, ...);
extern "C" extern J3DLightInfo const j3dDefaultLightInfo;
extern "C" extern u8 g_dComIfG_gameInfo[122384];
@@ -466,23 +460,18 @@ extern "C" u8 mResetData__6mDoRst[4 + 4 /* padding */];
// Declarations:
//
/* ############################################################################################## */
/* 80378A50-80378A50 0050B0 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
#pragma push
#pragma force_active on
SECTION_DEAD static char const* const stringBase_80378A50 = "OPENING";
#pragma pop
/* 80023E28-80023E94 01E768 006C+00 0/0 1/1 0/3 .text set__18dStage_nextStage_cFPCcScsScScUc */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void dStage_nextStage_c::set(char const* param_0, s8 param_1, s16 param_2, s8 param_3,
s8 param_4, u8 param_5) {
nofralloc
#include "asm/d/d_stage/set__18dStage_nextStage_cFPCcScsScScUc.s"
void dStage_nextStage_c::set(const char* i_stage, s8 i_roomId, s16 i_point, s8 i_layer, s8 i_wipe,
u8 i_speed) {
if (!enabled) {
enabled = true;
wipe = i_wipe;
wipe_speed = i_speed;
dStage_startStage_c::set(i_stage, i_roomId, i_point, i_layer);
if (!strcmp(i_stage, "OPENING")) {
mDoRst::onReset();
}
}
}
#pragma pop
static void dStage_SetErrorRoom() {
// "Room information might be corrupted. \nPlease try to re-convert. \n"
@@ -494,43 +483,31 @@ static void dStage_SetErrorStage() {
OSReport_Error("ステージ情報が、多分ですが壊れています。\n変換し直してみてください。");
}
/* ############################################################################################## */
/* 803F4E68-803F4E74 021B88 000C+00 1/1 0/0 0/0 .bss @3926 */
// static u8 lit_3926[12];
/* 803F4E74-803F5778 021B94 0904+00 3/4 0/0 0/0 .bss DoorInfo */
static dStage_KeepDoorInfo DoorInfo;
/* 80023EF4-80023F00 01E834 000C+00 0/0 1/1 0/0 .text dStage_GetKeepDoorInfo__Fv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void dStage_GetKeepDoorInfo() {
nofralloc
#include "asm/d/d_stage/dStage_GetKeepDoorInfo__Fv.s"
dStage_KeepDoorInfo* dStage_GetKeepDoorInfo() {
return &DoorInfo;
}
#pragma pop
/* 80023F00-80023F50 01E840 0050+00 2/2 0/0 0/3 .text dStage_isBossStage__FP11dStage_dt_c
*/
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
static asm void dStage_isBossStage(dStage_dt_c* param_0) {
nofralloc
#include "asm/d/d_stage/dStage_isBossStage__FP11dStage_dt_c.s"
static u8 dStage_isBossStage(dStage_dt_c* param_0) {
u8 isBossStg;
stage_stag_info_class* pstag = param_0->getStagInfo();
if (pstag == 0) {
isBossStg = false;
} else {
isBossStg = dStage_stagInfo_GetSTType(pstag) == 3;
}
return isBossStg;
}
#pragma pop
/* 80023F50-80023F84 01E890 0034+00 1/1 0/0 0/1 .text dStage_KeepDoorInfoInit__FP11dStage_dt_c */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
static asm void dStage_KeepDoorInfoInit(dStage_dt_c* param_0) {
nofralloc
#include "asm/d/d_stage/dStage_KeepDoorInfoInit__FP11dStage_dt_c.s"
static void dStage_KeepDoorInfoInit(dStage_dt_c* param_0) {
if (dStage_isBossStage(param_0) == 0) {
DoorInfo.unk_0x0 = NULL;
}
}
#pragma pop
/* 80023F84-8002405C 01E8C4 00D8+00 1/1 0/0 0/3 .text
* dStage_KeepDoorInfoProc__FP11dStage_dt_cP16stage_tgsc_class */
@@ -553,25 +530,13 @@ static asm void dStage_KeepDoorInfoProc(dStage_dt_c* param_0, stage_tgsc_class*
/* 803F5784-803F6088 0224A4 0904+00 3/4 0/0 0/0 .bss l_RoomKeepDoorInfo */
static dStage_KeepDoorInfo l_RoomKeepDoorInfo;
/* 8002405C-80024068 01E99C 000C+00 0/0 1/1 0/0 .text dStage_GetRoomKeepDoorInfo__Fv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void dStage_GetRoomKeepDoorInfo() {
nofralloc
#include "asm/d/d_stage/dStage_GetRoomKeepDoorInfo__Fv.s"
dStage_KeepDoorInfo* dStage_GetRoomKeepDoorInfo() {
return &l_RoomKeepDoorInfo;
}
#pragma pop
/* 80024068-80024078 01E9A8 0010+00 1/1 0/0 0/0 .text dStage_initRoomKeepDoorInfo__Fv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
static asm void dStage_initRoomKeepDoorInfo() {
nofralloc
#include "asm/d/d_stage/dStage_initRoomKeepDoorInfo__Fv.s"
static void dStage_initRoomKeepDoorInfo() {
l_RoomKeepDoorInfo.unk_0x0 = NULL;
}
#pragma pop
/* 80024078-80024174 01E9B8 00FC+00 1/1 0/0 0/0 .text
* dStage_RoomKeepDoorInfoProc__FP11dStage_dt_cP16stage_tgsc_class */
@@ -586,6 +551,13 @@ static asm void dStage_RoomKeepDoorInfoProc(dStage_dt_c* param_0, stage_tgsc_cla
/* 80024174-8002419C 01EAB4 0028+00 2/0 0/0 0/0 .text
* dStage_RoomKeepDoorInit__FP11dStage_dt_cPviPv */
#ifdef NONMATCHING
static int dStage_RoomKeepDoorInit(dStage_dt_c* param_0, void* param_1, int param_2,
void* param_3) {
dStage_RoomKeepDoorInfoProc(param_0, (stage_tgsc_class*)param_1);
return 1;
}
#else
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
@@ -595,6 +567,7 @@ static asm void dStage_RoomKeepDoorInit(dStage_dt_c* param_0, void* param_1, int
#include "asm/d/d_stage/dStage_RoomKeepDoorInit__FP11dStage_dt_cPviPv.s"
}
#pragma pop
#endif
void dStage_startStage_c::set(const char* i_Stage, s8 i_RoomNo, s16 i_Point, s8 i_Layer) {
strcpy(mStage, i_Stage);
@@ -611,12 +584,6 @@ SECTION_DEAD static char const* const stringBase_80378ADD = "name.bin";
SECTION_DEAD static char const* const stringBase_80378AE6 = "bank.bin";
#pragma pop
// /* 803F6088-803F6094 022DA8 000C+00 0/1 0/0 0/0 .bss @5376 */
// #pragma push
// #pragma force_active on
// static u8 lit_5376[12];
// #pragma pop
/* 803F6094-80406194 022DB4 10100+00 12/12 31/31 16/16 .bss mStatus__20dStage_roomControl_c */
dStage_roomStatus_c dStage_roomControl_c::mStatus[0x40];
@@ -631,7 +598,6 @@ u32 dStage_roomControl_c::mProcID;
/* 80450D65 0001+00 data_80450D65 None */
/* 80450D66 0001+00 data_80450D66 None */
/* 80450D67 0001+00 data_80450D67 None */
extern s8 struct_80450D64; // sStayNo
s8 struct_80450D64;
extern s8 sLastStayNo;
@@ -648,12 +614,28 @@ extern u8 data_80450D68[4];
u8 data_80450D68[4];
/* 80450D6C-80450D70 00026C 0004+00 1/1 2/2 0/0 .sbss mArcBankName__20dStage_roomControl_c */
u8 dStage_roomControl_c::mArcBankName[4];
char* dStage_roomControl_c::mArcBankName;
/* 80450D70-80450D74 000270 0004+00 1/1 1/1 0/0 .sbss mArcBankData__20dStage_roomControl_c */
u8 dStage_roomControl_c::mArcBankData[4];
char* dStage_roomControl_c::mArcBankData;
/* 800241E8-80024338 01EB28 0150+00 1/1 0/0 0/4 .text init__20dStage_roomControl_cFv */
#ifdef NONMATCHING
void dStage_roomControl_c::init() {
if (-1 < dComIfGp_getStartStagePoint()) {
dComIfGs_initZone();
}
dStage_roomStatus_c* status = &mStatus[0];
for (int i = 0; i < 0x40; i++) {
status->mRoomDt.init();
status->mRoomDt.initFileList2();
status->unk_0x3F4[0] = 0;
status->unk_0x3F4[1] = 0;
}
}
#else
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
@@ -662,6 +644,7 @@ asm void dStage_roomControl_c::init() {
#include "asm/d/d_stage/init__20dStage_roomControl_cFv.s"
}
#pragma pop
#endif
/* 80024338-80024384 01EC78 004C+00 1/1 1/1 0/7 .text initZone__20dStage_roomControl_cFv
*/
@@ -1095,6 +1078,18 @@ asm void dStage_roomControl_c::getMemoryBlock(int param_0) {
/* 800243E8-80024424 01ED28 003C+00 2/2 0/0 0/0 .text setStayNo__20dStage_roomControl_cFi
*/
#ifdef NONMATCHING
void dStage_roomControl_c::setStayNo(int param_0) {
sLastStayNo = struct_80450D64;
struct_80450D64 = param_0;
if (struct_80450D64 > -1) {
sNextStayNo = struct_80450D64;
}
sNextStayNo = struct_80450D64;
mStatus[struct_80450D64].unk_0x3F4[1] = 1;
}
#else
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
@@ -1103,6 +1098,7 @@ asm void dStage_roomControl_c::setStayNo(int param_0) {
#include "asm/d/d_stage/setStayNo__20dStage_roomControl_cFi.s"
}
#pragma pop
#endif
/* 80024424-8002442C 01ED64 0008+00 0/0 0/0 1/1 .text setNextStayNo__20dStage_roomControl_cFi */
// matches but need to fix data
@@ -1813,7 +1809,7 @@ static asm void dStage_roomReadInit(dStage_dt_c* param_0, void* param_1, int par
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void dStage_roomRead_dt_c_GetReverbStage(roomRead_class& param_0, int param_1) {
asm u8 dStage_roomRead_dt_c_GetReverbStage(roomRead_class& param_0, int param_1) {
nofralloc
#include "asm/d/d_stage/dStage_roomRead_dt_c_GetReverbStage__FR14roomRead_classi.s"
}
+20 -39
View File
@@ -4,6 +4,7 @@
//
#include "d/event/d_event.h"
#include "d/com/d_com_inf_game.h"
#include "dol2asm.h"
#include "dolphin/types.h"
#include "f_op/f_op_actor_iter.h"
@@ -17,28 +18,6 @@ struct mDoGph_gInf_c {
/* 800080D0 */ void fadeOut(f32);
};
struct mDoCPd_c {
static u8 m_cpadInfo[256];
};
struct dVibration_c {
/* 8006FD94 */ void StopQuake(int);
};
struct dSv_event_tmp_flag_c {
static u8 const tempBitLabels[370 + 2 /* padding */];
};
struct dRes_control_c {
/* 8003C37C */ void getRes(char const*, char const*, dRes_info_c*, int);
};
struct dMsgObject_c {
/* 80237994 */ void onKillMessageFlag();
/* 802379AC */ void setKillMessageFlag();
/* 80238098 */ void endFlowGroup();
};
struct dDemo_c {
/* 80039CF8 */ void end();
@@ -179,8 +158,6 @@ extern "C" u8 const tempBitLabels__20dSv_event_tmp_flag_c[370 + 2 /* padding */]
extern "C" extern void* __vt__11dEvt_info_c[3 + 1 /* padding */];
extern "C" u8 m_cpadInfo__8mDoCPd_c[256];
extern "C" u8 mDemoArcName__20dStage_roomControl_c[10 + 2 /* padding */];
extern "C" extern u8 g_dComIfG_gameInfo[122384];
extern "C" extern u8 struct_80450D64[4];
extern "C" u8 m_mode__7dDemo_c[4];
extern "C" u8 m_midnaActor__9daPy_py_c[4];
extern "C" u8 mAudioMgrPtr__10Z2AudioMgr[4 + 4 /* padding */];
@@ -189,6 +166,10 @@ extern "C" u8 mAudioMgrPtr__10Z2AudioMgr[4 + 4 /* padding */];
// Declarations:
//
inline dEvent_manager_c& dComIfGp_getEventManager() {
return g_dComIfG_gameInfo.play.getEvtManager();
}
/* 80041480-80041488 03BDC0 0008+00 1/1 0/0 0/0 .text event_debug_evnt__21@unnamed@d_event_cpp@Fv
*/
static bool func_80041480() {
@@ -197,14 +178,18 @@ static bool func_80041480() {
/* 80041488-80041580 03BDC8 00F8+00 1/1 0/0 0/0 .text
* clear_tmpflag_for_message__21@unnamed@d_event_cpp@Fv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
static asm void func_80041488() {
nofralloc
#include "asm/d/event/d_event/func_80041488.s"
static void func_80041488() {
dComIfGs_offTmpBit(dSv_event_tmp_flag_c::tempBitLabels[11]);
dComIfGs_offTmpBit(dSv_event_tmp_flag_c::tempBitLabels[12]);
dComIfGs_offTmpBit(dSv_event_tmp_flag_c::tempBitLabels[13]);
dComIfGs_offTmpBit(dSv_event_tmp_flag_c::tempBitLabels[14]);
dComIfGs_offTmpBit(dSv_event_tmp_flag_c::tempBitLabels[15]);
dComIfGs_offTmpBit(dSv_event_tmp_flag_c::tempBitLabels[51]);
dComIfGs_offTmpBit(dSv_event_tmp_flag_c::tempBitLabels[52]);
dComIfGs_offTmpBit(dSv_event_tmp_flag_c::tempBitLabels[53]);
dComIfGs_offTmpBit(dSv_event_tmp_flag_c::tempBitLabels[54]);
dComIfGs_offTmpBit(dSv_event_tmp_flag_c::tempBitLabels[55]);
}
#pragma pop
dEvt_control_c::dEvt_control_c() {
remove();
@@ -216,15 +201,11 @@ dEvt_order_c::dEvt_order_c() {
/* 800415D8-80041668 03BF18 0090+00 1/1 0/0 0/0 .text orderOld__14dEvt_control_cFUsUsUsUsPvPvPCv
*/
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void dEvt_control_c::orderOld(u16 param_0, u16 param_1, u16 param_2, u16 param_3, void* param_4,
void* param_5, void const* param_6) {
nofralloc
#include "asm/d/event/d_event/orderOld__14dEvt_control_cFUsUsUsUsPvPvPCv.s"
void dEvt_control_c::orderOld(u16 param_0, u16 param_1, u16 param_2, u16 param_3, void* param_4,
void* param_5, void const* param_6) {
s16 eventIdx = dComIfGp_getEventManager().getEventIdx((char*)param_6, -1, -1);
order(param_0, param_1, param_2, param_3, param_4, param_5, eventIdx, -1);
}
#pragma pop
/* 80041668-80041804 03BFA8 019C+00 3/3 13/13 0/0 .text order__14dEvt_control_cFUsUsUsUsPvPvsUc */
#pragma push
-9
View File
@@ -25,14 +25,6 @@ struct dVibration_c {
/* 8006FD94 */ void StopQuake(int);
};
struct dSv_event_tmp_flag_c {
static u8 const tempBitLabels[370 + 2 /* padding */];
};
struct dSv_event_flag_c {
static u8 saveBitLabels[1644 + 4 /* padding */];
};
struct dMsgObject_c {
/* 8023806C */ void demoMessageGroup();
};
@@ -200,7 +192,6 @@ extern "C" u8 saveBitLabels__16dSv_event_flag_c[1644 + 4 /* padding */];
extern "C" extern u8 g_dComIfG_gameInfo[122384];
extern "C" f32 mFadeRate__13mDoGph_gInf_c;
extern "C" extern u8 struct_80450BE4[4];
extern "C" extern u8 struct_80450D64[4];
extern "C" u8 m_control__7dDemo_c[4];
extern "C" u8 m_frameNoMsg__7dDemo_c[4];
extern "C" u8 m_mode__7dDemo_c[4];
+1 -3
View File
@@ -171,12 +171,10 @@ extern "C" void _restgpr_25();
extern "C" void _restgpr_27();
extern "C" void _restgpr_28();
extern "C" void _restgpr_29();
extern "C" void sprintf();
extern "C" u8 mDemoArcName__20dStage_roomControl_c[10 + 2 /* padding */];
extern "C" extern u8 g_dComIfG_gameInfo[122384];
extern "C" u8 sincosTable___5JMath[65536];
extern "C" extern u32 __float_nan;
extern "C" extern u8 struct_80450D64[4];
extern "C" u8 mAudioMgrPtr__10Z2AudioMgr[4 + 4 /* padding */];
//
@@ -549,7 +547,7 @@ static u8 map_tool_name_4449[17 + 3 /* padding */];
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void dEvent_manager_c::getEventIdx(char const* param_0, u8 param_1, s32 param_2) {
asm int dEvent_manager_c::getEventIdx(char const* param_0, u8 param_1, s32 param_2) {
nofralloc
#include "asm/d/event/d_event_manager/getEventIdx__16dEvent_manager_cFPCcUcl.s"
}
+1 -1
View File
@@ -3407,7 +3407,7 @@ static asm void dKy_F_SP121Check(char const* param_0, int param_1, u8* param_2,
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void dKy_darkworld_stage_check(char const* param_0, int param_1) {
asm BOOL dKy_darkworld_stage_check(char const* param_0, int param_1) {
nofralloc
#include "asm/d/kankyo/d_kankyo/dKy_darkworld_stage_check__FPCci.s"
}
+470 -2603
View File
File diff suppressed because it is too large Load Diff
-3
View File
@@ -24,8 +24,6 @@ struct daSus_c {
/* 800314D4 */ void check(fopAc_ac_c*);
};
struct J3DModelData {};
struct dScnKy_env_light_c {
/* 801A4DA0 */ void setLightTevColorType_MAJI(J3DModelData*, dKy_tevstr_c*);
};
@@ -150,7 +148,6 @@ extern "C" extern u8 g_dComIfG_gameInfo[122384];
extern "C" extern u8 g_env_light[4880];
extern "C" f32 Zero__4cXyz[3];
extern "C" extern u8 g_dComIfAc_gameInfo[8];
extern "C" extern u8 struct_80450D64[4];
extern "C" u8 m_object__7dDemo_c[4];
extern "C" extern u8 struct_80451124[4];
-1
View File
@@ -394,7 +394,6 @@ extern "C" u8 sincosTable___5JMath[65536];
extern "C" f32 mSystemFar__14mDoLib_clipper;
extern "C" u8 mProcID__20dStage_roomControl_c[4];
extern "C" void* mClipper__14mDoLib_clipper;
extern "C" extern u8 struct_80450D64[4];
extern "C" u8 m_top__13daTagStream_c[4];
extern "C" u8 mData__12dEnemyItem_c[4 + 4 /* padding */];
extern "C" u8 Zero__5csXyz[4];