summaryrefslogtreecommitdiff
path: root/src/spritecache.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/spritecache.cpp')
-rw-r--r--src/spritecache.cpp21
1 files changed, 2 insertions, 19 deletions
diff --git a/src/spritecache.cpp b/src/spritecache.cpp
index 48c4d67e2..0db889946 100644
--- a/src/spritecache.cpp
+++ b/src/spritecache.cpp
@@ -24,7 +24,6 @@ uint _sprite_cache_size = 4;
struct SpriteCache {
void *ptr;
- const char *grf_name;
uint32 id;
uint32 file_pos;
uint16 file_slot;
@@ -143,7 +142,7 @@ static void* ReadSprite(SpriteCache *sc, SpriteID id, bool real_sprite)
SpriteLoaderPNG sprite_loader;
SpriteLoader::Sprite sprite;
- if (sprite_loader.LoadSprite(&sprite, sc->grf_name, 0, sc->id)) {
+ if (sprite_loader.LoadSprite(&sprite, file_slot, sc->id)) {
sc->ptr = BlitterFactoryBase::GetCurrentBlitter()->Encode(&sprite, &AllocSprite);
free(sprite.data);
@@ -230,7 +229,7 @@ static void* ReadSprite(SpriteCache *sc, SpriteID id, bool real_sprite)
SpriteLoaderGrf sprite_loader;
SpriteLoader::Sprite sprite;
- if (!sprite_loader.LoadSprite(&sprite, sc->grf_name, file_slot, file_pos)) return NULL;
+ if (!sprite_loader.LoadSprite(&sprite, file_slot, file_pos)) return NULL;
if (id == 142) sprite.height = 10; // Compensate for a TTD bug
sc->ptr = BlitterFactoryBase::GetCurrentBlitter()->Encode(&sprite, &AllocSprite);
free(sprite.data);
@@ -257,19 +256,6 @@ bool LoadNextSprite(int load_index, byte file_slot, uint file_sprite_id)
sc->lru = 0;
sc->id = file_sprite_id;
- const char *fio_grf_name = FioGetFilename();
- const char *t = strrchr(fio_grf_name, PATHSEPCHAR);
- char *grf_name;
- if (t == NULL) grf_name = strdup(fio_grf_name);
- else grf_name = strdup(t);
- /* Make the string lowercase and strip extension */
- char *t2 = strrchr(grf_name, '.');
- if (t2 != NULL) *t2 = '\0';
- strtolower(grf_name);
-
- free((char *)sc->grf_name);
- sc->grf_name = grf_name;
-
return true;
}
@@ -283,8 +269,6 @@ void DupSprite(SpriteID old_spr, SpriteID new_spr)
scnew->file_pos = scold->file_pos;
scnew->ptr = NULL;
scnew->id = scold->id;
- free((char *)scnew->grf_name);
- scnew->grf_name = strdup(scold->grf_name);
}
@@ -493,7 +477,6 @@ void GfxInitSpriteMem()
NextBlock(_spritecache_ptr)->size = 0;
/* Reset the spritecache 'pool' */
- for (uint i = 0; i < _spritecache_items; i++) free((char *)_spritecache[i].grf_name);
free(_spritecache);
_spritecache_items = 0;
_spritecache = NULL;