pmd-red/include/ground_sprite.h
2025-05-17 14:54:56 +02:00

78 lines
2.0 KiB
C

#ifndef GUARD_GROUND_SPRITE_H
#define GUARD_GROUND_SPRITE_H
#include "structs/axdata.h"
#include "structs/sprite_oam.h"
#include "structs/str_position.h"
// TODO: Clean up these structs
struct UnkGroundSpriteSubStructx48
{
s16 unk0;
u16 unk2;
axmain *axmain;
};
// size: 0x80 (probably the last sub-struct of GroundLives)
struct UnkGroundSpriteStruct
{
axdata axdata;
unkStruct_2039DB0 unk3C;
struct UnkGroundSpriteSubStructx48 unk48;
u16 flags_0x50;
s16 unk52;
OpenedFile *unk54;
s16 unk58;
u8 unk5A;
s32 unk5C;
s32 unk60;
s16 unk64;
s16 unk66;
u16 unk68;
s16 unk6A;
u16 unk6C;
s16 unk6E;
u8 unk70;
PixelPos unk74;
s32 unk7C;
};
// size: 0xC
typedef struct unkStruct_3001B7C_sub0
{
u32 unk0;
s32 unk4;
struct UnkGroundSpriteStruct *unk8;
} unkStruct_3001B7C_sub0;
// size: 0x4
typedef struct unkStruct_3001B7C_sub108
{
u16 unk0;
s16 unk2;
} unkStruct_3001B7C_sub108;
#define UNK_3001B7C_SUB0_COUNT 22
#define UNK_3001B7C_SUB108_COUNT 2
// size: 0x110
typedef struct unkStruct_3001B7C
{
unkStruct_3001B7C_sub0 unk0[UNK_3001B7C_SUB0_COUNT];
unkStruct_3001B7C_sub108 unk108[UNK_3001B7C_SUB108_COUNT];
} unkStruct_3001B7C;
void GroundSprite_Reset(s32);
void GroundSprite_ExtendPaletteAdd(struct UnkGroundSpriteStruct *ptr, u16);
void GroundSprite_ExtendPaletteDelete(struct UnkGroundSpriteStruct *ptr);
bool8 IsOnscreen_80A675C(struct UnkGroundSpriteStruct *ptr, PixelPos *pixPosArg);
void sub_80A67CC(struct UnkGroundSpriteStruct *ptr, struct UnkGroundSpriteSubStructx48 *a1, s32 a2);
void sub_80A68A0(struct UnkGroundSpriteStruct *ptr);
void sub_80A6EFC(struct UnkGroundSpriteStruct *ptr, s32 a1_, s32 a2_);
void sub_80A7040(struct UnkGroundSpriteStruct *ptr, s32 a1_, s32 a2_, s32 a3);
bool8 sub_80A7094(struct UnkGroundSpriteStruct *ptr, PixelPos *r10, PixelPos *posArg, s32 a3);
bool8 sub_80A7310(struct UnkGroundSpriteStruct *ptr, PixelPos *posArg1, PixelPos *posArg2, s32 a3);
#endif // GUARD_GROUND_SPRITE_H