mirror of
https://github.com/pret/pmd-red.git
synced 2026-04-02 23:44:52 -05:00
137 lines
2.7 KiB
C
137 lines
2.7 KiB
C
#ifndef GUARD_STR_GROUND_BG_H
|
|
#define GUARD_STR_GROUND_BG_H
|
|
|
|
#include "structs/str_file_system.h"
|
|
#include "structs/str_202EE8C.h"
|
|
#include "structs/str_position.h"
|
|
|
|
#define UNK_0_ARR_COUNT 14
|
|
#define UNK_E0_ARR_COUNT 32
|
|
#define UNK_3E0_ARR_COUNT 2
|
|
#define UNK_54C_ARR_COUNT 2
|
|
#define UNK_545_UNK6_ARR_COUNT 4
|
|
|
|
typedef struct SubStruct_0
|
|
{
|
|
s16 unk0;
|
|
s16 unk2;
|
|
const void *unk4;
|
|
const void *unk8;
|
|
u8 fillC;
|
|
} SubStruct_0;
|
|
|
|
struct UnkFileStruct
|
|
{
|
|
u8 unk0;
|
|
s16 unk2;
|
|
void *unk4[0]; // This is most likely wrong, will need to be fixed.
|
|
};
|
|
|
|
typedef struct SubStruct_3E0
|
|
{
|
|
u8 unk0;
|
|
u8 unk1;
|
|
s16 unk2;
|
|
s16 unk4;
|
|
OpenedFile *unk8;
|
|
const struct UnkFileStruct *unkC;
|
|
const void *unk10;
|
|
const void *unk14;
|
|
const void *unk18;
|
|
const void *unk1C;
|
|
void *unk20;
|
|
u32 unk24;
|
|
} SubStruct_3E0;
|
|
|
|
typedef struct SubStruct_488
|
|
{
|
|
s16 unk0;
|
|
s16 unk2;
|
|
s16 unk4;
|
|
bool8 unk6;
|
|
s32 unk8;
|
|
s32 unkC;
|
|
PixelPos unk10;
|
|
void (*unk18)(struct SubStruct_488 *);
|
|
u16 *unk1C;
|
|
u16 *unk20[UNK_54C_ARR_COUNT];
|
|
u16 *unk28[UNK_54C_ARR_COUNT];
|
|
PixelPos unk30;
|
|
PixelPos unk38;
|
|
PixelPos unk40;
|
|
PixelPos bgRegOffsets; // Either bg2 or bg3
|
|
} SubStruct_488;
|
|
|
|
// size: 0x18?
|
|
typedef struct SubStruct_52C
|
|
{
|
|
s16 unk0; // 0x52C
|
|
s16 unk2; // 0x52E
|
|
s16 unk4; // 0x530
|
|
s16 unk6; // 0x532
|
|
s16 unk8; // 0x534
|
|
s16 unkA; // 0x536
|
|
s16 unkC; // 0x538
|
|
s16 unkE; // 0x53A
|
|
s16 unk10; // 0x53C
|
|
s16 unk12; // 0x53E
|
|
void (*unk14)(void *, const void *, void *, s32); // TODO: fix void * to proper ptr types 0x540
|
|
} SubStruct_52C;
|
|
|
|
typedef struct SubStruct_448
|
|
{
|
|
u8 unk0;
|
|
u8 unk1;
|
|
u8 unk2;
|
|
u8 unk3;
|
|
u8 unk4;
|
|
u8 unk5;
|
|
u16 unk6;
|
|
u16 unk8;
|
|
u16 unkA;
|
|
} SubStruct_448;
|
|
|
|
typedef struct SubStruct_545
|
|
{
|
|
s16 unk0;
|
|
s16 unk2;
|
|
s16 unk4;
|
|
s16 unk6[UNK_545_UNK6_ARR_COUNT];
|
|
s16 unkE;
|
|
} SubStruct_545;
|
|
|
|
// size: 0x55C
|
|
typedef struct GroundBg
|
|
{
|
|
SubStruct_0 unk0[UNK_0_ARR_COUNT];
|
|
unkStruct_202EE8C unkE0[UNK_E0_ARR_COUNT];
|
|
SubStruct_3E0 unk3E0[UNK_3E0_ARR_COUNT];
|
|
OpenedFile *unk430;
|
|
OpenedFile *unk434;
|
|
OpenedFile *unk438;
|
|
OpenedFile *unk43C;
|
|
OpenedFile *unk440;
|
|
s16 mapFileId;
|
|
SubStruct_448 unk448;
|
|
SubStruct_545 unk454;
|
|
s16 unk464[2];
|
|
const void *unk468;
|
|
const void *unk46C;
|
|
u8 unk470;
|
|
u8 unk471;
|
|
s32 unk474;
|
|
PixelPos unk478[UNK_54C_ARR_COUNT];
|
|
struct SubStruct_488 unk488[UNK_54C_ARR_COUNT];
|
|
u16 unk528;
|
|
u8 unk52A;
|
|
SubStruct_52C unk52C;
|
|
u16 *unk544;
|
|
u16 *unk548;
|
|
u16 *unk54C[UNK_54C_ARR_COUNT];
|
|
u16 *unk554[UNK_54C_ARR_COUNT];
|
|
} GroundBg;
|
|
|
|
extern GroundBg *gGroundMapDungeon_3001B70;
|
|
|
|
#endif // GUARD_STR_GROUND_BG_H
|