f_pc_manager, f_ap_game work

This commit is contained in:
Jasper St. Pierre
2023-09-09 22:39:55 -07:00
parent 701309e5ec
commit 0899971923
10 changed files with 324 additions and 15 deletions
+18 -4
View File
@@ -4,6 +4,12 @@
//
#include "f_ap/f_ap_game.h"
#include "f_op/f_op_scene_mng.h"
#include "f_op/f_op_overlap_mng.h"
#include "f_op/f_op_camera_mng.h"
#include "f_op/f_op_draw_tag.h"
#include "f_pc/f_pc_manager.h"
#include "SSystem/SComponent/c_counter.h"
#include "dolphin/types.h"
/* 8002306C-800231BC .text __ct__11fapGm_HIO_cFv */
@@ -13,20 +19,28 @@ fapGm_HIO_c::fapGm_HIO_c() {
/* 800231BC-800231E4 .text fapGm_After__Fv */
void fapGm_After() {
/* Nonmatching */
fopScnM_Management();
fopOvlpM_Management();
fopCamM_Management();
}
/* 800231E4-80023218 .text fapGm_Execute__Fv */
void fapGm_Execute() {
/* Nonmatching */
fpcM_Management(0, fapGm_After);
cCt_Counter(0);
}
/* 80023218-80023288 .text fapGm_Create__Fv */
void fapGm_Create() {
/* Nonmatching */
fpcM_Init();
fopScnM_Init();
fopOvlpM_Init();
fopCamM_Init();
fopDwTg_CreateQueue();
fopScnM_CreateReq(5, 0x7FFF, 0, 0);
// HIO
}
/* 80023288-800232D0 .text __dt__11fapGm_HIO_cFv */
fapGm_HIO_c::~fapGm_HIO_c() {
/* Nonmatching */
}
+2 -2
View File
@@ -108,8 +108,8 @@ BOOL fpcCtRq_Do(create_request* i_request) {
}
/* 8003CFC4-8003CFF0 .text fpcCtRq_Handler__Fv */
void fpcCtRq_Handler() {
fpcCtIt_Method((fpcCtIt_MethodFunc)fpcCtRq_Do, NULL);
s32 fpcCtRq_Handler() {
return fpcCtIt_Method((fpcCtIt_MethodFunc)fpcCtRq_Do, NULL);
}
/* 8003CFF0-8003D078 .text fpcCtRq_Create__FP11layer_classUlP27create_request_method_class */
+2 -2
View File
@@ -23,6 +23,6 @@ BOOL fpcCt_Abort(base_process_class* i_proc) {
}
/* 8003D150-8003D170 .text fpcCt_Handler__Fv */
void fpcCt_Handler() {
fpcCtRq_Handler();
s32 fpcCt_Handler() {
return fpcCtRq_Handler();
}
+48 -5
View File
@@ -11,6 +11,12 @@
#include "f_pc/f_pc_layer_iter.h"
#include "f_pc/f_pc_line.h"
#include "f_pc/f_pc_pause.h"
#include "f_pc/f_pc_priority.h"
#include "dolphin/dvd/DVD.h"
#include "m_Do/m_Do_Reset.h"
#include "SSystem/SComponent/c_lib.h"
#include "SSystem/SComponent/c_API_graphic.h"
#include "JSystem/JUtility/JUTAssert.h"
/* 8003E318-8003E338 .text fpcM_Draw__FPv */
void fpcM_Draw(void* i_proc) {
@@ -43,18 +49,55 @@ void messageSet(unsigned long) {
}
/* 8003E9F0-8003EBD4 .text drawDvdCondition__Fl */
void drawDvdCondition(long) {
void drawDvdCondition(long status) {
/* Nonmatching */
}
/* 8003EBD4-8003EC84 .text checkDvdCondition__Fv */
void checkDvdCondition() {
/* Nonmatching */
static int checkDvdCondition() {
static int l_dvdError = 0;
int status = DVDGetDriveStatus();
if (status != 0 && status != 1)
l_dvdError = 1;
if (l_dvdError != 0) {
if (status == 0) {
l_dvdError = 0;
} else if (mDoRst::isReset()) {
mDoRst::offReset();
mDoRst_reset(1, 0x80000000, 0);
} else {
drawDvdCondition(status);
}
}
return l_dvdError;
}
/* 8003EC84-8003ED90 .text fpcM_Management__FPFv_vPFv_v */
void fpcM_Management(void (*)(void), void (*)(void)) {
/* Nonmatching */
void fpcM_Management(fpcM_ManagementFunc callBack1, fpcM_ManagementFunc callBack2) {
MtxInit();
if (checkDvdCondition())
return;
cAPIGph_Painter();
fpcDt_Handler();
if (!fpcPi_Handler())
JUT_ASSERT("f_pc_manager.cpp", 548, 0);
if (!fpcCt_Handler())
JUT_ASSERT("f_pc_manager.cpp", 552, 0);
if (callBack1 != NULL)
callBack1();
fpcEx_Handler((fpcLnIt_QueueFunc)fpcM_Execute);
fpcDw_Handler((fpcDw_HandlerFuncFunc)fpcM_DrawIterater, (fpcDw_HandlerFunc)fpcM_Draw);
if (callBack2 != NULL)
callBack2();
}
/* 8003ED90-8003EDCC .text fpcM_Init__Fv */