Z2AudioLib misc decomp (#75)

* Z2SoundHandles: decomp portions

* start decomping: Z2SpeechMgr2, Z2SoundHandles

* Z2SoundHandles::stopAllSounds(): ok

* Z2SoundHandles::getHandleUserData(): ok

* Z2SoundInfo: header

* Z2SoundObjBase::framework(): ok

* Z2SoundObjBase::Z2SoundObjBase(), Z2SoundObjBase::init(): ok

* Z2SoundObjBase::~Z2SoundObjBase(): ok

* Z2SoundObjBase::stopOK(): ok

* Z2SoundObjBase::stopOK, incomplete Z2SoundObjBase::dispose()

* clang-format

* Z2SoundObjBase::dispose(): ok

* JAISound::operator->(): null assert

* JAIAudience: stub

* Z2SoundObject::{init, deleteObject, isAlive}: ok

* Z2SeMgr: elaborate struct (and decl JAISoundHandles to support this)

* start subclassing Z2SoundObjBase; nonmatching Z2SoundObjSimple::init()

* Z2SeMGr::{incrCrowdSize, decrCrowdSize}: ok

* Z2MultiSeMgr::resetMultiSePos(): ok

* Z2WolfHowlMgr.h: decls

* Z2SoundStarter: move to decls and fix postprocess.py symbol pass

* Z2AudioArcLoader: decls

* Z2SoundObjMgr: ok some fns
- deleteEnemyAll()
- isTwilightBattle()
- setGhostEnemyState()

additionally elaborates parts of the Z2Creature hierarchy

* delete unused .s files and add tool to find them (only runs on linux)

* run clang-format

* postprocess.py: comment out debugging

* add python step to ok-check workflow

* address review comments

* address review comments

Co-authored-by: notyourav <65437533+notyourav@users.noreply.github.com>

Co-authored-by: Pheenoh <pheenoh@gmail.com>
Co-authored-by: notyourav <65437533+notyourav@users.noreply.github.com>
This commit is contained in:
Erin Moon
2021-01-21 22:16:51 -06:00
committed by GitHub
parent afb426c60c
commit a072e71c33
595 changed files with 1228 additions and 9009 deletions
@@ -0,0 +1,25 @@
#ifndef Z2WOLFHOWLMGR_H_
#define Z2WOLFHOWLMGR_H_
struct Z2WolfHowlData {};
class Z2WolfHowlMgr {
Z2WolfHowlMgr();
void resetState();
void calcVolumeMod(float);
void getNowPitch();
void getNowInputValue();
void calcPitchMod(float, float);
void startWolfHowlSound(float, float, bool, float);
void setCorrectData(s8, Z2WolfHowlData*);
void getCorrectLine(u8);
void getCorrectLineNum();
void checkLine();
void getOnLineNum();
void startWindStoneSound(s8, Vec*);
void startGuideMelody(bool);
void skipCorrectDemo();
};
#endif // Z2WOLFHOWLMGR_H_
@@ -9,7 +9,7 @@
/* 802CACF4 002C7C34 7C 7F 1B 78 */ mr r31, r3
/* 802CACF8 002C7C38 FF C0 10 90 */ fmr f30, f2
/* 802CACFC 002C7C3C C3 E2 C4 64 */ lfs f31, lbl_80455E64-_SDA2_BASE_(r2)
/* 802CAD00 002C7C40 4B FF FF B1 */ bl Z2WolfHowlMgr_NS_getNowPitch
/* 802CAD00 002C7C40 4B FF FF B1 */ bl getNowPitch__13Z2WolfHowlMgrFv
/* 802CAD04 002C7C44 D0 3F 00 20 */ stfs f1, 0x20(r31)
/* 802CAD08 002C7C48 88 1F 00 8C */ lbz r0, 0x8c(r31)
/* 802CAD0C 002C7C4C 28 00 00 00 */ cmplwi r0, 0
@@ -91,10 +91,10 @@ lbl_802CB00C:
/* 802CB018 002C7F58 7F E3 FB 78 */ mr r3, r31
/* 802CB01C 002C7F5C C0 22 C4 60 */ lfs f1, lbl_80455E60-_SDA2_BASE_(r2)
/* 802CB020 002C7F60 FC 40 08 90 */ fmr f2, f1
/* 802CB024 002C7F64 4B FF FC B1 */ bl Z2WolfHowlMgr_NS_calcPitchMod
/* 802CB024 002C7F64 4B FF FC B1 */ bl calcPitchMod__13Z2WolfHowlMgrFff
/* 802CB028 002C7F68 7F E3 FB 78 */ mr r3, r31
/* 802CB02C 002C7F6C FC 20 F8 90 */ fmr f1, f31
/* 802CB030 002C7F70 4B FF FB BD */ bl Z2WolfHowlMgr_NS_calcVolumeMod
/* 802CB030 002C7F70 4B FF FB BD */ bl calcVolumeMod__13Z2WolfHowlMgrFf
lbl_802CB034:
/* 802CB034 002C7F74 80 7F 00 88 */ lwz r3, 0x88(r31)
/* 802CB038 002C7F78 38 03 00 01 */ addi r0, r3, 1
@@ -122,10 +122,10 @@ lbl_802CB044:
/* 802CB08C 002C7FCC 7F E3 FB 78 */ mr r3, r31
/* 802CB090 002C7FD0 C0 22 C4 60 */ lfs f1, lbl_80455E60-_SDA2_BASE_(r2)
/* 802CB094 002C7FD4 FC 40 08 90 */ fmr f2, f1
/* 802CB098 002C7FD8 4B FF FC 3D */ bl Z2WolfHowlMgr_NS_calcPitchMod
/* 802CB098 002C7FD8 4B FF FC 3D */ bl calcPitchMod__13Z2WolfHowlMgrFff
/* 802CB09C 002C7FDC 7F E3 FB 78 */ mr r3, r31
/* 802CB0A0 002C7FE0 FC 20 F8 90 */ fmr f1, f31
/* 802CB0A4 002C7FE4 4B FF FB 49 */ bl Z2WolfHowlMgr_NS_calcVolumeMod
/* 802CB0A4 002C7FE4 4B FF FB 49 */ bl calcVolumeMod__13Z2WolfHowlMgrFf
lbl_802CB0A8:
/* 802CB0A8 002C7FE8 88 7F 00 8C */ lbz r3, 0x8c(r31)
/* 802CB0AC 002C7FEC 38 03 00 01 */ addi r0, r3, 1
@@ -136,14 +136,14 @@ lbl_802CB0A8:
/* 802CB0C0 002C8000 48 00 00 18 */ b lbl_802CB0D8
lbl_802CB0C4:
/* 802CB0C4 002C8004 7F E3 FB 78 */ mr r3, r31
/* 802CB0C8 002C8008 4B FF FA C5 */ bl Z2WolfHowlMgr_NS_resetState
/* 802CB0C8 002C8008 4B FF FA C5 */ bl resetState__13Z2WolfHowlMgrFv
/* 802CB0CC 002C800C 48 00 00 0C */ b lbl_802CB0D8
lbl_802CB0D0:
/* 802CB0D0 002C8010 7F E3 FB 78 */ mr r3, r31
/* 802CB0D4 002C8014 4B FF FA B9 */ bl Z2WolfHowlMgr_NS_resetState
/* 802CB0D4 002C8014 4B FF FA B9 */ bl resetState__13Z2WolfHowlMgrFv
lbl_802CB0D8:
/* 802CB0D8 002C8018 7F E3 FB 78 */ mr r3, r31
/* 802CB0DC 002C801C 48 00 02 B1 */ bl Z2WolfHowlMgr_NS_checkLine
/* 802CB0DC 002C801C 48 00 02 B1 */ bl checkLine__13Z2WolfHowlMgrFv
/* 802CB0E0 002C8020 E3 E1 00 28 */ psq_l f31, 40(r1), 0, 0
/* 802CB0E4 002C8024 CB E1 00 20 */ lfd f31, 0x20(r1)
/* 802CB0E8 002C8028 83 E1 00 1C */ lwz r31, 0x1c(r1)
@@ -103,14 +103,14 @@ lbl_802CB258:
lbl_802CB26C:
/* 802CB26C 002C81AC 7F E3 FB 78 */ mr r3, r31
/* 802CB270 002C81B0 7F A4 EB 78 */ mr r4, r29
/* 802CB274 002C81B4 48 00 00 AD */ bl Z2WolfHowlMgr_NS_getCorrectLine
/* 802CB274 002C81B4 48 00 00 AD */ bl getCorrectLine__13Z2WolfHowlMgrFUc
/* 802CB278 002C81B8 54 60 84 3E */ srwi r0, r3, 0x10
/* 802CB27C 002C81BC B0 01 00 10 */ sth r0, 0x10(r1)
/* 802CB280 002C81C0 88 01 00 11 */ lbz r0, 0x11(r1)
/* 802CB284 002C81C4 7F DE 02 14 */ add r30, r30, r0
/* 802CB288 002C81C8 7F E3 FB 78 */ mr r3, r31
/* 802CB28C 002C81CC 7F A4 EB 78 */ mr r4, r29
/* 802CB290 002C81D0 48 00 00 91 */ bl Z2WolfHowlMgr_NS_getCorrectLine
/* 802CB290 002C81D0 48 00 00 91 */ bl getCorrectLine__13Z2WolfHowlMgrFUc
/* 802CB294 002C81D4 54 60 84 3E */ srwi r0, r3, 0x10
/* 802CB298 002C81D8 B0 01 00 0C */ sth r0, 0xc(r1)
/* 802CB29C 002C81DC 88 01 00 0C */ lbz r0, 0xc(r1)
@@ -122,7 +122,7 @@ lbl_802CB26C:
/* 802CB2B4 002C81F4 B0 1F 00 BE */ sth r0, 0xbe(r31)
/* 802CB2B8 002C81F8 7F E3 FB 78 */ mr r3, r31
/* 802CB2BC 002C81FC 7F A4 EB 78 */ mr r4, r29
/* 802CB2C0 002C8200 48 00 00 61 */ bl Z2WolfHowlMgr_NS_getCorrectLine
/* 802CB2C0 002C8200 48 00 00 61 */ bl getCorrectLine__13Z2WolfHowlMgrFUc
/* 802CB2C4 002C8204 54 60 84 3E */ srwi r0, r3, 0x10
/* 802CB2C8 002C8208 B0 01 00 08 */ sth r0, 8(r1)
/* 802CB2CC 002C820C A0 7F 00 BE */ lhz r3, 0xbe(r31)
@@ -133,7 +133,7 @@ lbl_802CB2DC:
/* 802CB2DC 002C821C 3B BD 00 01 */ addi r29, r29, 1
lbl_802CB2E0:
/* 802CB2E0 002C8220 7F E3 FB 78 */ mr r3, r31
/* 802CB2E4 002C8224 48 00 00 8D */ bl Z2WolfHowlMgr_NS_getCorrectLineNum
/* 802CB2E4 002C8224 48 00 00 8D */ bl getCorrectLineNum__13Z2WolfHowlMgrFv
/* 802CB2E8 002C8228 54 63 06 3E */ clrlwi r3, r3, 0x18
/* 802CB2EC 002C822C 57 A0 06 3E */ clrlwi r0, r29, 0x18
/* 802CB2F0 002C8230 7C 00 18 40 */ cmplw r0, r3
@@ -52,7 +52,7 @@ lbl_802CB420:
lbl_802CB43C:
/* 802CB43C 002C837C 7F E3 FB 78 */ mr r3, r31
/* 802CB440 002C8380 7F A4 EB 78 */ mr r4, r29
/* 802CB444 002C8384 4B FF FE DD */ bl Z2WolfHowlMgr_NS_getCorrectLine
/* 802CB444 002C8384 4B FF FE DD */ bl getCorrectLine__13Z2WolfHowlMgrFUc
/* 802CB448 002C8388 54 60 84 3E */ srwi r0, r3, 0x10
/* 802CB44C 002C838C B0 01 00 10 */ sth r0, 0x10(r1)
/* 802CB450 002C8390 88 01 00 11 */ lbz r0, 0x11(r1)
@@ -60,7 +60,7 @@ lbl_802CB43C:
/* 802CB458 002C8398 3B BD 00 01 */ addi r29, r29, 1
lbl_802CB45C:
/* 802CB45C 002C839C 7F E3 FB 78 */ mr r3, r31
/* 802CB460 002C83A0 4B FF FF 11 */ bl Z2WolfHowlMgr_NS_getCorrectLineNum
/* 802CB460 002C83A0 4B FF FF 11 */ bl getCorrectLineNum__13Z2WolfHowlMgrFv
/* 802CB464 002C83A4 54 63 06 3E */ clrlwi r3, r3, 0x18
/* 802CB468 002C83A8 57 A0 06 3E */ clrlwi r0, r29, 0x18
/* 802CB46C 002C83AC 7C 00 18 40 */ cmplw r0, r3
@@ -132,7 +132,7 @@ lbl_802CB544:
lbl_802CB560:
/* 802CB560 002C84A0 7F E3 FB 78 */ mr r3, r31
/* 802CB564 002C84A4 7F 84 E3 78 */ mr r4, r28
/* 802CB568 002C84A8 4B FF FD B9 */ bl Z2WolfHowlMgr_NS_getCorrectLine
/* 802CB568 002C84A8 4B FF FD B9 */ bl getCorrectLine__13Z2WolfHowlMgrFUc
/* 802CB56C 002C84AC 54 60 84 3E */ srwi r0, r3, 0x10
/* 802CB570 002C84B0 B0 01 00 0C */ sth r0, 0xc(r1)
/* 802CB574 002C84B4 88 01 00 0D */ lbz r0, 0xd(r1)
@@ -146,7 +146,7 @@ lbl_802CB580:
/* 802CB590 002C84D0 7C 1D F0 40 */ cmplw r29, r30
/* 802CB594 002C84D4 40 81 00 80 */ ble lbl_802CB614
/* 802CB598 002C84D8 7F E3 FB 78 */ mr r3, r31
/* 802CB59C 002C84DC 4B FF FD D5 */ bl Z2WolfHowlMgr_NS_getCorrectLineNum
/* 802CB59C 002C84DC 4B FF FD D5 */ bl getCorrectLineNum__13Z2WolfHowlMgrFv
/* 802CB5A0 002C84E0 54 63 06 3E */ clrlwi r3, r3, 0x18
/* 802CB5A4 002C84E4 88 1F 00 BA */ lbz r0, 0xba(r31)
/* 802CB5A8 002C84E8 7C 00 18 40 */ cmplw r0, r3
@@ -157,7 +157,7 @@ lbl_802CB580:
/* 802CB5BC 002C84FC B0 1F 00 90 */ sth r0, 0x90(r31)
/* 802CB5C0 002C8500 7F E3 FB 78 */ mr r3, r31
/* 802CB5C4 002C8504 88 9F 00 BA */ lbz r4, 0xba(r31)
/* 802CB5C8 002C8508 4B FF FD 59 */ bl Z2WolfHowlMgr_NS_getCorrectLine
/* 802CB5C8 002C8508 4B FF FD 59 */ bl getCorrectLine__13Z2WolfHowlMgrFUc
/* 802CB5CC 002C850C 54 60 84 3E */ srwi r0, r3, 0x10
/* 802CB5D0 002C8510 B0 01 00 08 */ sth r0, 8(r1)
/* 802CB5D4 002C8514 88 9F 00 BC */ lbz r4, 0xbc(r31)
@@ -179,7 +179,7 @@ lbl_802CB5FC:
/* 802CB610 002C8550 48 00 00 24 */ b lbl_802CB634
lbl_802CB614:
/* 802CB614 002C8554 7F E3 FB 78 */ mr r3, r31
/* 802CB618 002C8558 48 00 00 39 */ bl Z2WolfHowlMgr_NS_getOnLineNum
/* 802CB618 002C8558 48 00 00 39 */ bl getOnLineNum__13Z2WolfHowlMgrFv
/* 802CB61C 002C855C 7C 60 07 74 */ extsb r0, r3
/* 802CB620 002C8560 2C 00 FF FF */ cmpwi r0, -1
/* 802CB624 002C8564 40 81 00 10 */ ble lbl_802CB634
@@ -4,7 +4,7 @@
/* 802CB65C 002C859C 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 802CB660 002C85A0 7C 7F 1B 78 */ mr r31, r3
/* 802CB664 002C85A4 88 83 00 BA */ lbz r4, 0xba(r3)
/* 802CB668 002C85A8 4B FF FC B9 */ bl Z2WolfHowlMgr_NS_getCorrectLine
/* 802CB668 002C85A8 4B FF FC B9 */ bl getCorrectLine__13Z2WolfHowlMgrFUc
/* 802CB66C 002C85AC 54 60 84 3E */ srwi r0, r3, 0x10
/* 802CB670 002C85B0 B0 01 00 08 */ sth r0, 8(r1)
/* 802CB674 002C85B4 88 01 00 08 */ lbz r0, 8(r1)
@@ -101,7 +101,7 @@ lbl_802CB848:
/* 802CB854 002C8794 80 7D 00 04 */ lwz r3, 4(r29)
/* 802CB858 002C8798 28 03 00 00 */ cmplwi r3, 0
/* 802CB85C 002C879C 41 82 00 0C */ beq lbl_802CB868
/* 802CB860 002C87A0 4B FD 6D 39 */ bl JAISound_NS_stop_X1_
/* 802CB860 002C87A0 4B FD 6D 39 */ bl stop__8JAISoundFv
/* 802CB864 002C87A4 48 00 00 54 */ b lbl_802CB8B8
lbl_802CB868:
/* 802CB868 002C87A8 C0 02 C4 C0 */ lfs f0, lbl_80455EC0-_SDA2_BASE_(r2)
@@ -138,7 +138,7 @@ lbl_802CB8B8:
/* 802CB8E0 002C8820 D0 23 00 2C */ stfs f1, 0x2c(r3)
/* 802CB8E4 002C8824 80 7D 00 04 */ lwz r3, 4(r29)
/* 802CB8E8 002C8828 38 80 00 1E */ li r4, 0x1e
/* 802CB8EC 002C882C 4B FD 6B F1 */ bl JAISound_NS_stop
/* 802CB8EC 002C882C 4B FD 6B F1 */ bl stop__8JAISoundFUl
/* 802CB8F0 002C8830 80 8D 8D E0 */ lwz r4, lbl_80451360-_SDA_BASE_(r13)
/* 802CB8F4 002C8834 88 04 00 C0 */ lbz r0, 0xc0(r4)
/* 802CB8F8 002C8838 28 00 00 01 */ cmplwi r0, 1
@@ -41,7 +41,7 @@ lbl_802CBAFC:
/* 802CBB24 002C8A64 D0 23 00 2C */ stfs f1, 0x2c(r3)
/* 802CBB28 002C8A68 80 7F 00 08 */ lwz r3, 8(r31)
/* 802CBB2C 002C8A6C 38 80 00 1E */ li r4, 0x1e
/* 802CBB30 002C8A70 4B FD 69 AD */ bl JAISound_NS_stop
/* 802CBB30 002C8A70 4B FD 69 AD */ bl stop__8JAISoundFUl
/* 802CBB34 002C8A74 80 7F 00 08 */ lwz r3, 8(r31)
/* 802CBB38 002C8A78 80 63 00 38 */ lwz r3, 0x38(r3)
/* 802CBB3C 002C8A7C 48 00 00 08 */ b lbl_802CBB44