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 23:16:51 -05:00
committed by GitHub
co-authored by Pheenoh notyourav
parent afb426c60c
commit a072e71c33
595 changed files with 1228 additions and 9009 deletions
+5
View File
@@ -14,6 +14,11 @@ jobs:
uses: actions/checkout@v1
with:
token: ${{secrets.MY_REPO_PAT}}
- name: setup python
uses: actions/setup-python@v2
with:
python-version: '3.x'
architecture: 'x64'
- name: Copy in dol and compilers
run: cp /tmp/baserom.dol ./baserom.dol && cp -r /tmp/mwcc_compiler/ tools/mwcc_compiler && chown root /github/home/
- name: Run Make (OK)
+1 -5
View File
@@ -84,9 +84,6 @@ LDFLAGS := -map $(MAP) -fp hard -nodefaults -w off
# Compiler flags
CFLAGS += -Cpp_exceptions off -proc gekko -fp hard -O3 -nodefaults -msgstyle gcc -enum int $(INCLUDES)
# for postprocess.py
PROCFLAGS := -fprologue-fixup=old_stack
# elf2dol needs to know these in order to calculate sbss correctly.
SDATA_PDHR := 9
SBSS_PDHR := 10
@@ -138,8 +135,7 @@ $(BUILD_DIR)/%.o: %.c
$(BUILD_DIR)/%.o: %.cpp
$(CC) $(CFLAGS) -c -o $@ $<
# TODO: See if this is necessary after actually adding some C code
# $(PYTHON) $(POSTPROC) $(PROCFLAGS) $@
$(PYTHON) $(POSTPROC) -fsymbol-fixup $@
### Debug Print ###
+5 -5
View File
@@ -72,7 +72,7 @@ lbl_8029F97C:
/* 8029F97C 0029C8BC 54 00 06 3F */ clrlwi. r0, r0, 0x18
/* 8029F980 0029C8C0 41 82 00 10 */ beq lbl_8029F990
/* 8029F984 0029C8C4 38 64 00 10 */ addi r3, r4, 0x10
/* 8029F988 0029C8C8 48 00 2C 11 */ bl JAISound_NS_stop_X1_
/* 8029F988 0029C8C8 48 00 2C 11 */ bl stop__8JAISoundFv
/* 8029F98C 0029C8CC 38 A0 00 01 */ li r5, 1
lbl_8029F990:
/* 8029F990 0029C8D0 83 BD 00 0C */ lwz r29, 0xc(r29)
@@ -417,7 +417,7 @@ lbl_8029FE00:
/* 8029FE00 0029CD40 80 7F 00 00 */ lwz r3, 0(r31)
/* 8029FE04 0029CD44 38 63 00 10 */ addi r3, r3, 0x10
/* 8029FE08 0029CD48 7F C4 F3 78 */ mr r4, r30
/* 8029FE0C 0029CD4C 48 00 26 D1 */ bl JAISound_NS_stop
/* 8029FE0C 0029CD4C 48 00 26 D1 */ bl stop__8JAISoundFUl
/* 8029FE10 0029CD50 83 FF 00 0C */ lwz r31, 0xc(r31)
lbl_8029FE14:
/* 8029FE14 0029CD54 28 1F 00 00 */ cmplwi r31, 0
@@ -440,7 +440,7 @@ JAISeCategoryMgr_NS_stop_X1_:
lbl_8029FE4C:
/* 8029FE4C 0029CD8C 80 7F 00 00 */ lwz r3, 0(r31)
/* 8029FE50 0029CD90 38 63 00 10 */ addi r3, r3, 0x10
/* 8029FE54 0029CD94 48 00 27 45 */ bl JAISound_NS_stop_X1_
/* 8029FE54 0029CD94 48 00 27 45 */ bl stop__8JAISoundFv
/* 8029FE58 0029CD98 83 FF 00 0C */ lwz r31, 0xc(r31)
lbl_8029FE5C:
/* 8029FE5C 0029CD9C 28 1F 00 00 */ cmplwi r31, 0
@@ -473,7 +473,7 @@ lbl_8029FEA8:
/* 8029FEB8 0029CDF8 7C 03 00 40 */ cmplw r3, r0
/* 8029FEBC 0029CDFC 40 82 00 0C */ bne lbl_8029FEC8
/* 8029FEC0 0029CE00 38 64 00 10 */ addi r3, r4, 0x10
/* 8029FEC4 0029CE04 48 00 26 D5 */ bl JAISound_NS_stop_X1_
/* 8029FEC4 0029CE04 48 00 26 D5 */ bl stop__8JAISoundFv
lbl_8029FEC8:
/* 8029FEC8 0029CE08 83 FF 00 0C */ lwz r31, 0xc(r31)
lbl_8029FECC:
@@ -1134,7 +1134,7 @@ JAISeMgr_NS_startSound:
/* 802A0790 0029D6D0 80 7E 00 00 */ lwz r3, 0(r30)
/* 802A0794 0029D6D4 28 03 00 00 */ cmplwi r3, 0
/* 802A0798 0029D6D8 41 82 00 08 */ beq lbl_802A07A0
/* 802A079C 0029D6DC 48 00 1D FD */ bl JAISound_NS_stop_X1_
/* 802A079C 0029D6DC 48 00 1D FD */ bl stop__8JAISoundFv
lbl_802A07A0:
/* 802A07A0 0029D6E0 83 6D 85 DC */ lwz r27, lbl_80450B5C-_SDA_BASE_(r13)
/* 802A07A4 0029D6E4 28 1B 00 00 */ cmplwi r27, 0
+5 -5
View File
@@ -66,7 +66,7 @@ lbl_802A18CC:
lbl_802A18D0:
/* 802A18D0 0029E810 54 00 06 3F */ clrlwi. r0, r0, 0x18
/* 802A18D4 0029E814 41 82 00 0C */ beq lbl_802A18E0
/* 802A18D8 0029E818 48 00 0C C1 */ bl JAISound_NS_stop_X1_
/* 802A18D8 0029E818 48 00 0C C1 */ bl stop__8JAISoundFv
/* 802A18DC 0029E81C 38 A0 00 01 */ li r5, 1
lbl_802A18E0:
/* 802A18E0 0029E820 83 BD 00 0C */ lwz r29, 0xc(r29)
@@ -259,7 +259,7 @@ JAISeqMgr_NS_startSound:
/* 802A1B70 0029EAB0 80 7B 00 00 */ lwz r3, 0(r27)
/* 802A1B74 0029EAB4 28 03 00 00 */ cmplwi r3, 0
/* 802A1B78 0029EAB8 41 82 00 08 */ beq lbl_802A1B80
/* 802A1B7C 0029EABC 48 00 0A 1D */ bl JAISound_NS_stop_X1_
/* 802A1B7C 0029EABC 48 00 0A 1D */ bl stop__8JAISoundFv
lbl_802A1B80:
/* 802A1B80 0029EAC0 83 CD 85 DC */ lwz r30, lbl_80450B5C-_SDA_BASE_(r13)
/* 802A1B84 0029EAC4 28 1E 00 00 */ cmplwi r30, 0
@@ -452,7 +452,7 @@ JAISeqMgr_NS_stop:
/* 802A1E10 0029ED50 48 00 00 10 */ b lbl_802A1E20
lbl_802A1E14:
/* 802A1E14 0029ED54 80 7F 00 00 */ lwz r3, 0(r31)
/* 802A1E18 0029ED58 48 00 07 81 */ bl JAISound_NS_stop_X1_
/* 802A1E18 0029ED58 48 00 07 81 */ bl stop__8JAISoundFv
/* 802A1E1C 0029ED5C 83 FF 00 0C */ lwz r31, 0xc(r31)
lbl_802A1E20:
/* 802A1E20 0029ED60 28 1F 00 00 */ cmplwi r31, 0
@@ -476,7 +476,7 @@ JAISeqMgr_NS_stop_X1_:
lbl_802A1E5C:
/* 802A1E5C 0029ED9C 80 7F 00 00 */ lwz r3, 0(r31)
/* 802A1E60 0029EDA0 7F C4 F3 78 */ mr r4, r30
/* 802A1E64 0029EDA4 48 00 06 79 */ bl JAISound_NS_stop
/* 802A1E64 0029EDA4 48 00 06 79 */ bl stop__8JAISoundFUl
/* 802A1E68 0029EDA8 83 FF 00 0C */ lwz r31, 0xc(r31)
lbl_802A1E6C:
/* 802A1E6C 0029EDAC 28 1F 00 00 */ cmplwi r31, 0
@@ -509,7 +509,7 @@ lbl_802A1EBC:
/* 802A1EC8 0029EE08 80 1E 00 00 */ lwz r0, 0(r30)
/* 802A1ECC 0029EE0C 7C 04 00 40 */ cmplw r4, r0
/* 802A1ED0 0029EE10 40 82 00 08 */ bne lbl_802A1ED8
/* 802A1ED4 0029EE14 48 00 06 C5 */ bl JAISound_NS_stop_X1_
/* 802A1ED4 0029EE14 48 00 06 C5 */ bl stop__8JAISoundFv
lbl_802A1ED8:
/* 802A1ED8 0029EE18 83 FF 00 0C */ lwz r31, 0xc(r31)
lbl_802A1EDC:
+8 -8
View File
@@ -3,8 +3,8 @@
.section .text, "ax" # 802a2184
.global JAISoundHandle_NS_releaseSound
JAISoundHandle_NS_releaseSound:
.global releaseSound__14JAISoundHandleFv
releaseSound__14JAISoundHandleFv:
/* 802A2184 0029F0C4 80 83 00 00 */ lwz r4, 0(r3)
/* 802A2188 0029F0C8 28 04 00 00 */ cmplwi r4, 0
/* 802A218C 0029F0CC 4D 82 00 20 */ beqlr
@@ -35,7 +35,7 @@ JAISound_NS_attachHandle:
/* 802A21D8 0029F118 80 64 00 00 */ lwz r3, 0(r4)
/* 802A21DC 0029F11C 28 03 00 00 */ cmplwi r3, 0
/* 802A21E0 0029F120 41 82 00 08 */ beq lbl_802A21E8
/* 802A21E4 0029F124 48 00 03 B5 */ bl JAISound_NS_stop_X1_
/* 802A21E4 0029F124 48 00 03 B5 */ bl stop__8JAISoundFv
lbl_802A21E8:
/* 802A21E8 0029F128 80 1E 00 04 */ lwz r0, 4(r30)
/* 802A21EC 0029F12C 28 00 00 00 */ cmplwi r0, 0
@@ -256,14 +256,14 @@ lbl_802A249C:
/* 802A24D4 0029F414 38 21 00 20 */ addi r1, r1, 0x20
/* 802A24D8 0029F418 4E 80 00 20 */ blr
.global JAISound_NS_stop
JAISound_NS_stop:
.global stop__8JAISoundFUl
stop__8JAISoundFUl:
/* 802A24DC 0029F41C 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 802A24E0 0029F420 7C 08 02 A6 */ mflr r0
/* 802A24E4 0029F424 90 01 00 14 */ stw r0, 0x14(r1)
/* 802A24E8 0029F428 28 04 00 00 */ cmplwi r4, 0
/* 802A24EC 0029F42C 40 82 00 0C */ bne lbl_802A24F8
/* 802A24F0 0029F430 48 00 00 A9 */ bl JAISound_NS_stop_X1_
/* 802A24F0 0029F430 48 00 00 A9 */ bl stop__8JAISoundFv
/* 802A24F4 0029F434 48 00 00 94 */ b lbl_802A2588
lbl_802A24F8:
/* 802A24F8 0029F438 41 82 00 40 */ beq lbl_802A2538
@@ -310,8 +310,8 @@ lbl_802A2588:
/* 802A2590 0029F4D0 38 21 00 10 */ addi r1, r1, 0x10
/* 802A2594 0029F4D4 4E 80 00 20 */ blr
.global JAISound_NS_stop_X1_
JAISound_NS_stop_X1_:
.global stop__8JAISoundFv
stop__8JAISoundFv:
/* 802A2598 0029F4D8 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 802A259C 0029F4DC 7C 08 02 A6 */ mflr r0
/* 802A25A0 0029F4E0 90 01 00 14 */ stw r0, 0x14(r1)
+4 -4
View File
@@ -75,7 +75,7 @@ JAIStreamMgr_NS_startSound:
/* 802A3C64 002A0BA4 80 7B 00 00 */ lwz r3, 0(r27)
/* 802A3C68 002A0BA8 28 03 00 00 */ cmplwi r3, 0
/* 802A3C6C 002A0BAC 41 82 00 08 */ beq lbl_802A3C74
/* 802A3C70 002A0BB0 4B FF E9 29 */ bl JAISound_NS_stop_X1_
/* 802A3C70 002A0BB0 4B FF E9 29 */ bl stop__8JAISoundFv
lbl_802A3C74:
/* 802A3C74 002A0BB4 80 1A 00 00 */ lwz r0, 0(r26)
/* 802A3C78 002A0BB8 90 01 00 14 */ stw r0, 0x14(r1)
@@ -360,7 +360,7 @@ JAIStreamMgr_NS_stop:
/* 802A403C 002A0F7C 48 00 00 10 */ b lbl_802A404C
lbl_802A4040:
/* 802A4040 002A0F80 80 7F 00 00 */ lwz r3, 0(r31)
/* 802A4044 002A0F84 4B FF E5 55 */ bl JAISound_NS_stop_X1_
/* 802A4044 002A0F84 4B FF E5 55 */ bl stop__8JAISoundFv
/* 802A4048 002A0F88 83 FF 00 0C */ lwz r31, 0xc(r31)
lbl_802A404C:
/* 802A404C 002A0F8C 28 1F 00 00 */ cmplwi r31, 0
@@ -384,7 +384,7 @@ JAIStreamMgr_NS_stop_X1_:
lbl_802A4088:
/* 802A4088 002A0FC8 80 7F 00 00 */ lwz r3, 0(r31)
/* 802A408C 002A0FCC 7F C4 F3 78 */ mr r4, r30
/* 802A4090 002A0FD0 4B FF E4 4D */ bl JAISound_NS_stop
/* 802A4090 002A0FD0 4B FF E4 4D */ bl stop__8JAISoundFUl
/* 802A4094 002A0FD4 83 FF 00 0C */ lwz r31, 0xc(r31)
lbl_802A4098:
/* 802A4098 002A0FD8 28 1F 00 00 */ cmplwi r31, 0
@@ -413,7 +413,7 @@ lbl_802A40D8:
/* 802A40E4 002A1024 80 1E 00 00 */ lwz r0, 0(r30)
/* 802A40E8 002A1028 7C 04 00 40 */ cmplw r4, r0
/* 802A40EC 002A102C 40 82 00 08 */ bne lbl_802A40F4
/* 802A40F0 002A1030 4B FF E4 A9 */ bl JAISound_NS_stop_X1_
/* 802A40F0 002A1030 4B FF E4 A9 */ bl stop__8JAISoundFv
lbl_802A40F4:
/* 802A40F4 002A1034 83 FF 00 0C */ lwz r31, 0xc(r31)
lbl_802A40F8:
+6 -6
View File
@@ -151,22 +151,22 @@ JStudio_JAudio2_NS_TAdaptor_sound:
/* 8028D92C 0028A86C 88 1E 01 1F */ lbz r0, 0x11f(r30)
/* 8028D930 0028A870 28 00 00 00 */ cmplwi r0, 0
/* 8028D934 0028A874 40 82 00 0C */ bne lbl_8028D940
/* 8028D938 0028A878 48 01 4C 61 */ bl JAISound_NS_stop_X1_
/* 8028D938 0028A878 48 01 4C 61 */ bl stop__8JAISoundFv
/* 8028D93C 0028A87C 48 00 00 20 */ b lbl_8028D95C
lbl_8028D940:
/* 8028D940 0028A880 88 1E 01 1C */ lbz r0, 0x11c(r30)
/* 8028D944 0028A884 28 00 00 00 */ cmplwi r0, 0
/* 8028D948 0028A888 41 82 00 10 */ beq lbl_8028D958
/* 8028D94C 0028A88C 38 7E 01 18 */ addi r3, r30, 0x118
/* 8028D950 0028A890 48 01 48 35 */ bl JAISoundHandle_NS_releaseSound
/* 8028D950 0028A890 48 01 48 35 */ bl releaseSound__14JAISoundHandleFv
/* 8028D954 0028A894 48 00 00 08 */ b lbl_8028D95C
lbl_8028D958:
/* 8028D958 0028A898 48 01 4C 41 */ bl JAISound_NS_stop_X1_
/* 8028D958 0028A898 48 01 4C 41 */ bl stop__8JAISoundFv
lbl_8028D95C:
/* 8028D95C 0028A89C 34 1E 01 18 */ addic. r0, r30, 0x118
/* 8028D960 0028A8A0 41 82 00 0C */ beq lbl_8028D96C
/* 8028D964 0028A8A4 38 7E 01 18 */ addi r3, r30, 0x118
/* 8028D968 0028A8A8 48 01 48 1D */ bl JAISoundHandle_NS_releaseSound
/* 8028D968 0028A8A8 48 01 48 1D */ bl releaseSound__14JAISoundHandleFv
lbl_8028D96C:
/* 8028D96C 0028A8AC 7F C3 F3 78 */ mr r3, r30
/* 8028D970 0028A8B0 38 80 00 00 */ li r4, 0
@@ -570,7 +570,7 @@ JStudio_JAudio2_NS_TAdaptor_sound_NS_prepareSound_:
/* 8028DF18 0028AE58 80 63 01 18 */ lwz r3, 0x118(r3)
/* 8028DF1C 0028AE5C 28 03 00 00 */ cmplwi r3, 0
/* 8028DF20 0028AE60 41 82 00 08 */ beq lbl_8028DF28
/* 8028DF24 0028AE64 48 01 46 75 */ bl JAISound_NS_stop_X1_
/* 8028DF24 0028AE64 48 01 46 75 */ bl stop__8JAISoundFv
lbl_8028DF28:
/* 8028DF28 0028AE68 80 7F 01 14 */ lwz r3, 0x114(r31)
/* 8028DF2C 0028AE6C 80 63 00 0C */ lwz r3, 0xc(r3)
@@ -667,7 +667,7 @@ JStudio_JAudio2_NS_TAdaptor_sound_NS_endSound_fadeOut_:
/* 8028E068 0028AFA8 80 63 01 18 */ lwz r3, 0x118(r3)
/* 8028E06C 0028AFAC 28 03 00 00 */ cmplwi r3, 0
/* 8028E070 0028AFB0 41 82 00 10 */ beq lbl_8028E080
/* 8028E074 0028AFB4 48 01 44 69 */ bl JAISound_NS_stop
/* 8028E074 0028AFB4 48 01 44 69 */ bl stop__8JAISoundFUl
/* 8028E078 0028AFB8 38 00 00 00 */ li r0, 0
/* 8028E07C 0028AFBC 98 1F 01 20 */ stb r0, 0x120(r31)
lbl_8028E080:
+3 -3
View File
@@ -16481,7 +16481,7 @@ lbl_8036F930:
/* 8036F934 0036C874 60 42 32 44 */ ori r2, r2, lbl_803D3244@l
/* 8036F938 0036C878 38 60 00 00 */ li r3, 0
/* 8036F93C 0036C87C 98 62 00 0C */ stb r3, 0xc(r2)
/* 8036F940 0036C880 48 00 1A 69 */ bl func_803713A8
/* 8036F940 0036C880 48 00 1A 69 */ bl TRKRestoreExtended1Block
/* 8036F944 0036C884 3C 40 80 44 */ lis r2, lbl_8044F338@h
/* 8036F948 0036C888 60 42 F3 38 */ ori r2, r2, lbl_8044F338@l
/* 8036F94C 0036C88C BB 62 00 80 */ lmw r27, 0x80(r2)
@@ -18352,8 +18352,8 @@ lbl_80371340:
/* 803713A0 0036E2E0 93 E2 02 78 */ stw r31, 0x278(r2)
/* 803713A4 0036E2E4 4E 80 00 20 */ blr
.global func_803713A8
func_803713A8:
.global TRKRestoreExtended1Block
TRKRestoreExtended1Block:
/* 803713A8 0036E2E8 3C 40 80 44 */ lis r2, lbl_8044F338@h
/* 803713AC 0036E2EC 60 42 F3 38 */ ori r2, r2, lbl_8044F338@l
/* 803713B0 0036E2F0 3C A0 80 3D */ lis r5, lbl_803D3238@h
+1 -1
View File
@@ -9966,7 +9966,7 @@ daBaseNpc_c:
/* 8014E718 0014B658 38 7E 00 14 */ addi r3, r30, 0x14
/* 8014E71C 0014B65C 4B F2 A7 4D */ bl dBgS_PolyPassChk_NS_SetObj
/* 8014E720 0014B660 38 7F 07 58 */ addi r3, r31, 0x758
/* 8014E724 0014B664 48 17 1C A5 */ bl Z2Creature
/* 8014E724 0014B664 48 17 1C A5 */ bl __ct__10Z2CreatureFv
/* 8014E728 0014B668 3B DF 07 EC */ addi r30, r31, 0x7ec
/* 8014E72C 0014B66C 3C 60 80 3A */ lis r3, lbl_803A3354@ha
/* 8014E730 0014B670 38 03 33 54 */ addi r0, r3, lbl_803A3354@l
+2 -2
View File
@@ -902,7 +902,7 @@ Z2SoundObjSimple_NS_dtor:
/* 8015BA60 001589A0 38 04 AD 10 */ addi r0, r4, lbl_803CAD10@l
/* 8015BA64 001589A4 90 1E 00 10 */ stw r0, 0x10(r30)
/* 8015BA68 001589A8 38 80 00 00 */ li r4, 0
/* 8015BA6C 001589AC 48 16 24 DD */ bl Z2SoundObjBase_NS_dtor
/* 8015BA6C 001589AC 48 16 24 DD */ bl __dt__14Z2SoundObjBaseFv
/* 8015BA70 001589B0 7F E0 07 35 */ extsh. r0, r31
/* 8015BA74 001589B4 40 81 00 0C */ ble lbl_8015BA80
/* 8015BA78 001589B8 7F C3 F3 78 */ mr r3, r30
@@ -1153,7 +1153,7 @@ daItem_c_NS__daItem_delete:
/* 8015BDF4 00158D34 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8015BDF8 00158D38 7C 7F 1B 78 */ mr r31, r3
/* 8015BDFC 00158D3C 38 7F 09 78 */ addi r3, r31, 0x978
/* 8015BE00 00158D40 48 16 21 F9 */ bl Z2SoundObjBase_NS_deleteObject
/* 8015BE00 00158D40 48 16 21 F9 */ bl deleteObject__14Z2SoundObjBaseFv
/* 8015BE04 00158D44 88 1F 09 2A */ lbz r0, 0x92a(r31)
/* 8015BE08 00158D48 28 00 00 06 */ cmplwi r0, 6
/* 8015BE0C 00158D4C 41 82 00 0C */ beq lbl_8015BE18
+8 -8
View File
@@ -910,7 +910,7 @@ lbl_802415B4:
/* 80241720 0023E660 41 80 00 28 */ blt lbl_80241748
/* 80241724 0023E664 80 7D 5D B4 */ lwz r3, 0x5db4(r29)
/* 80241728 0023E668 38 63 2D 84 */ addi r3, r3, 0x2d84
/* 8024172C 0023E66C 48 08 9C 45 */ bl Z2WolfHowlMgr_NS_getCorrectLineNum
/* 8024172C 0023E66C 48 08 9C 45 */ bl getCorrectLineNum__13Z2WolfHowlMgrFv
/* 80241730 0023E670 98 7F 21 96 */ stb r3, 0x2196(r31)
/* 80241734 0023E674 38 00 00 1E */ li r0, 0x1e
/* 80241738 0023E678 98 1F 21 97 */ stb r0, 0x2197(r31)
@@ -1427,7 +1427,7 @@ lbl_80241E64:
/* 80241EA4 0023EDE4 81 8C 02 98 */ lwz r12, 0x298(r12)
/* 80241EA8 0023EDE8 7D 89 03 A6 */ mtctr r12
/* 80241EAC 0023EDEC 4E 80 04 21 */ bctrl
/* 80241EB0 0023EDF0 48 08 8E 1D */ bl Z2WolfHowlMgr_NS_getNowInputValue
/* 80241EB0 0023EDF0 48 08 8E 1D */ bl getNowInputValue__13Z2WolfHowlMgrFv
/* 80241EB4 0023EDF4 FC 20 08 50 */ fneg f1, f1
/* 80241EB8 0023EDF8 7F E3 FB 78 */ mr r3, r31
/* 80241EBC 0023EDFC 48 00 20 D9 */ bl dMsgScrnHowl_c_NS_getNowPlotPitch
@@ -1499,7 +1499,7 @@ lbl_80241FA0:
/* 80241FB4 0023EEF4 7D 89 03 A6 */ mtctr r12
/* 80241FB8 0023EEF8 4E 80 04 21 */ bctrl
/* 80241FBC 0023EEFC 7F C4 F3 78 */ mr r4, r30
/* 80241FC0 0023EF00 48 08 9A C9 */ bl Z2WolfHowlMgr_NS_startGuideMelody
/* 80241FC0 0023EF00 48 08 9A C9 */ bl startGuideMelody__13Z2WolfHowlMgrFb
/* 80241FC4 0023EF04 90 7F 01 7C */ stw r3, 0x17c(r31)
/* 80241FC8 0023EF08 A8 1F 21 2A */ lha r0, 0x212a(r31)
/* 80241FCC 0023EF0C 2C 00 00 1E */ cmpwi r0, 0x1e
@@ -3231,7 +3231,7 @@ lbl_80243964:
/* 80243974 002408B4 3B C3 61 C0 */ addi r30, r3, g_dComIfG_gameInfo@l
/* 80243978 002408B8 80 7E 5D B4 */ lwz r3, 0x5db4(r30)
/* 8024397C 002408BC 38 63 2D 84 */ addi r3, r3, 0x2d84
/* 80243980 002408C0 48 08 7C D1 */ bl Z2WolfHowlMgr_NS_getOnLineNum
/* 80243980 002408C0 48 08 7C D1 */ bl getOnLineNum__13Z2WolfHowlMgrFv
/* 80243984 002408C4 7C 60 07 75 */ extsb. r0, r3
/* 80243988 002408C8 41 80 00 48 */ blt lbl_802439D0
/* 8024398C 002408CC A8 1F 21 2A */ lha r0, 0x212a(r31)
@@ -3264,7 +3264,7 @@ lbl_802439E0:
/* 802439F0 00240930 81 8C 02 98 */ lwz r12, 0x298(r12)
/* 802439F4 00240934 7D 89 03 A6 */ mtctr r12
/* 802439F8 00240938 4E 80 04 21 */ bctrl
/* 802439FC 0024093C 48 08 72 D1 */ bl Z2WolfHowlMgr_NS_getNowInputValue
/* 802439FC 0024093C 48 08 72 D1 */ bl getNowInputValue__13Z2WolfHowlMgrFv
/* 80243A00 00240940 FC 20 08 50 */ fneg f1, f1
/* 80243A04 00240944 7F E3 FB 78 */ mr r3, r31
/* 80243A08 00240948 48 00 05 8D */ bl dMsgScrnHowl_c_NS_getNowPlotPitch
@@ -3921,7 +3921,7 @@ lbl_80244330:
/* 80244330 00241270 80 7F 5D B4 */ lwz r3, 0x5db4(r31)
/* 80244334 00241274 38 63 2D 84 */ addi r3, r3, 0x2d84
/* 80244338 00241278 57 A4 06 3E */ clrlwi r4, r29, 0x18
/* 8024433C 0024127C 48 08 6F E5 */ bl Z2WolfHowlMgr_NS_getCorrectLine
/* 8024433C 0024127C 48 08 6F E5 */ bl getCorrectLine__13Z2WolfHowlMgrFUc
/* 80244340 00241280 54 60 84 3E */ srwi r0, r3, 0x10
/* 80244344 00241284 B0 01 00 08 */ sth r0, 8(r1)
/* 80244348 00241288 B0 01 00 0C */ sth r0, 0xc(r1)
@@ -3963,7 +3963,7 @@ lbl_802443C4:
/* 802443C4 00241304 80 7F 5D B4 */ lwz r3, 0x5db4(r31)
/* 802443C8 00241308 38 63 2D 84 */ addi r3, r3, 0x2d84
/* 802443CC 0024130C 57 84 06 3E */ clrlwi r4, r28, 0x18
/* 802443D0 00241310 48 08 6F 51 */ bl Z2WolfHowlMgr_NS_getCorrectLine
/* 802443D0 00241310 48 08 6F 51 */ bl getCorrectLine__13Z2WolfHowlMgrFUc
/* 802443D4 00241314 54 60 84 3E */ srwi r0, r3, 0x10
/* 802443D8 00241318 B0 01 00 0C */ sth r0, 0xc(r1)
/* 802443DC 0024131C B0 01 00 14 */ sth r0, 0x14(r1)
@@ -3978,7 +3978,7 @@ lbl_802443C4:
/* 80244400 00241340 80 7F 5D B4 */ lwz r3, 0x5db4(r31)
/* 80244404 00241344 38 63 2D 84 */ addi r3, r3, 0x2d84
/* 80244408 00241348 57 84 06 3E */ clrlwi r4, r28, 0x18
/* 8024440C 0024134C 48 08 6F 15 */ bl Z2WolfHowlMgr_NS_getCorrectLine
/* 8024440C 0024134C 48 08 6F 15 */ bl getCorrectLine__13Z2WolfHowlMgrFUc
/* 80244410 00241350 54 60 84 3E */ srwi r0, r3, 0x10
/* 80244414 00241354 B0 01 00 08 */ sth r0, 8(r1)
/* 80244418 00241358 B0 01 00 10 */ sth r0, 0x10(r1)
+7 -7
View File
@@ -362,12 +362,12 @@ lbl_80007474:
lbl_8000747C:
/* 8000747C 000043BC 34 7E 0F 30 */ addic. r3, r30, 0xf30
/* 80007480 000043C0 41 82 00 08 */ beq lbl_80007488
/* 80007484 000043C4 48 29 AD 01 */ bl JAISoundHandle_NS_releaseSound
/* 80007484 000043C4 48 29 AD 01 */ bl releaseSound__14JAISoundHandleFv
lbl_80007488:
/* 80007488 000043C8 34 1E 0F 2C */ addic. r0, r30, 0xf2c
/* 8000748C 000043CC 41 82 00 0C */ beq lbl_80007498
/* 80007490 000043D0 38 7E 0F 2C */ addi r3, r30, 0xf2c
/* 80007494 000043D4 48 29 AC F1 */ bl JAISoundHandle_NS_releaseSound
/* 80007494 000043D4 48 29 AC F1 */ bl releaseSound__14JAISoundHandleFv
lbl_80007498:
/* 80007498 000043D8 34 1E 0F 2C */ addic. r0, r30, 0xf2c
/* 8000749C 000043DC 41 82 00 1C */ beq lbl_800074B8
@@ -564,20 +564,20 @@ lbl_80007744:
/* 80007748 00004688 41 82 00 58 */ beq lbl_800077A0
/* 8000774C 0000468C 34 7E 03 DC */ addic. r3, r30, 0x3dc
/* 80007750 00004690 41 82 00 08 */ beq lbl_80007758
/* 80007754 00004694 48 29 AA 31 */ bl JAISoundHandle_NS_releaseSound
/* 80007754 00004694 48 29 AA 31 */ bl releaseSound__14JAISoundHandleFv
lbl_80007758:
/* 80007758 00004698 34 7E 03 D8 */ addic. r3, r30, 0x3d8
/* 8000775C 0000469C 41 82 00 08 */ beq lbl_80007764
/* 80007760 000046A0 48 29 AA 25 */ bl JAISoundHandle_NS_releaseSound
/* 80007760 000046A0 48 29 AA 25 */ bl releaseSound__14JAISoundHandleFv
lbl_80007764:
/* 80007764 000046A4 34 7E 03 D4 */ addic. r3, r30, 0x3d4
/* 80007768 000046A8 41 82 00 08 */ beq lbl_80007770
/* 8000776C 000046AC 48 29 AA 19 */ bl JAISoundHandle_NS_releaseSound
/* 8000776C 000046AC 48 29 AA 19 */ bl releaseSound__14JAISoundHandleFv
lbl_80007770:
/* 80007770 000046B0 34 1E 03 D0 */ addic. r0, r30, 0x3d0
/* 80007774 000046B4 41 82 00 0C */ beq lbl_80007780
/* 80007778 000046B8 38 7E 03 D0 */ addi r3, r30, 0x3d0
/* 8000777C 000046BC 48 29 AA 09 */ bl JAISoundHandle_NS_releaseSound
/* 8000777C 000046BC 48 29 AA 09 */ bl releaseSound__14JAISoundHandleFv
lbl_80007780:
/* 80007780 000046C0 34 1E 03 D0 */ addic. r0, r30, 0x3d0
/* 80007784 000046C4 41 82 00 1C */ beq lbl_800077A0
@@ -644,7 +644,7 @@ JAISoundHandle_NS_dtor:
/* 8000784C 0000478C 7C 7E 1B 79 */ or. r30, r3, r3
/* 80007850 00004790 7C 9F 23 78 */ mr r31, r4
/* 80007854 00004794 41 82 00 18 */ beq lbl_8000786C
/* 80007858 00004798 48 29 A9 2D */ bl JAISoundHandle_NS_releaseSound
/* 80007858 00004798 48 29 A9 2D */ bl releaseSound__14JAISoundHandleFv
/* 8000785C 0000479C 7F E0 07 35 */ extsh. r0, r31
/* 80007860 000047A0 40 81 00 0C */ ble lbl_8000786C
/* 80007864 000047A4 7F C3 F3 78 */ mr r3, r30
@@ -0,0 +1,6 @@
#ifndef JAIAUDIENCE_H_
#define JAIAUDIENCE_H_
struct JAIAudience {};
#endif // JAIAUDIENCE_H_
-5
View File
@@ -3,9 +3,4 @@
#include "global.h"
struct JAISoundID {
u32 soundId;
JAISoundID(JAISoundID const& soundIdToSet);
};
#endif
+147
View File
@@ -0,0 +1,147 @@
#ifndef __JAISOUND_H__
#define __JAISOUND_H__
#include "global.h"
class JAISoundID {
public:
operator u32() const { return this->mId; }
JAISoundID(u32 pId) : mId(pId) {}
JAISoundID(JAISoundID const& other);
private:
u32 mId;
};
struct JAISoundParams {
float field_0x0;
float field_0x4;
float field_0x8;
float field_0xc;
float field_0x10;
float field_0x14;
float field_0x18;
float field_0x1c;
};
class JAISoundHandle;
class JAIAudible;
class JAIAudience;
class JAISound {
public:
JAISoundID getID() const { return JAISoundID((u32)this->sound_id); }
void stop(u32 fadeout);
void stop();
u32 getUserData() const { return user_data; }
// TODO: do proper struct later
void* __vt;
struct JAISoundHandle* handle;
struct JAIAudible* audible;
struct JAIAudience* audience;
s32 field_0xc;
s32 num_prepare_steps;
struct JAISoundID sound_id;
u8 field_0x18;
u8 field_0x19;
u8 field_0x1a;
u8 field_0x1b;
u32 user_data;
float field_0x20;
float field_0x24;
float field_0x28;
s32 field_0x2c;
s32 audience_priority;
s32 field_0x34;
struct JAISoundParams params;
u8 field_0x58;
u8 field_0x59;
u8 field_0x5a;
u8 field_0x5b;
u8 field_0x5c;
u8 field_0x5d;
u8 field_0x5e;
u8 field_0x5f;
u8 field_0x60;
u8 field_0x61;
u8 field_0x62;
u8 field_0x63;
u8 field_0x64;
u8 field_0x65;
u8 field_0x66;
u8 field_0x67;
u8 field_0x68;
u8 field_0x69;
u8 field_0x6a;
u8 field_0x6b;
u8 field_0x6c;
u8 field_0x6d;
u8 field_0x6e;
u8 field_0x6f;
u8 field_0x70;
u8 field_0x71;
u8 field_0x72;
u8 field_0x73;
u8 field_0x74;
u8 field_0x75;
u8 field_0x76;
u8 field_0x77;
u8 field_0x78;
u8 field_0x79;
u8 field_0x7a;
u8 field_0x7b;
u8 field_0x7c;
u8 field_0x7d;
u8 field_0x7e;
u8 field_0x7f;
u8 field_0x80;
u8 field_0x81;
u8 field_0x82;
u8 field_0x83;
u8 field_0x84;
u8 field_0x85;
u8 field_0x86;
u8 field_0x87;
u8 field_0x88;
u8 field_0x89;
u8 field_0x8a;
u8 field_0x8b;
u8 field_0x8c;
u8 field_0x8d;
u8 field_0x8e;
u8 field_0x8f;
u8 field_0x90;
u8 field_0x91;
u8 field_0x92;
u8 field_0x93;
};
extern "C" {
void stop__8JAISoundFUl(JAISound*, u32 fadeout);
void stop__8JAISoundFv(JAISound*);
}
class JAISoundHandle {
public:
JAISoundHandle(); // noninline in JAUClusterSound.cpp
bool isSoundAttached() const { return mSound != NULL; }
JAISound* operator->() const {
JUT_ASSERT(mSound != NULL);
return mSound;
}
operator bool() const { return isSoundAttached(); }
void releaseSound();
private:
JAISound* mSound;
};
#endif
@@ -0,0 +1,11 @@
#ifndef JAISOUNDHANDLES_H_
#define JAISOUNDHANDLES_H_
#include "JSystem/JAudio2/JAISound/JAISound.h"
class JAISoundHandles {
public:
JAISoundHandle mHandles[24];
};
#endif // JAISOUNDHANDLES_H_
@@ -0,0 +1,22 @@
#ifndef __JASGADGET_H__
#define __JASGADGET_H__
//! @todo figure out *GlobalInstance singleton handlers once we can properly place statics.
/*
template <typename T>
class JASGlobalInstance {
public:
JASGlobalInstance(bool p1) {
JASGlobalInstance<T> pJVar1;
if ((p1 == true) && (sInstance != NULL)) {
// assert
pJVar1 = this;
}
sInstance = pJVar1;
}
private:
static T sInstance;
}; */
#endif
@@ -0,0 +1,6 @@
#ifndef JAUAUDIOARCLOADER_H_
#define JAUAUDIOARCLOADER_H_
struct JAUSection; // goes in JAudio2.a JAUAudioArcLoader.o
#endif // JAUAUDIOARCLOADER_H_
@@ -3,10 +3,4 @@
#include "dolphin/types.h"
struct JAISoundHandle {
void* unk; // probably JAISound*
JAISoundHandle();
};
#endif
+25
View File
@@ -0,0 +1,25 @@
#ifndef __JGEOMETRY_H__
#define __JGEOMETRY_H__
#include "dolphin/types.h"
namespace JGeometry {
template <typename T>
struct TVec3 {
T x;
T y;
T z;
};
/*
template <>
struct TVec3<f32> {
TVec3(Vec& v) {
}
};
*/
} // namespace JGeometry
#endif

Some files were not shown because too many files have changed in this diff Show More