Paper Mario DX
Paper Mario (N64) modding
 
Loading...
Searching...
No Matches
ShatteringBlock.c File Reference

Go to the source code of this file.

Functions

void entity_shattering_init_pieces (Entity *entity, Gfx **dlists, Mtx *matrices)
 
void entity_shattering_block_init (Entity *entity)
 
void entity_breakable_block_create_shattering_entity (Entity *entity)
 

Variables

Mtx Entity_ShatteringHammer1Block_FragmentsMatrices []
 
Gfx * Entity_ShatteringHammer1Block_FragmentsRender []
 
Mtx Entity_ShatteringHammer2Block_FragmentsMatrices []
 
Gfx * Entity_ShatteringHammer2Block_FragmentsRender []
 
Mtx Entity_ShatteringHammer3Block_FragmentsMatrices []
 
Gfx * Entity_ShatteringHammer3Block_FragmentsRender []
 
Mtx Entity_ShatteringBrickBlock_FragmentsMatrices []
 
Gfx * Entity_ShatteringBrickBlock_FragmentsRender []
 
Gfx Entity_RenderNone []
 
EntityScript Entity_ShatteringBlock_Script
 
EntityModelScript Entity_ShatteringBlock_RenderScript = STANDARD_ENTITY_MODEL_SCRIPT(Entity_RenderNone, RENDER_MODE_SURFACE_XLU_LAYER1)
 
EntityBlueprint Entity_ShatteringHammer1Block
 
EntityBlueprint Entity_ShatteringHammer2Block
 
EntityBlueprint Entity_ShatteringHammer3Block
 
EntityBlueprint Entity_ShatteringHammer1BlockTiny
 
EntityBlueprint Entity_ShatteringHammer2BlockTiny
 
EntityBlueprint Entity_ShatteringHammer3BlockTiny
 
EntityBlueprint Entity_ShatteringBrickBlock
 

Function Documentation

◆ entity_shattering_init_pieces()

void entity_shattering_init_pieces ( Entity * entity,
Gfx ** dlists,
Mtx * matrices )

Definition at line 10 of file ShatteringBlock_common.c.

10 {
12 s32 s7;
13 s32 i;
14 Matrix4f mtxFragment;
15 Matrix4f mtxTrans;
16 s32 rotSpeed;
17 f32 fallSpeed;
18
19 data->fragmentDisplayLists = ENTITY_ADDR(entity, Gfx**, dlists);
21 entity->alpha = 255;
22 entity->pos.y = data->originalPosY;
23 guTranslateF(mtxTrans, entity->pos.x, entity->pos.y, entity->pos.z);
24
25 s7 = 2;
26 if (!is_block_on_ground(entity)) {
27 s7 = 1;
28 }
29
30 data->fadeOutCounter = 0;
31 data->alpha = 255;
32
33 for (i = 0; i < 24; i++) {
34 guMtxL2F(mtxFragment, ENTITY_ADDR(entity, Mtx*, matrices++));
35 guMtxCatF(mtxTrans, mtxFragment, mtxFragment);
36 data->fragmentPosX[i] = mtxFragment[3][0];
37 data->fragmentPosY[i] = mtxFragment[3][1];
38 data->fragmentPosZ[i] = mtxFragment[3][2];
39 data->fragmentMoveAngle[i] = -rand_int(255);
40
41 if (s7 == 1) {
42 rotSpeed = 20;
43 fallSpeed = 6.4f;
44 data->fragmentFlags[i] |= 1;
45 } else {
46 rotSpeed = 40;
47 fallSpeed = 8.6f;
48 data->fragmentFlags[i] |= 2;
49 }
50 rotSpeed += rand_int(10);
51 data->fragmentRotSpeed[i] = rotSpeed;
52 if ((i % 2) == 0) {
53 data->fragmentRotSpeed[i] = -rotSpeed;
54 }
55
56 data->fragmentFallSpeed[i] = fallSpeed + (f32)(rand_float() * 2.7);
57 data->fragmentRebounds[i] = 0;
58 data->fragmentRotX[i] = 0;
59 data->fragmentRotY[i] = 0;
60 }
61}
void entity_shattering_setupGfx(s32 entityIndex)
f32 Matrix4f[4][4]
struct ShatteringBlockData * shatteringBlock
#define guTranslateF
#define guMtxCatF
#define rand_int
u16 fragmentFlags[25]
Definition entity.h:93
s8 fragmentRebounds[25]
Definition entity.h:98
f32 fragmentPosY[25]
Definition entity.h:104
u8 fragmentMoveAngle[25]
Definition entity.h:100
#define ENTITY_ADDR(entity, type, data)
Definition entity.h:64
Gfx ** fragmentDisplayLists
Definition entity.h:94
u8 fragmentRotY[25]
Definition entity.h:102
f32 fragmentPosX[25]
Definition entity.h:103
f32 fragmentPosZ[25]
Definition entity.h:105
f32 fragmentFallSpeed[25]
Definition entity.h:106
s8 fragmentRotSpeed[25]
Definition entity.h:99
u8 fragmentRotX[25]
Definition entity.h:101
f32 rand_float(void)
Definition 43F0.c:504
s32 is_block_on_ground(Entity *block)
Definition entity.c:1736
void(* renderSetupFunc)(s32)
EntityData dataBuf

Referenced by entity_shattering_block_init().

◆ entity_shattering_block_init()

void entity_shattering_block_init ( Entity * entity)

Definition at line 124 of file ShatteringBlock.c.

