mirror of
https://github.com/OpenTTD/OpenTTD.git
synced 2025-03-09 23:50:25 +00:00
(svn r18513) -Fix [FS#3379]: sometimes NewGRFs throw invalid data at OpenTTD and that triggered a check... that if a has to be between b and c (inclusive) then c must be bigger than or equal to b (and definitely not smaller)
This commit is contained in:
parent
35b8c8367e
commit
f0728ca1d1
@ -253,10 +253,10 @@ bool DrawNewIndustryTile(TileInfo *ti, Industry *i, IndustryGfx gfx, const Indus
|
||||
NewIndustryTileResolver(&object, gfx, ti->tile, i);
|
||||
|
||||
group = SpriteGroup::Resolve(inds->grf_prop.spritegroup, &object);
|
||||
if (group == NULL || group->type != SGT_TILELAYOUT) {
|
||||
const TileLayoutSpriteGroup *tlgroup = (const TileLayoutSpriteGroup *)group;
|
||||
if (group == NULL || group->type != SGT_TILELAYOUT || tlgroup->num_sprites == 0) {
|
||||
return false;
|
||||
} else {
|
||||
const TileLayoutSpriteGroup *tlgroup = (const TileLayoutSpriteGroup *)group;
|
||||
/* Limit the building stage to the number of stages supplied. */
|
||||
byte stage = GetIndustryConstructionStage(ti->tile);
|
||||
stage = Clamp(stage - 4 + tlgroup->num_sprites, 0, tlgroup->num_sprites - 1);
|
||||
|
Loading…
Reference in New Issue
Block a user