diff options
author | peter1138 <peter1138@openttd.org> | 2006-04-26 20:18:29 +0000 |
---|---|---|
committer | peter1138 <peter1138@openttd.org> | 2006-04-26 20:18:29 +0000 |
commit | b81e6dd6a2ab42524f66d456266ae2f6171ba08b (patch) | |
tree | 508ed6c316138d7aae749a30898d6905b75f6ff4 | |
parent | 2b96c107fa99ba270b5f7e303279668110b38de9 (diff) | |
download | openttd-b81e6dd6a2ab42524f66d456266ae2f6171ba08b.tar.xz |
(svn r4582) - NewGRF: include an additional check to see if a spriteset id is within range.
-rw-r--r-- | newgrf.c | 5 |
1 files changed, 5 insertions, 0 deletions
@@ -1319,6 +1319,11 @@ static SpriteGroup* CreateGroupFromGroupID(byte setid, byte type, uint16 spritei { if (HASBIT(spriteid, 15)) return NewCallBackResultSpriteGroup(spriteid); + if (spriteid >= _cur_grffile->spriteset_numsets) { + grfmsg(GMS_WARN, "NewSpriteGroup(0x%02X:0x%02X): Sprite set %u invalid, max %u", setid, type, spriteid, _cur_grffile->spriteset_numsets); + return NULL; + } + /* Check if the sprite is within range. This can fail if the Action 0x01 * is skipped, as TTDPatch mandates that Action 0x02s must be processed. * We don't have that rule, but must live by the Patch... */ |