fopOvlpReq_phase_Done OK

This commit is contained in:
Pheenoh 2021-02-17 10:29:05 -05:00
parent 1876efc170
commit 3f7fdd4503
No known key found for this signature in database
GPG Key ID: 4312662758CE7D5A
7 changed files with 71 additions and 59 deletions

View File

@ -1,12 +1,37 @@
#ifndef F_F_OP_OVERLAP_REQ_H_
#define F_F_OP_OVERLAP_REQ_H_
#include "SComponent/c_request.h"
#include "dolphin/types.h"
class overlap_request_class;
class overlap_request_class {
public:
u8 field_0x0;
u8 field_0x1;
s16 field_0x2;
u16 field_0x4;
u16 field_0x6;
u32 field_0x8;
u32 field_0xc;
u8 field_0x10;
u8 field_0x11;
u8 field_0x12;
u8 field_0x13;
int field_0x14;
u8 field_0x18;
u8 field_0x19;
u8 field_0x1a;
u8 field_0x1b;
u8 field_0x1c;
u8 field_0x1d;
u8 field_0x1e;
u8 field_0x1f;
u8* field_0x20;
};
int fopOvlpReq_OverlapClr(overlap_request_class* param_1);
request_base_class* fopOvlpReq_Request(overlap_request_class*, s16, u16);
int fopOvlpReq_Handler(overlap_request_class*);
int fopOvlpReq_Cancel(overlap_request_class*);
int fopOvlpReq_phase_Done(overlap_request_class* param_1);
#endif

View File

@ -21,7 +21,7 @@ lbl_8001E988:
/* 8001E9A0 0001B8E0 48 24 7C 91 */ bl cPhs_Set
/* 8001E9A4 0001B8E4 7F A3 EB 78 */ mr r3, r29
/* 8001E9A8 0001B8E8 7F E4 FB 78 */ mr r4, r31
/* 8001E9AC 0001B8EC 48 00 01 19 */ bl fopOvlpReq_SetPeektime
/* 8001E9AC 0001B8EC 48 00 01 19 */ bl fopOvlpReq_SetPeektime__FP21overlap_request_classUs
/* 8001E9B0 0001B8F0 38 00 00 01 */ li r0, 1
/* 8001E9B4 0001B8F4 B0 1D 00 04 */ sth r0, 4(r29)
/* 8001E9B8 0001B8F8 B0 1D 00 02 */ sth r0, 2(r29)

View File

@ -1,7 +1,7 @@
/* 8001EA88 0001B9C8 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8001EA8C 0001B9CC 7C 08 02 A6 */ mflr r0
/* 8001EA90 0001B9D0 90 01 00 14 */ stw r0, 0x14(r1)
/* 8001EA94 0001B9D4 4B FF FC 59 */ bl fopOvlpReq_phase_Done
/* 8001EA94 0001B9D4 4B FF FC 59 */ bl fopOvlpReq_phase_Done__FP21overlap_request_class
/* 8001EA98 0001B9D8 20 03 00 02 */ subfic r0, r3, 2
/* 8001EA9C 0001B9DC 7C 00 00 34 */ cntlzw r0, r0
/* 8001EAA0 0001B9E0 54 03 D9 7E */ srwi r3, r0, 5

View File

@ -7,7 +7,7 @@
/* 8001EAF0 0001BA30 54 00 CF FE */ rlwinm r0, r0, 0x19, 0x1f, 0x1f
/* 8001EAF4 0001BA34 28 00 00 01 */ cmplwi r0, 1
/* 8001EAF8 0001BA38 41 82 00 10 */ beq lbl_8001EB08
/* 8001EAFC 0001BA3C 4B FF FF B9 */ bl fopOvlpReq_Is_PeektimeLimit
/* 8001EAFC 0001BA3C 4B FF FF B9 */ bl fopOvlpReq_Is_PeektimeLimit__FP21overlap_request_class
/* 8001EB00 0001BA40 2C 03 00 00 */ cmpwi r3, 0
/* 8001EB04 0001BA44 40 82 00 0C */ bne lbl_8001EB10
lbl_8001EB08:

View File

