Files
dusklight/include/Z2AudioLib/Z2SeqMgr/asm/func_802B4844.s
T
Erin Moon a072e71c33 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>
2021-01-21 23:16:51 -05:00

187 lines
9.7 KiB
ArmAsm

/* 802B4844 002B1784 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 802B4848 002B1788 7C 08 02 A6 */ mflr r0
/* 802B484C 002B178C 90 01 00 34 */ stw r0, 0x34(r1)
/* 802B4850 002B1790 93 E1 00 2C */ stw r31, 0x2c(r1)
/* 802B4854 002B1794 93 C1 00 28 */ stw r30, 0x28(r1)
/* 802B4858 002B1798 7C 7E 1B 78 */ mr r30, r3
/* 802B485C 002B179C 7C 9F 23 78 */ mr r31, r4
/* 802B4860 002B17A0 88 03 00 D0 */ lbz r0, 0xd0(r3)
/* 802B4864 002B17A4 54 00 E7 FF */ rlwinm. r0, r0, 0x1c, 0x1f, 0x1f
/* 802B4868 002B17A8 40 82 02 7C */ bne lbl_802B4AE4
/* 802B486C 002B17AC 80 8D 86 00 */ lwz r4, lbl_80450B80-_SDA_BASE_(r13)
/* 802B4870 002B17B0 88 04 00 1D */ lbz r0, 0x1d(r4)
/* 802B4874 002B17B4 28 00 00 00 */ cmplwi r0, 0
/* 802B4878 002B17B8 41 82 02 6C */ beq lbl_802B4AE4
/* 802B487C 002B17BC 88 9E 00 BF */ lbz r4, 0xbf(r30)
/* 802B4880 002B17C0 57 E0 06 3E */ clrlwi r0, r31, 0x18
/* 802B4884 002B17C4 7C 04 00 40 */ cmplw r4, r0
/* 802B4888 002B17C8 41 82 02 5C */ beq lbl_802B4AE4
/* 802B488C 002B17CC 28 00 00 00 */ cmplwi r0, 0
/* 802B4890 002B17D0 40 82 00 14 */ bne lbl_802B48A4
/* 802B4894 002B17D4 88 8D 82 E2 */ lbz r4, lbl_80450862-_SDA_BASE_(r13)
/* 802B4898 002B17D8 88 AD 82 E1 */ lbz r5, lbl_80450861-_SDA_BASE_(r13)
/* 802B489C 002B17DC 48 00 09 69 */ bl Z2SeqMgr_NS_stopBattleBgm
/* 802B48A0 002B17E0 48 00 02 44 */ b lbl_802B4AE4
lbl_802B48A4:
/* 802B48A4 002B17E4 80 7E 00 04 */ lwz r3, 4(r30)
/* 802B48A8 002B17E8 28 03 00 00 */ cmplwi r3, 0
/* 802B48AC 002B17EC 41 82 00 10 */ beq lbl_802B48BC
/* 802B48B0 002B17F0 80 63 00 18 */ lwz r3, 0x18(r3)
/* 802B48B4 002B17F4 90 61 00 0C */ stw r3, 0xc(r1)
/* 802B48B8 002B17F8 48 00 00 08 */ b lbl_802B48C0
lbl_802B48BC:
/* 802B48BC 002B17FC 38 60 FF FF */ li r3, -1
lbl_802B48C0:
/* 802B48C0 002B1800 3C 03 FF 00 */ addis r0, r3, 0xff00
/* 802B48C4 002B1804 28 00 00 0F */ cmplwi r0, 0xf
/* 802B48C8 002B1808 40 82 02 1C */ bne lbl_802B4AE4
/* 802B48CC 002B180C 80 7E 00 00 */ lwz r3, 0(r30)
/* 802B48D0 002B1810 28 03 00 00 */ cmplwi r3, 0
/* 802B48D4 002B1814 41 82 00 10 */ beq lbl_802B48E4
/* 802B48D8 002B1818 80 63 00 18 */ lwz r3, 0x18(r3)
/* 802B48DC 002B181C 90 61 00 08 */ stw r3, 8(r1)
/* 802B48E0 002B1820 48 00 00 08 */ b lbl_802B48E8
lbl_802B48E4:
/* 802B48E4 002B1824 38 60 FF FF */ li r3, -1
lbl_802B48E8:
/* 802B48E8 002B1828 3C 03 FF 00 */ addis r0, r3, 0xff00
/* 802B48EC 002B182C 28 00 00 00 */ cmplwi r0, 0
/* 802B48F0 002B1830 40 82 00 14 */ bne lbl_802B4904
/* 802B48F4 002B1834 80 6D 85 C8 */ lwz r3, lbl_80450B48-_SDA_BASE_(r13)
/* 802B48F8 002B1838 48 00 B8 ED */ bl isTwilightBattle__13Z2SoundObjMgrFv
/* 802B48FC 002B183C 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 802B4900 002B1840 41 82 01 E4 */ beq lbl_802B4AE4
lbl_802B4904:
/* 802B4904 002B1844 57 E0 06 3E */ clrlwi r0, r31, 0x18
/* 802B4908 002B1848 2C 00 00 03 */ cmpwi r0, 3
/* 802B490C 002B184C 41 82 01 60 */ beq lbl_802B4A6C
/* 802B4910 002B1850 40 80 01 D0 */ bge lbl_802B4AE0
/* 802B4914 002B1854 2C 00 00 02 */ cmpwi r0, 2
/* 802B4918 002B1858 40 80 00 08 */ bge lbl_802B4920
/* 802B491C 002B185C 48 00 01 C4 */ b lbl_802B4AE0
lbl_802B4920:
/* 802B4920 002B1860 88 1E 00 BF */ lbz r0, 0xbf(r30)
/* 802B4924 002B1864 28 00 00 01 */ cmplwi r0, 1
/* 802B4928 002B1868 40 82 00 BC */ bne lbl_802B49E4
/* 802B492C 002B186C 80 6D 85 F4 */ lwz r3, lbl_80450B74-_SDA_BASE_(r13)
/* 802B4930 002B1870 38 9E 00 04 */ addi r4, r30, 4
/* 802B4934 002B1874 38 A0 00 09 */ li r5, 9
/* 802B4938 002B1878 38 C0 00 01 */ li r6, 1
/* 802B493C 002B187C 38 E0 FF FF */ li r7, -1
/* 802B4940 002B1880 4B FF 65 9D */ bl setPortData__14Z2SoundStarterFP14JAISoundHandleUlUsSc
/* 802B4944 002B1884 7F C3 F3 78 */ mr r3, r30
/* 802B4948 002B1888 38 9E 00 04 */ addi r4, r30, 4
/* 802B494C 002B188C 88 AD 82 EC */ lbz r5, lbl_8045086C-_SDA_BASE_(r13)
/* 802B4950 002B1890 C0 22 BF 98 */ lfs f1, lbl_80455998-_SDA2_BASE_(r2)
/* 802B4954 002B1894 38 C0 00 00 */ li r6, 0
/* 802B4958 002B1898 C0 42 BF B4 */ lfs f2, lbl_804559B4-_SDA2_BASE_(r2)
/* 802B495C 002B189C FC 60 10 90 */ fmr f3, f2
/* 802B4960 002B18A0 4B FF F6 8D */ bl Z2SeqMgr_NS_setChildTrackVolume
/* 802B4964 002B18A4 7F C3 F3 78 */ mr r3, r30
/* 802B4968 002B18A8 38 9E 00 04 */ addi r4, r30, 4
/* 802B496C 002B18AC 38 A0 00 02 */ li r5, 2
/* 802B4970 002B18B0 C0 22 BF 98 */ lfs f1, lbl_80455998-_SDA2_BASE_(r2)
/* 802B4974 002B18B4 38 C0 00 00 */ li r6, 0
/* 802B4978 002B18B8 C0 42 BF B4 */ lfs f2, lbl_804559B4-_SDA2_BASE_(r2)
/* 802B497C 002B18BC FC 60 10 90 */ fmr f3, f2
/* 802B4980 002B18C0 4B FF F6 6D */ bl Z2SeqMgr_NS_setChildTrackVolume
/* 802B4984 002B18C4 7F C3 F3 78 */ mr r3, r30
/* 802B4988 002B18C8 38 9E 00 04 */ addi r4, r30, 4
/* 802B498C 002B18CC 38 A0 00 03 */ li r5, 3
/* 802B4990 002B18D0 C0 22 BF 98 */ lfs f1, lbl_80455998-_SDA2_BASE_(r2)
/* 802B4994 002B18D4 38 C0 00 00 */ li r6, 0
/* 802B4998 002B18D8 C0 42 BF B4 */ lfs f2, lbl_804559B4-_SDA2_BASE_(r2)
/* 802B499C 002B18DC FC 60 10 90 */ fmr f3, f2
/* 802B49A0 002B18E0 4B FF F6 4D */ bl Z2SeqMgr_NS_setChildTrackVolume
/* 802B49A4 002B18E4 7F C3 F3 78 */ mr r3, r30
/* 802B49A8 002B18E8 38 9E 00 04 */ addi r4, r30, 4
/* 802B49AC 002B18EC 38 A0 00 0C */ li r5, 0xc
/* 802B49B0 002B18F0 C0 22 BF 98 */ lfs f1, lbl_80455998-_SDA2_BASE_(r2)
/* 802B49B4 002B18F4 38 C0 00 00 */ li r6, 0
/* 802B49B8 002B18F8 C0 42 BF B4 */ lfs f2, lbl_804559B4-_SDA2_BASE_(r2)
/* 802B49BC 002B18FC FC 60 10 90 */ fmr f3, f2
/* 802B49C0 002B1900 4B FF F6 2D */ bl Z2SeqMgr_NS_setChildTrackVolume
/* 802B49C4 002B1904 7F C3 F3 78 */ mr r3, r30
/* 802B49C8 002B1908 38 9E 00 04 */ addi r4, r30, 4
/* 802B49CC 002B190C 38 A0 00 0E */ li r5, 0xe
/* 802B49D0 002B1910 C0 22 BF 98 */ lfs f1, lbl_80455998-_SDA2_BASE_(r2)
/* 802B49D4 002B1914 38 C0 00 00 */ li r6, 0
/* 802B49D8 002B1918 C0 42 BF B4 */ lfs f2, lbl_804559B4-_SDA2_BASE_(r2)
/* 802B49DC 002B191C FC 60 10 90 */ fmr f3, f2
/* 802B49E0 002B1920 4B FF F6 0D */ bl Z2SeqMgr_NS_setChildTrackVolume
lbl_802B49E4:
/* 802B49E4 002B1924 88 1E 00 C0 */ lbz r0, 0xc0(r30)
/* 802B49E8 002B1928 28 00 00 00 */ cmplwi r0, 0
/* 802B49EC 002B192C 41 82 00 F4 */ beq lbl_802B4AE0
/* 802B49F0 002B1930 38 00 00 00 */ li r0, 0
/* 802B49F4 002B1934 98 1E 00 C0 */ stb r0, 0xc0(r30)
/* 802B49F8 002B1938 80 BE 00 04 */ lwz r5, 4(r30)
/* 802B49FC 002B193C C0 05 00 24 */ lfs f0, 0x24(r5)
/* 802B4A00 002B1940 38 80 00 0A */ li r4, 0xa
/* 802B4A04 002B1944 90 85 00 30 */ stw r4, 0x30(r5)
/* 802B4A08 002B1948 C0 42 BF 98 */ lfs f2, lbl_80455998-_SDA2_BASE_(r2)
/* 802B4A0C 002B194C EC 22 00 28 */ fsubs f1, f2, f0
/* 802B4A10 002B1950 80 05 00 30 */ lwz r0, 0x30(r5)
/* 802B4A14 002B1954 C8 62 BF A8 */ lfd f3, lbl_804559A8-_SDA2_BASE_(r2)
/* 802B4A18 002B1958 90 01 00 14 */ stw r0, 0x14(r1)
/* 802B4A1C 002B195C 3C 60 43 30 */ lis r3, 0x4330
/* 802B4A20 002B1960 90 61 00 10 */ stw r3, 0x10(r1)
/* 802B4A24 002B1964 C8 01 00 10 */ lfd f0, 0x10(r1)
/* 802B4A28 002B1968 EC 00 18 28 */ fsubs f0, f0, f3
/* 802B4A2C 002B196C EC 01 00 24 */ fdivs f0, f1, f0
/* 802B4A30 002B1970 D0 05 00 28 */ stfs f0, 0x28(r5)
/* 802B4A34 002B1974 D0 45 00 2C */ stfs f2, 0x2c(r5)
/* 802B4A38 002B1978 C0 1E 00 14 */ lfs f0, 0x14(r30)
/* 802B4A3C 002B197C 90 9E 00 20 */ stw r4, 0x20(r30)
/* 802B4A40 002B1980 C0 42 BF 9C */ lfs f2, lbl_8045599C-_SDA2_BASE_(r2)
/* 802B4A44 002B1984 EC 22 00 28 */ fsubs f1, f2, f0
/* 802B4A48 002B1988 80 1E 00 20 */ lwz r0, 0x20(r30)
/* 802B4A4C 002B198C 90 01 00 1C */ stw r0, 0x1c(r1)
/* 802B4A50 002B1990 90 61 00 18 */ stw r3, 0x18(r1)
/* 802B4A54 002B1994 C8 01 00 18 */ lfd f0, 0x18(r1)
/* 802B4A58 002B1998 EC 00 18 28 */ fsubs f0, f0, f3
/* 802B4A5C 002B199C EC 01 00 24 */ fdivs f0, f1, f0
/* 802B4A60 002B19A0 D0 1E 00 18 */ stfs f0, 0x18(r30)
/* 802B4A64 002B19A4 D0 5E 00 1C */ stfs f2, 0x1c(r30)
/* 802B4A68 002B19A8 48 00 00 78 */ b lbl_802B4AE0
lbl_802B4A6C:
/* 802B4A6C 002B19AC C0 22 BF 9C */ lfs f1, lbl_8045599C-_SDA2_BASE_(r2)
/* 802B4A70 002B19B0 D0 3E 00 14 */ stfs f1, 0x14(r30)
/* 802B4A74 002B19B4 D0 3E 00 18 */ stfs f1, 0x18(r30)
/* 802B4A78 002B19B8 38 00 00 00 */ li r0, 0
/* 802B4A7C 002B19BC 90 1E 00 20 */ stw r0, 0x20(r30)
/* 802B4A80 002B19C0 D0 3E 00 1C */ stfs f1, 0x1c(r30)
/* 802B4A84 002B19C4 C0 02 BF 98 */ lfs f0, lbl_80455998-_SDA2_BASE_(r2)
/* 802B4A88 002B19C8 D0 1E 00 24 */ stfs f0, 0x24(r30)
/* 802B4A8C 002B19CC D0 3E 00 28 */ stfs f1, 0x28(r30)
/* 802B4A90 002B19D0 90 1E 00 30 */ stw r0, 0x30(r30)
/* 802B4A94 002B19D4 D0 3E 00 2C */ stfs f1, 0x2c(r30)
/* 802B4A98 002B19D8 88 1E 00 BF */ lbz r0, 0xbf(r30)
/* 802B4A9C 002B19DC 28 00 00 01 */ cmplwi r0, 1
/* 802B4AA0 002B19E0 40 82 00 20 */ bne lbl_802B4AC0
/* 802B4AA4 002B19E4 80 6D 85 F4 */ lwz r3, lbl_80450B74-_SDA_BASE_(r13)
/* 802B4AA8 002B19E8 38 9E 00 04 */ addi r4, r30, 4
/* 802B4AAC 002B19EC 38 A0 00 09 */ li r5, 9
/* 802B4AB0 002B19F0 38 C0 00 03 */ li r6, 3
/* 802B4AB4 002B19F4 38 E0 FF FF */ li r7, -1
/* 802B4AB8 002B19F8 4B FF 64 25 */ bl setPortData__14Z2SoundStarterFP14JAISoundHandleUlUsSc
/* 802B4ABC 002B19FC 48 00 00 24 */ b lbl_802B4AE0
lbl_802B4AC0:
/* 802B4AC0 002B1A00 28 00 00 02 */ cmplwi r0, 2
/* 802B4AC4 002B1A04 40 82 00 1C */ bne lbl_802B4AE0
/* 802B4AC8 002B1A08 80 6D 85 F4 */ lwz r3, lbl_80450B74-_SDA_BASE_(r13)
/* 802B4ACC 002B1A0C 38 9E 00 04 */ addi r4, r30, 4
/* 802B4AD0 002B1A10 38 A0 00 09 */ li r5, 9
/* 802B4AD4 002B1A14 38 C0 00 02 */ li r6, 2
/* 802B4AD8 002B1A18 38 E0 FF FF */ li r7, -1
/* 802B4ADC 002B1A1C 4B FF 64 01 */ bl setPortData__14Z2SoundStarterFP14JAISoundHandleUlUsSc
lbl_802B4AE0:
/* 802B4AE0 002B1A20 9B FE 00 BF */ stb r31, 0xbf(r30)
lbl_802B4AE4:
/* 802B4AE4 002B1A24 83 E1 00 2C */ lwz r31, 0x2c(r1)
/* 802B4AE8 002B1A28 83 C1 00 28 */ lwz r30, 0x28(r1)
/* 802B4AEC 002B1A2C 80 01 00 34 */ lwz r0, 0x34(r1)
/* 802B4AF0 002B1A30 7C 08 03 A6 */ mtlr r0
/* 802B4AF4 002B1A34 38 21 00 30 */ addi r1, r1, 0x30
/* 802B4AF8 002B1A38 4E 80 00 20 */ blr