@@ -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;
0 commit comments