mirror of
https://github.com/TwilitRealm/dusklight
synced 2026-06-18 06:15:20 -04:00
121 lines
3.1 KiB
C++
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;
|
|
} |