summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorPheenoh <pheenoh@gmail.com>2021-03-20 21:14:41 -0400
committerPheenoh <pheenoh@gmail.com>2021-03-20 21:14:41 -0400
commit9245f01cbb39b50091918de6a5ccff9816ee84ea (patch)
tree22338924544c3fed9a4b22d606379bcba97db3fc /src
parentbcced20f399bee4520b38ad97626046d09cf31d2 (diff)
fopScnRq_Request attempt + clang-format
Diffstat (limited to 'src')
-rw-r--r--src/f/f_op/f_op_scene_req.cpp83
1 files changed, 44 insertions, 39 deletions
diff --git a/src/f/f_op/f_op_scene_req.cpp b/src/f/f_op/f_op_scene_req.cpp
index b5cb8d3e7b..f50f91517a 100644
--- a/src/f/f_op/f_op_scene_req.cpp
+++ b/src/f/f_op/f_op_scene_req.cpp
@@ -8,41 +8,17 @@
// additional symbols needed for f_op_scene_req.cpp
// autogenerated by split.py v0.4 at 2021-03-20 21:43:05.095971
extern "C" {
-void _restgpr_26(void);
-void _savegpr_26(void);
-void cPhs_Do__FP30request_of_phase_process_classPv(void);
void cPhs_Set__FP30request_of_phase_process_classPPFPv_i(void);
-void fopOvlpM_Cancel__Fv(void);
-void fopOvlpM_ClearOfReq__Fv(void);
-void fopOvlpM_IsDoingReq__Fv(void);
-void fopOvlpM_IsDone__Fv(void);
-void fopOvlpM_Request__FsUs(void);
-void fopOvlpM_ToldAboutID__FUi(void);
-void fopScnPause_Disable__FP11scene_class(void);
-void fopScnPause_Enable__FP11scene_class(void);
-void fopScnRq_Execute__FP19scene_request_class(void);
-void fopScnRq_FadeRequest__FsUs(void);
-void fopScnRq_Handler__Fv(void);
-void fopScnRq_ReRequest__FUisPv(void);
-void fopScnRq_Request__FiP11scene_classsPvsUs(void);
-void fopScnRq_phase_ClearOverlap__FP19scene_request_class(void);
-void fpcEx_SearchByID__FUi(void);
void fpcNdRq_Delete__FP19node_create_request(void);
-void fpcNdRq_Execute__FP19node_create_request(void);
-void fpcNdRq_Handler__Fv(void);
-void fpcNdRq_ReRequest__FUisPv(void);
+void fopScnRq_FadeRequest__FsUs(void);
void fpcNdRq_Request__FUliP18process_node_classsPvP32node_create_request_method_class(void);
-void func_8001EE64(void);
-void func_8001EE84(void);
-void func_8001EEB4(void);
-void func_8001EEE4(void);
-void func_8001EF6C(void);
-void func_8001EFB0(void);
}
// additional symbols needed for f_op_scene_req.cpp
// autogenerated by split.py v0.4 at 2021-03-20 21:43:05.095976
-extern u8 lbl_803A38C8;
+extern node_create_request_method_class* submethod[4];
+extern request_of_phase_process_class* noFadeFase[8];
+extern request_of_phase_process_class* fadeFase[8];
extern int l_fopScnRq_IsUsingOfOverlap;
scene_request_class* fopScnRq_phase_ClearOverlap(scene_request_class* pScnRq) {
@@ -91,11 +67,11 @@ int fopScnRq_phase_Done(scene_request_class* pScnRq) {
}
void fopScnRq_Execute(scene_request_class* pScnRq) {
- int tmp = cPhs_Do(&pScnRq->mReqPhsProcCls,pScnRq);
+ int tmp = cPhs_Do(&pScnRq->mReqPhsProcCls, pScnRq);
switch (tmp) {
- case 2: {
- fopScnRq_Execute(pScnRq);
- }
+ case 2: {
+ fopScnRq_Execute(pScnRq);
+ }
}
}
@@ -108,7 +84,6 @@ int fopScnRq_PostMethod(void* param_1, scene_request_class* pScnRq) {
}
int fopScnRq_Cancel(scene_request_class* pScnRq) {
-
if (pScnRq->mFadeRequest && !fopOvlpM_Cancel()) {
return 0;
}
@@ -116,23 +91,53 @@ int fopScnRq_Cancel(scene_request_class* pScnRq) {
return 1;
}
-request_base_class* fopScnRq_FadeRequest(s16 param_1, u16 param_2) {
+scene_request_class* fopScnRq_FadeRequest(s16 param_1, u16 param_2) {
request_base_class* tmp = 0;
- if (l_fopScnRq_IsUsingOfOverlap == 0 && (tmp = fopOvlpM_Request(param_1,param_2), tmp != 0)) {
+ if (l_fopScnRq_IsUsingOfOverlap == 0 && (tmp = fopOvlpM_Request(param_1, param_2), tmp != 0)) {
l_fopScnRq_IsUsingOfOverlap = 1;
}
- return tmp;
+ return (scene_request_class*)tmp;
}
-asm u32 fopScnRq_Request(int, scene_class*, s16, void*, s16, u16) {
+#ifdef NON_MATCHING
+s32 fopScnRq_Request(int param_1, scene_class* param_2, s16 param_3, void* param_4, s16 param_5,
+ u16 param_6) {
+ s32 ret;
+ request_of_phase_process_class** phase_handler_table;
+ phase_handler_table = noFadeFase;
+ int tmp = 0;
+ scene_request_class* pScnReq = (scene_request_class*)fpcNdRq_Request(
+ 0x74, param_1, (process_node_class*)param_2, param_3, param_4, submethod[0]);
+
+ if (!pScnReq) {
+ ret = -1;
+ } else {
+ if (param_5 != 0x7fff) {
+ phase_handler_table = fadeFase;
+ tmp = (int)fopScnRq_FadeRequest(param_5, param_6);
+ if (!tmp) {
+ fpcNdRq_Delete((node_create_request*)pScnReq);
+ return -1;
+ }
+ }
+ pScnReq->mFadeRequest = tmp;
+ cPhs_Set(&pScnReq->mReqPhsProcCls, (cPhs__Handler*)phase_handler_table);
+ ret = pScnReq->mCrtReq.mRequestId;
+ }
+
+ return ret;
+}
+#else
+asm s32 fopScnRq_Request(int, scene_class*, s16, void*, s16, u16) {
nofralloc
#include "f/f_op/f_op_scene_req/asm/func_8001F034.s"
}
+#endif
-u32 fopScnRq_ReRequest(unsigned int param_1, s16 param_2, void* param_3) {
- fpcNdRq_ReRequest(param_1,param_2,param_3);
+s32 fopScnRq_ReRequest(unsigned int param_1, s16 param_2, void* param_3) {
+ return fpcNdRq_ReRequest(param_1, param_2, param_3);
}
void fopScnRq_Handler(void) {