Loading [MathJax]/extensions/tex2jax.js
Twilight Princess
Decompilation of The Legend of Zelda: Twilight Princess
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Modules Pages
d_bg_s.h
Go to the documentation of this file.
1#ifndef D_BG_D_BG_S_H
2#define D_BG_D_BG_S_H
3
4#include "d/d_bg_w_base.h"
6#include "global.h"
7
8class dBgW;
9class fopAc_ac_c;
10
12public:
14 /* 0x04 */ bool m_used;
15 /* 0x08 */ u32 m_actor_id;
17 /* 0x10 vtable */
18
19public:
20 cBgS_ChkElm() { this->Init(); }
21 void Init();
22 void Release();
23
24 virtual ~cBgS_ChkElm() {}
25 virtual void Regist2(dBgW_Base*, fpc_ProcID, void*);
26
27 bool ChkUsed() const { return m_used; }
28}; // Size: 0x14
29
30STATIC_ASSERT(sizeof(cBgS_ChkElm) == 0x14);
31
32class cBgS {
33public:
34 /* 0x0000 */ cBgS_ChkElm m_chk_element[256];
35 /* 0x1400 vtable */
36
37public:
38 cBgS() {}
39 bool Regist(dBgW_Base*, fpc_ProcID, void*);
40 bool Release(dBgW_Base*);
43 static void* ConvDzb(void*);
44 fopAc_ac_c* GetActorPointer(int) const;
46 bool ChkPolySafe(cBgS_PolyInfo const&);
47 s32 GetGrpRoomId(cBgS_PolyInfo const&) const;
48 bool GetTriPla(cBgS_PolyInfo const&, cM3dGPla*) const;
49 bool GetTriPnt(cBgS_PolyInfo const&, cXyz*, cXyz*, cXyz*) const;
51 u32 GetGrpInf(cBgS_PolyInfo const&) const;
52
53 virtual ~cBgS() {}
54 virtual void Ct();
55 virtual void Dt();
56
58 return GetActorPointer(info.GetBgIndex());
59 }
60}; // Size: 0x1404
61
62class dBgS_Acch;
63
64u8 dKy_pol_sound_get(cBgS_PolyInfo const* param_0);
65
66class dBgS_HIO : public JORReflexible {
67public:
68#ifdef DEBUG
70 field_0x6 = 0;
71 field_0x8 = 0;
72
73 field_0xc.x = field_0xc.y = field_0xc.z = 0.0f;
76
77 field_0x30 = -1;
78 }
79
80 virtual void genMessage(JORMContext*);
81 virtual ~dBgS_HIO();
82
83 /* 0x04 */ u8 field_0x4[0x6 - 0x4];
84 /* 0x06 */ u16 field_0x6;
85 /* 0x08 */ u16 field_0x8;
86 /* 0x0C */ cXyz field_0xc;
87 /* 0x18 */ cXyz field_0x18;
88 /* 0x24 */ cXyz field_0x24;
89 /* 0x30 */ int field_0x30;
90#endif
91};
92
93class dBgS : public cBgS {
94public:
95 dBgS() {}
96 ~dBgS() {}
97 void Ct();
98 void Dt();
99 void ClrMoveFlag();
100 void Move();
101 bool Regist(dBgW_Base*, fopAc_ac_c*);
102 bool ChkMoveBG(cBgS_PolyInfo const&);
103 bool ChkMoveBG_NoDABg(cBgS_PolyInfo const&);
107 int GetSpecialCode(cBgS_PolyInfo const&);
108 int GetMagnetCode(cBgS_PolyInfo const&);
112 int GetPolyAtt0(cBgS_PolyInfo const&);
113 int GetPolyAtt1(cBgS_PolyInfo const&);
114 int GetGroundCode(cBgS_PolyInfo const&);
119 int GetGrpSoundId(cBgS_PolyInfo const&);
124 void WallCorrect(dBgS_Acch*);
128 bool SphChk(dBgS_SphChk*, void*);
129 void MoveBgCrrPos(cBgS_PolyInfo const& i_poly, bool param_1, cXyz* i_pos, csXyz* i_angle,
130 csXyz* i_shapeAngle, bool param_5, bool param_6);
131 void MoveBgTransPos(cBgS_PolyInfo const& i_poly, bool param_1, cXyz* i_pos, csXyz* i_angle,
132 csXyz* i_shapeAngle);
133 void MoveBgMatrixCrrPos(cBgS_PolyInfo const&, bool, cXyz*, csXyz*, csXyz*);
137
138 bool WaterChk(dBgS_SplGrpChk* chk) { return SplGrpChk(chk); }
139 u32 GetMtrlSndId(const cBgS_PolyInfo& param_0) { return dKy_pol_sound_get(&param_0); }
140 void DebugDrawPoly(dBgW_Base *param_1) {}
141 fopAc_ac_c* GetActorPointer(cBgS_PolyInfo const& param_0) { return cBgS::GetActorPointer(param_0); }
142
143#ifdef DEBUG
144 /* 0x1404 */ u8 field_0x1404[0x1408 - 0x1404];
145 /* 0x1408 */ dBgS_HIO m_hio;
146#endif
147}; // Size: 0x1404
148
152void dBgS_MoveBGProc_Typical(dBgW* param_0, void* param_1, cBgS_PolyInfo const& param_2,
153 bool param_3, cXyz* param_4, csXyz* param_5, csXyz* param_6);
154void dBgS_MoveBGProc_TypicalRotY(dBgW* param_0, void* param_1, cBgS_PolyInfo const& param_2,
155 bool param_3, cXyz* param_4, csXyz* param_5, csXyz* param_6);
156void dBgS_MoveBGProc_Trans(dBgW* i_bgw, void* i_actor_ptr, cBgS_PolyInfo const& i_poly,
157 bool param_3, cXyz* i_pos, csXyz* i_angle, csXyz* i_shapeAngle);
158f32 dBgS_GetNY(cBgS_PolyInfo const& poly);
159
160#endif /* D_BG_D_BG_S_H */
Definition JORMContext.h:96
Definition JORReflexible.h:43
Definition d_bg_s.h:11
bool ChkUsed() const
Definition d_bg_s.h:27
dBgW_Base * m_bgw_base_ptr
Definition d_bg_s.h:13
u32 m_actor_id
Definition d_bg_s.h:15
cBgS_ChkElm()
Definition d_bg_s.h:20
bool m_used
Definition d_bg_s.h:14
void Release()
Definition d_bg_s.cpp:29
virtual void Regist2(dBgW_Base *, fpc_ProcID, void *)
Definition d_bg_s.cpp:21
virtual ~cBgS_ChkElm()
Definition d_bg_s.h:24
fopAc_ac_c * m_actor_ptr
Definition d_bg_s.h:16
void Init()
Definition d_bg_s.cpp:13
Definition c_bg_s_gnd_chk.h:8
Definition c_bg_s_lin_chk.h:8
Definition c_bg_s_shdw_draw.h:12
Definition d_bg_s.h:66
dBgS_HIO()
Definition d_bg_s.h:69
cXyz field_0x18
Definition d_bg_s.h:87
u16 field_0x6
Definition d_bg_s.h:84
virtual ~dBgS_HIO()
u16 field_0x8
Definition d_bg_s.h:85
virtual void genMessage(JORMContext *)
cXyz field_0xc
Definition d_bg_s.h:86
cXyz field_0x24
Definition d_bg_s.h:88
u8 field_0x4[0x6 - 0x4]
Definition d_bg_s.h:83
int field_0x30
Definition d_bg_s.h:89
Definition d_bg_s_roof_chk.h:8
Definition d_bg_s_sph_chk.h:13
Definition d_bg_s_spl_grp_chk.h:8
Definition d_bg_w_base.h:26
PushPullLabel
Definition d_bg_w_base.h:28
Definition d_bg_w.h:254
STATIC_ASSERT(sizeof(cBgS_ChkElm)==0x14)
void dBgS_MoveBGProc_Typical(dBgW *param_0, void *param_1, cBgS_PolyInfo const &param_2, bool param_3, cXyz *param_4, csXyz *param_5, csXyz *param_6)
Definition d_bg_s.cpp:779
bool dBgS_CheckBGroundPoly(cBgS_PolyInfo const &)
Definition d_bg_s.cpp:883
void dBgS_MoveBGProc_TypicalRotY(dBgW *param_0, void *param_1, cBgS_PolyInfo const &param_2, bool param_3, cXyz *param_4, csXyz *param_5, csXyz *param_6)
Definition d_bg_s.cpp:813
bool dBgS_CheckBRoofPoly(cBgS_PolyInfo const &)
Definition d_bg_s.cpp:894
u8 dKy_pol_sound_get(cBgS_PolyInfo const *param_0)
Definition d_kankyo.cpp:6118
bool dBgS_CheckBWallPoly(cBgS_PolyInfo const &)
Definition d_bg_s.cpp:872
f32 dBgS_GetNY(cBgS_PolyInfo const &poly)
Definition d_bg_s.cpp:905
void dBgS_MoveBGProc_Trans(dBgW *i_bgw, void *i_actor_ptr, cBgS_PolyInfo const &i_poly, bool param_3, cXyz *i_pos, csXyz *i_angle, csXyz *i_shapeAngle)
Definition d_bg_s.cpp:821
unsigned int fpc_ProcID
Definition f_pc_base.h:10
f32 z
Definition mtx.h:11
f32 x
Definition mtx.h:11
f32 y
Definition mtx.h:11
Definition d_a_npc_fguard.cpp:151
u16 GetBgIndex() const
Definition c_bg_s_poly_info.h:27
Definition d_a_npc_fguard.cpp:155
bool LineCross(cBgS_LinChk *)
Definition d_bg_s.cpp:111
u32 GetGrpInf(cBgS_PolyInfo const &) const
Definition d_bg_s.cpp:293
void ShdwDraw(cBgS_ShdwDraw *)
Definition d_bg_s.cpp:281
virtual ~cBgS()
Definition d_bg_s.h:53
f32 GroundCross(cBgS_GndChk *)
Definition d_bg_s.cpp:131
virtual void Dt()
Definition d_bg_s.cpp:98
fopAc_ac_c * GetActorPointer(int) const
Definition d_bg_s.cpp:213
bool Regist(dBgW_Base *, fpc_ProcID, void *)
Definition d_bg_s.cpp:41
bool ChkPolySafe(cBgS_PolyInfo const &)
Definition d_bg_s.cpp:229
bool GetTriPnt(cBgS_PolyInfo const &, cXyz *, cXyz *, cXyz *) const
Definition d_bg_s.cpp:271
bool GetTriPla(cBgS_PolyInfo const &, cM3dGPla *) const
bool Release(dBgW_Base *)
Definition d_bg_s.cpp:73
fopAc_ac_c * GetActorPointer(cBgS_PolyInfo const &info) const
Definition d_bg_s.h:57
cBgS_ChkElm m_chk_element[256]
Definition d_bg_s.h:34
static void * ConvDzb(void *)
Definition d_bg_s.cpp:185
s32 GetGrpRoomId(cBgS_PolyInfo const &) const
Definition d_bg_s.cpp:248
dBgW_Base * GetBgWBasePointer(cBgS_PolyInfo const &) const
Definition d_bg_s.cpp:219
cBgS()
Definition d_bg_s.h:38
virtual void Ct()
Definition d_bg_s.cpp:90
Definition d_a_npc_fguard.cpp:122
Definition d_a_hozelda.cpp:20
Definition d_a_hozelda.cpp:161
Definition d_a_npc_fguard.cpp:115
Definition d_a_npc_fguard.cpp:109
bool ChkMoveBG_NoDABg(cBgS_PolyInfo const &)
Definition d_bg_s.cpp:369
void MoveBgMatrixCrrPos(cBgS_PolyInfo const &, bool, cXyz *, csXyz *, csXyz *)
Definition d_bg_s.cpp:760
bool WaterChk(dBgS_SplGrpChk *chk)
Definition d_bg_s.h:138
s32 GetPolyColor(cBgS_PolyInfo const &)
Definition d_bg_s.cpp:390
bool GetPolyAttackThrough(cBgS_PolyInfo const &)
Definition d_bg_s.cpp:575
void Ct()
Definition d_bg_s.cpp:303
u32 ChkPolyHSStick(cBgS_PolyInfo const &)
Definition d_bg_s.cpp:585
void Dt()
Definition d_bg_s.cpp:308
f32 RoofChk(dBgS_RoofChk *)
Definition d_bg_s.cpp:644
void Move()
Definition d_bg_s.cpp:322
u32 ChkGrpInf(cBgS_PolyInfo const &, u32)
Definition d_bg_s.cpp:546
void WallCorrect(dBgS_Acch *)
Definition d_bg_s.cpp:595
bool SphChk(dBgS_SphChk *, void *)
Definition d_bg_s.cpp:692
s32 GetCamMoveBG(cBgS_PolyInfo const &)
Definition d_bg_s.cpp:496
bool SplGrpChk(dBgS_SplGrpChk *)
Definition d_bg_s.cpp:666
~dBgS()
Definition d_bg_s.h:96
BOOL GetHorseNoEntry(cBgS_PolyInfo const &)
Definition d_bg_s.cpp:404
int GetMagnetCode(cBgS_PolyInfo const &)
Definition d_bg_s.cpp:424
s32 GetRoomPathPntNo(cBgS_PolyInfo const &)
Definition d_bg_s.cpp:526
fopAc_ac_c * GetActorPointer(cBgS_PolyInfo const &param_0)
Definition d_bg_s.h:141
u32 GetMtrlSndId(const cBgS_PolyInfo &param_0)
Definition d_bg_s.h:139
u32 GetUnderwaterRoofCode(cBgS_PolyInfo const &)
Definition d_bg_s.cpp:446
s32 GetExitId(cBgS_PolyInfo const &)
Definition d_bg_s.cpp:380
bool ChkMoveBG(cBgS_PolyInfo const &)
Definition d_bg_s.cpp:353
fopAc_ac_c * PushPullCallBack(cBgS_PolyInfo const &, fopAc_ac_c *, s16, dBgW_Base::PushPullLabel)
Definition d_bg_s.cpp:851
void DebugDrawPoly(dBgW_Base *param_1)
Definition d_bg_s.h:140
u8 field_0x1404[0x1408 - 0x1404]
Definition d_bg_s.h:144
void RideCallBack(cBgS_PolyInfo const &, fopAc_ac_c *)
Definition d_bg_s.cpp:831
s32 GetWallCode(cBgS_PolyInfo const &)
Definition d_bg_s.cpp:456
void MoveBgCrrPos(cBgS_PolyInfo const &i_poly, bool param_1, cXyz *i_pos, csXyz *i_angle, csXyz *i_shapeAngle, bool param_5, bool param_6)
Definition d_bg_s.cpp:720
void ClrMoveFlag()
Definition d_bg_s.cpp:313
int GetPolyAtt0(cBgS_PolyInfo const &)
Definition d_bg_s.cpp:466
int GetSpecialCode(cBgS_PolyInfo const &)
Definition d_bg_s.cpp:414
int GetMonkeyBarsCode(cBgS_PolyInfo const &)
Definition d_bg_s.cpp:435
s32 GetRoomCamId(cBgS_PolyInfo const &)
Definition d_bg_s.cpp:506
int GetGrpSoundId(cBgS_PolyInfo const &)
Definition d_bg_s.cpp:536
void WallCorrectSort(dBgS_Acch *)
Definition d_bg_s.cpp:620
dBgS_HIO m_hio
Definition d_bg_s.h:145
void ArrowStickCallBack(cBgS_PolyInfo const &, fopAc_ac_c *, cXyz &)
Definition d_bg_s.cpp:841
bool Regist(dBgW_Base *, fopAc_ac_c *)
Definition d_bg_s.cpp:334
int GetPolyAtt1(cBgS_PolyInfo const &)
Definition d_bg_s.cpp:476
int GetGroundCode(cBgS_PolyInfo const &)
Definition d_bg_s.cpp:486
s32 GetRoomId(cBgS_PolyInfo const &)
Definition d_bg_s.cpp:552
dBgS()
Definition d_bg_s.h:95
s32 GetRoomPathId(cBgS_PolyInfo const &)
Definition d_bg_s.cpp:516
void MoveBgTransPos(cBgS_PolyInfo const &i_poly, bool param_1, cXyz *i_pos, csXyz *i_angle, csXyz *i_shapeAngle)
Definition d_bg_s.cpp:741
Definition d_a_hozelda.cpp:74
int BOOL
Definition types.h:30
unsigned long u32
Definition types.h:9
signed short int s16
Definition types.h:6
float f32
Definition types.h:22
unsigned short int u16
Definition types.h:7
signed long s32
Definition types.h:8
unsigned char u8
Definition types.h:5