most of f_op_overlap_mng OK

This commit is contained in:
Pheenoh
2021-02-15 13:34:16 -05:00
parent c29034f4bd
commit b3a4f9f7c5
24 changed files with 442 additions and 412 deletions
+2 -1
View File
@@ -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);
+309 -309
View File
File diff suppressed because it is too large Load Diff
+61 -60
View File
@@ -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;
}