equal
deleted
inserted
replaced
8 #include "previewimageprovider.h" |
8 #include "previewimageprovider.h" |
9 #include "themeiconprovider.h" |
9 #include "themeiconprovider.h" |
10 |
10 |
11 extern "C" { |
11 extern "C" { |
12 RunEngine_t *flibRunEngine; |
12 RunEngine_t *flibRunEngine; |
13 registerGUIMessagesCallback_t *flibRegisterGUIMessagesCallback; |
13 registerUIMessagesCallback_t *flibRegisterUIMessagesCallback; |
14 setSeed_t *flibSetSeed; |
14 setSeed_t *flibSetSeed; |
15 getSeed_t *flibGetSeed; |
15 getSeed_t *flibGetSeed; |
16 setTheme_t *flibSetTheme; |
16 setTheme_t *flibSetTheme; |
17 setScript_t *flibSetScript; |
17 setScript_t *flibSetScript; |
18 setScheme_t *flibSetScheme; |
18 setScheme_t *flibSetScheme; |
33 tryAddTeam_t * flibTryAddTeam; |
33 tryAddTeam_t * flibTryAddTeam; |
34 tryRemoveTeam_t * flibTryRemoveTeam; |
34 tryRemoveTeam_t * flibTryRemoveTeam; |
35 changeTeamColor_t * flibChangeTeamColor; |
35 changeTeamColor_t * flibChangeTeamColor; |
36 |
36 |
37 connectOfficialServer_t * flibConnectOfficialServer; |
37 connectOfficialServer_t * flibConnectOfficialServer; |
|
38 passNetData_t * flibPassNetData; |
38 } |
39 } |
39 |
40 |
40 Q_DECLARE_METATYPE(MessageType); |
41 Q_DECLARE_METATYPE(MessageType); |
41 |
42 |
42 HWEngine::HWEngine(QQmlEngine *engine, QObject *parent) : |
43 HWEngine::HWEngine(QQmlEngine *engine, QObject *parent) : |
49 |
50 |
50 if(!hwlib.load()) |
51 if(!hwlib.load()) |
51 qWarning() << "Engine library not found" << hwlib.errorString(); |
52 qWarning() << "Engine library not found" << hwlib.errorString(); |
52 |
53 |
53 flibRunEngine = (RunEngine_t*) hwlib.resolve("RunEngine"); |
54 flibRunEngine = (RunEngine_t*) hwlib.resolve("RunEngine"); |
54 flibRegisterGUIMessagesCallback = (registerGUIMessagesCallback_t*) hwlib.resolve("registerGUIMessagesCallback"); |
55 flibRegisterUIMessagesCallback = (registerUIMessagesCallback_t*) hwlib.resolve("registerUIMessagesCallback"); |
55 flibGetSeed = (getSeed_t*) hwlib.resolve("getSeed"); |
56 flibGetSeed = (getSeed_t*) hwlib.resolve("getSeed"); |
56 flibGetPreview = (getPreview_t*) hwlib.resolve("getPreview"); |
57 flibGetPreview = (getPreview_t*) hwlib.resolve("getPreview"); |
57 flibRunQuickGame = (runQuickGame_t*) hwlib.resolve("runQuickGame"); |
58 flibRunQuickGame = (runQuickGame_t*) hwlib.resolve("runQuickGame"); |
58 flibRunLocalGame = (runLocalGame_t*) hwlib.resolve("runLocalGame"); |
59 flibRunLocalGame = (runLocalGame_t*) hwlib.resolve("runLocalGame"); |
59 flibInit = (flibInit_t*) hwlib.resolve("flibInit"); |
60 flibInit = (flibInit_t*) hwlib.resolve("flibInit"); |
78 flibTryAddTeam = (tryAddTeam_t*) hwlib.resolve("tryAddTeam"); |
79 flibTryAddTeam = (tryAddTeam_t*) hwlib.resolve("tryAddTeam"); |
79 flibTryRemoveTeam = (tryRemoveTeam_t*) hwlib.resolve("tryRemoveTeam"); |
80 flibTryRemoveTeam = (tryRemoveTeam_t*) hwlib.resolve("tryRemoveTeam"); |
80 flibChangeTeamColor = (changeTeamColor_t*) hwlib.resolve("changeTeamColor"); |
81 flibChangeTeamColor = (changeTeamColor_t*) hwlib.resolve("changeTeamColor"); |
81 |
82 |
82 flibConnectOfficialServer = (connectOfficialServer_t*) hwlib.resolve("connectOfficialServer"); |
83 flibConnectOfficialServer = (connectOfficialServer_t*) hwlib.resolve("connectOfficialServer"); |
|
84 flibPassNetData = (passNetData_t*) hwlib.resolve("passNetData"); |
83 |
85 |
84 flibInit("/usr/home/unC0Rr/Sources/Hedgewars/Hedgewars-GC/share/hedgewars/Data", "/usr/home/unC0Rr/.hedgewars"); |
86 flibInit("/usr/home/unC0Rr/Sources/Hedgewars/Hedgewars-GC/share/hedgewars/Data", "/usr/home/unC0Rr/.hedgewars"); |
85 flibRegisterGUIMessagesCallback(this, &guiMessagesCallback); |
87 flibRegisterUIMessagesCallback(this, &guiMessagesCallback); |
86 |
88 |
87 ThemeIconProvider * themeIcon = (ThemeIconProvider *)m_engine->imageProvider(QLatin1String("theme")); |
89 ThemeIconProvider * themeIcon = (ThemeIconProvider *)m_engine->imageProvider(QLatin1String("theme")); |
88 themeIcon->setFileContentsFunction(flibGetThemeIcon); |
90 themeIcon->setFileContentsFunction(flibGetThemeIcon); |
89 |
91 |
90 fillModels(); |
92 fillModels(); |
168 case MSG_TEAMCOLOR: { |
170 case MSG_TEAMCOLOR: { |
169 QStringList l = QString::fromUtf8(msg).split('\n'); |
171 QStringList l = QString::fromUtf8(msg).split('\n'); |
170 emit teamColorChanged(l[0], QColor::fromRgba(l[1].toInt()).name()); |
172 emit teamColorChanged(l[0], QColor::fromRgba(l[1].toInt()).name()); |
171 break; |
173 break; |
172 } |
174 } |
|
175 case MSG_NETDATA: { |
|
176 flibPassNetData(msg.constData()); |
|
177 } |
173 } |
178 } |
174 } |
179 } |
175 |
180 |
176 QString HWEngine::currentSeed() |
181 QString HWEngine::currentSeed() |
177 { |
182 { |