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,34 @@
#ifndef __Z2SOUNDHANDLES_H__
#define __Z2SOUNDHANDLES_H__
#include "JSystem/JAudio2/JAISound/JAISound.h"
#include "JSystem/JGeometry/JGeometry.h"
#include "JSystem/JSupport/JSUList/JSUList.h"
#include "dolphin/types.h"
class Z2SoundHandlePool : public JAISoundHandle, JSULink<Z2SoundHandlePool> {};
class Z2SoundHandles : protected JSUList<Z2SoundHandlePool> {
public:
Z2SoundHandles();
~Z2SoundHandles();
void initHandlesPool(u8 pNumHandles);
void deleteHandlesPool();
bool isActive() const;
JAISoundHandle* getHandleSoundID(JAISoundID pSoundId);
JAISoundHandle* getHandleUserData(u32 pUserData);
void stopAllSounds(u32 fadeout);
void setPos(const JGeometry::TVec3<f32>& pos);
u32 getNumHandles() const { return this->getNumLinks(); }
private:
u8 mNumHandles;
};
#endif
@@ -1,14 +0,0 @@
/* 802AB07C 002A7FBC 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 802AB080 002A7FC0 7C 08 02 A6 */ mflr r0
/* 802AB084 002A7FC4 90 01 00 14 */ stw r0, 0x14(r1)
/* 802AB088 002A7FC8 93 E1 00 0C */ stw r31, 0xc(r1)
/* 802AB08C 002A7FCC 7C 7F 1B 78 */ mr r31, r3
/* 802AB090 002A7FD0 48 03 0E 85 */ bl initiate__10JSUPtrListFv
/* 802AB094 002A7FD4 38 00 00 00 */ li r0, 0
/* 802AB098 002A7FD8 98 1F 00 0C */ stb r0, 0xc(r31)
/* 802AB09C 002A7FDC 7F E3 FB 78 */ mr r3, r31
/* 802AB0A0 002A7FE0 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 802AB0A4 002A7FE4 80 01 00 14 */ lwz r0, 0x14(r1)
/* 802AB0A8 002A7FE8 7C 08 03 A6 */ mtlr r0
/* 802AB0AC 002A7FEC 38 21 00 10 */ addi r1, r1, 0x10
/* 802AB0B0 002A7FF0 4E 80 00 20 */ blr
@@ -1,27 +0,0 @@
/* 802AB0B4 002A7FF4 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 802AB0B8 002A7FF8 7C 08 02 A6 */ mflr r0
/* 802AB0BC 002A7FFC 90 01 00 14 */ stw r0, 0x14(r1)
/* 802AB0C0 002A8000 93 E1 00 0C */ stw r31, 0xc(r1)
/* 802AB0C4 002A8004 93 C1 00 08 */ stw r30, 8(r1)
/* 802AB0C8 002A8008 7C 7E 1B 79 */ or. r30, r3, r3
/* 802AB0CC 002A800C 7C 9F 23 78 */ mr r31, r4
/* 802AB0D0 002A8010 41 82 00 2C */ beq lbl_802AB0FC
/* 802AB0D4 002A8014 48 00 00 4D */ bl Z2SoundHandles_NS_deleteHandlesPool
/* 802AB0D8 002A8018 28 1E 00 00 */ cmplwi r30, 0
/* 802AB0DC 002A801C 41 82 00 10 */ beq lbl_802AB0EC
/* 802AB0E0 002A8020 7F C3 F3 78 */ mr r3, r30
/* 802AB0E4 002A8024 38 80 00 00 */ li r4, 0
/* 802AB0E8 002A8028 48 03 0D C5 */ bl __dt__10JSUPtrListFv
lbl_802AB0EC:
/* 802AB0EC 002A802C 7F E0 07 35 */ extsh. r0, r31
/* 802AB0F0 002A8030 40 81 00 0C */ ble lbl_802AB0FC
/* 802AB0F4 002A8034 7F C3 F3 78 */ mr r3, r30
/* 802AB0F8 002A8038 48 02 3C 45 */ bl __dl__FPv
lbl_802AB0FC:
/* 802AB0FC 002A803C 7F C3 F3 78 */ mr r3, r30
/* 802AB100 002A8040 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 802AB104 002A8044 83 C1 00 08 */ lwz r30, 8(r1)
/* 802AB108 002A8048 80 01 00 14 */ lwz r0, 0x14(r1)
/* 802AB10C 002A804C 7C 08 03 A6 */ mtlr r0
/* 802AB110 002A8050 38 21 00 10 */ addi r1, r1, 0x10
/* 802AB114 002A8054 4E 80 00 20 */ blr
@@ -1,2 +0,0 @@
/* 802AB118 002A8058 98 83 00 0C */ stb r4, 0xc(r3)
/* 802AB11C 002A805C 4E 80 00 20 */ blr
@@ -25,7 +25,7 @@ lbl_802AB174:
/* 802AB174 002A80B4 28 1E 00 00 */ cmplwi r30, 0
/* 802AB178 002A80B8 41 82 00 0C */ beq lbl_802AB184
/* 802AB17C 002A80BC 7F C3 F3 78 */ mr r3, r30
/* 802AB180 002A80C0 4B FF 70 05 */ bl JAISoundHandle_NS_releaseSound
/* 802AB180 002A80C0 4B FF 70 05 */ bl releaseSound__14JAISoundHandleFv
lbl_802AB184:
/* 802AB184 002A80C4 88 0D 8D C8 */ lbz r0, lbl_80451348-_SDA_BASE_(r13)
/* 802AB188 002A80C8 7C 00 07 75 */ extsb. r0, r0
@@ -1,23 +0,0 @@
/* 802AB254 002A8194 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 802AB258 002A8198 80 A3 00 00 */ lwz r5, 0(r3)
/* 802AB25C 002A819C 80 04 00 00 */ lwz r0, 0(r4)
/* 802AB260 002A81A0 48 00 00 2C */ b lbl_802AB28C
lbl_802AB264:
/* 802AB264 002A81A4 80 65 00 00 */ lwz r3, 0(r5)
/* 802AB268 002A81A8 80 83 00 00 */ lwz r4, 0(r3)
/* 802AB26C 002A81AC 28 04 00 00 */ cmplwi r4, 0
/* 802AB270 002A81B0 41 82 00 18 */ beq lbl_802AB288
/* 802AB274 002A81B4 80 84 00 18 */ lwz r4, 0x18(r4)
/* 802AB278 002A81B8 90 81 00 08 */ stw r4, 8(r1)
/* 802AB27C 002A81BC 7C 04 00 40 */ cmplw r4, r0
/* 802AB280 002A81C0 40 82 00 08 */ bne lbl_802AB288
/* 802AB284 002A81C4 48 00 00 14 */ b lbl_802AB298
lbl_802AB288:
/* 802AB288 002A81C8 80 A5 00 0C */ lwz r5, 0xc(r5)
lbl_802AB28C:
/* 802AB28C 002A81CC 28 05 00 00 */ cmplwi r5, 0
/* 802AB290 002A81D0 40 82 FF D4 */ bne lbl_802AB264
/* 802AB294 002A81D4 38 60 00 00 */ li r3, 0
lbl_802AB298:
/* 802AB298 002A81D8 38 21 00 10 */ addi r1, r1, 0x10
/* 802AB29C 002A81DC 4E 80 00 20 */ blr
@@ -1,17 +0,0 @@
/* 802AB2A0 002A81E0 80 C3 00 00 */ lwz r6, 0(r3)
/* 802AB2A4 002A81E4 48 00 00 24 */ b lbl_802AB2C8
lbl_802AB2A8:
/* 802AB2A8 002A81E8 80 66 00 00 */ lwz r3, 0(r6)
/* 802AB2AC 002A81EC 80 A3 00 00 */ lwz r5, 0(r3)
/* 802AB2B0 002A81F0 28 05 00 00 */ cmplwi r5, 0
/* 802AB2B4 002A81F4 41 82 00 10 */ beq lbl_802AB2C4
/* 802AB2B8 002A81F8 80 05 00 20 */ lwz r0, 0x20(r5)
/* 802AB2BC 002A81FC 7C 04 00 40 */ cmplw r4, r0
/* 802AB2C0 002A8200 4D 82 00 20 */ beqlr
lbl_802AB2C4:
/* 802AB2C4 002A8204 80 C6 00 0C */ lwz r6, 0xc(r6)
lbl_802AB2C8:
/* 802AB2C8 002A8208 28 06 00 00 */ cmplwi r6, 0
/* 802AB2CC 002A820C 40 82 FF DC */ bne lbl_802AB2A8
/* 802AB2D0 002A8210 38 60 00 00 */ li r3, 0
/* 802AB2D4 002A8214 4E 80 00 20 */ blr
@@ -1,28 +0,0 @@
/* 802AB4A0 002A83E0 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 802AB4A4 002A83E4 7C 08 02 A6 */ mflr r0
/* 802AB4A8 002A83E8 90 01 00 14 */ stw r0, 0x14(r1)
/* 802AB4AC 002A83EC 93 E1 00 0C */ stw r31, 0xc(r1)
/* 802AB4B0 002A83F0 93 C1 00 08 */ stw r30, 8(r1)
/* 802AB4B4 002A83F4 7C 9E 23 78 */ mr r30, r4
/* 802AB4B8 002A83F8 83 E3 00 00 */ lwz r31, 0(r3)
/* 802AB4BC 002A83FC 48 00 00 28 */ b lbl_802AB4E4
lbl_802AB4C0:
/* 802AB4C0 002A8400 80 7F 00 00 */ lwz r3, 0(r31)
/* 802AB4C4 002A8404 28 03 00 00 */ cmplwi r3, 0
/* 802AB4C8 002A8408 41 82 00 18 */ beq lbl_802AB4E0
/* 802AB4CC 002A840C 80 63 00 00 */ lwz r3, 0(r3)
/* 802AB4D0 002A8410 28 03 00 00 */ cmplwi r3, 0
/* 802AB4D4 002A8414 41 82 00 0C */ beq lbl_802AB4E0
/* 802AB4D8 002A8418 7F C4 F3 78 */ mr r4, r30
/* 802AB4DC 002A841C 4B FF 70 01 */ bl JAISound_NS_stop
lbl_802AB4E0:
/* 802AB4E0 002A8420 83 FF 00 0C */ lwz r31, 0xc(r31)
lbl_802AB4E4:
/* 802AB4E4 002A8424 28 1F 00 00 */ cmplwi r31, 0
/* 802AB4E8 002A8428 40 82 FF D8 */ bne lbl_802AB4C0
/* 802AB4EC 002A842C 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 802AB4F0 002A8430 83 C1 00 08 */ lwz r30, 8(r1)
/* 802AB4F4 002A8434 80 01 00 14 */ lwz r0, 0x14(r1)
/* 802AB4F8 002A8438 7C 08 03 A6 */ mtlr r0
/* 802AB4FC 002A843C 38 21 00 10 */ addi r1, r1, 0x10
/* 802AB500 002A8440 4E 80 00 20 */ blr
@@ -1,16 +0,0 @@
/* 802AB504 002A8444 80 83 00 00 */ lwz r4, 0(r3)
/* 802AB508 002A8448 48 00 00 20 */ b lbl_802AB528
lbl_802AB50C:
/* 802AB50C 002A844C 80 64 00 00 */ lwz r3, 0(r4)
/* 802AB510 002A8450 80 03 00 00 */ lwz r0, 0(r3)
/* 802AB514 002A8454 28 00 00 00 */ cmplwi r0, 0
/* 802AB518 002A8458 41 82 00 0C */ beq lbl_802AB524
/* 802AB51C 002A845C 38 60 00 01 */ li r3, 1
/* 802AB520 002A8460 4E 80 00 20 */ blr
lbl_802AB524:
/* 802AB524 002A8464 80 84 00 0C */ lwz r4, 0xc(r4)
lbl_802AB528:
/* 802AB528 002A8468 28 04 00 00 */ cmplwi r4, 0
/* 802AB52C 002A846C 40 82 FF E0 */ bne lbl_802AB50C
/* 802AB530 002A8470 38 60 00 00 */ li r3, 0
/* 802AB534 002A8474 4E 80 00 20 */ blr
@@ -41,7 +41,7 @@ lbl_802AB5C8:
/* 802AB5C8 002A8508 28 1F 00 00 */ cmplwi r31, 0
/* 802AB5CC 002A850C 41 82 00 0C */ beq lbl_802AB5D8
/* 802AB5D0 002A8510 7F E3 FB 78 */ mr r3, r31
/* 802AB5D4 002A8514 4B FF 6B B1 */ bl JAISoundHandle_NS_releaseSound
/* 802AB5D4 002A8514 4B FF 6B B1 */ bl releaseSound__14JAISoundHandleFv
lbl_802AB5D8:
/* 802AB5D8 002A8518 88 0D 8D C8 */ lbz r0, lbl_80451348-_SDA_BASE_(r13)
/* 802AB5DC 002A851C 7C 00 07 75 */ extsb. r0, r0