(svn r3179) - RandomRange() and RandomTile() instead of home brewed versions

- CHANCE*() instead of mumbling strange numbers
This commit is contained in:
tron 2005-11-14 09:21:05 +00:00
parent 6124ee0974
commit 5fa6b7eb06
5 changed files with 14 additions and 15 deletions

View File

@ -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)]]();
}

View File

@ -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)

View File

@ -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;

View File

@ -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,

View File

@ -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;