diff options
| author | TakaRikka <takarikka@outlook.com> | 2022-06-01 03:49:32 -0700 |
|---|---|---|
| committer | TakaRikka <takarikka@outlook.com> | 2022-06-01 03:49:32 -0700 |
| commit | 3f22fa448376893fffd83815ecd4cdccb197f1a4 (patch) | |
| tree | ee4fc3c63d8d1d36d5705c7d75a6ba3c47c6549c /libs | |
| parent | 36e62e0b80225b6ef6cbe6a7322397899d3a0ffd (diff) | |
m_Do / d_a_npc work
Diffstat (limited to 'libs')
| -rw-r--r-- | libs/JSystem/JAudio2/JASDvdThread.cpp | 27 | ||||
| -rw-r--r-- | libs/JSystem/JAudio2/JASTaskThread.cpp | 29 | ||||
| -rw-r--r-- | libs/JSystem/JKernel/JKRAssertHeap.cpp | 2 | ||||
| -rw-r--r-- | libs/JSystem/JKernel/JKRExpHeap.cpp | 2 | ||||
| -rw-r--r-- | libs/JSystem/JKernel/JKRHeap.cpp | 4 | ||||
| -rw-r--r-- | libs/Z2AudioLib/Z2AudioMgr.cpp | 5 | ||||
| -rw-r--r-- | libs/Z2AudioLib/Z2WolfHowlMgr.cpp | 90 |
7 files changed, 41 insertions, 118 deletions
diff --git a/libs/JSystem/JAudio2/JASDvdThread.cpp b/libs/JSystem/JAudio2/JASDvdThread.cpp index d7a5380678..c73bd6c63f 100644 --- a/libs/JSystem/JAudio2/JASDvdThread.cpp +++ b/libs/JSystem/JAudio2/JASDvdThread.cpp @@ -8,26 +8,6 @@ #include "dolphin/types.h" // -// Types: -// - -struct JKRHeap { - static u8 sSystemHeap[4]; - static u8 sCurrentHeap[4]; -}; - -struct JASTaskThread { - /* 8028F6C4 */ JASTaskThread(int, int, u32); -}; - -struct JASDvd { - /* 8028FEFC */ u32 getThreadPointer(); - /* 8028FF04 */ void createThread(s32, int, u32); - - static u8 sThread[4 + 4 /* padding */]; -}; - -// // Forward References: // @@ -41,7 +21,6 @@ extern "C" u8 sThread__6JASDvd[4 + 4 /* padding */]; extern "C" void __ct__13JASTaskThreadFiiUl(); extern "C" void* __nw__FUlP7JKRHeapi(); -extern "C" void OSResumeThread(); extern "C" void _savegpr_29(); extern "C" void _restgpr_29(); extern "C" extern u8 JASDram[4]; @@ -54,11 +33,11 @@ extern "C" u8 sCurrentHeap__7JKRHeap[4]; /* ############################################################################################## */ /* 80451208-80451210 000708 0004+04 2/1 0/0 0/0 .sbss sThread__6JASDvd */ -u8 JASDvd::sThread[4 + 4 /* padding */]; +JASTaskThread* JASDvd::sThread; /* 8028FEFC-8028FF04 -00001 0008+00 0/0 0/0 0/0 .text getThreadPointer__6JASDvdFv */ -u32 JASDvd::getThreadPointer() { - return *(u32*)(&JASDvd::sThread); +JASTaskThread* JASDvd::getThreadPointer() { + return JASDvd::sThread; } /* 8028FF04-8028FFA8 28A844 00A4+00 0/0 1/1 0/0 .text createThread__6JASDvdFliUl */ diff --git a/libs/JSystem/JAudio2/JASTaskThread.cpp b/libs/JSystem/JAudio2/JASTaskThread.cpp index 92f70b7072..325c17098c 100644 --- a/libs/JSystem/JAudio2/JASTaskThread.cpp +++ b/libs/JSystem/JAudio2/JASTaskThread.cpp @@ -11,26 +11,6 @@ // Types: // -struct JKRHeap { - static u8 sSystemHeap[4]; -}; - -struct JKRThread { - /* 802D1610 */ JKRThread(JKRHeap*, u32, int, int); - /* 802D1758 */ ~JKRThread(); -}; - -struct JASTaskThread { - /* 8028F6C4 */ JASTaskThread(int, int, u32); - /* 8028F724 */ ~JASTaskThread(); - /* 8028F9EC */ void allocCallStack(void (*)(void*), void*); - /* 8028F850 */ void allocCallStack(void (*)(void*), void const*, u32); - /* 8028FC54 */ void sendCmdMsg(void (*)(void*), void*); - /* 8028FB5C */ void sendCmdMsg(void (*)(void*), void const*, u32); - /* 8028FD4C */ void run(); - /* 8028FE88 */ void pause(bool); -}; - struct JASCalc { /* 8028F354 */ void bcopy(void const*, void*, u32); }; @@ -59,12 +39,6 @@ extern "C" void* __nw__FUlP7JKRHeapi(); extern "C" void __dl__FPv(); extern "C" void __ct__9JKRThreadFP7JKRHeapUlii(); extern "C" void __dt__9JKRThreadFv(); -extern "C" void OSDisableInterrupts(); -extern "C" void OSRestoreInterrupts(); -extern "C" void OSSendMessage(); -extern "C" void OSReceiveMessage(); -extern "C" void OSLockMutex(); -extern "C" void OSUnlockMutex(); extern "C" void OSInitThreadQueue(); extern "C" void OSSleepThread(); extern "C" void OSWakeupThread(); @@ -104,7 +78,8 @@ asm JASTaskThread::JASTaskThread(int param_0, int param_1, u32 param_2) { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm JASTaskThread::~JASTaskThread() { +// asm JASTaskThread::~JASTaskThread() { +extern "C" asm void __dt__13JASTaskThreadFv() { nofralloc #include "asm/JSystem/JAudio2/JASTaskThread/__dt__13JASTaskThreadFv.s" } diff --git a/libs/JSystem/JKernel/JKRAssertHeap.cpp b/libs/JSystem/JKernel/JKRAssertHeap.cpp index 6787b3b766..0054cd87a4 100644 --- a/libs/JSystem/JKernel/JKRAssertHeap.cpp +++ b/libs/JSystem/JKernel/JKRAssertHeap.cpp @@ -109,7 +109,7 @@ bool JKRAssertHeap::dump_sort() { /* 802D142C-802D1434 2CBD6C 0008+00 1/0 0/0 0/0 .text do_changeGroupID__13JKRAssertHeapFUc */ -u8 JKRAssertHeap::do_changeGroupID(u8) { +s32 JKRAssertHeap::do_changeGroupID(u8) { return 0; } diff --git a/libs/JSystem/JKernel/JKRExpHeap.cpp b/libs/JSystem/JKernel/JKRExpHeap.cpp index 9bfb17e015..bf368bad54 100644 --- a/libs/JSystem/JKernel/JKRExpHeap.cpp +++ b/libs/JSystem/JKernel/JKRExpHeap.cpp @@ -558,7 +558,7 @@ void JKRExpHeap::do_fillFreeArea() { /* 802CF928-802CF978 2CA268 0050+00 1/0 0/0 0/0 .text do_changeGroupID__10JKRExpHeapFUc */ -u8 JKRExpHeap::do_changeGroupID(u8 param_0) { +s32 JKRExpHeap::do_changeGroupID(u8 param_0) { lock(); u8 prev = mCurrentGroupId; mCurrentGroupId = param_0; diff --git a/libs/JSystem/JKernel/JKRHeap.cpp b/libs/JSystem/JKernel/JKRHeap.cpp index 8274afdebe..10f570d76a 100644 --- a/libs/JSystem/JKernel/JKRHeap.cpp +++ b/libs/JSystem/JKernel/JKRHeap.cpp @@ -352,7 +352,7 @@ s32 JKRHeap::getTotalFreeSize() { } /* 802CE7B0-802CE7DC 2C90F0 002C+00 0/0 1/1 0/0 .text changeGroupID__7JKRHeapFUc */ -u8 JKRHeap::changeGroupID(u8 param_1) { +s32 JKRHeap::changeGroupID(u8 param_1) { return do_changeGroupID(param_1); } @@ -624,7 +624,7 @@ void JKRHeap::state_dump(JKRHeap::TState const& p) const { } /* 802CEDA4-802CEDAC 2C96E4 0008+00 1/0 1/0 0/0 .text do_changeGroupID__7JKRHeapFUc */ -u8 JKRHeap::do_changeGroupID(u8 param_0) { +s32 JKRHeap::do_changeGroupID(u8 param_0) { return 0; } diff --git a/libs/Z2AudioLib/Z2AudioMgr.cpp b/libs/Z2AudioLib/Z2AudioMgr.cpp index a43073d9e1..f79fda6e72 100644 --- a/libs/Z2AudioLib/Z2AudioMgr.cpp +++ b/libs/Z2AudioLib/Z2AudioMgr.cpp @@ -409,8 +409,9 @@ asm bool Z2AudioMgr::hasReset() const { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void Z2AudioMgr::startSound(JAISoundID param_0, JAISoundHandle* param_1, - JGeometry::TVec3<f32> const* param_2) { +//asm void Z2AudioMgr::startSound(JAISoundID param_0, JAISoundHandle* param_1, +// JGeometry::TVec3<f32> const* param_2) { +extern "C" asm void func_802CDB1C() { nofralloc #include "asm/Z2AudioLib/Z2AudioMgr/func_802CDB1C.s" } diff --git a/libs/Z2AudioLib/Z2WolfHowlMgr.cpp b/libs/Z2AudioLib/Z2WolfHowlMgr.cpp index 0c47321529..64a40bbf2d 100644 --- a/libs/Z2AudioLib/Z2WolfHowlMgr.cpp +++ b/libs/Z2AudioLib/Z2WolfHowlMgr.cpp @@ -86,91 +86,59 @@ extern "C" u8 mLinkPtr__14Z2CreatureLink[4 + 4 /* padding */]; /* ############################################################################################## */ /* 804508A0-804508A8 000320 0008+00 1/0 0/0 0/0 .sdata sHowlTobikusa */ -extern "C" u8 sHowlTobikusa[8]; +extern "C" u16 sHowlTobikusa[4]; /* 803CBC50-803CBC5C 028D70 000C+00 1/0 0/0 0/0 .data sHowlUmakusa */ -SECTION_DATA static u8 sHowlUmakusa[12] = { - 0x01, 0x0F, 0x02, 0x0F, 0x03, 0x3C, 0x01, 0x0F, 0x02, 0x0F, 0x03, 0x3C, +SECTION_DATA static u16 sHowlUmakusa[6] = { + 0x010F, 0x020F, 0x033C, 0x010F, 0x020F, 0x033C, }; /* 803CBC5C-803CBC68 028D7C 000C+00 1/0 0/0 0/0 .data sHowlZeldaSong */ -SECTION_DATA static u8 sHowlZeldaSong[12] = { - 0x02, 0x1E, 0x01, 0x0F, 0x03, 0x2D, 0x02, 0x1E, 0x01, 0x0F, 0x03, 0x2D, +SECTION_DATA static u16 sHowlZeldaSong[6] = { + 0x021E, 0x010F, 0x032D, 0x021E, 0x010F, 0x032D, }; /* 803CBC68-803CBC74 028D88 000C+00 1/0 0/0 0/0 .data sHowlLightPrelude */ -SECTION_DATA static u8 sHowlLightPrelude[12] = { - 0x01, 0x14, 0x03, 0x28, 0x01, 0x14, 0x03, 0x14, 0x02, 0x14, 0x01, 0x1E, +SECTION_DATA static u16 sHowlLightPrelude[6] = { + 0x0114, 0x0328, 0x0114, 0x0314, 0x0214, 0x011E, }; /* 803CBC74-803CBC80 028D94 000C+00 1/0 0/0 0/0 .data sHowlSoulRequiem */ -SECTION_DATA static u8 sHowlSoulRequiem[12] = { - 0x03, 0x1E, 0x02, 0x0F, 0x03, 0x0F, 0x01, 0x1E, 0x02, 0x1E, 0x03, 0x1E, +SECTION_DATA static u16 sHowlSoulRequiem[6] = { + 0x031E, 0x020F, 0x030F, 0x011E, 0x021E, 0x031E, }; /* 803CBC80-803CBC8C 028DA0 000C+00 1/0 0/0 0/0 .data sHealingSong */ -SECTION_DATA static u8 sHealingSong[12] = { - 0x01, 0x1E, 0x02, 0x1E, 0x03, 0x1E, 0x01, 0x1E, 0x02, 0x1E, 0x03, 0x1E, +SECTION_DATA static u16 sHealingSong[6] = { + 0x011E, 0x021E, 0x031E, 0x011E, 0x021E, 0x031E, }; /* 803CBC8C-803CBC9C 028DAC 000E+02 1/0 0/0 0/0 .data sNewSong1 */ -SECTION_DATA static u8 sNewSong1[14 + 2 /* padding */] = { - 0x03, - 0x1E, - 0x02, - 0x1E, - 0x01, - 0x1E, - 0x03, - 0x28, - 0x02, - 0x14, - 0x03, - 0x1E, - 0x01, - 0x1E, - /* padding */ - 0x00, - 0x00, +SECTION_DATA static u16 sNewSong1[7] = { + 0x031E, 0x021E, 0x011E, 0x0328, 0x0214, 0x031E, 0x011E, }; /* 803CBC9C-803CBCAC 028DBC 0010+00 1/0 0/0 0/0 .data sNewSong2 */ -SECTION_DATA static u8 sNewSong2[16] = { - 0x01, 0x14, 0x02, 0x14, 0x03, 0x14, 0x02, 0x3C, 0x03, 0x14, 0x01, 0x14, 0x02, 0x14, 0x03, 0x1E, +SECTION_DATA static u16 sNewSong2[8] = { + 0x0114, 0x0214, 0x0314, 0x023C, 0x0314, 0x0114, 0x0214, 0x031E, }; /* 803CBCAC-803CBCC0 028DCC 0012+02 1/0 0/0 0/0 .data sNewSong3 */ -SECTION_DATA static u8 sNewSong3[18 + 2 /* padding */] = { - 0x02, - 0x1E, - 0x03, - 0x3C, - 0x02, - 0x28, - 0x01, - 0x14, - 0x03, - 0x3C, - 0x01, - 0x14, - 0x02, - 0x14, - 0x01, - 0x14, - 0x02, - 0x2D, - /* padding */ - 0x00, - 0x00, +SECTION_DATA static u16 sNewSong3[9] = { + 0x021E, 0x033C, 0x0228, 0x0114, 0x033C, 0x0114, 0x0214, 0x0114, 0x022D, }; /* 803CBCC0-803CBD08 -00001 0048+00 1/1 0/0 0/0 .data sGuideData */ -SECTION_DATA static void* sGuideData[18] = { - (void*)0x04000000, (void*)&sHowlTobikusa, (void*)0x06000000, (void*)&sHowlUmakusa, - (void*)0x06000000, (void*)&sHowlZeldaSong, (void*)0x06000000, (void*)&sHealingSong, - (void*)0x06000000, (void*)&sHowlSoulRequiem, (void*)0x06000000, (void*)&sHowlLightPrelude, - (void*)0x07000000, (void*)&sNewSong1, (void*)0x08000000, (void*)&sNewSong2, - (void*)0x09000000, (void*)&sNewSong3, +SECTION_DATA static Z2WolfHowlData sGuideData[9] = { + {4, sHowlTobikusa}, + {6, sHowlUmakusa}, + {6, sHowlZeldaSong}, + {6, sHealingSong}, + {6, sHowlSoulRequiem}, + {6, sHowlLightPrelude}, + {7, sNewSong1}, + {8, sNewSong2}, + {9, sNewSong3}, }; /* 80450880-80450884 000300 0004+00 2/2 0/0 0/0 .sdata cPitchDown */ @@ -213,8 +181,8 @@ SECTION_SDATA static f32 sStickHigh = 0.5f; SECTION_SDATA static f32 sStickCenter = 1.0f / 5.0f; /* 804508A0-804508A8 000320 0008+00 1/0 0/0 0/0 .sdata sHowlTobikusa */ -SECTION_SDATA static u8 sHowlTobikusa[8] = { - 0x01, 0x1E, 0x03, 0x1E, 0x01, 0x1E, 0x03, 0x1E, +SECTION_SDATA static u16 sHowlTobikusa[4] = { + 0x011E, 0x031E, 0x011E, 0x031E, }; /* 80455E60-80455E64 004460 0004+00 8/8 0/0 0/0 .sdata2 @3485 */ |
