8extern Addr entity_model_BrickBlock_ROM_END;
9extern Addr entity_model_BrickBlock_ROM_START;
10extern Addr entity_model_Hammer1Block_ROM_END;
11extern Addr entity_model_Hammer1Block_ROM_START;
12extern Addr entity_model_Hammer2Block_ROM_END;
13extern Addr entity_model_Hammer2Block_ROM_START;
14extern Addr entity_model_Hammer3Block_ROM_END;
15extern Addr entity_model_Hammer3Block_ROM_START;
16extern Addr entity_model_InertRedBlock_ROM_END;
17extern Addr entity_model_InertRedBlock_ROM_START;
18extern Addr entity_model_InertYellowBlock_ROM_END;
19extern Addr entity_model_InertYellowBlock_ROM_START;
20extern Addr entity_model_PowBlock_ROM_END;
21extern Addr entity_model_PowBlock_ROM_START;
22extern Addr entity_model_PushBlock_ROM_END;
23extern Addr entity_model_PushBlock_ROM_START;
51#define MULTICOIN_BLOCK_MAX_COINS 10
57 gDPSetTextureLUT(gfx++, G_TT_NONE);
58 gSPTexture(gfx++, -1, -1, 0, G_TX_RENDERTILE, G_ON);
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);
65 gDPSetPrimColor(gfx++, 0, 0, 0, 0, 0, entity->
alpha);
72 fx_cold_breath(0, entity->
pos.
x, entity->
pos.
y, entity->
pos.
z, 1.0f, 0x3C);
81 entity->
pos.
y += 18.0f;
86 entity->
pos.
y += 18.0f;
96 entity->
pos.
y -= 3.0f;
101 entity->
pos.
y -= 3.0f;
111 if (entity->
alpha < 255) {
112 entity->
flags &= ~ENTITY_FLAG_200000;
123 deltaY = (entity->
pos.
y - data->
initialY + 50.0f) * 0.125f;
135 entity->
pos.
y += deltaY;
140 entity->
flags &= ~ENTITY_FLAG_200000;
146 if (shadow != NULL) {
147 f32 temp2 = entity->
pos.
y - shadow->
pos.
y;
149 if (entity->
pos.
y - temp2 <= playerStatus->colliderHeight + 1) {
160 if (shadow != NULL) {
161 if (entity->
pos.
y <= shadow->
pos.
y) {
174 deltaY = (entity->
pos.
y - data->
initialY + 50.0f) * 0.125f;
186 entity->
pos.
y -= deltaY;
203 if (data->
item != -1) {
205 itemEntity->
pos.
y = entity->
pos.
y + 4.0f;
219 entity->
flags &= ~ENTITY_FLAG_200000;
233 currentY = entity->
pos.
y;
247 currentY = entity->
pos.
y;
281 itemSpawnMode, flagIndex);
288 (s32)entity->
pos.
x, (s32)entity->
pos.
y, (s32)entity->
pos.
z,
476 entity->
flags &= ~ENTITY_FLAG_200000;
582 .modelAnimationNodes = 0,
588 .aabbSize = { 25, 25, 25 }
595 .modelAnimationNodes = 0,
601 .aabbSize = { 25, 25, 25 }
608 .modelAnimationNodes = 0,
614 .aabbSize = { 25, 25, 25 }
621 .modelAnimationNodes = 0,
627 .aabbSize = { 25, 25, 25 }
634 .modelAnimationNodes = 0,
640 .aabbSize = { 50, 50, 50 }
647 .modelAnimationNodes = 0,
653 .aabbSize = { 100, 50, 50 }
660 .modelAnimationNodes = 0,
666 .aabbSize = { 50, 50, 100 }
673 .modelAnimationNodes = 0,
679 .aabbSize = { 25, 25, 25 }
686 .modelAnimationNodes = 0,
692 .aabbSize = { 50, 50, 50 }
699 .modelAnimationNodes = 0,
705 .aabbSize = { 100, 50, 50 }
712 .modelAnimationNodes = 0,
718 .aabbSize = { 50, 50, 100 }
725 .modelAnimationNodes = 0,
731 .aabbSize = { 25, 25, 25 }
738 .modelAnimationNodes = 0,
744 .aabbSize = { 50, 50, 50 }
751 .modelAnimationNodes = 0,
757 .aabbSize = { 100, 50, 50 }
764 .modelAnimationNodes = 0,
770 .aabbSize = { 50, 50, 100 }
777 .modelAnimationNodes = 0,
783 .aabbSize = { 25, 25, 25 }
790 .modelAnimationNodes = 0,
796 .aabbSize = { 25, 25, 25 }
803 .modelAnimationNodes = 0,
809 .aabbSize = { 30, 25, 25 },
EntityModelScript Entity_Hammer3Block_RenderScript
EntityModelScript Entity_BrickBlock_RenderScript
EntityScript Entity_MulticoinBlock_Script
EntityModelScript Entity_MulticoinBrick_RenderScript
EntityBlueprint Entity_Hammer2BlockWideX
EntityBlueprint Entity_Hammer3BlockWideZ
EntityModelScript Entity_InertRedBlock_RenderScript
EntityScript Entity_PowBlock_Script
Gfx Entity_Hammer1Block_Render[]
EntityScript Entity_BrickBlock_Script
EntityBlueprint Entity_InertRedBlock
void entity_inactive_block_hit_init(Entity *entity)
void entity_breakable_block_create_shattering_entity(Entity *entity)
EntityBlueprint Entity_Hammer2BlockTiny
EntityBlueprint Entity_Hammer3BlockWideX
EntityScript Entity_CreatedInertBlock_Script
EntityBlueprint Entity_Hammer1BlockWideZ
EntityBlueprint Entity_Hammer1BlockWideX
EntityBlueprint Entity_ShatteringHammer2BlockTiny
EntityBlueprint Entity_Hammer3BlockTiny
EntityBlueprint Entity_Hammer1BlockTiny
EntityBlueprint Entity_Hammer2Block
void entity_block_hit_animate_scale(Entity *entity)
void entity_BrickBlock_idle(Entity *entity)
Gfx Entity_BrickBlock_Render[]
#define MULTICOIN_BLOCK_MAX_COINS
void entity_MulticoinBlock_idle(Entity *entity)
EntityScript Entity_InertBlock_Script
EntityModelScript Entity_Hammer2Block_RenderScript
void entity_init_Hammer1Block_normal(Entity *entity)
void entity_base_block_update_slow_sinking(Entity *entity)
void entity_MulticoinBlock_init(Entity *entity)
void entity_MulticoinBlock_spawn_coin(Entity *entity)
void entity_MulticoinBlock_update_timer(Entity *entity)
void entity_init_HammerBlock_small(Entity *entity)
EntityBlueprint Entity_ShatteringHammer1Block
EntityBlueprint Entity_Hammer1Block
EntityBlueprint Entity_ShatteringBrickBlock
EntityBlueprint Entity_InertYellowBlock
EntityBlueprint Entity_ShatteringHammer1BlockTiny
EntityBlueprint Entity_PushBlock
s32 entity_base_block_idle(Entity *entity)
Gfx Entity_InertYellowBlock_Render[]
EntityBlueprint Entity_Hammer2BlockWideZ
void entity_MulticoinBlock_check_if_inactive(Entity *entity)
EntityBlueprint Entity_MulticoinBlock
EntityScript Entity_BaseBlock_Script
Gfx Entity_Hammer3Block_Render[]
EntityBlueprint Entity_BrickBlock
void entity_base_block_setupGfx(s32 entityIndex)
EntityScript Entity_BreakingBlock_Script
void entity_base_block_init(Entity *entity)
Gfx Entity_InertRedBlock_Render[]
void entity_base_block_play_vanish_effect(Entity *entity)
EntityModelScript Entity_InertYellowBlock_RenderScript
f32 entity_block_hit_init_scale(Entity *entity)
Gfx Entity_Hammer2Block_Render[]
EntityBlueprint Entity_Hammer3Block
EntityModelScript Entity_PowBlock_RenderScript
void entity_inactive_block_recoil_anim(Entity *entity)
EntityBlueprint Entity_ShatteringHammer3Block
EntityScript Entity_Hammer1Block_Script
EntityModelScript Entity_PushBlock_RenderScript
EntityBlueprint Entity_ShatteringHammer3BlockTiny
s32 entity_block_handle_collision(Entity *entity)
EntityBlueprint Entity_ShatteringHammer2Block
EntityModelScript Entity_Hammer1Block_RenderScript
Gfx Entity_PushBlock_Render[]
void entity_inactive_block_hit_anim(Entity *entity)
EntityBlueprint Entity_PowBlock
Gfx Entity_PowBlock_Render[]
#define sfx_play_sound_at_position
#define STANDARD_ENTITY_MODEL_SCRIPT(gfx, renderMode)
#define es_SetCallback(func, time)
#define es_SetFlags(flags)
#define es_Label(labelId)
#define es_RestartBoundScript
#define es_PlaySound(soundId)
@ ITEM_SPAWN_MODE_ITEM_BLOCK_SPAWN_ALWAYS
@ ITEM_SPAWN_MODE_ITEM_BLOCK_COIN
@ ENTITY_TYPE_HAMMER1_BLOCK
@ ENTITY_TYPE_HEALING_BLOCK_FRAME
@ ENTITY_TYPE_SINGLE_TRIGGER_BLOCK
@ ENTITY_TYPE_HIDDEN_RED_BLOCK
@ ENTITY_TYPE_HAMMER3_BLOCK
@ ENTITY_TYPE_HEALING_BLOCK
@ ENTITY_TYPE_HAMMER2_BLOCK
@ ENTITY_TYPE_INACTIVE_BLOCK
@ ENTITY_TYPE_HAMMER3_BLOCK_TINY
@ ENTITY_TYPE_MULTI_COIN_BRICK
@ ENTITY_TYPE_BRICK_BLOCK
@ ENTITY_TYPE_HAMMER2_BLOCK_TINY
@ ENTITY_TYPE_HIDDEN_YELLOW_BLOCK
@ ENTITY_TYPE_MULTI_TRIGGER_BLOCK
@ ENTITY_TYPE_HAMMER1_BLOCK_TINY
@ ENTITY_TYPE_YELLOW_BLOCK
@ ENTITY_COLLISION_PARTNER
@ ENTITY_COLLISION_PLAYER_HAMMER
@ ENTITY_COLLISION_PLAYER_TOUCH_FLOOR
@ ENTITY_COLLISION_PLAYER_TOUCH_CEILING
@ SOUND_SMASH_HAMER_BLOCK_3
@ SOUND_SMASH_HAMER_BLOCK_1
@ SOUND_SMASH_HAMER_BLOCK_2
@ RENDER_MODE_SURFACE_OPA
@ ENTITY_FLAG_FIXED_SHADOW_SIZE
@ ENTITY_FLAG_PENDING_INSTANCE_DELETE
@ ENTITY_FLAG_DISABLE_COLLISION
@ ACTION_STATE_SPIN_POUND
@ ACTION_STATE_TORNADO_POUND
@ ACTION_STATE_TORNADO_JUMP
Entity * get_entity_by_index(s32 index)
Shadow * get_shadow_by_index(s32 index)
ItemEntity * get_item_entity(s32 itemEntityIndex)
s32 entity_start_script(Entity *entity)
s32 make_item_entity_nodelay(s32 itemID, f32 x, f32 y, f32 z, s32 itemSpawnMode, s32 pickupVar)
u32 get_entity_type(s32 arg0)
void set_entity_commandlist(Entity *entity, s32 *entityScript)
void exec_entity_commandlist(Entity *entity)
s32 create_entity(EntityBlueprint *bp,...)
s32 is_block_on_ground(Entity *block)
void(* renderSetupFunc)(s32)
u8 Addr[]
Linker symbol address, as in ld_addrs.h.
PlayerStatus gPlayerStatus
s32 get_global_flag(s32 index)