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

Go to the source code of this file.

Macros

#define MULTICOIN_BLOCK_MAX_COINS   10
 

Functions

void entity_BrickBlock_idle (Entity *entity)
 
void entity_breakable_block_create_shattering_entity (Entity *entity)
 
void entity_MulticoinBlock_update_timer (Entity *entity)
 
void entity_base_block_setupGfx (s32 entityIndex)
 
void entity_base_block_play_vanish_effect (Entity *entity)
 
f32 entity_block_hit_init_scale (Entity *entity)
 
void entity_block_hit_animate_scale (Entity *entity)
 
void entity_base_block_update_slow_sinking (Entity *entity)
 
s32 entity_base_block_idle (Entity *entity)
 
void entity_base_block_init (Entity *entity)
 
void entity_inactive_block_hit_init (Entity *entity)
 
void entity_inactive_block_hit_anim (Entity *entity)
 
void entity_inactive_block_recoil_anim (Entity *entity)
 
void entity_MulticoinBlock_init (Entity *entity)
 
void entity_MulticoinBlock_spawn_coin (Entity *entity)
 
void entity_MulticoinBlock_idle (Entity *entity)
 
void entity_MulticoinBlock_check_if_inactive (Entity *entity)
 
s32 entity_block_handle_collision (Entity *entity)
 
void entity_init_Hammer1Block_normal (Entity *entity)
 
void entity_init_HammerBlock_small (Entity *entity)
 

Variables

Gfx Entity_InertYellowBlock_Render []
 
Gfx Entity_InertRedBlock_Render []
 
Gfx Entity_BrickBlock_Render []
 
Gfx Entity_Hammer1Block_Render []
 
Gfx Entity_Hammer2Block_Render []
 
Gfx Entity_Hammer3Block_Render []
 
Gfx Entity_PushBlock_Render []
 
Gfx Entity_PowBlock_Render []
 
EntityScript Entity_CreatedInertBlock_Script
 
EntityScript Entity_BreakingBlock_Script
 
EntityBlueprint Entity_ShatteringHammer1Block
 
EntityBlueprint Entity_ShatteringHammer2Block
 
EntityBlueprint Entity_ShatteringHammer3Block
 
EntityBlueprint Entity_ShatteringHammer1BlockTiny
 
EntityBlueprint Entity_ShatteringHammer2BlockTiny
 
EntityBlueprint Entity_ShatteringHammer3BlockTiny
 
EntityBlueprint Entity_ShatteringBrickBlock
 
EntityScript Entity_PowBlock_Script
 
EntityScript Entity_BaseBlock_Script
 
EntityScript D_802E9DEC
 
EntityScript Entity_InertBlock_Script
 
EntityScript Entity_BrickBlock_Script
 
EntityScript Entity_Hammer1Block_Script
 
EntityScript Entity_MulticoinBlock_Script
 
EntityModelScript Entity_InertYellowBlock_RenderScript = STANDARD_ENTITY_MODEL_SCRIPT(Entity_InertYellowBlock_Render, RENDER_MODE_SURFACE_OPA)
 
EntityModelScript Entity_InertRedBlock_RenderScript = STANDARD_ENTITY_MODEL_SCRIPT(Entity_InertRedBlock_Render, RENDER_MODE_SURFACE_OPA)
 
EntityModelScript Entity_MulticoinBrick_RenderScript = STANDARD_ENTITY_MODEL_SCRIPT(Entity_BrickBlock_Render, RENDER_MODE_SURFACE_OPA)
 
EntityModelScript Entity_Hammer1Block_RenderScript = STANDARD_ENTITY_MODEL_SCRIPT(Entity_Hammer1Block_Render, RENDER_MODE_SURFACE_OPA)
 
EntityModelScript Entity_Hammer2Block_RenderScript = STANDARD_ENTITY_MODEL_SCRIPT(Entity_Hammer2Block_Render, RENDER_MODE_SURFACE_OPA)
 
EntityModelScript Entity_Hammer3Block_RenderScript = STANDARD_ENTITY_MODEL_SCRIPT(Entity_Hammer3Block_Render, RENDER_MODE_SURFACE_OPA)
 
EntityModelScript Entity_PushBlock_RenderScript = STANDARD_ENTITY_MODEL_SCRIPT(Entity_PushBlock_Render, RENDER_MODE_SURFACE_OPA)
 
EntityModelScript Entity_BrickBlock_RenderScript = STANDARD_ENTITY_MODEL_SCRIPT(Entity_BrickBlock_Render, RENDER_MODE_SURFACE_OPA)
 
EntityModelScript Entity_PowBlock_RenderScript = STANDARD_ENTITY_MODEL_SCRIPT(Entity_PowBlock_Render, RENDER_MODE_SURFACE_OPA)
 
EntityBlueprint Entity_InertYellowBlock
 
EntityBlueprint Entity_InertRedBlock
 
EntityBlueprint Entity_BrickBlock
 
EntityBlueprint Entity_MulticoinBlock
 
EntityBlueprint Entity_Hammer1Block
 
EntityBlueprint Entity_Hammer1BlockWideX
 
EntityBlueprint Entity_Hammer1BlockWideZ
 
EntityBlueprint Entity_Hammer1BlockTiny
 
EntityBlueprint Entity_Hammer2Block
 
EntityBlueprint Entity_Hammer2BlockWideX
 
EntityBlueprint Entity_Hammer2BlockWideZ
 
EntityBlueprint Entity_Hammer2BlockTiny
 
EntityBlueprint Entity_Hammer3Block
 
EntityBlueprint Entity_Hammer3BlockWideX
 
EntityBlueprint Entity_Hammer3BlockWideZ
 
EntityBlueprint Entity_Hammer3BlockTiny
 
EntityBlueprint Entity_PushBlock
 
EntityBlueprint Entity_PowBlock
 

Macro Definition Documentation

◆ MULTICOIN_BLOCK_MAX_COINS

#define MULTICOIN_BLOCK_MAX_COINS   10

Function Documentation

◆ entity_BrickBlock_idle()

void entity_BrickBlock_idle ( Entity * entity)

Definition at line 6 of file ShatteringBlock_common.c.

6 {
8}
s32 entity_base_block_idle(Entity *entity)
Definition Block.c:195

◆ 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
@ 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
#define MAKE_ENTITY_END
Definition evt.h:107
u32 get_entity_type(s32 arg0)
Definition entity.c:568
s32 create_entity(EntityBlueprint *bp,...)
Definition entity.c:1195

◆ entity_MulticoinBlock_update_timer()

void entity_MulticoinBlock_update_timer ( Entity * entity)

Definition at line 294 of file Block.c.

