int draw_sprite(struct sprite* sprite, int x, int y) { int frame; frame = sprite->active_animation == NULL ? 0 : sprite->active_animation->frames[sprite->current_frame].frame; draw_sprite_frame(sprite, x, y, frame); return frame; }
/* Our tiles art are stored as spritemaps. Drawing * the tiles means drawing one of the frames in * one of the spritemaps we use for each layer. */ static void draw_tile(struct game* game, struct sprite* tilemap, enum map_layer layer_name, struct tile_pos pos) { draw_sprite_frame(tilemap, TILE_SIZE * (pos.col) - game->camera.x, TILE_SIZE * (pos.row) - game->camera.y, get_tile_id(game->map_spec.data, game->layers[layer_name], pos) - 1); }