mirror of
https://github.com/JGRennison/OpenTTD-patches.git
synced 2024-11-17 21:25:40 +00:00
(svn r23005) -Fix (r23004): Of course there's still the 16-sprite version for shore tiles... we should continue to handle it.
This commit is contained in:
parent
162b98faa5
commit
824f17215e
@ -5332,11 +5332,21 @@ static void GraphicsNew(ByteReader *buf)
|
||||
|
||||
const Action5Type *action5_type = &_action5_types[type];
|
||||
|
||||
/* Contrary to TTDP we allow always to specify too few sprites as we allow always an offset.
|
||||
* Thus no check for the amount of sprites is needed (anymore).
|
||||
* The only no-offset entry, shores, is handled above already.
|
||||
* We'll assume that offsets are always allowed further down, thus assert on this */
|
||||
assert(action5_type->block_type == A5BLOCK_ALLOW_OFFSET);
|
||||
/* Contrary to TTDP we allow always to specify too few sprites as we allow always an offset,
|
||||
* except for the long version of the shore type:
|
||||
* Ignore offset if not allowed */
|
||||
if ((action5_type->block_type != A5BLOCK_ALLOW_OFFSET) && (offset != 0)) {
|
||||
grfmsg(1, "GraphicsNew: %s (type 0x%02X) do not allow an <offset> field. Ignoring offset.", action5_type->name, type);
|
||||
offset = 0;
|
||||
}
|
||||
|
||||
/* Ignore action5 if too few sprites are specified. (for TTDP compatibility)
|
||||
* This does not make sense, if <offset> is allowed */
|
||||
if ((action5_type->block_type == A5BLOCK_FIXED) && (num < action5_type->min_sprites)) {
|
||||
grfmsg(1, "GraphicsNew: %s (type 0x%02X) count must be at least %d. Only %d were specified. Skipping.", action5_type->name, type, action5_type->min_sprites, num);
|
||||
_cur.skip_sprites = num;
|
||||
return;
|
||||
}
|
||||
|
||||
/* Load at most max_sprites sprites. Skip remaining sprites. (for compatibility with TTDP and future extentions) */
|
||||
uint16 skip_num = SanitizeSpriteOffset(num, offset, action5_type->max_sprites, action5_type->name);
|
||||
|
Loading…
Reference in New Issue
Block a user