summaryrefslogtreecommitdiff
path: root/newgrf.c
diff options
context:
space:
mode:
authorpeter1138 <peter1138@openttd.org>2006-04-23 10:50:09 +0000
committerpeter1138 <peter1138@openttd.org>2006-04-23 10:50:09 +0000
commitc77f77304aea9b7549db4f7a39dac361af2a671a (patch)
treeaa4da38284fb34b800d45cd2d592320cf9503b32 /newgrf.c
parentf74a683f90b0a72a9e1e29d867b2343c2afe88b0 (diff)
downloadopenttd-c77f77304aea9b7549db4f7a39dac361af2a671a.tar.xz
(svn r4539) - NewGRF: always check that the action 0x2 feature matches the action 0x1, not just on 'normal' sprite groups.
Diffstat (limited to 'newgrf.c')
-rw-r--r--newgrf.c13
1 files changed, 8 insertions, 5 deletions
diff --git a/newgrf.c b/newgrf.c
index 2d83e53c1..a8ab78f20 100644
--- a/newgrf.c
+++ b/newgrf.c
@@ -1333,6 +1333,14 @@ static void NewSpriteGroup(byte *buf, int len)
_cur_grffile->spritegroups[_cur_grffile->spritegroups_count] = NULL;
}
+ if (feature != _cur_grffile->spriteset_feature) {
+ grfmsg(GMS_WARN, "NewSpriteGroup: sprite set feature 0x%02X does not match action feature 0x%02X, skipping.",
+ _cur_grffile->spriteset_feature, feature);
+ /* Clear this group's reference */
+ _cur_grffile->spritegroups[setid] = NULL;
+ return;
+ }
+
switch (type) {
/* Deterministic Sprite Group */
case 0x81: // Self scope, byte
@@ -1449,11 +1457,6 @@ static void NewSpriteGroup(byte *buf, int len)
return;
}
- if (_cur_grffile->spriteset_feature != feature) {
- grfmsg(GMS_ERROR, "NewSpriteGroup: Group feature 0x%02X doesn't match set feature 0x%X! Playing it risky and trying to use it anyway.", feature, _cur_grffile->spriteset_feature);
- // return; // XXX: we can't because of MB's newstats.grf --pasky
- }
-
if (_cur_grffile->first_spriteset == 0)
_cur_grffile->first_spriteset = _cur_grffile->spriteset_start;