294 {
295 BlockData* data = entity->dataBuf.block;
296
297 if (entity->type == ENTITY_TYPE_MULTI_COIN_BRICK) {
299 data->timeLeft -= 1;
300 if (data->timeLeft < 0) {
301 data->timeLeft = 0;
302 data->coinsLeft = 1;
303 }
304 }
305 }
306}
#define MULTICOIN_BLOCK_MAX_COINS
Definition Block.c:51
struct BlockData * block
s16 timeLeft
Definition entity.h:114
s16 coinsLeft
Definition entity.h:113
EntityData dataBuf

Referenced by entity_inactive_block_hit_anim(), entity_inactive_block_recoil_anim(), and entity_MulticoinBlock_idle().

◆ entity_base_block_setupGfx()

void entity_base_block_setupGfx ( s32 entityIndex)

Definition at line 53 of file Block.c.

53 {
54 Gfx* gfx = gMainGfxPos;
55 Entity* entity = get_entity_by_index(entityIndex);
56
57 gDPSetTextureLUT(gfx++, G_TT_NONE);
58 gSPTexture(gfx++, -1, -1, 0, G_TX_RENDERTILE, G_ON);
59
60 if (entity->alpha >= 255) {
61 gDPSetRenderMode(gfx++, G_RM_AA_ZB_OPA_SURF, G_RM_AA_ZB_OPA_SURF2);
62 gDPSetCombineMode(gfx++, G_CC_MODULATEIA, G_CC_MODULATEIA);
63 } else {
64 gDPSetCombineMode(gfx++, PM_CC_01, PM_CC_02);
65 gDPSetPrimColor(gfx++, 0, 0, 0, 0, 0, entity->alpha);
66 }
67
68 gMainGfxPos = gfx;
69}
Entity * get_entity_by_index(s32 index)
Definition entity.c:530
#define PM_CC_01
Definition macros.h:276
#define PM_CC_02
Definition macros.h:277
Gfx * gMainGfxPos
Definition cam_main.c:15

Referenced by entity_init_Hammer1Block_normal().

◆ entity_base_block_play_vanish_effect()

void entity_base_block_play_vanish_effect ( Entity * entity)

Definition at line 71 of file Block.c.

71 {
72 fx_cold_breath(0, entity->pos.x, entity->pos.y, entity->pos.z, 1.0f, 0x3C);
73}

◆ entity_block_hit_init_scale()

f32 entity_block_hit_init_scale ( Entity * entity)

Definition at line 75 of file Block.c.

75 {
76 s32 type = get_entity_type(entity->listIndex);
78 entity->scale.y = 0.23f;
79 entity->scale.x = 1.04f;
80 entity->scale.z = 1.04f;
81 entity->pos.y += 18.0f;
82 } else {
83 entity->scale.y = 0.46f;
84 entity->scale.x = 2.08f;
85 entity->scale.z = 2.08f;
86 entity->pos.y += 18.0f;
87 }
88}
Vec3f scale

◆ entity_block_hit_animate_scale()

void entity_block_hit_animate_scale ( Entity * entity)

Definition at line 90 of file Block.c.

90 {
91 s32 type = get_entity_type(entity->listIndex);
93 entity->scale.x -= 0.09;
94 entity->scale.z -= 0.09;
95 entity->scale.y += 0.045;
96 entity->pos.y -= 3.0f;
97 } else {
98 entity->scale.x -= 0.18;
99 entity->scale.z -= 0.18;
100 entity->scale.y += 0.09;
101 entity->pos.y -= 3.0f;
102 }
104}
s32 entity_base_block_idle(Entity *entity)
Definition Block.c:195

◆ entity_base_block_update_slow_sinking()

void entity_base_block_update_slow_sinking ( Entity * entity)

Definition at line 106 of file Block.c.

106 {
107 PlayerStatus* playerStatus = &gPlayerStatus;
108 BlockData* data = entity->dataBuf.block;
109 f32 deltaY;
110
111 if (entity->alpha < 255) {
112 entity->flags &= ~ENTITY_FLAG_200000;
113 return;
114 }
115
116 if (!(data->sinkingTimer & 0x8000)) {
117 if (data->sinkingTimer < 150) {
118 data->sinkingTimer++;
119 return;
120 }
121
122 if (entity->pos.y < data->initialY - 25.0f) {
123 deltaY = (entity->pos.y - data->initialY + 50.0f) * 0.125f;
124 } else {
125 deltaY = (data->initialY - entity->pos.y) * 0.125f;
126 }
127
128 if (deltaY > 1.2) {
129 deltaY = 1.2f;
130 }
131 if (deltaY < 0.3) {
132 deltaY = 0.3f;
133 }
134
135 entity->pos.y += deltaY;
136
137 if (data->initialY < entity->pos.y) {
138 entity->pos.y = data->initialY;
139 data->sinkingTimer = -1;
140 entity->flags &= ~ENTITY_FLAG_200000;
141 }
142 } else {
144 if (!(playerStatus->flags & PS_FLAG_JUMPING)) {
145 Shadow* shadow = get_shadow_by_index(entity->shadowIndex);
146 if (shadow != NULL) {
147 f32 temp2 = entity->pos.y - shadow->pos.y;
148
149 if (entity->pos.y - temp2 <= playerStatus->colliderHeight + 1) {
150 entity->pos.y = playerStatus->colliderHeight + 1;
151 data->sinkingTimer = 1;
152 }
153 }
154 } else {
155 data->sinkingTimer = 1;
156 return;
157 }
158 } else {
159 Shadow* shadow = get_shadow_by_index(entity->shadowIndex);
160 if (shadow != NULL) {
161 if (entity->pos.y <= shadow->pos.y) {
162 entity->pos.y = shadow->pos.y;
163 data->sinkingTimer = 1;
164 }
165 }
166 }
167
169 data->sinkingTimer = 1;
170 return;
171 }
172
173 if (entity->pos.y < data->initialY - 25.0f) {
174 deltaY = (entity->pos.y - data->initialY + 50.0f) * 0.125f;
175 } else {
176 deltaY = (data->initialY - entity->pos.y) * 0.125f;
177 }
178
179 if (deltaY > 1.2) {
180 deltaY = 1.2f;
181 }
182 if (deltaY < 0.3) {
183 deltaY = 0.3f;
184 }
185
186 entity->pos.y -= deltaY;
187
188 if (entity->pos.y < data->initialY - 50.0f) {
189 entity->pos.y = data->initialY - 50.0f;
190 data->sinkingTimer = 1;
191 }
192 }
193}
f32 initialY
Definition entity.h:121
s16 sinkingTimer
Definition entity.h:118
@ PS_FLAG_JUMPING
Definition enums.h:3035
@ ENTITY_COLLISION_PLAYER_TOUCH_CEILING
Definition enums.h:2650
Shadow * get_shadow_by_index(s32 index)
Definition entity.c:534
u8 collisionFlags
s16 shadowIndex
PlayerStatus gPlayerStatus
Definition 77480.c:39

