most of f_op_overlap_mng OK

This commit is contained in:
Pheenoh
2021-02-15 13:34:16 -05:00
parent c29034f4bd
commit b3a4f9f7c5
24 changed files with 442 additions and 412 deletions
+3 -1
View File
@@ -9,7 +9,9 @@ struct request_base_class {
u8 field_0x1;
u8 field_0x2;
u8 field_0x3;
u32 field_0x4;
u16 field_0x4;
u8 field_0x6;
u8 field_0x7;
u32 field_0x8;
u8 field_0xc;
u8 field_0xd;
@@ -5,7 +5,7 @@
/* 8020E4D8 0020B418 7C 7F 1B 78 */ mr r31, r3
/* 8020E4DC 0020B41C 54 60 04 63 */ rlwinm. r0, r3, 0, 0x11, 0x11
/* 8020E4E0 0020B420 40 82 01 20 */ bne lbl_8020E600
/* 8020E4E4 0020B424 4B E1 00 C5 */ bl fopOvlpM_IsDoingReq
/* 8020E4E4 0020B424 4B E1 00 C5 */ bl fopOvlpM_IsDoingReq__Fv
/* 8020E4E8 0020B428 2C 03 00 00 */ cmpwi r3, 0
/* 8020E4EC 0020B42C 40 82 01 14 */ bne lbl_8020E600
/* 8020E4F0 0020B430 57 E0 06 73 */ rlwinm. r0, r31, 0, 0x19, 0x19
+1 -1
View File
@@ -2,7 +2,7 @@
/* 80018A48 00015988 7C 08 02 A6 */ mflr r0
/* 80018A4C 0001598C 90 01 00 14 */ stw r0, 0x14(r1)
/* 80018A50 00015990 48 00 63 C1 */ bl fopScnM_Management
/* 80018A54 00015994 48 00 5B FD */ bl fopOvlpM_Management
/* 80018A54 00015994 48 00 5B FD */ bl fopOvlpM_Management__Fv
/* 80018A58 00015998 48 00 59 1D */ bl fopCamM_Management
/* 80018A5C 0001599C 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80018A60 000159A0 7C 08 03 A6 */ mtlr r0
+1 -1
View File
@@ -3,7 +3,7 @@
/* 80018AA8 000159E8 90 01 00 14 */ stw r0, 0x14(r1)
/* 80018AAC 000159EC 48 00 98 0D */ bl fpcM_Init
/* 80018AB0 000159F0 48 00 63 81 */ bl fopScnM_Init
/* 80018AB4 000159F4 48 00 5C 35 */ bl fopOvlpM_Init
/* 80018AB4 000159F4 48 00 5C 35 */ bl fopOvlpM_Init__Fv
/* 80018AB8 000159F8 48 00 58 C1 */ bl fopCamM_Init__Fv
/* 80018ABC 000159FC 48 00 7A 5D */ bl fopDwTg_CreateQueue
/* 80018AC0 00015A00 38 00 FF FF */ li r0, -1
+7 -2
View File
@@ -10,11 +10,16 @@ public:
/* 0xC4 */ u8 field_0xc4;
};
int fopOvlpM_SceneIsStop(void);
int fopOvlpM_SceneIsStart(void);
void fopOvlpM_Management(void);
BOOL fopOvlpM_IsOutReq(overlap_task_class* pTaskClass);
int fopOvlpM_IsOutReq(overlap_task_class* pTaskClass);
void fopOvlpM_Done(overlap_task_class* pTaskClass);
void fopOvlpM_ToldAboutID(unsigned int param_1);
u32 fopOvlpM_IsPeek(void);
int fopOvlpM_IsPeek(void);
int fopOvlpM_IsDone(void);
int fopOvlpM_IsDoingReq(void);
int fopOvlpM_ClearOfReq(void);
request_base_class* fopOvlpM_Request(s16 param_1, u16 param_2);
#endif
+12
View File
@@ -0,0 +1,12 @@
#ifndef F_F_OP_OVERLAP_REQ_H_
#define F_F_OP_OVERLAP_REQ_H_
#include "dolphin/types.h"
class overlap_request_class;
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*);
#endif
+9
View File
@@ -0,0 +1,9 @@
#ifndef F_F_FOP_SCENE_PAUSE_H_
#define F_F_FOP_SCENE_PAUSE_H_
struct scene_class;
int fopScnPause_Enable(scene_class* pScene);
int fopScnPause_Disable(scene_class* pScene);
#endif
@@ -7,7 +7,7 @@
/* 8001E49C 0001B3DC 80 63 00 20 */ lwz r3, 0x20(r3)
/* 8001E4A0 0001B3E0 80 63 00 C8 */ lwz r3, 0xc8(r3)
/* 8001E4A4 0001B3E4 48 00 2E B5 */ bl fpcEx_SearchByID
/* 8001E4A8 0001B3E8 48 00 20 A1 */ bl fopScnPause_Enable
/* 8001E4A8 0001B3E8 48 00 20 A1 */ bl fopScnPause_Enable__FP11scene_class
/* 8001E4AC 0001B3EC 48 00 00 08 */ b lbl_8001E4B4
lbl_8001E4B0:
/* 8001E4B0 0001B3F0 38 60 00 00 */ li r3, 0
@@ -7,7 +7,7 @@
/* 8001E4DC 0001B41C 80 63 00 20 */ lwz r3, 0x20(r3)
/* 8001E4E0 0001B420 80 63 00 C8 */ lwz r3, 0xc8(r3)
/* 8001E4E4 0001B424 48 00 2E 75 */ bl fpcEx_SearchByID
/* 8001E4E8 0001B428 48 00 20 AD */ bl fopScnPause_Disable
/* 8001E4E8 0001B428 48 00 20 AD */ bl fopScnPause_Disable__FP11scene_class
/* 8001E4EC 0001B42C 48 00 00 08 */ b lbl_8001E4F4
lbl_8001E4F0:
/* 8001E4F0 0001B430 38 60 00 00 */ li r3, 0
@@ -4,7 +4,7 @@
/* 8001E5DC 0001B51C 80 6D 80 30 */ lwz r3, l_fopOvlpM_overlap-_SDA_BASE_(r13)
/* 8001E5E0 0001B520 28 03 00 00 */ cmplwi r3, 0
/* 8001E5E4 0001B524 41 82 00 0C */ beq lbl_8001E5F0
/* 8001E5E8 0001B528 48 00 04 F1 */ bl fopOvlpReq_OverlapClr
/* 8001E5E8 0001B528 48 00 04 F1 */ bl fopOvlpReq_OverlapClr__FP21overlap_request_class
/* 8001E5EC 0001B52C 48 00 00 08 */ b lbl_8001E5F4
lbl_8001E5F0:
/* 8001E5F0 0001B530 38 60 00 00 */ li r3, 0
@@ -6,10 +6,10 @@
/* 8001E618 0001B558 80 0D 80 30 */ lwz r0, l_fopOvlpM_overlap-_SDA_BASE_(r13)
/* 8001E61C 0001B55C 28 00 00 00 */ cmplwi r0, 0
/* 8001E620 0001B560 40 82 00 1C */ bne lbl_8001E63C
/* 8001E624 0001B564 3C 60 80 3F */ lis r3, lbl_803F1DE8@ha
/* 8001E628 0001B568 38 63 1D E8 */ addi r3, r3, lbl_803F1DE8@l
/* 8001E624 0001B564 3C 60 80 3F */ lis r3, l_fopOvlpM_Request@ha
/* 8001E628 0001B568 38 63 1D E8 */ addi r3, r3, l_fopOvlpM_Request@l
/* 8001E62C 0001B56C 7C C4 33 78 */ mr r4, r6
/* 8001E630 0001B570 48 00 03 25 */ bl fopOvlpReq_Request
/* 8001E630 0001B570 48 00 03 25 */ bl fopOvlpReq_Request__FP21overlap_request_classsUs
/* 8001E634 0001B574 90 6D 80 30 */ stw r3, l_fopOvlpM_overlap-_SDA_BASE_(r13)
/* 8001E638 0001B578 48 00 00 08 */ b lbl_8001E640
lbl_8001E63C:
@@ -4,7 +4,7 @@
/* 8001E65C 0001B59C 80 6D 80 30 */ lwz r3, l_fopOvlpM_overlap-_SDA_BASE_(r13)
/* 8001E660 0001B5A0 28 03 00 00 */ cmplwi r3, 0
/* 8001E664 0001B5A4 41 82 00 24 */ beq lbl_8001E688
/* 8001E668 0001B5A8 48 00 03 89 */ bl fopOvlpReq_Handler
/* 8001E668 0001B5A8 48 00 03 89 */ bl fopOvlpReq_Handler__FP21overlap_request_class
/* 8001E66C 0001B5AC 2C 03 00 06 */ cmpwi r3, 6
/* 8001E670 0001B5B0 40 80 00 18 */ bge lbl_8001E688
/* 8001E674 0001B5B4 2C 03 00 03 */ cmpwi r3, 3
@@ -7,7 +7,7 @@
/* 8001E6B0 0001B5F0 38 60 00 01 */ li r3, 1
/* 8001E6B4 0001B5F4 48 00 00 24 */ b lbl_8001E6D8
lbl_8001E6B8:
/* 8001E6B8 0001B5F8 48 00 03 D1 */ bl fopOvlpReq_Cancel
/* 8001E6B8 0001B5F8 48 00 03 D1 */ bl fopOvlpReq_Cancel__FP21overlap_request_class
/* 8001E6BC 0001B5FC 2C 03 00 01 */ cmpwi r3, 1
/* 8001E6C0 0001B600 40 82 00 14 */ bne lbl_8001E6D4
/* 8001E6C4 0001B604 38 00 00 00 */ li r0, 0