From 26d24f64fc78d15464e35aa56c7788dcf70eba39 Mon Sep 17 00:00:00 2001 From: tron Date: Sat, 13 Aug 2005 21:40:22 +0000 Subject: [PATCH] (svn r2865) Push the responsibility for allocating the sprite heap into GfxInitSpriteMem() --- spritecache.c | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) diff --git a/spritecache.c b/spritecache.c index e30a5e1955..da1b7d43f6 100644 --- a/spritecache.c +++ b/spritecache.c @@ -785,13 +785,13 @@ static void LoadSpriteTables(void) _compact_cache_counter = 0; } -static void GfxInitSpriteMem(void *ptr, uint32 size) +static void GfxInitSpriteMem(void) { // initialize sprite cache heap - _spritecache_ptr = ptr; + if (_spritecache_ptr == NULL) _spritecache_ptr = malloc(SPRITE_CACHE_SIZE); // A big free block - _spritecache_ptr->size = (size - sizeof(MemBlock)) | S_FREE_MASK; + _spritecache_ptr->size = (SPRITE_CACHE_SIZE - sizeof(MemBlock)) | S_FREE_MASK; // Sentinel block (identified by size == 0) NextBlock(_spritecache_ptr)->size = 0; @@ -801,8 +801,6 @@ static void GfxInitSpriteMem(void *ptr, uint32 size) void GfxLoadSprites(void) { - static byte *_sprite_mem; - // Need to reload the sprites only if the landscape changed if (_sprite_page_to_load != _opt.landscape) { _sprite_page_to_load = _opt.landscape; @@ -810,9 +808,7 @@ void GfxLoadSprites(void) // Sprite cache DEBUG(spritecache, 1) ("Loading sprite set %d.", _sprite_page_to_load); - // Reuse existing memory? - if (_sprite_mem == NULL) _sprite_mem = malloc(SPRITE_CACHE_SIZE); - GfxInitSpriteMem(_sprite_mem, SPRITE_CACHE_SIZE); + GfxInitSpriteMem(); LoadSpriteTables(); GfxInitPalettes(); }