equal
deleted
inserted
replaced
3 #include <QDebug> |
3 #include <QDebug> |
4 #include <QLibrary> |
4 #include <QLibrary> |
5 #include <QQmlEngine> |
5 #include <QQmlEngine> |
6 #include <QUuid> |
6 #include <QUuid> |
7 |
7 |
|
8 #include "gameview.h" |
8 #include "previewimageprovider.h" |
9 #include "previewimageprovider.h" |
9 #include "runqueue.h" |
10 #include "runqueue.h" |
10 |
11 |
11 extern "C" { |
12 extern "C" { |
12 RunEngine_t* flibRunEngine; |
13 RunEngine_t* flibRunEngine; |
|
14 GameTick_t* flibGameTick; |
13 ipcToEngineRaw_t* flibIpcToEngineRaw; |
15 ipcToEngineRaw_t* flibIpcToEngineRaw; |
14 ipcSetEngineBarrier_t* flibIpcSetEngineBarrier; |
16 ipcSetEngineBarrier_t* flibIpcSetEngineBarrier; |
15 ipcRemoveBarrierFromEngineQueue_t* flibIpcRemoveBarrierFromEngineQueue; |
17 ipcRemoveBarrierFromEngineQueue_t* flibIpcRemoveBarrierFromEngineQueue; |
16 registerUIMessagesCallback_t* flibRegisterUIMessagesCallback; |
18 registerUIMessagesCallback_t* flibRegisterUIMessagesCallback; |
17 flibInit_t* flibInit; |
19 flibInit_t* flibInit; |
35 |
37 |
36 if (!hwlib.load()) |
38 if (!hwlib.load()) |
37 qWarning() << "Engine library not found" << hwlib.errorString(); |
39 qWarning() << "Engine library not found" << hwlib.errorString(); |
38 |
40 |
39 flibRunEngine = (RunEngine_t*)hwlib.resolve("RunEngine"); |
41 flibRunEngine = (RunEngine_t*)hwlib.resolve("RunEngine"); |
|
42 flibGameTick = (GameTick_t*)hwlib.resolve("GameTick"); |
40 flibIpcToEngineRaw = (ipcToEngineRaw_t*)hwlib.resolve("ipcToEngineRaw"); |
43 flibIpcToEngineRaw = (ipcToEngineRaw_t*)hwlib.resolve("ipcToEngineRaw"); |
41 flibIpcSetEngineBarrier = (ipcSetEngineBarrier_t*)hwlib.resolve("ipcSetEngineBarrier"); |
44 flibIpcSetEngineBarrier = (ipcSetEngineBarrier_t*)hwlib.resolve("ipcSetEngineBarrier"); |
42 flibIpcRemoveBarrierFromEngineQueue = (ipcRemoveBarrierFromEngineQueue_t*)hwlib.resolve("ipcRemoveBarrierFromEngineQueue"); |
45 flibIpcRemoveBarrierFromEngineQueue = (ipcRemoveBarrierFromEngineQueue_t*)hwlib.resolve("ipcRemoveBarrierFromEngineQueue"); |
43 flibRegisterUIMessagesCallback = (registerUIMessagesCallback_t*)hwlib.resolve("registerUIMessagesCallback"); |
46 flibRegisterUIMessagesCallback = (registerUIMessagesCallback_t*)hwlib.resolve("registerUIMessagesCallback"); |
44 flibInit = (flibInit_t*)hwlib.resolve("flibInit"); |
47 flibInit = (flibInit_t*)hwlib.resolve("flibInit"); |
68 |
71 |
69 void HWEngine::exposeToQML() |
72 void HWEngine::exposeToQML() |
70 { |
73 { |
71 qDebug("HWEngine::exposeToQML"); |
74 qDebug("HWEngine::exposeToQML"); |
72 qmlRegisterSingletonType<HWEngine>("Hedgewars.Engine", 1, 0, "HWEngine", hwengine_singletontype_provider); |
75 qmlRegisterSingletonType<HWEngine>("Hedgewars.Engine", 1, 0, "HWEngine", hwengine_singletontype_provider); |
|
76 qmlRegisterType<GameView>("Hedgewars.Engine", 1, 0, "GameView"); |
73 } |
77 } |
74 |
78 |
75 void HWEngine::guiMessagesCallback(void* context, MessageType mt, const char* msg, uint32_t len) |
79 void HWEngine::guiMessagesCallback(void* context, MessageType mt, const char* msg, uint32_t len) |
76 { |
80 { |
77 HWEngine* obj = reinterpret_cast<HWEngine*>(context); |
81 HWEngine* obj = reinterpret_cast<HWEngine*>(context); |
108 } |
112 } |
109 } |
113 } |
110 |
114 |
111 void HWEngine::getPreview() |
115 void HWEngine::getPreview() |
112 { |
116 { |
113 m_gameConfig.cmdSeed(QUuid::createUuid().toByteArray()); |
117 m_seed = QUuid::createUuid().toByteArray(); |
|
118 m_gameConfig.cmdSeed(m_seed); |
114 m_gameConfig.setPreview(true); |
119 m_gameConfig.setPreview(true); |
115 |
120 |
116 m_runQueue->queue(m_gameConfig); |
121 m_runQueue->queue(m_gameConfig); |
117 } |
122 } |
118 |
123 |
119 void HWEngine::runQuickGame() |
124 void HWEngine::runQuickGame() |
120 { |
125 { |
121 m_gameConfig.cmdTheme("Bamboo"); |
126 m_gameConfig.cmdSeed(m_seed); |
|
127 m_gameConfig.cmdTheme("Nature"); |
122 Team team1; |
128 Team team1; |
123 team1.name = "team1"; |
129 team1.name = "team1"; |
124 Team team2; |
130 Team team2; |
125 team2.name = "team2"; |
131 team2.name = "team2"; |
126 team2.color = "7654321"; |
132 team2.color = "7654321"; |