(svn r4483) - NewGRF: Dynamically allocate memory for 'real' spritegroups. This removes the limit of 16 loading/unloading states, although will result in less memory usage as most of the time the full fixed allocation wasn't used.

This commit is contained in:
peter1138
2006-04-20 13:33:40 +00:00
parent 62145d16b5
commit 9ed8c6d4ac
3 changed files with 9 additions and 15 deletions

View File

@@ -32,8 +32,6 @@ typedef struct DrawTileSprites {
typedef struct SpriteGroup SpriteGroup;
typedef struct RealSpriteGroup {
// XXX: Would anyone ever need more than 16 spritesets? Maybe we should
// use even less, now we take whole 8kb for custom sprites table, oh my!
byte sprites_per_set; // means number of directions - 4 or 8
// Loaded = in motion, loading = not moving
@@ -43,10 +41,10 @@ typedef struct RealSpriteGroup {
// with small amount of cargo whilst loading is for stations with a lot
// of da stuff.
byte loaded_count;
SpriteGroup *loaded[16]; // sprite ids
byte loading_count;
SpriteGroup *loading[16]; // sprite ids
byte loaded_count; ///< Number of loaded groups
SpriteGroup **loaded; ///< List of loaded groups (can be SpriteIDs or Callback results)
byte loading_count; ///< Number of loading groups
SpriteGroup **loading; ///< List of loading groups (can be SpriteIDs or Callback results)
} RealSpriteGroup;
/* Shared by deterministic and random groups. */