mirror of https://github.com/zeldaret/tp.git
55 lines
1.7 KiB
C
55 lines
1.7 KiB
C
|
|
#ifndef F_PC_BASE_H_
|
|
#define F_PC_BASE_H_
|
|
|
|
#include "f_pc/f_pc_delete_tag.h"
|
|
#include "f_pc/f_pc_layer_tag.h"
|
|
#include "f_pc/f_pc_line_tag.h"
|
|
#include "f_pc/f_pc_priority.h"
|
|
|
|
typedef unsigned int fpc_ProcID;
|
|
|
|
typedef struct create_request create_request;
|
|
typedef struct process_method_class process_method_class;
|
|
typedef struct process_profile_definition process_profile_definition;
|
|
typedef struct profile_method_class profile_method_class;
|
|
|
|
typedef struct state_class {
|
|
/* 0x00 */ s8 init_state; // maybe inaccurate name
|
|
/* 0x01 */ u8 create_phase;
|
|
} state_class;
|
|
|
|
typedef struct base_process_class {
|
|
/* 0x00 */ int type;
|
|
/* 0x04 */ fpc_ProcID id;
|
|
/* 0x08 */ s16 name;
|
|
/* 0x0A */ s8 unk_0xA;
|
|
/* 0x0B */ u8 pause_flag;
|
|
/* 0x0C */ state_class state;
|
|
/* 0x0E */ s16 profname;
|
|
/* 0x10 */ process_profile_definition* profile;
|
|
/* 0x14 */ struct create_request* create_req;
|
|
/* 0x18 */ layer_management_tag_class layer_tag;
|
|
/* 0x34 */ line_tag line_tag_;
|
|
/* 0x4C */ delete_tag_class delete_tag;
|
|
/* 0x68 */ process_priority_class priority;
|
|
/* 0xA8 */ process_method_class* methods;
|
|
/* 0xAC */ void* append;
|
|
/* 0xB0 */ u32 parameters;
|
|
/* 0xB4 */ int subtype;
|
|
} base_process_class; // Size: 0xB8
|
|
|
|
BOOL fpcBs_Is_JustOfType(int i_typeA, int i_typeB);
|
|
int fpcBs_MakeOfType(int* i_type);
|
|
int fpcBs_MakeOfId();
|
|
int fpcBs_Execute(base_process_class* i_proc);
|
|
void fpcBs_DeleteAppend(base_process_class* i_proc);
|
|
int fpcBs_IsDelete(base_process_class* i_proc);
|
|
int fpcBs_Delete(base_process_class* i_proc);
|
|
base_process_class* fpcBs_Create(s16 i_profname, fpc_ProcID i_procID, void* i_append);
|
|
int fpcBs_SubCreate(base_process_class* i_proc);
|
|
|
|
extern int g_fpcBs_type;
|
|
|
|
#endif
|