2021-03-28 22:49:05 +02:00
|
|
|
#ifndef D_BG_D_BG_PLC_H
|
|
|
|
|
#define D_BG_D_BG_PLC_H
|
|
|
|
|
|
2024-10-10 07:29:58 -07:00
|
|
|
#include "d/d_bg_pc.h"
|
2023-05-12 12:10:14 -07:00
|
|
|
|
2024-12-10 08:46:19 -08:00
|
|
|
struct sBgPlc {
|
|
|
|
|
/* 0x0 */ u32 magic; // "SPLC"
|
|
|
|
|
/* 0x4 */ u16 m_code_size; // Should normally always be 0x14
|
|
|
|
|
/* 0x6 */ u16 m_num; // Number of sBgPc entries to follow
|
|
|
|
|
/* 0x8 */ sBgPc m_code[0]; // m_num size array
|
2021-11-10 10:56:51 -08:00
|
|
|
};
|
|
|
|
|
|
|
|
|
|
class dBgPlc {
|
|
|
|
|
public:
|
|
|
|
|
/* 80074074 */ dBgPlc();
|
|
|
|
|
/* 80074080 */ ~dBgPlc();
|
|
|
|
|
/* 800740BC */ void setBase(void*);
|
2024-01-08 12:10:05 +02:00
|
|
|
/* 800740C4 */ sBgPc* getCode(int, sBgPc**) const;
|
2022-11-11 10:09:48 -08:00
|
|
|
/* 800740DC */ u32 getGrpCode(int) const;
|
2021-11-10 10:56:51 -08:00
|
|
|
|
2024-12-10 08:46:19 -08:00
|
|
|
static const int ZELDA_CODE_SIZE = sizeof(sBgPc);
|
|
|
|
|
|
2021-11-10 10:56:51 -08:00
|
|
|
private:
|
2024-12-10 08:46:19 -08:00
|
|
|
/* 0x00 */ sBgPlc* m_base;
|
2021-11-10 10:56:51 -08:00
|
|
|
};
|
|
|
|
|
|
2021-03-28 22:49:05 +02:00
|
|
|
#endif /* D_BG_D_BG_PLC_H */
|