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,42 @@
#ifndef Z2SOUNDOBJMGR_H_
#define Z2SOUNDOBJMGR_H_
#include "JSystem/JSupport/JSUList/JSUList.h"
#include "Z2AudioLib/Z2Creature/Z2Creature.h"
#include "dolphin/types.h"
class Z2SoundObjMgr : protected JSUList<Z2CreatureEnemy> {
public:
Z2SoundObjMgr();
void setBattleInit();
void setForceBattleArea(bool, u16, u16, u16);
void setGhostEnemyState(u8);
void deleteEnemyAll();
bool isTwilightBattle();
bool isForceBattle() { return mForceBattle; }
private:
u8 unk0[2];
u16 field_0xe;
u16 field_0x10;
u16 field_0x12;
u8 field_0x14;
u8 field_0x15;
u8 field_0x16;
u8 field_0x17;
u8 field_0x18;
u8 field_0x19;
bool field_0x1a;
bool mTwilightBattle;
bool mForceBattle;
u8 unk1[3];
};
extern Z2SoundObjMgr* lbl_80450B48; // Z2SoundObjMgr sInstance
#endif // Z2SOUNDOBJMGR_H_
@@ -9,13 +9,13 @@
/* 802BF940 002BC880 98 1F 00 19 */ stb r0, 0x19(r31)
/* 802BF944 002BC884 98 1F 00 1B */ stb r0, 0x1b(r31)
/* 802BF948 002BC888 7F E3 FB 78 */ mr r3, r31
/* 802BF94C 002BC88C 48 00 07 B5 */ bl Z2SoundObjMgr_NS_setBattleInit
/* 802BF94C 002BC88C 48 00 07 B5 */ bl setBattleInit__13Z2SoundObjMgrFv
/* 802BF950 002BC890 7F E3 FB 78 */ mr r3, r31
/* 802BF954 002BC894 38 80 00 00 */ li r4, 0
/* 802BF958 002BC898 38 A0 02 BC */ li r5, 0x2bc
/* 802BF95C 002BC89C 38 C0 04 4C */ li r6, 0x44c
/* 802BF960 002BC8A0 38 E0 05 DC */ li r7, 0x5dc
/* 802BF964 002BC8A4 48 00 00 1D */ bl Z2SoundObjMgr_NS_setForceBattleArea
/* 802BF964 002BC8A4 48 00 00 1D */ bl setForceBattleArea__13Z2SoundObjMgrFbUsUsUs
/* 802BF968 002BC8A8 7F E3 FB 78 */ mr r3, r31
/* 802BF96C 002BC8AC 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 802BF970 002BC8B0 80 01 00 14 */ lwz r0, 0x14(r1)
@@ -335,12 +335,12 @@ lbl_802BFE44:
/* 802BFE64 002BCDA4 41 80 00 14 */ blt lbl_802BFE78
/* 802BFE68 002BCDA8 80 6D 86 04 */ lwz r3, lbl_80450B84-_SDA_BASE_(r13)
/* 802BFE6C 002BCDAC 38 80 00 00 */ li r4, 0
/* 802BFE70 002BCDB0 4B FF 45 71 */ bl Z2SeqMgr_NS_setBattleGhostMute
/* 802BFE70 002BCDB0 4B FF 45 71 */ bl setBattleGhostMute__8Z2SeqMgrFb
/* 802BFE74 002BCDB4 48 00 00 34 */ b lbl_802BFEA8
lbl_802BFE78:
/* 802BFE78 002BCDB8 80 6D 86 04 */ lwz r3, lbl_80450B84-_SDA_BASE_(r13)
/* 802BFE7C 002BCDBC 38 80 00 01 */ li r4, 1
/* 802BFE80 002BCDC0 4B FF 45 61 */ bl Z2SeqMgr_NS_setBattleGhostMute
/* 802BFE80 002BCDC0 4B FF 45 61 */ bl setBattleGhostMute__8Z2SeqMgrFb
/* 802BFE84 002BCDC4 48 00 00 24 */ b lbl_802BFEA8
lbl_802BFE88:
/* 802BFE88 002BCDC8 28 00 00 20 */ cmplwi r0, 0x20
@@ -350,7 +350,7 @@ lbl_802BFE88:
/* 802BFE98 002BCDD8 40 82 00 10 */ bne lbl_802BFEA8
/* 802BFE9C 002BCDDC 7E E3 BB 78 */ mr r3, r23
/* 802BFEA0 002BCDE0 38 80 00 00 */ li r4, 0
/* 802BFEA4 002BCDE4 48 00 01 49 */ bl Z2SoundObjMgr_NS_setGhostEnemyState
/* 802BFEA4 002BCDE4 48 00 01 49 */ bl setGhostEnemyState__13Z2SoundObjMgrFUc
lbl_802BFEA8:
/* 802BFEA8 002BCDE8 57 60 06 3E */ clrlwi r0, r27, 0x18
/* 802BFEAC 002BCDEC 28 00 00 01 */ cmplwi r0, 1
@@ -1,37 +0,0 @@
/* 802BFFEC 002BCF2C 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 802BFFF0 002BCF30 7C 08 02 A6 */ mflr r0
/* 802BFFF4 002BCF34 90 01 00 14 */ stw r0, 0x14(r1)
/* 802BFFF8 002BCF38 93 E1 00 0C */ stw r31, 0xc(r1)
/* 802BFFFC 002BCF3C 93 C1 00 08 */ stw r30, 8(r1)
/* 802C0000 002BCF40 7C 7E 1B 78 */ mr r30, r3
/* 802C0004 002BCF44 7C 9F 23 78 */ mr r31, r4
/* 802C0008 002BCF48 54 80 06 3E */ clrlwi r0, r4, 0x18
/* 802C000C 002BCF4C 28 00 00 20 */ cmplwi r0, 0x20
/* 802C0010 002BCF50 40 82 00 24 */ bne lbl_802C0034
/* 802C0014 002BCF54 88 7E 00 1A */ lbz r3, 0x1a(r30)
/* 802C0018 002BCF58 88 1E 00 16 */ lbz r0, 0x16(r30)
/* 802C001C 002BCF5C 7C 03 00 40 */ cmplw r3, r0
/* 802C0020 002BCF60 41 80 00 2C */ blt lbl_802C004C
/* 802C0024 002BCF64 80 6D 86 04 */ lwz r3, lbl_80450B84-_SDA_BASE_(r13)
/* 802C0028 002BCF68 38 80 00 01 */ li r4, 1
/* 802C002C 002BCF6C 4B FF 43 B5 */ bl Z2SeqMgr_NS_setBattleGhostMute
/* 802C0030 002BCF70 48 00 00 1C */ b lbl_802C004C
lbl_802C0034:
/* 802C0034 002BCF74 88 1E 00 1A */ lbz r0, 0x1a(r30)
/* 802C0038 002BCF78 28 00 00 00 */ cmplwi r0, 0
/* 802C003C 002BCF7C 40 82 00 10 */ bne lbl_802C004C
/* 802C0040 002BCF80 38 00 00 00 */ li r0, 0
/* 802C0044 002BCF84 98 1E 00 19 */ stb r0, 0x19(r30)
/* 802C0048 002BCF88 48 00 00 14 */ b lbl_802C005C
lbl_802C004C:
/* 802C004C 002BCF8C 88 1E 00 19 */ lbz r0, 0x19(r30)
/* 802C0050 002BCF90 54 00 07 FE */ clrlwi r0, r0, 0x1f
/* 802C0054 002BCF94 7C 1F 02 14 */ add r0, r31, r0
/* 802C0058 002BCF98 98 1E 00 19 */ stb r0, 0x19(r30)
lbl_802C005C:
/* 802C005C 002BCF9C 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 802C0060 002BCFA0 83 C1 00 08 */ lwz r30, 8(r1)
/* 802C0064 002BCFA4 80 01 00 14 */ lwz r0, 0x14(r1)
/* 802C0068 002BCFA8 7C 08 03 A6 */ mtlr r0
/* 802C006C 002BCFAC 38 21 00 10 */ addi r1, r1, 0x10
/* 802C0070 002BCFB0 4E 80 00 20 */ blr
@@ -1,23 +0,0 @@
/* 802C013C 002BD07C 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 802C0140 002BD080 7C 08 02 A6 */ mflr r0
/* 802C0144 002BD084 90 01 00 14 */ stw r0, 0x14(r1)
/* 802C0148 002BD088 93 E1 00 0C */ stw r31, 0xc(r1)
/* 802C014C 002BD08C 7C 7F 1B 78 */ mr r31, r3
/* 802C0150 002BD090 48 00 00 20 */ b lbl_802C0170
lbl_802C0154:
/* 802C0154 002BD094 80 63 00 00 */ lwz r3, 0(r3)
/* 802C0158 002BD098 28 03 00 00 */ cmplwi r3, 0
/* 802C015C 002BD09C 41 82 00 14 */ beq lbl_802C0170
/* 802C0160 002BD0A0 81 83 00 00 */ lwz r12, 0(r3)
/* 802C0164 002BD0A4 81 8C 00 08 */ lwz r12, 8(r12)
/* 802C0168 002BD0A8 7D 89 03 A6 */ mtctr r12
/* 802C016C 002BD0AC 4E 80 04 21 */ bctrl
lbl_802C0170:
/* 802C0170 002BD0B0 80 7F 00 00 */ lwz r3, 0(r31)
/* 802C0174 002BD0B4 28 03 00 00 */ cmplwi r3, 0
/* 802C0178 002BD0B8 40 82 FF DC */ bne lbl_802C0154
/* 802C017C 002BD0BC 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 802C0180 002BD0C0 80 01 00 14 */ lwz r0, 0x14(r1)
/* 802C0184 002BD0C4 7C 08 03 A6 */ mtlr r0
/* 802C0188 002BD0C8 38 21 00 10 */ addi r1, r1, 0x10
/* 802C018C 002BD0CC 4E 80 00 20 */ blr
@@ -1,2 +0,0 @@
/* 802C01E4 002BD124 88 63 00 1B */ lbz r3, 0x1b(r3)
/* 802C01E8 002BD128 4E 80 00 20 */ blr