From e262f2c2243eae5a962a95b981f627bb12418d60 Mon Sep 17 00:00:00 2001 From: Pheenoh Date: Wed, 17 Feb 2021 12:10:21 -0500 Subject: [PATCH] fopOvlpReq_phase_Create OK --- include/f/f_op/f_op_overlap_req.h | 5 +++-- src/f/f_op/f_op_overlap_req.cpp | 9 +++++---- 2 files changed, 8 insertions(+), 6 deletions(-) diff --git a/include/f/f_op/f_op_overlap_req.h b/include/f/f_op/f_op_overlap_req.h index 48839c99ff4..fbc097a3161 100644 --- a/include/f/f_op/f_op_overlap_req.h +++ b/include/f/f_op/f_op_overlap_req.h @@ -2,6 +2,7 @@ #define F_F_OP_OVERLAP_REQ_H_ #include "SComponent/c_request.h" +#include "f/f_pc/f_pc_layer.h" #include "dolphin/types.h" class overlap_request_class { @@ -13,8 +14,7 @@ public: u16 field_0x6; u32 field_0x8; u32 field_0xc; - u8 field_0x10; - u8 field_0x11; + s16 field_0x10; u8 field_0x12; u8 field_0x13; int field_0x14; @@ -27,6 +27,7 @@ public: u8 field_0x1e; u8 field_0x1f; u8* field_0x20; + layer_class* pCurrentLayer; }; int fopOvlpReq_OverlapClr(overlap_request_class* param_1); request_base_class* fopOvlpReq_Request(overlap_request_class*, s16, u16); diff --git a/src/f/f_op/f_op_overlap_req.cpp b/src/f/f_op/f_op_overlap_req.cpp index 861c5004b5a..766a0e2b25b 100644 --- a/src/f/f_op/f_op_overlap_req.cpp +++ b/src/f/f_op/f_op_overlap_req.cpp @@ -3,6 +3,7 @@ #include "f/f_op/f_op_overlap_req.h" #include "f/f_pc/f_pc_executor.h" #include "f/f_pc/f_pc_manager.h" +#include "f/f_pc/f_pc_stdcreate_req.h" #include "global.h" // additional symbols needed for f_op_overlap_req.cpp @@ -24,7 +25,6 @@ void fopOvlpReq_SetPeektime__FP21overlap_request_classUs(void); void fopOvlpReq_Is_PeektimeLimit__FP21overlap_request_class(void); void fopOvlpReq_SetPeektime(void); void fopOvlpReq_phase_Done(void); -void fpcSCtRq_Request(void); void func_8001E748(void); void func_8001E794(void); void func_8001E7E4(void); @@ -105,9 +105,10 @@ int fopOvlpReq_phase_IsCreated(overlap_request_class* pOvlpReq) { return 0; } -asm void fopOvlpReq_phase_Create(overlap_request_class*) { - nofralloc -#include "f/f_op/f_op_overlap_req/asm/func_8001E904.s" +int fopOvlpReq_phase_Create(overlap_request_class* pOvlpReq) { + fpcLy_SetCurrentLayer(pOvlpReq->pCurrentLayer); + pOvlpReq->field_0x14 = fpcSCtRq_Request(fpcLy_CurrentLayer(),pOvlpReq->field_0x10, 0,0,0); + return 2; } asm request_base_class* fopOvlpReq_Request(overlap_request_class*, s16, u16) {