Skip to content

Commit 986adba

Browse files
committed
Use tileset.png for the player's sprite. #14
1 parent f4fea51 commit 986adba

File tree

7 files changed

+12
-21
lines changed

7 files changed

+12
-21
lines changed

CMakeLists.txt

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -157,7 +157,6 @@ if(PACK_ASSETS)
157157
frame.png
158158
frame_400x240.png
159159
frame_512x512.png
160-
kero.png
161160
overlay.png
162161
tileset.png
163162
)

assets/kero.png

-20.6 KB
Binary file not shown.

assets/kero.xcf

-200 KB
Binary file not shown.

assets/tileset.png

24.8 KB
Loading

assets/tileset.xcf

225 KB
Binary file not shown.

src/kero.c

Lines changed: 10 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -312,12 +312,6 @@ void destroy_kero(kero_t *kero)
312312
SDL_DestroySurface(kero->temp_canvas);
313313
kero->temp_canvas = NULL;
314314
}
315-
316-
if (kero->sprite)
317-
{
318-
SDL_DestroySurface(kero->sprite);
319-
kero->sprite = NULL;
320-
}
321315
}
322316
}
323317

@@ -330,12 +324,6 @@ bool load_kero(kero_t **kero, map_t *map)
330324
return false;
331325
}
332326

333-
if (!load_surface_from_file("kero.png", &(*kero)->sprite))
334-
{
335-
SDL_Log("Failed to load kero sprite");
336-
return false;
337-
}
338-
339327
#ifndef __DREAMCAST__
340328
SDL_PixelFormat pixel_format = SDL_PIXELFORMAT_XRGB4444;
341329
#else
@@ -501,18 +489,22 @@ void update_kero(kero_t *kero, map_t *map, overlay_t *ui, unsigned int *btn, SDL
501489
float move = fp_mul(kero->velocity_x, (float)kero->delta_time);
502490
if (kero->heading)
503491
{
504-
kero->sprite_offset = 0;
492+
kero->sprite_offset_y = 0;
505493
kero->pos_x += (kero->velocity_x > 0.f) ? move : -move;
506494
}
507495
else
508496
{
509-
kero->sprite_offset = 3;
497+
kero->sprite_offset_y = 3;
510498
kero->pos_x += (kero->velocity_x > 0.f) ? -move : move;
511499
}
512500

513501
if (kero->wears_mask)
514502
{
515-
kero->sprite_offset += 6;
503+
kero->sprite_offset_x = 12;
504+
}
505+
else
506+
{
507+
kero->sprite_offset_x = 0;
516508
}
517509

518510
clamp_kero_position(kero, map);
@@ -600,10 +592,10 @@ bool render_kero(kero_t *kero, map_t *map)
600592
return false;
601593
}
602594

603-
src.x = (kero->current_frame + kero->anim_offset_x) * KERO_SIZE;
604-
src.y = (kero->anim_offset_y + kero->sprite_offset) * KERO_SIZE;
595+
src.x = (kero->current_frame + kero->anim_offset_x + kero->sprite_offset_x) * KERO_SIZE;
596+
src.y = 656 + (kero->anim_offset_y + kero->sprite_offset_y) * KERO_SIZE;
605597

606-
if (!SDL_BlitSurface(kero->sprite, &src, kero->temp_canvas, NULL))
598+
if (!SDL_BlitSurface(map->tileset_surface, &src, kero->temp_canvas, NULL))
607599
{
608600
SDL_Log("Error blitting kero sprite: %s", SDL_GetError());
609601
return false;

src/kero.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,6 @@ typedef enum kero_state
3232

3333
typedef struct kero
3434
{
35-
SDL_Surface *sprite;
3635
SDL_Surface *render_canvas;
3736
SDL_Surface *temp_canvas;
3837

@@ -56,7 +55,8 @@ typedef struct kero
5655
int anim_length;
5756
int anim_offset_x;
5857
int anim_offset_y;
59-
int sprite_offset;
58+
int sprite_offset_x;
59+
int sprite_offset_y;
6060
int heading;
6161
int level;
6262
int prev_life_count;

0 commit comments

Comments
 (0)