diff options
| author | TakaRikka <38417346+TakaRikka@users.noreply.github.com> | 2021-05-23 03:09:59 -0700 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2021-05-23 12:09:59 +0200 |
| commit | e915df66c806bdff65aa243649f7abfe6cc19227 (patch) | |
| tree | 226e708c0546c45f65420446382ba597ad773651 /src/d/a/d_a_player.cpp | |
| parent | 462d71cbef02ef119fc2aa480b98cfeedde46441 (diff) | |
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>
Diffstat (limited to 'src/d/a/d_a_player.cpp')
| -rw-r--r-- | src/d/a/d_a_player.cpp | 105 |
1 files changed, 47 insertions, 58 deletions
diff --git a/src/d/a/d_a_player.cpp b/src/d/a/d_a_player.cpp index 4da13e5864..85a9045b37 100644 --- a/src/d/a/d_a_player.cpp +++ b/src/d/a/d_a_player.cpp @@ -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 |
