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
+39 -2
View File
@@ -2,12 +2,17 @@
#define Z2SEMGR_H_
#include "JSystem/JAudio2/JAISe/JAISe.h"
#include "JSystem/JAudio2/JAISoundHandles/JAISoundHandles.h"
#include "Z2AudioLib/Z2Param/Z2Param.h"
#include "Z2AudioLib/Z2SeqMgr/Z2SeqMgr.h"
#include "global.h"
struct Z2MultiSeObj {
Z2MultiSeObj();
u8 unk0[28];
u32 field_0x1c;
u8 unk1[4];
};
struct Z2SeMgr {
@@ -31,6 +36,27 @@ struct Z2SeMgr {
void processSeFramework(void);
bool isLevelSe(JAISoundID);
bool isSoundCulling(JAISoundID);
JAISoundHandles sound_handles;
Z2SeMgr* se_mgr;
u32 field_0x64;
Z2MultiSeObj level_object_se[10];
u8 level_object_se_count;
u8 padding_1[3];
Z2MultiSeObj multi_trigger_se[10];
u8 multi_trigger_se_count;
u8 padding_2[3];
u8 unk0[128];
s8 unk1[12];
u8 mCrowdSize;
u8 unk2[3];
};
struct Z2MultiSeMgr {
@@ -40,6 +66,17 @@ struct Z2MultiSeMgr {
void resetMultiSePos(void);
float getPanPower(void);
float getDolbyPower(void);
u8 field_0x0;
u8 field_0x1;
u8 field_0x2;
u8 field_0x3;
f32 field_0x4;
f32 field_0x8;
f32 field_0xc;
f32 field_0x10;
f32 field_0x14;
s8 field_0x18;
};
extern "C" {
@@ -57,7 +94,7 @@ void Z2Audience_NS_calcOffMicSound(void);
void modHeightAtCamera__7Z2SeMgrFPPC3Vec(Vec const**);
void seStartLevel__7Z2SeMgrF10JAISoundIDPC3VecUlScffffUc(JAISoundID, Vec const*, u32, s8, float,
float, float, float, u8);
void JAISoundHandle_NS_releaseSound(void);
void releaseSound__14JAISoundHandleFv(void);
void seStop__7Z2SeMgrF10JAISoundIDUl(JAISoundID, u32);
void JAISeCategoryMgr_NS_stop(void);
void seMoveVolumeAll__7Z2SeMgrFfUl(float, u32);
@@ -88,7 +125,7 @@ extern float lbl_804558D4;
extern double lbl_804558E0;
extern float lbl_804558C0;
extern float lbl_8045587C;
extern float lbl_80455878;
extern float lbl_80455878; // 0.0f
extern float lbl_80455870;
extern float lbl_80455874;
extern float lbl_80455880;
@@ -1,9 +0,0 @@
/* 802AB93C 002A887C 88 83 03 CC */ lbz r4, 0x3cc(r3)
/* 802AB940 002A8880 38 04 00 01 */ addi r0, r4, 1
/* 802AB944 002A8884 98 03 03 CC */ stb r0, 0x3cc(r3)
/* 802AB948 002A8888 88 03 03 CC */ lbz r0, 0x3cc(r3)
/* 802AB94C 002A888C 28 00 00 64 */ cmplwi r0, 0x64
/* 802AB950 002A8890 4C 81 00 20 */ blelr
/* 802AB954 002A8894 38 00 00 64 */ li r0, 0x64
/* 802AB958 002A8898 98 03 03 CC */ stb r0, 0x3cc(r3)
/* 802AB95C 002A889C 4E 80 00 20 */ blr
@@ -1,9 +0,0 @@
/* 802AB960 002A88A0 88 83 03 CC */ lbz r4, 0x3cc(r3)
/* 802AB964 002A88A4 38 04 FF FF */ addi r0, r4, -1
/* 802AB968 002A88A8 98 03 03 CC */ stb r0, 0x3cc(r3)
/* 802AB96C 002A88AC 88 03 03 CC */ lbz r0, 0x3cc(r3)
/* 802AB970 002A88B0 28 00 00 64 */ cmplwi r0, 0x64
/* 802AB974 002A88B4 4C 81 00 20 */ blelr
/* 802AB978 002A88B8 38 00 00 00 */ li r0, 0
/* 802AB97C 002A88BC 98 03 03 CC */ stb r0, 0x3cc(r3)
/* 802AB980 002A88C0 4E 80 00 20 */ blr
@@ -1191,7 +1191,7 @@ lbl_802AD638:
/* 802AD64C 002AA58C 38 A0 00 06 */ li r5, 6
/* 802AD650 002AA590 57 86 04 3E */ clrlwi r6, r28, 0x10
/* 802AD654 002AA594 38 E0 FF FF */ li r7, -1
/* 802AD658 002AA598 4B FF D8 85 */ bl Z2SoundStarter_NS_setPortData
/* 802AD658 002AA598 4B FF D8 85 */ bl setPortData__14Z2SoundStarterFP14JAISoundHandleUlUsSc
lbl_802AD65C:
/* 802AD65C 002AA59C 7F A0 07 75 */ extsb. r0, r29
/* 802AD660 002AA5A0 41 82 00 40 */ beq lbl_802AD6A0
@@ -24,10 +24,10 @@ lbl_802AD8E8:
/* 802AD908 002AA848 7C 04 00 40 */ cmplw r4, r0
/* 802AD90C 002AA84C 40 82 00 18 */ bne lbl_802AD924
/* 802AD910 002AA850 7F A4 EB 78 */ mr r4, r29
/* 802AD914 002AA854 4B FF 4B C9 */ bl JAISound_NS_stop
/* 802AD914 002AA854 4B FF 4B C9 */ bl stop__8JAISoundFUl
/* 802AD918 002AA858 80 1B 00 60 */ lwz r0, 0x60(r27)
/* 802AD91C 002AA85C 7C 60 FA 14 */ add r3, r0, r31
/* 802AD920 002AA860 4B FF 48 65 */ bl JAISoundHandle_NS_releaseSound
/* 802AD920 002AA860 4B FF 48 65 */ bl releaseSound__14JAISoundHandleFv
lbl_802AD924:
/* 802AD924 002AA864 3B DE 00 01 */ addi r30, r30, 1
lbl_802AD928:
@@ -1,9 +0,0 @@
/* 802AECBC 002ABBFC 38 00 FF FF */ li r0, -1
/* 802AECC0 002ABC00 98 03 00 18 */ stb r0, 0x18(r3)
/* 802AECC4 002ABC04 C0 02 BE 78 */ lfs f0, lbl_80455878-_SDA2_BASE_(r2)
/* 802AECC8 002ABC08 D0 03 00 08 */ stfs f0, 8(r3)
/* 802AECCC 002ABC0C D0 03 00 0C */ stfs f0, 0xc(r3)
/* 802AECD0 002ABC10 D0 03 00 10 */ stfs f0, 0x10(r3)
/* 802AECD4 002ABC14 D0 03 00 14 */ stfs f0, 0x14(r3)
/* 802AECD8 002ABC18 D0 03 00 04 */ stfs f0, 4(r3)
/* 802AECDC 002ABC1C 4E 80 00 20 */ blr