fp: Add terry ghosting
This commit is contained in:
+23
-2
@@ -599,10 +599,31 @@ void FP_EntityActionStateMachine(FP_Game *game, TELY_Audio *audio, TELY_Platform
|
||||
uint64_t duration_ms = 250;
|
||||
FP_Game_EntityActionReset(game, entity->handle, duration_ms, render_data.sprite);
|
||||
*acceleration_meters_per_s *= 35.f;
|
||||
|
||||
#if 0
|
||||
FP_GameRenderSprite *cosmetic_sprite = Dqn_FArray_Make(&entity->extra_cosmetic_anims, Dqn_ZeroMem_Yes);
|
||||
if (cosmetic_sprite) {
|
||||
cosmetic_sprite->asset = TELY_Asset_MakeAnimatedSprite(sheet, g_anim_names.terry_ghost, TELY_AssetFlip_No);
|
||||
cosmetic_sprite->started_at_clock_ms = game->clock_ms;
|
||||
cosmetic_sprite->height.meters = entity->sprite_height.meters;
|
||||
|
||||
uint32_t max_rng_dist_x = DQN_CAST(uint32_t)(FP_Game_MetersToPixelsNx1(game, entity->sprite_height.meters) * 1.f);
|
||||
uint32_t rng_x = Dqn_PCG32_Range(&game->rng, DQN_CAST(uint32_t)0, max_rng_dist_x);
|
||||
cosmetic_sprite->offset.x = rng_x - (max_rng_dist_x * .5f);
|
||||
|
||||
uint32_t max_rng_dist_y = DQN_CAST(uint32_t)(FP_Game_MetersToPixelsNx1(game, entity->sprite_height.meters) * .25f);
|
||||
uint32_t rng_y = Dqn_PCG32_Range(&game->rng, DQN_CAST(uint32_t)0, max_rng_dist_y);
|
||||
cosmetic_sprite->offset.y = -DQN_CAST(Dqn_f32)rng_y;
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
||||
if (action_has_finished)
|
||||
entity->action.sprite_alpha = Dqn_PCG32_NextF32(&game->rng);
|
||||
|
||||
if (action_has_finished) {
|
||||
FP_Game_EntityTransitionState(game, entity, FP_EntityTerryState_Run);
|
||||
entity->action.sprite_alpha = 1.f;
|
||||
}
|
||||
} break;
|
||||
}
|
||||
|
||||
@@ -2062,7 +2083,7 @@ void FP_Render(FP_Game *game, TELY_Platform *platform, TELY_Renderer *renderer)
|
||||
dest_rect,
|
||||
Dqn_V2_Zero /*rotate origin*/,
|
||||
0.f /*rotate radians*/,
|
||||
TELY_COLOUR_WHITE_V4);
|
||||
TELY_Colour_V4Alpha(TELY_COLOUR_WHITE_V4, entity->action.sprite_alpha));
|
||||
}
|
||||
|
||||
DQN_FOR_UINDEX(anim_index, entity->extra_cosmetic_anims.size) {
|
||||
|
||||
Reference in New Issue
Block a user