mirror of
https://github.com/OpenTTD/OpenTTD.git
synced 2025-08-21 05:29:11 +00:00
(svn r5946) -Add: merged the TGP branch to mainline. TGP adds:
- New optional landscape generator (TerraGenesis Perlin) - Load heightmaps (either BMP or PNG) - Progress dialog while generating worlds (no longer a 'hanging' screen) - New dialogs for NewGame, Create Scenario and Play Heightmap - Easier to configure your landscape - More things to configure (tree-placer, ..) - Speedup of world generation - New console command 'restart': restart the map EXACTLY as it was when you first started it (needs a game made after or with this commit) - New console command 'getseed': get the seed of your map and share it with others (of course only works with generated maps) - Many new, world generation related, things - Many internal cleanups and rewrites Many tnx to those people who helped making this: Belugas, DaleStan, glx, KUDr, RichK67, Rubidium, and TrueLight (alfabetic) Many tnx to those who helped testing: Arnau, Bjarni, and tokai (alfabetic) And to all other people who helped testing and sending comments / bugs Stats: 673 lines changed, 3534 new lines, 79 new strings
This commit is contained in:
62
misc.c
62
misc.c
@@ -19,8 +19,6 @@
|
||||
#include "table/landscape_const.h"
|
||||
#include "date.h"
|
||||
|
||||
extern void StartupEconomy(void);
|
||||
|
||||
char _name_array[512][32];
|
||||
|
||||
#ifndef MERSENNE_TWISTER
|
||||
@@ -96,19 +94,6 @@ void InitializePlayers(void);
|
||||
static void InitializeCheats(void);
|
||||
void InitializeNPF(void);
|
||||
|
||||
void GenerateLandscape(void);
|
||||
void GenerateClearTile(void);
|
||||
|
||||
void GenerateIndustries(void);
|
||||
void GenerateUnmovables(void);
|
||||
bool GenerateTowns(void);
|
||||
|
||||
void StartupPlayers(void);
|
||||
void StartupDisasters(void);
|
||||
void GenerateTrees(void);
|
||||
|
||||
void ConvertGroundTilesIntoWaterTiles(void);
|
||||
|
||||
void InitializeGame(int mode, uint size_x, uint size_y)
|
||||
{
|
||||
AllocateMap(size_x, size_y);
|
||||
@@ -165,53 +150,6 @@ void InitializeGame(int mode, uint size_x, uint size_y)
|
||||
ResetObjectToPlace();
|
||||
}
|
||||
|
||||
void GenerateWorld(int mode, uint size_x, uint size_y)
|
||||
{
|
||||
// Make sure everything is done via OWNER_NONE
|
||||
_current_player = OWNER_NONE;
|
||||
|
||||
UpdatePatches();
|
||||
|
||||
_generating_world = true;
|
||||
InitializeGame(mode == GW_RANDOM ? 0 : IG_DATE_RESET, size_x, size_y);
|
||||
SetObjectToPlace(SPR_CURSOR_ZZZ, 0, 0, 0);
|
||||
|
||||
// Must start economy early because of the costs.
|
||||
StartupEconomy();
|
||||
|
||||
// Don't generate landscape items when in the scenario editor.
|
||||
if (mode == GW_EMPTY) {
|
||||
// empty world in scenario editor
|
||||
ConvertGroundTilesIntoWaterTiles();
|
||||
} else {
|
||||
GenerateLandscape();
|
||||
GenerateClearTile();
|
||||
|
||||
// only generate towns, tree and industries in newgame mode.
|
||||
if (mode == GW_NEWGAME) {
|
||||
GenerateTowns();
|
||||
GenerateTrees();
|
||||
GenerateIndustries();
|
||||
GenerateUnmovables();
|
||||
}
|
||||
}
|
||||
|
||||
// These are probably pointless when inside the scenario editor.
|
||||
StartupPlayers();
|
||||
StartupEngines();
|
||||
StartupDisasters();
|
||||
_generating_world = false;
|
||||
|
||||
// No need to run the tile loop in the scenario editor.
|
||||
if (mode != GW_EMPTY) {
|
||||
uint i;
|
||||
|
||||
for (i = 0; i < 0x500; i++) RunTileLoop();
|
||||
}
|
||||
|
||||
ResetObjectToPlace();
|
||||
}
|
||||
|
||||
void DeleteName(StringID id)
|
||||
{
|
||||
if ((id & 0xF800) == 0x7800) {
|
||||
|
Reference in New Issue
Block a user