move d_a_alink and some related stuff (#130)

* clean up d_a_player

* move some of daalink

* more daalink / daplayer

* setup some daalink members

* rest of daalink members setup

* remove comment

* few more matches

* remove asm

* more matches

* more matches + move e_wb_class

* fix some d_save classes

Co-authored-by: lepelog <lepelog@users.noreply.github.com>
This commit is contained in:
TakaRikka
2021-05-23 03:09:59 -07:00
committed by GitHub
parent d5c3fd8c2f
commit 2c9f53e00a
196 changed files with 5322 additions and 6569 deletions
+661 -3934
View File
File diff suppressed because it is too large Load Diff
+43 -100
View File
@@ -7,117 +7,60 @@
#include "dol2asm.h"
#include "dolphin/types.h"
//
// Types:
//
struct e_wb_class {
/* 80037C7C */ void checkWait();
/* 80037C90 */ void setPlayerRideNow();
/* 80037CB0 */ void setPlayerRide();
/* 80037CF4 */ void getOff();
/* 80037D68 */ void checkDownDamage();
/* 80037D94 */ void checkNormalRideMode() const;
/* 80037DBC */ void setRunRideMode();
};
struct daTagHstop_c {
static u8 m_top[4 + 4 /* padding */];
};
//
// Forward References:
//
extern "C" void checkWait__10e_wb_classFv();
extern "C" void setPlayerRideNow__10e_wb_classFv();
extern "C" void setPlayerRide__10e_wb_classFv();
extern "C" void getOff__10e_wb_classFv();
extern "C" void checkDownDamage__10e_wb_classFv();
extern "C" void checkNormalRideMode__10e_wb_classCFv();
extern "C" void setRunRideMode__10e_wb_classFv();
extern "C" u8 m_top__12daTagHstop_c[4 + 4 /* padding */];
//
// External References:
//
extern "C" void setLinkRiding__14Z2CreatureRideFb();
//
// Declarations:
//
/* 80037C7C-80037C90 0325BC 0014+00 0/0 1/1 0/0 .text checkWait__10e_wb_classFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void e_wb_class::checkWait() {
nofralloc
#include "asm/d/a/d_a_horse_static/checkWait__10e_wb_classFv.s"
BOOL e_wb_class::checkWait() {
return unk1460 == 0x2A;
}
#pragma pop
/* 80037C90-80037CB0 0325D0 0020+00 0/0 2/2 0/0 .text setPlayerRideNow__10e_wb_classFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void e_wb_class::setPlayerRideNow() {
nofralloc
#include "asm/d/a/d_a_horse_static/setPlayerRideNow__10e_wb_classFv.s"
void e_wb_class::setPlayerRideNow() {
unk1680 = 0x67;
unk1460 = 0;
unk1726 |= 3;
}
#pragma pop
/* 80037CB0-80037CF4 0325F0 0044+00 0/0 3/3 0/0 .text setPlayerRide__10e_wb_classFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void e_wb_class::setPlayerRide() {
nofralloc
#include "asm/d/a/d_a_horse_static/setPlayerRide__10e_wb_classFv.s"
void e_wb_class::setPlayerRide() {
unk1680 = 0x65;
unk1460 = 0;
unk1726 |= 3;
mZ2Ride.setLinkRiding(true);
}
#pragma pop
/* 80037CF4-80037D68 032634 0074+00 0/0 1/1 0/0 .text getOff__10e_wb_classFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void e_wb_class::getOff() {
nofralloc
#include "asm/d/a/d_a_horse_static/getOff__10e_wb_classFv.s"
void e_wb_class::getOff() {
if (!checkDownDamage() || unk1680 == 0x67) {
unk1680 = 0;
} else {
unk1682 = 0;
}
unk1460 = 0;
unk1726 &= 0xfffc;
mZ2Ride.setLinkRiding(false);
}
#pragma pop
/* 80037D68-80037D94 0326A8 002C+00 1/1 2/2 0/0 .text checkDownDamage__10e_wb_classFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void e_wb_class::checkDownDamage() {
nofralloc
#include "asm/d/a/d_a_horse_static/checkDownDamage__10e_wb_classFv.s"
BOOL e_wb_class::checkDownDamage() {
bool downDamage = false;
s16 tmp = unk1680;
if (tmp != 0x65 && tmp != 0x66 && tmp != 0x15) {
downDamage = true;
}
return downDamage;
}
#pragma pop
/* 80037D94-80037DBC 0326D4 0028+00 0/0 2/2 0/0 .text checkNormalRideMode__10e_wb_classCFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void e_wb_class::checkNormalRideMode() const {
nofralloc
#include "asm/d/a/d_a_horse_static/checkNormalRideMode__10e_wb_classCFv.s"
u8 e_wb_class::checkNormalRideMode() const {
bool normalRideMode = false;
if (unk1680 != 0x66 || unk1460 < 1) {
normalRideMode = 1;
}
return normalRideMode;
}
#pragma pop
/* 80037DBC-80037DE4 0326FC 0028+00 0/0 1/1 0/0 .text setRunRideMode__10e_wb_classFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void e_wb_class::setRunRideMode() {
nofralloc
#include "asm/d/a/d_a_horse_static/setRunRideMode__10e_wb_classFv.s"
void e_wb_class::setRunRideMode() {
if (unk1680 == 0x65) {
unk1460 = 0;
unk1680 = 0x15;
unk1682 = 0x65;
}
}
#pragma pop
/* ############################################################################################## */
/* 80450DF8-80450E00 0002F8 0004+04 0/0 1/1 3/3 .sbss m_top__12daTagHstop_c */
u8 daTagHstop_c::m_top[4 + 4 /* padding */];
daTagHstop_c* daTagHstop_c::m_top;
+47 -58
View File
@@ -7,6 +7,7 @@
#include "dol2asm.h"
#include "dolphin/mtx/mtx.h"
#include "dolphin/types.h"
#include "f_op/f_op_actor_mng.h"
//
// Types:
@@ -18,21 +19,6 @@ struct mDoMtx_stack_c {
static u8 now[48];
};
struct ResTIMG {};
struct daPy_sightPacket_c {
/* 80140CDC */ ~daPy_sightPacket_c();
/* 8015F1A0 */ void draw();
/* 8015F2FC */ void setSight();
/* 8015F384 */ void setSightImage(ResTIMG*);
};
struct daPy_boomerangMove_c {
/* 8015E5B0 */ void initOffset(cXyz const*);
/* 8015E654 */ void posMove(cXyz*, s16*, fopAc_ac_c*, s16);
/* 8015E87C */ void bgCheckAfterOffset(cXyz const*);
};
struct daAlink_c {
/* 800A0744 */ void setLookPosFromOut(cXyz*);
/* 800BDF60 */ void startRestartRoom(u32, int, int, int);
@@ -43,27 +29,15 @@ struct daAlink_c {
/* 800E7AEC */ void setFmChainPosFromOut(fopAc_ac_c*, cXyz*, int);
};
struct dStage_roomControl_c {
static u8 mDemoArcName[10 + 2 /* padding */];
};
struct dRes_control_c {
/* 8003C2EC */ void getRes(char const*, s32, dRes_info_c*, int);
/* 8003C400 */ void getIDRes(char const*, u16, dRes_info_c*, int);
};
struct dDlst_base_c {};
struct dDlst_list_c {
/* 80056794 */ void set(dDlst_base_c**&, dDlst_base_c**&, dDlst_base_c*);
};
struct JMath {
static u8 sincosTable_[65536];
};
struct JKRSolidHeap {};
struct J3DSys {
/* 8031073C */ void reinitGX();
};
@@ -373,7 +347,7 @@ BOOL daPy_py_c::checkFishingRodItem(int i_item_id) {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daPy_py_c::checkFishingRodItem(int param_0) {
asm BOOL daPy_py_c::checkFishingRodItem(int param_0) {
nofralloc
#include "asm/d/a/d_a_player/checkFishingRodItem__9daPy_py_cFi.s"
}
@@ -415,7 +389,7 @@ asm void daPy_py_c::checkDrinkBottleItem(int param_0) {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daPy_py_c::checkOilBottleItem(int param_0) {
asm BOOL daPy_py_c::checkOilBottleItem(int param_0) {
nofralloc
#include "asm/d/a/d_a_player/checkOilBottleItem__9daPy_py_cFi.s"
}
@@ -497,14 +471,14 @@ asm void daPy_actorKeep_c::setActor() {
/* 8015ECB8-8015ECFC 1595F8 0044+00 0/0 59/59 4/4 .text setData__16daPy_actorKeep_cFP10fopAc_ac_c
*/
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daPy_actorKeep_c::setData(fopAc_ac_c* param_0) {
nofralloc
#include "asm/d/a/d_a_player/setData__16daPy_actorKeep_cFP10fopAc_ac_c.s"
void daPy_actorKeep_c::setData(fopAc_ac_c* pActor) {
if (pActor != NULL) {
mActor = pActor;
mID = fopAcM_GetID(pActor);
} else {
clearData();
}
}
#pragma pop
void daPy_actorKeep_c::clearData() {
mID = 0xffffffff;
@@ -680,42 +654,57 @@ SECTION_SDATA2 static u8 pigGanonArcName[6 + 2 /* padding */] = {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daPy_anmHeap_c::loadData(u16 param_0) {
asm J3DAnmBase* daPy_anmHeap_c::loadData(u16 param_0) {
nofralloc
#include "asm/d/a/d_a_player/loadData__14daPy_anmHeap_cFUs.s"
}
#pragma pop
/* 8015F068-8015F0D0 1599A8 0068+00 0/0 9/9 5/5 .text loadDataIdx__14daPy_anmHeap_cFUs */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daPy_anmHeap_c::loadDataIdx(u16 param_0) {
nofralloc
#include "asm/d/a/d_a_player/loadDataIdx__14daPy_anmHeap_cFUs.s"
J3DAnmBase* daPy_anmHeap_c::loadDataIdx(u16 pID) {
J3DAnmBase* tmp;
if (pID == mIdx && mArcNo == 0xffff) {
tmp = NULL;
} else {
mIdx = pID;
mArcNo = 0xffff;
if (mPriIdx == 0xffff) {
tmp = loadData(pID);
} else {
tmp = NULL;
}
}
return tmp;
}
#pragma pop
/* 8015F0D0-8015F118 159A10 0048+00 0/0 3/3 0/0 .text loadDataPriIdx__14daPy_anmHeap_cFUs
*/
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daPy_anmHeap_c::loadDataPriIdx(u16 param_0) {
nofralloc
#include "asm/d/a/d_a_player/loadDataPriIdx__14daPy_anmHeap_cFUs.s"
J3DAnmBase* daPy_anmHeap_c::loadDataPriIdx(u16 pID) {
J3DAnmBase* tmp;
if (pID == mPriIdx || mArcNo != 0xffff) {
tmp = NULL;
} else {
mPriIdx = pID;
tmp = loadData(pID);
}
return tmp;
}
#pragma pop
/* 8015F118-8015F168 159A58 0050+00 0/0 5/5 5/5 .text loadDataDemoRID__14daPy_anmHeap_cFUsUs */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daPy_anmHeap_c::loadDataDemoRID(u16 param_0, u16 param_1) {
nofralloc
#include "asm/d/a/d_a_player/loadDataDemoRID__14daPy_anmHeap_cFUsUs.s"
J3DAnmBase* daPy_anmHeap_c::loadDataDemoRID(u16 pID, u16 pArcNo) {
J3DAnmBase* tmp;
if (pID == mIdx && pArcNo == mArcNo) {
tmp = NULL;
} else {
mIdx = pID;
mArcNo = pArcNo;
tmp = loadData(pID);
}
return tmp;
}
#pragma pop
/* 8015F168-8015F1A0 159AA8 0038+00 1/1 4/4 0/0 .text setAnimeHeap__14daPy_anmHeap_cFv */
#pragma push