Finish Decompiling sprman.c

This commit is contained in:
gamemasterplc 2023-12-02 21:26:15 -06:00
parent fbe16f2995
commit a931f0297d
4 changed files with 583 additions and 87 deletions

View file

@ -170,6 +170,7 @@ typedef struct anim_time_data {
typedef struct anim_bank_data {
s16 timeNum;
s16 unk;
AnimFrameData *frame;
} AnimBankData;
@ -217,9 +218,9 @@ typedef struct anim_data {
} AnimData;
typedef struct sprite_data {
char r;
char g;
char b;
u8 r;
u8 g;
u8 b;
char draw_no;
short frame;
short bank;
@ -229,11 +230,11 @@ typedef struct sprite_data {
float time;
float x;
float y;
float rot;
float z_rot;
float scale_x;
float scale_y;
float speed;
float alpha;
float a;
GXTexWrapMode wrap_s;
GXTexWrapMode wrap_t;
short tex_scale_x;
@ -247,7 +248,7 @@ typedef struct sprite_data {
AnimFrameData *frame_data;
short work[4];
AnimData *bg;
short bg_bank;
unsigned short bg_bank;
short scissor_x;
short scissor_y;
short scissor_w;
@ -255,23 +256,23 @@ typedef struct sprite_data {
} SpriteData;
typedef struct sprite_group_data {
short num_members;
short capacity;
float x;
float y;
float rot;
float z_rot;
float scale_x;
float scale_y;
float center_x;
float center_y;
s16 *members;
short *members;
Mtx mtx;
} SpriteGroupData;
typedef struct sprite_order_data {
u16 group;
u16 sprite;
u16 prio;
u16 next;
unsigned short group;
unsigned short sprite;
unsigned short prio;
unsigned short next;
} SpriteOrderData;
#endif

View file

@ -159,7 +159,47 @@ void espKill(s16);
void espDispOn(s16);
void espPosSet(s16, f32, f32);
void HuSprInit(void);
void HuSprClose(void);
void HuSprExec(short draw_no);
void HuSprBegin(void);
SpriteData *HuSprCall(void);
void HuSprFinish(void);
void HuSprPauseSet(BOOL value);
AnimData *HuSprAnimRead(void *data);
void HuSprAnimLock(AnimData *anim);
short HuSprCreate(AnimData *anim, short prio, short bank);
short HuSprFuncCreate(void (*func)(SpriteData *sprite), short prio);
short HuSprGrpCreate(short capacity);
short HuSprGrpCopy(short group);
void HuSprGrpMemberSet(short group, short member, short sprite);
void HuSprGrpMemberKill(short group, short member);
void HuSprGrpKill(short group);
void HuSprKill(short sprite);
void HuSprAnimKill(AnimData *anim);
void HuSprAttrSet(short group, short member, int attr);
void HuSprAttrReset(short group, short member, int attr);
void HuSprPosSet(short group, short member, float x, float y);
void HuSprZRotSet(short group, short member, float z_rot);
void HuSprScaleSet(short group, short member, float x, float y);
void HuSprTPLvlSet(short group, short member, float tp_lvl);
void HuSprColorSet(short group, short member, u8 r, u8 g, u8 b);
void HuSprSpeedSet(short group, short member, float speed);
void HuSprBankSet(short group, short member, short bank);
void HuSprGrpPosSet(short group, float x, float y);
void HuSprGrpCenterSet(short group, float x, float y);
void HuSprGrpZRotSet(short group, float z_rot);
void HuSprGrpScaleSet(short group, float x, float y);
void HuSprGrpTPLvlSet(short group, float tp_lvl);
void HuSprGrpDrawNoSet(short group, int draw_no);
void HuSprDrawNoSet(short group, short member, int draw_no);
void HuSprPriSet(short group, short member, short prio);
void HuSprGrpScissorSet(short group, short x, short y, short w, short h);
void HuSprScissorSet(short group, short member, short x, short y, short w, short h);
AnimData *HuSprAnimMake(short sizeX, short sizeY, short dataFmt);
void HuSprBGSet(short group, short member, AnimData *bg, short bg_bank);
void HuSprSprBGSet(short sprite, AnimData *bg, short bg_bank);
void AnimDebug(AnimData *anim);
void HuWinAllKill(void);
void HuWinMesSet(s16, s32);

View file

@ -46,4 +46,6 @@ extern OverlayID omprevovl;
extern PlayerState GWPlayer[4];
extern SystemState GWSystem;
extern u32 minimumVcount;
#endif