summaryrefslogtreecommitdiff
path: root/src/newgrf_engine.cpp
diff options
context:
space:
mode:
authorfrosch <frosch@openttd.org>2011-07-04 20:37:20 +0000
committerfrosch <frosch@openttd.org>2011-07-04 20:37:20 +0000
commit8930337aaec29771b991f2f89f7b7279466278a8 (patch)
tree3e89fb9bace9fa113eeec8c9cff7c32dec4f2f2a /src/newgrf_engine.cpp
parent8b18292a2ec1be31d7c1fe7cfcba26facb9c7ada (diff)
downloadopenttd-8930337aaec29771b991f2f89f7b7279466278a8.tar.xz
(svn r22635) -Fix: Correctly reseed random bits of industries and industry tiles.
Diffstat (limited to 'src/newgrf_engine.cpp')
-rw-r--r--src/newgrf_engine.cpp5
1 files changed, 3 insertions, 2 deletions
diff --git a/src/newgrf_engine.cpp b/src/newgrf_engine.cpp
index 0491ec762..f2f28883a 100644
--- a/src/newgrf_engine.cpp
+++ b/src/newgrf_engine.cpp
@@ -1070,8 +1070,9 @@ static void DoTriggerVehicle(Vehicle *v, VehicleTrigger trigger, byte base_rando
if (group == NULL) return;
new_random_bits = Random();
- v->random_bits &= ~object.reseed;
- v->random_bits |= (first ? new_random_bits : base_random_bits) & object.reseed;
+ uint32 reseed = object.GetReseedSum(); // The scope only affects triggers, not the reseeding
+ v->random_bits &= ~reseed;
+ v->random_bits |= (first ? new_random_bits : base_random_bits) & reseed;
switch (trigger) {
case VEHICLE_TRIGGER_NEW_CARGO: