// // Generated By: dol2asm // Translation Unit: Z2WolfHowlMgr // #include "Z2AudioLib/Z2WolfHowlMgr.h" #include "dol2asm.h" #include "dolphin/types.h" // // Types: // struct Vec {}; struct Z2WolfHowlData {}; struct Z2WolfHowlMgr { /* 802CAAC0 */ Z2WolfHowlMgr(); /* 802CAB8C */ void resetState(); /* 802CABEC */ void calcVolumeMod(f32); /* 802CACB0 */ void getNowPitch(); /* 802CACCC */ void getNowInputValue(); /* 802CACD4 */ void calcPitchMod(f32, f32); /* 802CAED4 */ void startWolfHowlSound(f32, f32, bool, f32); /* 802CB100 */ void setCorrectData(s8, Z2WolfHowlData*); /* 802CB320 */ void getCorrectLine(u8); /* 802CB370 */ void getCorrectLineNum(); /* 802CB38C */ void checkLine(); /* 802CB650 */ void getOnLineNum(); /* 802CB6EC */ void startWindStoneSound(s8, Vec*); /* 802CBA88 */ void startGuideMelody(bool); /* 802CBB58 */ void skipCorrectDemo(); }; struct Z2SeqMgr { /* 802AF49C */ void subBgmStart(u32); /* 802B327C */ void stopWolfHowlSong(); }; struct JAISoundID {}; struct Z2SeMgr { /* 802AB984 */ void seStart(JAISoundID, Vec const*, u32, s8, f32, f32, f32, f32, u8); }; struct Z2Calc { struct CurveSign {}; /* 802A968C */ void linearTransform(f32, f32, f32, f32, f32, bool); /* 802A96F4 */ void getParamByExp(f32, f32, f32, f32, f32, f32, Z2Calc::CurveSign); }; struct JGeometry { template struct TVec3 {}; /* TVec3 */ struct TVec3__template0 {}; }; struct JAISoundHandle {}; struct JAISoundStarter { /* 802A2FEC */ void startLevelSound(JAISoundID, JAISoundHandle*, JGeometry::TVec3 const*); }; struct JAISoundParamsMove { /* 802A2DB4 */ void moveVolume(f32, u32); /* 802A2E0C */ void movePitch(f32, u32); }; struct JAISound { /* 802A2598 */ void stop(); /* 802A24DC */ void stop(u32); }; // // Forward References: // extern "C" void __ct__13Z2WolfHowlMgrFv(); extern "C" void resetState__13Z2WolfHowlMgrFv(); extern "C" void calcVolumeMod__13Z2WolfHowlMgrFf(); extern "C" void getNowPitch__13Z2WolfHowlMgrFv(); extern "C" void getNowInputValue__13Z2WolfHowlMgrFv(); extern "C" void calcPitchMod__13Z2WolfHowlMgrFff(); extern "C" void startWolfHowlSound__13Z2WolfHowlMgrFffbf(); extern "C" void setCorrectData__13Z2WolfHowlMgrFScP14Z2WolfHowlData(); extern "C" void getCorrectLine__13Z2WolfHowlMgrFUc(); extern "C" void getCorrectLineNum__13Z2WolfHowlMgrFv(); extern "C" void checkLine__13Z2WolfHowlMgrFv(); extern "C" void getOnLineNum__13Z2WolfHowlMgrFv(); extern "C" void startWindStoneSound__13Z2WolfHowlMgrFScP3Vec(); extern "C" void startGuideMelody__13Z2WolfHowlMgrFb(); extern "C" void skipCorrectDemo__13Z2WolfHowlMgrFv(); extern "C" void __sinit_Z2WolfHowlMgr_cpp(); // // External References: // extern "C" extern u32 __float_nan; extern "C" extern u8 data_80450B38[4]; extern "C" extern u8 data_80450B44[4]; extern "C" extern u8 data_80450B60[4]; extern "C" extern u8 data_80450B74[4]; extern "C" extern u8 data_80450B80[4]; extern "C" extern u8 data_80450B84[4]; extern "C" extern u8 data_80450B88[4]; extern "C" extern u8 mLinkPtr__14Z2CreatureLink[4 + 4 /* padding */]; extern "C" void stop__8JAISoundFUl(); extern "C" void stop__8JAISoundFv(); extern "C" void moveVolume__18JAISoundParamsMoveFfUl(); extern "C" void movePitch__18JAISoundParamsMoveFfUl(); extern "C" void func_802A2FEC(); extern "C" void linearTransform__6Z2CalcFfffffb(); extern "C" void getParamByExp__6Z2CalcFffffffQ26Z2Calc9CurveSign(); extern "C" void seStart__7Z2SeMgrF10JAISoundIDPC3VecUlScffffUc(); extern "C" void subBgmStart__8Z2SeqMgrFUl(); extern "C" void stopWolfHowlSong__8Z2SeqMgrFv(); extern "C" void PSVECSquareDistance(); extern "C" void _savegpr_28(); extern "C" void _savegpr_29(); extern "C" void _restgpr_28(); extern "C" void _restgpr_29(); extern "C" extern u32 __float_nan; extern "C" extern u8 data_80450B38[4]; extern "C" extern u8 data_80450B44[4]; extern "C" extern u8 data_80450B60[4]; extern "C" extern u8 data_80450B74[4]; extern "C" extern u8 data_80450B80[4]; extern "C" extern u8 data_80450B84[4]; extern "C" extern u8 data_80450B88[4]; extern "C" extern u8 mLinkPtr__14Z2CreatureLink[4 + 4 /* padding */]; // // Declarations: // /* ############################################################################################## */ /* 804508A0-804508A8 0008+00 s=1 e=0 z=0 None .sdata sHowlTobikusa */ extern "C" u8 sHowlTobikusa[8]; /* 803CBC50-803CBC5C 000C+00 s=1 e=0 z=0 None .data sHowlUmakusa */ SECTION_DATA static u8 sHowlUmakusa[12] = { 0x01, 0x0F, 0x02, 0x0F, 0x03, 0x3C, 0x01, 0x0F, 0x02, 0x0F, 0x03, 0x3C, }; /* 803CBC5C-803CBC68 000C+00 s=1 e=0 z=0 None .data sHowlZeldaSong */ SECTION_DATA static u8 sHowlZeldaSong[12] = { 0x02, 0x1E, 0x01, 0x0F, 0x03, 0x2D, 0x02, 0x1E, 0x01, 0x0F, 0x03, 0x2D, }; /* 803CBC68-803CBC74 000C+00 s=1 e=0 z=0 None .data sHowlLightPrelude */ SECTION_DATA static u8 sHowlLightPrelude[12] = { 0x01, 0x14, 0x03, 0x28, 0x01, 0x14, 0x03, 0x14, 0x02, 0x14, 0x01, 0x1E, }; /* 803CBC74-803CBC80 000C+00 s=1 e=0 z=0 None .data sHowlSoulRequiem */ SECTION_DATA static u8 sHowlSoulRequiem[12] = { 0x03, 0x1E, 0x02, 0x0F, 0x03, 0x0F, 0x01, 0x1E, 0x02, 0x1E, 0x03, 0x1E, }; /* 803CBC80-803CBC8C 000C+00 s=1 e=0 z=0 None .data sHealingSong */ SECTION_DATA static u8 sHealingSong[12] = { 0x01, 0x1E, 0x02, 0x1E, 0x03, 0x1E, 0x01, 0x1E, 0x02, 0x1E, 0x03, 0x1E, }; /* 803CBC8C-803CBC9C 000E+02 s=1 e=0 z=0 None .data sNewSong1 */ SECTION_DATA static u8 sNewSong1[14 + 2 /* padding */] = { 0x03, 0x1E, 0x02, 0x1E, 0x01, 0x1E, 0x03, 0x28, 0x02, 0x14, 0x03, 0x1E, 0x01, 0x1E, /* padding */ 0x00, 0x00, }; /* 803CBC9C-803CBCAC 0010+00 s=1 e=0 z=0 None .data sNewSong2 */ SECTION_DATA static u8 sNewSong2[16] = { 0x01, 0x14, 0x02, 0x14, 0x03, 0x14, 0x02, 0x3C, 0x03, 0x14, 0x01, 0x14, 0x02, 0x14, 0x03, 0x1E, }; /* 803CBCAC-803CBCC0 0012+02 s=1 e=0 z=0 None .data sNewSong3 */ SECTION_DATA static u8 sNewSong3[18 + 2 /* padding */] = { 0x02, 0x1E, 0x03, 0x3C, 0x02, 0x28, 0x01, 0x14, 0x03, 0x3C, 0x01, 0x14, 0x02, 0x14, 0x01, 0x14, 0x02, 0x2D, /* padding */ 0x00, 0x00, }; /* 803CBCC0-803CBD08 0048+00 s=1 e=0 z=0 None .data sGuideData */ SECTION_DATA static void* sGuideData[18] = { (void*)0x04000000, (void*)&sHowlTobikusa, (void*)0x06000000, (void*)&sHowlUmakusa, (void*)0x06000000, (void*)&sHowlZeldaSong, (void*)0x06000000, (void*)&sHealingSong, (void*)0x06000000, (void*)&sHowlSoulRequiem, (void*)0x06000000, (void*)&sHowlLightPrelude, (void*)0x07000000, (void*)&sNewSong1, (void*)0x08000000, (void*)&sNewSong2, (void*)0x09000000, (void*)&sNewSong3, }; /* 80450880-80450884 0004+00 s=2 e=0 z=0 None .sdata cPitchDown */ SECTION_SDATA static u32 cPitchDown = 0x3F641206; /* 80450884-80450888 0004+00 s=4 e=0 z=0 None .sdata cPitchCenter */ SECTION_SDATA static u32 cPitchCenter = 0x3F800000; /* 80450888-8045088C 0004+00 s=2 e=0 z=0 None .sdata cPitchUp */ SECTION_SDATA static u32 cPitchUp = 0x3F9837B5; /* 8045088C-80450890 0004+00 s=4 e=0 z=0 None .sdata None */ SECTION_SDATA static u8 struct_8045088C[4] = { /* 8045088C 0001 data_8045088C None */ 0x07, /* 8045088D 0001 data_8045088D None */ 0x07, /* 8045088E 0002 data_8045088E None */ 0x1E, 0x00, }; /* 80450890-80450894 0004+00 s=1 e=0 z=0 None .sdata cR_FlatWidth */ SECTION_SDATA static u32 cR_FlatWidth = 0x3F71A177; /* 80450894-80450898 0004+00 s=3 e=0 z=0 None .sdata None */ SECTION_SDATA static u8 struct_80450894[4] = { /* 80450894 0001 data_80450894 None */ 0x05, /* 80450895 0003 data_80450895 None */ 0x1E, 0x00, 0x00, }; /* 80450898-8045089C 0004+00 s=1 e=0 z=0 None .sdata sStickHigh */ SECTION_SDATA static u32 sStickHigh = 0x3F000000; /* 8045089C-804508A0 0004+00 s=1 e=0 z=0 None .sdata sStickCenter */ SECTION_SDATA static u32 sStickCenter = 0x3E4CCCCD; /* 804508A0-804508A8 0008+00 s=1 e=0 z=0 None .sdata sHowlTobikusa */ SECTION_SDATA static u8 sHowlTobikusa[8] = { 0x01, 0x1E, 0x03, 0x1E, 0x01, 0x1E, 0x03, 0x1E, }; /* 80455E60-80455E64 0004+00 s=8 e=0 z=0 None .sdata2 @3485 */ SECTION_SDATA2 static u8 lit_3485[4] = { 0x00, 0x00, 0x00, 0x00, }; /* 80455E64-80455E68 0004+00 s=11 e=0 z=0 None .sdata2 @3486 */ SECTION_SDATA2 static u32 lit_3486 = 0x3F800000; /* 802CAAC0-802CAB8C 00CC+00 s=0 e=1 z=0 None .text __ct__13Z2WolfHowlMgrFv */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off asm Z2WolfHowlMgr::Z2WolfHowlMgr() { nofralloc #include "asm/Z2AudioLib/Z2WolfHowlMgr/__ct__13Z2WolfHowlMgrFv.s" } #pragma pop /* 802CAB8C-802CABEC 0060+00 s=1 e=0 z=0 None .text resetState__13Z2WolfHowlMgrFv */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off asm void Z2WolfHowlMgr::resetState() { nofralloc #include "asm/Z2AudioLib/Z2WolfHowlMgr/resetState__13Z2WolfHowlMgrFv.s" } #pragma pop /* ############################################################################################## */ /* 80455E68-80455E6C 0004+00 s=2 e=0 z=0 None .sdata2 @3527 */ SECTION_SDATA2 static u32 lit_3527 = 0x41F00000; /* 80455E6C-80455E70 0004+00 s=1 e=0 z=0 None .sdata2 @3528 */ SECTION_SDATA2 static u32 lit_3528 = 0x40000000; /* 80455E70-80455E78 0008+00 s=2 e=0 z=0 None .sdata2 @3530 */ SECTION_SDATA2 static u8 lit_3530[8] = { 0x43, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, }; /* 802CABEC-802CACB0 00C4+00 s=1 e=0 z=0 None .text calcVolumeMod__13Z2WolfHowlMgrFf */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off asm void Z2WolfHowlMgr::calcVolumeMod(f32 param_0) { nofralloc #include "asm/Z2AudioLib/Z2WolfHowlMgr/calcVolumeMod__13Z2WolfHowlMgrFf.s" } #pragma pop /* 802CACB0-802CACCC 001C+00 s=1 e=0 z=0 None .text getNowPitch__13Z2WolfHowlMgrFv */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off asm void Z2WolfHowlMgr::getNowPitch() { nofralloc #include "asm/Z2AudioLib/Z2WolfHowlMgr/getNowPitch__13Z2WolfHowlMgrFv.s" } #pragma pop /* 802CACCC-802CACD4 0008+00 s=0 e=2 z=0 None .text getNowInputValue__13Z2WolfHowlMgrFv */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off asm void Z2WolfHowlMgr::getNowInputValue() { nofralloc #include "asm/Z2AudioLib/Z2WolfHowlMgr/getNowInputValue__13Z2WolfHowlMgrFv.s" } #pragma pop /* ############################################################################################## */ /* 80455E78-80455E7C 0004+00 s=1 e=0 z=0 None .sdata2 @3589 */ SECTION_SDATA2 static u32 lit_3589 = 0x3F7851EC; /* 80455E7C-80455E80 0004+00 s=4 e=0 z=0 None .sdata2 @3590 */ SECTION_SDATA2 static u32 lit_3590 = 0xBF800000; /* 802CACD4-802CAED4 0200+00 s=1 e=0 z=0 None .text calcPitchMod__13Z2WolfHowlMgrFff */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off asm void Z2WolfHowlMgr::calcPitchMod(f32 param_0, f32 param_1) { nofralloc #include "asm/Z2AudioLib/Z2WolfHowlMgr/calcPitchMod__13Z2WolfHowlMgrFff.s" } #pragma pop /* 802CAED4-802CB100 022C+00 s=0 e=1 z=0 None .text startWolfHowlSound__13Z2WolfHowlMgrFffbf */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off asm void Z2WolfHowlMgr::startWolfHowlSound(f32 param_0, f32 param_1, bool param_2, f32 param_3) { nofralloc #include "asm/Z2AudioLib/Z2WolfHowlMgr/startWolfHowlSound__13Z2WolfHowlMgrFffbf.s" } #pragma pop /* ############################################################################################## */ /* 80455E80-80455E84 0004+00 s=1 e=0 z=0 None .sdata2 @3711 */ SECTION_SDATA2 static u32 lit_3711 = 0x3F8FACC5; /* 80455E84-80455E88 0004+00 s=1 e=0 z=0 None .sdata2 @3712 */ SECTION_SDATA2 static u32 lit_3712 = 0x3F879C63; /* 80455E88-80455E8C 0004+00 s=1 e=0 z=0 None .sdata2 @3713 */ SECTION_SDATA2 static u32 lit_3713 = 0x3F4B2F01; /* 80455E8C-80455E90 0004+00 s=1 e=0 z=0 None .sdata2 @3714 */ SECTION_SDATA2 static u32 lit_3714 = 0x3FA1449A; /* 80455E90-80455E94 0004+00 s=1 e=0 z=0 None .sdata2 @3715 */ SECTION_SDATA2 static u32 lit_3715 = 0x3F71A177; /* 80455E94-80455E98 0004+00 s=1 e=0 z=0 None .sdata2 @3716 */ SECTION_SDATA2 static u32 lit_3716 = 0x3F57443D; /* 80455E98-80455E9C 0004+00 s=1 e=0 z=0 None .sdata2 @3717 */ SECTION_SDATA2 static u32 lit_3717 = 0x3FAADC0A; /* 80455E9C-80455EA0 0004+00 s=1 e=0 z=0 None .sdata2 @3718 */ SECTION_SDATA2 static u32 lit_3718 = 0x3F641206; /* 80455EA0-80455EA4 0004+00 s=1 e=0 z=0 None .sdata2 @3719 */ SECTION_SDATA2 static u32 lit_3719 = 0x3F3FC84B; /* 80455EA4-80455EA8 0004+00 s=1 e=0 z=0 None .sdata2 @3720 */ SECTION_SDATA2 static u32 lit_3720 = 0x3F9837B5; /* 802CB100-802CB320 0220+00 s=0 e=1 z=0 None .text * setCorrectData__13Z2WolfHowlMgrFScP14Z2WolfHowlData */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off asm void Z2WolfHowlMgr::setCorrectData(s8 param_0, Z2WolfHowlData* param_1) { nofralloc #include "asm/Z2AudioLib/Z2WolfHowlMgr/setCorrectData__13Z2WolfHowlMgrFScP14Z2WolfHowlData.s" } #pragma pop /* 802CB320-802CB370 0050+00 s=3 e=2 z=0 None .text getCorrectLine__13Z2WolfHowlMgrFUc */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off asm void Z2WolfHowlMgr::getCorrectLine(u8 param_0) { nofralloc #include "asm/Z2AudioLib/Z2WolfHowlMgr/getCorrectLine__13Z2WolfHowlMgrFUc.s" } #pragma pop /* 802CB370-802CB38C 001C+00 s=2 e=1 z=0 None .text getCorrectLineNum__13Z2WolfHowlMgrFv */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off asm void Z2WolfHowlMgr::getCorrectLineNum() { nofralloc #include "asm/Z2AudioLib/Z2WolfHowlMgr/getCorrectLineNum__13Z2WolfHowlMgrFv.s" } #pragma pop /* ############################################################################################## */ /* 804341F8-8043421C 0024+00 s=2 e=0 z=0 None .bss sCorrectPhrase */ static u8 sCorrectPhrase[36]; /* 8043421C-80434240 0024+00 s=3 e=0 z=0 None .bss sWindStoneSound */ static u8 sWindStoneSound[36]; /* 80434240-80434268 0024+04 s=2 e=0 z=0 None .bss sCorrectDuo */ static u8 sCorrectDuo[36 + 4 /* padding */]; /* 802CB38C-802CB650 02C4+00 s=1 e=0 z=0 None .text checkLine__13Z2WolfHowlMgrFv */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off asm void Z2WolfHowlMgr::checkLine() { nofralloc #include "asm/Z2AudioLib/Z2WolfHowlMgr/checkLine__13Z2WolfHowlMgrFv.s" } #pragma pop /* 802CB650-802CB6EC 009C+00 s=1 e=1 z=0 None .text getOnLineNum__13Z2WolfHowlMgrFv */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off asm void Z2WolfHowlMgr::getOnLineNum() { nofralloc #include "asm/Z2AudioLib/Z2WolfHowlMgr/getOnLineNum__13Z2WolfHowlMgrFv.s" } #pragma pop /* ############################################################################################## */ /* 80455EA8-80455EB0 0008+00 s=1 e=0 z=0 None .sdata2 @4032 */ SECTION_SDATA2 static u8 lit_4032[8] = { 0x3F, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, }; /* 80455EB0-80455EB8 0008+00 s=1 e=0 z=0 None .sdata2 @4033 */ SECTION_SDATA2 static u8 lit_4033[8] = { 0x40, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, }; /* 80455EB8-80455EC0 0008+00 s=1 e=0 z=0 None .sdata2 @4034 */ SECTION_SDATA2 static u8 lit_4034[8] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, }; /* 80455EC0-80455EC4 0004+00 s=1 e=0 z=0 None .sdata2 @4035 */ SECTION_SDATA2 static u32 lit_4035 = 0x45034000; /* 80455EC4-80455EC8 0004+00 s=1 e=0 z=0 None .sdata2 @4036 */ SECTION_SDATA2 static u32 lit_4036 = 0x43160000; /* 80455EC8-80455ECC 0004+00 s=1 e=0 z=0 None .sdata2 @4037 */ SECTION_SDATA2 static u32 lit_4037 = 0x44FA0000; /* 80455ECC-80455ED0 0004+00 s=1 e=0 z=0 None .sdata2 @4038 */ SECTION_SDATA2 static u32 lit_4038 = 0x3EE66666; /* 80455ED0-80455ED4 0004+00 s=1 e=0 z=0 None .sdata2 @4039 */ SECTION_SDATA2 static u32 lit_4039 = 0x3D4CCCCD; /* 80455ED4-80455ED8 0004+00 s=1 e=0 z=0 None .sdata2 @4040 */ SECTION_SDATA2 static u32 lit_4040 = 0x3ECCCCCD; /* 80455ED8-80455EE0 0004+04 s=1 e=0 z=0 None .sdata2 @4041 */ SECTION_SDATA2 static f32 lit_4041[1 + 1 /* padding */] = { 1.0f / 25.0f, /* padding */ 0.0f, }; /* 802CB6EC-802CBA88 039C+00 s=0 e=0 z=2 None .text startWindStoneSound__13Z2WolfHowlMgrFScP3Vec */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off asm void Z2WolfHowlMgr::startWindStoneSound(s8 param_0, Vec* param_1) { nofralloc #include "asm/Z2AudioLib/Z2WolfHowlMgr/startWindStoneSound__13Z2WolfHowlMgrFScP3Vec.s" } #pragma pop /* 802CBA88-802CBB58 00D0+00 s=0 e=1 z=0 None .text startGuideMelody__13Z2WolfHowlMgrFb */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off asm void Z2WolfHowlMgr::startGuideMelody(bool param_0) { nofralloc #include "asm/Z2AudioLib/Z2WolfHowlMgr/startGuideMelody__13Z2WolfHowlMgrFb.s" } #pragma pop /* 802CBB58-802CBB7C 0024+00 s=0 e=1 z=0 None .text skipCorrectDemo__13Z2WolfHowlMgrFv */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off asm void Z2WolfHowlMgr::skipCorrectDemo() { nofralloc #include "asm/Z2AudioLib/Z2WolfHowlMgr/skipCorrectDemo__13Z2WolfHowlMgrFv.s" } #pragma pop /* 802CBB7C-802CBC60 00E4+00 s=0 e=1 z=0 None .text __sinit_Z2WolfHowlMgr_cpp */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off extern "C" asm void __sinit_Z2WolfHowlMgr_cpp() { nofralloc #include "asm/Z2AudioLib/Z2WolfHowlMgr/__sinit_Z2WolfHowlMgr_cpp.s" } #pragma pop