Changeset View
Changeset View
Standalone View
Standalone View
ps/trunk/source/graphics/MapGenerator.h
/* Copyright (C) 2018 Wildfire Games. | /* Copyright (C) 2019 Wildfire Games. | ||||
* This file is part of 0 A.D. | * This file is part of 0 A.D. | ||||
* | * | ||||
* 0 A.D. is free software: you can redistribute it and/or modify | * 0 A.D. is free software: you can redistribute it and/or modify | ||||
* it under the terms of the GNU General Public License as published by | * it under the terms of the GNU General Public License as published by | ||||
* the Free Software Foundation, either version 2 of the License, or | * the Free Software Foundation, either version 2 of the License, or | ||||
* (at your option) any later version. | * (at your option) any later version. | ||||
* | * | ||||
* 0 A.D. is distributed in the hope that it will be useful, | * 0 A.D. is distributed in the hope that it will be useful, | ||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||||
* GNU General Public License for more details. | * GNU General Public License for more details. | ||||
* | * | ||||
* You should have received a copy of the GNU General Public License | * You should have received a copy of the GNU General Public License | ||||
* along with 0 A.D. If not, see <http://www.gnu.org/licenses/>. | * along with 0 A.D. If not, see <http://www.gnu.org/licenses/>. | ||||
*/ | */ | ||||
#ifndef INCLUDED_MAPGENERATOR | #ifndef INCLUDED_MAPGENERATOR | ||||
#define INCLUDED_MAPGENERATOR | #define INCLUDED_MAPGENERATOR | ||||
#include "lib/posix/posix_pthread.h" | |||||
#include "ps/FileIo.h" | #include "ps/FileIo.h" | ||||
#include "ps/ThreadUtil.h" | |||||
#include "ps/TemplateLoader.h" | #include "ps/TemplateLoader.h" | ||||
#include "scriptinterface/ScriptInterface.h" | #include "scriptinterface/ScriptInterface.h" | ||||
#include <boost/random/linear_congruential.hpp> | #include <boost/random/linear_congruential.hpp> | ||||
#include <mutex> | |||||
#include <set> | #include <set> | ||||
#include <string> | #include <string> | ||||
class CMapGeneratorWorker; | class CMapGeneratorWorker; | ||||
/** | /** | ||||
* Random map generator interface. Initialized by CMapReader and then checked | * Random map generator interface. Initialized by CMapReader and then checked | ||||
* periodically during loading, until it's finished (progress value is 0). | * periodically during loading, until it's finished (progress value is 0). | ||||
▲ Show 20 Lines • Show All 106 Lines • ▼ Show 20 Lines | // Mapgen | ||||
std::string m_Settings; | std::string m_Settings; | ||||
CTemplateLoader m_TemplateLoader; | CTemplateLoader m_TemplateLoader; | ||||
// Thread | // Thread | ||||
static void* RunThread(void* data); | static void* RunThread(void* data); | ||||
bool Run(); | bool Run(); | ||||
pthread_t m_WorkerThread; | pthread_t m_WorkerThread; | ||||
CMutex m_WorkerMutex; | std::mutex m_WorkerMutex; | ||||
}; | }; | ||||
#endif //INCLUDED_MAPGENERATOR | #endif //INCLUDED_MAPGENERATOR |
Wildfire Games · Phabricator