124 {
125 u32 type;
126 Mtx* fragmentMatrices = NULL;
127 Gfx** fragmentDisplayLists = NULL;
128
129 entity->dataBuf.shatteringBlock->originalPosY = entity->pos.y;
130 type = get_entity_type(entity->listIndex);
131
132 if (type == ENTITY_TYPE_HAMMER1_BLOCK_TINY ||
135 {
136 entity->scale.x = 0.5f;
137 entity->scale.y = 0.5f;
138 entity->scale.z = 0.5f;
139 }
140
141 switch (type) {
146 break;
151 break;
156 break;
159 fragmentDisplayLists = Entity_ShatteringBrickBlock_FragmentsRender;
161 break;
168 break;
169 }
170
171 if (fragmentMatrices == NULL) {
172 return;
173 }
174
175 entity_shattering_init_pieces(entity, fragmentDisplayLists, fragmentMatrices);
176}
Mtx Entity_ShatteringHammer2Block_FragmentsMatrices[]
Gfx * Entity_ShatteringHammer1Block_FragmentsRender[]
Gfx * Entity_ShatteringHammer2Block_FragmentsRender[]
void entity_shattering_init_pieces(Entity *entity, Gfx **dlists, Mtx *matrices)
Mtx Entity_ShatteringHammer1Block_FragmentsMatrices[]
Gfx * Entity_ShatteringHammer3Block_FragmentsRender[]
Mtx Entity_ShatteringBrickBlock_FragmentsMatrices[]
Mtx Entity_ShatteringHammer3Block_FragmentsMatrices[]
Gfx * Entity_ShatteringBrickBlock_FragmentsRender[]
#define sfx_play_sound_at_position
@ ENTITY_TYPE_HAMMER1_BLOCK
Definition enums.h:2564
@ ENTITY_TYPE_SINGLE_TRIGGER_BLOCK
Definition enums.h:2559
@ ENTITY_TYPE_HIDDEN_RED_BLOCK
Definition enums.h:2561
@ ENTITY_TYPE_HAMMER3_BLOCK
Definition enums.h:2566
@ ENTITY_TYPE_HAMMER2_BLOCK
Definition enums.h:2565
@ ENTITY_TYPE_INACTIVE_BLOCK
Definition enums.h:2562
@ ENTITY_TYPE_HAMMER3_BLOCK_TINY
Definition enums.h:2569
@ ENTITY_TYPE_MULTI_COIN_BRICK
Definition enums.h:2557
@ ENTITY_TYPE_BRICK_BLOCK
Definition enums.h:2556
@ ENTITY_TYPE_HAMMER2_BLOCK_TINY
Definition enums.h:2568
@ ENTITY_TYPE_HIDDEN_YELLOW_BLOCK
Definition enums.h:2560
@ ENTITY_TYPE_HAMMER1_BLOCK_TINY
Definition enums.h:2567
@ ENTITY_TYPE_YELLOW_BLOCK
Definition enums.h:2558
@ SOUND_BLOCK_SHATTER
Definition enums.h:775
@ SOUND_SPACE_DEFAULT
Definition enums.h:1737
u32 get_entity_type(s32 arg0)
Definition entity.c:568
Vec3f scale

◆ entity_breakable_block_create_shattering_entity()

void entity_breakable_block_create_shattering_entity ( Entity * entity)

Definition at line 178 of file ShatteringBlock.c.

178 {
179 EntityBlueprint* bp = NULL;
180
181 switch (get_entity_type(entity->listIndex)) {
184 break;
187 break;
190 break;
193 break;
196 break;
199 break;
202 break;
209 break;
210 }
211
212 if (bp == NULL) {
213 return;
214 }
215
216 create_entity(bp, (s32)entity->pos.x, (s32)entity->pos.y, (s32)entity->pos.z, 0, MAKE_ENTITY_END);
217}
EntityBlueprint Entity_ShatteringHammer2BlockTiny
EntityBlueprint Entity_ShatteringHammer1Block
EntityBlueprint Entity_ShatteringBrickBlock
EntityBlueprint Entity_ShatteringHammer1BlockTiny
EntityBlueprint Entity_ShatteringHammer3Block
EntityBlueprint Entity_ShatteringHammer3BlockTiny
EntityBlueprint Entity_ShatteringHammer2Block
#define MAKE_ENTITY_END
Definition evt.h:107
s32 create_entity(EntityBlueprint *bp,...)
Definition entity.c:1195

Variable Documentation

◆ Entity_ShatteringHammer1Block_FragmentsMatrices

Mtx Entity_ShatteringHammer1Block_FragmentsMatrices[]
extern

Definition at line 21 of file ShatteringHammer1Block.c.

21 {
22 {
23 .m = {
24 { 0x00010000, 0x00000000,
25 0x00000001, 0x00000000 },
26 { 0x00000000, 0x00010000,
27 0x00100029, 0x00100001 },
28 { 0x00000000, 0x00000000,
29 0x00000000, 0x00000000 },
30 { 0x00000000, 0x00000000,
31 0xAAABAAAB, 0xAAAB0000 }
32 }
33 },
34 {
35 .m = {
36 { 0x00010000, 0x00000000,
37 0x00000001, 0x00000000 },
38 { 0x00000000, 0x00010000,
39 0x00000029, 0x00100001 },
40 { 0x00000000, 0x00000000,
41 0x00000000, 0x00000000 },
42 { 0x00000000, 0x00000000,
43 0x0000AAAB, 0xAAAB0000 }
44 }
45 },
46 {
47 .m = {
48 { 0x00010000, 0x00000000,
49 0x00000001, 0x00000000 },
50 { 0x00000000, 0x00010000,
51 0xFFF00029, 0x00100001 },
52 { 0x00000000, 0x00000000,
53 0x00000000, 0x00000000 },
54 { 0x00000000, 0x00000000,
55 0x5555AAAB, 0xAAAB0000 }
56 }
57 },
58 {
59 .m = {
60 { 0x00010000, 0x00000000,
61 0x00000001, 0x00000000 },
62 { 0x00000000, 0x00010000,
63 0x00100029, 0x00000001 },
64 { 0x00000000, 0x00000000,
65 0x00000000, 0x00000000 },
66 { 0x00000000, 0x00000000,
67 0xAAABAAAB, 0x00000000 }
68 }
69 },
70 {
71 .m = {
72 { 0x00010000, 0x00000000,
73 0x00000001, 0x00000000 },
74 { 0x00000000, 0x00010000,
75 0x00000029, 0x00000001 },
76 { 0x00000000, 0x00000000,
77 0x00000000, 0x00000000 },
78 { 0x00000000, 0x00000000,
79 0x0000AAAB, 0x00000000 }
80 }
81 },
82 {
83 .m = {
84 { 0x00010000, 0x00000000,
85 0x00000001, 0x00000000 },
86 { 0x00000000, 0x00010000,
87 0xFFF00029, 0x00000001 },
88 { 0x00000000, 0x00000000,
89 0x00000000, 0x00000000 },
90 { 0x00000000, 0x00000000,
91 0x5555AAAB, 0x00000000 }
92 }
93 },
94 {
95 .m = {
96 { 0x00010000, 0x00000000,
97 0x00000001, 0x00000000 },
98 { 0x00000000, 0x00010000,
99 0x00100029, 0xFFF00001 },
100 { 0x00000000, 0x00000000,
101 0x00000000, 0x00000000 },
102 { 0x00000000, 0x00000000,
103 0xAAABAAAB, 0x55550000 }
104 }
105 },
106 {
107 .m = {
108 { 0x00010000, 0x00000000,
109 0x00000001, 0x00000000 },
110 { 0x00000000, 0x00010000,
111 0x00000029, 0xFFF00001 },
112 { 0x00000000, 0x00000000,
113 0x00000000, 0x00000000 },
114 { 0x00000000, 0x00000000,
115 0x0000AAAB, 0x55550000 }
116 }
117 },
118 {
119 .m = {
120 { 0x00010000, 0x00000000,
121 0x00000001, 0x00000000 },
122 { 0x00000000, 0x00010000,
123 0xFFF00029, 0xFFF00001 },
124 { 0x00000000, 0x00000000,
125 0x00000000, 0x00000000 },
126 { 0x00000000, 0x00000000,
127 0x5555AAAB, 0x55550000 }
128 }
129 },
130 {
131 .m = {
132 { 0x00010000, 0x00000000,
133 0x00000001, 0x00000000 },
134 { 0x00000000, 0x00010000,
135 0x00100019, 0x00100001 },
136 { 0x00000000, 0x00000000,
137 0x00000000, 0x00000000 },
138 { 0x00000000, 0x00000000,
139 0xAAAB0000, 0xAAAB0000 }
140 }
141 },
142 {
143 .m = {
144 { 0x00010000, 0x00000000,
145 0x00000001, 0x00000000 },
146 { 0x00000000, 0x00010000,
147 0x00000019, 0x00100001 },
148 { 0x00000000, 0x00000000,
149 0x00000000, 0x00000000 },
150 { 0x00000000, 0x00000000,
151 0x00000000, 0xAAAB0000 }
152 }
153 },
154 {
155 .m = {
156 { 0x00010000, 0x00000000,
157 0x00000001, 0x00000000 },
158 { 0x00000000, 0x00010000,
159 0xFFF00019, 0x00100001 },
160 { 0x00000000, 0x00000000,
161 0x00000000, 0x00000000 },
162 { 0x00000000, 0x00000000,
163 0x55550000, 0xAAAB0000 }
164 }
165 },
166 {
167 .m = {
168 { 0x00010000, 0x00000000,
169 0x00000001, 0x00000000 },
170 { 0x00000000, 0x00010000,
171 0x00100019, 0x00000001 },
172 { 0x00000000, 0x00000000,
173 0x00000000, 0x00000000 },
174 { 0x00000000, 0x00000000,
175 0xAAAB0000, 0x00000000 }
176 }
177 },
178 {
179 .m = {
180 { 0x00010000, 0x00000000,
181 0x00000001, 0x00000000 },
182 { 0x00000000, 0x00010000,
183 0xFFF00019, 0x00000001 },
184 { 0x00000000, 0x00000000,
185 0x00000000, 0x00000000 },
186 { 0x00000000, 0x00000000,
187 0x55550000, 0x00000000 }
188 }
189 },
190 {
191 .m = {
192 { 0x00010000, 0x00000000,
193 0x00000001, 0x00000000 },
194 { 0x00000000, 0x00010000,
195 0x00100019, 0xFFF00001 },
196 { 0x00000000, 0x00000000,
197 0x00000000, 0x00000000 },
198 { 0x00000000, 0x00000000,
199 0xAAAB0000, 0x55550000 }
200 }
201 },
202 {
203 .m = {
204 { 0x00010000, 0x00000000,
205 0x00000001, 0x00000000 },
206 { 0x00000000, 0x00010000,
207 0x00000019, 0xFFF00001 },
208 { 0x00000000, 0x00000000,
209 0x00000000, 0x00000000 },
210 { 0x00000000, 0x00000000,
211 0x00000000, 0x55550000 }
212 }
213 },
214 {
215 .m = {
216 { 0x00010000, 0x00000000,
217 0x00000001, 0x00000000 },
218 { 0x00000000, 0x00010000,
219 0xFFF00019, 0xFFF00001 },
220 { 0x00000000, 0x00000000,
221 0x00000000, 0x00000000 },
222 { 0x00000000, 0x00000000,
223 0x55550000, 0x55550000 }
224 }
225 },
226 {
227 .m = {
228 { 0x00010000, 0x00000000,
229 0x00000001, 0x00000000 },
230 { 0x00000000, 0x00010000,
231 0x00100008, 0x00100001 },
232 { 0x00000000, 0x00000000,
233 0x00000000, 0x00000000 },
234 { 0x00000000, 0x00000000,
235 0xAAAB5556, 0xAAAB0000 }
236 }
237 },
238 {
239 .m = {
240 { 0x00010000, 0x00000000,
241 0x00000001, 0x00000000 },
242 { 0x00000000, 0x00010000,
243 0x00000008, 0x00100001 },
244 { 0x00000000, 0x00000000,
245 0x00000000, 0x00000000 },
246 { 0x00000000, 0x00000000,
247 0x00005556, 0xAAAB0000 }
248 }
249 },
250 {
251 .m = {
252 { 0x00010000, 0x00000000,
253 0x00000001, 0x00000000 },
254 { 0x00000000, 0x00010000,
255 0xFFF00008, 0x00100001 },
256 { 0x00000000, 0x00000000,
257 0x00000000, 0x00000000 },
258 { 0x00000000, 0x00000000,
259 0x55555556, 0xAAAB0000 }
260 }
261 },
262 {
263 .m = {
264 { 0x00010000, 0x00000000,
265 0x00000001, 0x00000000 },
266 { 0x00000000, 0x00010000,
267 0x00100008, 0x00000001 },
268 { 0x00000000, 0x00000000,
269 0x00000000, 0x00000000 },
270 { 0x00000000, 0x00000000,
271 0xAAAB5556, 0x00000000 }
272 }
273 },
274 {
275 .m = {
276 { 0x00010000, 0x00000000,
277 0x00000001, 0x00000000 },
278 { 0x00000000, 0x00010000,
279 0x00000008, 0x00000001 },
280 { 0x00000000, 0x00000000,
281 0x00000000, 0x00000000 },
282 { 0x00000000, 0x00000000,
283 0x00005556, 0x00000000 }
284 }
285 },
286 {
287 .m = {
288 { 0x00010000, 0x00000000,
289 0x00000001, 0x00000000 },
290 { 0x00000000, 0x00010000,
291 0xFFF00008, 0x00000001 },
292 { 0x00000000, 0x00000000,
293 0x00000000, 0x00000000 },
294 { 0x00000000, 0x00000000,
295 0x55555556, 0x00000000 }
296 }
297 },
298 {
299 .m = {
300 { 0x00010000, 0x00000000,
301 0x00000001, 0x00000000 },
302 { 0x00000000, 0x00010000,
303 0x00100008, 0xFFF00001 },
304 { 0x00000000, 0x00000000,
305 0x00000000, 0x00000000 },
306 { 0x00000000, 0x00000000,
307 0xAAAB5556, 0x55550000 }
308 }
309 },
310 {
311 .m = {
312 { 0x00010000, 0x00000000,
313 0x00000001, 0x00000000 },
314 { 0x00000000, 0x00010000,
315 0x00000008, 0xFFF00001 },
316 { 0x00000000, 0x00000000,
317 0x00000000, 0x00000000 },
318 { 0x00000000, 0x00000000,
319 0x00005556, 0x55550000 }
320 }
321 },
322 {
323 .m = {
324 { 0x00010000, 0x00000000,
325 0x00000001, 0x00000000 },
326 { 0x00000000, 0x00010000,
327 0xFFF00008, 0xFFF00001 },
328 { 0x00000000, 0x00000000,
329 0x00000000, 0x00000000 },
330 { 0x00000000, 0x00000000,
331 0x55555556, 0x55550000 }
332 }
333 },
334};

Referenced by entity_shattering_block_init().

◆ Entity_ShatteringHammer1Block_FragmentsRender

Gfx* Entity_ShatteringHammer1Block_FragmentsRender[]
extern

Definition at line 1285 of file ShatteringHammer1Block.c.

1285 {
1312};
Gfx D_0A002898_E34CB8[]
Gfx D_0A001D68_E34188[]
Gfx D_0A001E60_E34280[]
Gfx D_0A001F40_E34360[]
Gfx D_0A002018_E34438[]
Gfx D_0A002EA8_E352C8[]
Gfx D_0A002290_E346B0[]
Gfx D_0A002F78_E35398[]
Gfx D_0A002358_E34778[]
Gfx D_0A002960_E34D80[]
Gfx D_0A002548_E34968[]
Gfx D_0A002DD8_E351F8[]
Gfx D_0A002D00_E35120[]
Gfx D_0A002708_E34B28[]
Gfx D_0A0020F0_E34510[]
Gfx D_0A0031C8_E355E8[]
Gfx D_0A002B10_E34F30[]
Gfx D_0A003108_E35528[]
Gfx D_0A002C10_E35030[]
Gfx D_0A002A20_E34E40[]
Gfx D_0A0021C0_E345E0[]
Gfx D_0A0027D0_E34BF0[]
Gfx D_0A001C60_E34080[]
Gfx D_0A002638_E34A58[]
Gfx D_0A002448_E34868[]
Gfx D_0A003040_E35460[]

Referenced by entity_shattering_block_init().

◆ Entity_ShatteringHammer2Block_FragmentsMatrices

Mtx Entity_ShatteringHammer2Block_FragmentsMatrices[]
extern

Definition at line 19 of file ShatteringHammer2Block.c.

19 {
20 {
21 .m = {
22 { 0x00010000, 0x00000000,
23 0x00000001, 0x00000000 },
24 { 0x00000000, 0x00010000,
25 0x00100029, 0x00100001 },
26 { 0x00000000, 0x00000000,
27 0x00000000, 0x00000000 },
28 { 0x00000000, 0x00000000,
29 0xAAABAAAB, 0xAAAB0000 }
30 }
31 },
32 {
33 .m = {
34 { 0x00010000, 0x00000000,
35 0x00000001, 0x00000000 },
36 { 0x00000000, 0x00010000,
37 0x00000029, 0x00100001 },
38 { 0x00000000, 0x00000000,
39 0x00000000, 0x00000000 },
40 { 0x00000000, 0x00000000,
41 0x0000AAAB, 0xAAAB0000 }
42 }
43 },
44 {
45 .m = {
46 { 0x00010000, 0x00000000,
47 0x00000001, 0x00000000 },
48 { 0x00000000, 0x00010000,
49 0xFFF00029, 0x00100001 },
50 { 0x00000000, 0x00000000,
51 0x00000000, 0x00000000 },
52 { 0x00000000, 0x00000000,
53 0x5555AAAB, 0xAAAB0000 }
54 }
55 },
56 {
57 .m = {
58 { 0x00010000, 0x00000000,
59 0x00000001, 0x00000000 },
60 { 0x00000000, 0x00010000,
61 0x00100029, 0x00000001 },
62 { 0x00000000, 0x00000000,
63 0x00000000, 0x00000000 },
64 { 0x00000000, 0x00000000,
65 0xAAABAAAB, 0x00000000 }
66 }
67 },
68 {
69 .m = {
70 { 0x00010000, 0x00000000,
71 0x00000001, 0x00000000 },
72 { 0x00000000, 0x00010000,
73 0x00000029, 0x00000001 },
74 { 0x00000000, 0x00000000,
75 0x00000000, 0x00000000 },
76 { 0x00000000, 0x00000000,
77 0x0000AAAB, 0x00000000 }
78 }
79 },
80 {
81 .m = {
82 { 0x00010000, 0x00000000,
83 0x00000001, 0x00000000 },
84 { 0x00000000, 0x00010000,
85 0xFFF00029, 0x00000001 },
86 { 0x00000000, 0x00000000,
87 0x00000000, 0x00000000 },
88 { 0x00000000, 0x00000000,
89 0x5555AAAB, 0x00000000 }
90 }
91 },
92 {
93 .m = {
94 { 0x00010000, 0x00000000,
95 0x00000001, 0x00000000 },
96 { 0x00000000, 0x00010000,
97 0x00100029, 0xFFF00001 },
98 { 0x00000000, 0x00000000,
99 0x00000000, 0x00000000 },
100 { 0x00000000, 0x00000000,
101 0xAAABAAAB, 0x55550000 }
102 }
103 },
104 {
105 .m = {
106 { 0x00010000, 0x00000000,
107 0x00000001, 0x00000000 },
108 { 0x00000000, 0x00010000,
109 0x00000029, 0xFFF00001 },
110 { 0x00000000, 0x00000000,
111 0x00000000, 0x00000000 },
112 { 0x00000000, 0x00000000,
113 0x0000AAAB, 0x55550000 }
114 }
115 },
116 {
117 .m = {
118 { 0x00010000, 0x00000000,
119 0x00000001, 0x00000000 },
120 { 0x00000000, 0x00010000,
121 0xFFF00029, 0xFFF00001 },
122 { 0x00000000, 0x00000000,
123 0x00000000, 0x00000000 },
124 { 0x00000000, 0x00000000,
125 0x5555AAAB, 0x55550000 }
126 }
127 },
128 {
129 .m = {
130 { 0x00010000, 0x00000000,
131 0x00000001, 0x00000000 },
132 { 0x00000000, 0x00010000,
133 0x00100019, 0x00100001 },
134 { 0x00000000, 0x00000000,
135 0x00000000, 0x00000000 },
136 { 0x00000000, 0x00000000,
137 0xAAAB0000, 0xAAAB0000 }
138 }
139 },
140 {
141 .m = {
142 { 0x00010000, 0x00000000,
143 0x00000001, 0x00000000 },
144 { 0x00000000, 0x00010000,
145 0x00000019, 0x00100001 },
146 { 0x00000000, 0x00000000,
147 0x00000000, 0x00000000 },
148 { 0x00000000, 0x00000000,
149 0x00000000, 0xAAAB0000 }
150 }
151 },
152 {
153 .m = {
154 { 0x00010000, 0x00000000,
155 0x00000001, 0x00000000 },
156 { 0x00000000, 0x00010000,
157 0xFFF00019, 0x00100001 },
158 { 0x00000000, 0x00000000,
159 0x00000000, 0x00000000 },
160 { 0x00000000, 0x00000000,
161 0x55550000, 0xAAAB0000 }
162 }
163 },
164 {
165 .m = {
166 { 0x00010000, 0x00000000,
167 0x00000001, 0x00000000 },
168 { 0x00000000, 0x00010000,
169 0x00100019, 0x00000001 },
170 { 0x00000000, 0x00000000,
171 0x00000000, 0x00000000 },
172 { 0x00000000, 0x00000000,
173 0xAAAB0000, 0x00000000 }
174 }
175 },
176 {
177 .m = {
178 { 0x00010000, 0x00000000,
179 0x00000001, 0x00000000 },
180 { 0x00000000, 0x00010000,
181 0xFFF00019, 0x00000001 },
182 { 0x00000000, 0x00000000,
183 0x00000000, 0x00000000 },
184 { 0x00000000, 0x00000000,
185 0x55550000, 0x00000000 }
186 }
187 },
188 {
189 .m = {
190 { 0x00010000, 0x00000000,
191 0x00000001, 0x00000000 },
192 { 0x00000000, 0x00010000,
193 0x00100019, 0xFFF00001 },
194 { 0x00000000, 0x00000000,
195 0x00000000, 0x00000000 },
196 { 0x00000000, 0x00000000,
197 0xAAAB0000, 0x55550000 }
198 }
199 },
200 {
201 .m = {
202 { 0x00010000, 0x00000000,
203 0x00000001, 0x00000000 },
204 { 0x00000000, 0x00010000,
205 0x00000019, 0xFFF00001 },
206 { 0x00000000, 0x00000000,
207 0x00000000, 0x00000000 },
208 { 0x00000000, 0x00000000,
209 0x00000000, 0x55550000 }
210 }
211 },
212 {
213 .m = {
214 { 0x00010000, 0x00000000,
215 0x00000001, 0x00000000 },
216 { 0x00000000, 0x00010000,
217 0xFFF00019, 0xFFF00001 },
218 { 0x00000000, 0x00000000,
219 0x00000000, 0x00000000 },
220 { 0x00000000, 0x00000000,
221 0x55550000, 0x55550000 }
222 }
223 },
224 {
225 .m = {
226 { 0x00010000, 0x00000000,
227 0x00000001, 0x00000000 },
228 { 0x00000000, 0x00010000,
229 0x00100008, 0x00100001 },
230 { 0x00000000, 0x00000000,
231 0x00000000, 0x00000000 },
232 { 0x00000000, 0x00000000,
233 0xAAAB5556, 0xAAAB0000 }
234 }
235 },
236 {
237 .m = {
238 { 0x00010000, 0x00000000,
239 0x00000001, 0x00000000 },
240 { 0x00000000, 0x00010000,
241 0x00000008, 0x00100001 },
242 { 0x00000000, 0x00000000,
243 0x00000000, 0x00000000 },
244 { 0x00000000, 0x00000000,
245 0x00005556, 0xAAAB0000 }
246 }
247 },
248 {
249 .m = {
250 { 0x00010000, 0x00000000,
251 0x00000001, 0x00000000 },
252 { 0x00000000, 0x00010000,
253 0xFFF00008, 0x00100001 },
254 { 0x00000000, 0x00000000,
255 0x00000000, 0x00000000 },
256 { 0x00000000, 0x00000000,
257 0x55555556, 0xAAAB0000 }
258 }
259 },
260 {
261 .m = {
262 { 0x00010000, 0x00000000,
263 0x00000001, 0x00000000 },
264 { 0x00000000, 0x00010000,
265 0x00100008, 0x00000001 },
266 { 0x00000000, 0x00000000,
267 0x00000000, 0x00000000 },
268 { 0x00000000, 0x00000000,
269 0xAAAB5556, 0x00000000 }
270 }
271 },
272 {
273 .m = {
274 { 0x00010000, 0x00000000,
275 0x00000001, 0x00000000 },
276 { 0x00000000, 0x00010000,
277 0x00000008, 0x00000001 },
278 { 0x00000000, 0x00000000,
279 0x00000000, 0x00000000 },
280 { 0x00000000, 0x00000000,
281 0x00005556, 0x00000000 }
282 }
283 },
284 {
285 .m = {
286 { 0x00010000, 0x00000000,
287 0x00000001, 0x00000000 },
288 { 0x00000000, 0x00010000,
289 0xFFF00008, 0x00000001 },
290 { 0x00000000, 0x00000000,
291 0x00000000, 0x00000000 },
292 { 0x00000000, 0x00000000,
293 0x55555556, 0x00000000 }
294 }
295 },
296 {
297 .m = {
298 { 0x00010000, 0x00000000,
299 0x00000001, 0x00000000 },
300 { 0x00000000, 0x00010000,
301 0x00100008, 0xFFF00001 },
302 { 0x00000000, 0x00000000,
303 0x00000000, 0x00000000 },
304 { 0x00000000, 0x00000000,
305 0xAAAB5556, 0x55550000 }
306 }
307 },
308 {
309 .m = {
310 { 0x00010000, 0x00000000,
311 0x00000001, 0x00000000 },
312 { 0x00000000, 0x00010000,
313 0x00000008, 0xFFF00001 },
314 { 0x00000000, 0x00000000,
315 0x00000000, 0x00000000 },
316 { 0x00000000, 0x00000000,
317 0x00005556, 0x55550000 }
318 }
319 },
320 {
321 .m = {
322 { 0x00010000, 0x00000000,
323 0x00000001, 0x00000000 },
324 { 0x00000000, 0x00010000,
325 0xFFF00008, 0xFFF00001 },
326 { 0x00000000, 0x00000000,
327 0x00000000, 0x00000000 },
328 { 0x00000000, 0x00000000,
329 0x55555556, 0x55550000 }
330 }
331 },
332};

Referenced by entity_shattering_block_init().

◆ Entity_ShatteringHammer2Block_FragmentsRender

Gfx* Entity_ShatteringHammer2Block_FragmentsRender[]
extern

Definition at line 1283 of file ShatteringHammer2Block.c.

1283 {
1310};
Gfx D_0A003010_E38680[]
Gfx D_0A002190_E37800[]
Gfx D_0A002DA8_E38418[]
Gfx D_0A002608_E37C78[]
Gfx D_0A001E30_E374A0[]
Gfx D_0A001F10_E37580[]
Gfx D_0A002418_E37A88[]
Gfx D_0A0029F0_E38060[]
Gfx D_0A001FE8_E37658[]
Gfx D_0A002518_E37B88[]
Gfx D_0A002F48_E385B8[]
Gfx D_0A0026D8_E37D48[]
Gfx D_0A002AE0_E38150[]
Gfx D_0A0027A0_E37E10[]
Gfx D_0A002E78_E384E8[]
Gfx D_0A002CD0_E38340[]
Gfx D_0A0030D8_E38748[]
Gfx D_0A002260_E378D0[]
Gfx D_0A002930_E37FA0[]
Gfx D_0A001C30_E372A0[]
Gfx D_0A002328_E37998[]
Gfx D_0A003198_E38808[]
Gfx D_0A001D38_E373A8[]
Gfx D_0A0020C0_E37730[]
Gfx D_0A002BE0_E38250[]
Gfx D_0A002868_E37ED8[]

Referenced by entity_shattering_block_init().

◆ Entity_ShatteringHammer3Block_FragmentsMatrices

Mtx Entity_ShatteringHammer3Block_FragmentsMatrices[]
extern

Definition at line 21 of file ShatteringHammer3Block.c.

21 {
22 {
23 .m = {
24 { 0x00010000, 0x00000000,
25 0x00000001, 0x00000000 },
26 { 0x00000000, 0x00010000,
27 0x00100029, 0x00100001 },
28 { 0x00000000, 0x00000000,
29 0x00000000, 0x00000000 },
30 { 0x00000000, 0x00000000,
31 0xAAABAAAB, 0xAAAB0000 }
32 }
33 },
34 {
35 .m = {
36 { 0x00010000, 0x00000000,
37 0x00000001, 0x00000000 },
38 { 0x00000000, 0x00010000,
39 0x00000029, 0x00100001 },
40 { 0x00000000, 0x00000000,
41 0x00000000, 0x00000000 },
42 { 0x00000000, 0x00000000,
43 0x0000AAAB, 0xAAAB0000 }
44 }
45 },
46 {
47 .m = {
48 { 0x00010000, 0x00000000,
49 0x00000001, 0x00000000 },
50 { 0x00000000, 0x00010000,
51 0xFFF00029, 0x00100001 },
52 { 0x00000000, 0x00000000,
53 0x00000000, 0x00000000 },
54 { 0x00000000, 0x00000000,
55 0x5555AAAB, 0xAAAB0000 }
56 }
57 },
58 {
59 .m = {
60 { 0x00010000, 0x00000000,
61 0x00000001, 0x00000000 },
62 { 0x00000000, 0x00010000,
63 0x00100029, 0x00000001 },
64 { 0x00000000, 0x00000000,
65 0x00000000, 0x00000000 },
66 { 0x00000000, 0x00000000,
67 0xAAABAAAB, 0x00000000 }
68 }
69 },
70 {
71 .m = {
72 { 0x00010000, 0x00000000,
73 0x00000001, 0x00000000 },
74 { 0x00000000, 0x00010000,
75 0x00000029, 0x00000001 },
76 { 0x00000000, 0x00000000,
77 0x00000000, 0x00000000 },
78 { 0x00000000, 0x00000000,
79 0x0000AAAB, 0x00000000 }
80 }
81 },
82 {
83 .m = {
84 { 0x00010000, 0x00000000,
85 0x00000001, 0x00000000 },
86 { 0x00000000, 0x00010000,
87 0xFFF00029, 0x00000001 },
88 { 0x00000000, 0x00000000,
89 0x00000000, 0x00000000 },
90 { 0x00000000, 0x00000000,
91 0x5555AAAB, 0x00000000 }
92 }
93 },
94 {
95 .m = {
96 { 0x00010000, 0x00000000,
97 0x00000001, 0x00000000 },
98 { 0x00000000, 0x00010000,
99 0x00100029, 0xFFF00001 },
100 { 0x00000000, 0x00000000,
101 0x00000000, 0x00000000 },
102 { 0x00000000, 0x00000000,
103 0xAAABAAAB, 0x55550000 }
104 }
105 },
106 {
107 .m = {
108 { 0x00010000, 0x00000000,
109 0x00000001, 0x00000000 },
110 { 0x00000000, 0x00010000,
111 0x00000029, 0xFFF00001 },
112 { 0x00000000, 0x00000000,
113 0x00000000, 0x00000000 },
114 { 0x00000000, 0x00000000,
115 0x0000AAAB, 0x55550000 }
116 }
117 },
118 {
119 .m = {
120 { 0x00010000, 0x00000000,
121 0x00000001, 0x00000000 },
122 { 0x00000000, 0x00010000,
123 0xFFF00029, 0xFFF00001 },
124 { 0x00000000, 0x00000000,
125 0x00000000, 0x00000000 },
126 { 0x00000000, 0x00000000,
127 0x5555AAAB, 0x55550000 }
128 }
129 },
130 {
131 .m = {
132 { 0x00010000, 0x00000000,
133 0x00000001, 0x00000000 },
134 { 0x00000000, 0x00010000,
135 0x00100019, 0x00100001 },
136 { 0x00000000, 0x00000000,
137 0x00000000, 0x00000000 },
138 { 0x00000000, 0x00000000,
139 0xAAAB0000, 0xAAAB0000 }
140 }
141 },
142 {
143 .m = {
144 { 0x00010000, 0x00000000,
145 0x00000001, 0x00000000 },
146 { 0x00000000, 0x00010000,
147 0x00000019, 0x00100001 },
148 { 0x00000000, 0x00000000,
149 0x00000000, 0x00000000 },
150 { 0x00000000, 0x00000000,
151 0x00000000, 0xAAAB0000 }
152 }
153 },
154 {
155 .m = {
156 { 0x00010000, 0x00000000,
157 0x00000001, 0x00000000 },
158 { 0x00000000, 0x00010000,
159 0xFFF00019, 0x00100001 },
160 { 0x00000000, 0x00000000,
161 0x00000000, 0x00000000 },
162 { 0x00000000, 0x00000000,
163 0x55550000, 0xAAAB0000 }
164 }
165 },
166 {
167 .m = {
168 { 0x00010000, 0x00000000,
169 0x00000001, 0x00000000 },
170 { 0x00000000, 0x00010000,
171 0x00100019, 0x00000001 },
172 { 0x00000000, 0x00000000,
173 0x00000000, 0x00000000 },
174 { 0x00000000, 0x00000000,
175 0xAAAB0000, 0x00000000 }
176 }
177 },
178 {
179 .m = {
180 { 0x00010000, 0x00000000,
181 0x00000001, 0x00000000 },
182 { 0x00000000, 0x00010000,
183 0xFFF00019, 0x00000001 },
184 { 0x00000000, 0x00000000,
185 0x00000000, 0x00000000 },
186 { 0x00000000, 0x00000000,
187 0x55550000, 0x00000000 }
188 }
189 },
190 {
191 .m = {
192 { 0x00010000, 0x00000000,
193 0x00000001, 0x00000000 },
194 { 0x00000000, 0x00010000,
195 0x00100019, 0xFFF00001 },
196 { 0x00000000, 0x00000000,
197 0x00000000, 0x00000000 },
198 { 0x00000000, 0x00000000,
199 0xAAAB0000, 0x55550000 }
200 }
201 },
202 {
203 .m = {
204 { 0x00010000, 0x00000000,
205 0x00000001, 0x00000000 },
206 { 0x00000000, 0x00010000,
207 0x00000019, 0xFFF00001 },
208 { 0x00000000, 0x00000000,
209 0x00000000, 0x00000000 },
210 { 0x00000000, 0x00000000,
211 0x00000000, 0x55550000 }
212 }
213 },
214 {
215 .m = {
216 { 0x00010000, 0x00000000,
217 0x00000001, 0x00000000 },
218 { 0x00000000, 0x00010000,
219 0xFFF00019, 0xFFF00001 },
220 { 0x00000000, 0x00000000,
221 0x00000000, 0x00000000 },
222 { 0x00000000, 0x00000000,
223 0x55550000, 0x55550000 }
224 }
225 },
226 {
227 .m = {
228 { 0x00010000, 0x00000000,
229 0x00000001, 0x00000000 },
230 { 0x00000000, 0x00010000,
231 0x00100008, 0x00100001 },
232 { 0x00000000, 0x00000000,
233 0x00000000, 0x00000000 },
234 { 0x00000000, 0x00000000,
235 0xAAAB5556, 0xAAAB0000 }
236 }
237 },
238 {
239 .m = {
240 { 0x00010000, 0x00000000,
241 0x00000001, 0x00000000 },
242 { 0x00000000, 0x00010000,
243 0x00000008, 0x00100001 },
244 { 0x00000000, 0x00000000,
245 0x00000000, 0x00000000 },
246 { 0x00000000, 0x00000000,
247 0x00005556, 0xAAAB0000 }
248 }
249 },
250 {
251 .m = {
252 { 0x00010000, 0x00000000,
253 0x00000001, 0x00000000 },
254 { 0x00000000, 0x00010000,
255 0xFFF00008, 0x00100001 },
256 { 0x00000000, 0x00000000,
257 0x00000000, 0x00000000 },
258 { 0x00000000, 0x00000000,
259 0x55555556, 0xAAAB0000 }
260 }
261 },
262 {
263 .m = {
264 { 0x00010000, 0x00000000,
265 0x00000001, 0x00000000 },
266 { 0x00000000, 0x00010000,
267 0x00100008, 0x00000001 },
268 { 0x00000000, 0x00000000,
269 0x00000000, 0x00000000 },
270 { 0x00000000, 0x00000000,
271 0xAAAB5556, 0x00000000 }
272 }
273 },
274 {
275 .m = {
276 { 0x00010000, 0x00000000,
277 0x00000001, 0x00000000 },
278 { 0x00000000, 0x00010000,
279 0x00000008, 0x00000001 },
280 { 0x00000000, 0x00000000,
281 0x00000000, 0x00000000 },
282 { 0x00000000, 0x00000000,
283 0x00005556, 0x00000000 }
284 }
285 },
286 {
287 .m = {
288 { 0x00010000, 0x00000000,
289 0x00000001, 0x00000000 },
290 { 0x00000000, 0x00010000,
291 0xFFF00008, 0x00000001 },
292 { 0x00000000, 0x00000000,
293 0x00000000, 0x00000000 },
294 { 0x00000000, 0x00000000,
295 0x55555556, 0x00000000 }
296 }
297 },
298 {
299 .m = {
300 { 0x00010000, 0x00000000,
301 0x00000001, 0x00000000 },
302 { 0x00000000, 0x00010000,
303 0x00100008, 0xFFF00001 },
304 { 0x00000000, 0x00000000,
305 0x00000000, 0x00000000 },
306 { 0x00000000, 0x00000000,
307 0xAAAB5556, 0x55550000 }
308 }
309 },
310 {
311 .m = {
312 { 0x00010000, 0x00000000,
313 0x00000001, 0x00000000 },
314 { 0x00000000, 0x00010000,
315 0x00000008, 0xFFF00001 },
316 { 0x00000000, 0x00000000,
317 0x00000000, 0x00000000 },
318 { 0x00000000, 0x00000000,
319 0x00005556, 0x55550000 }
320 }
321 },
322 {
323 .m = {
324 { 0x00010000, 0x00000000,
325 0x00000001, 0x00000000 },
326 { 0x00000000, 0x00010000,
327 0xFFF00008, 0xFFF00001 },
328 { 0x00000000, 0x00000000,
329 0x00000000, 0x00000000 },
330 { 0x00000000, 0x00000000,
331 0x55555556, 0x55550000 }
332 }
333 },
334};

Referenced by entity_shattering_block_init().

◆ Entity_ShatteringHammer3Block_FragmentsRender

Gfx* Entity_ShatteringHammer3Block_FragmentsRender[]
extern

Definition at line 1302 of file ShatteringHammer3Block.c.

1302 {
1329};
Gfx D_0A001B88_E3A418[]
Gfx D_0A001F10_E3A7A0[]
Gfx D_0A002EA0_E3B730[]
Gfx D_0A002480_E3AD10[]
Gfx D_0A002B70_E3B400[]
Gfx D_0A002F60_E3B7F0[]
Gfx D_0A001978_E3A208[]
Gfx D_0A002628_E3AEB8[]
Gfx D_0A001E38_E3A6C8[]
Gfx D_0A0023A8_E3AC38[]
Gfx D_0A001D50_E3A5E0[]
Gfx D_0A002A98_E3B328[]
Gfx D_0A0027B8_E3B048[]
Gfx D_0A002558_E3ADE8[]
Gfx D_0A0026F8_E3AF88[]
Gfx D_0A002DD8_E3B668[]
Gfx D_0A0028A8_E3B138[]
Gfx D_0A0022B0_E3AB40[]
Gfx D_0A0020B0_E3A940[]
Gfx D_0A002D10_E3B5A0[]
Gfx D_0A001C70_E3A500[]
Gfx D_0A002C40_E3B4D0[]
Gfx D_0A0021A8_E3AA38[]
Gfx D_0A001FE8_E3A878[]
Gfx D_0A001A88_E3A318[]
Gfx D_0A0029A8_E3B238[]

Referenced by entity_shattering_block_init().

◆ Entity_ShatteringBrickBlock_FragmentsMatrices

Mtx Entity_ShatteringBrickBlock_FragmentsMatrices[]
extern

Definition at line 19 of file ShatteringBrickBlock.c.

19 {
20 {
21 .m = {
22 { 0x00010000, 0x00000000,
23 0x00000001, 0x00000000 },
24 { 0x00000000, 0x00010000,
25 0x00080014, 0x00080001 },
26 { 0x00000000, 0x00000000,
27 0x00000000, 0x00000000 },
28 { 0x00000000, 0x00000000,
29 0x5555D556, 0x55550000 }
30 }
31 },
32 {
33 .m = {
34 { 0x00010000, 0x00000000,
35 0x00000001, 0x00000000 },
36 { 0x00000000, 0x00010000,
37 0x00000014, 0x00080001 },
38 { 0x00000000, 0x00000000,
39 0x00000000, 0x00000000 },
40 { 0x00000000, 0x00000000,
41 0x0000D556, 0x55550000 }
42 }
43 },
44 {
45 .m = {
46 { 0x00010000, 0x00000000,
47 0x00000001, 0x00000000 },
48 { 0x00000000, 0x00010000,
49 0xFFF80014, 0x00080001 },
50 { 0x00000000, 0x00000000,
51 0x00000000, 0x00000000 },
52 { 0x00000000, 0x00000000,
53 0xAAABD556, 0x55550000 }
54 }
55 },
56 {
57 .m = {
58 { 0x00010000, 0x00000000,
59 0x00000001, 0x00000000 },
60 { 0x00000000, 0x00010000,
61 0x00080014, 0x00000001 },
62 { 0x00000000, 0x00000000,
63 0x00000000, 0x00000000 },
64 { 0x00000000, 0x00000000,
65 0x5555D556, 0x00000000 }
66 }
67 },
68 {
69 .m = {
70 { 0x00010000, 0x00000000,
71 0x00000001, 0x00000000 },
72 { 0x00000000, 0x00010000,
73 0x00000014, 0x00000001 },
74 { 0x00000000, 0x00000000,
75 0x00000000, 0x00000000 },
76 { 0x00000000, 0x00000000,
77 0x0000D556, 0x00000000 }
78 }
79 },
80 {
81 .m = {
82 { 0x00010000, 0x00000000,
83 0x00000001, 0x00000000 },
84 { 0x00000000, 0x00010000,
85 0xFFF80014, 0x00000001 },
86 { 0x00000000, 0x00000000,
87 0x00000000, 0x00000000 },
88 { 0x00000000, 0x00000000,
89 0xAAABD556, 0x00000000 }
90 }
91 },
92 {
93 .m = {
94 { 0x00010000, 0x00000000,
95 0x00000001, 0x00000000 },
96 { 0x00000000, 0x00010000,
97 0x00080014, 0xFFF80001 },
98 { 0x00000000, 0x00000000,
99 0x00000000, 0x00000000 },
100 { 0x00000000, 0x00000000,
101 0x5555D556, 0xAAAB0000 }
102 }
103 },
104 {
105 .m = {
106 { 0x00010000, 0x00000000,
107 0x00000001, 0x00000000 },
108 { 0x00000000, 0x00010000,
109 0x00000014, 0xFFF80001 },
110 { 0x00000000, 0x00000000,
111 0x00000000, 0x00000000 },
112 { 0x00000000, 0x00000000,
113 0x0000D556, 0xAAAB0000 }
114 }
115 },
116 {
117 .m = {
118 { 0x00010000, 0x00000000,
119 0x00000001, 0x00000000 },
120 { 0x00000000, 0x00010000,
121 0xFFF80014, 0xFFF80001 },
122 { 0x00000000, 0x00000000,
123 0x00000000, 0x00000000 },
124 { 0x00000000, 0x00000000,
125 0xAAABD556, 0xAAAB0000 }
126 }
127 },
128 {
129 .m = {
130 { 0x00010000, 0x00000000,
131 0x00000001, 0x00000000 },
132 { 0x00000000, 0x00010000,
133 0x0008000C, 0x00080001 },
134 { 0x00000000, 0x00000000,
135 0x00000000, 0x00000000 },
136 { 0x00000000, 0x00000000,
137 0x55558000, 0x55550000 }
138 }
139 },
140 {
141 .m = {
142 { 0x00010000, 0x00000000,
143 0x00000001, 0x00000000 },
144 { 0x00000000, 0x00010000,
145 0x0000000C, 0x00080001 },
146 { 0x00000000, 0x00000000,
147 0x00000000, 0x00000000 },
148 { 0x00000000, 0x00000000,
149 0x00008000, 0x55550000 }
150 }
151 },
152 {
153 .m = {
154 { 0x00010000, 0x00000000,
155 0x00000001, 0x00000000 },
156 { 0x00000000, 0x00010000,
157 0xFFF8000C, 0x00080001 },
158 { 0x00000000, 0x00000000,
159 0x00000000, 0x00000000 },
160 { 0x00000000, 0x00000000,
161 0xAAAB8000, 0x55550000 }
162 }
163 },
164 {
165 .m = {
166 { 0x00010000, 0x00000000,
167 0x00000001, 0x00000000 },
168 { 0x00000000, 0x00010000,
169 0x0008000C, 0x00000001 },
170 { 0x00000000, 0x00000000,
171 0x00000000, 0x00000000 },
172 { 0x00000000, 0x00000000,
173 0x55558000, 0x00000000 }
174 }
175 },
176 {
177 .m = {
178 { 0x00010000, 0x00000000,
179 0x00000001, 0x00000000 },
180 { 0x00000000, 0x00010000,
181 0xFFF8000C, 0x00000001 },
182 { 0x00000000, 0x00000000,
183 0x00000000, 0x00000000 },
184 { 0x00000000, 0x00000000,
185 0xAAAB8000, 0x00000000 }
186 }
187 },
188 {
189 .m = {
190 { 0x00010000, 0x00000000,
191 0x00000001, 0x00000000 },
192 { 0x00000000, 0x00010000,
193 0x0008000C, 0xFFF80001 },
194 { 0x00000000, 0x00000000,
195 0x00000000, 0x00000000 },
196 { 0x00000000, 0x00000000,
197 0x55558000, 0xAAAB0000 }
198 }
199 },
200 {
201 .m = {
202 { 0x00010000, 0x00000000,
203 0x00000001, 0x00000000 },
204 { 0x00000000, 0x00010000,
205 0x0000000C, 0xFFF80001 },
206 { 0x00000000, 0x00000000,
207 0x00000000, 0x00000000 },
208 { 0x00000000, 0x00000000,
209 0x00008000, 0xAAAB0000 }
210 }
211 },
212 {
213 .m = {
214 { 0x00010000, 0x00000000,
215 0x00000001, 0x00000000 },
216 { 0x00000000, 0x00010000,
217 0xFFF8000C, 0xFFF80001 },
218 { 0x00000000, 0x00000000,
219 0x00000000, 0x00000000 },
220 { 0x00000000, 0x00000000,
221 0xAAAB8000, 0xAAAB0000 }
222 }
223 },
224 {
225 .m = {
226 { 0x00010000, 0x00000000,
227 0x00000001, 0x00000000 },
228 { 0x00000000, 0x00010000,
229 0x00080004, 0x00080001 },
230 { 0x00000000, 0x00000000,
231 0x00000000, 0x00000000 },
232 { 0x00000000, 0x00000000,
233 0x55552AAB, 0x55550000 }
234 }
235 },
236 {
237 .m = {
238 { 0x00010000, 0x00000000,
239 0x00000001, 0x00000000 },
240 { 0x00000000, 0x00010000,
241 0x00000004, 0x00080001 },
242 { 0x00000000, 0x00000000,
243 0x00000000, 0x00000000 },
244 { 0x00000000, 0x00000000,
245 0x00002AAB, 0x55550000 }
246 }
247 },
248 {
249 .m = {
250 { 0x00010000, 0x00000000,
251 0x00000001, 0x00000000 },
252 { 0x00000000, 0x00010000,
253 0xFFF80004, 0x00080001 },
254 { 0x00000000, 0x00000000,
255 0x00000000, 0x00000000 },
256 { 0x00000000, 0x00000000,
257 0xAAAB2AAB, 0x55550000 }
258 }
259 },
260 {
261 .m = {
262 { 0x00010000, 0x00000000,
263 0x00000001, 0x00000000 },
264 { 0x00000000, 0x00010000,
265 0x00080004, 0x00000001 },
266 { 0x00000000, 0x00000000,
267 0x00000000, 0x00000000 },
268 { 0x00000000, 0x00000000,
269 0x55552AAB, 0x00000000 }
270 }
271 },
272 {
273 .m = {
274 { 0x00010000, 0x00000000,
275 0x00000001, 0x00000000 },
276 { 0x00000000, 0x00010000,
277 0x00000004, 0x00000001 },
278 { 0x00000000, 0x00000000,
279 0x00000000, 0x00000000 },
280 { 0x00000000, 0x00000000,
281 0x00002AAB, 0x00000000 }
282 }
283 },
284 {
285 .m = {
286 { 0x00010000, 0x00000000,
287 0x00000001, 0x00000000 },
288 { 0x00000000, 0x00010000,
289 0xFFF80004, 0x00000001 },
290 { 0x00000000, 0x00000000,
291 0x00000000, 0x00000000 },
292 { 0x00000000, 0x00000000,
293 0xAAAB2AAB, 0x00000000 }
294 }
295 },
296 {
297 .m = {
298 { 0x00010000, 0x00000000,
299 0x00000001, 0x00000000 },
300 { 0x00000000, 0x00010000,
301 0x00080004, 0xFFF80001 },
302 { 0x00000000, 0x00000000,
303 0x00000000, 0x00000000 },
304 { 0x00000000, 0x00000000,
305 0x55552AAB, 0xAAAB0000 }
306 }
307 },
308 {
309 .m = {
310 { 0x00010000, 0x00000000,
311 0x00000001, 0x00000000 },
312 { 0x00000000, 0x00010000,
313 0x00000004, 0xFFF80001 },
314 { 0x00000000, 0x00000000,
315 0x00000000, 0x00000000 },
316 { 0x00000000, 0x00000000,
317 0x00002AAB, 0xAAAB0000 }
318 }
319 },
320 {
321 .m = {
322 { 0x00010000, 0x00000000,
323 0x00000001, 0x00000000 },
324 { 0x00000000, 0x00010000,
325 0xFFF80004, 0xFFF80001 },
326 { 0x00000000, 0x00000000,
327 0x00000000, 0x00000000 },
328 { 0x00000000, 0x00000000,
329 0xAAAB2AAB, 0xAAAB0000 }
330 }
331 },
332};

Referenced by entity_shattering_block_init().

◆ Entity_ShatteringBrickBlock_FragmentsRender

Gfx* Entity_ShatteringBrickBlock_FragmentsRender[]
extern

Definition at line 1261 of file ShatteringBrickBlock.c.

1261 {
1288};
Gfx D_0A003B80_E41DE0[]
Gfx D_0A002EC8_E41128[]
Gfx D_0A003A98_E41CF8[]
Gfx D_0A0035A0_E41800[]
Gfx D_0A003E98_E420F8[]
Gfx D_0A0032E8_E41548[]
Gfx D_0A002F90_E411F0[]
Gfx D_0A0033D0_E41630[]
Gfx D_0A0039B0_E41C10[]
Gfx D_0A0037E0_E41A40[]
Gfx D_0A002A68_E40CC8[]
Gfx D_0A002B58_E40DB8[]
Gfx D_0A003C38_E41E98[]
Gfx D_0A0038C0_E41B20[]
Gfx D_0A002DE8_E41048[]
Gfx D_0A003050_E412B0[]
Gfx D_0A003118_E41378[]
Gfx D_0A003D18_E41F78[]
Gfx D_0A003F58_E421B8[]
Gfx D_0A002D30_E40F90[]
Gfx D_0A003DD8_E42038[]
Gfx D_0A003720_E41980[]
Gfx D_0A002C48_E40EA8[]
Gfx D_0A0031F8_E41458[]
Gfx D_0A0034B8_E41718[]
Gfx D_0A003660_E418C0[]

Referenced by entity_shattering_block_init().

◆ Entity_RenderNone

Gfx Entity_RenderNone[]
extern

Definition at line 69 of file Shadow.c.

69 {
70 gsSPEndDisplayList(),
71};

◆ Entity_ShatteringBlock_Script

EntityScript Entity_ShatteringBlock_Script
extern

Definition at line 200 of file ShatteringBlock_common.c.

200 {
205 es_End
206};
void entity_shattering_idle(Entity *entity)
#define es_SetCallback(func, time)
Definition entity.h:38
#define es_SetFlags(flags)
Definition entity.h:43
#define es_End
Definition entity.h:35
@ ENTITY_FLAG_HIDDEN
Definition enums.h:2613
@ ENTITY_FLAG_PENDING_INSTANCE_DELETE
Definition enums.h:2642
@ ENTITY_FLAG_DISABLE_COLLISION
Definition enums.h:2618

◆ Entity_ShatteringBlock_RenderScript

Definition at line 31 of file ShatteringBlock.c.

◆ Entity_ShatteringHammer1Block

EntityBlueprint Entity_ShatteringHammer1Block
Initial value:
= {
.flags = 0,
.typeDataSize = sizeof(ShatteringBlockData),
.modelAnimationNodes = 0,
.updateEntityScript = Entity_ShatteringBlock_Script,
.fpHandleCollision = NULL,
{ .dma = ENTITY_ROM(ShatteringHammer1Block) },
.aabbSize = {16, 16, 16}
}
void entity_shattering_block_init(Entity *entity)
EntityModelScript Entity_ShatteringBlock_RenderScript
EntityScript Entity_ShatteringBlock_Script
#define ENTITY_ROM(name)
Definition entity.h:65

Definition at line 33 of file ShatteringBlock.c.

33 {
34 .flags = 0,
35 .typeDataSize = sizeof(ShatteringBlockData),
36 .renderCommandList = Entity_ShatteringBlock_RenderScript,
37 .modelAnimationNodes = 0,
39 .updateEntityScript = Entity_ShatteringBlock_Script,
40 .fpHandleCollision = NULL,
41 { .dma = ENTITY_ROM(ShatteringHammer1Block) },
42 .entityType = ENTITY_TYPE_HAMMER1_BLOCK,
43 .aabbSize = {16, 16, 16}
44};

Referenced by entity_breakable_block_create_shattering_entity().

◆ Entity_ShatteringHammer2Block

EntityBlueprint Entity_ShatteringHammer2Block
Initial value:
= {
.flags = 0,
.typeDataSize = sizeof(ShatteringBlockData),
.modelAnimationNodes = 0,
.updateEntityScript = Entity_ShatteringBlock_Script,
.fpHandleCollision = NULL,
{ .dma = ENTITY_ROM(ShatteringHammer2Block) },
.aabbSize = {16, 16, 16}
}

Definition at line 46 of file ShatteringBlock.c.

46 {
47 .flags = 0,
48 .typeDataSize = sizeof(ShatteringBlockData),
49 .renderCommandList = Entity_ShatteringBlock_RenderScript,
50 .modelAnimationNodes = 0,
52 .updateEntityScript = Entity_ShatteringBlock_Script,
53 .fpHandleCollision = NULL,
54 { .dma = ENTITY_ROM(ShatteringHammer2Block) },
55 .entityType = ENTITY_TYPE_HAMMER2_BLOCK,
56 .aabbSize = {16, 16, 16}
57};

Referenced by entity_breakable_block_create_shattering_entity().

◆ Entity_ShatteringHammer3Block

EntityBlueprint Entity_ShatteringHammer3Block
Initial value:
= {
.flags = 0,
.typeDataSize = sizeof(ShatteringBlockData),
.modelAnimationNodes = 0,
.updateEntityScript = Entity_ShatteringBlock_Script,
.fpHandleCollision = NULL,
{ .dma = ENTITY_ROM(ShatteringHammer3Block) },
.aabbSize = {16, 16, 16}
}

Definition at line 59 of file ShatteringBlock.c.

59 {
60 .flags = 0,
61 .typeDataSize = sizeof(ShatteringBlockData),
62 .renderCommandList = Entity_ShatteringBlock_RenderScript,
63 .modelAnimationNodes = 0,
65 .updateEntityScript = Entity_ShatteringBlock_Script,
66 .fpHandleCollision = NULL,
67 { .dma = ENTITY_ROM(ShatteringHammer3Block) },
68 .entityType = ENTITY_TYPE_HAMMER3_BLOCK,
69 .aabbSize = {16, 16, 16}
70};

Referenced by entity_breakable_block_create_shattering_entity().

◆ Entity_ShatteringHammer1BlockTiny

EntityBlueprint Entity_ShatteringHammer1BlockTiny
Initial value:
= {
.flags = 0,
.typeDataSize = sizeof(ShatteringBlockData),
.modelAnimationNodes = 0,
.updateEntityScript = Entity_ShatteringBlock_Script,
.fpHandleCollision = NULL,
{ .dma = ENTITY_ROM(ShatteringHammer1Block) },
.aabbSize = {8, 8, 8}
}

Definition at line 72 of file ShatteringBlock.c.

72 {
73 .flags = 0,
74 .typeDataSize = sizeof(ShatteringBlockData),
75 .renderCommandList = Entity_ShatteringBlock_RenderScript,
76 .modelAnimationNodes = 0,
78 .updateEntityScript = Entity_ShatteringBlock_Script,
79 .fpHandleCollision = NULL,
80 { .dma = ENTITY_ROM(ShatteringHammer1Block) },
82 .aabbSize = {8, 8, 8}
83};

Referenced by entity_breakable_block_create_shattering_entity().

◆ Entity_ShatteringHammer2BlockTiny

EntityBlueprint Entity_ShatteringHammer2BlockTiny
Initial value:
= {
.flags = 0,
.typeDataSize = sizeof(ShatteringBlockData),
.modelAnimationNodes = 0,
.updateEntityScript = Entity_ShatteringBlock_Script,
.fpHandleCollision = NULL,
{ .dma = ENTITY_ROM(ShatteringHammer2Block) },
.aabbSize = {8, 8, 8}
}

Definition at line 85 of file ShatteringBlock.c.

85 {
86 .flags = 0,
87 .typeDataSize = sizeof(ShatteringBlockData),
88 .renderCommandList = Entity_ShatteringBlock_RenderScript,
89 .modelAnimationNodes = 0,
91 .updateEntityScript = Entity_ShatteringBlock_Script,
92 .fpHandleCollision = NULL,
93 { .dma = ENTITY_ROM(ShatteringHammer2Block) },
95 .aabbSize = {8, 8, 8}
96};

Referenced by entity_breakable_block_create_shattering_entity().

◆ Entity_ShatteringHammer3BlockTiny

EntityBlueprint Entity_ShatteringHammer3BlockTiny
Initial value:
= {
.flags = 0,
.typeDataSize = sizeof(ShatteringBlockData),
.modelAnimationNodes = 0,
.updateEntityScript = Entity_ShatteringBlock_Script,
.fpHandleCollision = NULL,
{ .dma = ENTITY_ROM(ShatteringHammer3Block) },
.aabbSize = {8, 8, 8}
}

Definition at line 98 of file ShatteringBlock.c.

98 {
99 .flags = 0,
100 .typeDataSize = sizeof(ShatteringBlockData),
101 .renderCommandList = Entity_ShatteringBlock_RenderScript,
102 .modelAnimationNodes = 0,
104 .updateEntityScript = Entity_ShatteringBlock_Script,
105 .fpHandleCollision = NULL,
106 { .dma = ENTITY_ROM(ShatteringHammer3Block) },
107 .entityType = ENTITY_TYPE_HAMMER3_BLOCK_TINY,
108 .aabbSize = {8, 8, 8}
109};

Referenced by entity_breakable_block_create_shattering_entity().

◆ Entity_ShatteringBrickBlock

EntityBlueprint Entity_ShatteringBrickBlock
Initial value:
= {
.flags = 0,
.typeDataSize = sizeof(ShatteringBlockData),
.modelAnimationNodes = 0,
.updateEntityScript = Entity_ShatteringBlock_Script,
.fpHandleCollision = NULL,
{ .dma = ENTITY_ROM(ShatteringBrickBlock) },
.entityType = ENTITY_TYPE_BRICK_BLOCK,
.aabbSize = {8, 8, 8}
}

Definition at line 111 of file ShatteringBlock.c.

111 {
112 .flags = 0,
113 .typeDataSize = sizeof(ShatteringBlockData),
114 .renderCommandList = Entity_ShatteringBlock_RenderScript,
115 .modelAnimationNodes = 0,
117 .updateEntityScript = Entity_ShatteringBlock_Script,
118 .fpHandleCollision = NULL,
119 { .dma = ENTITY_ROM(ShatteringBrickBlock) },
120 .entityType = ENTITY_TYPE_BRICK_BLOCK,
121 .aabbSize = {8, 8, 8}
122};

Referenced by entity_breakable_block_create_shattering_entity().