OpenTTD
genworld.h
Go to the documentation of this file.
1 /* $Id: genworld.h 23611 2011-12-19 20:56:50Z truebrain $ */
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 
35 static const uint CUSTOM_SEA_LEVEL_NUMBER_DIFFICULTY = 4;
36 static const uint CUSTOM_SEA_LEVEL_MIN_PERCENTAGE = 1;
37 static const uint CUSTOM_SEA_LEVEL_MAX_PERCENTAGE = 90;
38 
39 typedef void GWDoneProc();
40 typedef void GWAbortProc();
41 
43 struct GenWorldInfo {
44  bool abort;
45  bool quit_thread;
46  bool threaded;
49  uint size_x;
50  uint size_y;
54 };
55 
70  GWP_CLASS_COUNT
71 };
72 
73 /* genworld.cpp */
78 void GenerateWorld(GenWorldMode mode, uint size_x, uint size_y, bool reset_settings = true);
82 
83 /* genworld_gui.cpp */
84 void SetNewLandscapeType(byte landscape);
85 void SetGeneratingWorldProgress(GenWorldProgress cls, uint total);
89 void StartNewGameWithoutGUI(uint seed);
90 void ShowCreateScenario();
91 void StartScenarioEditor();
92 
93 extern bool _generating_world;
94 
95 #endif /* GENWORLD_H */