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
No known key found for this signature in database
GPG Key ID: 4312662758CE7D5A
24 changed files with 442 additions and 412 deletions

View File

@ -107,8 +107,8 @@ lbl_803F1D80:
.global l_fopCamM_id
l_fopCamM_id:
.skip 0x10
.global lbl_803F1DE8
lbl_803F1DE8:
.global l_fopOvlpM_Request
l_fopOvlpM_Request:
.skip 0x28
.global lbl_803F1E10
lbl_803F1E10:

View File

@ -814,7 +814,7 @@ lbl_801FAB0C:
/* 801FAB70 001F7AB0 48 00 22 69 */ bl dMw_c_NS_isPauseReady
/* 801FAB74 001F7AB4 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 801FAB78 001F7AB8 41 82 04 4C */ beq lbl_801FAFC4
/* 801FAB7C 001F7ABC 4B E2 3A 2D */ bl fopOvlpM_IsDoingReq
/* 801FAB7C 001F7ABC 4B E2 3A 2D */ bl fopOvlpM_IsDoingReq__Fv
/* 801FAB80 001F7AC0 2C 03 00 00 */ cmpwi r3, 0
/* 801FAB84 001F7AC4 40 82 04 40 */ bne lbl_801FAFC4
/* 801FAB88 001F7AC8 88 0D 86 66 */ lbz r0, lbl_80450BE6-_SDA_BASE_(r13)

View File

@ -78,7 +78,7 @@ lbl_80252264:
/* 8025227C 0024F1BC 38 60 00 07 */ li r3, 7
/* 80252280 0024F1C0 4B FF FF 05 */ bl dOvlpFd_startFadeIn
lbl_80252284:
/* 80252284 0024F1C4 4B DC C2 41 */ bl fopOvlpM_SceneIsStart
/* 80252284 0024F1C4 4B DC C2 41 */ bl fopOvlpM_SceneIsStart__Fv
/* 80252288 0024F1C8 80 7E 00 CC */ lwz r3, 0xcc(r30)
/* 8025228C 0024F1CC 34 03 FF FF */ addic. r0, r3, -1
/* 80252290 0024F1D0 90 1E 00 CC */ stw r0, 0xcc(r30)

View File

@ -426,7 +426,7 @@ lbl_80252A64:
/* 80252AF8 0024FA38 4B DC BA 0D */ bl fopOvlpM_IsOutReq__FP18overlap_task_class
/* 80252AFC 0024FA3C 2C 03 00 00 */ cmpwi r3, 0
/* 80252B00 0024FA40 41 82 00 38 */ beq lbl_80252B38
/* 80252B04 0024FA44 4B DC B9 C1 */ bl fopOvlpM_SceneIsStart
/* 80252B04 0024FA44 4B DC B9 C1 */ bl fopOvlpM_SceneIsStart__Fv
/* 80252B08 0024FA48 3C 60 80 3C */ lis r3, lbl_803C2D08@ha
/* 80252B0C 0024FA4C 38 83 2D 08 */ addi r4, r3, lbl_803C2D08@l
/* 80252B10 0024FA50 80 64 00 00 */ lwz r3, 0(r4)
@ -539,7 +539,7 @@ lbl_80252C54:
/* 80252CA8 0024FBE8 88 1F 01 1E */ lbz r0, 0x11e(r31)
/* 80252CAC 0024FBEC 28 00 00 00 */ cmplwi r0, 0
/* 80252CB0 0024FBF0 40 82 00 14 */ bne lbl_80252CC4
/* 80252CB4 0024FBF4 4B DC B8 11 */ bl fopOvlpM_SceneIsStart
/* 80252CB4 0024FBF4 4B DC B8 11 */ bl fopOvlpM_SceneIsStart__Fv
/* 80252CB8 0024FBF8 38 00 00 01 */ li r0, 1
/* 80252CBC 0024FBFC 98 1F 01 1E */ stb r0, 0x11e(r31)
/* 80252CC0 0024FC00 48 00 00 38 */ b lbl_80252CF8
@ -557,7 +557,7 @@ lbl_80252CE4:
/* 80252CE8 0024FC28 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha
/* 80252CEC 0024FC2C 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l
/* 80252CF0 0024FC30 98 03 5D 44 */ stb r0, 0x5d44(r3)
/* 80252CF4 0024FC34 4B DC B7 91 */ bl fopOvlpM_SceneIsStop
/* 80252CF4 0024FC34 4B DC B7 91 */ bl fopOvlpM_SceneIsStop__Fv
lbl_80252CF8:
/* 80252CF8 0024FC38 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80252CFC 0024FC3C 80 01 00 14 */ lwz r0, 0x14(r1)

