10extern Addr entity_model_HitFloatingYellowBlock_anim_ROM_END;
11extern Addr entity_model_HitFloatingYellowBlock_anim_ROM_START;
12extern Addr entity_model_HitFloatingYellowBlock_gfx_ROM_END;
13extern Addr entity_model_HitFloatingYellowBlock_gfx_ROM_START;
14extern Addr entity_model_HitRedBlock_anim_ROM_END;
15extern Addr entity_model_HitRedBlock_anim_ROM_START;
16extern Addr entity_model_HitRedBlock_gfx_ROM_END;
17extern Addr entity_model_HitRedBlock_gfx_ROM_START;
18extern Addr entity_model_HitYellowBlock_anim_ROM_END;
19extern Addr entity_model_HitYellowBlock_anim_ROM_START;
20extern Addr entity_model_HitYellowBlock_gfx_ROM_END;
21extern Addr entity_model_HitYellowBlock_gfx_ROM_START;
22extern Addr entity_model_RedBlock_ROM_END;
23extern Addr entity_model_RedBlock_ROM_START;
24extern Addr entity_model_YellowBlock_ROM_END;
25extern Addr entity_model_YellowBlock_ROM_START;
56 s32 alpha = entity->
alpha;
63 entity->
alpha = alpha;
69 entity->
alpha = alpha;
74 if (entity->
alpha < 255) {
75 entity->
alpha += (entity->
alpha == 0 ? 31 : 32);
90 if (data->
item == ITEM_COIN) {
126 inertEntity->
flags &= ~ENTITY_FLAG_HIDDEN;
128 inertShadow->
flags &= ~ENTITY_FLAG_HIDDEN;
154 s32 childEntityIndex;
156 s32 parentEntityType;
188 }
else if (isBlockOnGround != 0) {
198 childEntity->
alpha = 32;
212 entity->
flags &= ~ENTITY_FLAG_HAS_SHADOW;
221 entity->
flags &= ~ENTITY_FLAG_HAS_SHADOW;
249 gDPSetTextureLUT(gfx++, G_TT_NONE);
250 gSPTexture(gfx++, -1, -1, 0, G_TX_RENDERTILE, G_ON);
252 if (entity->
alpha >= 255) {
253 gDPSetRenderMode(gfx++, G_RM_AA_ZB_OPA_SURF, G_RM_AA_ZB_OPA_SURF2);
254 gDPSetCombineMode(gfx++, G_CC_MODULATEIA, G_CC_MODULATEIA);
257 gDPSetPrimColor(gfx++, 0, 0, 0, 0, 0, entity->
alpha);
285 animator->
flags |= 0x10000;
362 .modelAnimationNodes = 0,
368 .aabbSize = { 25, 25, 25 }
375 .modelAnimationNodes = 0,
381 .aabbSize = { 25, 25, 25 }
388 .modelAnimationNodes = 0,
394 .aabbSize = { 25, 25, 25 }
401 .modelAnimationNodes = 0,
407 .aabbSize = { 25, 25, 25 }
420 .aabbSize = { 25, 25, 25 }
430 .fpHandleCollision = NULL,
433 .aabbSize = { 25, 25, 25 }
443 .fpHandleCollision = NULL,
446 .aabbSize = { 25, 25, 25 }
456 .fpHandleCollision = NULL,
459 .aabbSize = { 25, 25, 25 }
void entity_HitItemBlock_play_anim(Entity *entity)
void entity_ItemBlock_init(Entity *entity)
f32 player_get_camera_facing_angle(void)
AnimScript Entity_HitYellowBlock_AnimationIdle
void entity_TriggerBlock_disable_player_input(void)
void entity_HiddenItemBlock_init(Entity *entity)
DmaEntry Entity_HitRedBlock_dma[]
EntityScript Entity_TriggerBlock_Script
DmaEntry Entity_HitYellowBlock_dma[]
void entity_ItemBlock_spawn_item(Entity *entity)
EntityBlueprint Entity_HitRedBlock
EntityModelScript Entity_HiddenYellowBlock_RenderScript
StaticAnimatorNode * Entity_HitYellowBlock_Mesh[]
AnimScript Entity_HitFloatingYellowBlock_AnimationIdle
EntityBlueprint Entity_HiddenRedBlock
EntityModelScript Entity_YellowBlock_RenderScript
StaticAnimatorNode * Entity_HitRedBlock_Mesh[]
EntityBlueprint Entity_TriggerBlock
EntityBlueprint Entity_HiddenYellowBlock
Gfx Entity_YellowBlock_Render[]
DmaEntry Entity_HitFloatinYellowBlock_dma[]
AnimScript Entity_HitRedBlock_AnimationHit
void entity_inactive_block_hit_init(Entity *)
EntityScript Entity_HiddenItemBlock_Script
BSS EffectInstance * TriggerBlockVanishEffect
EntityBlueprint Entity_HitGroundedYellowBlock
EntityBlueprint Entity_YellowBlock
Gfx Entity_RedBlock_Render[]
EntityScript Entity_HitBlock_Script
void entity_HitItemBlock_hide(Entity *entity)
EntityScript Entity_ItemBlock_Script
void entity_ItemBlock_replace_with_inactive(Entity *entity)
void entity_ItemBlock_idle(Entity *entity)
void entity_HitItemBlock_appear(Entity *entity)
s32 entity_TriggerBlock_start_bound_script(Entity *entity)
void entity_ItemlessBlock_init(Entity *entity)
void entity_HiddenItemBlock_idle(Entity *entity)
void entity_ItemBlock_check_if_inactive(Entity *entity)
EntityModelScript Entity_HiddenRedBlock_RenderScript
EntityBlueprint Entity_HitFloatingYellowBlock
AnimScript Entity_HitYellowBlock_AnimationHit
void entity_inactive_block_recoil_anim(Entity *)
void entity_inactive_block_hit_anim(Entity *)
EntityBlueprint Entity_RedBlock
void entity_TriggerBlock_play_vanish_effect(Entity *entity)
EntityModelScript Entity_RedBlock_RenderScript
StaticAnimatorNode * Entity_HitFloatingYellowBlock_Mesh[]
void entity_HitItemBlock_show_inactive(Entity *entity)
void entity_TriggerBlock_enable_player_input(void)
void entity_ItemBlock_setupGfx(s32 entityIndex)
void entity_TriggerBlock_start_bound_script_2(Entity *entity)
s32 CreateEntityVarArgBuffer[]
EntityBlueprint Entity_InertRedBlock
#define STANDARD_ENTITY_MODEL_SCRIPT(gfx, renderMode)
#define es_SetCallback(func, time)
#define es_SetFlags(flags)
EntityBlueprint Entity_InertYellowBlock
#define es_PlaySound(soundId)
@ ITEM_SPAWN_MODE_ITEM_BLOCK_ITEM
@ ITEM_SPAWN_MODE_ITEM_BLOCK_COIN
@ ITEM_SPAWN_MODE_ITEM_BLOCK_BADGE
@ ENTITY_TYPE_HAMMER1_BLOCK
@ ENTITY_TYPE_SINGLE_TRIGGER_BLOCK
@ ENTITY_TYPE_HIDDEN_RED_BLOCK
@ ENTITY_TYPE_HIDDEN_YELLOW_BLOCK
@ ENTITY_TYPE_YELLOW_BLOCK
@ RENDER_MODE_SURFACE_XLU_LAYER2
@ RENDER_MODE_SURFACE_OPA
@ ENTITY_FLAG_HAS_ANIMATED_MODEL
@ ENTITY_FLAG_SHADOW_POS_DIRTY
@ ENTITY_FLAG_DRAW_IF_CLOSE_HIDE_MODE2
@ ENTITY_FLAG_HAS_DYNAMIC_SHADOW
@ ENTITY_FLAG_FIXED_SHADOW_SIZE
@ ENTITY_FLAG_BOUND_SCRIPT_DIRTY
@ ENTITY_FLAG_PENDING_INSTANCE_DELETE
@ ENTITY_FLAG_DISABLE_COLLISION
@ ENTITY_FLAG_FADING_AWAY
@ ENTITY_FLAG_PENDING_FULL_DELETE
Entity * get_entity_by_index(s32 index)
void play_model_animation(s32, s16 *)
s32 disable_player_input(void)
Shadow * get_shadow_by_index(s32 index)
s32 entity_start_script(Entity *entity)
s32 enable_player_input(void)
void gravity_use_fall_parms(void)
u32 get_entity_type(s32 arg0)
s32 make_item_entity(s32 itemID, f32 x, f32 y, f32 z, s32 itemSpawnMode, s32 pickupDelay, s32 angle, s32 pickupVar)
void set_action_state(s32 actionState)
s32 entity_base_block_idle(Entity *entity)
void set_entity_commandlist(Entity *entity, s32 *entityScript)
void exec_entity_commandlist(Entity *entity)
void entity_base_block_init(Entity *entity)
s32 create_entity(EntityBlueprint *bp,...)
s32 entity_block_handle_collision(Entity *entity)
s32 is_block_on_ground(Entity *block)
ModelAnimator * get_animator_by_index(s32 animModelID)
void(* renderSetupFunc)(s32)
EvtScript * boundScriptBytecode
u8 Addr[]
Linker symbol address, as in ld_addrs.h.
PlayerStatus gPlayerStatus
s32 get_global_flag(s32 index)