1
#! /bin/sh /usr/share/dpatch/dpatch-run
2
## 30_new_team_warnings_cmake.patch.dpatch by Igor Ulyanov <iulyanov@gmail.com>
4
## All lines beginning with `## DP:' are a description of the patch.
5
## DP: new team in multiplayer and net game fix - new team is now correctly
6
## DP: Fix most of the warnings in hwengine
7
## DP: Use right way of finding and using Qt4 in CMake
11
Index: hedgewars-0.9.0/QTfrontend/hwform.cpp
12
===================================================================
13
--- hedgewars-0.9.0/QTfrontend/hwform.cpp (revision 506)
14
+++ hedgewars-0.9.0/QTfrontend/hwform.cpp (revision 510)
16
GoToPage(ID_PAGE_NET);
19
-void HWForm::OnPageShown(quint8 id)
20
+void HWForm::OnPageShown(quint8 id, quint8 lastid)
22
if (id == ID_PAGE_MULTIPLAYER || id == ID_PAGE_NETCFG) {
23
QStringList tmNames=config->GetTeamsList();
24
TeamSelWidget* curTeamSelWidget;
25
- id == ID_PAGE_MULTIPLAYER ? curTeamSelWidget=ui.pageMultiplayer->teamsSelect :
26
+ if(id == ID_PAGE_MULTIPLAYER) {
27
+ curTeamSelWidget=ui.pageMultiplayer->teamsSelect;
29
curTeamSelWidget=ui.pageNetGame->pNetTeamsWidget;
31
QList<HWTeam> teamsList;
32
for(QStringList::iterator it=tmNames.begin(); it!=tmNames.end(); it++) {
35
teamsList.push_back(team);
37
- curTeamSelWidget->resetPlayingTeams(teamsList);
38
+ if(lastid==ID_PAGE_SETUP_TEAM) {
39
+ if (editedTeam) curTeamSelWidget->addTeam(*editedTeam);
41
+ curTeamSelWidget->resetPlayingTeams(teamsList);
47
if(hwnet || pnetserver) NetDisconnect();
49
quint8 id = PagesStack.isEmpty() ? ID_PAGE_MAIN : PagesStack.pop();
51
+ OnPageShown(id, ui.Pages->currentIndex());
52
ui.Pages->setCurrentIndex(id);
57
editedTeam->GetFromPage(this);
58
editedTeam->SaveToFile();
66
void HWForm::TeamDiscard()
73
Index: hedgewars-0.9.0/QTfrontend/CMakeLists.txt
74
===================================================================
75
--- hedgewars-0.9.0/QTfrontend/CMakeLists.txt (revision 506)
76
+++ hedgewars-0.9.0/QTfrontend/CMakeLists.txt (revision 510)
78
set(QT_MIN_VERSION "4.2.0")
80
+set(QT_USE_QTNETWORK TRUE)
81
+set(QT_USE_QTSVG TRUE)
82
+set(QT_USE_QTXML TRUE)
83
+set(QT_USE_QTMAIN TRUE)
85
find_package(Qt4 REQUIRED)
86
+include(${QT_USE_FILE})
88
-include_directories(${QT_INCLUDES} .)
89
+include_directories(.)
91
if(WIN32 AND NOT UNIX)
92
set(HEDGEWARS_BINDIR ".")
98
+set(HW_LINK_LIBS ${QT_LIBRARIES})
100
+if(WIN32 AND NOT UNIX)
106
+endif(WIN32 AND NOT UNIX)
108
target_link_libraries(hedgewars
109
- ${QT_QTCORE_LIBRARY}
110
- ${QT_QTGUI_LIBRARY}
111
- ${QT_QTNETWORK_LIBRARY}
112
- ${QT_QTSVG_LIBRARY}
113
- ${QT_QTMAIN_LIBRARY})
116
install(PROGRAMS "${EXECUTABLE_OUTPUT_PATH}/hedgewars${CMAKE_EXECUTABLE_SUFFIX}" DESTINATION bin)
119
-if(WIN32 AND NOT UNIX)
120
- string(REPLACE "\\" "/" QT_BIN_DIR $ENV{QTDIR}/bin)
123
- "${QT_BIN_DIR}/QtNetwork4.dll"
124
- "${QT_BIN_DIR}/QtGui4.dll"
125
- "${QT_BIN_DIR}/QtCore4.dll"
126
- "${QT_BIN_DIR}/QtSvg4.dll"
127
- "${QT_BIN_DIR}/QtXml4.dll"
128
- "${QT_BIN_DIR}/mingwm10.dll"
130
-endif(WIN32 AND NOT UNIX)
131
Index: hedgewars-0.9.0/QTfrontend/hwform.h
132
===================================================================
133
--- hedgewars-0.9.0/QTfrontend/hwform.h (revision 506)
134
+++ hedgewars-0.9.0/QTfrontend/hwform.h (revision 510)
136
HWNetServer* pnetserver;
137
HWNetUdpServer* pUdpServer;
138
void AddStatText(const QString & msg);
139
- void OnPageShown(quint8 id);
140
+ void OnPageShown(quint8 id, quint8 lastid=0);
144
Index: hedgewars-0.9.0/hedgewars/uLand.pas
145
===================================================================
146
--- hedgewars-0.9.0/hedgewars/uLand.pas (revision 506)
147
+++ hedgewars-0.9.0/hedgewars/uLand.pas (revision 510)
151
procedure BezierizeEdge(var pa: TPixAr; Delta: hwFloat);
152
-var x, y, i, StartLoop: LongInt;
153
+var i, StartLoop: LongInt;
157
Index: hedgewars-0.9.0/hedgewars/uMisc.pas
158
===================================================================
159
--- hedgewars-0.9.0/hedgewars/uMisc.pas (revision 506)
160
+++ hedgewars-0.9.0/hedgewars/uMisc.pas (revision 510)
166
-function arctan2(const Y, X: hwFloat): hwFloat;
175
function DxDy2Angle32(const _dY, _dX: hwFloat): LongInt;
176
const _16divPI: Extended = 16/pi;
177
var dY, dX: Extended;
178
Index: hedgewars-0.9.0/hedgewars/GSHandlers.inc
179
===================================================================
180
--- hedgewars-0.9.0/hedgewars/GSHandlers.inc (revision 506)
181
+++ hedgewars-0.9.0/hedgewars/GSHandlers.inc (revision 510)
182
@@ -1035,7 +1035,6 @@
185
procedure doStepAirAttack(Gear: PGear);
189
if Gear^.X.QWordValue = 0 then Gear^.Tag:= 1
190
Index: hedgewars-0.9.0/hedgewars/options.inc
191
===================================================================
192
--- hedgewars-0.9.0/hedgewars/options.inc (revision 506)
193
+++ hedgewars-0.9.0/hedgewars/options.inc (revision 510)
198
-{ $DEFINE DEBUGFILE}
199
+(* { $DEFINE DEBUGFILE} *)
200
{ $DEFINE COUNTTICKS}
202
{ $DEFINE TRACEAIACTIONS}
203
Index: hedgewars-0.9.0/hedgewars/uLandGraphics.pas
204
===================================================================
205
--- hedgewars-0.9.0/hedgewars/uLandGraphics.pas (revision 506)
206
+++ hedgewars-0.9.0/hedgewars/uLandGraphics.pas (revision 510)
207
@@ -269,13 +269,11 @@
210
function TryPlaceOnLand(cpX, cpY: LongInt; Obj: TSprite; Frame: LongInt): boolean;
211
-var Result: boolean;
212
- X, Y, sY, bpp, h, w: LongInt;
213
+var X, Y, bpp, h, w: LongInt;
219
Image:= SpritesData[Obj].Surface;
220
w:= SpritesData[Obj].Width;
221
h:= SpritesData[Obj].Height;
222
Index: hedgewars-0.9.0/hedgewars/uConsts.pas
223
===================================================================
224
--- hedgewars-0.9.0/hedgewars/uConsts.pas (revision 506)
225
+++ hedgewars-0.9.0/hedgewars/uConsts.pas (revision 510)
232
+ PosSprite: sprWater),
233
(NameId: sidClusterBomb;
242
+ PosSprite: sprWater),
252
+ PosSprite: sprWater),
262
+ PosSprite: sprWater),
272
+ PosSprite: sprWater),
273
(NameId: sidPickHammer;
282
+ PosSprite: sprWater),
292
+ PosSprite: sprWater),
299
maxAngle: cMaxAngle div 2;
302
+ PosSprite: sprWater),
312
+ PosSprite: sprWater),
322
+ PosSprite: sprWater),
323
(NameId: sidDynamite;
332
+ PosSprite: sprWater),
333
(NameId: sidFirePunch;
342
+ PosSprite: sprWater),
343
(NameId: sidBaseballBat;
349
maxAngle: cMaxAngle div 2;
352
+ PosSprite: sprWater),
353
(NameId: sidParachute;
362
+ PosSprite: sprWater),
363
(NameId: sidAirAttack;
372
+ PosSprite: sprWater),
376
Index: hedgewars-0.9.0/hedgewars/uStore.pas
377
===================================================================
378
--- hedgewars-0.9.0/hedgewars/uStore.pas (revision 506)
379
+++ hedgewars-0.9.0/hedgewars/uStore.pas (revision 510)
381
TryDo(IOResult = 0, msgFailed, true);
382
WriteLnToConsole(msgOK);
383
val(s, cExplosionBorderColor, c);
384
+ TryDo(c = 0, 'Theme data corrupted', true);
385
AdjustColor(cExplosionBorderColor);
388
Index: hedgewars-0.9.0/hedgewars/uGears.pas
389
===================================================================
390
--- hedgewars-0.9.0/hedgewars/uGears.pas (revision 506)
391
+++ hedgewars-0.9.0/hedgewars/uGears.pas (revision 510)
393
CountNonZeroz:= Result
399
ar: array[0..511] of TPoint;
400
ar2: array[0..1023] of TPoint;
401
Index: hedgewars-0.9.0/hedgewars/uConsole.pas
402
===================================================================
403
--- hedgewars-0.9.0/hedgewars/uConsole.pas (revision 506)
404
+++ hedgewars-0.9.0/hedgewars/uConsole.pas (revision 510)
407
procedure ParseCommand(CmdStr: shortstring; TrustedSource: boolean);
408
type PhwFloat = ^hwFloat;
416
str(PLongInt(t^.Handler)^, s);
417
WriteLnToConsole('$' + CmdStr + ' is "' + s + '"');
418
- end else val(s, PLongInt(t^.Handler)^, i);
419
- vthwFloat: if c='$' then
420
+ end else val(s, PLongInt(t^.Handler)^);
421
+ vthwFloat: if c='$' then
424
//str(PhwFloat(t^.Handler)^:4:6, s);
426
WriteLnToConsole('$' + CmdStr + ' is "' + s + '"');
431
boolean(t^.Handler^):= not (ii = 0)
434
Index: hedgewars-0.9.0/hedgewars/CCHandlers.inc
435
===================================================================
436
--- hedgewars-0.9.0/hedgewars/CCHandlers.inc (revision 506)
437
+++ hedgewars-0.9.0/hedgewars/CCHandlers.inc (revision 510)
441
procedure chColor(var id: shortstring);
444
if CurrentTeam = nil then OutError(errmsgIncorrectUse + ' "/color"', true);
445
-val(id, CurrentTeam^.Color, c);
446
+val(id, CurrentTeam^.Color);
447
CurrentTeam^.AdjColor:= CurrentTeam^.Color;
448
AdjustColor(CurrentTeam^.AdjColor)
451
procedure chAddHH(var id: shortstring);
456
if (not isDeveloperMode) or (CurrentTeam = nil) then exit;
460
- val(id, Hedgehogs[HedgehogsNumber].BotLevel, c);
461
+ val(id, Hedgehogs[HedgehogsNumber].BotLevel);
462
Gear:= AddGear(0, 0, gtHedgehog, 0, 0, 0, 0);
463
Gear^.Hedgehog:= @Hedgehogs[HedgehogsNumber];
464
- val(s, Gear^.Health, c);
465
+ val(s, Gear^.Health);
466
TryDo(Gear^.Health > 0, 'Invalid hedgehog health', true);
467
PHedgehog(Gear^.Hedgehog)^.Team:= CurrentTeam;
468
Hedgehogs[HedgehogsNumber].AmmoStore:= TeamsCount - 1;