genworld.cpp File Reference

Functions to generate a map. More...

#include "stdafx.h"
#include "openttd.h"
#include "landscape.h"
#include "company_func.h"
#include "variables.h"
#include "thread.h"
#include "command_func.h"
#include "genworld.h"
#include "gfxinit.h"
#include "window_func.h"
#include "network/network.h"
#include "heightmap.h"
#include "viewport_func.h"
#include "gfx_func.h"
#include "date_func.h"
#include "core/random_func.hpp"
#include "engine_func.h"
#include "newgrf_storage.h"
#include "water.h"
#include "blitter/factory.hpp"
#include "tilehighlight_func.h"
#include "saveload/saveload.h"
#include "void_map.h"
#include "settings_type.h"
#include "town.h"
#include "table/sprites.h"

Go to the source code of this file.

Functions

void GenerateClearTile ()
void GenerateIndustries ()
 This function will create ramdon industries during game creation.
void GenerateUnmovables ()
void GenerateTrees ()
 Place new trees.
void StartupEconomy ()
void StartupCompanies ()
void StartupDisasters ()
void InitializeGame (uint size_x, uint size_y, bool reset_date)
bool IsGenerateWorldThreaded ()
 Tells if the world generation is done in a thread or not.
static void CleanupGeneration ()
 Clean up the 'mess' of generation.
static void _GenerateWorld (void *arg)
 The internal, real, generate function.
void GenerateWorldSetCallback (gw_done_proc *proc)
 Set here the function, if any, that you want to be called when landscape generation is done.
void GenerateWorldSetAbortCallback (gw_abort_proc *proc)
 Set here the function, if any, that you want to be called when landscape generation is aborted.
void WaitTillGeneratedWorld ()
 This will wait for the thread to finish up his work.
void AbortGeneratingWorld ()
 Initializes the abortion process.
bool IsGeneratingWorldAborted ()
 Is the generation being aborted?
void HandleGeneratingWorldAbortion ()
 Really handle the abortion, i.e.
void GenerateWorld (GenerateWorldMode mode, uint size_x, uint size_y)
 Generate a world.

Variables

gw_info _gw
ThreadMutex_genworld_mapgen_mutex = ThreadMutex::New()
 Rights for the map generation.
ThreadMutex_genworld_paint_mutex = ThreadMutex::New()
 Rights for the painting.


Detailed Description

Functions to generate a map.

Definition in file genworld.cpp.


Function Documentation

static void CleanupGeneration (  )  [static]

Clean up the 'mess' of generation.

That is show windows again, reset thread variables and delete the progress window.

Definition at line 67 of file genworld.cpp.

References DeleteWindowById(), ThreadMutex::EndCritical(), MarkWholeScreenDirty(), and CursorVars::sprite.

Referenced by _GenerateWorld(), and HandleGeneratingWorldAbortion().

void GenerateIndustries (  ) 

void GenerateTrees (  ) 

Place new trees.

This function takes care of the selected tree placer algorithm and place randomly the trees for a new game.

Definition at line 294 of file tree_cmd.cpp.

References _settings_game, GameSettings::game_creation, GWP_TREE, GameCreationSettings::landscape, PlaceMoreTrees(), PlaceTreesRandomly(), ScaleByMapSize(), SetGeneratingWorldProgress(), TP_IMPROVED, TP_NONE, TP_ORIGINAL, and GameCreationSettings::tree_placer.

Referenced by _GenerateWorld().

void GenerateWorld ( GenerateWorldMode  mode,
uint  size_x,
uint  size_y 
)

void HandleGeneratingWorldAbortion (  ) 

Really handle the abortion, i.e.

clean up some of the mess

Definition at line 238 of file genworld.cpp.

References _switch_mode, and CleanupGeneration().

Referenced by _GenerateWorld().

void WaitTillGeneratedWorld (  ) 

This will wait for the thread to finish up his work.

It will not continue till the work is done.

Definition at line 204 of file genworld.cpp.

References ThreadMutex::BeginCritical(), and ThreadMutex::EndCritical().


Generated on Tue Jul 21 18:48:31 2009 for OpenTTD by  doxygen 1.5.6