mirror of
https://github.com/zeldaret/tp
synced 2026-08-08 10:34:08 -04:00
most of f_op_overlap_mng OK
This commit is contained in:
@@ -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
File diff suppressed because it is too large
Load Diff
@@ -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;
|
||||
}
|
||||
Reference in New Issue
Block a user