From 7f95de6c6022df9d7d6d1da9fc146270d0c47917 Mon Sep 17 00:00:00 2001 From: Pheenoh Date: Sun, 14 Feb 2021 12:07:38 -0500 Subject: [PATCH] f_op_camera_mng OK --- asm/bss.s | 4 +- asm/d/ev/d_ev_camera.s | 2 +- include/d/d_camera/asm/func_8016008C.s | 6 +-- include/d/d_camera/asm/func_8016517C.s | 2 +- include/d/d_camera/asm/func_80165238.s | 2 +- include/d/d_camera/asm/func_80165FB4.s | 2 +- include/d/d_camera/asm/func_80181280.s | 2 +- include/d/d_camera/asm/func_80181664.s | 2 +- include/d/d_camera/asm/func_80181708.s | 2 +- include/d/d_camera/asm/func_80181804.s | 2 +- include/d/d_camera/asm/func_80181F70.s | 4 +- include/d/d_camera/asm/func_801821E0.s | 2 +- include/d/d_camera/asm/func_80182260.s | 4 +- include/d/d_stage/asm/func_80024F98.s | 2 +- include/f/f_ap_game/asm/func_80018AA0.s | 2 +- include/f/f_op/f_op_camera_mng.h | 10 +++++ include/f/f_op_camera_mng/asm/func_8001E308.s | 2 - include/f/f_op_camera_mng/asm/func_8001E310.s | 25 ----------- include/f/f_op_camera_mng/asm/func_8001E374.s | 1 - include/f/f_op_camera_mng/asm/func_8001E378.s | 1 - src/d/d_camera.cpp | 2 + src/d/d_stage.cpp | 2 + src/f/f_ap_game.cpp | 1 - src/f/f_op/f_op_camera_mng.cpp | 41 ++++++------------- 24 files changed, 46 insertions(+), 79 deletions(-) delete mode 100644 include/f/f_op_camera_mng/asm/func_8001E308.s delete mode 100644 include/f/f_op_camera_mng/asm/func_8001E310.s delete mode 100644 include/f/f_op_camera_mng/asm/func_8001E374.s delete mode 100644 include/f/f_op_camera_mng/asm/func_8001E378.s diff --git a/asm/bss.s b/asm/bss.s index 428a3b6f5ea..f070128cb03 100644 --- a/asm/bss.s +++ b/asm/bss.s @@ -104,8 +104,8 @@ lbl_803F1D24: .global lbl_803F1D80 lbl_803F1D80: .skip 0x58 -.global lbl_803F1DD8 -lbl_803F1DD8: +.global l_fopCamM_id +l_fopCamM_id: .skip 0x10 .global lbl_803F1DE8 lbl_803F1DE8: diff --git a/asm/d/ev/d_ev_camera.s b/asm/d/ev/d_ev_camera.s index e10a93812e2..0b1c48d4b9b 100644 --- a/asm/d/ev/d_ev_camera.s +++ b/asm/d/ev/d_ev_camera.s @@ -13360,7 +13360,7 @@ lbl_80094D58: /* 80094EF0 00091E30 48 00 00 CC */ b lbl_80094FBC lbl_80094EF4: /* 80094EF4 00091E34 80 7E 00 00 */ lwz r3, 0(r30) -/* 80094EF8 00091E38 4B F8 94 11 */ bl fopCamM_GetParam +/* 80094EF8 00091E38 4B F8 94 11 */ bl fopCamM_GetParam__FP12camera_class /* 80094EFC 00091E3C 3C 80 80 40 */ lis r4, g_dComIfG_gameInfo@ha /* 80094F00 00091E40 38 84 61 C0 */ addi r4, r4, g_dComIfG_gameInfo@l /* 80094F04 00091E44 1C 03 00 38 */ mulli r0, r3, 0x38 diff --git a/include/d/d_camera/asm/func_8016008C.s b/include/d/d_camera/asm/func_8016008C.s index 34fd884d07b..229fa3a9c29 100644 --- a/include/d/d_camera/asm/func_8016008C.s +++ b/include/d/d_camera/asm/func_8016008C.s @@ -116,7 +116,7 @@ /* 80160238 0015D178 38 80 00 00 */ li r4, 0 /* 8016023C 0015D17C 4B F2 82 B5 */ bl dCamParam_c /* 80160240 0015D180 7F E3 FB 78 */ mr r3, r31 -/* 80160244 0015D184 4B EB E0 C5 */ bl fopCamM_GetParam +/* 80160244 0015D184 4B EB E0 C5 */ bl fopCamM_GetParam__FP12camera_class /* 80160248 0015D188 3C 80 80 40 */ lis r4, g_dComIfG_gameInfo@ha /* 8016024C 0015D18C 38 84 61 C0 */ addi r4, r4, g_dComIfG_gameInfo@l /* 80160250 0015D190 3B 64 5D 79 */ addi r27, r4, 0x5d79 @@ -124,10 +124,10 @@ /* 80160258 0015D198 7F BB 00 AE */ lbzx r29, r27, r0 /* 8016025C 0015D19C 7F BD 07 74 */ extsb r29, r29 /* 80160260 0015D1A0 7F E3 FB 78 */ mr r3, r31 -/* 80160264 0015D1A4 4B EB E0 A5 */ bl fopCamM_GetParam +/* 80160264 0015D1A4 4B EB E0 A5 */ bl fopCamM_GetParam__FP12camera_class /* 80160268 0015D1A8 7C 7C 1B 78 */ mr r28, r3 /* 8016026C 0015D1AC 7F E3 FB 78 */ mr r3, r31 -/* 80160270 0015D1B0 4B EB E0 99 */ bl fopCamM_GetParam +/* 80160270 0015D1B0 4B EB E0 99 */ bl fopCamM_GetParam__FP12camera_class /* 80160274 0015D1B4 1C 03 00 38 */ mulli r0, r3, 0x38 /* 80160278 0015D1B8 7C 1B 00 AE */ lbzx r0, r27, r0 /* 8016027C 0015D1BC 7C 00 07 74 */ extsb r0, r0 diff --git a/include/d/d_camera/asm/func_8016517C.s b/include/d/d_camera/asm/func_8016517C.s index c3ab9931a97..2a2e0c33381 100644 --- a/include/d/d_camera/asm/func_8016517C.s +++ b/include/d/d_camera/asm/func_8016517C.s @@ -8,7 +8,7 @@ /* 80165198 001620D8 93 E1 00 1C */ stw r31, 0x1c(r1) /* 8016519C 001620DC 7C 9F 23 78 */ mr r31, r4 /* 801651A0 001620E0 80 63 00 00 */ lwz r3, 0(r3) -/* 801651A4 001620E4 4B EB 91 65 */ bl fopCamM_GetParam +/* 801651A4 001620E4 4B EB 91 65 */ bl fopCamM_GetParam__FP12camera_class /* 801651A8 001620E8 3C 80 80 40 */ lis r4, g_dComIfG_gameInfo@ha /* 801651AC 001620EC 38 84 61 C0 */ addi r4, r4, g_dComIfG_gameInfo@l /* 801651B0 001620F0 1C 03 00 38 */ mulli r0, r3, 0x38 diff --git a/include/d/d_camera/asm/func_80165238.s b/include/d/d_camera/asm/func_80165238.s index 8a67805b7ae..0581192e4da 100644 --- a/include/d/d_camera/asm/func_80165238.s +++ b/include/d/d_camera/asm/func_80165238.s @@ -22,7 +22,7 @@ /* 8016528C 001621CC 7D 1F 43 78 */ mr r31, r8 /* 80165290 001621D0 FF 60 10 90 */ fmr f27, f2 /* 80165294 001621D4 80 63 00 00 */ lwz r3, 0(r3) -/* 80165298 001621D8 4B EB 90 71 */ bl fopCamM_GetParam +/* 80165298 001621D8 4B EB 90 71 */ bl fopCamM_GetParam__FP12camera_class /* 8016529C 001621DC 3C 80 80 40 */ lis r4, g_dComIfG_gameInfo@ha /* 801652A0 001621E0 38 84 61 C0 */ addi r4, r4, g_dComIfG_gameInfo@l /* 801652A4 001621E4 1C 03 00 38 */ mulli r0, r3, 0x38 diff --git a/include/d/d_camera/asm/func_80165FB4.s b/include/d/d_camera/asm/func_80165FB4.s index 29f9e6cac5d..8c4efdb1c7c 100644 --- a/include/d/d_camera/asm/func_80165FB4.s +++ b/include/d/d_camera/asm/func_80165FB4.s @@ -15,7 +15,7 @@ /* 80165FEC 00162F2C FF C0 18 90 */ fmr f30, f3 /* 80165FF0 00162F30 FF E0 20 90 */ fmr f31, f4 /* 80165FF4 00162F34 80 63 00 00 */ lwz r3, 0(r3) -/* 80165FF8 00162F38 4B EB 83 11 */ bl fopCamM_GetParam +/* 80165FF8 00162F38 4B EB 83 11 */ bl fopCamM_GetParam__FP12camera_class /* 80165FFC 00162F3C 3C 80 80 40 */ lis r4, g_dComIfG_gameInfo@ha /* 80166000 00162F40 38 84 61 C0 */ addi r4, r4, g_dComIfG_gameInfo@l /* 80166004 00162F44 1C 03 00 38 */ mulli r0, r3, 0x38 diff --git a/include/d/d_camera/asm/func_80181280.s b/include/d/d_camera/asm/func_80181280.s index c9556b37fb0..be5e1abed35 100644 --- a/include/d/d_camera/asm/func_80181280.s +++ b/include/d/d_camera/asm/func_80181280.s @@ -13,7 +13,7 @@ /* 801812B0 0017E1F0 28 00 00 00 */ cmplwi r0, 0 /* 801812B4 0017E1F4 41 82 00 8C */ beq lbl_80181340 /* 801812B8 0017E1F8 80 7F 00 00 */ lwz r3, 0(r31) -/* 801812BC 0017E1FC 4B E9 D0 4D */ bl fopCamM_GetParam +/* 801812BC 0017E1FC 4B E9 D0 4D */ bl fopCamM_GetParam__FP12camera_class /* 801812C0 0017E200 3C 80 80 40 */ lis r4, g_dComIfG_gameInfo@ha /* 801812C4 0017E204 38 84 61 C0 */ addi r4, r4, g_dComIfG_gameInfo@l /* 801812C8 0017E208 1C 03 00 38 */ mulli r0, r3, 0x38 diff --git a/include/d/d_camera/asm/func_80181664.s b/include/d/d_camera/asm/func_80181664.s index c29c254bf67..33267dc7849 100644 --- a/include/d/d_camera/asm/func_80181664.s +++ b/include/d/d_camera/asm/func_80181664.s @@ -4,7 +4,7 @@ /* 80181670 0017E5B0 93 E1 00 0C */ stw r31, 0xc(r1) /* 80181674 0017E5B4 93 C1 00 08 */ stw r30, 8(r1) /* 80181678 0017E5B8 7C 7E 1B 78 */ mr r30, r3 -/* 8018167C 0017E5BC 4B E9 CC 8D */ bl fopCamM_GetParam +/* 8018167C 0017E5BC 4B E9 CC 8D */ bl fopCamM_GetParam__FP12camera_class /* 80181680 0017E5C0 3C 80 80 40 */ lis r4, g_dComIfG_gameInfo@ha /* 80181684 0017E5C4 38 84 61 C0 */ addi r4, r4, g_dComIfG_gameInfo@l /* 80181688 0017E5C8 1F E3 00 38 */ mulli r31, r3, 0x38 diff --git a/include/d/d_camera/asm/func_80181708.s b/include/d/d_camera/asm/func_80181708.s index b3fad85b8d9..a4b84c5c488 100644 --- a/include/d/d_camera/asm/func_80181708.s +++ b/include/d/d_camera/asm/func_80181708.s @@ -4,7 +4,7 @@ /* 80181714 0017E654 39 61 00 20 */ addi r11, r1, 0x20 /* 80181718 0017E658 48 1E 0A C5 */ bl _savegpr_29 /* 8018171C 0017E65C 7C 7D 1B 78 */ mr r29, r3 -/* 80181720 0017E660 4B E9 CB E9 */ bl fopCamM_GetParam +/* 80181720 0017E660 4B E9 CB E9 */ bl fopCamM_GetParam__FP12camera_class /* 80181724 0017E664 3C 80 80 40 */ lis r4, g_dComIfG_gameInfo@ha /* 80181728 0017E668 38 84 61 C0 */ addi r4, r4, g_dComIfG_gameInfo@l /* 8018172C 0017E66C 1C 03 00 38 */ mulli r0, r3, 0x38 diff --git a/include/d/d_camera/asm/func_80181804.s b/include/d/d_camera/asm/func_80181804.s index 2fab16992e6..8ee5fcec885 100644 --- a/include/d/d_camera/asm/func_80181804.s +++ b/include/d/d_camera/asm/func_80181804.s @@ -7,7 +7,7 @@ /* 8018181C 0017E75C 48 1E 09 B5 */ bl _savegpr_26 /* 80181820 0017E760 7C 7B 1B 78 */ mr r27, r3 /* 80181824 0017E764 3B 5B 02 48 */ addi r26, r27, 0x248 -/* 80181828 0017E768 4B E9 CA E1 */ bl fopCamM_GetParam +/* 80181828 0017E768 4B E9 CA E1 */ bl fopCamM_GetParam__FP12camera_class /* 8018182C 0017E76C 1F A3 00 38 */ mulli r29, r3, 0x38 /* 80181830 0017E770 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 80181834 0017E774 3B C3 61 C0 */ addi r30, r3, g_dComIfG_gameInfo@l diff --git a/include/d/d_camera/asm/func_80181F70.s b/include/d/d_camera/asm/func_80181F70.s index f3df1941f6a..7ac6421836e 100644 --- a/include/d/d_camera/asm/func_80181F70.s +++ b/include/d/d_camera/asm/func_80181F70.s @@ -8,7 +8,7 @@ /* 80181F8C 0017EECC 7C 7D 1B 78 */ mr r29, r3 /* 80181F90 0017EED0 7F BB EB 78 */ mr r27, r29 /* 80181F94 0017EED4 3B DD 02 48 */ addi r30, r29, 0x248 -/* 80181F98 0017EED8 4B E9 C3 71 */ bl fopCamM_GetParam +/* 80181F98 0017EED8 4B E9 C3 71 */ bl fopCamM_GetParam__FP12camera_class /* 80181F9C 0017EEDC 3C 80 80 40 */ lis r4, g_dComIfG_gameInfo@ha /* 80181FA0 0017EEE0 38 84 61 C0 */ addi r4, r4, g_dComIfG_gameInfo@l /* 80181FA4 0017EEE4 1C 03 00 38 */ mulli r0, r3, 0x38 @@ -20,7 +20,7 @@ /* 80181FBC 0017EEFC 3B 83 4E 10 */ addi r28, r3, 0x4e10 /* 80181FC0 0017EF00 7F 9F E2 14 */ add r28, r31, r28 /* 80181FC4 0017EF04 7F 63 DB 78 */ mr r3, r27 -/* 80181FC8 0017EF08 4B E9 C3 41 */ bl fopCamM_GetParam +/* 80181FC8 0017EF08 4B E9 C3 41 */ bl fopCamM_GetParam__FP12camera_class /* 80181FCC 0017EF0C 7C 7B 1B 78 */ mr r27, r3 /* 80181FD0 0017EF10 C0 1E 09 20 */ lfs f0, 0x920(r30) /* 80181FD4 0017EF14 FC 00 00 1E */ fctiwz f0, f0 diff --git a/include/d/d_camera/asm/func_801821E0.s b/include/d/d_camera/asm/func_801821E0.s index 1aff0810b13..a1b296a198a 100644 --- a/include/d/d_camera/asm/func_801821E0.s +++ b/include/d/d_camera/asm/func_801821E0.s @@ -3,7 +3,7 @@ /* 801821E8 0017F128 90 01 00 14 */ stw r0, 0x14(r1) /* 801821EC 0017F12C 93 E1 00 0C */ stw r31, 0xc(r1) /* 801821F0 0017F130 7C 7F 1B 78 */ mr r31, r3 -/* 801821F4 0017F134 4B E9 C1 15 */ bl fopCamM_GetParam +/* 801821F4 0017F134 4B E9 C1 15 */ bl fopCamM_GetParam__FP12camera_class /* 801821F8 0017F138 3C 80 80 40 */ lis r4, g_dComIfG_gameInfo@ha /* 801821FC 0017F13C 38 84 61 C0 */ addi r4, r4, g_dComIfG_gameInfo@l /* 80182200 0017F140 1C 03 00 38 */ mulli r0, r3, 0x38 diff --git a/include/d/d_camera/asm/func_80182260.s b/include/d/d_camera/asm/func_80182260.s index b05d54f9fba..bbcb73be290 100644 --- a/include/d/d_camera/asm/func_80182260.s +++ b/include/d/d_camera/asm/func_80182260.s @@ -7,12 +7,12 @@ /* 80182278 0017F1B8 48 1D FF 61 */ bl _savegpr_28 /* 8018227C 0017F1BC 7C 7F 1B 78 */ mr r31, r3 /* 80182280 0017F1C0 3B DF 02 48 */ addi r30, r31, 0x248 -/* 80182284 0017F1C4 4B E9 C0 85 */ bl fopCamM_GetParam +/* 80182284 0017F1C4 4B E9 C0 85 */ bl fopCamM_GetParam__FP12camera_class /* 80182288 0017F1C8 80 7F 02 38 */ lwz r3, 0x238(r31) /* 8018228C 0017F1CC 38 03 00 01 */ addi r0, r3, 1 /* 80182290 0017F1D0 90 1F 02 38 */ stw r0, 0x238(r31) /* 80182294 0017F1D4 7F E3 FB 78 */ mr r3, r31 -/* 80182298 0017F1D8 4B E9 C0 71 */ bl fopCamM_GetParam +/* 80182298 0017F1D8 4B E9 C0 71 */ bl fopCamM_GetParam__FP12camera_class /* 8018229C 0017F1DC 3C 80 80 40 */ lis r4, g_dComIfG_gameInfo@ha /* 801822A0 0017F1E0 38 84 61 C0 */ addi r4, r4, g_dComIfG_gameInfo@l /* 801822A4 0017F1E4 1C 03 00 38 */ mulli r0, r3, 0x38 diff --git a/include/d/d_stage/asm/func_80024F98.s b/include/d/d_stage/asm/func_80024F98.s index 873900c93de..6cd1ccf416d 100644 --- a/include/d/d_stage/asm/func_80024F98.s +++ b/include/d/d_stage/asm/func_80024F98.s @@ -17,7 +17,7 @@ /* 80024FD8 00021F18 93 E5 00 00 */ stw r31, 0(r5) /* 80024FDC 00021F1C 7F C3 F3 78 */ mr r3, r30 /* 80024FE0 00021F20 38 80 03 0D */ li r4, 0x30d -/* 80024FE4 00021F24 4B FF 93 2D */ bl fopCamM_Create +/* 80024FE4 00021F24 4B FF 93 2D */ bl fopCamM_Create__FisPv lbl_80024FE8: /* 80024FE8 00021F28 38 60 00 01 */ li r3, 1 /* 80024FEC 00021F2C 83 E1 00 0C */ lwz r31, 0xc(r1) diff --git a/include/f/f_ap_game/asm/func_80018AA0.s b/include/f/f_ap_game/asm/func_80018AA0.s index dd0ea2676a6..c343c4a04b6 100644 --- a/include/f/f_ap_game/asm/func_80018AA0.s +++ b/include/f/f_ap_game/asm/func_80018AA0.s @@ -4,7 +4,7 @@ /* 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 -/* 80018AB8 000159F8 48 00 58 C1 */ bl fopCamM_Init +/* 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 /* 80018AC4 00015A04 3C 60 80 3F */ lis r3, g_HIO@ha diff --git a/include/f/f_op/f_op_camera_mng.h b/include/f/f_op/f_op_camera_mng.h index 6064ef57e2b..1a77bccfac4 100644 --- a/include/f/f_op/f_op_camera_mng.h +++ b/include/f/f_op/f_op_camera_mng.h @@ -1,6 +1,16 @@ #ifndef F_F_OP_CAMERA_MNG_H_ #define F_F_OP_CAMERA_MNG_H_ +#include "dolphin/types.h" + +class camera_class { +public: + /* 0x00 */ u8 field_0x00[0xb0]; + /* 0xB0 */ u32 parameter; +}; + void fopCamM_Management(void); +u32 fopCamM_GetParam(camera_class* pCamera); +void fopCamM_Init(void); #endif \ No newline at end of file diff --git a/include/f/f_op_camera_mng/asm/func_8001E308.s b/include/f/f_op_camera_mng/asm/func_8001E308.s deleted file mode 100644 index 18f2bd59f40..00000000000 --- a/include/f/f_op_camera_mng/asm/func_8001E308.s +++ /dev/null @@ -1,2 +0,0 @@ -/* 8001E308 0001B248 80 63 00 B0 */ lwz r3, 0xb0(r3) -/* 8001E30C 0001B24C 4E 80 00 20 */ blr diff --git a/include/f/f_op_camera_mng/asm/func_8001E310.s b/include/f/f_op_camera_mng/asm/func_8001E310.s deleted file mode 100644 index 9c3a36cf6c6..00000000000 --- a/include/f/f_op_camera_mng/asm/func_8001E310.s +++ /dev/null @@ -1,25 +0,0 @@ -/* 8001E310 0001B250 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 8001E314 0001B254 7C 08 02 A6 */ mflr r0 -/* 8001E318 0001B258 90 01 00 24 */ stw r0, 0x24(r1) -/* 8001E31C 0001B25C 39 61 00 20 */ addi r11, r1, 0x20 -/* 8001E320 0001B260 48 34 3E BD */ bl _savegpr_29 -/* 8001E324 0001B264 7C 7D 1B 78 */ mr r29, r3 -/* 8001E328 0001B268 7C 9E 23 78 */ mr r30, r4 -/* 8001E32C 0001B26C 7C BF 2B 78 */ mr r31, r5 -/* 8001E330 0001B270 48 00 33 C5 */ bl fpcLy_CurrentLayer -/* 8001E334 0001B274 7F C4 F3 78 */ mr r4, r30 -/* 8001E338 0001B278 38 A0 00 00 */ li r5, 0 -/* 8001E33C 0001B27C 38 C0 00 00 */ li r6, 0 -/* 8001E340 0001B280 7F E7 FB 78 */ mr r7, r31 -/* 8001E344 0001B284 48 00 5A 51 */ bl fpcSCtRq_Request -/* 8001E348 0001B288 57 A0 10 3A */ slwi r0, r29, 2 -/* 8001E34C 0001B28C 3C 80 80 3F */ lis r4, lbl_803F1DD8@ha -/* 8001E350 0001B290 38 84 1D D8 */ addi r4, r4, lbl_803F1DD8@l -/* 8001E354 0001B294 7C 64 01 2E */ stwx r3, r4, r0 -/* 8001E358 0001B298 7C 64 00 2E */ lwzx r3, r4, r0 -/* 8001E35C 0001B29C 39 61 00 20 */ addi r11, r1, 0x20 -/* 8001E360 0001B2A0 48 34 3E C9 */ bl _restgpr_29 -/* 8001E364 0001B2A4 80 01 00 24 */ lwz r0, 0x24(r1) -/* 8001E368 0001B2A8 7C 08 03 A6 */ mtlr r0 -/* 8001E36C 0001B2AC 38 21 00 20 */ addi r1, r1, 0x20 -/* 8001E370 0001B2B0 4E 80 00 20 */ blr diff --git a/include/f/f_op_camera_mng/asm/func_8001E374.s b/include/f/f_op_camera_mng/asm/func_8001E374.s deleted file mode 100644 index 337d2b27444..00000000000 --- a/include/f/f_op_camera_mng/asm/func_8001E374.s +++ /dev/null @@ -1 +0,0 @@ -/* 8001E374 0001B2B4 4E 80 00 20 */ blr diff --git a/include/f/f_op_camera_mng/asm/func_8001E378.s b/include/f/f_op_camera_mng/asm/func_8001E378.s deleted file mode 100644 index 97c22276d2a..00000000000 --- a/include/f/f_op_camera_mng/asm/func_8001E378.s +++ /dev/null @@ -1 +0,0 @@ -/* 8001E378 0001B2B8 4E 80 00 20 */ blr \ No newline at end of file diff --git a/src/d/d_camera.cpp b/src/d/d_camera.cpp index 04d1ec61383..5424b5b4ce7 100644 --- a/src/d/d_camera.cpp +++ b/src/d/d_camera.cpp @@ -11,12 +11,14 @@ #include "d/d_com/d_com_inf_game/d_com_inf_game.h" #include "f/f_op/f_op_actor_iter.h" #include "f/f_op/f_op_actor_mng.h" +#include "f/f_op/f_op_camera_mng.h" #include "f/f_pc/f_pc_searcher.h" #include "m_Do/m_Do_audio/m_Do_audio.h" #include "m_Do/m_Do_controller_pad/m_Do_controller_pad.h" #include "m_Do/m_Do_graphic/m_Do_graphic.h" extern "C" { +void fopCamM_GetParam__FP12camera_class(void); void __dt__8cM3dGLinFv(void); double func_8036C668(double); int func_80368954(char*, char*, u32); diff --git a/src/d/d_stage.cpp b/src/d/d_stage.cpp index d890fbaa48b..cac530a50e0 100644 --- a/src/d/d_stage.cpp +++ b/src/d/d_stage.cpp @@ -3,11 +3,13 @@ #include "d/d_stage/d_stage.h" #include "d/d_com/d_com_inf_game/d_com_inf_game.h" #include "f/f_op/f_op_actor_mng.h" +#include "f/f_op/f_op_camera_mng.h" #include "f/f_pc/f_pc_stdcreate_req.h" #include "global.h" #include "m_Do/m_Do_Reset/m_Do_Reset.h" extern "C" { +void fopCamM_Create__FisPv(void); char* strcpy(char*, const char*); int strcmp(const char*, const char*); void __arraydtor_5375(void); diff --git a/src/f/f_ap_game.cpp b/src/f/f_ap_game.cpp index c175a4ea754..206932c19dc 100644 --- a/src/f/f_ap_game.cpp +++ b/src/f/f_ap_game.cpp @@ -14,7 +14,6 @@ extern "C" { void __dl__FPv(void); void fapGm_HIO_c(void); void fapGm_HIO_c_NS_dtor(void); -void fopCamM_Init(void); void fopDwTg_CreateQueue(void); void fopOvlpM_Init(void); void fopScnM_Init(void); diff --git a/src/f/f_op/f_op_camera_mng.cpp b/src/f/f_op/f_op_camera_mng.cpp index 24e2a083e60..57566f2d6dd 100644 --- a/src/f/f_op/f_op_camera_mng.cpp +++ b/src/f/f_op/f_op_camera_mng.cpp @@ -1,6 +1,8 @@ /* f_op_camera_mng.cpp autogenerated by split.py v0.4 at 2021-02-13 20:39:01.831629 */ #include "f/f_op/f_op_camera_mng.h" +#include "f/f_pc/f_pc_layer.h" +#include "f/f_pc/f_pc_stdcreate_req.h" #include "global.h" // additional symbols needed for f_op_camera_mng.cpp @@ -8,44 +10,25 @@ extern "C" { void _restgpr_29(void); void _savegpr_29(void); -void fopCamM_Create(void); -void fopCamM_GetParam(void); -void fopCamM_Init(void); -void fopCamM_Management(void); -void fpcLy_CurrentLayer(void); -void fpcSCtRq_Request(void); } // additional symbols needed for f_op_camera_mng.cpp // autogenerated by split.py v0.4 at 2021-02-13 20:39:01.831656 -extern u8 lbl_803F1DD8; +extern u32 l_fopCamM_id[4]; -extern "C" { -// fopCamM_GetParam__FP12camera_class -// fopCamM_GetParam(camera_class*) -asm void fopCamM_GetParam(void) { - nofralloc -#include "f/f_op_camera_mng/asm/func_8001E308.s" +u32 fopCamM_GetParam(camera_class* pCamera) { + return pCamera->parameter; } -// fopCamM_Create__FisPv -// fopCamM_Create(int, s16, void*) -asm void fopCamM_Create(void) { - nofralloc -#include "f/f_op_camera_mng/asm/func_8001E310.s" +u32 fopCamM_Create(int i_cameraIdx, s16 pProcName, void* param_3) { + l_fopCamM_id[i_cameraIdx] = fpcSCtRq_Request(fpcLy_CurrentLayer(), pProcName, 0, 0, param_3); + return l_fopCamM_id[i_cameraIdx]; } -// fopCamM_Management__Fv -// fopCamM_Management(void) -asm void fopCamM_Management(void) { - nofralloc -#include "f/f_op_camera_mng/asm/func_8001E374.s" +void fopCamM_Management(void) { + return; } -// fopCamM_Init__Fv -// fopCamM_Init(void) -asm void fopCamM_Init(void) { - nofralloc -#include "f/f_op_camera_mng/asm/func_8001E378.s" +void fopCamM_Init(void) { + return; } -};