From 8c2b4bb21356c0b1670ee3a86e193df61846ecd2 Mon Sep 17 00:00:00 2001 From: Pheenoh Date: Wed, 17 Feb 2021 10:45:52 -0500 Subject: [PATCH] fopOvlpReq_phase_IsWaitOfFadeout OK --- src/f/f_op/f_op_overlap_req.cpp | 18 +++++++++++++++--- 1 file 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 2366dbe8764..ad7d30fc62d 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*) {