View File

@ -463,7 +463,7 @@ lbl_80253598:
/* 802535DC 0025051C 4B DC AF 29 */ bl fopOvlpM_IsOutReq__FP18overlap_task_class
/* 802535E0 00250520 2C 03 00 00 */ cmpwi r3, 0
/* 802535E4 00250524 41 82 00 38 */ beq lbl_8025361C
/* 802535E8 00250528 4B DC AE DD */ bl fopOvlpM_SceneIsStart
/* 802535E8 00250528 4B DC AE DD */ bl fopOvlpM_SceneIsStart__Fv
/* 802535EC 0025052C 3C 60 80 3C */ lis r3, lbl_803C2D88@ha
/* 802535F0 00250530 38 83 2D 88 */ addi r4, r3, lbl_803C2D88@l
/* 802535F4 00250534 80 64 00 00 */ lwz r3, 0(r4)
@ -565,7 +565,7 @@ lbl_8025371C:
/* 80253760 002506A0 88 1F 01 1E */ lbz r0, 0x11e(r31)
/* 80253764 002506A4 28 00 00 00 */ cmplwi r0, 0
/* 80253768 002506A8 40 82 00 14 */ bne lbl_8025377C
/* 8025376C 002506AC 4B DC AD 59 */ bl fopOvlpM_SceneIsStart
/* 8025376C 002506AC 4B DC AD 59 */ bl fopOvlpM_SceneIsStart__Fv
/* 80253770 002506B0 38 00 00 01 */ li r0, 1
/* 80253774 002506B4 98 1F 01 1E */ stb r0, 0x11e(r31)
/* 80253778 002506B8 48 00 00 20 */ b lbl_80253798

View File

@ -172,8 +172,8 @@ lbl_8001E8F0:
/* 8001E94C 0001B88C 38 21 00 10 */ addi r1, r1, 0x10
/* 8001E950 0001B890 4E 80 00 20 */ blr
.global fopOvlpReq_Request
fopOvlpReq_Request:
.global fopOvlpReq_Request__FP21overlap_request_classsUs
fopOvlpReq_Request__FP21overlap_request_classsUs:
/* 8001E954 0001B894 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 8001E958 0001B898 7C 08 02 A6 */ mflr r0
/* 8001E95C 0001B89C 90 01 00 24 */ stw r0, 0x24(r1)
@ -216,8 +216,8 @@ lbl_8001E9D8:
/* 8001E9E8 0001B928 38 21 00 20 */ addi r1, r1, 0x20
/* 8001E9EC 0001B92C 4E 80 00 20 */ blr
.global fopOvlpReq_Handler
fopOvlpReq_Handler:
.global fopOvlpReq_Handler__FP21overlap_request_class
fopOvlpReq_Handler__FP21overlap_request_class:
/* 8001E9F0 0001B930 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8001E9F4 0001B934 7C 08 02 A6 */ mflr r0
/* 8001E9F8 0001B938 90 01 00 14 */ stw r0, 0x14(r1)
@ -242,7 +242,7 @@ lbl_8001EA34:
/* 8001EA40 0001B980 48 00 00 20 */ b lbl_8001EA60
lbl_8001EA44:
/* 8001EA44 0001B984 7F E3 FB 78 */ mr r3, r31
/* 8001EA48 0001B988 4B FF FF A9 */ bl fopOvlpReq_Handler
/* 8001EA48 0001B988 4B FF FF A9 */ bl fopOvlpReq_Handler__FP21overlap_request_class
/* 8001EA4C 0001B98C 48 00 00 28 */ b lbl_8001EA74
lbl_8001EA50:
/* 8001EA50 0001B990 38 60 00 00 */ li r3, 0
@ -265,8 +265,8 @@ lbl_8001EA74:
/* 8001EA80 0001B9C0 38 21 00 10 */ addi r1, r1, 0x10
/* 8001EA84 0001B9C4 4E 80 00 20 */ blr
.global fopOvlpReq_Cancel
fopOvlpReq_Cancel:
.global fopOvlpReq_Cancel__FP21overlap_request_class
fopOvlpReq_Cancel__FP21overlap_request_class:
/* 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)
@ -294,8 +294,8 @@ fopOvlpReq_SetPeektime:
/* 8001EAD0 0001BA10 B0 83 00 06 */ sth r4, 6(r3)
/* 8001EAD4 0001BA14 4E 80 00 20 */ blr
.global fopOvlpReq_OverlapClr
fopOvlpReq_OverlapClr:
.global fopOvlpReq_OverlapClr__FP21overlap_request_class
fopOvlpReq_OverlapClr__FP21overlap_request_class:
/* 8001EAD8 0001BA18 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8001EADC 0001BA1C 7C 08 02 A6 */ mflr r0
/* 8001EAE0 0001BA20 90 01 00 14 */ stw r0, 0x14(r1)

