summaryrefslogtreecommitdiff
path: root/libs/JSystem/JAudio2/JASCmdStack.cpp
diff options
context:
space:
mode:
authorhatal175 <hatal175@users.noreply.github.com>2024-01-11 01:16:40 +0200
committerGitHub <noreply@github.com>2024-01-11 01:16:40 +0200
commitf342bd71716619832c47eea7e90f57d106cd6b63 (patch)
tree01deaad96b0460180739743609186efd1c6f5589 /libs/JSystem/JAudio2/JASCmdStack.cpp
parent99f0efe97501b8dc17343fdf9ff1e46f835a766d (diff)
Import JASCmdStack, std-vector work, Z2StatusMgr OK (#2029)
* Import JASCmdStack * Work on std-vector * Z2StatusMgr OK
Diffstat (limited to 'libs/JSystem/JAudio2/JASCmdStack.cpp')
-rw-r--r--libs/JSystem/JAudio2/JASCmdStack.cpp137
1 files changed, 22 insertions, 115 deletions
diff --git a/libs/JSystem/JAudio2/JASCmdStack.cpp b/libs/JSystem/JAudio2/JASCmdStack.cpp
index 15c0383508..52669b0c31 100644
--- a/libs/JSystem/JAudio2/JASCmdStack.cpp
+++ b/libs/JSystem/JAudio2/JASCmdStack.cpp
@@ -1,135 +1,42 @@
//
-// Generated By: dol2asm
-// Translation Unit: JASCmdStack
+// JASCmdStack
//
#include "JSystem/JAudio2/JASCmdStack.h"
-#include "dol2asm.h"
-
-//
-// Types:
-//
-
-struct JSUPtrLink {};
-
-struct JSUPtrList {
- /* 802DBEAC */ ~JSUPtrList();
- /* 802DBF14 */ void initiate();
- /* 802DC15C */ void remove(JSUPtrLink*);
-};
-
-struct JASPortCmd {
- struct TPortHead {
- /* 80291094 */ void execCommandOnce();
- /* 8029110C */ void execCommandStay();
- /* 802911D0 */ ~TPortHead();
- };
-
- /* 80291060 */ void execAllCommand();
-
- static u8 sCommandListOnce[12];
- static u8 sCommandListStay[12];
-};
-
-//
-// Forward References:
-//
-
-extern "C" void execAllCommand__10JASPortCmdFv();
-extern "C" void execCommandOnce__Q210JASPortCmd9TPortHeadFv();
-extern "C" void execCommandStay__Q210JASPortCmd9TPortHeadFv();
-extern "C" void __sinit_JASCmdStack_cpp();
-extern "C" void __dt__Q210JASPortCmd9TPortHeadFv();
-extern "C" u8 sCommandListOnce__10JASPortCmd[12];
-extern "C" u8 sCommandListStay__10JASPortCmd[12];
-
-//
-// External References:
-//
-
-extern "C" void __dl__FPv();
-extern "C" void __dt__10JSUPtrListFv();
-extern "C" void initiate__10JSUPtrListFv();
-extern "C" void remove__10JSUPtrListFP10JSUPtrLink();
-extern "C" void OSDisableInterrupts();
-extern "C" void OSRestoreInterrupts();
-extern "C" void __register_global_object();
-extern "C" void _savegpr_29();
-extern "C" void _restgpr_29();
-
-//
-// Declarations:
-//
-
-/* ############################################################################################## */
-/* 80431678-80431684 05E398 000C+00 1/1 0/0 0/0 .bss @80 */
-static u8 lit_80[12];
+#include "dolphin/os/OS.h"
/* 80431684-80431690 05E3A4 000C+00 1/2 0/0 0/0 .bss sCommandListOnce__10JASPortCmd */
-u8 JASPortCmd::sCommandListOnce[12];
-
-/* 80431690-8043169C 05E3B0 000C+00 0/1 0/0 0/0 .bss @82 */
-#pragma push
-#pragma force_active on
-static u8 lit_82[12];
-#pragma pop
+JASPortCmd::TPortHead JASPortCmd::sCommandListOnce;
/* 8043169C-804316A8 05E3BC 000C+00 1/2 0/0 0/0 .bss sCommandListStay__10JASPortCmd */
-u8 JASPortCmd::sCommandListStay[12];
+JASPortCmd::TPortHead JASPortCmd::sCommandListStay;
/* 80291060-80291094 28B9A0 0034+00 0/0 1/1 0/0 .text execAllCommand__10JASPortCmdFv */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void JASPortCmd::execAllCommand() {
- nofralloc
-#include "asm/JSystem/JAudio2/JASCmdStack/execAllCommand__10JASPortCmdFv.s"
+void JASPortCmd::execAllCommand() {
+ sCommandListOnce.execCommandOnce();
+ sCommandListStay.execCommandStay();
}
-#pragma pop
/* 80291094-8029110C 28B9D4 0078+00 1/1 0/0 0/0 .text execCommandOnce__Q210JASPortCmd9TPortHeadFv
*/
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void JASPortCmd::TPortHead::execCommandOnce() {
- nofralloc
-#include "asm/JSystem/JAudio2/JASCmdStack/execCommandOnce__Q210JASPortCmd9TPortHeadFv.s"
+void JASPortCmd::TPortHead::execCommandOnce() {
+ volatile BOOL interrupts = OSDisableInterrupts();
+ JSULink<JASPortCmd>* next;
+ for (JSULink<JASPortCmd>* link = getFirst(); link != NULL; link = next) {
+ next = link->getNext();
+ link->getObject()->_10(link->getObject()->_14);
+ remove(link);
+ }
+ OSRestoreInterrupts(interrupts);
}
-#pragma pop
/* 8029110C-8029116C 28BA4C 0060+00 1/1 0/0 0/0 .text execCommandStay__Q210JASPortCmd9TPortHeadFv
*/
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void JASPortCmd::TPortHead::execCommandStay() {
- nofralloc
-#include "asm/JSystem/JAudio2/JASCmdStack/execCommandStay__Q210JASPortCmd9TPortHeadFv.s"
-}
-#pragma pop
-
-/* 8029116C-802911D0 28BAAC 0064+00 0/0 1/0 0/0 .text __sinit_JASCmdStack_cpp */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void __sinit_JASCmdStack_cpp() {
- nofralloc
-#include "asm/JSystem/JAudio2/JASCmdStack/__sinit_JASCmdStack_cpp.s"
+void JASPortCmd::TPortHead::execCommandStay() {
+ volatile int interrupts = OSDisableInterrupts();
+ for (JSULink<JASPortCmd>* link = getFirst(); link != NULL; link = link->getNext()) {
+ link->getObject()->_10(link->getObject()->_14);
+ }
+ OSRestoreInterrupts(interrupts);
}
-#pragma pop
-
-#pragma push
-#pragma force_active on
-REGISTER_CTORS(0x8029116C, __sinit_JASCmdStack_cpp);
-#pragma pop
-/* 802911D0-80291228 28BB10 0058+00 1/1 0/0 0/0 .text __dt__Q210JASPortCmd9TPortHeadFv */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm JASPortCmd::TPortHead::~TPortHead() {
- nofralloc
-#include "asm/JSystem/JAudio2/JASCmdStack/__dt__Q210JASPortCmd9TPortHeadFv.s"
-}
-#pragma pop