6
6
* Ettore Perazzoli <ettore@comm2000.it>
7
* Andreas Boose <boose@linux.rz.fh-hannover.de>
7
* Andreas Boose <viceteam@t-online.de>
9
9
* This file is part of VICE, the Versatile Commodore Emulator.
10
10
* See README for copyright notice.
30
30
#include <string.h>
32
33
#include "raster-cache.h"
35
void raster_cache_init(raster_cache_t *cache)
34
#include "raster-sprite-status.h"
37
void raster_cache_new(raster_cache_t *cache, raster_sprite_status_t *status)
39
for (i = 0; i < RASTER_CACHE_MAX_SPRITES; i++)
40
raster_sprite_cache_init(&(cache->sprites[i]));
42
memset(cache->background_data, 0, RASTER_CACHE_MAX_TEXTCOLS);
43
memset(cache->foreground_data, 0, RASTER_CACHE_MAX_TEXTCOLS);
44
memset(cache->color_data_1, 0, RASTER_CACHE_MAX_TEXTCOLS);
45
memset(cache->color_data_2, 0, RASTER_CACHE_MAX_TEXTCOLS);
46
memset(cache->color_data_3, 0, RASTER_CACHE_MAX_TEXTCOLS);
41
memset(cache, 0, sizeof(raster_cache_t));
44
for (i = 0; i < RASTER_CACHE_MAX_SPRITES; i++)
45
(status->cache_init_func)(&(cache->sprites[i]));
47
cache->gfx_msk = lib_calloc(1, RASTER_CACHE_GFX_MSK_SIZE);
48
50
cache->is_dirty = 1;
51
raster_cache_t *raster_cache_new(void)
53
raster_cache_t *new_cache;
55
new_cache = (raster_cache_t *)xmalloc(sizeof(raster_cache_t));
56
raster_cache_init(new_cache);
53
void raster_cache_destroy(raster_cache_t *cache, raster_sprite_status_t *status)
56
lib_free(cache->gfx_msk);
60
void raster_cache_realloc(raster_cache_t **cache, unsigned int screen_height)
62
*cache = lib_realloc(*cache, sizeof(raster_cache_t) * screen_height);