(svn r1638) -Fix: Train crashes should no longer desync the game. This is more of a
workaround, as somewhere there might be some InteractiveRandom() abuse
in the code.
--- a/train_cmd.c Mon Jan 24 11:32:47 2005 +0000
+++ b/train_cmd.c Mon Jan 24 14:39:22 2005 +0000
@@ -2361,7 +2361,7 @@
do {
//I need to buffer the train direction
if (!(v->u.rail.track & 0x40))
- v->direction = (v->direction + _random_dir_change[InteractiveRandom()&3]) & 7;
+ v->direction = (v->direction + _random_dir_change[Random()&3]) & 7;
if (!(v->vehstatus & VS_HIDDEN)) {
BeginVehicleMove(v);
UpdateTrainDeltaXY(v, v->direction);
@@ -2381,13 +2381,13 @@
CreateEffectVehicleRel(v, 4, 4, 8, EV_CRASHED_SMOKE);
}
- if (state <= 200 && (uint16)(r=InteractiveRandom()) <= 0x2492) {
+ if (state <= 200 && (uint16)(r=Random()) <= 0x2492) {
index = (r * 10 >> 16);
u = v;
do {
if (--index < 0) {
- r = InteractiveRandom();
+ r = Random();
CreateEffectVehicleRel(u,
2 + ((r>>8)&7),