newgrf_spritegroup.c
changeset 4894 b9322e55f0e1
parent 4402 356627e69fc5
child 4971 2a9325fca331
equal deleted inserted replaced
4893:000692659d8c 4894:b9322e55f0e1
    17 static MemoryPool _spritegroup_pool;
    17 static MemoryPool _spritegroup_pool;
    18 
    18 
    19 void DestroySpriteGroup(SpriteGroup *group)
    19 void DestroySpriteGroup(SpriteGroup *group)
    20 {
    20 {
    21 	/* Free dynamically allocated memory */
    21 	/* Free dynamically allocated memory */
       
    22 	/* XXX Cast away the consts due to MSVC being buggy... */
    22 	switch (group->type) {
    23 	switch (group->type) {
    23 		case SGT_REAL:
    24 		case SGT_REAL:
    24 			free(group->g.real.loaded);
    25 			free((SpriteGroup**)group->g.real.loaded);
    25 			free(group->g.real.loading);
    26 			free((SpriteGroup**)group->g.real.loading);
    26 			break;
    27 			break;
    27 
    28 
    28 		case SGT_DETERMINISTIC:
    29 		case SGT_DETERMINISTIC:
    29 			free(group->g.determ.adjusts);
    30 			free(group->g.determ.adjusts);
    30 			free(group->g.determ.ranges);
    31 			free(group->g.determ.ranges);
    31 			break;
    32 			break;
    32 
    33 
    33 		case SGT_RANDOMIZED:
    34 		case SGT_RANDOMIZED:
    34 			free(group->g.random.groups);
    35 			free((SpriteGroup**)group->g.random.groups);
    35 			break;
    36 			break;
    36 
    37 
    37 		default:
    38 		default:
    38 			break;
    39 			break;
    39 	}
    40 	}