genworld.h
Go to the documentation of this file.00001
00002
00005 #ifndef GENWORLD_H
00006 #define GENWORLD_H
00007
00008
00009
00010
00011
00012
00013 #ifndef OTTDThread
00014 #define TEMPORARY_OTTDTHREAD_DEFINITION
00015 #define OTTDThread void
00016 #endif
00017
00018 #include "player_type.h"
00019
00020
00021
00022
00023
00024 enum {
00025 LG_ORIGINAL = 0,
00026 LG_TERRAGENESIS = 1,
00027
00028 GENERATE_NEW_SEED = (uint)-1,
00029 };
00030
00031 typedef void gw_done_proc();
00032 typedef void gw_abort_proc();
00033
00034 struct gw_info {
00035 bool active;
00036 bool abort;
00037 bool wait_for_draw;
00038 bool quit_thread;
00039 bool threaded;
00040 int mode;
00041 PlayerID lp;
00042 uint size_x;
00043 uint size_y;
00044 gw_done_proc *proc;
00045 gw_abort_proc *abortp;
00046 OTTDThread *thread;
00047 };
00048
00049 #ifdef TEMPORARY_OTTDTHREAD_DEFINITION
00050 #undef OTTDThread
00051 #undef TEMPORARY_OTTDTHREAD_DEFINITION
00052 #endif
00053
00054 enum gwp_class {
00055 GWP_MAP_INIT,
00056 GWP_LANDSCAPE,
00057 GWP_ROUGH_ROCKY,
00058 GWP_TOWN,
00059 GWP_INDUSTRY,
00060 GWP_UNMOVABLE,
00061 GWP_TREE,
00062 GWP_GAME_INIT,
00063 GWP_RUNTILELOOP,
00064 GWP_GAME_START,
00065 GWP_CLASS_COUNT
00066 };
00067
00071 static inline bool IsGeneratingWorld()
00072 {
00073 extern gw_info _gw;
00074
00075 return _gw.active;
00076 }
00077
00078
00079 void SetGeneratingWorldPaintStatus(bool status);
00080 bool IsGeneratingWorldReadyForPaint();
00081 bool IsGenerateWorldThreaded();
00082 void GenerateWorldSetCallback(gw_done_proc *proc);
00083 void GenerateWorldSetAbortCallback(gw_abort_proc *proc);
00084 void WaitTillGeneratedWorld();
00085 void GenerateWorld(int mode, uint size_x, uint size_y);
00086 void AbortGeneratingWorld();
00087 bool IsGeneratingWorldAborted();
00088 void HandleGeneratingWorldAbortion();
00089
00090
00091 void SetGeneratingWorldProgress(gwp_class cls, uint total);
00092 void IncreaseGeneratingWorldProgress(gwp_class cls);
00093 void PrepareGenerateWorldProgress();
00094 void ShowGenerateWorldProgress();
00095 void StartNewGameWithoutGUI(uint seed);
00096 void ShowCreateScenario();
00097 void StartScenarioEditor();
00098
00099 #endif