fopScnM_ReRequest OK, fopScnM_Management OK, fopScnM_Init OK

This commit is contained in:
Pheenoh
2021-02-21 19:34:50 -05:00
parent 261874816c
commit e0abe5e59d
5 changed files with 36 additions and 28 deletions
+30 -23
View File
@@ -12,7 +12,7 @@ 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 int l_scnRqID;
extern unsigned int l_scnRqID;
// matches but is proabably wrong
void* fopScnM_SearchByID(unsigned int id) {
@@ -21,11 +21,10 @@ void* fopScnM_SearchByID(unsigned int id) {
return fopScnIt_Judge(fpcSch_JudgeByID, (void*)local_8);
}
// fopScnM_ChangeReq__FP11scene_classssUs
// fopScnM_ChangeReq(scene_class*, s16, s16, u16)
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);
// can't get a match unless the request id is unsigned
if (sceneRequestID == -1) {
return 0;
}
@@ -33,37 +32,45 @@ int fopScnM_ChangeReq(scene_class* pScene, s16 param_2, s16 param_3, u16 param_4
return 1;
}
// fopScnM_DeleteReq__FP11scene_class
// fopScnM_DeleteReq(scene_class*)
asm void fopScnM_DeleteReq(scene_class*) {
#ifdef NONMATCHING
unsigned int fopScnM_DeleteReq(scene_class* pScene) {
u32 sceneRequestID = fopScnRq_Request(1, pScene, 0x7fff, 0, 0x7fff, 0);
u32 tmp = (-sceneRequestID - 1);
u32 tmp2 = (tmp + -1);
return tmp2;
}
#else
asm unsigned int fopScnM_DeleteReq(scene_class*) {
nofralloc
#include "f/f_op_scene_mng/asm/func_8001ED3C.s"
}
#endif
// fopScnM_CreateReq__FssUsUl
// fopScnM_CreateReq(s16, s16, u16, u32)
#ifdef NONMATCHING
void fopScnM_CreateReq(s16 param_1, s16 param_2, u16 param_3, u32 param_4) {
u32 sceneRequestID = fopScnRq_Request(0, 0, param_1, (void*)param_4, param_2, param_3);
u32 tmp = (-sceneRequestID + -1);
return tmp - (sceneRequestID == 0) + (-sceneRequestID + -2) & 0xFF;
}
#else
asm void fopScnM_CreateReq(s16, s16, u16, u32) {
nofralloc
#include "f/f_op_scene_mng/asm/func_8001ED84.s"
}
#endif
// fopScnM_ReRequest__FsUl
// fopScnM_ReRequest(s16, u32)
asm void fopScnM_ReRequest(s16, u32) {
nofralloc
#include "f/f_op_scene_mng/asm/func_8001EDCC.s"
u32 fopScnM_ReRequest(s16 param_1, u32 param_2) {
if (l_scnRqID == -1) {
return 0;
}
return fopScnRq_ReRequest(l_scnRqID, param_1, (void*)param_2);
}
// fopScnM_Management__Fv
// fopScnM_Management(void)
asm void fopScnM_Management(void) {
nofralloc
#include "f/f_op_scene_mng/asm/func_8001EE10.s"
void fopScnM_Management(void) {
fopScnRq_Handler();
}
// fopScnM_Init__Fv
// fopScnM_Init(void)
asm void fopScnM_Init(void) {
nofralloc
#include "f/f_op_scene_mng/asm/func_8001EE30.s"
void fopScnM_Init(void) {
return;
}