Referenced by entity_base_block_idle().

◆ entity_base_block_idle()

s32 entity_base_block_idle ( Entity * entity)

Definition at line 195 of file Block.c.

195 {
196 BlockData* data = entity->dataBuf.block;
197 s32 ret = 0;
198
199 if (is_block_on_ground(entity) != 0) {
200 if (entity->flags & ENTITY_FLAG_200000) {
201 ret = 1;
203 if (data->item != -1) {
204 ItemEntity* itemEntity = get_item_entity(data->item);
205 itemEntity->pos.y = entity->pos.y + 4.0f;
206 }
207 }
208 }
209
210 return ret;
211}
void entity_base_block_update_slow_sinking(Entity *entity)
Definition Block.c:106
s16 item
Definition entity.h:119
@ ENTITY_FLAG_200000
Definition enums.h:2634
ItemEntity * get_item_entity(s32 itemEntityIndex)
s32 is_block_on_ground(Entity *block)
Definition entity.c:1736

Referenced by entity_block_hit_animate_scale(), entity_BrickBlock_idle(), entity_HeartBlock_idle(), entity_ItemBlock_idle(), entity_MulticoinBlock_idle(), entity_SaveBlock_idle(), and entity_upgrade_block_idle().

◆ entity_base_block_init()

void entity_base_block_init ( Entity * entity)

Definition at line 213 of file Block.c.

213 {
214 BlockData* data = entity->dataBuf.block;
215
216 data->item = -1;
217 data->initialY = entity->pos.y;
218 data->sinkingTimer = -1;
219 entity->flags &= ~ENTITY_FLAG_200000;
220}

Referenced by entity_HeartBlock_create_child_entity(), entity_init_Hammer1Block_normal(), entity_ItemBlock_init(), entity_ItemlessBlock_init(), entity_MulticoinBlock_init(), entity_SaveBlock_init(), and entity_upgrade_block_init().

◆ entity_inactive_block_hit_init()

void entity_inactive_block_hit_init ( Entity * entity)

Definition at line 222 of file Block.c.

222 {
223 BlockData* data = entity->dataBuf.block;
224
225 data->recoilInterpPhase = 90.0f;
226}
f32 recoilInterpPhase
Definition entity.h:122

◆ entity_inactive_block_hit_anim()

void entity_inactive_block_hit_anim ( Entity * entity)

Definition at line 228 of file Block.c.

228 {
229 BlockData* data = entity->dataBuf.block;
230 f64 currentY;
231
233 currentY = entity->pos.y;
234 entity->pos.y = currentY + ((f64)sin_rad(DEG_TO_RAD(data->recoilInterpPhase)) * 2);
235 data->recoilInterpPhase += 60.0f;
236 if (data->recoilInterpPhase > 450.0f) {
239 }
240}
void entity_MulticoinBlock_update_timer(Entity *entity)
Definition Block.c:294
#define clamp_angle
void exec_entity_commandlist(Entity *entity)
Definition entity.c:313
f32 sin_rad(f32 x)
Definition 43F0.c:713
#define DEG_TO_RAD(deg)
Definition macros.h:134

◆ entity_inactive_block_recoil_anim()

void entity_inactive_block_recoil_anim ( Entity * entity)

Definition at line 242 of file Block.c.

242 {
243 BlockData* data = entity->dataBuf.block;
244 f64 currentY;
245
247 currentY = entity->pos.y;
248 entity->pos.y = currentY + ((f64)sin_rad(DEG_TO_RAD(data->recoilInterpPhase)));
249 data->recoilInterpPhase += 60.0f;
250 if (data->recoilInterpPhase >= 360.0f) {
251 data->recoilInterpPhase = 0.0f;
252 entity->pos.y = data->initialY;
254 }
255}

◆ entity_MulticoinBlock_init()

void entity_MulticoinBlock_init ( Entity * entity)

Definition at line 257 of file Block.c.

257 {
258 BlockData* data;
259
261 data = entity->dataBuf.block;
263 data->timeLeft = 123;
264 data->gameFlagIndex = 0xFFFF;
265}
void entity_base_block_init(Entity *entity)
Definition Block.c:213
u16 gameFlagIndex
Definition entity.h:116

◆ entity_MulticoinBlock_spawn_coin()

void entity_MulticoinBlock_spawn_coin ( Entity * entity)

Definition at line 267 of file Block.c.

267 {
268 BlockData* data = entity->dataBuf.block;
269 s32 itemSpawnMode;
270 s32 flagIndex;
271
272 if (data->coinsLeft > 0) {
274 itemSpawnMode = ITEM_SPAWN_MODE_ITEM_BLOCK_COIN;
275 flagIndex = data->gameFlagIndex;
276 } else {
278 flagIndex = 0;
279 }
280 make_item_entity_nodelay(ITEM_COIN, entity->pos.x, entity->pos.y + 28.0, entity->pos.z,
281 itemSpawnMode, flagIndex);
282 data->coinsLeft -= 1;
283 }
284
285 if ((data->coinsLeft == 0) || (data->timeLeft == 0)) {
286 data->empty = TRUE;
288 (s32)entity->pos.x, (s32)entity->pos.y, (s32)entity->pos.z,
291 }
292}
EntityScript Entity_CreatedInertBlock_Script
Definition Block.c:513
EntityBlueprint Entity_InertYellowBlock
Definition Block.c:578
s8 empty
Definition entity.h:112
@ ITEM_SPAWN_MODE_ITEM_BLOCK_SPAWN_ALWAYS
Definition enums.h:2311
@ ITEM_SPAWN_MODE_ITEM_BLOCK_COIN
Definition enums.h:2312
@ ENTITY_FLAG_PENDING_INSTANCE_DELETE
Definition enums.h:2642
@ ENTITY_FLAG_DISABLE_COLLISION
Definition enums.h:2618
s32 make_item_entity_nodelay(s32 itemID, f32 x, f32 y, f32 z, s32 itemSpawnMode, s32 pickupVar)
void set_entity_commandlist(Entity *entity, s32 *entityScript)
Definition entity.c:235

◆ entity_MulticoinBlock_idle()

void entity_MulticoinBlock_idle ( Entity * entity)

Definition at line 308 of file Block.c.

308 {
309 BlockData* data = entity->dataBuf.block;
310
313 return;
314 }
317 if (data->empty) {
318 create_entity(&Entity_InertYellowBlock, (s32)entity->pos.x, (s32)entity->pos.y, (s32)entity->pos.z, (s32)entity->rot.y, MAKE_ENTITY_END);
320 }
321}
@ ENTITY_COLLISION_PARTNER
Definition enums.h:2655

