feat: add walk animations *
also fix walk animation displaying
This commit is contained in:
parent
92fbb27f18
commit
6ad613d4bb
31 changed files with 6649 additions and 26 deletions
|
|
@ -6,7 +6,7 @@
|
|||
/* By: mcolonna <marvin@42.fr> +#+ +:+ +#+ */
|
||||
/* +#+#+#+#+#+ +#+ */
|
||||
/* Created: 2024/02/26 16:27:06 by mcolonna #+# #+# */
|
||||
/* Updated: 2024/04/02 17:27:27 by mcolonna ### ########.fr */
|
||||
/* Updated: 2024/04/05 18:44:23 by mcolonna ### ########.fr */
|
||||
/* */
|
||||
/* ************************************************************************** */
|
||||
|
||||
|
|
@ -27,6 +27,18 @@ const t_assetmeta g_assetsmap[NB_ASSETS] = {
|
|||
{"object/snas/up", 50, 100, 30, 100, false},
|
||||
{"object/snas/left", 50, 100, 30, 100, false},
|
||||
{"object/snas/right", 50, 100, 30, 100, false},
|
||||
{"object/snas/walk_down_1", 50, 100, 30, 100, false},
|
||||
{"object/snas/walk_down_2", 50, 100, 30, 100, false},
|
||||
{"object/snas/walk_down_3", 50, 100, 30, 100, false},
|
||||
{"object/snas/walk_down_4", 50, 100, 30, 100, false},
|
||||
{"object/snas/walk_right_1", 50, 100, 30, 100, false},
|
||||
{"object/snas/walk_right_2", 50, 100, 30, 100, false},
|
||||
{"object/snas/walk_left_1", 50, 100, 30, 100, false},
|
||||
{"object/snas/walk_left_2", 50, 100, 30, 100, false},
|
||||
{"object/snas/walk_up_1", 50, 100, 30, 100, false},
|
||||
{"object/snas/walk_up_2", 50, 100, 30, 100, false},
|
||||
{"object/snas/walk_up_3", 50, 100, 30, 100, false},
|
||||
{"object/snas/walk_up_4", 50, 100, 30, 100, false},
|
||||
// firsk
|
||||
{"object/firsk/down", 50, 110, 30, 100, false},
|
||||
{"object/firsk/up", 40, 100, 30, 100, false},
|
||||
|
|
|
|||
|
|
@ -6,7 +6,7 @@
|
|||
/* By: mcolonna <marvin@42.fr> +#+ +:+ +#+ */
|
||||
/* +#+#+#+#+#+ +#+ */
|
||||
/* Created: 2024/03/11 16:02:29 by mcolonna #+# #+# */
|
||||
/* Updated: 2024/04/03 16:05:09 by mcolonna ### ########.fr */
|
||||
/* Updated: 2024/04/05 18:45:02 by mcolonna ### ########.fr */
|
||||
/* */
|
||||
/* ************************************************************************** */
|
||||
|
||||
|
|
@ -17,10 +17,10 @@ const t_spritemeta g_spritesmap[NB_SPRITES] = {
|
|||
{FLOOR_1, 50, 50, ANIMATION, 1, 1},
|
||||
{FLOOR_2, 50, 50, ANIMATION, 1, 1},
|
||||
{OBJECT_SNAS, 50, 50, CHARACTER_STILL, 0, 0},
|
||||
{OBJECT_SNAS_DOWN, 50, 50, ANIMATION, 1, 1},
|
||||
{OBJECT_SNAS_UP, 50, 50, ANIMATION, 1, 1},
|
||||
{OBJECT_SNAS_LEFT, 50, 50, ANIMATION, 1, 1},
|
||||
{OBJECT_SNAS_RIGHT, 50, 50, ANIMATION, 1, 1},
|
||||
{OBJECT_SNAS_WALK_DOWN_1, 50, 50, ANIMATION, 4, 3},
|
||||
{OBJECT_SNAS_WALK_UP_1, 50, 50, ANIMATION, 4, 3},
|
||||
{OBJECT_SNAS_WALK_RIGHT_1, 50, 50, ANIMATION, 2, 3},
|
||||
{OBJECT_SNAS_WALK_LEFT_1, 50, 50, ANIMATION, 2, 3},
|
||||
{WALL_INNER, 50, 50, ANIMATION, 1, 1},
|
||||
{OBJECT_KETCHUP_STILL_1, 50, 50, ANIMATION, 4, 4},
|
||||
{OBJECT_KETCHUP_FADE_1, 50, 50, ANIMATION_ONCE, 3, 1},
|
||||
|
|
|
|||
|
|
@ -6,7 +6,7 @@
|
|||
/* By: mcolonna <marvin@42.fr> +#+ +:+ +#+ */
|
||||
/* +#+#+#+#+#+ +#+ */
|
||||
/* Created: 2024/03/15 15:27:03 by mcolonna #+# #+# */
|
||||
/* Updated: 2024/04/02 17:35:56 by mcolonna ### ########.fr */
|
||||
/* Updated: 2024/04/05 19:44:45 by mcolonna ### ########.fr */
|
||||
/* */
|
||||
/* ************************************************************************** */
|
||||
|
||||
|
|
@ -20,12 +20,17 @@ static void character_initstate(t_character *character)
|
|||
character->sprites->walk_left,
|
||||
character->sprites->walk_right,
|
||||
};
|
||||
t_sprite new_spr;
|
||||
|
||||
if (character->walk_remaining_steps)
|
||||
character->spr = sprite_init(walk_sprites[character->direction]);
|
||||
{
|
||||
new_spr = sprite_init(walk_sprites[character->direction]);
|
||||
if (character->spr.meta != new_spr.meta)
|
||||
character->spr = new_spr;
|
||||
}
|
||||
else
|
||||
{
|
||||
character->spr = sprite_init(SPR_SNAS);
|
||||
character->spr = sprite_init(character->sprites->still);
|
||||
sprite_character_set_direction(&character->spr, character->direction);
|
||||
}
|
||||
}
|
||||
|
|
@ -50,9 +55,11 @@ t_point character_loop(
|
|||
|
||||
move = NO_DIRECTION;
|
||||
if (character->walk_remaining_steps)
|
||||
if (!--character->walk_remaining_steps)
|
||||
character_initstate(character);
|
||||
if (!character->walk_remaining_steps)
|
||||
{
|
||||
character_initstate(character);
|
||||
character->walk_remaining_steps--;
|
||||
}
|
||||
else
|
||||
{
|
||||
move = brain();
|
||||
if (move != NO_DIRECTION)
|
||||
|
|
@ -64,8 +71,8 @@ t_point character_loop(
|
|||
character_initstate(character);
|
||||
return (point_fromdirection(character->direction));
|
||||
}
|
||||
character_initstate(character);
|
||||
}
|
||||
character_initstate(character);
|
||||
}
|
||||
return (point_init(0, 0));
|
||||
}
|
||||
|
|
@ -77,6 +84,7 @@ t_character character_init(t_character_sprites *sprites)
|
|||
r.direction = DOWN;
|
||||
r.sprites = sprites;
|
||||
r.walk_remaining_steps = 0;
|
||||
r.spr = sprite_init(r.sprites->still);
|
||||
character_initstate(&r);
|
||||
return (r);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -6,7 +6,7 @@
|
|||
/* By: mcolonna <marvin@42.fr> +#+ +:+ +#+ */
|
||||
/* +#+#+#+#+#+ +#+ */
|
||||
/* Created: 2024/03/15 15:27:03 by mcolonna #+# #+# */
|
||||
/* Updated: 2024/04/03 15:16:56 by mcolonna ### ########.fr */
|
||||
/* Updated: 2024/04/04 16:08:52 by mcolonna ### ########.fr */
|
||||
/* */
|
||||
/* ************************************************************************** */
|
||||
|
||||
|
|
@ -42,10 +42,10 @@ t_object snas_init(t_memclass mc)
|
|||
= {loop: snas_loop, draw: snas_draw, walk_through: NULL};
|
||||
static const t_character_sprites sprites = {
|
||||
still: SPR_SNAS,
|
||||
walk_left: SPR_SNAS_LEFT,
|
||||
walk_right: SPR_SNAS_RIGHT,
|
||||
walk_up: SPR_SNAS_UP,
|
||||
walk_down: SPR_SNAS_DOWN,
|
||||
walk_left: SPR_SNAS_WALK_LEFT,
|
||||
walk_right: SPR_SNAS_WALK_RIGHT,
|
||||
walk_up: SPR_SNAS_WALK_UP,
|
||||
walk_down: SPR_SNAS_WALK_DOWN,
|
||||
};
|
||||
t_object r;
|
||||
t_snas_data *data;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue