fopScnRq_phase_Done OK

This commit is contained in:
Pheenoh 2021-03-20 19:17:27 -04:00
parent b17fbd496f
commit db0f005aa8
No known key found for this signature in database
GPG Key ID: 4312662758CE7D5A
7 changed files with 27 additions and 20 deletions

View File

@ -62,7 +62,7 @@ lbl_8001EED4:
/* 8001EF04 0001BE44 48 00 16 91 */ bl fopScnPause_Disable__FP11scene_class
lbl_8001EF08:
/* 8001EF08 0001BE48 38 00 00 00 */ li r0, 0
/* 8001EF0C 0001BE4C 90 0D 87 60 */ stw r0, lbl_80450CE0-_SDA_BASE_(r13)
/* 8001EF0C 0001BE4C 90 0D 87 60 */ stw r0, l_fopScnRq_IsUsingOfOverlap-_SDA_BASE_(r13)
/* 8001EF10 0001BE50 38 60 00 02 */ li r3, 2
/* 8001EF14 0001BE54 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8001EF18 0001BE58 7C 08 03 A6 */ mtlr r0
@ -134,14 +134,14 @@ fopScnRq_FadeRequest__FsUs:
/* 8001EFF4 0001BF34 7C 08 02 A6 */ mflr r0
/* 8001EFF8 0001BF38 90 01 00 14 */ stw r0, 0x14(r1)
/* 8001EFFC 0001BF3C 38 A0 00 00 */ li r5, 0
/* 8001F000 0001BF40 80 0D 87 60 */ lwz r0, lbl_80450CE0-_SDA_BASE_(r13)
/* 8001F000 0001BF40 80 0D 87 60 */ lwz r0, l_fopScnRq_IsUsingOfOverlap-_SDA_BASE_(r13)
/* 8001F004 0001BF44 2C 00 00 00 */ cmpwi r0, 0
/* 8001F008 0001BF48 40 82 00 18 */ bne lbl_8001F020
/* 8001F00C 0001BF4C 4B FF F5 F9 */ bl fopOvlpM_Request__FsUs
/* 8001F010 0001BF50 7C 65 1B 79 */ or. r5, r3, r3
/* 8001F014 0001BF54 41 82 00 0C */ beq lbl_8001F020
/* 8001F018 0001BF58 38 00 00 01 */ li r0, 1
/* 8001F01C 0001BF5C 90 0D 87 60 */ stw r0, lbl_80450CE0-_SDA_BASE_(r13)
/* 8001F01C 0001BF5C 90 0D 87 60 */ stw r0, l_fopScnRq_IsUsingOfOverlap-_SDA_BASE_(r13)
lbl_8001F020:
/* 8001F020 0001BF60 7C A3 2B 78 */ mr r3, r5
/* 8001F024 0001BF64 80 01 00 14 */ lwz r0, 0x14(r1)

View File

@ -359,8 +359,8 @@ lbl_80450CD4:
.global lbl_80450CD8
lbl_80450CD8:
.skip 0x8
.global lbl_80450CE0
lbl_80450CE0:
.global l_fopScnRq_IsUsingOfOverlap
l_fopScnRq_IsUsingOfOverlap:
.skip 0x8
.global lbl_80450CE8
lbl_80450CE8:

View File

