diff --git a/include/f/f_op/f_op_scene_pause.h b/include/f/f_op/f_op_scene_pause.h index 98d3a84c574..d6d160ed36f 100644 --- a/include/f/f_op/f_op_scene_pause.h +++ b/include/f/f_op/f_op_scene_pause.h @@ -5,7 +5,9 @@ class scene_class { public: - /* 0x00 */ u8 field_0x00[0x2c]; + /* 0x00 */ u8 field_0x00; + /* 0x04 */ u32 field_0x04; + /* 0x08 */ u8 field_0x08[0x24]; /* 0x2C */ int* field_0x2C; }; diff --git a/include/f/f_op/f_op_scene_req.h b/include/f/f_op/f_op_scene_req.h index f6a590d005c..b9a77cb6302 100644 --- a/include/f/f_op/f_op_scene_req.h +++ b/include/f/f_op/f_op_scene_req.h @@ -14,7 +14,7 @@ void fopScnRq_ReRequest(void); class scene_request_class { public: node_create_request mCrtReq; - int mFadeRequest; + u32 mFadeRequest; request_of_phase_process_class mReqPhsProcCls; u8 field_0x70[4]; }; diff --git a/src/f/f_op/f_op_scene_req.cpp b/src/f/f_op/f_op_scene_req.cpp index b7c38eaaaa1..84cd018f367 100644 --- a/src/f/f_op/f_op_scene_req.cpp +++ b/src/f/f_op/f_op_scene_req.cpp @@ -99,14 +99,12 @@ void fopScnRq_Execute(scene_request_class* pScnRq) { } } -// asm void fopScnRq_Execute(scene_request_class*) { -// nofralloc -// #include "f/f_op/f_op_scene_req/asm/func_8001EF24.s" -// } - -asm void fopScnRq_PostMethod(void*, scene_request_class*) { - nofralloc -#include "f/f_op/f_op_scene_req/asm/func_8001EF6C.s" +int fopScnRq_PostMethod(void* param_1, scene_request_class* pScnRq) { + if (pScnRq->mFadeRequest) { + fopScnPause_Enable((scene_class*)param_1); + fopOvlpM_ToldAboutID(((scene_class*)param_1)->field_0x04); + } + return 1; } asm void fopScnRq_Cancel(scene_request_class*) {