mirror of
https://github.com/JGRennison/OpenTTD-patches.git
synced 2024-11-16 00:12:51 +00:00
(svn r10038) -Fix (r8634): Sprite resulting from '?' substitution was reloaded into the cache entry for SPR_IMG_QUERY instead of the original sprite cache entry. This resulted in unaccounted missing sprite cache memory, and was exacerbated because the original missing sprite was not cached, so it did it again and again and again. Slowdowns and boom. Etc.
This commit is contained in:
parent
a81fd98057
commit
1102c157eb
@ -121,6 +121,7 @@ static void* ReadSprite(SpriteCache *sc, SpriteID id)
|
||||
{
|
||||
uint num;
|
||||
byte type;
|
||||
uint32 file_pos = sc->file_pos;
|
||||
|
||||
DEBUG(sprite, 9, "Load sprite %d", id);
|
||||
|
||||
@ -129,10 +130,10 @@ static void* ReadSprite(SpriteCache *sc, SpriteID id)
|
||||
|
||||
/* SPR_IMG_QUERY is a BIG FAT RED ? */
|
||||
id = SPR_IMG_QUERY;
|
||||
sc = GetSpriteCache(SPR_IMG_QUERY);
|
||||
file_pos = GetSpriteCache(SPR_IMG_QUERY)->file_pos;
|
||||
}
|
||||
|
||||
FioSeekToFile(sc->file_pos);
|
||||
FioSeekToFile(file_pos);
|
||||
|
||||
num = FioReadWord();
|
||||
type = FioReadByte();
|
||||
|
Loading…
Reference in New Issue
Block a user