@ -40,7 +40,7 @@ void func_8001EFB0(void);
// additional symbols needed for f_op_scene_req.cpp
// autogenerated by split.py v0.4 at 2021-03-20 21:43:05.095976
extern u8 lbl_803A38C8;
extern u8 lbl_80450CE0;
extern u8 l_fopScnRq_IsUsingOfOverlap;
extern "C" {
// fopScnRq_phase_ClearOverlap__FP19scene_request_class

View File

@ -3,13 +3,22 @@
#include "dolphin/types.h"
#include "f/f_op/f_op_scene_pause.h"
#include "f/f_pc/f_pc_node_req.h"
#include "SComponent/c_phase.h"
extern "C" {
void fopScnRq_Handler__Fv(void);
void fopScnRq_ReRequest(void);
}
class scene_request_class;
class scene_request_class {
public:
node_create_request mCrtReq;
u8 field_0x60[4];
int mFadeRequest;
request_of_phase_process_class mReqPhsProcCls;
u8 field_0x70[4];
};
scene_request_class* fopScnRq_phase_ClearOverlap(scene_request_class* param_1);
u32 fopScnRq_Request(int, scene_class*, s16, void*, s16, u16);

View File

@ -9,7 +9,7 @@
/* 8001EF04 0001BE44 48 00 16 91 */ bl fopScnPause_Disable__FP11scene_class
lbl_8001EF08:
/* 8001EF08 0001BE48 38 00 00 00 */ li r0, 0
/* 8001EF0C 0001BE4C 90 0D 87 60 */ stw r0, lbl_80450CE0-_SDA_BASE_(r13)
/* 8001EF0C 0001BE4C 90 0D 87 60 */ stw r0, l_fopScnRq_IsUsingOfOverlap-_SDA_BASE_(r13)
/* 8001EF10 0001BE50 38 60 00 02 */ li r3, 2
/* 8001EF14 0001BE54 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8001EF18 0001BE58 7C 08 03 A6 */ mtlr r0

View File

@ -2,14 +2,14 @@
/* 8001EFF4 0001BF34 7C 08 02 A6 */ mflr r0
/* 8001EFF8 0001BF38 90 01 00 14 */ stw r0, 0x14(r1)
/* 8001EFFC 0001BF3C 38 A0 00 00 */ li r5, 0
/* 8001F000 0001BF40 80 0D 87 60 */ lwz r0, lbl_80450CE0-_SDA_BASE_(r13)
/* 8001F000 0001BF40 80 0D 87 60 */ lwz r0, l_fopScnRq_IsUsingOfOverlap-_SDA_BASE_(r13)
/* 8001F004 0001BF44 2C 00 00 00 */ cmpwi r0, 0
/* 8001F008 0001BF48 40 82 00 18 */ bne lbl_8001F020
/* 8001F00C 0001BF4C 4B FF F5 F9 */ bl fopOvlpM_Request__FsUs
/* 8001F010 0001BF50 7C 65 1B 79 */ or. r5, r3, r3
/* 8001F014 0001BF54 41 82 00 0C */ beq lbl_8001F020
/* 8001F018 0001BF58 38 00 00 01 */ li r0, 1
/* 8001F01C 0001BF5C 90 0D 87 60 */ stw r0, lbl_80450CE0-_SDA_BASE_(r13)
/* 8001F01C 0001BF5C 90 0D 87 60 */ stw r0, l_fopScnRq_IsUsingOfOverlap-_SDA_BASE_(r13)
lbl_8001F020:
/* 8001F020 0001BF60 7C A3 2B 78 */ mr r3, r5
/* 8001F024 0001BF64 80 01 00 14 */ lwz r0, 0x14(r1)

View File

@ -2,7 +2,7 @@
#include "f/f_op/f_op_scene_req.h"
#include "f/f_op/f_op_overlap_mng.h"
#include "f/f_pc/f_pc_node_req.h"
#include "f/f_pc/f_pc_executor.h"
#include "global.h"
// additional symbols needed for f_op_scene_req.cpp
@ -43,7 +43,7 @@ void func_8001EFB0(void);
// additional symbols needed for f_op_scene_req.cpp
// autogenerated by split.py v0.4 at 2021-03-20 21:43:05.095976
extern u8 lbl_803A38C8;
extern u8 lbl_80450CE0;
extern u32 l_fopScnRq_IsUsingOfOverlap;
scene_request_class* fopScnRq_phase_ClearOverlap(scene_request_class* pScnRq) {
pScnRq = 0;
@ -82,14 +82,12 @@ scene_request_class* fopScnRq_phase_IsDoneOverlap(scene_request_class* pScnRq) {
return pScnRq;
}
// asm void fopScnRq_phase_IsDoneOverlap(scene_request_class*) {
// nofralloc
// #include "f/f_op/f_op_scene_req/asm/func_8001EEB4.s"
// }
asm void fopScnRq_phase_Done(scene_request_class*) {
nofralloc
#include "f/f_op/f_op_scene_req/asm/func_8001EEE4.s"
int fopScnRq_phase_Done(scene_request_class* pScnRq) {
if (pScnRq->mCrtReq.mParameter != 1) {
fopScnPause_Disable((scene_class*)fpcEx_SearchByID(pScnRq->mCrtReq.mCreatingID));
}
l_fopScnRq_IsUsingOfOverlap = 0;
return 2;
}
asm void fopScnRq_Execute(scene_request_class*) {