mirror of
https://github.com/zeldaret/tww.git
synced 2026-06-29 02:40:55 -04:00
f_pc mostly matching
This commit is contained in:
@@ -13,9 +13,15 @@
|
||||
#include "f_pc/f_pc_profile.h"
|
||||
#include "dolphin/types.h"
|
||||
|
||||
// hack to make functions that return comparisons as int match
|
||||
extern int __cntlzw(unsigned int);
|
||||
inline BOOL checkEqual(s32 a, s32 b) {
|
||||
return (u32)__cntlzw(a - b) >> 5;
|
||||
}
|
||||
|
||||
/* 8003C88C-8003C89C .text fpcBs_Is_JustOfType__Fii */
|
||||
bool fpcBs_Is_JustOfType(int i_typeA, int i_typeB) {
|
||||
return i_typeB == i_typeA;
|
||||
BOOL fpcBs_Is_JustOfType(int i_typeA, int i_typeB) {
|
||||
return checkEqual(i_typeA, i_typeB);
|
||||
}
|
||||
|
||||
static int g_fpcBs_type;
|
||||
|
||||
@@ -9,9 +9,15 @@
|
||||
|
||||
node_list_class g_fpcDtTg_Queue = {NULL, NULL, 0};
|
||||
|
||||
// hack to make functions that return comparisons as int match
|
||||
extern int __cntlzw(unsigned int);
|
||||
inline BOOL checkEqual(s32 a, s32 b) {
|
||||
return (u32)__cntlzw(a - b) >> 5;
|
||||
}
|
||||
|
||||
/* 8003D170-8003D188 .text fpcDtTg_IsEmpty__Fv */
|
||||
bool fpcDtTg_IsEmpty() {
|
||||
return g_fpcDtTg_Queue.mSize == 0;
|
||||
BOOL fpcDtTg_IsEmpty() {
|
||||
return checkEqual(g_fpcDtTg_Queue.mSize, 0);
|
||||
}
|
||||
|
||||
/* 8003D188-8003D1BC .text fpcDtTg_ToDeleteQ__FP16delete_tag_class */
|
||||
|
||||
@@ -12,7 +12,7 @@
|
||||
#include "f_pc/f_pc_node.h"
|
||||
|
||||
/* 8003D280-8003D2A0 .text fpcDt_IsComplete__Fv */
|
||||
bool fpcDt_IsComplete() {
|
||||
BOOL fpcDt_IsComplete() {
|
||||
return fpcDtTg_IsEmpty();
|
||||
}
|
||||
|
||||
|
||||
+34
-12
@@ -4,7 +4,13 @@
|
||||
//
|
||||
|
||||
#include "f_pc/f_pc_manager.h"
|
||||
#include "dolphin/types.h"
|
||||
#include "f_pc/f_pc_creator.h"
|
||||
#include "f_pc/f_pc_draw.h"
|
||||
#include "f_pc/f_pc_deletor.h"
|
||||
#include "f_pc/f_pc_fstcreate_req.h"
|
||||
#include "f_pc/f_pc_layer_iter.h"
|
||||
#include "f_pc/f_pc_line.h"
|
||||
#include "f_pc/f_pc_pause.h"
|
||||
|
||||
/* 8003E318-8003E338 .text fpcM_Draw__FPv */
|
||||
void fpcM_Draw(void* i_proc) {
|
||||
@@ -53,30 +59,46 @@ void fpcM_Management(void (*)(void), void (*)(void)) {
|
||||
|
||||
/* 8003ED90-8003EDCC .text fpcM_Init__Fv */
|
||||
void fpcM_Init() {
|
||||
/* Nonmatching */
|
||||
static layer_class rootlayer;
|
||||
static node_list_class queue[10];
|
||||
|
||||
fpcLy_Create(&rootlayer, NULL, queue, 10);
|
||||
fpcLn_Create();
|
||||
}
|
||||
|
||||
/* 8003EDCC-8003EE20 .text fpcM_FastCreate__FsPFPv_iPvPv */
|
||||
void fpcM_FastCreate(short, int (*)(void*), void*, void*) {
|
||||
/* Nonmatching */
|
||||
base_process_class* fpcM_FastCreate(s16 i_procTypeID, FastCreateReqFunc i_createReqFunc,
|
||||
void* i_createData, void* i_data) {
|
||||
return fpcFCtRq_Request(fpcLy_CurrentLayer(), i_procTypeID, (fstCreateFunc)i_createReqFunc,
|
||||
i_createData, i_data);
|
||||
}
|
||||
|
||||
|
||||
/* 8003EE20-8003EE44 .text fpcM_IsPause__FPvUc */
|
||||
void fpcM_IsPause(void*, unsigned char) {
|
||||
/* Nonmatching */
|
||||
s32 fpcM_IsPause(void* i_proc, u8 i_flag) {
|
||||
return fpcPause_IsEnable((base_process_class*)i_proc, i_flag & 0xFF);
|
||||
}
|
||||
|
||||
/* 8003EE44-8003EE68 .text fpcM_PauseEnable__FPvUc */
|
||||
void fpcM_PauseEnable(void*, unsigned char) {
|
||||
/* Nonmatching */
|
||||
void fpcM_PauseEnable(void* i_proc, u8 i_flag) {
|
||||
fpcPause_Enable((process_node_class*)i_proc, i_flag & 0xFF);
|
||||
}
|
||||
|
||||
/* 8003EE68-8003EE8C .text fpcM_PauseDisable__FPvUc */
|
||||
void fpcM_PauseDisable(void*, unsigned char) {
|
||||
/* Nonmatching */
|
||||
void fpcM_PauseDisable(void* i_proc, u8 i_flag) {
|
||||
fpcPause_Disable((process_node_class*)i_proc, i_flag & 0xFF);
|
||||
}
|
||||
|
||||
/* 8003EE8C-8003EF00 .text fpcM_JudgeInLayer__FUiPFPvPv_PvPv */
|
||||
void fpcM_JudgeInLayer(unsigned int, void* (*)(void*, void*), void*) {
|
||||
/* Nonmatching */
|
||||
void* fpcM_JudgeInLayer(unsigned int i_layerID, fpcCtIt_JudgeFunc i_judgeFunc, void* i_data) {
|
||||
layer_class* layer = fpcLy_Layer(i_layerID);
|
||||
if (layer != NULL) {
|
||||
void* ret = fpcCtIt_JudgeInLayer(i_layerID, i_judgeFunc, i_data);
|
||||
if (ret == NULL) {
|
||||
ret = fpcLyIt_Judge(layer, i_judgeFunc, i_data);
|
||||
}
|
||||
return ret;
|
||||
} else {
|
||||
return NULL;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user