summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPheenoh <pheenoh@gmail.com>2021-02-17 12:10:21 -0500
committerPheenoh <pheenoh@gmail.com>2021-02-17 12:10:21 -0500
commite262f2c2243eae5a962a95b981f627bb12418d60 (patch)
tree05c680611e6930494a74bb273c4cbea81db78fef
parent9ed5e03d253d462bac6304bcc17639ad30d7592b (diff)
fopOvlpReq_phase_Create OK
-rw-r--r--include/f/f_op/f_op_overlap_req.h5
-rw-r--r--src/f/f_op/f_op_overlap_req.cpp9
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 48839c99ff..fbc097a316 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 861c5004b5..766a0e2b25 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) {