0
|
1 #pragma once
|
|
2 #include "Render.h"
|
|
3
|
|
4
|
|
5 /* 120 */
|
|
6 #pragma pack(push, 1)
|
|
7 struct stru6_stru1_indoor_sw_billboard
|
|
8 {
|
|
9 //----- (004775B1) --------------------------------------------------------
|
|
10 inline stru6_stru1_indoor_sw_billboard()
|
|
11 {
|
|
12 field_10 = 0;
|
|
13 uNumVec4sInArray1 = 0;
|
|
14 uNumVec3sInArray2 = 0;
|
|
15 pArray1 = nullptr;
|
|
16 pArray2 = nullptr;
|
|
17 }
|
|
18
|
|
19 //----- (004775C4) --------------------------------------------------------
|
|
20 virtual ~stru6_stru1_indoor_sw_billboard()
|
|
21 {
|
|
22 if (pArray1)
|
|
23 delete [] pArray1;
|
|
24 pArray1 = nullptr;
|
|
25
|
|
26 if (pArray2)
|
|
27 delete [] pArray2;
|
|
28 pArray2 = nullptr;
|
|
29 }
|
|
30
|
|
31 int _4775ED(float a2);
|
|
32 int _477927(float a2);
|
|
33 int sub_477C61();
|
|
34 bool sub_477F63();
|
|
35 int sub_47802A();
|
|
36 void Initialize(int a2);
|
|
37 void _47829F_fireball_collision(float arg0, float a3, float a4, float a5, int a2);
|
|
38
|
|
39
|
|
40 unsigned int uNumVec4sInArray1;
|
|
41 struct stru16x *pArray1;
|
|
42 unsigned int uNumVec3sInArray2;
|
|
43 struct stru160 *pArray2;
|
|
44 int field_10;
|
|
45 int field_14[80];
|
|
46 };
|
|
47 #pragma pack(pop)
|
|
48
|
|
49
|
|
50 /* 122 */
|
|
51 #pragma pack(push, 1)
|
|
52 struct PlayerBuffAnim
|
|
53 {
|
486
|
54 inline PlayerBuffAnim():
|
|
55 bRender(false), uSpellAnimTime(0), uSpellIconID(0)
|
|
56 {}
|
|
57
|
0
|
58 __int16 bRender;
|
|
59 __int16 field_2;
|
491
|
60 int uSpellAnimTimeElapsed;
|
486
|
61 int uSpellAnimTime;
|
0
|
62 int uSpellIconID;
|
|
63 };
|
|
64 #pragma pack(pop)
|
|
65
|
|
66
|
|
67 /* 307 */
|
|
68 #pragma pack(push, 1)
|
|
69 struct ProjectileAnim
|
|
70 {
|
|
71 float srcX;
|
|
72 float srcY;
|
|
73 float srcZ;
|
|
74 float dstX;
|
|
75 float dstY;
|
|
76 float dstZ;
|
|
77 int uTextureID;
|
|
78 };
|
|
79 #pragma pack(pop)
|
|
80
|
|
81
|
|
82 /* 306 */
|
|
83 #pragma pack(push, 1)
|
|
84 struct stru6_stru2
|
|
85 {
|
486
|
86 //int field_0;
|
|
87 float flt_0_x;
|
|
88 float flt_4_y;
|
|
89 float flt_8_z;
|
|
90 int field_C;
|
0
|
91 };
|
|
92 #pragma pack(pop)
|
|
93
|
|
94
|
|
95
|
|
96 /* 121 */
|
|
97 #pragma pack(push, 1)
|
|
98 struct stru6
|
|
99 {
|
|
100 //----- (004A7155) --------------------------------------------------------
|
|
101 stru6()
|
|
102 {
|
|
103 this->field_204 = 0;
|
|
104 this->uFadeTime = 0;
|
|
105 this->uNumProjectiles = 0;
|
486
|
106 this->field_0 = 0;
|
0
|
107
|
|
108 pStru1 = new stru6_stru1_indoor_sw_billboard;
|
|
109 pStru1->Initialize(0xFF3C1Eu);
|
|
110 }
|
|
111 //----- (004A71DC) --------------------------------------------------------
|
|
112 ~stru6()
|
|
113 {
|
|
114 if (pStru1)
|
|
115 delete pStru1;
|
|
116 pStru1 = nullptr;
|
|
117 }
|
|
118
|
|
119 void DoAddProjectile(float srcX, float srcY, float srcZ, float dstX, float dstY, float dstZ, unsigned int uTextureID);
|
|
120 void DrawProjectiles();
|
|
121 void _4A73AA_hanging_trace_particles___like_fire_strike_ice_blast_etc(struct LayingItem *a2, unsigned int uDiffuse, unsigned int uTextureID);
|
|
122 void _4A75CC_single_spell_collision_particle(struct LayingItem *a1, unsigned int uDiffuse, unsigned int uTextureID);
|
|
123 void _4A7688_fireball_collision_particle(struct LayingItem *a2);
|
|
124 void _4A77FD_some_stuff_d3d(struct LayingItem *a1);
|
|
125 void _4A78AE_sparks_spell(struct LayingItem *a1);
|
|
126 void _4A7948_mind_blast_after_effect(struct LayingItem *a1);
|
|
127 bool AddMobileLight(struct LayingItem *a1, unsigned int uDiffuse, int uRadius);
|
|
128 void _4A7A66_miltiple_spell_collision_partifles___like_after_sparks_or_lightning(LayingItem *a1, unsigned int uDiffuse, unsigned int uTextureID, float a4);
|
|
129 void _4A7C07(struct LayingItem *a2);
|
|
130 void AddProjectile(struct LayingItem *a2, int a3, unsigned int uTextureID);
|
142
|
131 void _4A7E89_sparkles_on_actor_after_it_casts_buff(struct Actor *pActor, unsigned int uDiffuse);
|
0
|
132 void _4A7F74(int x, int y, int z);
|
|
133 int _4A806F(struct Actor *pActor);
|
|
134 void _4A80DC_some_stuff_sw(struct LayingItem *a2);
|
|
135 bool _4A81CA(struct LayingItem *a2);
|
486
|
136 void SetPlayerBuffAnim(unsigned __int16 uSpellID, unsigned __int16 uPlayerID);
|
0
|
137 void FadeScreen__like_Turn_Undead_and_mb_Armageddon(unsigned int uDiffuseColor, unsigned int uFadeTime);
|
|
138 int _4A8BFC();
|
|
139 void RenderSpecialEffects();
|
|
140 void DrawPlayerBuffAnims();
|
|
141 void LoadAnimations();
|
|
142
|
|
143
|
486
|
144 int field_0;
|
|
145 stru6_stru2 array_4[31];
|
|
146 int field_1F4;
|
|
147 int field_1F8;
|
|
148 int field_1FC;
|
0
|
149 int field_200;
|
|
150 int field_204;
|
|
151 PlayerBuffAnim pPlayerBuffs[4];
|
|
152 ProjectileAnim pProjectiles[32];
|
|
153 int uNumProjectiles;
|
|
154 stru6_stru1_indoor_sw_billboard *pStru1;
|
|
155 int field_5D0;
|
|
156 int uAnimLength;
|
|
157 int uFadeTime;
|
|
158 int uFadeTime2;
|
|
159 int uFadeColor;
|
|
160 unsigned int uTextureID_effpar1;
|
|
161 unsigned int uTextureID_effpar2;
|
|
162 unsigned int uTextureID_effpar3;
|
|
163 unsigned int uSpriteID_sp57c;
|
|
164 int field_5F4;
|
|
165 };
|
|
166 #pragma pack(pop)
|
|
167
|
|
168
|