mirror of
https://github.com/TwilitRealm/dusklight
synced 2026-07-23 21:46:37 -04:00
eed14acdc6
The hope of auto-importing data via lld MinGW + pseudo_reloc is now dead thanks to ARM64, so I just wrote a script to go annotate every exported data symbol in the game instead.
50 lines
1.5 KiB
C
50 lines
1.5 KiB
C
|
|
#ifndef F_PC_LEAF_H_
|
|
#define F_PC_LEAF_H_
|
|
|
|
#include "f_pc/f_pc_base.h"
|
|
#include "f_pc/f_pc_draw_priority.h"
|
|
#include "f_pc/f_pc_method.h"
|
|
#include "f_pc/f_pc_profile.h"
|
|
#include "f_pc/f_pc_name.h"
|
|
|
|
typedef struct leafdraw_method_class {
|
|
/* 0x00 */ process_method_class base;
|
|
/* 0x10 */ process_method_func draw_method;
|
|
} leafdraw_method_class;
|
|
|
|
#if __MWERKS__
|
|
#define LEAFDRAW_BASE(val) (val)->base
|
|
|
|
typedef struct leafdraw_class {
|
|
/* 0x00 */ base_process_class base;
|
|
#else
|
|
#define LEAFDRAW_BASE(val) (*(base_process_class*)val)
|
|
|
|
typedef struct leafdraw_class : base_process_class {
|
|
#endif
|
|
/* 0xB8 */ leafdraw_method_class DUSK_CONST* leaf_methods;
|
|
/* 0xBC */ s8 unk_0xBC;
|
|
/* 0xBD */ u8 draw_interp_frame;
|
|
/* 0xBE */ draw_priority_class draw_priority;
|
|
} leafdraw_class;
|
|
|
|
typedef struct leaf_process_profile_definition {
|
|
/* 0x00 */ process_profile_definition base;
|
|
/* 0x1C */ leafdraw_method_class DUSK_CONST* sub_method; // Subclass methods
|
|
/* 0x20 */ s16 priority; // mDrawPriority
|
|
} leaf_process_profile_definition;
|
|
|
|
s16 fpcLf_GetPriority(const leafdraw_class* i_leaf);
|
|
int fpcLf_DrawMethod(leafdraw_method_class DUSK_CONST* i_method, void* i_process);
|
|
int fpcLf_Draw(leafdraw_class* i_method);
|
|
int fpcLf_Execute(leafdraw_class* i_leaf);
|
|
int fpcLf_IsDelete(leafdraw_class* i_leaf);
|
|
int fpcLf_Delete(leafdraw_class* i_leaf);
|
|
int fpcLf_Create(leafdraw_class* i_leaf);
|
|
|
|
DUSK_GAME_EXTERN int g_fpcLf_type;
|
|
DUSK_GAME_EXTERN leafdraw_method_class DUSK_CONST g_fpcLf_Method;
|
|
|
|
#endif
|