Changeset - r11993:daa4f143c220
[Not reviewed]
master
0 1 0
rubidium - 15 years ago 2009-05-23 16:39:55
rubidium@openttd.org
(svn r16404) -Fix [FS#2911] (r16378): the number of spritegroups got halved when the new pool was added, which mean there weren't enough spritegroups when you have more than about a dozen ECS vectors.
-Change: increase the spritegroup pool's maximum size to something more than the number of real sprites that OpenTTD can handle; for example ECS has about 30 spritegroups per real sprite. With the 'old' limit that would mean 'only' about 4000 real sprites worth of spritegroups could be loaded.
1 file changed with 5 insertions and 1 deletions:
0 comments (0 inline, 0 general)
src/newgrf_spritegroup.h
Show inline comments
 
@@ -43,7 +43,11 @@ enum SpriteGroupType {
 

	
 
struct SpriteGroup;
 
typedef uint32 SpriteGroupID;
 
typedef Pool<SpriteGroup, SpriteGroupID, 512, 64000> SpriteGroupPool;
 

	
 
/* SPRITE_WIDTH is 24. ECS has roughly 30 sprite groups per real sprite.
 
 * Adding an 'extra' margin would be assuming 64 sprite groups per real
 
 * sprite. 64 = 2^6, so 2^30 should be enough (for now) */
 
typedef Pool<SpriteGroup, SpriteGroupID, 1024, 1 << 30> SpriteGroupPool;
 
extern SpriteGroupPool _spritegroup_pool;
 

	
 
/* Common wrapper for all the different sprite group types */
0 comments (0 inline, 0 general)