summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorPheenoh <pheenoh@gmail.com>2021-02-21 17:50:16 -0500
committerPheenoh <pheenoh@gmail.com>2021-02-21 17:50:16 -0500
commiteeecf4cf69788130496ffc21ec0d0b5fa6578f03 (patch)
tree64e3fa5bcb9c2f379a47984c53a6821aa592eb73 /src
parentf256d97ddf87a785a593f1892e6a8d72ecb311ed (diff)
fopScnM_ChangeReq OK
Diffstat (limited to 'src')
-rw-r--r--src/d/d_com/d_com_inf_game.cpp3
-rw-r--r--src/d/d_stage.cpp2
-rw-r--r--src/f/f_op/f_op_scene_mng.cpp35
3 files changed, 19 insertions, 21 deletions
diff --git a/src/d/d_com/d_com_inf_game.cpp b/src/d/d_com/d_com_inf_game.cpp
index 02e76da05d..eda882934f 100644
--- a/src/d/d_com/d_com_inf_game.cpp
+++ b/src/d/d_com/d_com_inf_game.cpp
@@ -10,6 +10,7 @@
#include "m_Do/m_Do_controller_pad/m_Do_controller_pad.h"
#include "m_Do/m_Do_ext/m_Do_ext.h"
#include "msl_c/string.h"
+#include "f/f_op/f_op_scene_mng.h"
extern "C" {
bool dComIfGp_checkMapShow(void);
@@ -280,6 +281,8 @@ void setBottleNum__24dSv_player_item_record_cFUcUc(u8, u8);
void setCollect__20dSv_player_collect_cFiUc(int, u8);
void setWarpItemData__14dComIfG_play_cFPCc4cXyzsScUcUc(void);
void ct__13dComIfG_inf_cFv(void);
+void fopScnM_ReRequest__FsUl(void);
+void fopScnM_ChangeReq__FP11scene_classssUs(void);
}
extern u8 lbl_80430188;
diff --git a/src/d/d_stage.cpp b/src/d/d_stage.cpp
index 65b51f5f14..79e6f9ba1e 100644
--- a/src/d/d_stage.cpp
+++ b/src/d/d_stage.cpp
@@ -5,6 +5,7 @@
#include "f/f_op/f_op_actor_mng.h"
#include "f/f_op/f_op_camera_mng.h"
#include "f/f_op/f_op_scene_iter.h"
+#include "f/f_op/f_op_scene_mng.h"
#include "f/f_pc/f_pc_stdcreate_req.h"
#include "global.h"
#include "m_Do/m_Do_Reset/m_Do_Reset.h"
@@ -73,6 +74,7 @@ void set__19dStage_startStage_cFPCcScsSc(const char*, s8, s16, s8);
void stage_tgsc_data_class_NS_dtor(void);
void stage_tgsc_data_class(void);
void* memalignB__3cMlFiUl(int pAlign, u32 pSize);
+void fopScnM_CreateReq__FssUsUl(void);
}
extern char lbl_80378A50[0x3F8]; // d_stage string literals
diff --git a/src/f/f_op/f_op_scene_mng.cpp b/src/f/f_op/f_op_scene_mng.cpp
index 31508686d9..0663462f44 100644
--- a/src/f/f_op/f_op_scene_mng.cpp
+++ b/src/f/f_op/f_op_scene_mng.cpp
@@ -2,27 +2,17 @@
#include "f/f_op/f_op_scene_mng.h"
#include "f/f_op/f_op_scene_iter.h"
+#include "f/f_op/f_op_scene_req.h"
#include "f/f_pc/f_pc_searcher.h"
#include "global.h"
-// additional symbols needed for f_op_scene_mng.cpp
-// autogenerated by split.py v0.4 at 2021-02-13 20:33:37.409404
extern "C" {
-void fopScnM_ChangeReq(void);
-void fopScnM_CreateReq(void);
-void fopScnM_DeleteReq(void);
-void fopScnM_Init(void);
-void fopScnM_ReRequest(void);
-void fopScnM_SearchByID(void);
-void fopScnRq_Handler(void);
-void fopScnRq_ReRequest(void);
-void fopScnRq_Request(void);
-void fopScnIt_Judge__FPFPvPv_PvPv(void);
+void fopScnRq_Request__FiP11scene_classsPvsUs(void);
}
// additional symbols needed for f_op_scene_mng.cpp
// autogenerated by split.py v0.4 at 2021-02-13 20:33:37.409412
-extern u8 lbl_804505B8;
+extern int l_scnRqID;
// matches but is proabably wrong
void* fopScnM_SearchByID(unsigned int id) {
@@ -31,31 +21,35 @@ void* fopScnM_SearchByID(unsigned int id) {
return fopScnIt_Judge(fpcSch_JudgeByID, (void*)local_8);
}
-extern "C" {
// fopScnM_ChangeReq__FP11scene_classssUs
// fopScnM_ChangeReq(scene_class*, s16, s16, u16)
-asm void fopScnM_ChangeReq(void) {
- nofralloc
-#include "f/f_op_scene_mng/asm/func_8001ECE0.s"
+int fopScnM_ChangeReq(scene_class* pScene, s16 param_2, s16 param_3, u16 param_4) {
+ u32 sceneRequestID = fopScnRq_Request(2, pScene, param_2, 0, param_3, param_4);
+
+ if (sceneRequestID == -1) {
+ return 0;
+ }
+ l_scnRqID = sceneRequestID;
+ return 1;
}
// fopScnM_DeleteReq__FP11scene_class
// fopScnM_DeleteReq(scene_class*)
-asm void fopScnM_DeleteReq(void) {
+asm void fopScnM_DeleteReq(scene_class*) {
nofralloc
#include "f/f_op_scene_mng/asm/func_8001ED3C.s"
}
// fopScnM_CreateReq__FssUsUl
// fopScnM_CreateReq(s16, s16, u16, u32)
-asm void fopScnM_CreateReq(void) {
+asm void fopScnM_CreateReq(s16, s16, u16, u32) {
nofralloc
#include "f/f_op_scene_mng/asm/func_8001ED84.s"
}
// fopScnM_ReRequest__FsUl
// fopScnM_ReRequest(s16, u32)
-asm void fopScnM_ReRequest(void) {
+asm void fopScnM_ReRequest(s16, u32) {
nofralloc
#include "f/f_op_scene_mng/asm/func_8001EDCC.s"
}
@@ -73,4 +67,3 @@ asm void fopScnM_Init(void) {
nofralloc
#include "f/f_op_scene_mng/asm/func_8001EE30.s"
}
-};