summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorfrosch <frosch@openttd.org>2008-03-12 15:56:56 +0000
committerfrosch <frosch@openttd.org>2008-03-12 15:56:56 +0000
commit84385f187b2f8d99366a56fa57d487627056d315 (patch)
tree18f4e77b7a676f42715fa6c722d13db4b96ebf7a
parent761224a4f6e7ba8c3c4800b87191a4df06af7878 (diff)
downloadopenttd-84385f187b2f8d99366a56fa57d487627056d315.tar.xz
(svn r12362) -Fix (r11985, r12006): Randomize variable 8F only once per callback 28.
-rw-r--r--src/newgrf_industries.cpp6
1 files changed, 3 insertions, 3 deletions
diff --git a/src/newgrf_industries.cpp b/src/newgrf_industries.cpp
index ceb705e8a..618458d6b 100644
--- a/src/newgrf_industries.cpp
+++ b/src/newgrf_industries.cpp
@@ -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 @@ uint32 IndustryLocationGetVariable(const ResolverObject *object, byte variable,
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 @@ bool CheckIfCallBackAllowsCreation(TileIndex tile, IndustryType type, uint itspe
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);