# HG changeset patch # User terom@frrb.lan # Date 1229643489 -7200 # Node ID 50f056aa302463871e4d43fc8598ef292c0e3554 # Parent 51bff16a04c903d4adf668cd70eaa4959a0bb745 industries, unmoveables... everything but the landscape diff -r 51bff16a04c9 -r 50f056aa3024 src/clear_cmd.cpp --- a/src/clear_cmd.cpp Fri Dec 19 01:32:07 2008 +0200 +++ b/src/clear_cmd.cpp Fri Dec 19 01:38:09 2008 +0200 @@ -299,10 +299,17 @@ TileIndex tile_new; SetClearGroundDensity(tile, CLEAR_ROCKS, 3); + do { if (--j == 0) goto get_out; - tile_new = tile + TileOffsByDiagDir((DiagDirection)GB(Random(), 0, 2)); + + TileIndexDiff dt = TileOffsByDiagDir((DiagDirection)GB(Random(), 0, 2)); + + if (!IsValidTile(tile + dt)) continue; + + tile_new = tile + dt; } while (!IsTileType(tile_new, MP_CLEAR) || IsClearGround(tile_new, CLEAR_DESERT)); + tile = tile_new; } get_out:; diff -r 51bff16a04c9 -r 50f056aa3024 src/genworld.cpp --- a/src/genworld.cpp Fri Dec 19 01:32:07 2008 +0200 +++ b/src/genworld.cpp Fri Dec 19 01:38:09 2008 +0200 @@ -111,13 +111,13 @@ IncreaseGeneratingWorldProgress(GWP_UNMOVABLE); } else { //GenerateLandscape(_gw.mode); - //GenerateClearTile(); + GenerateClearTile(); /* only generate towns, tree and industries in newgame mode. */ if (_game_mode != GM_EDITOR) { GenerateTowns(); - //GenerateIndustries(); - //GenerateUnmovables(); + GenerateIndustries(); + GenerateUnmovables(); GenerateTrees(); } } diff -r 51bff16a04c9 -r 50f056aa3024 src/industry_cmd.cpp --- a/src/industry_cmd.cpp Fri Dec 19 01:32:07 2008 +0200 +++ b/src/industry_cmd.cpp Fri Dec 19 01:38:09 2008 +0200 @@ -1753,7 +1753,7 @@ if (_settings_game.difficulty.number_industries != 0) { CompanyID old_company = _current_company; _current_company = OWNER_NONE; - assert(num > 0); + assert(num >= 0); do { uint i; @@ -1763,7 +1763,7 @@ for (i = 0; i < 2000; i++) { if (CreateNewIndustry(RandomTile(), type) != NULL) break; } - } while (--num); + } while (num && --num); _current_company = old_company; }