Add pause feature on sprite animation
Ladder animation now pauses on no movementscene_man
parent
c0aa37886f
commit
937f63b0ca
|
@ -132,6 +132,7 @@ typedef struct _CSprite_t {
|
||||||
unsigned int current_idx;
|
unsigned int current_idx;
|
||||||
bool flip_x;
|
bool flip_x;
|
||||||
bool flip_y;
|
bool flip_y;
|
||||||
|
bool pause;
|
||||||
} CSprite_t;
|
} CSprite_t;
|
||||||
|
|
||||||
static inline void set_bbox(CBBox_t* p_bbox, unsigned int x, unsigned int y)
|
static inline void set_bbox(CBBox_t* p_bbox, unsigned int x, unsigned int y)
|
||||||
|
|
|
@ -1076,6 +1076,7 @@ void sprite_animation_system(Scene_t* scene)
|
||||||
p_cspr->sprites[spr_idx].sprite->current_frame = 0;
|
p_cspr->sprites[spr_idx].sprite->current_frame = 0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
if (p_cspr->pause) return;
|
||||||
SpriteRenderInfo_t spr = p_cspr->sprites[p_cspr->current_idx];
|
SpriteRenderInfo_t spr = p_cspr->sprites[p_cspr->current_idx];
|
||||||
// Animate it (handle frame count)
|
// Animate it (handle frame count)
|
||||||
spr.sprite->elapsed++;
|
spr.sprite->elapsed++;
|
||||||
|
|
|
@ -27,6 +27,8 @@ static unsigned int player_sprite_transition_func(Entity_t* ent)
|
||||||
if (p_ctrans->velocity.x > 0) p_spr->flip_x = true;
|
if (p_ctrans->velocity.x > 0) p_spr->flip_x = true;
|
||||||
else if (p_ctrans->velocity.x < 0) p_spr->flip_x = false;
|
else if (p_ctrans->velocity.x < 0) p_spr->flip_x = false;
|
||||||
|
|
||||||
|
p_spr->pause = false;
|
||||||
|
|
||||||
if (p_move->ground_state & 1)
|
if (p_move->ground_state & 1)
|
||||||
{
|
{
|
||||||
if (p_plr->is_crouch)
|
if (p_plr->is_crouch)
|
||||||
|
@ -44,6 +46,7 @@ static unsigned int player_sprite_transition_func(Entity_t* ent)
|
||||||
}
|
}
|
||||||
else if (p_plr->ladder_state)
|
else if (p_plr->ladder_state)
|
||||||
{
|
{
|
||||||
|
p_spr->pause = Vector2LengthSqr(p_ctrans->velocity) < 10.0f;
|
||||||
return SPR_PLAYER_LADDER;
|
return SPR_PLAYER_LADDER;
|
||||||
}
|
}
|
||||||
else if (p_move->water_state & 1)
|
else if (p_move->water_state & 1)
|
||||||
|
|
Loading…
Reference in New Issue