View File

@ -3,8 +3,8 @@
.section .text, "ax" # 80020548
.global fopScnPause_Enable
fopScnPause_Enable:
.global fopScnPause_Enable__FP11scene_class
fopScnPause_Enable__FP11scene_class:
/* 80020548 0001D488 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8002054C 0001D48C 7C 08 02 A6 */ mflr r0
/* 80020550 0001D490 90 01 00 14 */ stw r0, 0x14(r1)
@ -27,8 +27,8 @@ lbl_80020580:
/* 8002058C 0001D4CC 38 21 00 10 */ addi r1, r1, 0x10
/* 80020590 0001D4D0 4E 80 00 20 */ blr
.global fopScnPause_Disable
fopScnPause_Disable:
.global fopScnPause_Disable__FP11scene_class
fopScnPause_Disable__FP11scene_class:
/* 80020594 0001D4D4 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80020598 0001D4D8 7C 08 02 A6 */ mflr r0
/* 8002059C 0001D4DC 90 01 00 14 */ stw r0, 0x14(r1)

View File

@ -6,7 +6,7 @@
/* 8001EE34 0001BD74 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8001EE38 0001BD78 7C 08 02 A6 */ mflr r0
/* 8001EE3C 0001BD7C 90 01 00 14 */ stw r0, 0x14(r1)
/* 8001EE40 0001BD80 4B FF F7 91 */ bl fopOvlpM_ClearOfReq
/* 8001EE40 0001BD80 4B FF F7 91 */ bl fopOvlpM_ClearOfReq__Fv
/* 8001EE44 0001BD84 2C 03 00 01 */ cmpwi r3, 1
/* 8001EE48 0001BD88 38 60 00 00 */ li r3, 0
/* 8001EE4C 0001BD8C 40 82 00 08 */ bne lbl_8001EE54
@ -27,7 +27,7 @@ lbl_8001EE54:
/* 8001EE84 0001BDC4 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8001EE88 0001BDC8 7C 08 02 A6 */ mflr r0
/* 8001EE8C 0001BDCC 90 01 00 14 */ stw r0, 0x14(r1)
/* 8001EE90 0001BDD0 4B FF F7 19 */ bl fopOvlpM_IsDoingReq
/* 8001EE90 0001BDD0 4B FF F7 19 */ bl fopOvlpM_IsDoingReq__Fv
/* 8001EE94 0001BDD4 2C 03 00 01 */ cmpwi r3, 1
/* 8001EE98 0001BDD8 38 60 00 00 */ li r3, 0
/* 8001EE9C 0001BDDC 40 82 00 08 */ bne lbl_8001EEA4
@ -58,7 +58,7 @@ lbl_8001EED4:
/* 8001EEF8 0001BE38 41 82 00 10 */ beq lbl_8001EF08
/* 8001EEFC 0001BE3C 80 63 00 54 */ lwz r3, 0x54(r3)
/* 8001EF00 0001BE40 48 00 24 59 */ bl fpcEx_SearchByID
/* 8001EF04 0001BE44 48 00 16 91 */ bl fopScnPause_Disable
/* 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)
@ -98,7 +98,7 @@ lbl_8001EF58:
/* 8001EF80 0001BEC0 80 04 00 64 */ lwz r0, 0x64(r4)
/* 8001EF84 0001BEC4 28 00 00 00 */ cmplwi r0, 0
/* 8001EF88 0001BEC8 41 82 00 10 */ beq lbl_8001EF98
/* 8001EF8C 0001BECC 48 00 15 BD */ bl fopScnPause_Enable
/* 8001EF8C 0001BECC 48 00 15 BD */ bl fopScnPause_Enable__FP11scene_class
/* 8001EF90 0001BED0 80 7F 00 04 */ lwz r3, 4(r31)
/* 8001EF94 0001BED4 4B FF F5 AD */ bl fopOvlpM_ToldAboutID__FUi
lbl_8001EF98:
@ -114,7 +114,7 @@ lbl_8001EF98:
/* 8001EFBC 0001BEFC 80 03 00 64 */ lwz r0, 0x64(r3)
/* 8001EFC0 0001BF00 28 00 00 00 */ cmplwi r0, 0
/* 8001EFC4 0001BF04 41 82 00 18 */ beq lbl_8001EFDC
/* 8001EFC8 0001BF08 4B FF F6 D1 */ bl fopOvlpM_Cancel
/* 8001EFC8 0001BF08 4B FF F6 D1 */ bl fopOvlpM_Cancel__Fv
/* 8001EFCC 0001BF0C 2C 03 00 00 */ cmpwi r3, 0
/* 8001EFD0 0001BF10 40 82 00 0C */ bne lbl_8001EFDC
/* 8001EFD4 0001BF14 38 60 00 00 */ li r3, 0
@ -136,7 +136,7 @@ fopScnRq_FadeRequest:
/* 8001F000 0001BF40 80 0D 87 60 */ lwz r0, lbl_80450CE0-_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
/* 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

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;

View File

@ -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

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

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

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

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

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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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:

View File

@ -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

View File

@ -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

View File

@ -2,10 +2,12 @@
#include "Z2AudioLib/Z2SeMgr/Z2SeMgr.h"
#include "d/d_com/d_com_inf_game/d_com_inf_game.h"
#include "f/f_op/f_op_overlap_mng.h"
#include "global.h"
#include "m_Do/m_Do_audio/m_Do_audio.h"
#include "m_Do/m_Do_controller_pad/m_Do_controller_pad.h"
extern "C" {
void fopOvlpM_IsDoingReq__Fv(void);
bool dComIfGp_checkMapShow(void);
int strcmp(const char*, const char*);
void __dl__FPv(void);
@ -33,7 +35,6 @@ void dMsgObject_c_NS_getStatus(void);
void dMw_LEFT_TRIGGER(void);
void dMw_RIGHT_TRIGGER(void);
void dStage_roomControl_c_NS_getStatusRoomDt(void);
void fopOvlpM_IsDoingReq(void);
void isDungeonItem__12dSv_memBit_cCFi(void);
void isEventBit__11dSv_event_cCFUs(void);
void J2DPicture_X3_(void);

File diff suppressed because it is too large Load Diff

View File

@ -2,6 +2,9 @@
#include "f/f_op/f_op_overlap_mng.h"
#include "SComponent/c_request.h"
#include "f/f_op/f_op_overlap_req.h"
#include "f/f_op/f_op_scene_pause.h"
#include "f/f_pc/f_pc_executor.h"
#include "global.h"
// additional symbols needed for f_op_overlap_mng.cpp
@ -9,52 +12,44 @@
extern "C" {
// void cReq_Done__FP18request_base_class(void);
void cReq_Is_Done__FP18request_base_class(void);
void fopOvlpM_Cancel(void);
void fopOvlpM_ClearOfReq(void);
void fopOvlpM_Done(void);
void fopOvlpM_Init(void);
void fopOvlpM_IsDoingReq(void);
void fopOvlpM_Request(void);
void fopOvlpM_SceneIsStart(void);
void fopOvlpM_SceneIsStop(void);
void fopOvlpM_ToldAboutID(void);
void fopOvlpReq_Cancel(void);
void fopOvlpReq_Handler(void);
void fopOvlpReq_OverlapClr(void);
void fopOvlpReq_Request(void);
void fopScnPause_Disable(void);
void fopScnPause_Enable(void);
void fpcEx_SearchByID(void);
void fopOvlpReq_OverlapClr__FP21overlap_request_class(void);
}
// additional symbols needed for f_op_overlap_mng.cpp
// autogenerated by split.py v0.4 at 2021-02-13 20:35:13.072619
extern u8 lbl_803F1DE8;
extern request_base_class* l_fopOvlpM_overlap;
extern overlap_request_class l_fopOvlpM_Request;
extern "C" {
// fopOvlpM_SceneIsStop__Fv
// fopOvlpM_SceneIsStop(void)
asm void fopOvlpM_SceneIsStop(void) {
nofralloc
#include "f/f_op_overlap_mng/asm/func_8001E484.s"
int fopOvlpM_SceneIsStop(void) {
if (l_fopOvlpM_overlap) {
return fopScnPause_Enable(
(scene_class*)fpcEx_SearchByID(l_fopOvlpM_overlap->field_0x20[0x32]));
} else {
return 0;
}
}
// fopOvlpM_SceneIsStart__Fv
// fopOvlpM_SceneIsStart(void)
asm void fopOvlpM_SceneIsStart(void) {
nofralloc
#include "f/f_op_overlap_mng/asm/func_8001E4C4.s"
int fopOvlpM_SceneIsStart(void) {
if (l_fopOvlpM_overlap) {
return fopScnPause_Disable(
(scene_class*)fpcEx_SearchByID(l_fopOvlpM_overlap->field_0x20[0x32]));
} else {
return 0;
}
}
};
// 1 instruction off
#ifdef NONMATCHING
BOOL fopOvlpM_IsOutReq(overlap_task_class* pTaskClass) {
int fopOvlpM_IsOutReq(overlap_task_class* pTaskClass) {
return pTaskClass->field_0xc4 == 2;
}
#else
asm BOOL fopOvlpM_IsOutReq(overlap_task_class* pTaskClass) {
asm int fopOvlpM_IsOutReq(overlap_task_class* pTaskClass) {
nofralloc
#include "f/f_op_overlap_mng/asm/func_8001E504.s"
}
@ -68,53 +63,59 @@ void fopOvlpM_ToldAboutID(unsigned int param_1) {
l_fopOvlpM_overlap ? l_fopOvlpM_overlap->field_0x20[0x32] = param_1 : 0;
}
u32 fopOvlpM_IsPeek(void) {
int fopOvlpM_IsPeek(void) {
return l_fopOvlpM_overlap ? l_fopOvlpM_overlap->field_0x8 : 0;
}
int fopOvlpM_IsDone(void) {
return l_fopOvlpM_overlap ? cReq_Is_Done(l_fopOvlpM_overlap) : 0;
}
extern "C" {
// fopOvlpM_IsDoingReq__Fv
// fopOvlpM_IsDoingReq(void)
asm void fopOvlpM_IsDoingReq(void) {
nofralloc
#include "f/f_op_overlap_mng/asm/func_8001E5A8.s"
int fopOvlpM_IsDoingReq(void) {
if (l_fopOvlpM_overlap && l_fopOvlpM_overlap->field_0x4 == 1) {
return 1;
}
return 0;
}
// fopOvlpM_ClearOfReq__Fv
// fopOvlpM_ClearOfReq(void)
asm void fopOvlpM_ClearOfReq(void) {
nofralloc
#include "f/f_op_overlap_mng/asm/func_8001E5D0.s"
int fopOvlpM_ClearOfReq(void) {
return l_fopOvlpM_overlap ? fopOvlpReq_OverlapClr((overlap_request_class*)l_fopOvlpM_overlap) :
0;
}
// fopOvlpM_Request__FsUs
// fopOvlpM_Request(s16, u16)
asm void fopOvlpM_Request(void) {
nofralloc
#include "f/f_op_overlap_mng/asm/func_8001E604.s"
request_base_class* fopOvlpM_Request(s16 param_1, u16 param_2) {
if (!l_fopOvlpM_overlap) {
request_base_class* tmp = fopOvlpReq_Request(&l_fopOvlpM_Request, param_1, param_2);
l_fopOvlpM_overlap = tmp;
return tmp;
}
return 0;
}
// fopOvlpM_Management__Fv
// fopOvlpM_Management(void)
asm void fopOvlpM_Management(void) {
nofralloc
#include "f/f_op_overlap_mng/asm/func_8001E650.s"
void fopOvlpM_Management(void) {
if (l_fopOvlpM_overlap) {
int tmp = fopOvlpReq_Handler((overlap_request_class*)l_fopOvlpM_overlap);
if (6 <= tmp || 3 > tmp) {
return;
}
l_fopOvlpM_overlap = 0;
}
}
// fopOvlpM_Cancel__Fv
// fopOvlpM_Cancel(void)
asm void fopOvlpM_Cancel(void) {
nofralloc
#include "f/f_op_overlap_mng/asm/func_8001E698.s"
int fopOvlpM_Cancel(void) {
if (!l_fopOvlpM_overlap) {
return 1;
}
if (fopOvlpReq_Cancel((overlap_request_class*)l_fopOvlpM_overlap) == 1) {
l_fopOvlpM_overlap = 0;
return 1;
}
return 0;
}
// fopOvlpM_Init__Fv
// fopOvlpM_Init(void)
asm void fopOvlpM_Init(void) {
nofralloc
#include "f/f_op_overlap_mng/asm/func_8001E6E8.s"
}
};
void fopOvlpM_Init(void) {
return;
}