◆ entity_MulticoinBlock_check_if_inactive()

void entity_MulticoinBlock_check_if_inactive ( Entity * entity)

Definition at line 323 of file Block.c.

323 {
324 BlockData* data = entity->dataBuf.block;
325
326 if (data->gameFlagIndex != 0xFFFF) {
327 if (get_global_flag(data->gameFlagIndex) != 0) {
328 create_entity(&Entity_InertYellowBlock, (s32)entity->pos.x, (s32)entity->pos.y, (s32)entity->pos.z, (s32)entity->rot.y, MAKE_ENTITY_END);
330 }
331 }
332}
s32 get_global_flag(s32 index)
Definition vars_access.c:89

◆ entity_block_handle_collision()

s32 entity_block_handle_collision ( Entity * entity)

Definition at line 334 of file Block.c.

334 {
335 s32 breakBlock;
336 PlayerStatus* playerStatus = &gPlayerStatus;
337
338 if (entity->alpha == 0 && (entity->collisionFlags & ENTITY_COLLISION_PLAYER_TOUCH_FLOOR)) {
339 return FALSE;
340 }
341
343 s32 type = get_entity_type(entity->listIndex);
344 switch (type) {
352 return FALSE;
353 }
354
355 if (playerStatus->flags & PS_FLAG_JUMPING) {
357 }
358 return TRUE;
359 }
360
362 // partner collision means either kooper shell toss or bombette explosion
364 switch (get_entity_type(entity->listIndex)) {
369 return TRUE;
370 }
371 }
373 return TRUE;
374 }
375
376 breakBlock = FALSE;
378 if (playerStatus->actionState == ACTION_STATE_SPIN_JUMP || playerStatus->actionState == ACTION_STATE_TORNADO_JUMP) {
379 return FALSE;
380 }
381
382 if (playerStatus->actionState == ACTION_STATE_SPIN_POUND || playerStatus->actionState == ACTION_STATE_TORNADO_POUND) {
383 breakBlock = TRUE;
384 } else {
385 return TRUE;
386 }
387 } else {
389 return TRUE;
390 }
391 if (!(playerStatus->flags & PS_FLAG_HAMMER_CHECK)) {
392 return TRUE;
393 }
394 }
395
396 switch (get_entity_type(entity->listIndex)) {
405 break;
408 if (breakBlock) {
409 if (gPlayerData.bootsLevel < 1) {
410 breakBlock = FALSE;
411 }
412 } else {
413 if (gPlayerData.hammerLevel > -1) {
414 breakBlock = TRUE;
415 }
416 }
417 if (!breakBlock) {
418 return TRUE;
419 }
422 break;
425 if (breakBlock) {
426 if (gPlayerData.bootsLevel < 2) {
427 breakBlock = FALSE;
428 }
429 } else if (gPlayerData.hammerLevel > 0) {
430 breakBlock = TRUE;
431 }
432 if (!breakBlock) {
433 return TRUE;
434 }
437 break;
440 if (gPlayerData.hammerLevel < 2) {
441 return TRUE;
442 }
445 break;
448 case ENTITY_TYPE_1C:
449 case ENTITY_TYPE_1D:
450 case ENTITY_TYPE_1E:
452 entity_start_script(entity);
454 break;
456 entity_start_script(entity);
457 break;
459 break;
460 }
461
462 return TRUE;
463}
EntityScript Entity_BreakingBlock_Script
Definition Block.c:520
#define sfx_play_sound_at_position
@ PS_FLAG_HAMMER_CHECK
Definition enums.h:3073
@ ENTITY_TYPE_1E
Definition enums.h:2573
@ ENTITY_TYPE_HEALING_BLOCK_FRAME
Definition enums.h:2574
@ ENTITY_TYPE_PUSH_BLOCK
Definition enums.h:2555
@ ENTITY_TYPE_1C
Definition enums.h:2571
@ ENTITY_TYPE_HEALING_BLOCK
Definition enums.h:2570
@ ENTITY_TYPE_1D
Definition enums.h:2572
@ ENTITY_TYPE_RED_BLOCK
Definition enums.h:2563
@ ENTITY_TYPE_MULTI_TRIGGER_BLOCK
Definition enums.h:2554
@ ENTITY_COLLISION_PLAYER_HAMMER
Definition enums.h:2654
@ ENTITY_COLLISION_PLAYER_TOUCH_FLOOR
Definition enums.h:2648
@ SOUND_SMASH_HAMER_BLOCK_3
Definition enums.h:771
@ SOUND_SMASH_HAMER_BLOCK_1
Definition enums.h:769
@ SOUND_SMASH_HAMER_BLOCK_2
Definition enums.h:770
@ PARTNER_BOMBETTE
Definition enums.h:2888
@ ACTION_STATE_SPIN_POUND
Definition enums.h:2442
@ ACTION_STATE_SPIN_JUMP
Definition enums.h:2441
@ ACTION_STATE_TORNADO_POUND
Definition enums.h:2444
@ ACTION_STATE_TORNADO_JUMP
Definition enums.h:2443
@ SOUND_SPACE_DEFAULT
Definition enums.h:1737
s32 entity_start_script(Entity *entity)
Definition entity.c:560
PlayerData gPlayerData
Definition 77480.c:40

◆ entity_init_Hammer1Block_normal()

void entity_init_Hammer1Block_normal ( Entity * entity)

Definition at line 465 of file Block.c.

465 {
468}
void entity_base_block_setupGfx(s32 entityIndex)
Definition Block.c:53
void(* renderSetupFunc)(s32)

◆ entity_init_HammerBlock_small()

void entity_init_HammerBlock_small ( Entity * entity)

Definition at line 470 of file Block.c.

470 {
471 BlockData* data = entity->dataBuf.block;
472
473 data->item = -1;
474 data->initialY = entity->pos.y;
475 data->sinkingTimer = -1;
476 entity->flags &= ~ENTITY_FLAG_200000;
477 entity->scale.x = 0.5f;
478 entity->scale.y = 0.5f;
479 entity->scale.z = 0.5f;
480}

Variable Documentation

◆ Entity_InertYellowBlock_Render

Gfx Entity_InertYellowBlock_Render[]
extern

Definition at line 47 of file InertYellowBlock.c.

47 {
50 gsSPEndDisplayList(),
51};
Gfx Entity_InertYellowBlock_RenderFaces[]
Gfx Entity_InertYellowBlock_RenderTopBottom[]

◆ Entity_InertRedBlock_Render

Gfx Entity_InertRedBlock_Render[]
extern

Definition at line 45 of file InertRedBlock.c.

45 {
46 gsSPDisplayList(Entity_InertRedBlock_RenderFaces),
48 gsSPEndDisplayList(),
49};
Gfx Entity_InertRedBlock_RenderTopBottom[]
Gfx Entity_InertRedBlock_RenderFaces[]

