Files
ss/include/d/col/bg/d_bg_plc.h
T
Elijah Thomas b5aa43ff37 Misc Collision (#51)
* Initial Commit - Starting to translate from TP

* Collision Updates

* Actor Collision -> dBgW (DZB Collision)

* bg .text splits complete

* fix errors

* file organization

* missed files

* progress

* weee

* most of cM3dG

* Revert mAng change

* Progress

* Progress -> Need to update from main

* Fixup Merge

* d_bg_s symbols....

* TList Changes

* oops

* d_bg_s large progress

* d_bg_s_acch majority done

* d_bg_s_chk OK

* d_bg_s_gnd_chk OK

* d_bg_s_grp_pass_chk OK

* d_bg_lin_chk OK

* d_bg_s_poly_pass_chk OK

* d_bg_s_roof_chk and d_bg_s_sph_chk OK

* d_bg_s_spl_grp_chk OK

* d_bg_s_wtr_chk OK

* d_bg_w started

* d_bg_w_base OK

* name d_bg_w_kcol symbols

* d_bg_w_sv split/started

* most of d_bg_w_time

* stopping d_bg_w_kcol for now

* d_bg_w_sv OK

* work on d_bg_w_time

* revert TList to take offset arg

* fixup some compiler warnings

* set c_bg_w OK

* Update rel_sieve.py

* Remove TList Macros

* Bomb Header started
2024-10-16 09:00:47 -04:00

39 lines
625 B
C++

#ifndef D_BG_PLC_H
#define D_BG_PLC_H
#include "d/col/bg/d_bg_pc.h"
enum {
ZELDA_CODE_SIZE = 0x14
};
struct PLC {
/* 0x0 */ u32 magic;
/* 0x4 */ u16 m_code_size;
/* 0x6 */ u16 m_num;
/* 0x8 */ sBgPc field_0x8[0];
};
class dBgPlc {
public:
dBgPlc() : mBase(nullptr) {}
void setBase(void *);
const sBgPc *getCode(int idx) const {
sBgPc *rv = mBase->field_0x8;
rv += idx;
return rv;
}
const dBgPc *GetDBgPc(int idx) const {
return (const dBgPc *)getCode(idx);
}
u32 getGrpCode(int idx) const;
private:
/* 0x00 */ PLC *mBase;
};
#endif