qmlfrontend/hwengine.cpp
changeset 14278 645e4591361f
parent 14276 1aac8a62be6f
child 14299 21be7838a127
equal deleted inserted replaced
14277:3152d9fdb499 14278:645e4591361f
    32                                      hwengine_singletontype_provider);
    32                                      hwengine_singletontype_provider);
    33   // qmlRegisterType<GameView>("Hedgewars.Engine", 1, 0, "GameView");
    33   // qmlRegisterType<GameView>("Hedgewars.Engine", 1, 0, "GameView");
    34 }
    34 }
    35 
    35 
    36 void HWEngine::getPreview() {
    36 void HWEngine::getPreview() {
    37   m_seed = QUuid::createUuid().toByteArray();
    37   emit previewIsRendering();
    38   m_gameConfig.cmdSeed(m_seed);
    38 
    39   m_gameConfig.setPreview(true);
    39   m_gameConfig = GameConfig();
       
    40   m_gameConfig.cmdSeed(QUuid::createUuid().toByteArray());
    40 
    41 
    41   EngineInstance engine;
    42   EngineInstance engine;
    42   engine.sendConfig(m_gameConfig);
    43   engine.sendConfig(m_gameConfig);
    43 
    44 
    44   Engine::PreviewInfo preview = engine.generatePreview();
    45   Engine::PreviewInfo preview = engine.generatePreview();
    45 
    46 
    46   QVector<QRgb> colorTable;
    47   QVector<QRgb> colorTable;
    47   colorTable.resize(256);
    48   colorTable.resize(256);
    48   for (int i = 0; i < 256; ++i) colorTable[i] = qRgba(255, 255, 0, i);
    49   for (int i = 0; i < 256; ++i) colorTable[i] = qRgba(255, 255, 0, i);
    49 
    50 
    50   QImage previewImage(preview.land, preview.width, preview.height,
    51   QImage previewImage(preview.land, static_cast<int>(preview.width),
       
    52                       static_cast<int>(preview.height),
    51                       QImage::Format_Indexed8);
    53                       QImage::Format_Indexed8);
    52   previewImage.setColorTable(colorTable);
    54   previewImage.setColorTable(colorTable);
    53   previewImage.detach();
    55   previewImage.detach();
    54 
    56 
    55   m_previewProvider->setImage(previewImage);
    57   m_previewProvider->setImage(previewImage);
    57   emit previewImageChanged();
    59   emit previewImageChanged();
    58   // m_runQueue->queue(m_gameConfig);
    60   // m_runQueue->queue(m_gameConfig);
    59 }
    61 }
    60 
    62 
    61 void HWEngine::runQuickGame() {
    63 void HWEngine::runQuickGame() {
    62   m_gameConfig.cmdSeed(m_seed);
       
    63   m_gameConfig.cmdTheme("Nature");
    64   m_gameConfig.cmdTheme("Nature");
    64   Team team1;
    65   Team team1;
    65   team1.name = "team1";
    66   team1.name = "team1";
    66   Team team2;
    67   Team team2;
    67   team2.name = "team2";
    68   team2.name = "team2";
    68   team2.color = "7654321";
    69   team2.color = "7654321";
    69   m_gameConfig.cmdTeam(team1);
    70   m_gameConfig.cmdTeam(team1);
    70   m_gameConfig.cmdTeam(team2);
    71   m_gameConfig.cmdTeam(team2);
    71   m_gameConfig.setPreview(false);
       
    72 
    72 
    73   // m_runQueue->queue(m_gameConfig);
    73   // m_runQueue->queue(m_gameConfig);
    74 }
    74 }
    75 
    75 
    76 int HWEngine::previewHedgehogsCount() const { return m_previewHedgehogsCount; }
    76 int HWEngine::previewHedgehogsCount() const { return m_previewHedgehogsCount; }