◆ Entity_BrickBlock_Render

Gfx Entity_BrickBlock_Render[]
extern

Definition at line 46 of file BrickBlock.c.

46 {
47 gsSPDisplayList(Entity_BrickBlock_RenderFaces),
48 gsSPEndDisplayList(),
49};
Gfx Entity_BrickBlock_RenderFaces[]
Definition BrickBlock.c:33

◆ Entity_Hammer1Block_Render

Gfx Entity_Hammer1Block_Render[]
extern

Definition at line 48 of file Hammer1Block.c.

48 {
49 gsSPDisplayList(Entity_Hammer1Block_RenderBlock),
50 gsSPEndDisplayList(),
51};
Gfx Entity_Hammer1Block_RenderBlock[]

◆ Entity_Hammer2Block_Render

Gfx Entity_Hammer2Block_Render[]
extern

Definition at line 48 of file Hammer2Block.c.

48 {
49 gsSPDisplayList(Entity_Hammer2Block_RenderBlock),
50 gsSPEndDisplayList(),
51};
Gfx Entity_Hammer2Block_RenderBlock[]

◆ Entity_Hammer3Block_Render

Gfx Entity_Hammer3Block_Render[]
extern

Definition at line 43 of file Hammer3Block.c.

43 {
44 gsSPDisplayList(Entity_Hammer3Block_RenderBlock),
45 gsSPEndDisplayList(),
46};
Gfx Entity_Hammer3Block_RenderBlock[]

◆ Entity_PushBlock_Render

Gfx Entity_PushBlock_Render[]
extern

Definition at line 52 of file PushBlock.c.

52 {
53 gsSPDisplayList(Entity_PushBlock_RenderBlock),
54 gsSPEndDisplayList(),
55};
Gfx Entity_PushBlock_RenderBlock[]
Definition PushBlock.c:45

◆ Entity_PowBlock_Render

Gfx Entity_PowBlock_Render[]
extern

Definition at line 68 of file PowBlock.c.

68 {
69 gsSPDisplayList(Entity_PowBlock_RenderBlock),
70 gsSPEndDisplayList(),
71};
Gfx Entity_PowBlock_RenderBlock[]
Definition PowBlock.c:63

◆ Entity_CreatedInertBlock_Script

EntityScript Entity_CreatedInertBlock_Script
Initial value:
= {
}
void entity_inactive_block_hit_init(Entity *entity)
Definition Block.c:222
EntityScript Entity_InertBlock_Script
Definition Block.c:503
void entity_inactive_block_recoil_anim(Entity *entity)
Definition Block.c:242
void entity_inactive_block_hit_anim(Entity *entity)
Definition Block.c:228
#define es_Call(func)
Definition entity.h:37
#define es_SetCallback(func, time)
Definition entity.h:38
#define es_End
Definition entity.h:35
#define es_Jump(script)
Definition entity.h:36

Definition at line 513 of file Block.c.

Referenced by entity_MulticoinBlock_spawn_coin().

◆ Entity_BreakingBlock_Script

◆ Entity_ShatteringHammer1Block

EntityBlueprint Entity_ShatteringHammer1Block
extern

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};
void entity_shattering_block_init(Entity *entity)
EntityModelScript Entity_ShatteringBlock_RenderScript
EntityScript Entity_ShatteringBlock_Script
#define ENTITY_ROM(name)
Definition entity.h:65

Referenced by entity_breakable_block_create_shattering_entity().

◆ Entity_ShatteringHammer2Block

EntityBlueprint Entity_ShatteringHammer2Block
extern

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
extern

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
extern

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
extern

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
extern

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
extern

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().

◆ Entity_PowBlock_Script

EntityScript Entity_PowBlock_Script
Initial value:
= {
}
void entity_block_hit_animate_scale(Entity *entity)
Definition Block.c:90
f32 entity_block_hit_init_scale(Entity *entity)
Definition Block.c:75
#define es_Restart
Definition entity.h:40
#define es_PlaySound(soundId)
Definition entity.h:45
@ SOUND_HIT_BLOCK
Definition enums.h:768

Definition at line 482 of file Block.c.

◆ Entity_BaseBlock_Script

EntityScript Entity_BaseBlock_Script

◆ D_802E9DEC

◆ Entity_InertBlock_Script

◆ Entity_BrickBlock_Script

◆ Entity_Hammer1Block_Script

◆ Entity_MulticoinBlock_Script

◆ Entity_InertYellowBlock_RenderScript

Definition at line 560 of file Block.c.

◆ Entity_InertRedBlock_RenderScript

Definition at line 562 of file Block.c.

◆ Entity_MulticoinBrick_RenderScript

Definition at line 564 of file Block.c.

◆ Entity_Hammer1Block_RenderScript

Definition at line 566 of file Block.c.

◆ Entity_Hammer2Block_RenderScript

Definition at line 568 of file Block.c.

◆ Entity_Hammer3Block_RenderScript

Definition at line 570 of file Block.c.

◆ Entity_PushBlock_RenderScript

Definition at line 572 of file Block.c.

◆ Entity_BrickBlock_RenderScript

Definition at line 574 of file Block.c.

◆ Entity_PowBlock_RenderScript

Definition at line 576 of file Block.c.

◆ Entity_InertYellowBlock

EntityBlueprint Entity_InertYellowBlock
Initial value:
= {
.typeDataSize = sizeof(BlockData),
.modelAnimationNodes = 0,
.updateEntityScript = Entity_InertBlock_Script,
.fpHandleCollision = entity_block_handle_collision,
{ .dma = ENTITY_ROM(InertYellowBlock) },
.aabbSize = { 25, 25, 25 }
}
void entity_init_Hammer1Block_normal(Entity *entity)
Definition Block.c:465
EntityModelScript Entity_InertYellowBlock_RenderScript
Definition Block.c:560
s32 entity_block_handle_collision(Entity *entity)
Definition Block.c:334
@ ENTITY_FLAG_FIXED_SHADOW_SIZE
Definition enums.h:2622
@ ENTITY_FLAG_4000
Definition enums.h:2627

Definition at line 578 of file Block.c.

578 {
580 .typeDataSize = sizeof(BlockData),
581 .renderCommandList = Entity_InertYellowBlock_RenderScript,
582 .modelAnimationNodes = 0,
584 .updateEntityScript = Entity_InertBlock_Script,
585 .fpHandleCollision = entity_block_handle_collision,
586 { .dma = ENTITY_ROM(InertYellowBlock) },
588 .aabbSize = { 25, 25, 25 }
589};

Referenced by entity_ItemBlock_check_if_inactive(), entity_ItemBlock_replace_with_inactive(), entity_MulticoinBlock_check_if_inactive(), entity_MulticoinBlock_idle(), and entity_MulticoinBlock_spawn_coin().

