// // Generated By: dol2asm // Translation Unit: d/a/d_a_player // #include "dol2asm.h" #include "dolphin/types.h" #include "d/a/d_a_player.h" // // Types: // struct mDoMtx_stack_c { /* 8000CE38 */ // False False // f32 False // f32 False // f32 False void scaleM(f32, f32, f32); }; struct fopAc_ac_c { }; struct ResTIMG { }; struct daPy_sightPacket_c { /* 80140CDC */ // False False ~daPy_sightPacket_c(); /* 8015F1A0 */ // False False void draw(); /* 8015F2FC */ // False False void setSight(); /* 8015F384 */ // False False // ResTIMG* False // ResTIMG False void setSightImage(ResTIMG*); }; struct cXyz { }; struct daPy_py_c { /* 8015EA0C */ // False False // int False // int False // int False // int False void setParamData(int, int, int, int); /* 8015EA20 */ // False False // int False void checkFishingRodItem(int); /* 8015EA48 */ // False False // int False void checkBombItem(int); /* 8015EA88 */ // False False // int False void checkBottleItem(int); /* 8015EAD8 */ // False False // int False void checkDrinkBottleItem(int); /* 8015EB40 */ // False False // int False void checkOilBottleItem(int); /* 8015EB68 */ // False False // int False void checkOpenBottleItem(int); /* 8015EB90 */ // False False // int False void checkBowItem(int); /* 8015EBB8 */ // False False // int False void checkHookshotItem(int); /* 8015EBD8 */ // False False // int False void checkTradeItem(int); /* 8015EC28 */ // False False // int False void checkDungeonWarpItem(int); /* 8015F398 */ // False False void checkMasterSwordEquip(); /* 8015F3C4 */ // False False void checkWoodShieldEquip(); /* 8015F3FC */ // False False void getAttentionOffsetY(); /* 8015F424 */ // False False void checkNowWolfEyeUp(); /* 8015F438 */ // False False // int False // u32 False // int False void forceRestartRoom(int, u32, int); /* 8015F478 */ // False False // fopAc_ac_c* False // fopAc_ac_c False // cXyz* False // cXyz False // int False void setFmChainPos(fopAc_ac_c*, cXyz*, int); /* 8015F4B8 */ // False False void cancelFmChainGrab(); /* 8015F4F0 */ // False False // cXyz* False // cXyz False void setLookPos(cXyz*); /* 8015F520 */ // False False // u32 False void setPlayerSe(u32); /* 8015F55C */ // False False // fopAc_ac_c* False // fopAc_ac_c False void linkGrabSubjectNoDraw(fopAc_ac_c*); /* 8015F60C */ // False False // fopAc_ac_c* False // fopAc_ac_c False void wolfGrabSubjectNoDraw(fopAc_ac_c*); /* 8015F660 */ // False False void checkRoomRestartStart(); /* 8015F698 */ // False False void checkCarryStartLightBallA(); /* 8015F730 */ // False False void checkCarryStartLightBallB(); /* 8015F7C8 */ // False False void getSpinnerRideSpeed() const; /* 8015F814 */ // False False void checkSpinnerReflectEffect(); /* 8015F89C */ // False False void checkBoomerangCharge(); /* 8015F8C8 */ // False False // bool False bool checkBoomerangChargeTime(); /* 8015F8D0 */ // False False void getThrowBoomerangActor(); /* 8015F8E4 */ // False False // fopAc_ac_c* False // fopAc_ac_c False void cancelBoomerangLockActor(fopAc_ac_c*); /* 8015F914 */ // False False // int False // int False void setPlayerDamage(int, int); /* 8015F954 */ // False False // int False void setMidnaMotionNum(int); /* 8015F968 */ // False False // int False void setMidnaFaceNum(int); }; struct daPy_frameCtrl_c { /* 8015E4CC */ // False False void checkAnmEnd(); /* 8015E510 */ // False False void updateFrame(); /* 8015E544 */ // False False // u8 False // s16 False // s16 False // f32 False // f32 False void setFrameCtrl(u8, s16, s16, f32, f32); }; struct daPy_boomerangMove_c { /* 8015E5B0 */ // False False // cXyz const* False // cXyz const False // cXyz False void initOffset(cXyz const*); /* 8015E654 */ // False False // cXyz* False // cXyz False // s16* False // s16 False // fopAc_ac_c* False // fopAc_ac_c False // s16 False void posMove(cXyz*, s16*, fopAc_ac_c*, s16); /* 8015E87C */ // False False // cXyz const* False // cXyz const False // cXyz False void bgCheckAfterOffset(cXyz const*); }; struct daPy_anmHeap_c { struct daAlinkHEAP_TYPE { }; /* 8015ED10 */ // False False // u32 False daPy_anmHeap_c(u32); /* 8015ED50 */ // False False ~daPy_anmHeap_c(); /* 8015EDAC */ // False False void initData(); /* 8015EDC4 */ // False False void mallocBuffer(); /* 8015EE00 */ // False False // daPy_anmHeap_c::daAlinkHEAP_TYPE False void createHeap(daPy_anmHeap_c::daAlinkHEAP_TYPE); /* 8015EF84 */ // True False // u16 False void loadData(u16); /* 8015F068 */ // False False // u16 False void loadDataIdx(u16); /* 8015F0D0 */ // False False // u16 False void loadDataPriIdx(u16); /* 8015F118 */ // False False // u16 False // u16 False void loadDataDemoRID(u16, u16); /* 8015F168 */ // False False void setAnimeHeap(); }; struct daPy_actorKeep_c { /* 8015EC48 */ // False False void setActor(); /* 8015ECB8 */ // False False // fopAc_ac_c* False // fopAc_ac_c False void setData(fopAc_ac_c*); /* 8015ECFC */ // False False void clearData(); }; struct daAlink_c { /* 800A0744 */ // False False // cXyz* False // cXyz False void setLookPosFromOut(cXyz*); /* 800BDF60 */ // False False // u32 False // int False // int False // int False void startRestartRoom(u32, int, int, int); /* 800D72BC */ // False False // int False // int False // int False // int False void setDamagePoint(int, int, int, int); /* 800E01CC */ // False False // fopAc_ac_c* False // fopAc_ac_c False void cancelBoomerangLock(fopAc_ac_c*); /* 800E0244 */ // False False void checkBoomerangChargeEnd(); /* 800E02B8 */ // False False // fopAc_ac_c* False // fopAc_ac_c False void checkBoomerangCarry(fopAc_ac_c*); /* 800E7AEC */ // False False // fopAc_ac_c* False // fopAc_ac_c False // cXyz* False // cXyz False // int False void setFmChainPosFromOut(fopAc_ac_c*, cXyz*, int); }; struct dRes_info_c { }; struct dRes_control_c { /* 8003C2EC */ // False False // char const* False // char const False // char False // s32 False // dRes_info_c* False // dRes_info_c False // int False void getRes(char const*, s32, dRes_info_c*, int); /* 8003C400 */ // False False // char const* False // char const False // char False // u16 False // dRes_info_c* False // dRes_info_c False // int False void getIDRes(char const*, u16, dRes_info_c*, int); }; struct dDlst_base_c { }; struct dDlst_list_c { /* 80056794 */ // False False // dDlst_base_c**& False // dDlst_base_c** False // dDlst_base_c* False // dDlst_base_c False // dDlst_base_c**& False // dDlst_base_c** False // dDlst_base_c* False // dDlst_base_c False // dDlst_base_c* False // dDlst_base_c False void set(dDlst_base_c**&, dDlst_base_c**&, dDlst_base_c*); }; struct Vec { }; struct JKRSolidHeap { }; struct JKRHeap { /* 802CE5CC */ // False False void freeAll(); }; struct JKRArchive { /* 802D5ECC */ // False False // void* False // void False // u32 False // u32 False void readIdxResource(void*, u32, u32); }; struct J3DSys { /* 8031073C */ // False False void reinitGX(); }; struct J3DFrameCtrl { /* 803289CC */ // False False void update(); }; struct J3DAnmTransform { /* 80328E40 */ // False False // s16 False // f32* False // f32 False // s16* False // s16 False // f32* False // f32 False J3DAnmTransform(s16, f32*, s16*, f32*); }; struct J3DAnmTextureSRTKey { /* 80329E5C */ // False False J3DAnmTextureSRTKey(); }; struct J3DAnmTexPattern { /* 8032AED8 */ // False False J3DAnmTexPattern(); }; struct J3DAnmLoaderDataBaseFlag { }; struct J3DAnmLoaderDataBase { /* 80337B40 */ // False False // void const* False // void const False // void False // J3DAnmLoaderDataBaseFlag False void load(void const*, J3DAnmLoaderDataBaseFlag); }; // // Forward References: // // False False // s16* False // s16 False // s16 False // s16 False // s16 False // s16 False void daPy_addCalcShort(s16*, s16, s16, s16, s16); // False False extern "C" void checkAnmEnd__16daPy_frameCtrl_cFv(); // False False extern "C" void updateFrame__16daPy_frameCtrl_cFv(); // False False // u8 False // s16 False // s16 False // f32 False // f32 False extern "C" void setFrameCtrl__16daPy_frameCtrl_cFUcssff(); // False False // cXyz const* False // cXyz const False // cXyz False extern "C" void initOffset__20daPy_boomerangMove_cFPC4cXyz(); // False False // cXyz* False // cXyz False // s16* False // s16 False // fopAc_ac_c* False // fopAc_ac_c False // s16 False extern "C" void posMove__20daPy_boomerangMove_cFP4cXyzPsP10fopAc_ac_cs(); // False False // cXyz const* False // cXyz const False // cXyz False extern "C" void bgCheckAfterOffset__20daPy_boomerangMove_cFPC4cXyz(); // False False // int False // int False // int False // int False extern "C" void setParamData__9daPy_py_cFiiii(); // False False // int False extern "C" void checkFishingRodItem__9daPy_py_cFi(); // False False // int False extern "C" void checkBombItem__9daPy_py_cFi(); // False False // int False extern "C" void checkBottleItem__9daPy_py_cFi(); // False False // int False extern "C" void checkDrinkBottleItem__9daPy_py_cFi(); // False False // int False extern "C" void checkOilBottleItem__9daPy_py_cFi(); // False False // int False extern "C" void checkOpenBottleItem__9daPy_py_cFi(); // False False // int False extern "C" void checkBowItem__9daPy_py_cFi(); // False False // int False extern "C" void checkHookshotItem__9daPy_py_cFi(); // False False // int False extern "C" void checkTradeItem__9daPy_py_cFi(); // False False // int False extern "C" void checkDungeonWarpItem__9daPy_py_cFi(); // False False extern "C" void setActor__16daPy_actorKeep_cFv(); // False False // fopAc_ac_c* False // fopAc_ac_c False extern "C" void setData__16daPy_actorKeep_cFP10fopAc_ac_c(); // False False extern "C" void clearData__16daPy_actorKeep_cFv(); // False False // u32 False extern "C" void __ct__14daPy_anmHeap_cFUl(); // False False extern "C" void __dt__14daPy_anmHeap_cFv(); // False False extern "C" void initData__14daPy_anmHeap_cFv(); // False False extern "C" void mallocBuffer__14daPy_anmHeap_cFv(); // False False // daPy_anmHeap_c::daAlinkHEAP_TYPE False extern "C" void createHeap__14daPy_anmHeap_cFQ214daPy_anmHeap_c16daAlinkHEAP_TYPE(); // True False // u16 False extern "C" void loadData__14daPy_anmHeap_cFUs(); // False False // u16 False extern "C" void loadDataIdx__14daPy_anmHeap_cFUs(); // False False // u16 False extern "C" void loadDataPriIdx__14daPy_anmHeap_cFUs(); // False False // u16 False // u16 False extern "C" void loadDataDemoRID__14daPy_anmHeap_cFUsUs(); // False False extern "C" void setAnimeHeap__14daPy_anmHeap_cFv(); // False False extern "C" void draw__18daPy_sightPacket_cFv(); // False False extern "C" void setSight__18daPy_sightPacket_cFv(); // False False // ResTIMG* False // ResTIMG False extern "C" void setSightImage__18daPy_sightPacket_cFP7ResTIMG(); // False False extern "C" void checkMasterSwordEquip__9daPy_py_cFv(); // False False extern "C" void checkWoodShieldEquip__9daPy_py_cFv(); // False False extern "C" void getAttentionOffsetY__9daPy_py_cFv(); // False False extern "C" void checkNowWolfEyeUp__9daPy_py_cFv(); // False False // int False // u32 False // int False extern "C" void forceRestartRoom__9daPy_py_cFiUli(); // False False // fopAc_ac_c* False // fopAc_ac_c False // cXyz* False // cXyz False // int False extern "C" void setFmChainPos__9daPy_py_cFP10fopAc_ac_cP4cXyzi(); // False False extern "C" void cancelFmChainGrab__9daPy_py_cFv(); // False False // cXyz* False // cXyz False extern "C" void setLookPos__9daPy_py_cFP4cXyz(); // False False // u32 False extern "C" void setPlayerSe__9daPy_py_cFUl(); // False False // fopAc_ac_c* False // fopAc_ac_c False extern "C" void linkGrabSubjectNoDraw__9daPy_py_cFP10fopAc_ac_c(); // False False // fopAc_ac_c* False // fopAc_ac_c False extern "C" void wolfGrabSubjectNoDraw__9daPy_py_cFP10fopAc_ac_c(); // False False extern "C" void checkRoomRestartStart__9daPy_py_cFv(); // False False extern "C" void checkCarryStartLightBallA__9daPy_py_cFv(); // False False extern "C" void checkCarryStartLightBallB__9daPy_py_cFv(); // False False extern "C" void getSpinnerRideSpeed__9daPy_py_cCFv(); // False False extern "C" void checkSpinnerReflectEffect__9daPy_py_cFv(); // False False extern "C" void checkBoomerangCharge__9daPy_py_cFv(); // False False // bool False extern "C" bool checkBoomerangChargeTime__9daPy_py_cFv(); // False False extern "C" void getThrowBoomerangActor__9daPy_py_cFv(); // False False // fopAc_ac_c* False // fopAc_ac_c False extern "C" void cancelBoomerangLockActor__9daPy_py_cFP10fopAc_ac_c(); // False False // int False // int False extern "C" void setPlayerDamage__9daPy_py_cFii(); // False False // int False extern "C" void setMidnaMotionNum__9daPy_py_cFi(); // False False // int False extern "C" void setMidnaFaceNum__9daPy_py_cFi(); // False False // s16* False // s16 False // s16 False // s16 False // s16 False // s16 False extern "C" void daPy_addCalcShort__FPsssss(); extern "C" extern void* __vt__18daPy_sightPacket_c[4 + 1 /* padding */]; extern "C" extern u8 m_midnaActor__9daPy_py_c[4]; extern "C" extern u8 struct_8045101C[4]; // // External References: // // False False // JKRHeap** False // JKRHeap* False // JKRHeap False // u32 False // u32 False void mDoExt_createSolidHeapFromGameToCurrent(JKRHeap**, u32, u32); // False False // JKRSolidHeap* False // JKRSolidHeap False void mDoExt_adjustSolidHeap(JKRSolidHeap*); // False False // JKRSolidHeap* False // JKRSolidHeap False void mDoExt_destroySolidHeap(JKRSolidHeap*); // False False // JKRHeap* False // JKRHeap False void mDoExt_setCurrentHeap(JKRHeap*); // False False // Vec* False // Vec False // Vec* False // Vec False void mDoLib_project(Vec*, Vec*); // False False // void* (*)(void*, void*) False // * False // False // void* False // void False // void* False // void False // void* False // void False // void* False // void False void fopAcIt_Judge(void* (*)(void*, void*), void*); // False False // void* False // void False // void* False // void False void fpcSch_JudgeByID(void*, void*); // False False // f32 False // f32 False void cM_atan2s(f32, f32); // False False // f32 False void cM_rndF(f32); // False False // void* False // void False // u32 False void* operator new(u32); // False False // void* False // void False // u32 False void* operator new[](u32); // False False // void* False // void False // u32 False // int False void* operator new[](u32, int); // False False // void False // void* False // void False void operator delete(void*); // False False // f32 False // f32 False // f32 False extern "C" void scaleM__14mDoMtx_stack_cFfff(); // False False // JKRHeap** False // JKRHeap* False // JKRHeap False // u32 False // u32 False extern "C" void mDoExt_createSolidHeapFromGameToCurrent__FPP7JKRHeapUlUl(); // False False // JKRSolidHeap* False // JKRSolidHeap False extern "C" void mDoExt_adjustSolidHeap__FP12JKRSolidHeap(); // False False // JKRSolidHeap* False // JKRSolidHeap False extern "C" void mDoExt_destroySolidHeap__FP12JKRSolidHeap(); // False False // JKRHeap* False // JKRHeap False extern "C" void mDoExt_setCurrentHeap__FP7JKRHeap(); // False False // Vec* False // Vec False // Vec* False // Vec False extern "C" void mDoLib_project__FP3VecP3Vec(); // False False // void* (*)(void*, void*) False // * False // False // void* False // void False // void* False // void False // void* False // void False // void* False // void False extern "C" void fopAcIt_Judge__FPFPvPv_PvPv(); // False False // void* False // void False // void* False // void False extern "C" void fpcSch_JudgeByID__FPvPv(); // False False // char const* False // char const False // char False // s32 False // dRes_info_c* False // dRes_info_c False // int False extern "C" void getRes__14dRes_control_cFPCclP11dRes_info_ci(); // False False // char const* False // char const False // char False // u16 False // dRes_info_c* False // dRes_info_c False // int False extern "C" void getIDRes__14dRes_control_cFPCcUsP11dRes_info_ci(); // False False // dDlst_base_c**& False // dDlst_base_c** False // dDlst_base_c* False // dDlst_base_c False // dDlst_base_c**& False // dDlst_base_c** False // dDlst_base_c* False // dDlst_base_c False // dDlst_base_c* False // dDlst_base_c False extern "C" void set__12dDlst_list_cFRPP12dDlst_base_cRPP12dDlst_base_cP12dDlst_base_c(); // False False // cXyz* False // cXyz False extern "C" void setLookPosFromOut__9daAlink_cFP4cXyz(); // False False // u32 False // int False // int False // int False extern "C" void startRestartRoom__9daAlink_cFUliii(); // False False // int False // int False // int False // int False extern "C" void setDamagePoint__9daAlink_cFiiii(); // False False // fopAc_ac_c* False // fopAc_ac_c False extern "C" void cancelBoomerangLock__9daAlink_cFP10fopAc_ac_c(); // False False extern "C" void checkBoomerangChargeEnd__9daAlink_cFv(); // False False // fopAc_ac_c* False // fopAc_ac_c False extern "C" void checkBoomerangCarry__9daAlink_cFP10fopAc_ac_c(); // False False // fopAc_ac_c* False // fopAc_ac_c False // cXyz* False // cXyz False // int False extern "C" void setFmChainPosFromOut__9daAlink_cFP10fopAc_ac_cP4cXyzi(); // False False extern "C" void __dt__18daPy_sightPacket_cFv(); // False False // f32 False // f32 False extern "C" void cM_atan2s__Fff(); // False False // f32 False extern "C" void cM_rndF__Ff(); // False False extern "C" void freeAll__7JKRHeapFv(); // False False // void* False // void False // u32 False extern "C" void* __nw__FUl(); // False False // void* False // void False // u32 False extern "C" void* __nwa__FUl(); // False False // void* False // void False // u32 False // int False extern "C" void* __nwa__FUli(); // False False // void False // void* False // void False extern "C" void __dl__FPv(); // False False // void* False // void False // u32 False // u32 False extern "C" void readIdxResource__10JKRArchiveFPvUlUl(); // False False extern "C" void reinitGX__6J3DSysFv(); // False False extern "C" void update__12J3DFrameCtrlFv(); // False False // s16 False // f32* False // f32 False // s16* False // s16 False // f32* False // f32 False extern "C" void __ct__15J3DAnmTransformFsPfPsPf(); // False False extern "C" void __ct__19J3DAnmTextureSRTKeyFv(); // False False extern "C" void __ct__16J3DAnmTexPatternFv(); // False False // void const* False // void const False // void False // J3DAnmLoaderDataBaseFlag False extern "C" void load__20J3DAnmLoaderDataBaseFPCv24J3DAnmLoaderDataBaseFlag(); // False False extern "C" void PSMTXCopy(); // False False extern "C" void PSMTXTrans(); // False False extern "C" void PSVECSquareDistance(); // False False extern "C" void GXSetVtxDesc(); // False False extern "C" void GXClearVtxDesc(); // False False extern "C" void GXSetVtxAttrFmt(); // False False extern "C" void GXInitTexObj(); // False False extern "C" void GXInitTexObjLOD(); // False False extern "C" void GXLoadTexObj(); // False False extern "C" void GXSetNumIndStages(); // False False extern "C" void GXSetTevColor(); // False False extern "C" void GXSetTevOrder(); // False False extern "C" void GXCallDisplayList(); // False False extern "C" void GXLoadPosMtxImm(); // False False extern "C" void GXSetCurrentMtx(); // False False extern "C" void _savegpr_27(); // False False extern "C" void _savegpr_29(); // False False extern "C" void _restgpr_27(); // False False extern "C" void _restgpr_29(); extern "C" extern void* __vt__18mDoExt_transAnmBas[5]; extern "C" extern void* __vt__18J3DAnmTransformKey[5]; extern "C" extern u8 now__14mDoMtx_stack_c[48]; extern "C" extern u8 mDemoArcName__20dStage_roomControl_c[10 + 2 /* padding */]; extern "C" extern u8 g_dComIfG_gameInfo[122384]; extern "C" extern u8 j3dSys[284]; extern "C" extern u8 sincosTable___5JMath[65536]; extern "C" extern u32 __float_nan; extern "C" extern u8 sOldVcdVatCmd__8J3DShape[4]; // // Declarations: // /* ############################################################################################## */ /* 80453600-80453608 0004+04 s=6 e=0 z=0 None .sdata2 @4215 */ SECTION_SDATA2 static f32 lit_4215[1 + 1 /* padding */] = { 0.0f, /* padding */ 0.0f, }; /* 8015E4CC-8015E510 0044+00 s=0 e=235 z=6 None .text checkAnmEnd__16daPy_frameCtrl_cFv */ // 8015E4EC: 80453600 (lit_4215) #pragma push #pragma optimization_level 0 #pragma optimizewithasm off // False False asm void daPy_frameCtrl_c::checkAnmEnd() { nofralloc #include "asm/d/a/d_a_player/checkAnmEnd__16daPy_frameCtrl_cFv.s" } #pragma pop /* 8015E510-8015E544 0034+00 s=0 e=1 z=2 None .text updateFrame__16daPy_frameCtrl_cFv */ // 8015E524: 803289CC (update__12J3DFrameCtrlFv) #pragma push #pragma optimization_level 0 #pragma optimizewithasm off // False False asm void daPy_frameCtrl_c::updateFrame() { nofralloc #include "asm/d/a/d_a_player/updateFrame__16daPy_frameCtrl_cFv.s" } #pragma pop /* ############################################################################################## */ /* 80453608-80453610 0008+00 s=2 e=0 z=0 None .sdata2 @4237 */ SECTION_SDATA2 static f64 lit_4237 = 4503601774854144.0 /* cast s32 to float */; /* 8015E544-8015E5B0 006C+00 s=0 e=1 z=6 None .text setFrameCtrl__16daPy_frameCtrl_cFUcssff */ // 8015E55C: 80453608 (lit_4237) // 8015E580: 80453600 (lit_4215) #pragma push #pragma optimization_level 0 #pragma optimizewithasm off // False False // u8 False // s16 False // s16 False // f32 False // f32 False asm void daPy_frameCtrl_c::setFrameCtrl(u8 param_0, s16 param_1, s16 param_2, f32 param_3, f32 param_4) { nofralloc #include "asm/d/a/d_a_player/setFrameCtrl__16daPy_frameCtrl_cFUcssff.s" } #pragma pop /* ############################################################################################## */ /* 80453610-80453614 0004+00 s=1 e=0 z=0 None .sdata2 @4247 */ SECTION_SDATA2 static f32 lit_4247 = 30.0f; /* 80453614-80453618 0004+00 s=1 e=0 z=0 None .sdata2 @4248 */ SECTION_SDATA2 static f32 lit_4248 = 70.0f; /* 80453618-8045361C 0004+00 s=2 e=0 z=0 None .sdata2 @4249 */ SECTION_SDATA2 static f32 lit_4249 = 50.0f; /* 8045361C-80453620 0004+00 s=1 e=0 z=0 None .sdata2 @4250 */ SECTION_SDATA2 static f32 lit_4250 = 65536.0f; /* 8015E5B0-8015E654 00A4+00 s=0 e=1 z=18 None .text initOffset__20daPy_boomerangMove_cFPC4cXyz */ // 8015E5C0: 803621DC (_savegpr_29) // 8015E5CC: 8015F8D0 (getThrowBoomerangActor__9daPy_py_cFv) // 8015E5E0: 8015E87C (bgCheckAfterOffset__20daPy_boomerangMove_cFPC4cXyz) // 8015E5F4: 80453614 (lit_4248) // 8015E5F8: 80267954 (cM_rndF__Ff) // 8015E5FC: 80453610 (lit_4247) // 8015E608: 80453618 (lit_4249) // 8015E60C: 80267954 (cM_rndF__Ff) // 8015E610: 80453618 (lit_4249) // 8015E61C: 8045361C (lit_4250) // 8015E620: 80267954 (cM_rndF__Ff) // 8015E640: 80362228 (_restgpr_29) #pragma push #pragma optimization_level 0 #pragma optimizewithasm off // False False // cXyz const* False // cXyz const False // cXyz False asm void daPy_boomerangMove_c::initOffset(cXyz const* param_0) { nofralloc #include "asm/d/a/d_a_player/initOffset__20daPy_boomerangMove_cFPC4cXyz.s" } #pragma pop /* ############################################################################################## */ /* 80451018-8045101C 0004+00 s=2 e=33 z=103 None .sbss m_midnaActor__9daPy_py_c */ u8 m_midnaActor__9daPy_py_c[4]; /* 8045101C-80451020 0004+00 s=1 e=1 z=1 None .sbss None */ u8 struct_8045101C[4]; /* 80453620-80453624 0004+00 s=1 e=0 z=0 None .sdata2 @4332 */ SECTION_SDATA2 static f32 lit_4332 = 300.0f; /* 80453624-80453628 0004+00 s=1 e=0 z=0 None .sdata2 @4333 */ SECTION_SDATA2 static f32 lit_4333 = -700.0f; /* 80453628-80453630 0004+04 s=1 e=0 z=0 None .sdata2 @4334 */ SECTION_SDATA2 static f32 lit_4334[1 + 1 /* padding */] = { 2048.0f, /* padding */ 0.0f, }; /* 8015E654-8015E87C 0228+00 s=0 e=1 z=17 None .text posMove__20daPy_boomerangMove_cFP4cXyzPsP10fopAc_ac_cs */ // 8015E664: 803621D4 (_savegpr_27) // 8015E67C: 8015F8D0 (getThrowBoomerangActor__9daPy_py_cFv) // 8015E69C: 80453620 (lit_4332) // 8015E6B0: 80453624 (lit_4333) // 8015E6C4: 80453618 (lit_4249) // 8015E6F0: 804061C0 (g_dComIfG_gameInfo) // 8015E6F4: 804061C0 (g_dComIfG_gameInfo) // 8015E710: 8045101E (struct_8045101C) // 8015E730: 80439A20 (sincosTable___5JMath) // 8015E734: 80439A20 (sincosTable___5JMath) // 8015E794: 804061C0 (g_dComIfG_gameInfo) // 8015E798: 804061C0 (g_dComIfG_gameInfo) // 8015E7B0: 800E02B8 (checkBoomerangCarry__9daAlink_cFP10fopAc_ac_c) // 8015E7BC: 8045101E (struct_8045101C) // 8015E7D4: 80453628 (lit_4334) // 8015E7D8: 80267954 (cM_rndF__Ff) // 8015E7DC: 8045101C (struct_8045101C) // 8015E7E8: 80453608 (lit_4237) // 8015E820: 80439A20 (sincosTable___5JMath) // 8015E824: 80439A20 (sincosTable___5JMath) // 8015E854: 8045101C (struct_8045101C) // 8015E85C: 8045101C (struct_8045101C) // 8015E868: 80362220 (_restgpr_27) #pragma push #pragma optimization_level 0 #pragma optimizewithasm off // False False // cXyz* False // cXyz False // s16* False // s16 False // fopAc_ac_c* False // fopAc_ac_c False // s16 False asm void daPy_boomerangMove_c::posMove(cXyz* param_0, s16* param_1, fopAc_ac_c* param_2, s16 param_3) { nofralloc #include "asm/d/a/d_a_player/posMove__20daPy_boomerangMove_cFP4cXyzPsP10fopAc_ac_cs.s" } #pragma pop /* ############################################################################################## */ /* 80453630-80453638 0008+00 s=1 e=0 z=0 None .sdata2 @4379 */ SECTION_SDATA2 static f64 lit_4379 = 0.5; /* 80453638-80453640 0008+00 s=1 e=0 z=0 None .sdata2 @4380 */ SECTION_SDATA2 static f64 lit_4380 = 3.0; /* 80453640-80453648 0008+00 s=1 e=0 z=0 None .sdata2 @4381 */ SECTION_SDATA2 static u8 lit_4381[8] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, }; /* 8015E87C-8015EA0C 0190+00 s=1 e=1 z=17 None .text bgCheckAfterOffset__20daPy_boomerangMove_cFPC4cXyz */ // 8015E88C: 803621DC (_savegpr_29) // 8015E898: 8015F8D0 (getThrowBoomerangActor__9daPy_py_cFv) // 8015E8C0: 80453600 (lit_4215) // 8015E8E8: 8034739C (PSVECSquareDistance) // 8015E8EC: 80453600 (lit_4215) // 8015E8FC: 80453630 (lit_4379) // 8015E904: 80453638 (lit_4380) // 8015E94C: 80453640 (lit_4381) // 8015E958: 80450AE0 (__float_nan) // 8015E95C: 80450AE0 (__float_nan) // 8015E9C8: 80450AE0 (__float_nan) // 8015E9CC: 80450AE0 (__float_nan) // 8015E9EC: 80267674 (cM_atan2s__Fff) // 8015E9F8: 80362228 (_restgpr_29) #pragma push #pragma optimization_level 0 #pragma optimizewithasm off // False False // cXyz const* False // cXyz const False // cXyz False asm void daPy_boomerangMove_c::bgCheckAfterOffset(cXyz const* param_0) { nofralloc #include "asm/d/a/d_a_player/bgCheckAfterOffset__20daPy_boomerangMove_cFPC4cXyz.s" } #pragma pop /* 8015EA0C-8015EA20 0014+00 s=0 e=3 z=0 None .text setParamData__9daPy_py_cFiiii */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off // False False // int False // int False // int False // int False asm void daPy_py_c::setParamData(int param_0, int param_1, int param_2, int param_3) { nofralloc #include "asm/d/a/d_a_player/setParamData__9daPy_py_cFiiii.s" } #pragma pop /* 8015EA20-8015EA48 0028+00 s=0 e=10 z=3 None .text checkFishingRodItem__9daPy_py_cFi */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off // False False // int False asm void daPy_py_c::checkFishingRodItem(int param_0) { nofralloc #include "asm/d/a/d_a_player/checkFishingRodItem__9daPy_py_cFi.s" } #pragma pop /* 8015EA48-8015EA88 0040+00 s=0 e=3 z=0 None .text checkBombItem__9daPy_py_cFi */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off // False False // int False asm void daPy_py_c::checkBombItem(int param_0) { nofralloc #include "asm/d/a/d_a_player/checkBombItem__9daPy_py_cFi.s" } #pragma pop /* 8015EA88-8015EAD8 0050+00 s=0 e=5 z=0 None .text checkBottleItem__9daPy_py_cFi */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off // False False // int False asm void daPy_py_c::checkBottleItem(int param_0) { nofralloc #include "asm/d/a/d_a_player/checkBottleItem__9daPy_py_cFi.s" } #pragma pop /* 8015EAD8-8015EB40 0068+00 s=0 e=3 z=0 None .text checkDrinkBottleItem__9daPy_py_cFi */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off // False False // int False asm void daPy_py_c::checkDrinkBottleItem(int param_0) { nofralloc #include "asm/d/a/d_a_player/checkDrinkBottleItem__9daPy_py_cFi.s" } #pragma pop /* 8015EB40-8015EB68 0028+00 s=0 e=4 z=0 None .text checkOilBottleItem__9daPy_py_cFi */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off // False False // int False asm void daPy_py_c::checkOilBottleItem(int param_0) { nofralloc #include "asm/d/a/d_a_player/checkOilBottleItem__9daPy_py_cFi.s" } #pragma pop /* 8015EB68-8015EB90 0028+00 s=0 e=2 z=0 None .text checkOpenBottleItem__9daPy_py_cFi */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off // False False // int False asm void daPy_py_c::checkOpenBottleItem(int param_0) { nofralloc #include "asm/d/a/d_a_player/checkOpenBottleItem__9daPy_py_cFi.s" } #pragma pop /* 8015EB90-8015EBB8 0028+00 s=0 e=11 z=0 None .text checkBowItem__9daPy_py_cFi */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off // False False // int False asm void daPy_py_c::checkBowItem(int param_0) { nofralloc #include "asm/d/a/d_a_player/checkBowItem__9daPy_py_cFi.s" } #pragma pop /* 8015EBB8-8015EBD8 0020+00 s=0 e=23 z=0 None .text checkHookshotItem__9daPy_py_cFi */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off // False False // int False asm void daPy_py_c::checkHookshotItem(int param_0) { nofralloc #include "asm/d/a/d_a_player/checkHookshotItem__9daPy_py_cFi.s" } #pragma pop /* 8015EBD8-8015EC28 0050+00 s=0 e=3 z=0 None .text checkTradeItem__9daPy_py_cFi */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off // False False // int False asm void daPy_py_c::checkTradeItem(int param_0) { nofralloc #include "asm/d/a/d_a_player/checkTradeItem__9daPy_py_cFi.s" } #pragma pop /* 8015EC28-8015EC48 0020+00 s=0 e=2 z=0 None .text checkDungeonWarpItem__9daPy_py_cFi */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off // False False // int False asm void daPy_py_c::checkDungeonWarpItem(int param_0) { nofralloc #include "asm/d/a/d_a_player/checkDungeonWarpItem__9daPy_py_cFi.s" } #pragma pop /* 8015EC48-8015ECB8 0070+00 s=0 e=10 z=3 None .text setActor__16daPy_actorKeep_cFv */ // 8015EC70: 80023590 (fpcSch_JudgeByID__FPvPv) // 8015EC74: 80023590 (fpcSch_JudgeByID__FPvPv) // 8015EC7C: 800197F8 (fopAcIt_Judge__FPFPvPv_PvPv) #pragma push #pragma optimization_level 0 #pragma optimizewithasm off // False False asm void daPy_actorKeep_c::setActor() { nofralloc #include "asm/d/a/d_a_player/setActor__16daPy_actorKeep_cFv.s" } #pragma pop /* 8015ECB8-8015ECFC 0044+00 s=0 e=59 z=4 None .text setData__16daPy_actorKeep_cFP10fopAc_ac_c */ // 8015ECE8: 8015ECFC (clearData__16daPy_actorKeep_cFv) #pragma push #pragma optimization_level 0 #pragma optimizewithasm off // False False // fopAc_ac_c* False // fopAc_ac_c False 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" } #pragma pop /* 8015ECFC-8015ED10 0014+00 s=2 e=41 z=12 None .text clearData__16daPy_actorKeep_cFv */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off // False False asm void daPy_actorKeep_c::clearData() { nofralloc #include "asm/d/a/d_a_player/clearData__16daPy_actorKeep_cFv.s" } #pragma pop /* 8015ED10-8015ED50 0040+00 s=0 e=2 z=2 None .text __ct__14daPy_anmHeap_cFUl */ // 8015ED2C: 8015EDAC (initData__14daPy_anmHeap_cFv) #pragma push #pragma optimization_level 0 #pragma optimizewithasm off // False False // u32 False asm daPy_anmHeap_c::daPy_anmHeap_c(u32 param_0) { nofralloc #include "asm/d/a/d_a_player/__ct__14daPy_anmHeap_cFUl.s" } #pragma pop /* 8015ED50-8015EDAC 005C+00 s=0 e=2 z=2 None .text __dt__14daPy_anmHeap_cFv */ // 8015ED7C: 8000F18C (mDoExt_destroySolidHeap__FP12JKRSolidHeap) // 8015ED8C: 802CED3C (__dl__FPv) #pragma push #pragma optimization_level 0 #pragma optimizewithasm off // False False asm daPy_anmHeap_c::~daPy_anmHeap_c() { nofralloc #include "asm/d/a/d_a_player/__dt__14daPy_anmHeap_cFv.s" } #pragma pop /* 8015EDAC-8015EDC4 0018+00 s=1 e=0 z=1 None .text initData__14daPy_anmHeap_cFv */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off // False False asm void daPy_anmHeap_c::initData() { nofralloc #include "asm/d/a/d_a_player/initData__14daPy_anmHeap_cFv.s" } #pragma pop /* 8015EDC4-8015EE00 003C+00 s=0 e=1 z=1 None .text mallocBuffer__14daPy_anmHeap_cFv */ // 8015EDE0: 802CECEC (__nwa__FUli) #pragma push #pragma optimization_level 0 #pragma optimizewithasm off // False False asm void daPy_anmHeap_c::mallocBuffer() { nofralloc #include "asm/d/a/d_a_player/mallocBuffer__14daPy_anmHeap_cFv.s" } #pragma pop /* 8015EE00-8015EF84 0184+00 s=0 e=1 z=1 None .text createHeap__14daPy_anmHeap_cFQ214daPy_anmHeap_c16daAlinkHEAP_TYPE */ // 8015EE10: 803621DC (_savegpr_29) // 8015EE6C: 8000EFF4 (mDoExt_createSolidHeapFromGameToCurrent__FPP7JKRHeapUlUl) // 8015EE80: 802CECC4 (__nwa__FUl) // 8015EE94: 802CEC4C (__nw__FUl) // 8015EEB0: 80328E40 (__ct__15J3DAnmTransformFsPfPsPf) // 8015EEB4: 803A7C70 (__vt__18J3DAnmTransformKey) // 8015EEB8: 803A7C70 (__vt__18J3DAnmTransformKey) // 8015EECC: 803A7C5C (__vt__18mDoExt_transAnmBas) // 8015EED0: 803A7C5C (__vt__18mDoExt_transAnmBas) // 8015EEEC: 802CEC4C (__nw__FUl) // 8015EF08: 80328E40 (__ct__15J3DAnmTransformFsPfPsPf) // 8015EF0C: 803A7C70 (__vt__18J3DAnmTransformKey) // 8015EF10: 803A7C70 (__vt__18J3DAnmTransformKey) // 8015EF34: 802CEC4C (__nw__FUl) // 8015EF40: 8032AED8 (__ct__16J3DAnmTexPatternFv) // 8015EF4C: 802CEC4C (__nw__FUl) // 8015EF58: 80329E5C (__ct__19J3DAnmTextureSRTKeyFv) // 8015EF60: 8000F1CC (mDoExt_setCurrentHeap__FP7JKRHeap) // 8015EF68: 8000F08C (mDoExt_adjustSolidHeap__FP12JKRSolidHeap) // 8015EF70: 80362228 (_restgpr_29) #pragma push #pragma optimization_level 0 #pragma optimizewithasm off // False False // daPy_anmHeap_c::daAlinkHEAP_TYPE False asm void daPy_anmHeap_c::createHeap(daPy_anmHeap_c::daAlinkHEAP_TYPE param_0) { nofralloc #include "asm/d/a/d_a_player/createHeap__14daPy_anmHeap_cFQ214daPy_anmHeap_c16daAlinkHEAP_TYPE.s" } #pragma pop /* ############################################################################################## */ /* 80453648-80453650 0008+00 s=1 e=0 z=0 None .sdata2 sumouArcName$4614 */ extern "C" u8 sumouArcName[8]; /* 80453650-80453658 0005+03 s=1 e=0 z=0 None .sdata2 ocArcName$4615 */ extern "C" u8 ocArcName[5 + 3 /* padding */]; /* 80453658-80453660 0005+03 s=1 e=0 z=0 None .sdata2 drArcName$4618 */ extern "C" u8 drArcName[5 + 3 /* padding */]; /* 80453660-80453668 0008+00 s=1 e=0 z=0 None .sdata2 msDemoArcName$4619 */ extern "C" u8 msDemoArcName[8]; /* 80453668-80453670 0006+02 s=1 e=0 z=0 None .sdata2 lastGanonArcName$4620 */ extern "C" u8 lastGanonArcName[6 + 2 /* padding */]; /* 80453670-80453678 0006+02 s=1 e=0 z=0 None .sdata2 pigGanonArcName$4621 */ extern "C" u8 pigGanonArcName[6 + 2 /* padding */]; /* 80393DA8-80393DB4 000A+02 s=1 e=0 z=0 None .rodata twglArcName$4616 */ SECTION_RODATA static u8 const twglArcName[10 + 2 /* padding */] = { 0x54, 0x57, 0x47, 0x61, 0x74, 0x65, 0x5F, 0x4C, 0x6B, 0x00, /* padding */ 0x00, 0x00, }; /* 80393DB4-80393DC0 000A+02 s=1 e=0 z=0 None .rodata twgwArcName$4617 */ SECTION_RODATA static u8 const twgwArcName[10 + 2 /* padding */] = { 0x54, 0x57, 0x47, 0x61, 0x74, 0x65, 0x5F, 0x57, 0x66, 0x00, /* padding */ 0x00, 0x00, }; /* 803BA0A0-803BA0C0 0020+00 s=1 e=0 z=0 None .data arcName$4622 */ SECTION_DATA static void* arcName[8] = { (void*)&sumouArcName, (void*)&ocArcName, (void*)&twglArcName, (void*)&twgwArcName, (void*)&drArcName, (void*)&msDemoArcName, (void*)&lastGanonArcName, (void*)&pigGanonArcName, }; /* 80453648-80453650 0008+00 s=1 e=0 z=0 None .sdata2 sumouArcName$4614 */ SECTION_SDATA2 static u8 sumouArcName[8] = { 0x61, 0x6C, 0x53, 0x75, 0x6D, 0x6F, 0x75, 0x00, }; /* 80453650-80453658 0005+03 s=1 e=0 z=0 None .sdata2 ocArcName$4615 */ SECTION_SDATA2 static u8 ocArcName[5 + 3 /* padding */] = { 0x42, 0x5F, 0x6F, 0x68, 0x00, /* padding */ 0x00, 0x00, 0x00, }; /* 80453658-80453660 0005+03 s=1 e=0 z=0 None .sdata2 drArcName$4618 */ SECTION_SDATA2 static u8 drArcName[5 + 3 /* padding */] = { 0x42, 0x5F, 0x44, 0x52, 0x00, /* padding */ 0x00, 0x00, 0x00, }; /* 80453660-80453668 0008+00 s=1 e=0 z=0 None .sdata2 msDemoArcName$4619 */ SECTION_SDATA2 static u8 msDemoArcName[8] = { 0x4C, 0x76, 0x36, 0x47, 0x61, 0x74, 0x65, 0x00, }; /* 80453668-80453670 0006+02 s=1 e=0 z=0 None .sdata2 lastGanonArcName$4620 */ SECTION_SDATA2 static u8 lastGanonArcName[6 + 2 /* padding */] = { 0x42, 0x5F, 0x67, 0x6E, 0x64, 0x00, /* padding */ 0x00, 0x00, }; /* 80453670-80453678 0006+02 s=1 e=0 z=0 None .sdata2 pigGanonArcName$4621 */ SECTION_SDATA2 static u8 pigGanonArcName[6 + 2 /* padding */] = { 0x42, 0x5F, 0x6D, 0x67, 0x6E, 0x00, /* padding */ 0x00, 0x00, }; /* 8015EF84-8015F068 00E4+00 s=3 e=0 z=0 None .text loadData__14daPy_anmHeap_cFUs */ // 8015EFAC: 804061C0 (g_dComIfG_gameInfo) // 8015EFB0: 804061C0 (g_dComIfG_gameInfo) // 8015EFC4: 802D5ECC (readIdxResource__10JKRArchiveFPvUlUl) // 8015EFCC: 8015F168 (setAnimeHeap__14daPy_anmHeap_cFv) // 8015EFDC: 80337B40 (load__20J3DAnmLoaderDataBaseFPCv24J3DAnmLoaderDataBaseFlag) // 8015EFE8: 8000F1CC (mDoExt_setCurrentHeap__FP7JKRHeap) // 8015EFFC: 80406194 (mDemoArcName__20dStage_roomControl_c) // 8015F000: 80406194 (mDemoArcName__20dStage_roomControl_c) // 8015F004: 804061C0 (g_dComIfG_gameInfo) // 8015F008: 804061C0 (g_dComIfG_gameInfo) // 8015F018: 8003C400 (getIDRes__14dRes_control_cFPCcUsP11dRes_info_ci) // 8015F020: 803BA0A0 (arcName) // 8015F024: 803BA0A0 (arcName) // 8015F038: 804061C0 (g_dComIfG_gameInfo) // 8015F03C: 804061C0 (g_dComIfG_gameInfo) // 8015F04C: 8003C2EC (getRes__14dRes_control_cFPCclP11dRes_info_ci) #pragma push #pragma optimization_level 0 #pragma optimizewithasm off // True False // u16 False asm void daPy_anmHeap_c::loadData(u16 param_0) { nofralloc #include "asm/d/a/d_a_player/loadData__14daPy_anmHeap_cFUs.s" } #pragma pop /* 8015F068-8015F0D0 0068+00 s=0 e=9 z=5 None .text loadDataIdx__14daPy_anmHeap_cFUs */ // 8015F0B4: 8015EF84 (loadData__14daPy_anmHeap_cFUs) #pragma push #pragma optimization_level 0 #pragma optimizewithasm off // False False // u16 False asm void daPy_anmHeap_c::loadDataIdx(u16 param_0) { nofralloc #include "asm/d/a/d_a_player/loadDataIdx__14daPy_anmHeap_cFUs.s" } #pragma pop /* 8015F0D0-8015F118 0048+00 s=0 e=3 z=0 None .text loadDataPriIdx__14daPy_anmHeap_cFUs */ // 8015F104: 8015EF84 (loadData__14daPy_anmHeap_cFUs) #pragma push #pragma optimization_level 0 #pragma optimizewithasm off // False False // u16 False asm void daPy_anmHeap_c::loadDataPriIdx(u16 param_0) { nofralloc #include "asm/d/a/d_a_player/loadDataPriIdx__14daPy_anmHeap_cFUs.s" } #pragma pop /* 8015F118-8015F168 0050+00 s=0 e=5 z=5 None .text loadDataDemoRID__14daPy_anmHeap_cFUsUs */ // 8015F154: 8015EF84 (loadData__14daPy_anmHeap_cFUs) #pragma push #pragma optimization_level 0 #pragma optimizewithasm off // False False // u16 False // u16 False 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" } #pragma pop /* 8015F168-8015F1A0 0038+00 s=1 e=4 z=0 None .text setAnimeHeap__14daPy_anmHeap_cFv */ // 8015F180: 802CE5CC (freeAll__7JKRHeapFv) // 8015F188: 8000F1CC (mDoExt_setCurrentHeap__FP7JKRHeap) #pragma push #pragma optimization_level 0 #pragma optimizewithasm off // False False asm void daPy_anmHeap_c::setAnimeHeap() { nofralloc #include "asm/d/a/d_a_player/setAnimeHeap__14daPy_anmHeap_cFv.s" } #pragma pop /* ############################################################################################## */ /* 803BA0C0-803BA14C 0089+03 s=1 e=0 z=0 None .data l_sightDL */ SECTION_DATA static u8 l_sightDL[137 + 3 /* padding */] = { 0x10, 0x00, 0x00, 0x10, 0x40, 0xFF, 0xFF, 0x42, 0x80, 0x08, 0x30, 0x3C, 0xF3, 0xCF, 0x00, 0x10, 0x00, 0x00, 0x10, 0x18, 0x3C, 0xF3, 0xCF, 0x00, 0x61, 0x28, 0x38, 0x03, 0xC0, 0x61, 0xC0, 0x08, 0x42, 0x8F, 0x61, 0xC1, 0x08, 0xE6, 0x70, 0x61, 0x43, 0x00, 0x00, 0x01, 0x61, 0x40, 0x00, 0x00, 0x06, 0x61, 0x41, 0x00, 0x04, 0xAD, 0x61, 0xF3, 0x64, 0x00, 0x00, 0x10, 0x00, 0x00, 0x10, 0x3F, 0x00, 0x00, 0x00, 0x01, 0x10, 0x00, 0x00, 0x10, 0x09, 0x00, 0x00, 0x00, 0x00, 0x61, 0x00, 0x00, 0x00, 0x01, 0x98, 0x00, 0x04, 0x01, 0x01, 0x00, 0x01, 0x01, 0xFF, 0x01, 0x00, 0x00, 0x01, 0x01, 0xFF, 0x00, 0x01, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* padding */ 0x00, 0x00, 0x00, }; /* 80453678-8045367C 0004+00 s=1 e=0 z=0 None .sdata2 @4668 */ SECTION_SDATA2 static u32 lit_4668 = 0xFF8000FF; /* 8045367C-80453680 0004+00 s=1 e=0 z=0 None .sdata2 @4669 */ SECTION_SDATA2 static u32 lit_4669 = 0x321400FF; /* 8015F1A0-8015F2FC 015C+00 s=1 e=1 z=0 None .text draw__18daPy_sightPacket_cFv */ // 8015F1B4: 80434AC8 (j3dSys) // 8015F1B8: 80434AC8 (j3dSys) // 8015F1BC: 8031073C (reinitGX__6J3DSysFv) // 8015F1C4: 8035F0D4 (GXSetNumIndStages) // 8015F1C8: 8035B58C (GXClearVtxDesc) // 8015F1D4: 8035AEB8 (GXSetVtxDesc) // 8015F1E0: 8035AEB8 (GXSetVtxDesc) // 8015F1F8: 8035B5C4 (GXSetVtxAttrFmt) // 8015F210: 8035B5C4 (GXSetVtxAttrFmt) // 8015F214: 8045367C (lit_4669) // 8015F21C: 80453678 (lit_4668) // 8015F22C: 8035F37C (GXSetTevColor) // 8015F240: 8035F37C (GXSetTevColor) // 8015F270: 8035DE40 (GXInitTexObj) // 8015F280: 80453600 (lit_4215) // 8015F298: 8035E0D4 (GXInitTexObjLOD) // 8015F2A4: 8035E414 (GXLoadTexObj) // 8015F2B0: 8036024C (GXLoadPosMtxImm) // 8015F2B8: 803602EC (GXSetCurrentMtx) // 8015F2CC: 8035F6F4 (GXSetTevOrder) // 8015F2D0: 803BA0C0 (l_sightDL) // 8015F2D4: 803BA0C0 (l_sightDL) // 8015F2DC: 8035FEF0 (GXCallDisplayList) // 8015F2E4: 804515D0 (sOldVcdVatCmd__8J3DShape) #pragma push #pragma optimization_level 0 #pragma optimizewithasm off // False False asm void daPy_sightPacket_c::draw() { nofralloc #include "asm/d/a/d_a_player/draw__18daPy_sightPacket_cFv.s" } #pragma pop /* ############################################################################################## */ /* 80453680-80453684 0004+00 s=1 e=0 z=0 None .sdata2 @4699 */ SECTION_SDATA2 static f32 lit_4699 = 32.0f; /* 8015F2FC-8015F384 0088+00 s=0 e=1 z=0 None .text setSight__18daPy_sightPacket_cFv */ // 8015F318: 80015310 (mDoLib_project__FP3VecP3Vec) // 8015F31C: 803DD470 (now__14mDoMtx_stack_c) // 8015F320: 803DD470 (now__14mDoMtx_stack_c) // 8015F330: 803468E8 (PSMTXTrans) // 8015F334: 80453680 (lit_4699) // 8015F340: 8000CE38 (scaleM__14mDoMtx_stack_cFfff) // 8015F344: 803DD470 (now__14mDoMtx_stack_c) // 8015F348: 803DD470 (now__14mDoMtx_stack_c) // 8015F350: 803464B0 (PSMTXCopy) // 8015F354: 804061C0 (g_dComIfG_gameInfo) // 8015F358: 804061C0 (g_dComIfG_gameInfo) // 8015F36C: 80056794 (set__12dDlst_list_cFRPP12dDlst_base_cRPP12dDlst_base_cP12dDlst_base_c) #pragma push #pragma optimization_level 0 #pragma optimizewithasm off // False False asm void daPy_sightPacket_c::setSight() { nofralloc #include "asm/d/a/d_a_player/setSight__18daPy_sightPacket_cFv.s" } #pragma pop /* 8015F384-8015F398 0014+00 s=0 e=1 z=0 None .text setSightImage__18daPy_sightPacket_cFP7ResTIMG */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off // False False // ResTIMG* False // ResTIMG False asm void daPy_sightPacket_c::setSightImage(ResTIMG* param_0) { nofralloc #include "asm/d/a/d_a_player/setSightImage__18daPy_sightPacket_cFP7ResTIMG.s" } #pragma pop /* 8015F398-8015F3C4 002C+00 s=0 e=8 z=10 None .text checkMasterSwordEquip__9daPy_py_cFv */ // 8015F398: 804061C0 (g_dComIfG_gameInfo) // 8015F39C: 804061C0 (g_dComIfG_gameInfo) #pragma push #pragma optimization_level 0 #pragma optimizewithasm off // False False asm void daPy_py_c::checkMasterSwordEquip() { nofralloc #include "asm/d/a/d_a_player/checkMasterSwordEquip__9daPy_py_cFv.s" } #pragma pop /* 8015F3C4-8015F3FC 0038+00 s=0 e=4 z=0 None .text checkWoodShieldEquip__9daPy_py_cFv */ // 8015F3C4: 804061C0 (g_dComIfG_gameInfo) // 8015F3C8: 804061C0 (g_dComIfG_gameInfo) #pragma push #pragma optimization_level 0 #pragma optimizewithasm off // False False asm void daPy_py_c::checkWoodShieldEquip() { nofralloc #include "asm/d/a/d_a_player/checkWoodShieldEquip__9daPy_py_cFv.s" } #pragma pop /* ############################################################################################## */ /* 80453684-80453688 0004+00 s=1 e=0 z=0 None .sdata2 @4741 */ SECTION_SDATA2 static f32 lit_4741 = -12.5f; /* 80453688-80453690 0004+04 s=1 e=0 z=0 None .sdata2 @4742 */ SECTION_SDATA2 static f32 lit_4742[1 + 1 /* padding */] = { 57.5f, /* padding */ 0.0f, }; /* 8015F3FC-8015F424 0028+00 s=0 e=4 z=3 None .text getAttentionOffsetY__9daPy_py_cFv */ // 8015F3FC: 804061C0 (g_dComIfG_gameInfo) // 8015F400: 804061C0 (g_dComIfG_gameInfo) // 8015F414: 80453684 (lit_4741) // 8015F41C: 80453688 (lit_4742) #pragma push #pragma optimization_level 0 #pragma optimizewithasm off // False False asm void daPy_py_c::getAttentionOffsetY() { nofralloc #include "asm/d/a/d_a_player/getAttentionOffsetY__9daPy_py_cFv.s" } #pragma pop /* 8015F424-8015F438 0014+00 s=0 e=17 z=33 None .text checkNowWolfEyeUp__9daPy_py_cFv */ // 8015F424: 804061C0 (g_dComIfG_gameInfo) // 8015F428: 804061C0 (g_dComIfG_gameInfo) #pragma push #pragma optimization_level 0 #pragma optimizewithasm off // False False asm void daPy_py_c::checkNowWolfEyeUp() { nofralloc #include "asm/d/a/d_a_player/checkNowWolfEyeUp__9daPy_py_cFv.s" } #pragma pop /* 8015F438-8015F478 0040+00 s=0 e=0 z=1 None .text forceRestartRoom__9daPy_py_cFiUli */ // 8015F448: 804061C0 (g_dComIfG_gameInfo) // 8015F44C: 804061C0 (g_dComIfG_gameInfo) // 8015F464: 800BDF60 (startRestartRoom__9daAlink_cFUliii) #pragma push #pragma optimization_level 0 #pragma optimizewithasm off // False False // int False // u32 False // int False asm void daPy_py_c::forceRestartRoom(int param_0, u32 param_1, int param_2) { nofralloc #include "asm/d/a/d_a_player/forceRestartRoom__9daPy_py_cFiUli.s" } #pragma pop /* 8015F478-8015F4B8 0040+00 s=0 e=0 z=3 None .text setFmChainPos__9daPy_py_cFP10fopAc_ac_cP4cXyzi */ // 8015F490: 804061C0 (g_dComIfG_gameInfo) // 8015F494: 804061C0 (g_dComIfG_gameInfo) // 8015F4A4: 800E7AEC (setFmChainPosFromOut__9daAlink_cFP10fopAc_ac_cP4cXyzi) #pragma push #pragma optimization_level 0 #pragma optimizewithasm off // False False // fopAc_ac_c* False // fopAc_ac_c False // cXyz* False // cXyz False // int False asm void daPy_py_c::setFmChainPos(fopAc_ac_c* param_0, cXyz* param_1, int param_2) { nofralloc #include "asm/d/a/d_a_player/setFmChainPos__9daPy_py_cFP10fopAc_ac_cP4cXyzi.s" } #pragma pop /* 8015F4B8-8015F4F0 0038+00 s=0 e=0 z=1 None .text cancelFmChainGrab__9daPy_py_cFv */ // 8015F4C4: 804061C0 (g_dComIfG_gameInfo) // 8015F4C8: 804061C0 (g_dComIfG_gameInfo) // 8015F4DC: 8015ECFC (clearData__16daPy_actorKeep_cFv) #pragma push #pragma optimization_level 0 #pragma optimizewithasm off // False False asm void daPy_py_c::cancelFmChainGrab() { nofralloc #include "asm/d/a/d_a_player/cancelFmChainGrab__9daPy_py_cFv.s" } #pragma pop /* 8015F4F0-8015F520 0030+00 s=0 e=0 z=17 None .text setLookPos__9daPy_py_cFP4cXyz */ // 8015F500: 804061C0 (g_dComIfG_gameInfo) // 8015F504: 804061C0 (g_dComIfG_gameInfo) // 8015F50C: 800A0744 (setLookPosFromOut__9daAlink_cFP4cXyz) #pragma push #pragma optimization_level 0 #pragma optimizewithasm off // False False // cXyz* False // cXyz False asm void daPy_py_c::setLookPos(cXyz* param_0) { nofralloc #include "asm/d/a/d_a_player/setLookPos__9daPy_py_cFP4cXyz.s" } #pragma pop /* 8015F520-8015F55C 003C+00 s=0 e=0 z=4 None .text setPlayerSe__9daPy_py_cFUl */ // 8015F530: 804061C0 (g_dComIfG_gameInfo) // 8015F534: 804061C0 (g_dComIfG_gameInfo) #pragma push #pragma optimization_level 0 #pragma optimizewithasm off // False False // u32 False asm void daPy_py_c::setPlayerSe(u32 param_0) { nofralloc #include "asm/d/a/d_a_player/setPlayerSe__9daPy_py_cFUl.s" } #pragma pop /* 8015F55C-8015F60C 00B0+00 s=1 e=0 z=2 None .text linkGrabSubjectNoDraw__9daPy_py_cFP10fopAc_ac_c */ // 8015F56C: 803621DC (_savegpr_29) // 8015F598: 804061C0 (g_dComIfG_gameInfo) // 8015F59C: 804061C0 (g_dComIfG_gameInfo) // 8015F5C8: 804061C0 (g_dComIfG_gameInfo) // 8015F5CC: 804061C0 (g_dComIfG_gameInfo) // 8015F5F8: 80362228 (_restgpr_29) #pragma push #pragma optimization_level 0 #pragma optimizewithasm off // False False // fopAc_ac_c* False // fopAc_ac_c False asm void daPy_py_c::linkGrabSubjectNoDraw(fopAc_ac_c* param_0) { nofralloc #include "asm/d/a/d_a_player/linkGrabSubjectNoDraw__9daPy_py_cFP10fopAc_ac_c.s" } #pragma pop /* 8015F60C-8015F660 0054+00 s=0 e=0 z=2 None .text wolfGrabSubjectNoDraw__9daPy_py_cFP10fopAc_ac_c */ // 8015F620: 804061C0 (g_dComIfG_gameInfo) // 8015F624: 804061C0 (g_dComIfG_gameInfo) // 8015F638: 8015F55C (linkGrabSubjectNoDraw__9daPy_py_cFP10fopAc_ac_c) #pragma push #pragma optimization_level 0 #pragma optimizewithasm off // False False // fopAc_ac_c* False // fopAc_ac_c False asm void daPy_py_c::wolfGrabSubjectNoDraw(fopAc_ac_c* param_0) { nofralloc #include "asm/d/a/d_a_player/wolfGrabSubjectNoDraw__9daPy_py_cFP10fopAc_ac_c.s" } #pragma pop /* 8015F660-8015F698 0038+00 s=2 e=1 z=1 None .text checkRoomRestartStart__9daPy_py_cFv */ // 8015F660: 804061C0 (g_dComIfG_gameInfo) // 8015F664: 804061C0 (g_dComIfG_gameInfo) #pragma push #pragma optimization_level 0 #pragma optimizewithasm off // False False asm void daPy_py_c::checkRoomRestartStart() { nofralloc #include "asm/d/a/d_a_player/checkRoomRestartStart__9daPy_py_cFv.s" } #pragma pop /* 8015F698-8015F730 0098+00 s=0 e=2 z=1 None .text checkCarryStartLightBallA__9daPy_py_cFv */ // 8015F6A8: 8015F660 (checkRoomRestartStart__9daPy_py_cFv) // 8015F6B4: 804061C0 (g_dComIfG_gameInfo) // 8015F6B8: 804061C0 (g_dComIfG_gameInfo) // 8015F70C: 804061C0 (g_dComIfG_gameInfo) // 8015F710: 804061C0 (g_dComIfG_gameInfo) #pragma push #pragma optimization_level 0 #pragma optimizewithasm off // False False asm void daPy_py_c::checkCarryStartLightBallA() { nofralloc #include "asm/d/a/d_a_player/checkCarryStartLightBallA__9daPy_py_cFv.s" } #pragma pop /* 8015F730-8015F7C8 0098+00 s=0 e=2 z=1 None .text checkCarryStartLightBallB__9daPy_py_cFv */ // 8015F740: 8015F660 (checkRoomRestartStart__9daPy_py_cFv) // 8015F74C: 804061C0 (g_dComIfG_gameInfo) // 8015F750: 804061C0 (g_dComIfG_gameInfo) // 8015F7A4: 804061C0 (g_dComIfG_gameInfo) // 8015F7A8: 804061C0 (g_dComIfG_gameInfo) #pragma push #pragma optimization_level 0 #pragma optimizewithasm off // False False asm void daPy_py_c::checkCarryStartLightBallB() { nofralloc #include "asm/d/a/d_a_player/checkCarryStartLightBallB__9daPy_py_cFv.s" } #pragma pop /* 8015F7C8-8015F814 004C+00 s=0 e=0 z=2 None .text getSpinnerRideSpeed__9daPy_py_cCFv */ // 8015F7FC: 80453600 (lit_4215) #pragma push #pragma optimization_level 0 #pragma optimizewithasm off // False False asm void daPy_py_c::getSpinnerRideSpeed() const { nofralloc #include "asm/d/a/d_a_player/getSpinnerRideSpeed__9daPy_py_cCFv.s" } #pragma pop /* 8015F814-8015F89C 0088+00 s=0 e=0 z=1 None .text checkSpinnerReflectEffect__9daPy_py_cFv */ // 8015F84C: 80453600 (lit_4215) #pragma push #pragma optimization_level 0 #pragma optimizewithasm off // False False asm void daPy_py_c::checkSpinnerReflectEffect() { nofralloc #include "asm/d/a/d_a_player/checkSpinnerReflectEffect__9daPy_py_cFv.s" } #pragma pop /* 8015F89C-8015F8C8 002C+00 s=0 e=0 z=7 None .text checkBoomerangCharge__9daPy_py_cFv */ // 8015F8A8: 804061C0 (g_dComIfG_gameInfo) // 8015F8AC: 804061C0 (g_dComIfG_gameInfo) // 8015F8B4: 800E0244 (checkBoomerangChargeEnd__9daAlink_cFv) #pragma push #pragma optimization_level 0 #pragma optimizewithasm off // False False asm void daPy_py_c::checkBoomerangCharge() { nofralloc #include "asm/d/a/d_a_player/checkBoomerangCharge__9daPy_py_cFv.s" } #pragma pop /* 8015F8C8-8015F8D0 0008+00 s=0 e=0 z=1 None .text checkBoomerangChargeTime__9daPy_py_cFv */ // False False // bool False bool daPy_py_c::checkBoomerangChargeTime() { return false; } /* 8015F8D0-8015F8E4 0014+00 s=3 e=1 z=5 None .text getThrowBoomerangActor__9daPy_py_cFv */ // 8015F8D0: 804061C0 (g_dComIfG_gameInfo) // 8015F8D4: 804061C0 (g_dComIfG_gameInfo) #pragma push #pragma optimization_level 0 #pragma optimizewithasm off // False False asm void daPy_py_c::getThrowBoomerangActor() { nofralloc #include "asm/d/a/d_a_player/getThrowBoomerangActor__9daPy_py_cFv.s" } #pragma pop /* 8015F8E4-8015F914 0030+00 s=0 e=0 z=2 None .text cancelBoomerangLockActor__9daPy_py_cFP10fopAc_ac_c */ // 8015F8F4: 804061C0 (g_dComIfG_gameInfo) // 8015F8F8: 804061C0 (g_dComIfG_gameInfo) // 8015F900: 800E01CC (cancelBoomerangLock__9daAlink_cFP10fopAc_ac_c) #pragma push #pragma optimization_level 0 #pragma optimizewithasm off // False False // fopAc_ac_c* False // fopAc_ac_c False asm void daPy_py_c::cancelBoomerangLockActor(fopAc_ac_c* param_0) { nofralloc #include "asm/d/a/d_a_player/cancelBoomerangLockActor__9daPy_py_cFP10fopAc_ac_c.s" } #pragma pop /* 8015F914-8015F954 0040+00 s=0 e=0 z=2 None .text setPlayerDamage__9daPy_py_cFii */ // 8015F928: 804061C0 (g_dComIfG_gameInfo) // 8015F92C: 804061C0 (g_dComIfG_gameInfo) // 8015F940: 800D72BC (setDamagePoint__9daAlink_cFiiii) #pragma push #pragma optimization_level 0 #pragma optimizewithasm off // False False // int False // int False asm void daPy_py_c::setPlayerDamage(int param_0, int param_1) { nofralloc #include "asm/d/a/d_a_player/setPlayerDamage__9daPy_py_cFii.s" } #pragma pop /* 8015F954-8015F968 0014+00 s=0 e=3 z=0 None .text setMidnaMotionNum__9daPy_py_cFi */ // 8015F954: 80451018 (m_midnaActor__9daPy_py_c) #pragma push #pragma optimization_level 0 #pragma optimizewithasm off // False False // int False asm void daPy_py_c::setMidnaMotionNum(int param_0) { nofralloc #include "asm/d/a/d_a_player/setMidnaMotionNum__9daPy_py_cFi.s" } #pragma pop /* 8015F968-8015F97C 0014+00 s=0 e=3 z=0 None .text setMidnaFaceNum__9daPy_py_cFi */ // 8015F968: 80451018 (m_midnaActor__9daPy_py_c) #pragma push #pragma optimization_level 0 #pragma optimizewithasm off // False False // int False asm void daPy_py_c::setMidnaFaceNum(int param_0) { nofralloc #include "asm/d/a/d_a_player/setMidnaFaceNum__9daPy_py_cFi.s" } #pragma pop /* 8015F97C-8015FA2C 00B0+00 s=0 e=7 z=2 None .text daPy_addCalcShort__FPsssss */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off // False False // s16* False // s16 False // s16 False // s16 False // s16 False // s16 False asm void daPy_addCalcShort(s16* param_0, s16 param_1, s16 param_2, s16 param_3, s16 param_4) { nofralloc #include "asm/d/a/d_a_player/daPy_addCalcShort__FPsssss.s" } #pragma pop /* ############################################################################################## */ /* 803BA14C-803BA160 0010+04 s=0 e=4 z=0 None .data __vt__18daPy_sightPacket_c */ SECTION_DATA void* __vt__18daPy_sightPacket_c[4 + 1 /* padding */] = { (void*)NULL /* RTTI */, (void*)NULL, (void*)draw__18daPy_sightPacket_cFv, (void*)__dt__18daPy_sightPacket_cFv, /* padding */ NULL, };