OpenTTD
genworld.h
Go to the documentation of this file.
1 /* $Id: genworld.h 27231 2015-04-11 18:45:18Z alberth $ */
2 
3 /*
4  * This file is part of OpenTTD.
5  * OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2.
6  * OpenTTD is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
7  * See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with OpenTTD. If not, see <http://www.gnu.org/licenses/>.
8  */
9 
12 #ifndef GENWORLD_H
13 #define GENWORLD_H
14 
15 #include "company_type.h"
16 
19  /* Order of these enums has to be the same as in lang/english.txt
20  * Otherwise you will get inconsistent behaviour. */
23 };
24 
25 static const uint GENERATE_NEW_SEED = UINT_MAX;
26 
30  GWM_EMPTY = 1,
31  GWM_RANDOM = 2,
33 };
34 
42 
44 };
45 
46 static const uint CUSTOM_SEA_LEVEL_NUMBER_DIFFICULTY = 4;
47 static const uint CUSTOM_SEA_LEVEL_MIN_PERCENTAGE = 1;
48 static const uint CUSTOM_SEA_LEVEL_MAX_PERCENTAGE = 90;
49 
50 typedef void GWDoneProc();
51 typedef void GWAbortProc();
52 
54 struct GenWorldInfo {
55  bool abort;
56  bool quit_thread;
57  bool threaded;
60  uint size_x;
61  uint size_y;
65 };
66 
81  GWP_CLASS_COUNT
82 };
83 
84 /* genworld.cpp */
89 void GenerateWorld(GenWorldMode mode, uint size_x, uint size_y, bool reset_settings = true);
93 
94 /* genworld_gui.cpp */
95 void SetNewLandscapeType(byte landscape);
96 void SetGeneratingWorldProgress(GenWorldProgress cls, uint total);
100 void StartNewGameWithoutGUI(uint seed);
101 void ShowCreateScenario();
102 void StartScenarioEditor();
103 
104 extern bool _generating_world;
105 
106 #endif /* GENWORLD_H */