f_pc_pause / f_pc_priority (#23)

* f_pc_pause

* f_pc_priority
This commit is contained in:
Jasper St. Pierre
2020-12-13 12:38:17 -08:00
committed by GitHub
parent b8bd1bbab1
commit 4e622b873f
15 changed files with 266 additions and 443 deletions
+1 -1
View File
@@ -8,7 +8,7 @@
#include "SComponent/c_tree.h"
struct create_tag_class {
node_class pNode;
node_class mpNode;
void *mpTagData;
s8 mbIsUse;
};
+1 -1
View File
@@ -17,7 +17,7 @@ struct base_process_class {
u32 mBsPcId;
s16 mProcName;
u8 mUnk0;
u8 mUnk1;
u8 mPauseFlag;
s8 mInitState;
u8 mUnk2;
s16 mBsTypeId;
+1 -1
View File
@@ -44,7 +44,7 @@ void fpcLy_Cancel(layer_class *pLayer);
bool fpcLy_CancelMethod(process_method_tag_class *pLayer);
void fpcLy_CancelQTo(process_method_tag_class *pMthd);
void fpcLy_ToCancelQ(layer_class *pLayer, process_method_tag_class *pMthd);
int fpcLy_ToCancelQ(layer_class *pLayer, process_method_tag_class *pMthd);
void fpcLy_Create(layer_class *pLayer, process_node_class *pPcNode, node_list_class *pLists, int listNum);
int fpcLy_Delete(layer_class *pLayer);
+1 -1
View File
@@ -14,8 +14,8 @@ struct process_method_tag_class : public create_tag_class {
extern "C" {
int fpcMtdTg_Do(process_method_tag_class *pMthd);
int fpcMtdTg_ToMethodQ(node_list_class *pList, process_method_tag_class *pMthd);
void fpcMtdTg_MethodQTo(process_method_tag_class *pMthd);
void fpcMtdTg_ToMethodQ(node_list_class *pList, process_method_tag_class *pMthd);
int fpcMtdTg_Init(process_method_tag_class *pMthd, process_method_tag_func pFunc, void *pMthdData);
};
+16
View File
@@ -0,0 +1,16 @@
#ifndef F_PC_PAUSE_H
#define F_PC_PAUSE_H
#include "global.h"
extern "C" {
bool fpcPause_IsEnable(void *pProcess, u8 flag);
int fpcPause_Enable(void *pProcess, u8 flag);
int fpcPause_Disable(void *pProcess, u32 flag);
void fpcPause_Init(void *pProcess);
};
#endif
+16 -13
View File
@@ -6,26 +6,29 @@
#include "SComponent/c_tag.h"
#include "f/f_pc/f_pc_method_tag.h"
struct process_priority_queue_info {
u32 mLayer;
u16 mListID;
u16 mListPrio;
};
struct process_priority_class : public create_tag_class {
process_method_tag_class mMtdTag;
struct {
u32 mLayer;
u16 mListID;
u16 mListPrio;
} a, b;
process_priority_queue_info mInfoQ;
process_priority_queue_info mInfoCurr;
};
extern "C" {
int fpcPi_IsInQueue(process_priority_class *pProc);
int fpcPi_QueueTo(process_priority_class *pProc);
int fpcPi_ToQueue(process_priority_class *pProc);
int fpcPi_IsInQueue(process_priority_class *pPi);
int fpcPi_QueueTo(process_priority_class *pPi);
int fpcPi_ToQueue(process_priority_class *pPi);
process_priority_class * fpcPi_GetFromQueue(void);
int fpcPi_Delete(process_priority_class *pProc);
int fpcPi_IsNormal(process_priority_class *pProc);
int fpcPi_Change(process_priority_class *pProc, unsigned int layer, unsigned short listID, unsigned short priority);
void fpcPi_Handler(void);
int fpcPi_Init(process_priority_class *pProc, void *pUserData, unsigned int layer, unsigned short listID, unsigned short priority);
int fpcPi_Delete(process_priority_class *pPi);
int fpcPi_IsNormal(unsigned int layer, unsigned short listID, unsigned short priority);
int fpcPi_Change(process_priority_class *pPi, unsigned int layer, unsigned short listID, unsigned short priority);
int fpcPi_Handler(void);
int fpcPi_Init(process_priority_class *pPi, void *pUserData, unsigned int layer, unsigned short listID, unsigned short priority);
};