changeset 3634:8a5bd661130f draft

(svn r4539) - NewGRF: always check that the action 0x2 feature matches the action 0x1, not just on 'normal' sprite groups.
author peter1138 <peter1138@openttd.org>
date Sun, 23 Apr 2006 10:50:09 +0000
parents 51ac50fc980c
children fec5e3155fec
files newgrf.c
diffstat 1 files changed, 8 insertions(+), 5 deletions(-) [+]
line wrap: on
line diff
--- a/newgrf.c
+++ b/newgrf.c
@@ -1333,6 +1333,14 @@
 			_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 @@
 				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;