18 #ifndef INCLUDED_MAPGENERATOR 19 #define INCLUDED_MAPGENERATOR 26 #include <boost/random/linear_congruential.hpp> 67 shared_ptr<ScriptInterface::StructuredClone>
GetResults();
95 void Initialize(
const VfsPath& scriptFile,
const std::string& settings);
110 shared_ptr<ScriptInterface::StructuredClone>
GetResults();
121 bool LoadScripts(
const std::wstring& libraryName);
131 static std::vector<std::string> FindTemplates(
ScriptInterface::CxPrivate* pCxPrivate,
const std::string& path,
bool includeSubdirectories);
132 static std::vector<std::string> FindActorTemplates(
ScriptInterface::CxPrivate* pCxPrivate,
const std::string& path,
bool includeSubdirectories);
144 static void* RunThread(
void* data);
152 #endif //INCLUDED_MAPGENERATOR bool TemplateExists(ScriptInterface::CxPrivate *pCxPrivate, const std::string &templateName)
Definition: ScriptFunctions.cpp:889
An entity initialisation parameter node.
Definition: ParamNode.h:148
CTemplateLoader m_TemplateLoader
Definition: MapGenerator.h:141
int GetProgress()
Get status of the map generator thread.
Definition: MapGenerator.cpp:308
Template loader: Handles the loading of entity template files for:
Definition: TemplateLoader.h:45
int m_Progress
Definition: MapGenerator.h:137
CMapGeneratorWorker * m_Worker
Definition: MapGenerator.h:70
boost::rand48 m_MapGenRNG
Definition: MapGenerator.h:136
A non-recursive mutual exclusion lock.
Definition: ThreadUtil.h:45
Random map generator interface.
Definition: MapGenerator.h:38
CMapGenerator()
Definition: MapGenerator.cpp:294
CMutex m_WorkerMutex
Definition: MapGenerator.h:148
shared_ptr< ScriptInterface::StructuredClone > m_MapData
Definition: MapGenerator.h:135
ScriptInterface * m_ScriptInterface
Definition: MapGenerator.h:138
std::set< std::wstring > m_LoadedLibraries
Definition: MapGenerator.h:134
std::string m_Settings
Definition: MapGenerator.h:140
VfsPath m_ScriptPath
Definition: MapGenerator.h:139
pthread_t m_WorkerThread
Definition: MapGenerator.h:147
CParamNode GetTemplate(ScriptInterface::CxPrivate *pCxPrivate, const std::string &templateName)
Definition: ScriptFunctions.cpp:894
Random map generator worker thread.
Definition: MapGenerator.h:83
uintptr_t pthread_t
Definition: wpthread.h:63
void GenerateMap(const VfsPath &scriptFile, const std::string &settings)
Start the map generator thread.
Definition: MapGenerator.cpp:303
Definition: ScriptInterface.h:99
shared_ptr< ScriptInterface::StructuredClone > GetResults()
Get random map data, according to this format: http://trac.wildfiregames.com/wiki/Random_Map_Generato...
Definition: MapGenerator.cpp:313
Abstraction around a SpiderMonkey JSContext.
Definition: ScriptInterface.h:71
~CMapGenerator()
Definition: MapGenerator.cpp:298
NONCOPYABLE(CMapGenerator)
static Status Run(const Operation &op, const Parameters &p=Parameters(), const CompletedHook &completedHook=CompletedHook(), const IssueHook &issueHook=IssueHook())
Definition: io.h:233