◆ Entity_InertRedBlock

EntityBlueprint Entity_InertRedBlock
Initial value:
= {
.typeDataSize = sizeof(BlockData),
.renderCommandList = Entity_InertRedBlock_RenderScript,
.modelAnimationNodes = 0,
.updateEntityScript = Entity_InertBlock_Script,
.fpHandleCollision = entity_block_handle_collision,
{ .dma = ENTITY_ROM(InertRedBlock) },
.aabbSize = { 25, 25, 25 }
}
EntityModelScript Entity_InertRedBlock_RenderScript
Definition Block.c:562

Definition at line 591 of file Block.c.

591 {
593 .typeDataSize = sizeof(BlockData),
594 .renderCommandList = Entity_InertRedBlock_RenderScript,
595 .modelAnimationNodes = 0,
597 .updateEntityScript = Entity_InertBlock_Script,
598 .fpHandleCollision = entity_block_handle_collision,
599 { .dma = ENTITY_ROM(InertRedBlock) },
600 .entityType = ENTITY_TYPE_INACTIVE_BLOCK,
601 .aabbSize = { 25, 25, 25 }
602};

Referenced by entity_ItemBlock_check_if_inactive(), and entity_ItemBlock_replace_with_inactive().

◆ Entity_BrickBlock

EntityBlueprint Entity_BrickBlock
Initial value:
= {
.typeDataSize = sizeof(BlockData),
.renderCommandList = Entity_BrickBlock_RenderScript,
.modelAnimationNodes = 0,
.updateEntityScript = Entity_BrickBlock_Script,
.fpHandleCollision = entity_block_handle_collision,
{ .dma = ENTITY_ROM(BrickBlock) },
.entityType = ENTITY_TYPE_BRICK_BLOCK,
.aabbSize = { 25, 25, 25 }
}
EntityModelScript Entity_BrickBlock_RenderScript
Definition Block.c:574
EntityScript Entity_BrickBlock_Script
Definition Block.c:529
@ ENTITY_FLAG_80
Definition enums.h:2620

Definition at line 604 of file Block.c.

604 {
606 .typeDataSize = sizeof(BlockData),
607 .renderCommandList = Entity_BrickBlock_RenderScript,
608 .modelAnimationNodes = 0,
609 .fpInit = entity_base_block_init,
610 .updateEntityScript = Entity_BrickBlock_Script,
611 .fpHandleCollision = entity_block_handle_collision,
612 { .dma = ENTITY_ROM(BrickBlock) },
613 .entityType = ENTITY_TYPE_BRICK_BLOCK,
614 .aabbSize = { 25, 25, 25 }
615};

◆ Entity_MulticoinBlock

EntityBlueprint Entity_MulticoinBlock
Initial value:
= {
.typeDataSize = sizeof(BlockData),
.renderCommandList = Entity_MulticoinBrick_RenderScript,
.modelAnimationNodes = 0,
.updateEntityScript = Entity_MulticoinBlock_Script,
.fpHandleCollision = entity_block_handle_collision,
{ .dma = ENTITY_ROM(BrickBlock) },
.aabbSize = { 25, 25, 25 }
}
EntityScript Entity_MulticoinBlock_Script
Definition Block.c:547
EntityModelScript Entity_MulticoinBrick_RenderScript
Definition Block.c:564
void entity_MulticoinBlock_init(Entity *entity)
Definition Block.c:257

Definition at line 617 of file Block.c.

617 {
619 .typeDataSize = sizeof(BlockData),
620 .renderCommandList = Entity_MulticoinBrick_RenderScript,
621 .modelAnimationNodes = 0,
623 .updateEntityScript = Entity_MulticoinBlock_Script,
624 .fpHandleCollision = entity_block_handle_collision,
625 { .dma = ENTITY_ROM(BrickBlock) },
626 .entityType = ENTITY_TYPE_MULTI_COIN_BRICK,
627 .aabbSize = { 25, 25, 25 }
628};

◆ Entity_Hammer1Block

EntityBlueprint Entity_Hammer1Block
Initial value:
= {
.typeDataSize = sizeof(BlockData),
.renderCommandList = Entity_Hammer1Block_RenderScript,
.modelAnimationNodes = 0,
.updateEntityScript = Entity_Hammer1Block_Script,
.fpHandleCollision = entity_block_handle_collision,
{ .dma = ENTITY_ROM(Hammer1Block) },
.aabbSize = { 50, 50, 50 }
}
EntityScript Entity_Hammer1Block_Script
Definition Block.c:540
EntityModelScript Entity_Hammer1Block_RenderScript
Definition Block.c:566

Definition at line 630 of file Block.c.

630 {
632 .typeDataSize = sizeof(BlockData),
633 .renderCommandList = Entity_Hammer1Block_RenderScript,
634 .modelAnimationNodes = 0,
636 .updateEntityScript = Entity_Hammer1Block_Script,
637 .fpHandleCollision = entity_block_handle_collision,
638 { .dma = ENTITY_ROM(Hammer1Block) },
639 .entityType = ENTITY_TYPE_HAMMER1_BLOCK,
640 .aabbSize = { 50, 50, 50 }
641};

◆ Entity_Hammer1BlockWideX

EntityBlueprint Entity_Hammer1BlockWideX
Initial value:
= {
.typeDataSize = sizeof(BlockData),
.renderCommandList = Entity_Hammer1Block_RenderScript,
.modelAnimationNodes = 0,
.updateEntityScript = Entity_Hammer1Block_Script,
.fpHandleCollision = entity_block_handle_collision,
{ .dma = ENTITY_ROM(Hammer1Block) },
.aabbSize = { 100, 50, 50 }
}

Definition at line 643 of file Block.c.

643 {
645 .typeDataSize = sizeof(BlockData),
646 .renderCommandList = Entity_Hammer1Block_RenderScript,
647 .modelAnimationNodes = 0,
649 .updateEntityScript = Entity_Hammer1Block_Script,
650 .fpHandleCollision = entity_block_handle_collision,
651 { .dma = ENTITY_ROM(Hammer1Block) },
652 .entityType = ENTITY_TYPE_HAMMER1_BLOCK,
653 .aabbSize = { 100, 50, 50 }
654};

◆ Entity_Hammer1BlockWideZ

EntityBlueprint Entity_Hammer1BlockWideZ
Initial value:
= {
.typeDataSize = sizeof(BlockData),
.renderCommandList = Entity_Hammer1Block_RenderScript,
.modelAnimationNodes = 0,
.updateEntityScript = Entity_Hammer1Block_Script,
.fpHandleCollision = entity_block_handle_collision,
{ .dma = ENTITY_ROM(Hammer1Block) },
.aabbSize = { 50, 50, 100 }
}

