summaryrefslogtreecommitdiff
path: root/src/f_op/f_op_msg.cpp
diff options
context:
space:
mode:
authorTakaRikka <38417346+TakaRikka@users.noreply.github.com>2022-03-26 10:17:17 -0700
committerGitHub <noreply@github.com>2022-03-26 13:17:17 -0400
commit02c7a47f133add5e4c1d8d7f88d1a7bddc13d9ad (patch)
tree06978acd3c890efb153ab35a00ccbab29f89db49 /src/f_op/f_op_msg.cpp
parent0cfa10aea8453c47329ffc316029a9994b7b7169 (diff)
move remaining old progress (#186)
* move remaining old progress * remove asm
Diffstat (limited to 'src/f_op/f_op_msg.cpp')
-rw-r--r--src/f_op/f_op_msg.cpp61
1 files changed, 31 insertions, 30 deletions
diff --git a/src/f_op/f_op_msg.cpp b/src/f_op/f_op_msg.cpp
index c80912ee98..cc8d9c42f2 100644
--- a/src/f_op/f_op_msg.cpp
+++ b/src/f_op/f_op_msg.cpp
@@ -4,6 +4,8 @@
//
#include "f_op/f_op_msg.h"
+#include "d/msg/d_msg_class.h"
+#include "d/s/d_s_play.h"
#include "dol2asm.h"
#include "dolphin/types.h"
@@ -32,55 +34,54 @@ extern "C" void fpcMtd_Execute__FP20process_method_classPv();
extern "C" void fpcMtd_IsDelete__FP20process_method_classPv();
extern "C" void fpcMtd_Delete__FP20process_method_classPv();
extern "C" void fpcMtd_Create__FP20process_method_classPv();
-extern "C" extern u8 struct_80451124[4];
//
// Declarations:
//
/* 8001F488-8001F4B0 019DC8 0028+00 1/0 0/0 0/0 .text fopMsg_Draw__FPv */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-static asm int fopMsg_Draw(void* param_0) {
- nofralloc
-#include "asm/f_op/f_op_msg/fopMsg_Draw__FPv.s"
+static int fopMsg_Draw(void* msg) {
+ msg_class* m = static_cast<msg_class*>(msg);
+ return fpcLf_DrawMethod(m->field_0xd8, msg);
}
-#pragma pop
/* 8001F4B0-8001F4E8 019DF0 0038+00 1/0 0/0 0/0 .text fopMsg_Execute__FPv */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-static asm int fopMsg_Execute(void* param_0) {
- nofralloc
-#include "asm/f_op/f_op_msg/fopMsg_Execute__FPv.s"
+static int fopMsg_Execute(void* msg) {
+ msg_class* m = static_cast<msg_class*>(msg);
+
+ int stat = 1;
+ if (dScnPly_c::isPause()) {
+ stat = fpcMtd_Execute(&m->field_0xd8->mBase, msg);
+ }
+
+ return stat;
}
-#pragma pop
/* 8001F4E8-8001F53C 019E28 0054+00 1/0 0/0 0/0 .text fopMsg_IsDelete__FPv */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-static asm int fopMsg_IsDelete(void* param_0) {
- nofralloc
-#include "asm/f_op/f_op_msg/fopMsg_IsDelete__FPv.s"
+static int fopMsg_IsDelete(void* msg) {
+ msg_class* m = static_cast<msg_class*>(msg);
+
+ int stat = fpcMtd_IsDelete(&m->field_0xd8->mBase, msg);
+ if (stat == 1) {
+ fopDwTg_DrawQTo(&m->field_0xc4);
+ }
+
+ return stat;
}
-#pragma pop
/* 8001F53C-8001F588 019E7C 004C+00 1/0 0/0 0/0 .text fopMsg_Delete__FPv */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-static asm int fopMsg_Delete(void* param_0) {
- nofralloc
-#include "asm/f_op/f_op_msg/fopMsg_Delete__FPv.s"
+static int fopMsg_Delete(void* msg) {
+ msg_class* m = static_cast<msg_class*>(msg);
+
+ int stat = fpcMtd_Delete(&m->field_0xd8->mBase, msg);
+ fopDwTg_DrawQTo(&m->field_0xc4);
+
+ return stat;
}
-#pragma pop
/* ############################################################################################## */
/* 80450CF0-80450CF8 0001F0 0004+04 1/1 0/0 0/0 .sbss fopMsg_MSG_TYPE */
-static u8 fopMsg_MSG_TYPE[4 + 4 /* padding */];
+static int fopMsg_MSG_TYPE;
/* 8001F588-8001F660 019EC8 00D8+00 1/0 0/0 0/0 .text fopMsg_Create__FPv */
#pragma push