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,22 @@
#ifndef Z2CREATURE_H_
#define Z2CREATURE_H_
class Z2Creature {
public:
Z2Creature();
virtual void deleteObject();
virtual void setSoundStarter();
virtual void framework();
virtual void startCreatureSound();
virtual void startCreatureSoundLevel();
virtual void startCreatureVoice();
virtual void startCreatureVoiceLevel();
virtual void startCreatureExtraSound();
virtual void startCreatureExtraSoundLevel();
virtual void startCollisionSE();
};
class Z2CreatureEnemy : public Z2Creature {};
#endif // Z2CREATURE_H_
@@ -20,7 +20,7 @@
/* 802C046C 002BD3AC 90 1E 00 80 */ stw r0, 0x80(r30)
/* 802C0470 002BD3B0 38 7E 00 70 */ addi r3, r30, 0x70
/* 802C0474 002BD3B4 38 80 00 00 */ li r4, 0
/* 802C0478 002BD3B8 4B FF DA D1 */ bl Z2SoundObjBase_NS_dtor
/* 802C0478 002BD3B8 4B FF DA D1 */ bl __dt__14Z2SoundObjBaseFv
lbl_802C047C:
/* 802C047C 002BD3BC 34 1E 00 50 */ addic. r0, r30, 0x50
/* 802C0480 002BD3C0 41 82 00 1C */ beq lbl_802C049C
@@ -29,7 +29,7 @@ lbl_802C047C:
/* 802C048C 002BD3CC 90 1E 00 60 */ stw r0, 0x60(r30)
/* 802C0490 002BD3D0 38 7E 00 50 */ addi r3, r30, 0x50
/* 802C0494 002BD3D4 38 80 00 00 */ li r4, 0
/* 802C0498 002BD3D8 4B FF DA B1 */ bl Z2SoundObjBase_NS_dtor
/* 802C0498 002BD3D8 4B FF DA B1 */ bl __dt__14Z2SoundObjBaseFv
lbl_802C049C:
/* 802C049C 002BD3DC 34 1E 00 08 */ addic. r0, r30, 8
/* 802C04A0 002BD3E0 41 82 00 1C */ beq lbl_802C04BC
@@ -38,7 +38,7 @@ lbl_802C049C:
/* 802C04AC 002BD3EC 90 1E 00 18 */ stw r0, 0x18(r30)
/* 802C04B0 002BD3F0 38 7E 00 08 */ addi r3, r30, 8
/* 802C04B4 002BD3F4 38 80 00 00 */ li r4, 0
/* 802C04B8 002BD3F8 4B FF DA 91 */ bl Z2SoundObjBase_NS_dtor
/* 802C04B8 002BD3F8 4B FF DA 91 */ bl __dt__14Z2SoundObjBaseFv
lbl_802C04BC:
/* 802C04BC 002BD3FC 7F E0 07 35 */ extsh. r0, r31
/* 802C04C0 002BD400 40 81 00 0C */ ble lbl_802C04CC
@@ -6,11 +6,11 @@
/* 802C04FC 002BD43C 38 00 00 00 */ li r0, 0
/* 802C0500 002BD440 90 03 00 28 */ stw r0, 0x28(r3)
/* 802C0504 002BD444 38 7F 00 08 */ addi r3, r31, 8
/* 802C0508 002BD448 4B FF DA F1 */ bl Z2SoundObjBase_NS_deleteObject
/* 802C0508 002BD448 4B FF DA F1 */ bl deleteObject__14Z2SoundObjBaseFv
/* 802C050C 002BD44C 38 7F 00 50 */ addi r3, r31, 0x50
/* 802C0510 002BD450 4B FF DA E9 */ bl Z2SoundObjBase_NS_deleteObject
/* 802C0510 002BD450 4B FF DA E9 */ bl deleteObject__14Z2SoundObjBaseFv
/* 802C0514 002BD454 38 7F 00 70 */ addi r3, r31, 0x70
/* 802C0518 002BD458 4B FF DA E1 */ bl Z2SoundObjBase_NS_deleteObject
/* 802C0518 002BD458 4B FF DA E1 */ bl deleteObject__14Z2SoundObjBaseFv
/* 802C051C 002BD45C 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 802C0520 002BD460 80 01 00 14 */ lwz r0, 0x14(r1)
/* 802C0524 002BD464 7C 08 03 A6 */ mtlr r0
@@ -3,7 +3,7 @@
/* 802C0C18 002BDB58 90 01 00 14 */ stw r0, 0x14(r1)
/* 802C0C1C 002BDB5C 93 E1 00 0C */ stw r31, 0xc(r1)
/* 802C0C20 002BDB60 7C 7F 1B 78 */ mr r31, r3
/* 802C0C24 002BDB64 4B FF F7 A5 */ bl Z2Creature
/* 802C0C24 002BDB64 4B FF F7 A5 */ bl __ct__10Z2CreatureFv
/* 802C0C28 002BDB68 38 7F 00 90 */ addi r3, r31, 0x90
/* 802C0C2C 002BDB6C 7F E4 FB 78 */ mr r4, r31
/* 802C0C30 002BDB70 48 01 B1 CD */ bl __ct__10JSUPtrLinkFPv
@@ -3,7 +3,7 @@
/* 802C0F6C 002BDEAC 90 01 00 14 */ stw r0, 0x14(r1)
/* 802C0F70 002BDEB0 93 E1 00 0C */ stw r31, 0xc(r1)
/* 802C0F74 002BDEB4 7C 7F 1B 78 */ mr r31, r3
/* 802C0F78 002BDEB8 4B FF F4 51 */ bl Z2Creature
/* 802C0F78 002BDEB8 4B FF F4 51 */ bl __ct__10Z2CreatureFv
/* 802C0F7C 002BDEBC 38 7F 00 90 */ addi r3, r31, 0x90
/* 802C0F80 002BDEC0 7F E4 FB 78 */ mr r4, r31
/* 802C0F84 002BDEC4 48 01 AE 79 */ bl __ct__10JSUPtrLinkFPv
@@ -43,11 +43,11 @@ lbl_802C1060:
/* 802C1060 002BDFA0 38 00 00 00 */ li r0, 0
/* 802C1064 002BDFA4 90 1F 00 28 */ stw r0, 0x28(r31)
/* 802C1068 002BDFA8 38 7F 00 08 */ addi r3, r31, 8
/* 802C106C 002BDFAC 4B FF CF 8D */ bl Z2SoundObjBase_NS_deleteObject
/* 802C106C 002BDFAC 4B FF CF 8D */ bl deleteObject__14Z2SoundObjBaseFv
/* 802C1070 002BDFB0 38 7F 00 50 */ addi r3, r31, 0x50
/* 802C1074 002BDFB4 4B FF CF 85 */ bl Z2SoundObjBase_NS_deleteObject
/* 802C1074 002BDFB4 4B FF CF 85 */ bl deleteObject__14Z2SoundObjBaseFv
/* 802C1078 002BDFB8 38 7F 00 70 */ addi r3, r31, 0x70
/* 802C107C 002BDFBC 4B FF CF 7D */ bl Z2SoundObjBase_NS_deleteObject
/* 802C107C 002BDFBC 4B FF CF 7D */ bl deleteObject__14Z2SoundObjBaseFv
/* 802C1080 002BDFC0 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 802C1084 002BDFC4 80 01 00 24 */ lwz r0, 0x24(r1)
/* 802C1088 002BDFC8 7C 08 03 A6 */ mtlr r0
@@ -3,7 +3,7 @@
/* 802C1BF0 002BEB30 90 01 00 14 */ stw r0, 0x14(r1)
/* 802C1BF4 002BEB34 93 E1 00 0C */ stw r31, 0xc(r1)
/* 802C1BF8 002BEB38 7C 7F 1B 78 */ mr r31, r3
/* 802C1BFC 002BEB3C 4B FF E7 CD */ bl Z2Creature
/* 802C1BFC 002BEB3C 4B FF E7 CD */ bl __ct__10Z2CreatureFv
/* 802C1C00 002BEB40 3C 60 80 3D */ lis r3, lbl_803CB830@ha
/* 802C1C04 002BEB44 38 03 B8 30 */ addi r0, r3, lbl_803CB830@l
/* 802C1C08 002BEB48 90 1F 00 00 */ stw r0, 0(r31)
@@ -3,7 +3,7 @@
/* 802C1D18 002BEC58 90 01 00 14 */ stw r0, 0x14(r1)
/* 802C1D1C 002BEC5C 93 E1 00 0C */ stw r31, 0xc(r1)
/* 802C1D20 002BEC60 7C 7F 1B 78 */ mr r31, r3
/* 802C1D24 002BEC64 4B FF C1 CD */ bl Z2SoundObjBase_NS_ctor
/* 802C1D24 002BEC64 4B FF C1 CD */ bl __ct__14Z2SoundObjBaseFv
/* 802C1D28 002BEC68 3C 60 80 3D */ lis r3, lbl_803CB810@ha
/* 802C1D2C 002BEC6C 38 03 B8 10 */ addi r0, r3, lbl_803CB810@l
/* 802C1D30 002BEC70 90 1F 00 10 */ stw r0, 0x10(r31)
@@ -1,7 +1,7 @@
/* 802C1D4C 002BEC8C 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 802C1D50 002BEC90 7C 08 02 A6 */ mflr r0
/* 802C1D54 002BEC94 90 01 00 14 */ stw r0, 0x14(r1)
/* 802C1D58 002BEC98 4B FF C2 59 */ bl Z2SoundObjBase_NS_init
/* 802C1D58 002BEC98 4B FF C2 59 */ bl init__14Z2SoundObjBaseFP3VecUc
/* 802C1D5C 002BEC9C 80 01 00 14 */ lwz r0, 0x14(r1)
/* 802C1D60 002BECA0 7C 08 03 A6 */ mtlr r0
/* 802C1D64 002BECA4 38 21 00 10 */ addi r1, r1, 0x10
@@ -5,13 +5,13 @@
/* 802C1FC0 002BEF00 7C 7F 1B 78 */ mr r31, r3
/* 802C1FC4 002BEF04 4B FF F0 01 */ bl Z2CreatureEnemy_NS_deleteObject
/* 802C1FC8 002BEF08 38 7F 00 A4 */ addi r3, r31, 0xa4
/* 802C1FCC 002BEF0C 4B FF C0 2D */ bl Z2SoundObjBase_NS_deleteObject
/* 802C1FCC 002BEF0C 4B FF C0 2D */ bl deleteObject__14Z2SoundObjBaseFv
/* 802C1FD0 002BEF10 38 7F 00 C4 */ addi r3, r31, 0xc4
/* 802C1FD4 002BEF14 4B FF C0 25 */ bl Z2SoundObjBase_NS_deleteObject
/* 802C1FD4 002BEF14 4B FF C0 25 */ bl deleteObject__14Z2SoundObjBaseFv
/* 802C1FD8 002BEF18 38 7F 00 E4 */ addi r3, r31, 0xe4
/* 802C1FDC 002BEF1C 4B FF C0 1D */ bl Z2SoundObjBase_NS_deleteObject
/* 802C1FDC 002BEF1C 4B FF C0 1D */ bl deleteObject__14Z2SoundObjBaseFv
/* 802C1FE0 002BEF20 38 7F 01 04 */ addi r3, r31, 0x104
/* 802C1FE4 002BEF24 4B FF C0 15 */ bl Z2SoundObjBase_NS_deleteObject
/* 802C1FE4 002BEF24 4B FF C0 15 */ bl deleteObject__14Z2SoundObjBaseFv
/* 802C1FE8 002BEF28 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 802C1FEC 002BEF2C 80 01 00 14 */ lwz r0, 0x14(r1)
/* 802C1FF0 002BEF30 7C 08 03 A6 */ mtlr r0
@@ -11,7 +11,7 @@
/* 802C24F8 002BF438 90 01 00 10 */ stw r0, 0x10(r1)
/* 802C24FC 002BF43C 38 7D 00 50 */ addi r3, r29, 0x50
/* 802C2500 002BF440 38 81 00 10 */ addi r4, r1, 0x10
/* 802C2504 002BF444 4B FE 8D 51 */ bl Z2SoundHandles_NS_getHandleSoundID
/* 802C2504 002BF444 4B FE 8D 51 */ bl getHandleSoundID__14Z2SoundHandlesF10JAISoundID
/* 802C2508 002BF448 28 03 00 00 */ cmplwi r3, 0
/* 802C250C 002BF44C 40 82 00 24 */ bne lbl_802C2530
/* 802C2510 002BF450 3C 60 00 07 */ lis r3, 0x000701F7@ha
@@ -19,7 +19,7 @@
/* 802C2518 002BF458 90 01 00 0C */ stw r0, 0xc(r1)
/* 802C251C 002BF45C 38 7D 00 50 */ addi r3, r29, 0x50
/* 802C2520 002BF460 38 81 00 0C */ addi r4, r1, 0xc
/* 802C2524 002BF464 4B FE 8D 31 */ bl Z2SoundHandles_NS_getHandleSoundID
/* 802C2524 002BF464 4B FE 8D 31 */ bl getHandleSoundID__14Z2SoundHandlesF10JAISoundID
/* 802C2528 002BF468 28 03 00 00 */ cmplwi r3, 0
/* 802C252C 002BF46C 41 82 00 0C */ beq lbl_802C2538
lbl_802C2530:
@@ -5,27 +5,27 @@
/* 802C25FC 002BF53C 7C 7F 1B 78 */ mr r31, r3
/* 802C2600 002BF540 4B FF E9 C5 */ bl Z2CreatureEnemy_NS_deleteObject
/* 802C2604 002BF544 38 7F 00 A4 */ addi r3, r31, 0xa4
/* 802C2608 002BF548 4B FF B9 F1 */ bl Z2SoundObjBase_NS_deleteObject
/* 802C2608 002BF548 4B FF B9 F1 */ bl deleteObject__14Z2SoundObjBaseFv
/* 802C260C 002BF54C 38 7F 00 C4 */ addi r3, r31, 0xc4
/* 802C2610 002BF550 4B FF B9 E9 */ bl Z2SoundObjBase_NS_deleteObject
/* 802C2610 002BF550 4B FF B9 E9 */ bl deleteObject__14Z2SoundObjBaseFv
/* 802C2614 002BF554 38 7F 00 E4 */ addi r3, r31, 0xe4
/* 802C2618 002BF558 4B FF B9 E1 */ bl Z2SoundObjBase_NS_deleteObject
/* 802C2618 002BF558 4B FF B9 E1 */ bl deleteObject__14Z2SoundObjBaseFv
/* 802C261C 002BF55C 38 7F 01 04 */ addi r3, r31, 0x104
/* 802C2620 002BF560 4B FF B9 D9 */ bl Z2SoundObjBase_NS_deleteObject
/* 802C2620 002BF560 4B FF B9 D9 */ bl deleteObject__14Z2SoundObjBaseFv
/* 802C2624 002BF564 38 7F 01 24 */ addi r3, r31, 0x124
/* 802C2628 002BF568 4B FF B9 D1 */ bl Z2SoundObjBase_NS_deleteObject
/* 802C2628 002BF568 4B FF B9 D1 */ bl deleteObject__14Z2SoundObjBaseFv
/* 802C262C 002BF56C 38 7F 01 44 */ addi r3, r31, 0x144
/* 802C2630 002BF570 4B FF B9 C9 */ bl Z2SoundObjBase_NS_deleteObject
/* 802C2630 002BF570 4B FF B9 C9 */ bl deleteObject__14Z2SoundObjBaseFv
/* 802C2634 002BF574 38 7F 01 64 */ addi r3, r31, 0x164
/* 802C2638 002BF578 4B FF B9 C1 */ bl Z2SoundObjBase_NS_deleteObject
/* 802C2638 002BF578 4B FF B9 C1 */ bl deleteObject__14Z2SoundObjBaseFv
/* 802C263C 002BF57C 38 7F 01 84 */ addi r3, r31, 0x184
/* 802C2640 002BF580 4B FF B9 B9 */ bl Z2SoundObjBase_NS_deleteObject
/* 802C2640 002BF580 4B FF B9 B9 */ bl deleteObject__14Z2SoundObjBaseFv
/* 802C2644 002BF584 38 7F 01 A4 */ addi r3, r31, 0x1a4
/* 802C2648 002BF588 4B FF B9 B1 */ bl Z2SoundObjBase_NS_deleteObject
/* 802C2648 002BF588 4B FF B9 B1 */ bl deleteObject__14Z2SoundObjBaseFv
/* 802C264C 002BF58C 38 7F 01 C4 */ addi r3, r31, 0x1c4
/* 802C2650 002BF590 4B FF B9 A9 */ bl Z2SoundObjBase_NS_deleteObject
/* 802C2650 002BF590 4B FF B9 A9 */ bl deleteObject__14Z2SoundObjBaseFv
/* 802C2654 002BF594 38 7F 01 E4 */ addi r3, r31, 0x1e4
/* 802C2658 002BF598 4B FF B9 A1 */ bl Z2SoundObjBase_NS_deleteObject
/* 802C2658 002BF598 4B FF B9 A1 */ bl deleteObject__14Z2SoundObjBaseFv
/* 802C265C 002BF59C 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 802C2660 002BF5A0 80 01 00 14 */ lwz r0, 0x14(r1)
/* 802C2664 002BF5A4 7C 08 03 A6 */ mtlr r0