summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/f/f_op/f_op_overlap_req.cpp18
1 files changed, 15 insertions, 3 deletions
diff --git a/src/f/f_op/f_op_overlap_req.cpp b/src/f/f_op/f_op_overlap_req.cpp
index 2366dbe876..ad7d30fc62 100644
--- a/src/f/f_op/f_op_overlap_req.cpp
+++ b/src/f/f_op/f_op_overlap_req.cpp
@@ -49,14 +49,26 @@ int fopOvlpReq_phase_Done(overlap_request_class* pOvlpReq) {
return 0;
}
+// return line is wrong
+#ifdef NONMATCHING
+s16 fopOvlpReq_phase_IsDone(overlap_request_class* param_1) {
+ cReq_Done((request_base_class*)param_1);
+ param_1->field_0x2--;
+ return ((int)param_1->field_0x2 | ~-(int)param_1->field_0x2) >> 0x1F & 2;
+}
+#else
asm void fopOvlpReq_phase_IsDone(overlap_request_class*) {
nofralloc
#include "f/f_op/f_op_overlap_req/asm/func_8001E748.s"
}
+#endif
-asm void fopOvlpReq_phase_IsWaitOfFadeout(overlap_request_class*) {
- nofralloc
-#include "f/f_op/f_op_overlap_req/asm/func_8001E794.s"
+int fopOvlpReq_phase_IsWaitOfFadeout(overlap_request_class* pOvlpReq) {
+ if (cReq_Is_Done((request_base_class*)(pOvlpReq->field_0x20 + 0xC4))) {
+ pOvlpReq->field_0x8 = 0;
+ return 2;
+ }
+ return 0;
}
asm void fopOvlpReq_phase_WaitOfFadeout(overlap_request_class*) {