mirror of
https://github.com/vcmi/vcmi.git
synced 2024-12-18 17:40:48 +02:00
Minor fixes
This commit is contained in:
parent
eb501f2222
commit
5839ba4ce8
@ -124,7 +124,7 @@ void CMapGenerator::initQuestArtsRemaining()
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
std::unique_ptr<CMap> CMapGenerator::generate(bool empty)
|
std::unique_ptr<CMap> CMapGenerator::generate()
|
||||||
{
|
{
|
||||||
Load::Progress::reset();
|
Load::Progress::reset();
|
||||||
Load::Progress::stepsTill(5, 30);
|
Load::Progress::stepsTill(5, 30);
|
||||||
@ -132,11 +132,6 @@ std::unique_ptr<CMap> CMapGenerator::generate(bool empty)
|
|||||||
{
|
{
|
||||||
addHeaderInfo();
|
addHeaderInfo();
|
||||||
map->initTiles(*this);
|
map->initTiles(*this);
|
||||||
if(empty)
|
|
||||||
{
|
|
||||||
Progress::Progress::finish();
|
|
||||||
return std::move(map->mapInstance);
|
|
||||||
}
|
|
||||||
Load::Progress::step();
|
Load::Progress::step();
|
||||||
initPrisonsRemaining();
|
initPrisonsRemaining();
|
||||||
initQuestArtsRemaining();
|
initQuestArtsRemaining();
|
||||||
|
@ -57,7 +57,7 @@ public:
|
|||||||
|
|
||||||
const CMapGenOptions& getMapGenOptions() const;
|
const CMapGenOptions& getMapGenOptions() const;
|
||||||
|
|
||||||
std::unique_ptr<CMap> generate(bool emptyMap = false);
|
std::unique_ptr<CMap> generate();
|
||||||
void disableModificator(const std::string & modificator);
|
void disableModificator(const std::string & modificator);
|
||||||
|
|
||||||
void findZonesForQuestArts();
|
void findZonesForQuestArts();
|
||||||
|
@ -58,8 +58,7 @@ void init()
|
|||||||
|
|
||||||
MainWindow::MainWindow(QWidget *parent) :
|
MainWindow::MainWindow(QWidget *parent) :
|
||||||
QMainWindow(parent),
|
QMainWindow(parent),
|
||||||
ui(new Ui::MainWindow),
|
ui(new Ui::MainWindow)
|
||||||
controller(this)
|
|
||||||
{
|
{
|
||||||
ui->setupUi(this);
|
ui->setupUi(this);
|
||||||
|
|
||||||
@ -132,8 +131,6 @@ MainWindow::MainWindow(QWidget *parent) :
|
|||||||
loadObjectsTree();
|
loadObjectsTree();
|
||||||
|
|
||||||
show();
|
show();
|
||||||
|
|
||||||
setStatusMessage("privet");
|
|
||||||
}
|
}
|
||||||
|
|
||||||
MainWindow::~MainWindow()
|
MainWindow::~MainWindow()
|
||||||
@ -167,14 +164,11 @@ void MainWindow::initializeMap(bool isNew)
|
|||||||
|
|
||||||
setWindowTitle(filename + "* - VCMI Map Editor");
|
setWindowTitle(filename + "* - VCMI Map Editor");
|
||||||
|
|
||||||
|
|
||||||
// reloadMap();
|
|
||||||
//if(map->twoLevel)
|
|
||||||
//reloadMap(1);
|
|
||||||
|
|
||||||
mapLevel = 0;
|
mapLevel = 0;
|
||||||
ui->mapView->setScene(controller.scene(mapLevel));
|
ui->mapView->setScene(controller.scene(mapLevel));
|
||||||
|
|
||||||
|
setStatusMessage(QString("Scene objects: %1").arg(ui->mapView->scene()->items().size()));
|
||||||
|
|
||||||
//enable settings
|
//enable settings
|
||||||
ui->actionMapSettings->setEnabled(true);
|
ui->actionMapSettings->setEnabled(true);
|
||||||
}
|
}
|
||||||
@ -754,11 +748,13 @@ void MainWindow::on_inspectorWidget_itemChanged(QTableWidgetItem *item)
|
|||||||
void MainWindow::on_actionMapSettings_triggered()
|
void MainWindow::on_actionMapSettings_triggered()
|
||||||
{
|
{
|
||||||
auto mapSettingsDialog = new MapSettings(controller, this);
|
auto mapSettingsDialog = new MapSettings(controller, this);
|
||||||
|
mapSettingsDialog->setModal(true);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void MainWindow::on_actionPlayers_settings_triggered()
|
void MainWindow::on_actionPlayers_settings_triggered()
|
||||||
{
|
{
|
||||||
auto mapSettingsDialog = new PlayerSettings(*controller.map(), this);
|
auto mapSettingsDialog = new PlayerSettings(*controller.map(), this);
|
||||||
|
mapSettingsDialog->setModal(true);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -14,16 +14,14 @@
|
|||||||
#include "inspector.h"
|
#include "inspector.h"
|
||||||
|
|
||||||
|
|
||||||
MapController::MapController(MainWindow * m) : _main(m)
|
MapController::MapController()
|
||||||
{
|
{
|
||||||
_scenes[0] = new MapScene(0);
|
_scenes[0].reset(new MapScene(0));
|
||||||
_scenes[1] = new MapScene(1);
|
_scenes[1].reset(new MapScene(1));
|
||||||
}
|
}
|
||||||
|
|
||||||
MapController::~MapController()
|
MapController::~MapController()
|
||||||
{
|
{
|
||||||
delete _scenes[0];
|
|
||||||
delete _scenes[1];
|
|
||||||
}
|
}
|
||||||
|
|
||||||
CMap * MapController::map()
|
CMap * MapController::map()
|
||||||
@ -38,12 +36,14 @@ MapHandler * MapController::mapHandler()
|
|||||||
|
|
||||||
MapScene * MapController::scene(int level)
|
MapScene * MapController::scene(int level)
|
||||||
{
|
{
|
||||||
return _scenes[level];
|
return _scenes[level].get();
|
||||||
}
|
}
|
||||||
|
|
||||||
void MapController::setMap(std::unique_ptr<CMap> cmap)
|
void MapController::setMap(std::unique_ptr<CMap> cmap)
|
||||||
{
|
{
|
||||||
_map = std::move(cmap);
|
_map = std::move(cmap);
|
||||||
|
//_scenes[0].reset(new MapScene(0));
|
||||||
|
//_scenes[1].reset(new MapScene(1));
|
||||||
resetMapHandler();
|
resetMapHandler();
|
||||||
sceneForceUpdate();
|
sceneForceUpdate();
|
||||||
}
|
}
|
||||||
@ -149,7 +149,8 @@ void MapController::commitObstacleFill(int level)
|
|||||||
void MapController::commitObjectChange(int level)
|
void MapController::commitObjectChange(int level)
|
||||||
{
|
{
|
||||||
resetMapHandler();
|
resetMapHandler();
|
||||||
_scenes[level]->updateViews();
|
_scenes[level]->objectsView.draw();
|
||||||
|
_scenes[level]->selectionObjectsView.draw();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -10,7 +10,7 @@ class MainWindow;
|
|||||||
class MapController
|
class MapController
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
MapController(MainWindow *);
|
MapController();
|
||||||
MapController(const MapController &) = delete;
|
MapController(const MapController &) = delete;
|
||||||
MapController(const MapController &&) = delete;
|
MapController(const MapController &&) = delete;
|
||||||
~MapController();
|
~MapController();
|
||||||
@ -38,10 +38,9 @@ public:
|
|||||||
void createObject(int level, CGObjectInstance * obj) const;
|
void createObject(int level, CGObjectInstance * obj) const;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
MainWindow * _main;
|
|
||||||
std::unique_ptr<CMap> _map;
|
std::unique_ptr<CMap> _map;
|
||||||
std::unique_ptr<MapHandler> _mapHandler;
|
std::unique_ptr<MapHandler> _mapHandler;
|
||||||
mutable std::array<MapScene *, 2> _scenes;
|
mutable std::array<std::unique_ptr<MapScene>, 2> _scenes;
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif // MAPCONTROLLER_H
|
#endif // MAPCONTROLLER_H
|
||||||
|
@ -35,7 +35,7 @@ PlayerSettings::~PlayerSettings()
|
|||||||
|
|
||||||
void PlayerSettings::on_playersCount_currentIndexChanged(int index)
|
void PlayerSettings::on_playersCount_currentIndexChanged(int index)
|
||||||
{
|
{
|
||||||
assert(index + 2 != paramWidgets.size());
|
assert(index + 2 == paramWidgets.size());
|
||||||
assert(index + 2 < header.players.size());
|
assert(index + 2 < header.players.size());
|
||||||
|
|
||||||
for(int i = 0; i < index + 2; ++i)
|
for(int i = 0; i < index + 2; ++i)
|
||||||
|
@ -45,10 +45,9 @@ void WindowNewMap::on_cancelButton_clicked()
|
|||||||
void generateRandomMap(CMapGenerator & gen, MainWindow * window)
|
void generateRandomMap(CMapGenerator & gen, MainWindow * window)
|
||||||
{
|
{
|
||||||
window->controller.setMap(gen.generate());
|
window->controller.setMap(gen.generate());
|
||||||
//window->setMapRaw();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void generateEmptyMap(CMapGenOptions & options, MainWindow * window)
|
std::unique_ptr<CMap> generateEmptyMap(CMapGenOptions & options)
|
||||||
{
|
{
|
||||||
std::unique_ptr<CMap> map(new CMap);
|
std::unique_ptr<CMap> map(new CMap);
|
||||||
map->version = EMapFormat::VCMI;
|
map->version = EMapFormat::VCMI;
|
||||||
@ -61,7 +60,8 @@ void generateEmptyMap(CMapGenOptions & options, MainWindow * window)
|
|||||||
map->getEditManager()->getTerrainSelection().selectRange(MapRect(int3(0, 0, 0), options.getWidth(), options.getHeight()));
|
map->getEditManager()->getTerrainSelection().selectRange(MapRect(int3(0, 0, 0), options.getWidth(), options.getHeight()));
|
||||||
map->getEditManager()->drawTerrain(Terrain("grass"), &CRandomGenerator::getDefault());
|
map->getEditManager()->drawTerrain(Terrain("grass"), &CRandomGenerator::getDefault());
|
||||||
|
|
||||||
window->controller.setMap(std::move(map));
|
//window->controller.setMap(std::move(map));
|
||||||
|
return std::move(map);
|
||||||
}
|
}
|
||||||
|
|
||||||
void WindowNewMap::on_okButtong_clicked()
|
void WindowNewMap::on_okButtong_clicked()
|
||||||
@ -88,6 +88,7 @@ void WindowNewMap::on_okButtong_clicked()
|
|||||||
mapGenOptions.setWaterContent(water);
|
mapGenOptions.setWaterContent(water);
|
||||||
mapGenOptions.setMonsterStrength(monster);
|
mapGenOptions.setMonsterStrength(monster);
|
||||||
|
|
||||||
|
std::unique_ptr<CMap> nmap;
|
||||||
if(ui->randomMapCheck->isChecked())
|
if(ui->randomMapCheck->isChecked())
|
||||||
{
|
{
|
||||||
CMapGenerator generator(mapGenOptions);
|
CMapGenerator generator(mapGenOptions);
|
||||||
@ -97,17 +98,26 @@ void WindowNewMap::on_okButtong_clicked()
|
|||||||
|
|
||||||
auto progressBarWnd = new GeneratorProgress(generator, this);
|
auto progressBarWnd = new GeneratorProgress(generator, this);
|
||||||
progressBarWnd->show();
|
progressBarWnd->show();
|
||||||
{
|
|
||||||
std::thread generate(&::generateRandomMap, std::ref(generator), static_cast<MainWindow*>(parent()));
|
|
||||||
|
//std::thread generate(&::generateRandomMap, std::ref(generator), static_cast<MainWindow*>(parent()));
|
||||||
|
//progressBarWnd->update();
|
||||||
|
//generate.join();
|
||||||
|
|
||||||
|
//generateRandomMap(generator, static_cast<MainWindow*>(parent()));
|
||||||
|
auto f = std::async(std::launch::async, &CMapGenerator::generate, &generator);
|
||||||
progressBarWnd->update();
|
progressBarWnd->update();
|
||||||
generate.join();
|
nmap = f.get();
|
||||||
}
|
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
generateEmptyMap(mapGenOptions, static_cast<MainWindow*>(parent()));
|
auto f = std::async(std::launch::async, &::generateEmptyMap, std::ref(mapGenOptions));
|
||||||
|
nmap = f.get();
|
||||||
|
//nmap = generateEmptyMap(mapGenOptions, static_cast<MainWindow*>(parent()));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
static_cast<MainWindow*>(parent())->controller.setMap(std::move(nmap));
|
||||||
static_cast<MainWindow*>(parent())->initializeMap(true);
|
static_cast<MainWindow*>(parent())->initializeMap(true);
|
||||||
close();
|
close();
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user