Definition at line 656 of file Block.c.

656 {
658 .typeDataSize = sizeof(BlockData),
659 .renderCommandList = Entity_Hammer1Block_RenderScript,
660 .modelAnimationNodes = 0,
662 .updateEntityScript = Entity_Hammer1Block_Script,
663 .fpHandleCollision = entity_block_handle_collision,
664 { .dma = ENTITY_ROM(Hammer1Block) },
665 .entityType = ENTITY_TYPE_HAMMER1_BLOCK,
666 .aabbSize = { 50, 50, 100 }
667};

◆ Entity_Hammer1BlockTiny

EntityBlueprint Entity_Hammer1BlockTiny
Initial value:
= {
.typeDataSize = sizeof(BlockData),
.renderCommandList = Entity_Hammer1Block_RenderScript,
.modelAnimationNodes = 0,
.updateEntityScript = Entity_BaseBlock_Script,
.fpHandleCollision = entity_block_handle_collision,
{ .dma = ENTITY_ROM(Hammer1Block) },
.aabbSize = { 25, 25, 25 }
}
void entity_init_HammerBlock_small(Entity *entity)
Definition Block.c:470
EntityScript Entity_BaseBlock_Script
Definition Block.c:491

Definition at line 669 of file Block.c.

669 {
671 .typeDataSize = sizeof(BlockData),
672 .renderCommandList = Entity_Hammer1Block_RenderScript,
673 .modelAnimationNodes = 0,
675 .updateEntityScript = Entity_BaseBlock_Script,
676 .fpHandleCollision = entity_block_handle_collision,
677 { .dma = ENTITY_ROM(Hammer1Block) },
678 .entityType = ENTITY_TYPE_HAMMER1_BLOCK_TINY,
679 .aabbSize = { 25, 25, 25 }
680};

◆ Entity_Hammer2Block

EntityBlueprint Entity_Hammer2Block
Initial value:
= {
.typeDataSize = sizeof(BlockData),
.renderCommandList = Entity_Hammer2Block_RenderScript,
.modelAnimationNodes = 0,
.updateEntityScript = Entity_BaseBlock_Script,
.fpHandleCollision = entity_block_handle_collision,
{ .dma = ENTITY_ROM(Hammer2Block) },
.aabbSize = { 50, 50, 50 }
}
EntityModelScript Entity_Hammer2Block_RenderScript
Definition Block.c:568

Definition at line 682 of file Block.c.

682 {
684 .typeDataSize = sizeof(BlockData),
685 .renderCommandList = Entity_Hammer2Block_RenderScript,
686 .modelAnimationNodes = 0,
687 .fpInit = entity_base_block_init,
688 .updateEntityScript = Entity_BaseBlock_Script,
689 .fpHandleCollision = entity_block_handle_collision,
690 { .dma = ENTITY_ROM(Hammer2Block) },
691 .entityType = ENTITY_TYPE_HAMMER2_BLOCK,
692 .aabbSize = { 50, 50, 50 }
693};

◆ Entity_Hammer2BlockWideX

EntityBlueprint Entity_Hammer2BlockWideX
Initial value:
= {
.typeDataSize = sizeof(BlockData),
.renderCommandList = Entity_Hammer2Block_RenderScript,
.modelAnimationNodes = 0,
.updateEntityScript = Entity_BaseBlock_Script,
.fpHandleCollision = entity_block_handle_collision,
{ .dma = ENTITY_ROM(Hammer2Block) },
.aabbSize = { 100, 50, 50 }
}

Definition at line 695 of file Block.c.

695 {
697 .typeDataSize = sizeof(BlockData),
698 .renderCommandList = Entity_Hammer2Block_RenderScript,
699 .modelAnimationNodes = 0,
700 .fpInit = entity_base_block_init,
701 .updateEntityScript = Entity_BaseBlock_Script,
702 .fpHandleCollision = entity_block_handle_collision,
703 { .dma = ENTITY_ROM(Hammer2Block) },
704 .entityType = ENTITY_TYPE_HAMMER2_BLOCK,
705 .aabbSize = { 100, 50, 50 }
706};

◆ Entity_Hammer2BlockWideZ

EntityBlueprint Entity_Hammer2BlockWideZ
Initial value:
= {
.typeDataSize = sizeof(BlockData),
.renderCommandList = Entity_Hammer2Block_RenderScript,
.modelAnimationNodes = 0,
.updateEntityScript = Entity_BaseBlock_Script,
.fpHandleCollision = entity_block_handle_collision,
{ .dma = ENTITY_ROM(Hammer2Block) },
.aabbSize = { 50, 50, 100 }
}

Definition at line 708 of file Block.c.

708 {
710 .typeDataSize = sizeof(BlockData),
711 .renderCommandList = Entity_Hammer2Block_RenderScript,
712 .modelAnimationNodes = 0,
713 .fpInit = entity_base_block_init,
714 .updateEntityScript = Entity_BaseBlock_Script,
715 .fpHandleCollision = entity_block_handle_collision,
716 { .dma = ENTITY_ROM(Hammer2Block) },
717 .entityType = ENTITY_TYPE_HAMMER2_BLOCK,
718 .aabbSize = { 50, 50, 100 }
719};

◆ Entity_Hammer2BlockTiny

EntityBlueprint Entity_Hammer2BlockTiny
Initial value:
= {
.typeDataSize = sizeof(BlockData),
.renderCommandList = Entity_Hammer2Block_RenderScript,
.modelAnimationNodes = 0,
.updateEntityScript = Entity_BaseBlock_Script,
.fpHandleCollision = entity_block_handle_collision,
{ .dma = ENTITY_ROM(Hammer2Block) },
.aabbSize = { 25, 25, 25 }
}

Definition at line 721 of file Block.c.

721 {
723 .typeDataSize = sizeof(BlockData),
724 .renderCommandList = Entity_Hammer2Block_RenderScript,
725 .modelAnimationNodes = 0,
727 .updateEntityScript = Entity_BaseBlock_Script,
728 .fpHandleCollision = entity_block_handle_collision,
729 { .dma = ENTITY_ROM(Hammer2Block) },
730 .entityType = ENTITY_TYPE_HAMMER2_BLOCK_TINY,
731 .aabbSize = { 25, 25, 25 }
732};

◆ Entity_Hammer3Block

EntityBlueprint Entity_Hammer3Block
Initial value:
= {
.typeDataSize = sizeof(BlockData),
.renderCommandList = Entity_Hammer3Block_RenderScript,
.modelAnimationNodes = 0,
.updateEntityScript = Entity_BaseBlock_Script,
.fpHandleCollision = entity_block_handle_collision,
{ .dma = ENTITY_ROM(Hammer3Block) },
.aabbSize = { 50, 50, 50 }
}
EntityModelScript Entity_Hammer3Block_RenderScript
Definition Block.c:570

