tely: Decouple entity from sprite sheet
This commit is contained in:
+12
-13
@@ -434,11 +434,11 @@ static void FP_Game_EntityActionSetState(FP_GameEntityAction *action, FP_GameEnt
|
||||
|
||||
// Reset the timers and animation for the current action and set the duration
|
||||
// for the new action.
|
||||
static void FP_Game_EntityActionReset(FP_GameEntityAction *action, Dqn_f32 new_action_duration, TELY_AssetSpriteAnimation *anim)
|
||||
static void FP_Game_EntityActionReset(FP_GameEntityAction *action, Dqn_f32 new_action_duration, FP_ActionToAnimationMapping mapping)
|
||||
{
|
||||
if (!action)
|
||||
return;
|
||||
action->anim = anim;
|
||||
action->mapping = mapping;
|
||||
action->timer_s = 0.f;
|
||||
action->end_at_s = new_action_duration;
|
||||
action->flags = 0;
|
||||
@@ -667,17 +667,16 @@ static FP_GameEntityHandle FP_Game_EntityAddWallAtTile(FP_Game *game, Dqn_String
|
||||
|
||||
static FP_GameEntityHandle FP_Game_EntityAddMob(FP_Game *game, Dqn_V2 pos)
|
||||
{
|
||||
FP_GameEntity *entity = FP_Game_MakeEntityPointerF(game, "Mob");
|
||||
entity->local_pos = pos;
|
||||
entity->size_scale = Dqn_V2_InitNx1(.5f);
|
||||
entity->sprite_sheet = &game->smoochie_sprite_sheet;
|
||||
entity->sprite_anims = game->smoochie_sprite_anims;
|
||||
entity->local_hit_box_size = Dqn_V2_InitV2I(game->smoochie_sprite_sheet.sprite_size);
|
||||
entity->flags |= FP_GameEntityFlag_Clickable;
|
||||
entity->flags |= FP_GameEntityFlag_MoveByKeyboard;
|
||||
entity->flags |= FP_GameEntityFlag_MoveByMouse;
|
||||
entity->flags |= FP_GameEntityFlag_NonTraversable;
|
||||
entity->stalk_entity = game->player;
|
||||
FP_GameEntity *entity = FP_Game_MakeEntityPointerF(game, "Mob");
|
||||
entity->local_pos = pos;
|
||||
entity->size_scale = Dqn_V2_InitNx1(.25f);
|
||||
entity->action_to_anim_mapping = game->smoochie_action_mappings;
|
||||
entity->local_hit_box_size = Dqn_V2_InitV2I(game->smoochie_sprite_sheet.sprite_size);
|
||||
entity->flags |= FP_GameEntityFlag_Clickable;
|
||||
entity->flags |= FP_GameEntityFlag_MoveByKeyboard;
|
||||
entity->flags |= FP_GameEntityFlag_MoveByMouse;
|
||||
entity->flags |= FP_GameEntityFlag_NonTraversable;
|
||||
entity->stalk_entity = game->player;
|
||||
|
||||
FP_GameEntityHandle result = entity->handle;
|
||||
return result;
|
||||
|
||||
Reference in New Issue
Block a user