@ -3444,6 +3444,19 @@ fopOvlp_Execute__FPv
fopOvlp_IsDelete__FPv
fopOvlp_Delete__FPv
fopOvlp_Create__FPv
fopOvlpReq_phase_Done__FP21overlap_request_class
fopOvlpReq_phase_IsDone__FP21overlap_request_class
fopOvlpReq_phase_IsWaitOfFadeout__FP21overlap_request_class
fopOvlpReq_phase_WaitOfFadeout__FP21overlap_request_class
fopOvlpReq_phase_IsComplete__FP21overlap_request_class
fopOvlpReq_phase_IsCreated__FP21overlap_request_class
fopOvlpReq_phase_Create__FP21overlap_request_class
fopOvlpReq_Request__FP21overlap_request_classsUs
fopOvlpReq_Handler__FP21overlap_request_class
fopOvlpReq_Cancel__FP21overlap_request_class
fopOvlpReq_Is_PeektimeLimit__FP21overlap_request_class
fopOvlpReq_SetPeektime__FP21overlap_request_classUs
fopOvlpReq_OverlapClr__FP21overlap_request_class
}
/*
.init 80003100 - 80005600

View File

@ -1,5 +1,7 @@
/* f_op_overlap_req.cpp autogenerated by split.py v0.4 at 2021-02-15 20:24:53.163616 */
#include "f/f_op/f_op_overlap_req.h"
#include "f/f_pc/f_pc_manager.h"
#include "global.h"
// additional symbols needed for f_op_overlap_req.cpp
@ -7,25 +9,21 @@
extern "C" {
void _restgpr_29(void);
void _savegpr_29(void);
void cPhs_Do(void);
void cPhs_Set(void);
void cReq_Command__FP18request_base_classUc(void);
void cReq_Create__FP18request_base_classUc(void);
void cReq_Done__FP18request_base_class(void);
void cReq_Is_Done__FP18request_base_class(void);
void fopOvlpReq_Cancel__FP21overlap_request_class(void);
void fopOvlpReq_Handler__FP21overlap_request_class(void);
void fopOvlpReq_Is_PeektimeLimit(void);
void fopOvlpReq_OverlapClr__FP21overlap_request_class(void);
void fopOvlpReq_Request__FP21overlap_request_classsUs(void);
void fopOvlpReq_Handler__FP21overlap_request_class(void);
void fopOvlpReq_phase_Done__FP21overlap_request_class(void);
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 fpcEx_SearchByID(void);
void fpcLy_CurrentLayer(void);
void fpcLy_RootLayer(void);
void fpcLy_SetCurrentLayer(void);
void fpcM_Delete(void);
void fpcM_IsCreating(void);
void fpcSCtRq_Request(void);
void func_8001E748(void);
void func_8001E794(void);
@ -39,95 +37,74 @@ void func_8001E904(void);
// autogenerated by split.py v0.4 at 2021-02-15 20:24:53.163658
extern u8 lbl_803A3890;
extern "C" {
// fopOvlpReq_phase_Done__FP21overlap_request_class
// fopOvlpReq_phase_Done(overlap_request_class*)
asm void fopOvlpReq_phase_Done(void) {
nofralloc
#include "f/f_op/f_op_overlap_req/asm/func_8001E6EC.s"
int fopOvlpReq_phase_Done(overlap_request_class* pOvlpReq) {
if (fpcM_Delete(pOvlpReq->field_0x20) == 1) {
pOvlpReq->field_0x20 = 0;
pOvlpReq->field_0x4 = 0;
pOvlpReq->field_0x6 = 0;
pOvlpReq->field_0x8 = 0;
pOvlpReq->field_0xc = 0;
return 2;
}
return 0;
}
// fopOvlpReq_phase_IsDone__FP21overlap_request_class
// fopOvlpReq_phase_IsDone(overlap_request_class*)
asm void func_8001E748(void) {
asm void fopOvlpReq_phase_IsDone(overlap_request_class*) {
nofralloc
#include "f/f_op/f_op_overlap_req/asm/func_8001E748.s"
}
// fopOvlpReq_phase_IsWaitOfFadeout__FP21overlap_request_class
// fopOvlpReq_phase_IsWaitOfFadeout(overlap_request_class*)
asm void func_8001E794(void) {
asm void fopOvlpReq_phase_IsWaitOfFadeout(overlap_request_class*) {
nofralloc
#include "f/f_op/f_op_overlap_req/asm/func_8001E794.s"
}
// fopOvlpReq_phase_WaitOfFadeout__FP21overlap_request_class
// fopOvlpReq_phase_WaitOfFadeout(overlap_request_class*)
asm void func_8001E7E4(void) {
asm void fopOvlpReq_phase_WaitOfFadeout(overlap_request_class*) {
nofralloc
#include "f/f_op/f_op_overlap_req/asm/func_8001E7E4.s"
}
// fopOvlpReq_phase_IsComplete__FP21overlap_request_class
// fopOvlpReq_phase_IsComplete(overlap_request_class*)
asm void func_8001E854(void) {
asm void fopOvlpReq_phase_IsComplete(overlap_request_class*) {
nofralloc
#include "f/f_op/f_op_overlap_req/asm/func_8001E854.s"
}
// fopOvlpReq_phase_IsCreated__FP21overlap_request_class
// fopOvlpReq_phase_IsCreated(overlap_request_class*)
asm void func_8001E8A4(void) {
asm void fopOvlpReq_phase_IsCreated(overlap_request_class*) {
nofralloc
#include "f/f_op/f_op_overlap_req/asm/func_8001E8A4.s"
}
// fopOvlpReq_phase_Create__FP21overlap_request_class
// fopOvlpReq_phase_Create(overlap_request_class*)
asm void func_8001E904(void) {
asm void fopOvlpReq_phase_Create(overlap_request_class*) {
nofralloc
#include "f/f_op/f_op_overlap_req/asm/func_8001E904.s"
}
// fopOvlpReq_Request__FP21overlap_request_classsUs
// fopOvlpReq_Request(overlap_request_class*, s16, u16)
asm void fopOvlpReq_Request__FP21overlap_request_classsUs(void) {
asm request_base_class* fopOvlpReq_Request(overlap_request_class*, s16, u16) {
nofralloc
#include "f/f_op/f_op_overlap_req/asm/func_8001E954.s"
}
// fopOvlpReq_Handler__FP21overlap_request_class
// fopOvlpReq_Handler(overlap_request_class*)
asm void fopOvlpReq_Handler__FP21overlap_request_class(void) {
asm int fopOvlpReq_Handler(overlap_request_class*) {
nofralloc
#include "f/f_op/f_op_overlap_req/asm/func_8001E9F0.s"
}
// fopOvlpReq_Cancel__FP21overlap_request_class
// fopOvlpReq_Cancel(overlap_request_class*)
asm void fopOvlpReq_Cancel__FP21overlap_request_class(void) {
asm int fopOvlpReq_Cancel(overlap_request_class*) {
nofralloc
#include "f/f_op/f_op_overlap_req/asm/func_8001EA88.s"
}
// fopOvlpReq_Is_PeektimeLimit__FP21overlap_request_class
// fopOvlpReq_Is_PeektimeLimit(overlap_request_class*)
asm void fopOvlpReq_Is_PeektimeLimit(void) {
asm void fopOvlpReq_Is_PeektimeLimit(overlap_request_class*) {
nofralloc
#include "f/f_op/f_op_overlap_req/asm/func_8001EAB4.s"
}
// fopOvlpReq_SetPeektime__FP21overlap_request_classUs
// fopOvlpReq_SetPeektime(overlap_request_class*, u16)
asm void fopOvlpReq_SetPeektime(void) {
asm void fopOvlpReq_SetPeektime(overlap_request_class*, u16) {
nofralloc
#include "f/f_op/f_op_overlap_req/asm/func_8001EAC4.s"
}
// fopOvlpReq_OverlapClr__FP21overlap_request_class
// fopOvlpReq_OverlapClr(overlap_request_class*)
asm void fopOvlpReq_OverlapClr__FP21overlap_request_class(void) {
asm int fopOvlpReq_OverlapClr(overlap_request_class*) {
nofralloc
#include "f/f_op/f_op_overlap_req/asm/func_8001EAD8.s"
}
};
}

View File

@ -2,8 +2,6 @@
#include "f/f_pc/f_pc_searcher.h"
#include "f/f_pc/f_pc_base.h"
extern "C" {
void* fpcSch_JudgeForPName(base_process_class* pProc, void* pUserData) {
s16 pname = *(s16*)pUserData;
if (pProc->mProcName == pname)
@ -16,5 +14,4 @@ void* fpcSch_JudgeByID(base_process_class* pProc, void* pUserData) {
if (pProc->mBsPcId == id)
return pProc;
return NULL;
}
}