changeset 7862:f5474c8b9b6f draft

(svn r11412) -Fix (r11403): animation was not turned on properly. -Fix (r11410): wrong assumption about random reseeds made the whole thing reseed way too often, making the animation look very ugly.
author rubidium <rubidium@openttd.org>
date Sun, 11 Nov 2007 18:22:06 +0000
parents 6986bc3b90e4
children ea337dd0527c
files src/industry_cmd.cpp src/industry_map.h src/newgrf_spritegroup.cpp
diffstat 3 files changed, 7 insertions(+), 4 deletions(-) [+]
line wrap: on
line diff
--- a/src/industry_cmd.cpp
+++ b/src/industry_cmd.cpp
@@ -1437,8 +1437,9 @@
 	i->owner = owner;
 
 	r = Random();
-	i->random_color = GB(r, 8, 4);
-	i->counter = GB(r, 0, 12);
+	i->random_color = GB(r, 0, 4);
+	i->counter = GB(r, 4, 12);
+	i->random = GB(r, 16, 16);
 	i->produced_cargo_waiting[0] = 0;
 	i->produced_cargo_waiting[1] = 0;
 	i->incoming_cargo_waiting[0] = 0;
@@ -1512,7 +1513,8 @@
 			if (_generating_world) {
 				SetIndustryConstructionCounter(cur_tile, 3);
 				SetIndustryConstructionStage(cur_tile, 2);
-			} else if (it->gfx >= NEW_INDUSTRYTILEOFFSET) {
+			}
+			if (it->gfx >= NEW_INDUSTRYTILEOFFSET) {
 				/* New industry */
 				const IndustryTileSpec *its = GetIndustryTileSpec(it->gfx);
 				if (its->animation_info != 0xFFFF) AddAnimatedTile(cur_tile);
--- a/src/industry_map.h
+++ b/src/industry_map.h
@@ -169,6 +169,7 @@
 	_m[t].m3 = 0;
 	_m[t].m4 = 0;
 	SetIndustryGfx(t, gfx);
+	_me[t].m7 = Random();
 }
 
 /**
--- a/src/newgrf_spritegroup.cpp
+++ b/src/newgrf_spritegroup.cpp
@@ -252,7 +252,7 @@
 		/* Handle triggers */
 		/* Magic code that may or may not do the right things... */
 		byte waiting_triggers = object->GetTriggers(object);
-		byte match = group->g.random.triggers & (waiting_triggers | object->trigger) || group->g.random.triggers == 0;
+		byte match = group->g.random.triggers & (waiting_triggers | object->trigger);
 		bool res;
 
 		res = (group->g.random.cmp_mode == RSG_CMP_ANY) ?