mirror of
https://github.com/TwilitRealm/dusklight
synced 2026-07-28 06:57:02 -04:00
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:
+661
-3934
File diff suppressed because it is too large
Load Diff
+43
-100
@@ -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
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user