Definition at line 734 of file Block.c.

734 {
736 .typeDataSize = sizeof(BlockData),
737 .renderCommandList = Entity_Hammer3Block_RenderScript,
738 .modelAnimationNodes = 0,
739 .fpInit = entity_base_block_init,
740 .updateEntityScript = Entity_BaseBlock_Script,
741 .fpHandleCollision = entity_block_handle_collision,
742 { .dma = ENTITY_ROM(Hammer3Block) },
743 .entityType = ENTITY_TYPE_HAMMER3_BLOCK,
744 .aabbSize = { 50, 50, 50 }
745};

◆ Entity_Hammer3BlockWideX

EntityBlueprint Entity_Hammer3BlockWideX
Initial value:
= {
.typeDataSize = sizeof(BlockData),
.renderCommandList = Entity_Hammer3Block_RenderScript,
.modelAnimationNodes = 0,
.updateEntityScript = Entity_BaseBlock_Script,
.fpHandleCollision = entity_block_handle_collision,
{ .dma = ENTITY_ROM(Hammer3Block) },
.aabbSize = { 100, 50, 50 }
}

Definition at line 747 of file Block.c.

747 {
749 .typeDataSize = sizeof(BlockData),
750 .renderCommandList = Entity_Hammer3Block_RenderScript,
751 .modelAnimationNodes = 0,
752 .fpInit = entity_base_block_init,
753 .updateEntityScript = Entity_BaseBlock_Script,
754 .fpHandleCollision = entity_block_handle_collision,
755 { .dma = ENTITY_ROM(Hammer3Block) },
756 .entityType = ENTITY_TYPE_HAMMER3_BLOCK,
757 .aabbSize = { 100, 50, 50 }
758};

◆ Entity_Hammer3BlockWideZ

EntityBlueprint Entity_Hammer3BlockWideZ
Initial value:
= {
.typeDataSize = sizeof(BlockData),
.renderCommandList = Entity_Hammer3Block_RenderScript,
.modelAnimationNodes = 0,
.updateEntityScript = Entity_BaseBlock_Script,
.fpHandleCollision = entity_block_handle_collision,
{ .dma = ENTITY_ROM(Hammer3Block) },
.aabbSize = { 50, 50, 100 }
}

Definition at line 760 of file Block.c.

760 {
762 .typeDataSize = sizeof(BlockData),
763 .renderCommandList = Entity_Hammer3Block_RenderScript,
764 .modelAnimationNodes = 0,
765 .fpInit = entity_base_block_init,
766 .updateEntityScript = Entity_BaseBlock_Script,
767 .fpHandleCollision = entity_block_handle_collision,
768 { .dma = ENTITY_ROM(Hammer3Block) },
769 .entityType = ENTITY_TYPE_HAMMER3_BLOCK,
770 .aabbSize = { 50, 50, 100 }
771};

◆ Entity_Hammer3BlockTiny

EntityBlueprint Entity_Hammer3BlockTiny
Initial value:
= {
.typeDataSize = sizeof(BlockData),
.renderCommandList = Entity_Hammer3Block_RenderScript,
.modelAnimationNodes = 0,
.updateEntityScript = Entity_BaseBlock_Script,
.fpHandleCollision = entity_block_handle_collision,
{ .dma = ENTITY_ROM(Hammer3Block) },
.aabbSize = { 25, 25, 25 }
}

Definition at line 773 of file Block.c.

773 {
775 .typeDataSize = sizeof(BlockData),
776 .renderCommandList = Entity_Hammer3Block_RenderScript,
777 .modelAnimationNodes = 0,
779 .updateEntityScript = Entity_BaseBlock_Script,
780 .fpHandleCollision = entity_block_handle_collision,
781 { .dma = ENTITY_ROM(Hammer3Block) },
782 .entityType = ENTITY_TYPE_HAMMER3_BLOCK_TINY,
783 .aabbSize = { 25, 25, 25 }
784};

◆ Entity_PushBlock

EntityBlueprint Entity_PushBlock
Initial value:
= {
.flags = ENTITY_FLAG_4000,
.typeDataSize = sizeof(BlockData),
.renderCommandList = Entity_PushBlock_RenderScript,
.modelAnimationNodes = 0,
.updateEntityScript = Entity_BaseBlock_Script,
.fpHandleCollision = entity_block_handle_collision,
{ .dma = ENTITY_ROM(PushBlock) },
.entityType = ENTITY_TYPE_PUSH_BLOCK,
.aabbSize = { 25, 25, 25 }
}
EntityModelScript Entity_PushBlock_RenderScript
Definition Block.c:572

Definition at line 786 of file Block.c.

786 {
787 .flags = ENTITY_FLAG_4000,
788 .typeDataSize = sizeof(BlockData),
789 .renderCommandList = Entity_PushBlock_RenderScript,
790 .modelAnimationNodes = 0,
791 .fpInit = entity_base_block_init,
792 .updateEntityScript = Entity_BaseBlock_Script,
793 .fpHandleCollision = entity_block_handle_collision,
794 { .dma = ENTITY_ROM(PushBlock) },
795 .entityType = ENTITY_TYPE_PUSH_BLOCK,
796 .aabbSize = { 25, 25, 25 }
797};

◆ Entity_PowBlock

EntityBlueprint Entity_PowBlock
Initial value:
= {
.flags = ENTITY_FLAG_4000,
.typeDataSize = sizeof(BlockData),
.renderCommandList = Entity_PowBlock_RenderScript,
.modelAnimationNodes = 0,
.updateEntityScript = Entity_PowBlock_Script,
.fpHandleCollision = entity_block_handle_collision,
{ .dma = ENTITY_ROM(PowBlock) },
.entityType = ENTITY_TYPE_POW_BLOCK,
.aabbSize = { 30, 25, 25 },
}
EntityScript Entity_PowBlock_Script
Definition Block.c:482
EntityModelScript Entity_PowBlock_RenderScript
Definition Block.c:576
@ ENTITY_TYPE_POW_BLOCK
Definition enums.h:2576

Definition at line 799 of file Block.c.

799 {
800 .flags = ENTITY_FLAG_4000,
801 .typeDataSize = sizeof(BlockData),
802 .renderCommandList = Entity_PowBlock_RenderScript,
803 .modelAnimationNodes = 0,
804 .fpInit = entity_base_block_init,
805 .updateEntityScript = Entity_PowBlock_Script,
806 .fpHandleCollision = entity_block_handle_collision,
807 { .dma = ENTITY_ROM(PowBlock) },
808 .entityType = ENTITY_TYPE_POW_BLOCK,
809 .aabbSize = { 30, 25, 25 },
810};