(svn r12362) -Fix (r11985, r12006): Randomize variable 8F only once per callback 28.
authorfrosch
Wed, 12 Mar 2008 15:56:56 +0000
changeset 9185 514feeaebf63
parent 9184 38dc03691a48
child 9186 653a01190f32
(svn r12362) -Fix (r11985, r12006): Randomize variable 8F only once per callback 28.
src/newgrf_industries.cpp
--- a/src/newgrf_industries.cpp	Wed Mar 12 08:47:44 2008 +0000
+++ b/src/newgrf_industries.cpp	Wed Mar 12 15:56:56 2008 +0000
@@ -25,7 +25,7 @@
 
 #include "table/strings.h"
 
-static Randomizer _industry_creation_randomizer;
+static uint32 _industry_creation_random_bits;
 
 /* Since the industry IDs defined by the GRF file don't necessarily correlate
  * to those used by the game, the IDs used for overriding old industries must be
@@ -469,7 +469,7 @@
 		case 0x8D: return min(DistanceSquare(industry->town->xy, tile), 65535);
 
 		/* 32 random bits */
-		case 0x8F: return _industry_creation_randomizer.Next();
+		case 0x8F: return _industry_creation_random_bits;
 	}
 
 	/* None of the special ones, so try the general ones */
@@ -494,7 +494,7 @@
 	NewIndustryResolver(&object, tile, &ind, type);
 	object.GetVariable = IndustryLocationGetVariable;
 	object.callback = CBID_INDUSTRY_LOCATION;
-	_industry_creation_randomizer.SetSeed(seed);
+	_industry_creation_random_bits = seed;
 
 	group = Resolve(GetIndustrySpec(type)->grf_prop.spritegroup, &object);