pmd-red/include/ground_script.h
2024-07-17 16:44:25 +02:00

87 lines
2.1 KiB
C

#ifndef GUARD_GROUND_SCRIPT_H
#define GUARD_GROUND_SCRIPT_H
typedef struct GroundScript_ExecutePP_3
{
// size: 0xC
u8 *scriptPointer;
s16 scriptType;
s16 unk6;
u8 unk8;
} GroundScript_ExecutePP_3;
typedef struct __attribute__((packed)) GroundScript_ExecutePP_1_sub
{
// size: 0x60
/* 0x0 */ s16 scriptType;
/* 0x2 */ s16 unk2;
/* 0x4 */ u8 *scriptPointer1;
/* 0x8 */ u8 *scriptPointer2;
/* 0xC */ u16 unkC;
/* 0xE */ u8 unkE;
/* 0xF */ u8 fillF;
/* 0x10 */ u32 unk10;
/* 0x14 */ u8 *unk14;
/* 0x18 */ u8 fill18[0x22 - 0x18];
/* 0x22 */ u16 unk22;
/* 0x24 */ u16 unk24;
/* 0x26 */ u32 unk26;
u8 fill50[0x60 - 0x2A];
} GroundScript_ExecutePP_1_sub;
// Needed for sub_809D568, possibly could be merged with GroundScript_ExecutePP_1_sub?
typedef struct GroundScript_ExecutePP_1_sub_not_packed
{
// size: 0x60
/* 0x0 */ s16 scriptType;
/* 0x2 */ s16 unk2;
/* 0x4 */ u8 *scriptPointer1;
/* 0x8 */ u8 *scriptPointer2;
/* 0xC */ u16 unkC;
/* 0xE */ u8 unkE;
/* 0xF */ u8 fillF;
/* 0x10 */ u32 unk10;
/* 0x14 */ u8 *unk14;
/* 0x18 */ u8 fill18[2];
/* 0x1C */ u32 unk1C;
/* 0x20 */ u8 unk20;
/* 0x22 */ u16 unk22;
/* 0x24 */ u16 unk24;
/* 0x26 */ u8 unk26;
/* 0x28 */ u16 unk28;
/* 0x2A */ u16 unk2A;
/* 0x2C */ u16 unk2C;
/* 0x2E */ u16 unk2E;
/* 0x30 */ u32 unk30;
u8 fill34[0x1C];
u32 unk5C[4];
} GroundScript_ExecutePP_1_sub_not_packed;
typedef void (*Callback)(u32, void *);
typedef struct GroundScript_ExecutePP_1_sub2
{
Callback callbacks[10]; // IDK the size..
} GroundScript_ExecutePP_1_sub2;
// size: 0x110
typedef struct GroundScript_ExecutePP_1
{
GroundScript_ExecutePP_1_sub2 *unk0;
u32 unk4;
u16 unk8;
u32 unkC;
u16 unk10;
u8 unk12;
u8 *unk14[4];
GroundScript_ExecutePP_1_sub unk24;
GroundScript_ExecutePP_1_sub unk84;
u16 unkE4;
u8 fillE8[0x110 - 0xE8];
} GroundScript_ExecutePP_1;
#include "debug.h"
bool8 GroundScript_ExecutePP(GroundScript_ExecutePP_1 *, s32 *, GroundScript_ExecutePP_3 *, const DebugLocation *unused);
#endif // GUARD_GROUND_SCRIPT_H