Files
dusklight/src/f/f_op/f_op_overlap_mng.cpp
T
2021-02-15 13:34:16 -05:00

121 lines
3.1 KiB
C++

/* f_op_overlap_mng.cpp autogenerated by split.py v0.4 at 2021-02-13 20:35:13.072583 */
#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
// autogenerated by split.py v0.4 at 2021-02-13 20:35:13.072614
extern "C" {
// void cReq_Done__FP18request_base_class(void);
void cReq_Is_Done__FP18request_base_class(void);
void fopOvlpM_Done(void);
void fopOvlpM_Init(void);
void fopOvlpM_Request(void);
void fopOvlpM_ToldAboutID(void);
void fopScnPause_Disable(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 request_base_class* l_fopOvlpM_overlap;
extern overlap_request_class l_fopOvlpM_Request;
int fopOvlpM_SceneIsStop(void) {
if (l_fopOvlpM_overlap) {
return fopScnPause_Enable(
(scene_class*)fpcEx_SearchByID(l_fopOvlpM_overlap->field_0x20[0x32]));
} else {
return 0;
}
}
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
int fopOvlpM_IsOutReq(overlap_task_class* pTaskClass) {
return pTaskClass->field_0xc4 == 2;
}
#else
asm int fopOvlpM_IsOutReq(overlap_task_class* pTaskClass) {
nofralloc
#include "f/f_op_overlap_mng/asm/func_8001E504.s"
}
#endif
void fopOvlpM_Done(overlap_task_class* pTaskClass) {
cReq_Done((request_base_class*)&pTaskClass->field_0xc4);
}
void fopOvlpM_ToldAboutID(unsigned int param_1) {
l_fopOvlpM_overlap ? l_fopOvlpM_overlap->field_0x20[0x32] = param_1 : 0;
}
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;
}
int fopOvlpM_IsDoingReq(void) {
if (l_fopOvlpM_overlap && l_fopOvlpM_overlap->field_0x4 == 1) {
return 1;
}
return 0;
}
int fopOvlpM_ClearOfReq(void) {
return l_fopOvlpM_overlap ? fopOvlpReq_OverlapClr((overlap_request_class*)l_fopOvlpM_overlap) :
0;
}
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;
}
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;
}
}
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;
}
void fopOvlpM_Init(void) {
return;
}