summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authortron <tron@openttd.org>2005-11-14 09:21:05 +0000
committertron <tron@openttd.org>2005-11-14 09:21:05 +0000
commit6509e42db31f6fb7c13953664c3d73ea404c56d7 (patch)
tree0bb50211293afdb1d1e5d7c78f8c2e4d5a11506e
parentbb82872bbf4dbc78abf7381224f794b45669e077 (diff)
downloadopenttd-6509e42db31f6fb7c13953664c3d73ea404c56d7.tar.xz
(svn r3179) - RandomRange() and RandomTile() instead of home brewed versions
- CHANCE*() instead of mumbling strange numbers
-rw-r--r--disaster_cmd.c2
-rw-r--r--industry_cmd.c6
-rw-r--r--roadveh_cmd.c2
-rw-r--r--town_cmd.c10
-rw-r--r--train_cmd.c9
5 files changed, 14 insertions, 15 deletions
diff --git a/disaster_cmd.c b/disaster_cmd.c
index f180a1836..724c7fe67 100644
--- a/disaster_cmd.c
+++ b/disaster_cmd.c
@@ -977,7 +977,7 @@ static void DoDisaster(void)
if (j == 0)
return;
- _disaster_initprocs[buf[GB(Random(), 0, 16) * j >> 16]]();
+ _disaster_initprocs[buf[RandomRange(j)]]();
}
diff --git a/industry_cmd.c b/industry_cmd.c
index 239808c5e..292f0e042 100644
--- a/industry_cmd.c
+++ b/industry_cmd.c
@@ -937,7 +937,7 @@ static void SetupFarmFieldFence(TileIndex tile, int size, byte type, int directi
if (IsTileType(tile, MP_CLEAR) || IsTileType(tile, MP_TREES)) {
or = type;
- if (or == 1 && GB(Random(), 0, 16) <= 9362) or = 2;
+ if (or == 1 && CHANCE16(1, 7)) or = 2;
or <<= 2;
and = (byte)~0x1C;
@@ -1620,7 +1620,7 @@ Industry *CreateNewIndustry(TileIndex tile, int type)
return NULL;
/* pick a random layout */
- it = spec->table[(spec->num_table * GB(Random(), 0, 16)) >> 16];
+ it = spec->table[RandomRange(spec->num_table)];;
if (!CheckIfIndustryTilesAreFree(tile, it, type, t))
return NULL;
@@ -1810,7 +1810,7 @@ static void MaybeNewIndustry(uint32 r)
j = 2000;
for(;;) {
- i = CreateNewIndustry(TILE_MASK(Random()), type);
+ i = CreateNewIndustry(RandomTile(), type);
if (i != NULL)
break;
if (--j == 0)
diff --git a/roadveh_cmd.c b/roadveh_cmd.c
index 421e809cc..bc29715a9 100644
--- a/roadveh_cmd.c
+++ b/roadveh_cmd.c
@@ -990,7 +990,7 @@ static int PickRandomBit(uint bits)
num++;
} while (b >>= 1);
- num = GB(Random(), 0, 16) * num >> 16;
+ num = RandomRange(num);
for(i=0; !((bits & 1) && ((int)--num) < 0); bits>>=1,i++);
return i;
diff --git a/town_cmd.c b/town_cmd.c
index 6de979765..ac02a9b85 100644
--- a/town_cmd.c
+++ b/town_cmd.c
@@ -569,7 +569,6 @@ static void LevelTownLand(TileIndex tile)
static void GrowTownInTile(TileIndex *tile_ptr, uint mask, int block, Town *t1)
{
- uint16 r;
int a,b,rcmd;
TileIndex tmptile;
TileInfo ti;
@@ -594,10 +593,11 @@ static void GrowTownInTile(TileIndex *tile_ptr, uint mask, int block, Town *t1)
// Randomize new road block numbers
a = block;
b = block ^ 2;
- r = GB(Random(), 0, 16);
- if (r <= 0x4000) do {
- a = GB(Random(), 0, 2);
- } while(a == b);
+ if (CHANCE16(1, 4)) {
+ do {
+ a = GB(Random(), 0, 2);
+ } while(a == b);
+ }
if (!IsRoadAllowedHere(TILE_ADD(tile, ToTileIndexDiff(_roadblock_tileadd[a])), a)) {
// A road is not allowed to continue the randomized road,
diff --git a/train_cmd.c b/train_cmd.c
index 3f2667ac2..68c72fa89 100644
--- a/train_cmd.c
+++ b/train_cmd.c
@@ -1907,20 +1907,19 @@ static void HandleLocomotiveSmokeCloud(const Vehicle* v)
case 1:
// diesel smoke
- if (u->cur_speed <= 40 && GB(Random(), 0, 16) <= 0x1E00) {
+ if (u->cur_speed <= 40 && CHANCE16(15, 128)) {
CreateEffectVehicleRel(v, 0, 0, 10, EV_DIESEL_SMOKE);
}
break;
case 2:
// blue spark
- if (GB(v->tick_counter, 0, 2) == 0 && GB(Random(), 0, 16) <= 0x5B0) {
+ if (GB(v->tick_counter, 0, 2) == 0 && CHANCE16(1, 45)) {
CreateEffectVehicleRel(v, 0, 0, 10, EV_ELECTRIC_SPARK);
}
break;
}
- } while ( (v = v->next) != NULL );
-
+ } while ((v = v->next) != NULL);
}
static void TrainPlayLeaveStationSound(const Vehicle* v)
@@ -3193,7 +3192,7 @@ static void HandleCrashedTrain(Vehicle *v)
CreateEffectVehicleRel(v, 4, 4, 8, EV_EXPLOSION_LARGE);
}
- if (state <= 200 && GB(r = Random(), 0, 16) <= 0x2492) {
+ if (state <= 200 && CHANCE16R(1, 7, r)) {
index = (r * 10 >> 16);
u = v;