diff --git a/assets/Extras/Dagger.png b/assets/Extras/Dagger.png deleted file mode 100644 index b1f8c66..0000000 Binary files a/assets/Extras/Dagger.png and /dev/null differ diff --git a/src/projectile.c b/src/projectile.c index 1e7a91c..a566f96 100644 --- a/src/projectile.c +++ b/src/projectile.c @@ -31,25 +31,22 @@ static void onDaggerRender(Sprite *s) { - if (!timer_started(s->renderTimer)) - timer_start(s->renderTimer); - - if (timer_get_ticks(s->renderTimer) > 60) { - timer_start(s->renderTimer); - s->clip.x += 16; - s->clip.x = s->clip.x % 64; - } + if (s->angle >= 0) + s->angle += 30; + else + s->angle -= 30; } Projectile * projectile_dagger_create(void) { Projectile *p = projectile_create(); - sprite_set_texture(p->sprite, texturecache_add("Extras/Dagger.png"), 0); + sprite_set_texture(p->sprite, texturecache_add("Items/ShortWep.png"), 0); p->sprite->onRender = onDaggerRender; p->sprite->animate = false; p->sprite->clip = CLIP16(0, 0); p->sprite->dim = (Dimension) { 32, 32 }; + p->sprite->rotationPoint = (SDL_Point) { 16, 16 }; return p; } diff --git a/src/skill.c b/src/skill.c index df9724c..bfea534 100644 --- a/src/skill.c +++ b/src/skill.c @@ -143,14 +143,22 @@ skill_throw_dagger(Skill *skill, SkillData *data) data->player->daggers--; Projectile *p = projectile_dagger_create(); - if (vector2d_equals(VECTOR2D_UP, data->direction)) + if (vector2d_equals(VECTOR2D_UP, data->direction)) { p->velocity = (Vector2d) { 0, -DAGGER_VELOCITY }; - else if (vector2d_equals(VECTOR2D_DOWN, data->direction)) + p->sprite->flip = SDL_FLIP_VERTICAL; + } + else if (vector2d_equals(VECTOR2D_DOWN, data->direction)) { p->velocity = (Vector2d) { 0, DAGGER_VELOCITY }; - else if (vector2d_equals(VECTOR2D_RIGHT, data->direction)) + p->sprite->flip = SDL_FLIP_HORIZONTAL; + } + else if (vector2d_equals(VECTOR2D_RIGHT, data->direction)) { p->velocity = (Vector2d) { DAGGER_VELOCITY, 0 }; - else + p->sprite->flip = SDL_FLIP_HORIZONTAL; + } + else { p->velocity = (Vector2d) { -DAGGER_VELOCITY, 0 }; + p->sprite->angle = -270; + } set_player_clip_for_direction(data->player, &data->direction);