Bug #1953 ยป 0024-Make-sure-final-random-seed-or-map-seed-is-never-zer.patch
| server/generator/mapgen.c | ||
|---|---|---|
|
if (wld.map.server.seed_setting == 0) {
|
||
|
/* Create a "random" map seed. */
|
||
|
wld.map.server.seed = seed_rand & (MAX_UINT32 >> 1);
|
||
|
while (wld.map.server.seed == 0) {
|
||
|
/* This makes random state different, but we don't
|
||
|
* care as this is an extreme corner case anyway. */
|
||
|
seed_rand = fc_rand(MAX_UINT32);
|
||
|
wld.map.server.seed = seed_rand & (MAX_UINT32 >> 1);
|
||
|
}
|
||
|
#ifdef FREECIV_TESTMATIC
|
||
|
/* Log command to reproduce the mapseed */
|
||
|
log_testmatic("set mapseed %d", wld.map.server.seed);
|
||
| server/srv_main.c | ||
|---|---|---|
|
void init_game_seed(void)
|
||
|
{
|
||
|
if (game.server.seed_setting == 0) {
|
||
|
/* We strip the high bit for now because neither game file nor
|
||
|
server options can handle unsigned ints yet. - Cedric */
|
||
|
game.server.seed = generate_game_seed() & (MAX_UINT32 >> 1);
|
||
|
do {
|
||
|
/* We strip the high bit for now because neither game file nor
|
||
|
server options can handle unsigned ints yet. - Cedric */
|
||
|
game.server.seed = generate_game_seed() & (MAX_UINT32 >> 1);
|
||
|
} while (game.server.seed == 0);
|
||
|
#ifdef FREECIV_TESTMATIC
|
||
|
/* Log command to reproduce the gameseed */
|
||
|
log_testmatic("set gameseed %u", game.server.seed);
|
||