diff --git a/asm/bss.s b/asm/bss.s index f070128cb03..bb36b7a811d 100644 --- a/asm/bss.s +++ b/asm/bss.s @@ -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: diff --git a/asm/d/menu/d_menu_window.s b/asm/d/menu/d_menu_window.s index 323e901293b..a231f46c357 100644 --- a/asm/d/menu/d_menu_window.s +++ b/asm/d/menu/d_menu_window.s @@ -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) diff --git a/asm/d/ovlp/d_ovlp_fade.s b/asm/d/ovlp/d_ovlp_fade.s index 2bca4f44ce7..cfc98e0a6bf 100644 --- a/asm/d/ovlp/d_ovlp_fade.s +++ b/asm/d/ovlp/d_ovlp_fade.s @@ -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) diff --git a/asm/d/ovlp/d_ovlp_fade2.s b/asm/d/ovlp/d_ovlp_fade2.s index f0654b7b75f..81c9e0071ef 100644 --- a/asm/d/ovlp/d_ovlp_fade2.s +++ b/asm/d/ovlp/d_ovlp_fade2.s @@ -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) diff --git a/asm/d/ovlp/d_ovlp_fade3.s b/asm/d/ovlp/d_ovlp_fade3.s index d7d281ef857..e7aae9b4146 100644 --- a/asm/d/ovlp/d_ovlp_fade3.s +++ b/asm/d/ovlp/d_ovlp_fade3.s @@ -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 diff --git a/asm/f/op/overlap/f_op_overlap_req.s b/asm/f/op/overlap/f_op_overlap_req.s index 881d834f5ca..cc0fada7cac 100644 --- a/asm/f/op/overlap/f_op_overlap_req.s +++ b/asm/f/op/overlap/f_op_overlap_req.s @@ -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) diff --git a/asm/f/op/scene/f_op_scene_pause.s b/asm/f/op/scene/f_op_scene_pause.s index a82a0c6291e..7a8b40b8459 100644 --- a/asm/f/op/scene/f_op_scene_pause.s +++ b/asm/f/op/scene/f_op_scene_pause.s @@ -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) diff --git a/asm/f/op/scene/f_op_scene_req.s b/asm/f/op/scene/f_op_scene_req.s index f115d81ed52..87dd035cef1 100644 --- a/asm/f/op/scene/f_op_scene_req.s +++ b/asm/f/op/scene/f_op_scene_req.s @@ -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 diff --git a/include/SComponent/c_request.h b/include/SComponent/c_request.h index 34359d78ec9..e5fba9ce726 100644 --- a/include/SComponent/c_request.h +++ b/include/SComponent/c_request.h @@ -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; diff --git a/include/d/d_meter/d_meter_map/asm/func_8020E4C8.s b/include/d/d_meter/d_meter_map/asm/func_8020E4C8.s index a546bc344cd..ec740eec983 100644 --- a/include/d/d_meter/d_meter_map/asm/func_8020E4C8.s +++ b/include/d/d_meter/d_meter_map/asm/func_8020E4C8.s @@ -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 diff --git a/include/f/f_ap_game/asm/func_80018A44.s b/include/f/f_ap_game/asm/func_80018A44.s index 62f3df067dc..01265e63b39 100644 --- a/include/f/f_ap_game/asm/func_80018A44.s +++ b/include/f/f_ap_game/asm/func_80018A44.s @@ -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 diff --git a/include/f/f_ap_game/asm/func_80018AA0.s b/include/f/f_ap_game/asm/func_80018AA0.s index c343c4a04b6..75ea6c239cc 100644 --- a/include/f/f_ap_game/asm/func_80018AA0.s +++ b/include/f/f_ap_game/asm/func_80018AA0.s @@ -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 diff --git a/include/f/f_op/f_op_overlap_mng.h b/include/f/f_op/f_op_overlap_mng.h index 7de9206f455..c8f5c0bf379 100644 --- a/include/f/f_op/f_op_overlap_mng.h +++ b/include/f/f_op/f_op_overlap_mng.h @@ -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 \ No newline at end of file diff --git a/include/f/f_op/f_op_overlap_req.h b/include/f/f_op/f_op_overlap_req.h new file mode 100644 index 00000000000..174e139806d --- /dev/null +++ b/include/f/f_op/f_op_overlap_req.h @@ -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 \ No newline at end of file diff --git a/include/f/f_op/f_op_scene_pause.h b/include/f/f_op/f_op_scene_pause.h new file mode 100644 index 00000000000..d7a4edf28c4 --- /dev/null +++ b/include/f/f_op/f_op_scene_pause.h @@ -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 \ No newline at end of file diff --git a/include/f/f_op_overlap_mng/asm/func_8001E484.s b/include/f/f_op_overlap_mng/asm/func_8001E484.s index eefb2b5847b..4abc2e66da8 100644 --- a/include/f/f_op_overlap_mng/asm/func_8001E484.s +++ b/include/f/f_op_overlap_mng/asm/func_8001E484.s @@ -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 diff --git a/include/f/f_op_overlap_mng/asm/func_8001E4C4.s b/include/f/f_op_overlap_mng/asm/func_8001E4C4.s index ce4adccada5..c36efca00be 100644 --- a/include/f/f_op_overlap_mng/asm/func_8001E4C4.s +++ b/include/f/f_op_overlap_mng/asm/func_8001E4C4.s @@ -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 diff --git a/include/f/f_op_overlap_mng/asm/func_8001E5D0.s b/include/f/f_op_overlap_mng/asm/func_8001E5D0.s index b291f6de812..0e55264c1a4 100644 --- a/include/f/f_op_overlap_mng/asm/func_8001E5D0.s +++ b/include/f/f_op_overlap_mng/asm/func_8001E5D0.s @@ -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 diff --git a/include/f/f_op_overlap_mng/asm/func_8001E604.s b/include/f/f_op_overlap_mng/asm/func_8001E604.s index a00e202f557..e0e9ffbad11 100644 --- a/include/f/f_op_overlap_mng/asm/func_8001E604.s +++ b/include/f/f_op_overlap_mng/asm/func_8001E604.s @@ -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: diff --git a/include/f/f_op_overlap_mng/asm/func_8001E650.s b/include/f/f_op_overlap_mng/asm/func_8001E650.s index 29474a4ad52..6ff9b8dfc98 100644 --- a/include/f/f_op_overlap_mng/asm/func_8001E650.s +++ b/include/f/f_op_overlap_mng/asm/func_8001E650.s @@ -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 diff --git a/include/f/f_op_overlap_mng/asm/func_8001E698.s b/include/f/f_op_overlap_mng/asm/func_8001E698.s index 3ec0dfd0f76..93839415eef 100644 --- a/include/f/f_op_overlap_mng/asm/func_8001E698.s +++ b/include/f/f_op_overlap_mng/asm/func_8001E698.s @@ -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 diff --git a/src/d/d_meter/d_meter_map.cpp b/src/d/d_meter/d_meter_map.cpp index d35df48c658..882f6586ef8 100644 --- a/src/d/d_meter/d_meter_map.cpp +++ b/src/d/d_meter/d_meter_map.cpp @@ -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); diff --git a/src/d/d_save/d_save.cpp b/src/d/d_save/d_save.cpp index 0ee4b00adc4..0b9f93475a1 100644 --- a/src/d/d_save/d_save.cpp +++ b/src/d/d_save/d_save.cpp @@ -61,62 +61,62 @@ u8 dSv_item_rename(u8 item_id) { } void dSv_player_status_a_c::init() { - this->mMaxHealth = 15; - this->mCurrentHealth = 12; - this->mCurrentRupees = 0; - this->mMaxLanternOil = 0; - this->mCurrentLanternOil = 0; - this->unk10 = 0; + mMaxHealth = 15; + mCurrentHealth = 12; + mCurrentRupees = 0; + mMaxLanternOil = 0; + mCurrentLanternOil = 0; + unk10 = 0; for (int i = 0; i < 4; i++) { - this->mSelectItem[i] = NO_ITEM; - this->mMixItem[i + 1] = NO_ITEM; + mSelectItem[i] = NO_ITEM; + mMixItem[i + 1] = NO_ITEM; dComIfGp_setSelectItem(i); } for (int i = 0; i < 6; i++) { - this->mEquipment[i] = 0; + mEquipment[i] = 0; } - this->mEquipment[0] = WEARS_CASUAL; - this->mEquipment[1] = NO_ITEM; - this->mEquipment[2] = NO_ITEM; - this->mEquipment[3] = NO_ITEM; - this->mEquipment[4] = NO_ITEM; - this->mCurrentWallet = WALLET; - this->mMaxMagic = 0; - this->mCurrentMagic = 0; - this->mMagicFlag = 0; - this->unk29 = 0; - this->unk30 = 0; + mEquipment[0] = WEARS_CASUAL; + mEquipment[1] = NO_ITEM; + mEquipment[2] = NO_ITEM; + mEquipment[3] = NO_ITEM; + mEquipment[4] = NO_ITEM; + mCurrentWallet = WALLET; + mMaxMagic = 0; + mCurrentMagic = 0; + mMagicFlag = 0; + unk29 = 0; + unk30 = 0; for (int i = 0; i < 3; i++) { - this->unk31[i] = 0; + unk31[i] = 0; } } void dSv_player_status_a_c::setSelectItemIndex(signed int i_no, u8 item_index) { if (i_no < ITEM_XY_MAX_DUMMY / 2) { - this->mSelectItem[i_no] = item_index; + mSelectItem[i_no] = item_index; } } u8 dSv_player_status_a_c::getSelectItemIndex(signed int i_no) const { if (i_no < ITEM_XY_MAX_DUMMY / 2) { - return this->mSelectItem[i_no]; + return mSelectItem[i_no]; } return 0; } void dSv_player_status_a_c::setMixItemIndex(signed int i_no, u8 item_index) { if (i_no < ITEM_XY_MAX_DUMMY / 2) { - this->mMixItem[i_no + 1] = item_index; + mMixItem[i_no + 1] = item_index; } } u8 dSv_player_status_a_c::getMixItemIndex(signed int i_no) const { if (i_no < ITEM_XY_MAX_DUMMY / 2) { - return this->mMixItem[i_no + 1]; + return mMixItem[i_no + 1]; } return 0; } @@ -141,37 +141,37 @@ asm BOOL dSv_player_status_a_c::isMagicFlag(u8 i_magic) const { // if (i_magic == 0) { // return dComIfGs_isEventBit(0x2304); // } - // return (this->mMagicFlag & (u8)(1 << i_magic)) ? TRUE : FALSE; + // return (mMagicFlag & (u8)(1 << i_magic)) ? TRUE : FALSE; } void dSv_player_status_b_c::init() { - this->unk4 = 0; - this->unk0 = 0; - this->mTransformLevelFlag = 0; - this->mDarkClearLevelFlag = 0; - this->unk10 = 0; - this->mTimeOfDay = lbl_80451D58; - this->unk16 = 0; + unk4 = 0; + unk0 = 0; + mTransformLevelFlag = 0; + mDarkClearLevelFlag = 0; + unk10 = 0; + mTimeOfDay = lbl_80451D58; + unk16 = 0; for (int i = 0; i < 3; i++) { - this->unk18[i] = 0; + unk18[i] = 0; } } void dSv_player_status_b_c::onDarkClearLV(int flagOnOff) { - this->mDarkClearLevelFlag |= (u8)(1 << flagOnOff); + mDarkClearLevelFlag |= (u8)(1 << flagOnOff); } BOOL dSv_player_status_b_c::isDarkClearLV(int unk) const { - return this->mDarkClearLevelFlag & (u8)(1 << unk) ? TRUE : FALSE; + return mDarkClearLevelFlag & (u8)(1 << unk) ? TRUE : FALSE; } void dSv_player_status_b_c::onTransformLV(int flagOnOff) { - this->mTransformLevelFlag |= (u8)(1 << flagOnOff); + mTransformLevelFlag |= (u8)(1 << flagOnOff); } BOOL dSv_player_status_b_c::isTransformLV(int unk) const { - return this->mTransformLevelFlag & (u8)(1 << unk) ? TRUE : FALSE; + return mTransformLevelFlag & (u8)(1 << unk) ? TRUE : FALSE; } void dSv_horse_place_c::init(void) { @@ -180,36 +180,36 @@ void dSv_horse_place_c::init(void) { default_stage = strcpy(mCurrentStage, (char*)lbl_80379234); position_val = lbl_80451D5C; - this->mPosition.x = lbl_80451D5C; - this->mPosition.y = position_val; - this->mPosition.z = position_val; - this->mXRotation = 0; - this->mSpawnId = 0; - this->mRoomId = 0; + mPosition.x = lbl_80451D5C; + mPosition.y = position_val; + mPosition.z = position_val; + mXRotation = 0; + mSpawnId = 0; + mRoomId = 0; } void dSv_horse_place_c::set(const char* i_name, const cXyz& i_position, s16 i_x_rot, signed char i_room_id) { strcpy(mCurrentStage, i_name); - this->mPosition.x = i_position.x; - this->mPosition.y = i_position.y; - this->mPosition.z = i_position.z; - this->mXRotation = i_x_rot; - this->mRoomId = i_room_id; + mPosition.x = i_position.x; + mPosition.y = i_position.y; + mPosition.z = i_position.z; + mXRotation = i_x_rot; + mRoomId = i_room_id; } void dSv_player_return_place_c::init(void) { strcpy(mCurrentStage, (char*)lbl_80379234 + 1); - this->mRoomId = 1; - this->mSpawnId = 0; - this->unk10 = 21; - this->unk11 = 0; + mRoomId = 1; + mSpawnId = 0; + unk10 = 21; + unk11 = 0; } void dSv_player_return_place_c::set(const char* i_name, s8 i_room_id, u8 i_spawn_id) { strcpy(mCurrentStage, i_name); - this->mRoomId = i_room_id; - this->mSpawnId = i_spawn_id; + mRoomId = i_room_id; + mSpawnId = i_spawn_id; } void dSv_player_field_last_stay_info_c::init() { @@ -218,17 +218,17 @@ void dSv_player_field_last_stay_info_c::init() { strcpy(mLastStage, (char*)lbl_80379234); position_val = lbl_80451D5C; - this->mLastPosition.x = lbl_80451D5C; - this->mLastPosition.y = position_val; - this->mLastPosition.z = position_val; - this->mLastAngle = 0; - this->mLastSpawnId = 0; - this->mLastRoomId = 1; - this->unk24 = 0; - this->mLastRegion = 0; + mLastPosition.x = lbl_80451D5C; + mLastPosition.y = position_val; + mLastPosition.z = position_val; + mLastAngle = 0; + mLastSpawnId = 0; + mLastRoomId = 1; + unk24 = 0; + mLastRegion = 0; for (int i = 0; i < 2; i++) { - this->unk26[i] = 0; + unk26[i] = 0; } } @@ -237,10 +237,10 @@ void dSv_player_field_last_stay_info_c::set(const char* i_name, const cXyz& i_la u8 i_last_room_id) { strcpy(mLastStage, i_name); - this->mLastPosition = i_last_position; - this->mLastAngle = i_last_angle; - this->mLastSpawnId = i_last_spawn_id; - this->mLastRoomId = i_last_room_id; + mLastPosition = i_last_position; + mLastAngle = i_last_angle; + mLastSpawnId = i_last_spawn_id; + mLastRoomId = i_last_room_id; } void dSv_player_field_last_stay_info_c::onRegionBit(int i_region_bit) { @@ -250,7 +250,7 @@ void dSv_player_field_last_stay_info_c::onRegionBit(int i_region_bit) { if (8 <= i_region_bit) { return; } - this->mLastRegion |= (u8)(1 << i_region_bit); + mLastRegion |= (u8)(1 << i_region_bit); } BOOL dSv_player_field_last_stay_info_c::isRegionBit(int param_1) const { @@ -265,16 +265,16 @@ void dSv_player_last_mark_info_c::init(void) { strcpy(mOoccooStage, (char*)lbl_80379234); position = lbl_80451D5C; - this->mOoccooPosition.x = lbl_80451D5C; - this->mOoccooPosition.y = position; - this->mOoccooPosition.z = position; - this->mOoccooXRotation = 0; - this->mOoccooRoomId = 0; - this->mOoccooSpawnId = 0; - this->mWarpAcceptStage = -1; + mOoccooPosition.x = lbl_80451D5C; + mOoccooPosition.y = position; + mOoccooPosition.z = position; + mOoccooXRotation = 0; + mOoccooRoomId = 0; + mOoccooSpawnId = 0; + mWarpAcceptStage = -1; for (int i = 0; i < 3; i++) { - this->unk25[i] = 0; + unk25[i] = 0; } } @@ -282,22 +282,22 @@ void dSv_player_last_mark_info_c::setWarpItemData(const char* i_ooccoo_stage, const cXyz& i_ooccoo_position, s16 i_ooccoo_angle, s8 i_ooccoo_room_id, u8 unk1, u8 unk2) { strcpy(mOoccooStage, i_ooccoo_stage); - this->mOoccooPosition = i_ooccoo_position; - this->mOoccooXRotation = i_ooccoo_angle; - this->mOoccooRoomId = i_ooccoo_room_id; + mOoccooPosition = i_ooccoo_position; + mOoccooXRotation = i_ooccoo_angle; + mOoccooRoomId = i_ooccoo_room_id; } void dSv_player_item_c::init(void) { for (int i = 0; i < 24; i++) { - this->mItems[i] = NO_ITEM; - this->mItemSlots[i] = NO_ITEM; + mItems[i] = NO_ITEM; + mItemSlots[i] = NO_ITEM; } } void dSv_player_item_c::setItem(int item_slot, u8 item_id) { if (item_slot < MAX_ITEM_SLOTS) { - this->mItems[item_slot] = item_id; - this->setLineUpItem(); + mItems[item_slot] = item_id; + setLineUpItem(); } int select_item_index = DEFAULT_SELECT_ITEM_INDEX; @@ -377,7 +377,7 @@ u8 dSv_player_item_c::getItem(int item_idx, bool isComboItem) const { } } } - return this->mItems[item_idx]; + return mItems[item_idx]; } else { return NO_ITEM; } @@ -393,13 +393,13 @@ asm u8 dSv_player_item_c::getItem(int param_1, bool param_2) const { #ifdef NONMATCHING void dSv_player_item_c::setLineUpItem(void) { for (int i = 0; i < 24; i++) { - this->mItemSlots[i] = NO_ITEM; + mItemSlots[i] = NO_ITEM; } for (int i = 0; i < 23; i++) { for (int j = 0; j < 24; j++) { - if (this->mItems[i_item_lst[j]] != NO_ITEM) { - this->mItemSlots[i] = i_item_lst[j]; + if (mItems[i_item_lst[j]] != NO_ITEM) { + mItemSlots[i] = i_item_lst[j]; } } } @@ -413,7 +413,7 @@ asm void dSv_player_item_c::setLineUpItem(void) { u8 dSv_player_item_c::getLineUpItem(int slot_number) const { if (slot_number < MAX_ITEM_SLOTS) { - return this->mItemSlots[slot_number]; + return mItemSlots[slot_number]; } return NO_ITEM; } @@ -453,7 +453,7 @@ asm void dSv_player_item_c::setBottleItemIn(u8 i_item_id_1, u8 i_item_id_2) { // this is 1 instruction off #ifdef NONMATCHING void dSv_player_item_c::setEmptyBottleItemIn(u8 i_item_id) { - this->setBottleItemIn(EMPTY_BOTTLE, dSv_item_rename(i_item_id)); + setBottleItemIn(EMPTY_BOTTLE, dSv_item_rename(i_item_id)); return; } #else @@ -487,7 +487,7 @@ asm void dSv_player_item_c::setEquipBottleItemIn(u8, u8) { } void dSv_player_item_c::setEquipBottleItemEmpty(u8 selected_index) { - this->setEquipBottleItemIn(selected_index, EMPTY_BOTTLE); + setEquipBottleItemIn(selected_index, EMPTY_BOTTLE); } u8 dSv_player_item_c::checkBottle(u8 i_item_id) { @@ -496,7 +496,7 @@ u8 dSv_player_item_c::checkBottle(u8 i_item_id) { item_id = dSv_item_rename(i_item_id); for (int i = 0; i < BOTTLE_MAX; i++) { - if (item_id == this->mItems[i + SLOT_11]) { + if (item_id == mItems[i + SLOT_11]) { num_bottles++; } } @@ -523,7 +523,7 @@ u8 dSv_player_item_c::checkEmptyBottle(void) { for (int i = 0; i < BOTTLE_MAX; i++) { // Loop through the bottle slots (11 - 14) and increment counter for every empty bottle - if (this->mItems[i + SLOT_11] == EMPTY_BOTTLE) { + if (mItems[i + SLOT_11] == EMPTY_BOTTLE) { num++; } } @@ -585,7 +585,7 @@ u8 dSv_player_item_c::checkBombBag(u8 param_1) { for (int i = 0; i < BOMB_BAG_MAX; i++) { // Loop through the bomb bag slots (15 - 17) and increment counter for every match - if (param_1 == this->mItems[i + SLOT_15]) { + if (param_1 == mItems[i + SLOT_15]) { counter++; } } @@ -610,19 +610,19 @@ void dSv_player_item_c::setWarashibeItem(u8 i_item_id) { } void dSv_player_item_c::setRodTypeLevelUp(void) { - int current_fishing_rod_item_id = this->mItems[SLOT_20]; + int current_fishing_rod_item_id = mItems[SLOT_20]; switch (current_fishing_rod_item_id) { case BEE_ROD: { - this->mItems[SLOT_20] = JEWEL_BEE_ROD; + mItems[SLOT_20] = JEWEL_BEE_ROD; break; } case WORM_ROD: { - this->mItems[SLOT_20] = JEWEL_WORM_ROD; + mItems[SLOT_20] = JEWEL_WORM_ROD; break; } case FISHING_ROD_1: { - this->mItems[SLOT_20] = JEWEL_ROD; + mItems[SLOT_20] = JEWEL_ROD; break; } } @@ -635,18 +635,18 @@ void dSv_player_item_c::setRodTypeLevelUp(void) { void dSv_player_item_c::setBaitItem(u8 param_1) { switch (param_1) { case BEE_CHILD: { - dComIfGs_isItemFirstBit(ZORAS_JEWEL) ? this->mItems[SLOT_20] = JEWEL_BEE_ROD : - this->mItems[SLOT_20] = BEE_ROD; + dComIfGs_isItemFirstBit(ZORAS_JEWEL) ? mItems[SLOT_20] = JEWEL_BEE_ROD : + mItems[SLOT_20] = BEE_ROD; break; } case WORM: { - dComIfGs_isItemFirstBit(ZORAS_JEWEL) ? this->mItems[SLOT_20] = JEWEL_WORM_ROD : - this->mItems[SLOT_20] = WORM_ROD; + dComIfGs_isItemFirstBit(ZORAS_JEWEL) ? mItems[SLOT_20] = JEWEL_WORM_ROD : + mItems[SLOT_20] = WORM_ROD; break; } case NO_ITEM: { - dComIfGs_isItemFirstBit(ZORAS_JEWEL) ? this->mItems[SLOT_20] = JEWEL_ROD : - this->mItems[SLOT_20] = FISHING_ROD_1; + dComIfGs_isItemFirstBit(ZORAS_JEWEL) ? mItems[SLOT_20] = JEWEL_ROD : + mItems[SLOT_20] = FISHING_ROD_1; break; } } @@ -658,7 +658,7 @@ void dSv_player_item_c::setBaitItem(u8 param_1) { void dSv_player_get_item_c::init(void) { for (int i = 0; i < 8; i++) { - this->mPauseMenuBitFields[i] = 0; + mPauseMenuBitFields[i] = 0; } } @@ -668,7 +668,7 @@ void dSv_player_get_item_c::onFirstBit(u8 i_itemno) { int tmp = (int)i_itemno; int tmp2 = (i_itemno >> 3) & 0xE0; // int uVar1 = ; - this->mPauseMenuBitFields[tmp2] |= 1 << (tmp & 0x1F); + mPauseMenuBitFields[tmp2] |= 1 << (tmp & 0x1F); } #else asm void dSv_player_get_item_c::onFirstBit(u8) { @@ -688,74 +688,74 @@ asm BOOL dSv_player_get_item_c::isFirstBit(u8) const { } void dSv_player_item_record_c::init(void) { - this->mBow = 0; + mBow = 0; for (int i = 0; i < 3; i++) { - this->mBombBags[i] = 0; + mBombBags[i] = 0; } for (int i = 0; i < 4; i++) { - this->mBottles[i] = 0; + mBottles[i] = 0; } - this->mSlingshot = 0; + mSlingshot = 0; for (int i = 0; i < 3; i++) { - this->unk5[i] = 0; + unk5[i] = 0; } } void dSv_player_item_record_c::setBombNum(u8 i_bagIdx, u8 bag_id) { - this->mBombBags[i_bagIdx] = bag_id; + mBombBags[i_bagIdx] = bag_id; } u8 dSv_player_item_record_c::getBombNum(u8 i_bagIdx) const { - return this->mBombBags[i_bagIdx]; + return mBombBags[i_bagIdx]; } void dSv_player_item_record_c::setBottleNum(u8 i_bottleIdx, u8 bottle_num) { - this->mBottles[i_bottleIdx] = bottle_num; + mBottles[i_bottleIdx] = bottle_num; } u8 dSv_player_item_record_c::addBottleNum(u8 i_bottleIdx, s16 param_2) { - int iVar3 = this->mBottles[i_bottleIdx] + param_2; + int iVar3 = mBottles[i_bottleIdx] + param_2; dComIfGs_getItem((u8)(i_bottleIdx + 0xB), true); if (iVar3 < 0) { - this->mBottles[i_bottleIdx] = 0; + mBottles[i_bottleIdx] = 0; } else if (iVar3 > dComIfGs_getBottleMax()) { - this->mBottles[i_bottleIdx] = dComIfGs_getBottleMax(); + mBottles[i_bottleIdx] = dComIfGs_getBottleMax(); } else { - this->mBottles[i_bottleIdx] = iVar3; + mBottles[i_bottleIdx] = iVar3; } - return this->mBottles[i_bottleIdx]; + return mBottles[i_bottleIdx]; } u8 dSv_player_item_record_c::getBottleNum(u8 i_bottleIdx) const { - return this->mBottles[i_bottleIdx]; + return mBottles[i_bottleIdx]; } void dSv_player_item_max_c::init(void) { for (int i = 0; i < 7; i++) { - this->mItemCapacities[i] = 30; + mItemCapacities[i] = 30; } setBombNum(NORMAL_BOMB, 30); setBombNum(WATER_BOMB, 15); setBombNum(POKE_BOMB, 10); - this->mItemCapacities[7] = 0; + mItemCapacities[7] = 0; } void dSv_player_item_max_c::setBombNum(u8 bomb_id, u8 bomb_max) { switch (bomb_id) { case NORMAL_BOMB: - this->mItemCapacities[1] = bomb_max; + mItemCapacities[1] = bomb_max; return; case WATER_BOMB: - this->mItemCapacities[2] = bomb_max; + mItemCapacities[2] = bomb_max; return; case POKE_BOMB: - this->mItemCapacities[6] = bomb_max; + mItemCapacities[6] = bomb_max; return; } } @@ -770,11 +770,11 @@ u8 dSv_player_item_max_c::getBombNum(u8 param_1) const { switch (param_1) { case NORMAL_BOMB: - return (u8)(this->mItemCapacities[0x1] * iVar3); + return (u8)(mItemCapacities[0x1] * iVar3); case WATER_BOMB: - return (u8)(this->mItemCapacities[0x2] * iVar3); + return (u8)(mItemCapacities[0x2] * iVar3); case POKE_BOMB: - return (u8)(this->mItemCapacities[0x6] * iVar3); + return (u8)(mItemCapacities[0x6] * iVar3); default: return 0; } @@ -782,63 +782,63 @@ u8 dSv_player_item_max_c::getBombNum(u8 param_1) const { void dSv_player_collect_c::init(void) { for (int i = 0; i < 8; i++) { - this->unk0[i] = 0; + unk0[i] = 0; } - this->unk8 = 0; - this->mCrystal = 0; - this->mMirror = 0; - this->unk11 = 0xFF; - this->mPoeCount = 0; + unk8 = 0; + mCrystal = 0; + mMirror = 0; + unk11 = 0xFF; + mPoeCount = 0; } void dSv_player_collect_c::setCollect(int param_1, u8 i_item) { - this->unk0[param_1] |= (u8)(1 << i_item); + unk0[param_1] |= (u8)(1 << i_item); } BOOL dSv_player_collect_c::isCollect(int param_1, u8 i_item) const { - return this->unk0[param_1] & (u8)(1 << i_item) ? TRUE : FALSE; + return unk0[param_1] & (u8)(1 << i_item) ? TRUE : FALSE; } void dSv_player_collect_c::onCollectCrystal(u8 i_item) { - this->mCrystal |= (u8)(1 << i_item); + mCrystal |= (u8)(1 << i_item); } BOOL dSv_player_collect_c::isCollectCrystal(u8 i_item) const { - return this->mCrystal & (u8)(1 << i_item) ? TRUE : FALSE; + return mCrystal & (u8)(1 << i_item) ? TRUE : FALSE; } void dSv_player_collect_c::onCollectMirror(u8 i_item) { - this->mMirror |= (u8)(1 << i_item); + mMirror |= (u8)(1 << i_item); } BOOL dSv_player_collect_c::isCollectMirror(u8 i_item) const { - return this->mMirror & (u8)(1 << i_item) ? TRUE : FALSE; + return mMirror & (u8)(1 << i_item) ? TRUE : FALSE; } void dSv_player_wolf_c::init(void) { for (int i = 0; i < 3; i++) { - this->unk0[i] = 0; + unk0[i] = 0; } - this->unk3 = 0; + unk3 = 0; } void dSv_light_drop_c::init(void) { for (int i = 0; i < 4; i++) { - this->mLightDropCounts[i] = 0; + mLightDropCounts[i] = 0; } - this->mLightDropGetFlag = 0; + mLightDropGetFlag = 0; for (int i = 0; i < 3; i++) { - this->unk5[i] = 0; + unk5[i] = 0; } } void dSv_light_drop_c::setLightDropNum(u8 i_nowLevel, u8 param_2) { if ((i_nowLevel < LIGHT_DROP_STAGE) || (i_nowLevel > 6)) { - this->mLightDropCounts[i_nowLevel] = param_2; + mLightDropCounts[i_nowLevel] = param_2; } } @@ -846,12 +846,12 @@ u8 dSv_light_drop_c::getLightDropNum(u8 i_nowLevel) const { if ((i_nowLevel >= LIGHT_DROP_STAGE) && (i_nowLevel <= 6)) { return 0; } - return this->mLightDropCounts[i_nowLevel]; + return mLightDropCounts[i_nowLevel]; } void dSv_light_drop_c::onLightDropGetFlag(u8 i_nowLevel) { if ((i_nowLevel < LIGHT_DROP_STAGE) || (i_nowLevel > 6)) { - this->mLightDropGetFlag |= (u8)(1 << i_nowLevel); + mLightDropGetFlag |= (u8)(1 << i_nowLevel); } } @@ -859,46 +859,46 @@ BOOL dSv_light_drop_c::isLightDropGetFlag(u8 i_nowLevel) const { if ((i_nowLevel >= LIGHT_DROP_STAGE) && (i_nowLevel <= 6)) { return 0; } - return this->mLightDropGetFlag & (u8)(1 << i_nowLevel) ? TRUE : FALSE; + return mLightDropGetFlag & (u8)(1 << i_nowLevel) ? TRUE : FALSE; } void dSv_letter_info_c::init(void) { for (int i = 0; i < 2; i++) { - this->mLetterGetBitfields[i] = 0; - this->mLetterReadBitfields[i] = 0; + mLetterGetBitfields[i] = 0; + mLetterReadBitfields[i] = 0; } for (int i = 0; i < LETTER_INFO_BIT; i++) { - this->unk16[i] = 0; + unk16[i] = 0; } } void dSv_letter_info_c::onLetterGetFlag(int i_no) { - this->mLetterGetBitfields[i_no >> 0x5] |= 0x1 << (i_no & 0x1F); + mLetterGetBitfields[i_no >> 0x5] |= 0x1 << (i_no & 0x1F); } BOOL dSv_letter_info_c::isLetterGetFlag(int i_no) const { - return this->mLetterGetBitfields[i_no >> 0x5] & (1 << (i_no & 0x1F)) ? TRUE : FALSE; + return mLetterGetBitfields[i_no >> 0x5] & (1 << (i_no & 0x1F)) ? TRUE : FALSE; } void dSv_letter_info_c::onLetterReadFlag(int i_no) { - this->mLetterReadBitfields[i_no >> 0x5] |= 0x1 << (i_no & 0x1F); + mLetterReadBitfields[i_no >> 0x5] |= 0x1 << (i_no & 0x1F); } BOOL dSv_letter_info_c::isLetterReadFlag(int i_no) const { - return this->mLetterReadBitfields[i_no >> 5] & 1 << (i_no & 0x1F) ? TRUE : FALSE; + return mLetterReadBitfields[i_no >> 5] & 1 << (i_no & 0x1F) ? TRUE : FALSE; } void dSv_fishing_info_c::init(void) { for (int i = 0; i < 16; i++) { - this->mFishCount[i] = 0; - this->unk32[i] = 0; + mFishCount[i] = 0; + unk32[i] = 0; } } void dSv_fishing_info_c::addFishCount(u8 fish_index) { - if (this->mFishCount[fish_index] < 999) { - this->mFishCount[fish_index] += 1; + if (mFishCount[fish_index] < 999) { + mFishCount[fish_index] += 1; } } @@ -913,19 +913,19 @@ void dSv_player_info_c::init(void) { d_meter2_info::dMeter2Info_c ok; - ok.getString(a, (char*)this->link_name, c); - ok.getString(b, (char*)this->epona_name, d); + ok.getString(a, (char*)link_name, c); + ok.getString(b, (char*)epona_name, d); - this->unk4 = 0; - this->unk0 = 0; - this->unk12 = 0; - this->unk8 = 0; - this->unk16 = 0; - this->unk18 = 0; - this->unk54 = 0; + unk4 = 0; + unk0 = 0; + unk12 = 0; + unk8 = 0; + unk16 = 0; + unk18 = 0; + unk54 = 0; for (int i = 0; i < 5; i++) { - this->unk55[i] = 0; + unk55[i] = 0; } } #else @@ -938,25 +938,25 @@ asm void dSv_player_info_c::init(void) { void dSv_player_config_c::init(void) { u32 os_mSoundMode; - this->unk0 = 1; + unk0 = 1; os_mSoundMode = OSGetSoundMode(); if (os_mSoundMode == SOUND_MODE_MONO) { - this->mSoundMode = SOUND_MODE_MONO; + mSoundMode = SOUND_MODE_MONO; lbl_80451368->setOutputMode(SOUND_MODE_MONO); } else { - this->mSoundMode = SOUND_MODE_STEREO; + mSoundMode = SOUND_MODE_STEREO; lbl_80451368->setOutputMode(SOUND_MODE_STEREO); } - this->unk2 = 0; - this->mVibrationStatus = 1; - this->unk4 = 0; - this->unk5 = 0; - this->unk9 = 0; - this->unk6 = 0x15e; - this->unk8 = 0; - this->unk10 = 0; - this->unk11 = 1; + unk2 = 0; + mVibrationStatus = 1; + unk4 = 0; + unk5 = 0; + unk9 = 0; + unk6 = 0x15e; + unk8 = 0; + unk10 = 0; + unk11 = 1; } u32 dSv_player_config_c::checkVibration(void) const { @@ -964,19 +964,19 @@ u32 dSv_player_config_c::checkVibration(void) const { } u8 dSv_player_config_c::getSound(void) { - return this->mSoundMode; + return mSoundMode; } void dSv_player_config_c::setSound(u8 i_mSoundMode) { - this->mSoundMode = i_mSoundMode; + mSoundMode = i_mSoundMode; } u8 dSv_player_config_c::getVibration(void) { - return this->mVibrationStatus; + return mVibrationStatus; } void dSv_player_config_c::setVibration(u8 i_mVibrationStatus) { - this->mVibrationStatus = i_mVibrationStatus; + mVibrationStatus = i_mVibrationStatus; } void dSv_player_c::init(void) { @@ -1001,47 +1001,47 @@ void dSv_player_c::init(void) { void dSv_memBit_c::init(void) { for (int i = 0; i < 2; i++) { - this->area_flags_bitfields1[i] = 0; + area_flags_bitfields1[i] = 0; } for (int i = 0; i < 4; i++) { - this->area_flags_bitfields2[i] = 0; + area_flags_bitfields2[i] = 0; } - this->rupee_flags_bitfields = 0; - this->small_key_flags = 0; - this->dungeons_flags = 0; + rupee_flags_bitfields = 0; + small_key_flags = 0; + dungeons_flags = 0; } void dSv_memBit_c::onTbox(int i_no) { - this->area_flags_bitfields1[i_no >> 5] |= 1 << (i_no & 0x1F); + area_flags_bitfields1[i_no >> 5] |= 1 << (i_no & 0x1F); } void dSv_memBit_c::offTbox(int i_no) { - this->area_flags_bitfields1[i_no >> 5] &= ~(1 << (i_no & 0x1F)); + area_flags_bitfields1[i_no >> 5] &= ~(1 << (i_no & 0x1F)); } BOOL dSv_memBit_c::isTbox(int i_no) const { - return 1 << (i_no & 0x1f) & this->area_flags_bitfields1[i_no >> 0x5] ? TRUE : FALSE; + return 1 << (i_no & 0x1f) & area_flags_bitfields1[i_no >> 0x5] ? TRUE : FALSE; } void dSv_memBit_c::onSwitch(int i_no) { - (this->area_flags_bitfields1 + (i_no >> 0x5))[0x2] |= 0x1 << (i_no & 0x1F); + (area_flags_bitfields1 + (i_no >> 0x5))[0x2] |= 0x1 << (i_no & 0x1F); } void dSv_memBit_c::offSwitch(int i_no) { - (this->area_flags_bitfields1 + (i_no >> 0x5))[0x2] &= ~(0x1 << (i_no & 0x1F)); + (area_flags_bitfields1 + (i_no >> 0x5))[0x2] &= ~(0x1 << (i_no & 0x1F)); } BOOL dSv_memBit_c::isSwitch(int i_no) const { - return (this->area_flags_bitfields2[i_no >> 0x5] & 0x1 << (i_no & 0x1F)) ? TRUE : FALSE; + return (area_flags_bitfields2[i_no >> 0x5] & 0x1 << (i_no & 0x1F)) ? TRUE : FALSE; } // instruction in wrong place #ifdef NONMATCHING BOOL dSv_memBit_c::revSwitch(int i_no) { unsigned int tmp = 1 << (i_no & 0x1F); - (this->area_flags_bitfields1 + (i_no >> 0x5))[0x2] ^= tmp; - return (this->area_flags_bitfields1 + (i_no >> 0x5))[0x2] & tmp ? TRUE : FALSE; + (area_flags_bitfields1 + (i_no >> 0x5))[0x2] ^= tmp; + return (area_flags_bitfields1 + (i_no >> 0x5))[0x2] & tmp ? TRUE : FALSE; } #else asm BOOL dSv_memBit_c::revSwitch(int) { @@ -1051,60 +1051,60 @@ asm BOOL dSv_memBit_c::revSwitch(int) { #endif void dSv_memBit_c::onItem(int i_no) { - (this->area_flags_bitfields1 + (i_no >> 0x5))[0x6] |= 0x1 << (i_no & 0x1F); + (area_flags_bitfields1 + (i_no >> 0x5))[0x6] |= 0x1 << (i_no & 0x1F); } BOOL dSv_memBit_c::isItem(int i_no) const { - return (&this->rupee_flags_bitfields)[i_no >> 0x5] & 0x1 << (i_no & 0x1F) ? TRUE : FALSE; + return (&rupee_flags_bitfields)[i_no >> 0x5] & 0x1 << (i_no & 0x1F) ? TRUE : FALSE; } void dSv_memBit_c::onDungeonItem(int i_no) { - this->dungeons_flags |= (u8)(1 << i_no); + dungeons_flags |= (u8)(1 << i_no); } bool dSv_memBit_c::isDungeonItem(int i_no) const { - return this->dungeons_flags & (u8)(1 << i_no) ? true : false; + return dungeons_flags & (u8)(1 << i_no) ? true : false; } void dSv_event_c::init(void) { for (int i = 0; i < MAX_EVENTS; i++) { - this->events[i] = 0; + events[i] = 0; } setInitEventBit(); } void dSv_event_c::onEventBit(u16 i_no) { - this->events[(i_no >> 8)] |= (u8)i_no; + events[(i_no >> 8)] |= (u8)i_no; } void dSv_event_c::offEventBit(u16 i_no) { - this->events[(i_no >> 8)] &= ~(u8)i_no; + events[(i_no >> 8)] &= ~(u8)i_no; } BOOL dSv_event_c::isEventBit(u16 i_no) const { - return this->events[(i_no >> 8)] & (i_no & 0xFF) ? TRUE : FALSE; + return events[(i_no >> 8)] & (i_no & 0xFF) ? TRUE : FALSE; } void dSv_event_c::setEventReg(u16 param_1, u8 param_2) { u8 uVar1 = (param_1 >> 8); - this->events[uVar1] &= ~(u8)param_1; - this->events[uVar1] |= param_2; + events[uVar1] &= ~(u8)param_1; + events[uVar1] |= param_2; } u8 dSv_event_c::getEventReg(u16 param_1) const { - return (u8)param_1 & this->events[param_1 >> 8]; + return (u8)param_1 & events[param_1 >> 8]; } void dSv_MiniGame_c::init(void) { - this->unk0 = 0; + unk0 = 0; for (int i = 0; i < 3; i++) { - this->unk1[i] = 0; + unk1[i] = 0; } - this->unk4 = 120000; - this->unk8 = 0; - this->unk12 = 0; - this->unk16 = 0; - this->unk20 = 0; + unk4 = 120000; + unk8 = 0; + unk12 = 0; + unk16 = 0; + unk20 = 0; } void dSv_memory_c::init(void) { @@ -1113,35 +1113,35 @@ void dSv_memory_c::init(void) { void dSv_memory2_c::init(void) { for (int i = 0; i < 2; i++) { - this->unk0[i] = 0; + unk0[i] = 0; } } void dSv_memory2_c::onVisitedRoom(int i_no) { - this->unk0[i_no >> 5] |= 1 << (i_no & 0x1F); + unk0[i_no >> 5] |= 1 << (i_no & 0x1F); } void dSv_memory2_c::offVisitedRoom(int i_no) { - this->unk0[i_no >> 5] &= ~(1 << (i_no & 0x1F)); + unk0[i_no >> 5] &= ~(1 << (i_no & 0x1F)); } BOOL dSv_memory2_c::isVisitedRoom(int param_1) { - return (1 << (param_1 & 0x1F) & this->unk0[param_1 >> 5]) ? TRUE : FALSE; + return (1 << (param_1 & 0x1F) & unk0[param_1 >> 5]) ? TRUE : FALSE; } bool dSv_danBit_c::init(s8 i_stage) { - if (i_stage != this->mStageNum) { - this->switch_bitfield[0] = 0; - this->switch_bitfield[1] = 0; - this->item_bitfield[0] = 0; - this->item_bitfield[1] = 0; - this->item_bitfield[2] = 0; - this->item_bitfield[3] = 0; - this->mStageNum = i_stage; - this->unk1 = 0; + if (i_stage != mStageNum) { + switch_bitfield[0] = 0; + switch_bitfield[1] = 0; + item_bitfield[0] = 0; + item_bitfield[1] = 0; + item_bitfield[2] = 0; + item_bitfield[3] = 0; + mStageNum = i_stage; + unk1 = 0; for (int i = 0; i < 16; i++) { - this->unk28[i] = 0xFFFF; + unk28[i] = 0xFFFF; } daObjCarry_c_NS_clrSaveFlag(); @@ -1154,70 +1154,70 @@ bool dSv_danBit_c::init(s8 i_stage) { } void dSv_danBit_c::onSwitch(int i_no) { - this->switch_bitfield[i_no >> 5] |= 1 << (i_no & 0x1F); + switch_bitfield[i_no >> 5] |= 1 << (i_no & 0x1F); } void dSv_danBit_c::offSwitch(int i_no) { - this->switch_bitfield[i_no >> 5] &= ~(1 << (i_no & 0x1F)); + switch_bitfield[i_no >> 5] &= ~(1 << (i_no & 0x1F)); } BOOL dSv_danBit_c::isSwitch(int i_no) const { - return this->switch_bitfield[i_no >> 0x5] & (0x1 << (i_no & 0x1F)) ? TRUE : FALSE; + return switch_bitfield[i_no >> 0x5] & (0x1 << (i_no & 0x1F)) ? TRUE : FALSE; } BOOL dSv_danBit_c::revSwitch(int i_no) { int uVar1 = 1 << (i_no & 0x1F); - this->switch_bitfield[i_no >> 5] ^= uVar1; - return this->switch_bitfield[i_no >> 5] & uVar1 ? TRUE : FALSE; + switch_bitfield[i_no >> 5] ^= uVar1; + return switch_bitfield[i_no >> 5] & uVar1 ? TRUE : FALSE; } void dSv_danBit_c::onItem(int i_no) { - this->item_bitfield[i_no >> 5] |= 1 << (i_no & 0x1F); + item_bitfield[i_no >> 5] |= 1 << (i_no & 0x1F); } BOOL dSv_danBit_c::isItem(int i_no) const { - return this->item_bitfield[i_no >> 5] & 1 << (i_no & 0x1F) ? TRUE : FALSE; + return item_bitfield[i_no >> 5] & 1 << (i_no & 0x1F) ? TRUE : FALSE; } void dSv_zoneBit_c::init(void) { for (int i = 0; i < 2; i++) { - this->switch_bitfield[i] = 0; + switch_bitfield[i] = 0; } for (int i = 0; i < 2; i++) { - this->item_bitfield[i] = 0; + item_bitfield[i] = 0; } - this->room_switch = 0; - this->room_item = 0; + room_switch = 0; + room_item = 0; } void dSv_zoneBit_c::clearRoomSwitch(void) { - this->room_switch = 0; + room_switch = 0; } void dSv_zoneBit_c::clearRoomItem(void) { - this->room_item = 0; + room_item = 0; } void dSv_zoneBit_c::onSwitch(int i_no) { - this->switch_bitfield[i_no >> 4] |= (u16)(1 << (i_no & 0xF)); + switch_bitfield[i_no >> 4] |= (u16)(1 << (i_no & 0xF)); } void dSv_zoneBit_c::offSwitch(int i_no) { - this->switch_bitfield[i_no >> 4] &= ~(1 << (i_no & 0xF)); + switch_bitfield[i_no >> 4] &= ~(1 << (i_no & 0xF)); } BOOL dSv_zoneBit_c::isSwitch(int i_no) const { - return this->switch_bitfield[i_no >> 4] & 1 << (i_no & 0xF) ? TRUE : FALSE; + return switch_bitfield[i_no >> 4] & 1 << (i_no & 0xF) ? TRUE : FALSE; } // instruction in wrong place #ifdef NONMATCHING BOOL dSv_zoneBit_c::revSwitch(int i_no) { int uVar1 = 1 << (i_no & 0xF); - this->switch_bitfield[i_no >> 4] ^= uVar1; - return this->switch_bitfield[i_no >> 4] & uVar1 ? TRUE : FALSE; + switch_bitfield[i_no >> 4] ^= uVar1; + return switch_bitfield[i_no >> 4] & uVar1 ? TRUE : FALSE; } #else asm BOOL dSv_zoneBit_c::revSwitch(int i_no) { @@ -1227,100 +1227,100 @@ asm BOOL dSv_zoneBit_c::revSwitch(int i_no) { #endif void dSv_zoneBit_c::onOneSwitch(int i_no) { - this->room_switch |= (u16)(1 << i_no); + room_switch |= (u16)(1 << i_no); } void dSv_zoneBit_c::offOneSwitch(int i_no) { - this->room_switch &= ~(1 << i_no); + room_switch &= ~(1 << i_no); } BOOL dSv_zoneBit_c::isOneSwitch(int i_no) const { - return this->room_switch & 1 << i_no ? TRUE : FALSE; + return room_switch & 1 << i_no ? TRUE : FALSE; } BOOL dSv_zoneBit_c::revOneSwitch(int i_no) { int iVar1 = 1 << i_no; - this->room_switch ^= iVar1; - return this->room_switch & iVar1 ? TRUE : FALSE; + room_switch ^= iVar1; + return room_switch & iVar1 ? TRUE : FALSE; } void dSv_zoneBit_c::onItem(int i_no) { - this->item_bitfield[i_no >> 4] |= (u16)(1 << (i_no & 0xF)); + item_bitfield[i_no >> 4] |= (u16)(1 << (i_no & 0xF)); } BOOL dSv_zoneBit_c::isItem(int i_no) const { - return this->item_bitfield[i_no >> 4] & 1 << (i_no & 0xF) ? TRUE : FALSE; + return item_bitfield[i_no >> 4] & 1 << (i_no & 0xF) ? TRUE : FALSE; } void dSv_zoneBit_c::onOneItem(int i_no) { - this->room_item |= (u16)(1 << i_no); + room_item |= (u16)(1 << i_no); } BOOL dSv_zoneBit_c::isOneItem(int i_no) const { - return this->room_item & 1 << i_no ? TRUE : FALSE; + return room_item & 1 << i_no ? TRUE : FALSE; } void dSv_zoneActor_c::init(void) { for (int i = 0; i < 4; i++) { - this->actor_bitfield[i] = 0; + actor_bitfield[i] = 0; } } void dSv_zoneActor_c::on(int i_id) { - this->actor_bitfield[i_id >> 5] |= 1 << (i_id & 0x1F); + actor_bitfield[i_id >> 5] |= 1 << (i_id & 0x1F); } void dSv_zoneActor_c::off(int i_id) { - this->actor_bitfield[i_id >> 5] &= ~(1 << (i_id & 0x1F)); + actor_bitfield[i_id >> 5] &= ~(1 << (i_id & 0x1F)); } BOOL dSv_zoneActor_c::is(int i_id) const { - return this->actor_bitfield[i_id >> 5] & 1 << (i_id & 0x1F) ? TRUE : FALSE; + return actor_bitfield[i_id >> 5] & 1 << (i_id & 0x1F) ? TRUE : FALSE; } void dSv_zone_c::init(int param_1) { - this->unk0 = param_1; + unk0 = param_1; zone_bit.init(); zone_actor.init(); } void dSv_restart_c::setRoom(const cXyz& i_position, s16 i_x_rotation, s8 param_3) { - this->unk0 = param_3; - this->mPosition = i_position; - this->mXRotation = i_x_rotation; + unk0 = param_3; + mPosition = i_position; + mXRotation = i_x_rotation; } void dSv_turnRestart_c::set(const cXyz& i_position, s16 i_x_rotation, s8 param_3, u32 param_4) { - this->mPosition = i_position; - this->mXRotation = i_x_rotation; - this->unk18 = param_3; - this->unk12 = param_4; + mPosition = i_position; + mXRotation = i_x_rotation; + unk18 = param_3; + unk12 = param_4; } void dSv_info_c::init(void) { - this->save_file.init(); - this->memory.init(); - this->dungeon_bit.init(-1); + save_file.init(); + memory.init(); + dungeon_bit.init(-1); initZone(); - this->events.init(); + events.init(); } void dSv_save_c::init(void) { - this->player.init(); + player.init(); for (int i = 0; i < 0x20; i++) { - this->area_flags[i].init(); + area_flags[i].init(); } for (int i = 0; i < 0x40; i++) { - this->unk_flags[i].init(); + unk_flags[i].init(); } - this->event_flags.init(); - this->minigame_flags.init(); + event_flags.init(); + minigame_flags.init(); } dSv_memory2_c* dSv_save_c::getSave2(int i_stage2No) { - return this->unk_flags + i_stage2No; + return unk_flags + i_stage2No; } #ifdef NONMATCHING @@ -1352,12 +1352,12 @@ asm void dSv_info_c::putSave(int i_stageNo) { void dSv_info_c::initZone(void) { for (int i = 0; i < 0x20; i++) { - this->zones[i].init(-1); + zones[i].init(-1); } } u32 dSv_info_c::createZone(int param_1) { - dSv_zone_c* zone = this->zones; + dSv_zone_c* zone = zones; for (int i = 0; i < 0x20; zone++, i++) { if (zone->getUnk0() < 0) { zone->init(param_1); @@ -1373,15 +1373,15 @@ void dSv_info_c::onSwitch(int i_no, int i_roomNo) { } if (i_no < 0x80) { - this->memory.getTempFlags().onSwitch(i_no); + memory.getTempFlags().onSwitch(i_no); } else if (i_no < 0xc0) { - this->dungeon_bit.onSwitch(i_no - 0x80); + dungeon_bit.onSwitch(i_no - 0x80); } else { int zoneId = dStage_roomControl_c_NS_getZoneNo(i_roomNo); if (i_no < 0xE0) { - this->zones[zoneId].getZoneBit().onSwitch(i_no - 0xC0); + zones[zoneId].getZoneBit().onSwitch(i_no - 0xC0); } else { - this->zones[zoneId].getZoneBit().onOneSwitch(i_no - 0xE0); + zones[zoneId].getZoneBit().onOneSwitch(i_no - 0xE0); } } } @@ -1392,15 +1392,15 @@ void dSv_info_c::offSwitch(int i_no, int i_roomNo) { } if (i_no < 0x80) { - this->memory.getTempFlags().offSwitch(i_no); + memory.getTempFlags().offSwitch(i_no); } else if (i_no < 0xc0) { - this->dungeon_bit.offSwitch(i_no - 0x80); + dungeon_bit.offSwitch(i_no - 0x80); } else { int zoneId = dStage_roomControl_c_NS_getZoneNo(i_roomNo); if (i_no < 0xE0) { - this->zones[zoneId].getZoneBit().offSwitch(i_no - 0xC0); + zones[zoneId].getZoneBit().offSwitch(i_no - 0xC0); } else { - this->zones[zoneId].getZoneBit().offOneSwitch(i_no - 0xE0); + zones[zoneId].getZoneBit().offOneSwitch(i_no - 0xE0); } } } @@ -1412,18 +1412,18 @@ BOOL dSv_info_c::isSwitch(int i_no, int i_roomNo) const { } if (i_no < 0x80) { - value = this->memory.getTempFlagsConst().isSwitch(i_no); + value = memory.getTempFlagsConst().isSwitch(i_no); } else if (i_no < 0xc0) { - value = this->dungeon_bit.isSwitch(i_no - 0x80); + value = dungeon_bit.isSwitch(i_no - 0x80); } else { int zoneId = dStage_roomControl_c_NS_getZoneNo(i_roomNo); if ((zoneId < 0) || (zoneId >= 0x20)) { value = FALSE; } else { if (i_no < 0xE0) { - value = this->zones[zoneId].getZoneBitConst().isSwitch(i_no - 0xC0); + value = zones[zoneId].getZoneBitConst().isSwitch(i_no - 0xC0); } else { - value = this->zones[zoneId].getZoneBitConst().isOneSwitch(i_no - 0xE0); + value = zones[zoneId].getZoneBitConst().isOneSwitch(i_no - 0xE0); } } } @@ -1437,15 +1437,15 @@ BOOL dSv_info_c::revSwitch(int i_no, int i_roomNo) { } if (i_no < 0x80) { - value = this->memory.getTempFlags().revSwitch(i_no); + value = memory.getTempFlags().revSwitch(i_no); } else if (i_no < 0xC0) { - value = this->dungeon_bit.revSwitch(i_no - 0x80); + value = dungeon_bit.revSwitch(i_no - 0x80); } else { int zoneNo = dStage_roomControl_c_NS_getZoneNo(i_roomNo); if (i_no < 0xE0) { - value = this->zones[zoneNo].getZoneBit().revSwitch(i_no - 0xC0); + value = zones[zoneNo].getZoneBit().revSwitch(i_no - 0xC0); } else { - value = this->zones[zoneNo].getZoneBit().revOneSwitch(i_no - 0xE0); + value = zones[zoneNo].getZoneBit().revOneSwitch(i_no - 0xE0); } } @@ -1458,15 +1458,15 @@ void dSv_info_c::onItem(int i_no, int i_roomNo) { } if (i_no < 0x80) { - this->dungeon_bit.onItem(i_no); + dungeon_bit.onItem(i_no); } else if (i_no < 0xA0) { - this->memory.getTempFlags().onItem(i_no - 0x80); + memory.getTempFlags().onItem(i_no - 0x80); } else { int zoneNo = dStage_roomControl_c_NS_getZoneNo(i_roomNo); if (i_no < 0xC0) { - this->zones[zoneNo].getZoneBit().onItem(i_no - 0xA0); + zones[zoneNo].getZoneBit().onItem(i_no - 0xA0); } else { - this->zones[zoneNo].getZoneBit().onOneItem(i_no - 0xC0); + zones[zoneNo].getZoneBit().onOneItem(i_no - 0xC0); } } } @@ -1478,15 +1478,15 @@ BOOL dSv_info_c::isItem(int i_no, int i_roomNo) const { } if (i_no < 0x80) { - value = this->dungeon_bit.isItem(i_no); + value = dungeon_bit.isItem(i_no); } else if (i_no < 0xA0) { - value = this->memory.getTempFlagsConst().isItem(i_no - 0x80); + value = memory.getTempFlagsConst().isItem(i_no - 0x80); } else { int zoneNo = dStage_roomControl_c_NS_getZoneNo(i_roomNo); if (i_no < 0xC0) { - value = this->zones[zoneNo].getZoneBitConst().isItem(i_no - 0xA0); + value = zones[zoneNo].getZoneBitConst().isItem(i_no - 0xA0); } else { - value = this->zones[zoneNo].getZoneBitConst().isOneItem(i_no - 0xC0); + value = zones[zoneNo].getZoneBitConst().isOneItem(i_no - 0xC0); } } @@ -1499,7 +1499,7 @@ void dSv_info_c::onActor(int i_id, int i_roomNo) { } int zoneNo = dStage_roomControl_c_NS_getZoneNo(i_roomNo); - this->zones[zoneNo].getZoneActor().on(i_id); + zones[zoneNo].getZoneActor().on(i_id); } void dSv_info_c::offActor(int i_id, int i_roomNo) { @@ -1508,7 +1508,7 @@ void dSv_info_c::offActor(int i_id, int i_roomNo) { } int zoneNo = dStage_roomControl_c_NS_getZoneNo(i_roomNo); - this->zones[zoneNo].getZoneActor().off(i_id); + zones[zoneNo].getZoneActor().off(i_id); } BOOL dSv_info_c::isActor(int i_id, int i_roomNo) const { @@ -1517,7 +1517,7 @@ BOOL dSv_info_c::isActor(int i_id, int i_roomNo) const { } int ActorZoneNo = dStage_roomControl_c_NS_getZoneNo(i_roomNo); - return this->zones[ActorZoneNo].getZoneActorConst().is(i_id); + return zones[ActorZoneNo].getZoneActorConst().is(i_id); } #ifdef NONMATCHING diff --git a/src/f/f_op/f_op_overlap_mng.cpp b/src/f/f_op/f_op_overlap_mng.cpp index 77267518082..f4e85bbda00 100644 --- a/src/f/f_op/f_op_overlap_mng.cpp +++ b/src/f/f_op/f_op_overlap_mng.cpp @@ -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; +} \ No newline at end of file