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; } |