merge of 0.9.14 changes into default - hopefully I successfully avoided the parts we don't want
authornemo
Sat, 13 Nov 2010 09:36:26 -0500
changeset 4309 a69c73c5d173
parent 4307 eb0f5c45e7ab (current diff)
parent 4283 7dbdaeecebbf (diff)
child 4312 2610ad7c6d6c
child 4313 0690067bc5ff
merge of 0.9.14 changes into default - hopefully I successfully avoided the parts we don't want
CMakeLists.txt
gameServer/Utils.hs
misc/uSHA.pas
tools/MissionsEditor/MissionsEditor.pro
tools/MissionsEditor/editor.cpp
tools/MissionsEditor/editor.h
tools/MissionsEditor/editor.ui
tools/MissionsEditor/hedgehogedit.cpp
tools/MissionsEditor/hedgehogedit.h
tools/MissionsEditor/hedgehogedit.ui
tools/MissionsEditor/main.cpp
tools/MissionsEditor/teamedit.cpp
tools/MissionsEditor/teamedit.h
tools/MissionsEditor/teamedit.ui
--- a/CMakeLists.txt	Sat Nov 13 14:40:06 2010 +0100
+++ b/CMakeLists.txt	Sat Nov 13 09:36:26 2010 -0500
@@ -214,6 +214,7 @@
 
 set(CPACK_SOURCE_IGNORE_FILES
 	"~"
+	"\\\\.hg"
 	"\\\\.svn"
 	"\\\\.exe$"
 	"\\\\.a$"
@@ -229,7 +230,11 @@
 	"\\\\.tmp$"
 	"\\\\.core$"
 	"\\\\.sh$"
+	"\\\\.sifz$"
+	"\\\\.svg$"
+	"\\\\.svgz$"
 	"\\\\.ppu$"
+	"\\\\.psd$"
 	"\\\\.o$"
 	"Makefile"
 	"Doxyfile"
@@ -242,7 +247,10 @@
 	"hwconsts.cpp$"
 	"playlist.inc$"
 	"CPack"
-#	"^${CMAKE_CURRENT_SOURCE_DIR}/misc/libopenalbridge"
+	"cmake_install.cmake$"
+	"config.inc$"
+	"hwengine.desktop$"
+#   "^${CMAKE_CURRENT_SOURCE_DIR}/misc/libopenalbridge"
 	"^${CMAKE_CURRENT_SOURCE_DIR}/project_files/HedgewarsMobile/"
 	"^${CMAKE_CURRENT_SOURCE_DIR}/bin/[a-z]"
 	"^${CMAKE_CURRENT_SOURCE_DIR}/tools/templates"
--- a/INSTALL	Sat Nov 13 14:40:06 2010 +0100
+++ b/INSTALL	Sat Nov 13 09:36:26 2010 -0500
@@ -23,7 +23,7 @@
 
 $ cmake -DCMAKE_BUILD_TYPE="Release" -DBUNDLE=1 .
 
-if you have QT installed but it is not found you can set it up with -DQT_QMAKE_EXECUTABLE="path_to_qmake"
+if you have Qt installed but it is not found you can set it up with -DQT_QMAKE_EXECUTABLE="path_to_qmake"
 
 2. Compile:
 $ make
--- a/README	Sat Nov 13 14:40:06 2010 +0100
+++ b/README	Sat Nov 13 09:36:26 2010 -0500
@@ -3,5 +3,5 @@
 Images and sounds are distributed under the terms of the GNU FDL licence.
 
 Source:
-Copyright 2004-2009 Andrey Korotaev <unC0Rr@gmail.com>
-Copyright 2006-2008 Igor Ulyanov aka Displacer <iulyanov@gmail.com>
\ No newline at end of file
+Copyright 2004-2010 Andrey Korotaev <unC0Rr@gmail.com>
+Portions copyright 2006-2008 Igor Ulyanov aka Displacer <iulyanov@gmail.com>
--- a/gameServer/Utils.hs	Sat Nov 13 14:40:06 2010 +0100
+++ b/gameServer/Utils.hs	Sat Nov 13 09:36:26 2010 -0500
@@ -95,6 +95,8 @@
 protoNumber2ver 30 = "0.9.13-dev"
 protoNumber2ver 31 = "0.9.13"
 protoNumber2ver 32 = "0.9.14-dev"
+protoNumber2ver 33 = "0.9.14"
+protoNumber2ver 34 = "0.9.15-dev"
 protoNumber2ver _ = "Unknown"
 
 askFromConsole :: String -> IO String
--- a/misc/uSHA.pas	Sat Nov 13 14:40:06 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,166 +0,0 @@
-(*
- * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2010 Andrey Korotaev <unC0Rr@gmail.com>
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; version 2 of the License
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
- *)
-
-{$INCLUDE "options.inc"}
-
-unit uSHA;
-interface
-uses SDLh;
-
-type TSHA1Context = packed record
-                    H: array[0..4] of LongWord;
-                    Length, CurrLength: Int64;
-                    Buf: array[0..63] of byte;
-                    end;
-     TSHA1Digest =  array[0..4] of LongWord;
-
-procedure SHA1Init(var Context: TSHA1Context);
-procedure SHA1Update(var Context: TSHA1Context; Buf: PByteArray; Length: LongWord);
-procedure SHA1UpdateLongwords(var Context: TSHA1Context; Buf: PLongwordArray; Length: LongWord);
-function  SHA1Final(Context: TSHA1Context): TSHA1Digest;
-
-implementation
-
-function rol(x: LongWord; y: Byte): LongWord;
-begin
-  rol:= (X shl y) or (X shr (32 - y))
-end;
-
-function Ft(t, b, c, d: LongWord): LongWord;
-begin
-case t of
-      0..19: Ft := (b and c) or ((not b) and d);
-     20..39: Ft :=  b xor c xor d;
-     40..59: Ft := (b and c) or (b and d) or (c and d);
-     else    Ft :=  b xor c xor d;
-  end;
-end;
-
-function Kt(t: Byte): LongWord;
-begin
-  case t of
-     0..19: Kt := $5A827999;
-    20..39: Kt := $6ED9EBA1;
-    40..59: Kt := $8F1BBCDC;
-  else
-    Kt := $CA62C1D6
-  end;
-end;
-
-
-procedure SHA1Hash(var Context: TSHA1Context);
-var S: array[0..4 ] of LongWord;
-    W: array[0..79] of LongWord;
-    i, t: LongWord;
-begin
-{$HINTS OFF}
-move(Context.H, S, sizeof(S));
-{$HINTS ON}
-for i:= 0 to 15 do
-    SDLNet_Write32(PLongWordArray(@Context.Buf)^[i], @W[i]);
-
-for i := 16 to 79 do
-    W[i] := rol(W[i - 3] xor W[i - 8] xor W[i - 14] xor W[i - 16], 1);
-
-for i := 0 to 79 do
-    begin
-    t:= rol(S[0], 5) + Ft(i, S[1], S[2], S[3]) + S[4] + W[i] + Kt(i);
-    S[4]:= S[3];
-    S[3]:= S[2];
-    S[2]:= rol(S[1], 30);
-    S[1]:= S[0];
-    S[0]:= t
-    end;
-
-for i := 0 to 4 do
-    Context.H[i]:= Context.H[i] + S[i]
-end;
-
-procedure SHA1Init(var Context: TSHA1Context);
-begin
-  with Context do
-       begin
-       Length    := 0;
-       CurrLength:= 0;
-       H[0]:= $67452301;
-       H[1]:= $EFCDAB89;
-       H[2]:= $98BADCFE;
-       H[3]:= $10325476;
-       H[4]:= $C3D2E1F0
-  end
-end;
-
-procedure SHA1Update(var Context: TSHA1Context; Buf: PByteArray; Length: LongWord);
-var i: Longword;
-begin
-for i:= 0 to Pred(Length) do
-    begin
-    Context.Buf[Context.CurrLength]:= Buf^[i];
-    inc(Context.CurrLength);
-    if Context.CurrLength = 64 then
-       begin
-       SHA1Hash(Context);
-       inc(Context.Length, 512);
-       Context.CurrLength:= 0
-       end
-    end
-end;
-
-procedure SHA1UpdateLongwords(var Context: TSHA1Context; Buf: PLongwordArray; Length: LongWord);
-var i: Longword;
-begin
-    for i:= 0 to Pred(Length div 4) do
-    begin
-        SDLNet_Write32(Buf^[i], @Context.Buf[Context.CurrLength]);
-        inc(Context.CurrLength, 4);
-        if Context.CurrLength = 64 then
-        begin
-            SHA1Hash(Context);
-            inc(Context.Length, 512);
-            Context.CurrLength:= 0
-        end
-    end
-end;
-
-function  SHA1Final(Context: TSHA1Context): TSHA1Digest;
-var i: LongWord;
-begin
-    Context.Length:= Context.Length + Context.CurrLength shl 3;
-    Context.Buf[Context.CurrLength]:= $80;
-    inc(Context.CurrLength);
-
-    if Context.CurrLength > 56 then
-    begin
-        FillChar(Context.Buf[Context.CurrLength], 64 - Context.CurrLength, 0);
-        Context.CurrLength:= 64;
-        SHA1Hash(Context);
-        Context.CurrLength:=0
-    end;
-
-    FillChar(Context.Buf[Context.CurrLength], 56 - Context.CurrLength, 0);
-
-    for i:= 56 to 63 do
-        Context.Buf[i] := (Context.Length shr ((63 - i) * 8)) and $FF;
-    SHA1Hash(Context);
-    for i:= 0 to 4 do
-        SHA1Final[i]:= Context.H[i];
-
-    FillChar(Context, sizeof(Context), 0)
-end;
-
-end.
--- a/share/hedgewars/Data/Locale/hedgewars_en.ts	Sat Nov 13 14:40:06 2010 +0100
+++ b/share/hedgewars/Data/Locale/hedgewars_en.ts	Sat Nov 13 09:36:26 2010 -0500
@@ -42,7 +42,7 @@
     </message>
     <message>
         <source>When this option is enabled selecting a game scheme will auto-select a weapon (and viceversa)</source>
-        <translation type="unfinished"></translation>
+        <translation>When this option is enabled selecting a game scheme will auto-select a weapon (and vice versa)</translation>
     </message>
 </context>
 <context>
@@ -92,17 +92,17 @@
     </message>
     <message>
         <source>DefaultTeam</source>
-        <translation type="unfinished"></translation>
+        <translation>Default Team</translation>
     </message>
     <message>
         <source>Hedgewars Demo File</source>
         <comment>File Types</comment>
-        <translation type="unfinished"></translation>
+        <translation>Hedgewars Demo File</translation>
     </message>
     <message>
         <source>Hedgewars Save File</source>
         <comment>File Types</comment>
-        <translation type="unfinished"></translation>
+        <translation>Hedgewars Save File</translation>
     </message>
 </context>
 <context>
@@ -156,7 +156,7 @@
     </message>
     <message>
         <source>Type</source>
-        <translation type="unfinished">Type</translation>
+        <translation>Type</translation>
     </message>
     <message>
         <source>Small tunnels</source>
@@ -347,19 +347,19 @@
     </message>
     <message>
         <source>Details</source>
-        <translation type="unfinished"></translation>
+        <translation>Details</translation>
     </message>
     <message>
         <source>Health graph</source>
-        <translation type="unfinished"></translation>
+        <translation>Health graph</translation>
     </message>
     <message>
         <source>Ranking</source>
-        <translation type="unfinished"></translation>
+        <translation>Ranking</translation>
     </message>
     <message>
         <source>The best shot award was won by &lt;b&gt;%1&lt;/b&gt; with &lt;b&gt;%2&lt;/b&gt; pts.</source>
-        <translation type="unfinished"></translation>
+        <translation>The best shot award was won by &lt;b&gt;%1&lt;/b&gt; with &lt;b&gt;%2&lt;/b&gt; pts.</translation>
     </message>
     <message numerus="yes">
         <source>The best killer is &lt;b&gt;%1&lt;/b&gt; with &lt;b&gt;%2&lt;/b&gt; kills in a turn.</source>
@@ -377,30 +377,28 @@
     </message>
     <message numerus="yes">
         <source>(%1 kill)</source>
-        <translation type="unfinished">
-            <numerusform></numerusform>
-            <numerusform></numerusform>
+        <translation>
+            <numerusform>(%1 kill)</numerusform>
+            <numerusform>(%1 kills)</numerusform>
         </translation>
     </message>
     <message numerus="yes">
         <source>&lt;b&gt;%1&lt;/b&gt; thought it&apos;s good to shoot his own hedgehogs with &lt;b&gt;%2&lt;/b&gt; pts.</source>
         <translation type="unfinished">
             <numerusform></numerusform>
-            <numerusform></numerusform>
         </translation>
     </message>
     <message numerus="yes">
         <source>&lt;b&gt;%1&lt;/b&gt; killed &lt;b&gt;%2&lt;/b&gt; of his own hedgehogs.</source>
         <translation type="unfinished">
             <numerusform></numerusform>
-            <numerusform></numerusform>
         </translation>
     </message>
     <message numerus="yes">
         <source>&lt;b&gt;%1&lt;/b&gt; was scared and skipped turn &lt;b&gt;%2&lt;/b&gt; times.</source>
-        <translation type="unfinished">
-            <numerusform></numerusform>
-            <numerusform></numerusform>
+        <translation>
+            <numerusform>&lt;b&gt;%1&lt;/b&gt; was scared and skipped turn &lt;b&gt;%2&lt;/b&gt; time.</numerusform>
+            <numerusform>&lt;b&gt;%1&lt;/b&gt; was scared and skipped turn &lt;b&gt;%2&lt;/b&gt; times.</numerusform>
         </translation>
     </message>
 </context>
@@ -724,7 +722,7 @@
     </message>
     <message>
         <source>You can&apos;t edit teams from team selection. Go back to main menu to add, edit or delete teams.</source>
-        <translation type="unfinished"></translation>
+        <translation>You can&apos;t edit teams from team selection. Go back to main menu to add, edit or delete teams.</translation>
     </message>
 </context>
 <context>
@@ -1549,7 +1547,7 @@
     </message>
     <message>
         <source>Associate file extensions</source>
-        <translation type="unfinished"></translation>
+        <translation>Associate file extensions</translation>
     </message>
 </context>
 <context>
@@ -1870,7 +1868,7 @@
     </message>
     <message>
         <source>slot 10</source>
-        <translation type="unfinished">slot 10</translation>
+        <translation>slot 10</translation>
     </message>
 </context>
 <context>
--- a/share/hedgewars/Data/Locale/hedgewars_es.ts	Sat Nov 13 14:40:06 2010 +0100
+++ b/share/hedgewars/Data/Locale/hedgewars_es.ts	Sat Nov 13 09:36:26 2010 -0500
@@ -42,7 +42,7 @@
     </message>
     <message>
         <source>When this option is enabled selecting a game scheme will auto-select a weapon (and viceversa)</source>
-        <translation type="unfinished"></translation>
+        <translation>Cuando esta opción esté activada escoger un modo de juego escogerá el set de armas correspondiente (y viceversa)</translation>
     </message>
 </context>
 <context>
@@ -670,12 +670,12 @@
     <message>
         <source>You can find your Hedgewars configuration files under &quot;Library/Application Support/Hedgewars&quot; in your home directory. Create backups or take the files with you, but don&apos;t edit them by hand.</source>
         <comment>Tips</comment>
-        <translation type="unfinished"></translation>
+        <translation>Puedes encontrar los archivos de configuración del juego en la carpeta &quot;Library/Application Support/Hedgewars&quot; dentro de tu directorio personal. Puedes hacer copias de seguridad de los mismos o copiarlos a otro ordenador si lo deseas, pero no intentes editarlos a mano para evitar posibles pérdidas de datos.</translation>
     </message>
     <message>
         <source>You can find your Hedgewars configuration files under &quot;.hedgewars&quot; in your home directory. Create backups or take the files with you, but don&apos;t edit them by hand.</source>
         <comment>Tips</comment>
-        <translation type="unfinished"></translation>
+        <translation>Puedes encontrar los archivos de configuración del juego en la carpeta &quot;.hedgewars&quot; dentro de tu directorio personal. Puedes hacer copias de seguridad de los mismos o copiarlos a otro ordenador si lo deseas, pero no intentes editarlos a mano para evitar posibles pérdidas de datos.</translation>
     </message>
 </context>
 <context>
@@ -1415,7 +1415,7 @@
     </message>
     <message>
         <source>Tip: </source>
-        <translation>Consejo:</translation>
+        <translation>Consejo: </translation>
     </message>
     <message>
         <source>This development build is &apos;work in progress&apos; and may not be compatible with other versions of the game. Some features might be broken or incomplete. Use at your own risk!</source>
@@ -1441,11 +1441,11 @@
     </message>
     <message>
         <source>Sudden Death Health Decrease</source>
-        <translation>Decremento de vida en muerte súbita</translation>
+        <translation>Disminución de vida por turno en muerte súbita</translation>
     </message>
     <message>
         <source>Bind schemes and weapons</source>
-        <translation type="unfinished"></translation>
+        <translation>Enlazar modos y sets</translation>
     </message>
 </context>
 <context>
--- a/share/hedgewars/Data/Locale/hedgewars_pl.ts	Sat Nov 13 14:40:06 2010 +0100
+++ b/share/hedgewars/Data/Locale/hedgewars_pl.ts	Sat Nov 13 09:36:26 2010 -0500
@@ -43,7 +43,7 @@
     </message>
     <message>
         <source>When this option is enabled selecting a game scheme will auto-select a weapon (and viceversa)</source>
-        <translation type="unfinished"></translation>
+        <translation>Kiedy ta opcja jest włączona, wybór ustawnień gry zmienia uzbrojenie na odpowiadające (i vice versa)</translation>
     </message>
 </context>
 <context>
@@ -674,7 +674,7 @@
     <message>
         <source>You can find your Hedgewars configuration files under &quot;My Documents\Hedgewars&quot;. Create backups or take the files with you, but don&apos;t edit them by hand.</source>
         <comment>Tips</comment>
-        <translation>Swoje zespoły i konfigurację gry znajdzie4sz w folderze &quot;Moje Dokumenty\Hedgewars&quot;. Twórz regularnie kopie zapasowe ale nie edytuj tych plików własnoręcznie.</translation>
+        <translation>Swoje zespoły i konfigurację gry znajdziesz w folderze &quot;Moje Dokumenty\Hedgewars&quot;. Twórz regularnie kopie zapasowe, ale nie edytuj tych plików własnoręcznie.</translation>
     </message>
     <message>
         <source>You can find your Hedgewars configuration files under &quot;Hedgewars&quot; in your home directory. Create backups or take the files with you, but don&apos;t edit them by hand.</source>
@@ -694,12 +694,12 @@
     <message>
         <source>You can find your Hedgewars configuration files under &quot;Library/Application Support/Hedgewars&quot; in your home directory. Create backups or take the files with you, but don&apos;t edit them by hand.</source>
         <comment>Tips</comment>
-        <translation type="unfinished"></translation>
+        <translation>Swoje zespoły i konfigurację gry znajdziesz w folderze &quot;Biblioteka/Wsparcie aplikacji/Hedgewars&quot; w towim katalogu domowym. Twórz regularnie kopie zapasowe, ale nie edytuj tych plików własnoręcznie.</translation>
     </message>
     <message>
         <source>You can find your Hedgewars configuration files under &quot;.hedgewars&quot; in your home directory. Create backups or take the files with you, but don&apos;t edit them by hand.</source>
         <comment>Tips</comment>
-        <translation type="unfinished"></translation>
+        <translation>Swoje zespoły i konfigurację gry znajdziesz w folderze &quot;.hedgewars&quot; w twoim katalogu domowym. Twórz regularnie kopie zapasowe, ale nie edytuj tych plików własnoręcznie.</translation>
     </message>
 </context>
 <context>
@@ -1474,7 +1474,7 @@
     </message>
     <message>
         <source>Bind schemes and weapons</source>
-        <translation type="unfinished"></translation>
+        <translation>Połącz ustawienia gry z uzbrojeniem</translation>
     </message>
 </context>
 <context>
--- a/share/hedgewars/Data/Locale/hedgewars_ru.ts	Sat Nov 13 14:40:06 2010 +0100
+++ b/share/hedgewars/Data/Locale/hedgewars_ru.ts	Sat Nov 13 09:36:26 2010 -0500
@@ -376,8 +376,8 @@
         <source>A total of &lt;b&gt;%1&lt;/b&gt; hedgehog(s) were killed during this round.</source>
         <translation>
             <numerusform>Всего &lt;b&gt;%1&lt;/b&gt; ёж был убит в течение игры.</numerusform>
-            <numerusform>Всего &lt;b&gt;%1&lt;/b&gt; ёжа был убит в течение игры.</numerusform>
-            <numerusform>Всего &lt;b&gt;%1&lt;/b&gt; ёжей был убит в течение игры.</numerusform>
+            <numerusform>Всего &lt;b&gt;%1&lt;/b&gt; ежа были убиты в течение игры.</numerusform>
+            <numerusform>Всего &lt;b&gt;%1&lt;/b&gt; ежей были убиты в течение игры.</numerusform>
         </translation>
     </message>
     <message numerus="yes">
--- a/share/hedgewars/Data/Maps/Basketball/map.lua	Sat Nov 13 14:40:06 2010 +0100
+++ b/share/hedgewars/Data/Maps/Basketball/map.lua	Sat Nov 13 09:36:26 2010 -0500
@@ -15,7 +15,7 @@
 	["en"] = "Not So Friendly Match",
 	["de"] = "Kein-so-Freundschaftsspiel",
 	["es"] = "Partido no-tan-amistoso",
-	["pl"] = "Mecz Nie-Taki-Towarzyski",
+	["pl"] = "Mecz Nie-Do-Końca Towarzyski",
 	["pt_PT"] = "Partida não muito amigável",
 	["sk"] = "Nie tak celkom priateľský zápas",
 	["sv"] = "En inte så vänlig match",
--- a/share/hedgewars/Data/Maps/Knockball/map.lua	Sat Nov 13 14:40:06 2010 +0100
+++ b/share/hedgewars/Data/Maps/Knockball/map.lua	Sat Nov 13 09:36:26 2010 -0500
@@ -15,7 +15,7 @@
 	["en"] = "Not So Friendly Match",
 	["de"] = "Kein-so-Freundschaftsspiel",
 	["es"] = "Partido no-tan-amistoso",
-	["pl"] = "Mecz Nie-Taki-Towarzyski",
+	["pl"] = "Mecz Nie-Do-Końca Towarzyski",
 	["pt_PT"] = "Partida não muito amigável",
 	["sk"] = "Nie tak celkom priateľký zápas",
 	["sv"] = "En inte så vänlig match",
--- a/tools/MissionsEditor/MissionsEditor.pro	Sat Nov 13 14:40:06 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,15 +0,0 @@
-# -------------------------------------------------
-# Project created by QtCreator 2009-10-21T19:51:57
-# -------------------------------------------------
-TARGET = MissionsEditor
-TEMPLATE = app
-SOURCES += main.cpp \
-    editor.cpp \
-    teamedit.cpp \
-    hedgehogedit.cpp
-HEADERS += editor.h \
-    teamedit.h \
-    hedgehogedit.h
-FORMS += editor.ui \
-    teamedit.ui \
-    hedgehogedit.ui
--- a/tools/MissionsEditor/editor.cpp	Sat Nov 13 14:40:06 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,160 +0,0 @@
-#include <QtGui>
-#include <QObject>
-#include "editor.h"
-#include "ui_editor.h"
-
-editor::editor(QWidget *parent)
-    : QMainWindow(parent), ui(new Ui::editor)
-{
-    ui->setupUi(this);
-
-    reset();
-
-    cbFlags
-        << ui->cbForts
-        << ui->cbMultiWeapon
-        << ui->cbSolidLand
-        << ui->cbBorder
-        << ui->cbDivideTeams
-        << ui->cbLowGravity
-        << ui->cbLaserSight
-        << ui->cbInvulnerable
-        << ui->cbMines
-        << ui->cbVampiric
-        << ui->cbKarma
-        << ui->cbArtillery
-        << ui->cbOneClanMode
-        ;
-}
-
-editor::~editor()
-{
-    delete ui;
-}
-
-void editor::reset()
-{
-    for(int i = 0; i < 6; ++i)
-    {
-        ui->twTeams->setTabEnabled(i, false);
-        ui->twTeams->widget(i)->setEnabled(false);
-    }
-}
-
-void editor::on_actionLoad_triggered()
-{
-    QString fileName = QFileDialog::getOpenFileName(this, QString(), QString(), "Missions (*.txt)");
-
-    if(!fileName.isEmpty())
-        load(fileName);
-}
-
-void editor::load(const QString & fileName)
-{
-    int currTeam = -1;
-
-    QFile file(fileName);
-
-    if(!file.open(QIODevice::ReadOnly))
-    {
-        QMessageBox::warning(this, "File error", "No such file");
-        return ;
-    }
-
-    QTextStream stream(&file);
-
-    while(!stream.atEnd())
-    {
-        QString line = stream.readLine();
-        if (line.startsWith("seed"))
-            ui->leSeed->setText(line.mid(5));
-        else
-        if (line.startsWith("map"))
-            ui->leMap->setText(line.mid(4));
-        else
-        if (line.startsWith("theme"))
-            ui->leTheme->setText(line.mid(6));
-        else
-        if (line.startsWith("$turntime"))
-            ui->sbTurnTime->setValue(line.mid(10).toInt());
-        else
-        if (line.startsWith("$casefreq"))
-            ui->sbCrateDrops->setValue(line.mid(10).toInt());
-        else
-        if (line.startsWith("$damagepct"))
-            ui->sbDamageModifier->setValue(line.mid(11).toInt());
-        else
-        if (line.startsWith("$gmflags"))
-        {
-            quint32 flags = line.mid(9).toInt();
-            foreach(QCheckBox * cb, cbFlags)
-            {
-                cb->setChecked(flags & 1);
-                flags >>= 1;
-            }
-        }
-        else
-        if (line.startsWith("addteam") && (currTeam < 5))
-        {
-            ++currTeam;
-            ui->twTeams->setTabEnabled(currTeam, true);
-            ui->twTeams->widget(currTeam)->setEnabled(true);
-
-            line = line.mid(8);
-            int spacePos = line.indexOf('\x20');
-            quint32 teamColor = line.left(spacePos).toUInt();
-            QString teamName = line.mid(spacePos + 1);
-
-            TeamEdit * te = qobject_cast<TeamEdit *>(ui->twTeams->widget(currTeam));
-            te->setTeam(teamName, teamColor);
-        }
-        else
-        if (line.startsWith("addhh") && (currTeam >= 0))
-        {
-            line = line.mid(6);
-            quint32 level = line.left(1).toUInt();
-            line = line.mid(2);
-            int spacePos = line.indexOf('\x20');
-            quint32 health = line.left(spacePos).toUInt();
-            QString hhName = line.mid(spacePos + 1);
-
-            TeamEdit * te = qobject_cast<TeamEdit *>(ui->twTeams->widget(currTeam));
-            te->addHedgehog(level, health, hhName);
-        }
-        else
-        if (line.startsWith("fort") && (currTeam >= 0))
-        {
-            TeamEdit * te = qobject_cast<TeamEdit *>(ui->twTeams->widget(currTeam));
-            te->setFort(line.mid(5));
-        }
-        else
-        if (line.startsWith("hat") && (currTeam >= 0))
-        {
-            TeamEdit * te = qobject_cast<TeamEdit *>(ui->twTeams->widget(currTeam));
-            te->setLastHHHat(line.mid(4));
-        }
-        else
-        if (line.startsWith("hhcoords") && (currTeam >= 0))
-        {
-            line = line.mid(9);
-            int spacePos = line.indexOf('\x20');
-            int x = line.left(spacePos).toUInt();
-            int y = line.mid(spacePos + 1).toInt();
-
-            TeamEdit * te = qobject_cast<TeamEdit *>(ui->twTeams->widget(currTeam));
-            te->setLastHHCoords(x, y);
-        }
-        else
-        if (line.startsWith("grave") && (currTeam >= 0))
-        {
-            TeamEdit * te = qobject_cast<TeamEdit *>(ui->twTeams->widget(currTeam));
-            te->setGrave(line.mid(6));
-        }
-        else
-        if (line.startsWith("voicepack") && (currTeam >= 0))
-        {
-            TeamEdit * te = qobject_cast<TeamEdit *>(ui->twTeams->widget(currTeam));
-            te->setVoicepack(line.mid(10));
-        }
-    }
-}
--- a/tools/MissionsEditor/editor.h	Sat Nov 13 14:40:06 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,32 +0,0 @@
-#ifndef EDITOR_H
-#define EDITOR_H
-
-#include <QtGui/QMainWindow>
-
-namespace Ui
-{
-    class editor;
-}
-
-class QCheckBox;
-
-class editor : public QMainWindow
-{
-    Q_OBJECT
-
-public:
-    editor(QWidget *parent = 0);
-    ~editor();
-
-private:
-    Ui::editor *ui;
-    QList<QCheckBox  *> cbFlags;
-
-    void load(const QString & fileName);
-    void reset();
-
-private slots:
-    void on_actionLoad_triggered();
-};
-
-#endif // EDITOR_H
--- a/tools/MissionsEditor/editor.ui	Sat Nov 13 14:40:06 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,406 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<ui version="4.0">
- <class>editor</class>
- <widget class="QMainWindow" name="editor">
-  <property name="geometry">
-   <rect>
-    <x>0</x>
-    <y>0</y>
-    <width>419</width>
-    <height>476</height>
-   </rect>
-  </property>
-  <property name="windowTitle">
-   <string>editor</string>
-  </property>
-  <widget class="QWidget" name="centralWidget">
-   <layout class="QGridLayout" name="gridLayout">
-    <item row="0" column="0">
-     <widget class="QTabWidget" name="tabWidget">
-      <property name="currentIndex">
-       <number>2</number>
-      </property>
-      <widget class="QWidget" name="tab_4">
-       <attribute name="title">
-        <string>Mission</string>
-       </attribute>
-       <layout class="QGridLayout" name="gridLayout_3">
-        <item row="0" column="0">
-         <widget class="QLabel" name="label_4">
-          <property name="text">
-           <string>Name</string>
-          </property>
-         </widget>
-        </item>
-        <item row="0" column="1">
-         <widget class="QLineEdit" name="leName"/>
-        </item>
-        <item row="1" column="0">
-         <widget class="QLabel" name="label_5">
-          <property name="text">
-           <string>Description</string>
-          </property>
-         </widget>
-        </item>
-        <item row="1" column="1">
-         <widget class="QTextEdit" name="teDescription"/>
-        </item>
-        <item row="2" column="0">
-         <widget class="QLabel" name="label_6">
-          <property name="text">
-           <string>Map</string>
-          </property>
-         </widget>
-        </item>
-        <item row="3" column="0">
-         <widget class="QLabel" name="label_7">
-          <property name="text">
-           <string>Theme</string>
-          </property>
-         </widget>
-        </item>
-        <item row="2" column="1">
-         <widget class="QLineEdit" name="leMap"/>
-        </item>
-        <item row="3" column="1">
-         <widget class="QLineEdit" name="leTheme"/>
-        </item>
-       </layout>
-      </widget>
-      <widget class="QWidget" name="tab">
-       <attribute name="title">
-        <string>Options</string>
-       </attribute>
-       <layout class="QHBoxLayout" name="horizontalLayout">
-        <item>
-         <layout class="QVBoxLayout" name="verticalLayout">
-          <item>
-           <widget class="QCheckBox" name="cbInvulnerable">
-            <property name="text">
-             <string>Invulnerable</string>
-            </property>
-           </widget>
-          </item>
-          <item>
-           <widget class="QCheckBox" name="cbArtillery">
-            <property name="text">
-             <string>Artillery</string>
-            </property>
-           </widget>
-          </item>
-          <item>
-           <widget class="QCheckBox" name="cbSolidLand">
-            <property name="text">
-             <string>SolidLand</string>
-            </property>
-           </widget>
-          </item>
-          <item>
-           <widget class="QCheckBox" name="cbVampiric">
-            <property name="text">
-             <string>Vampiric</string>
-            </property>
-           </widget>
-          </item>
-          <item>
-           <widget class="QCheckBox" name="cbOneClanMode">
-            <property name="text">
-             <string>OneClanMode</string>
-            </property>
-            <property name="checked">
-             <bool>true</bool>
-            </property>
-           </widget>
-          </item>
-          <item>
-           <widget class="QCheckBox" name="cbKarma">
-            <property name="text">
-             <string>Karma</string>
-            </property>
-           </widget>
-          </item>
-          <item>
-           <widget class="QCheckBox" name="cbLaserSight">
-            <property name="text">
-             <string>LaserSight</string>
-            </property>
-           </widget>
-          </item>
-          <item>
-           <widget class="QCheckBox" name="cbBorder">
-            <property name="text">
-             <string>Border</string>
-            </property>
-           </widget>
-          </item>
-          <item>
-           <widget class="QCheckBox" name="cbLowGravity">
-            <property name="text">
-             <string>LowGravity</string>
-            </property>
-           </widget>
-          </item>
-          <item>
-           <widget class="QCheckBox" name="cbMines">
-            <property name="text">
-             <string>Mines</string>
-            </property>
-           </widget>
-          </item>
-          <item>
-           <widget class="QCheckBox" name="cbDivideTeams">
-            <property name="text">
-             <string>DivideTeams</string>
-            </property>
-           </widget>
-          </item>
-          <item>
-           <widget class="QCheckBox" name="cbMultiWeapon">
-            <property name="text">
-             <string>MultiWeapon</string>
-            </property>
-            <property name="checked">
-             <bool>true</bool>
-            </property>
-           </widget>
-          </item>
-          <item>
-           <widget class="QCheckBox" name="cbForts">
-            <property name="text">
-             <string>Forts</string>
-            </property>
-           </widget>
-          </item>
-          <item>
-           <spacer name="verticalSpacer">
-            <property name="orientation">
-             <enum>Qt::Vertical</enum>
-            </property>
-            <property name="sizeHint" stdset="0">
-             <size>
-              <width>20</width>
-              <height>40</height>
-             </size>
-            </property>
-           </spacer>
-          </item>
-         </layout>
-        </item>
-        <item>
-         <layout class="QGridLayout" name="gridLayout_2">
-          <item row="0" column="0">
-           <widget class="QLabel" name="labelSeed">
-            <property name="text">
-             <string>Seed</string>
-            </property>
-           </widget>
-          </item>
-          <item row="0" column="1">
-           <widget class="QLineEdit" name="leSeed">
-            <property name="text">
-             <string>foobar</string>
-            </property>
-           </widget>
-          </item>
-          <item row="1" column="0">
-           <widget class="QLabel" name="label">
-            <property name="text">
-             <string>Damage Modifier</string>
-            </property>
-           </widget>
-          </item>
-          <item row="2" column="0">
-           <widget class="QLabel" name="label_2">
-            <property name="text">
-             <string>Turn Time</string>
-            </property>
-           </widget>
-          </item>
-          <item row="3" column="0">
-           <widget class="QLabel" name="label_3">
-            <property name="text">
-             <string>Crate Drops</string>
-            </property>
-           </widget>
-          </item>
-          <item row="4" column="0">
-           <spacer name="verticalSpacer_2">
-            <property name="orientation">
-             <enum>Qt::Vertical</enum>
-            </property>
-            <property name="sizeHint" stdset="0">
-             <size>
-              <width>20</width>
-              <height>40</height>
-             </size>
-            </property>
-           </spacer>
-          </item>
-          <item row="1" column="1">
-           <widget class="QSpinBox" name="sbDamageModifier">
-            <property name="minimum">
-             <number>10</number>
-            </property>
-            <property name="maximum">
-             <number>300</number>
-            </property>
-            <property name="singleStep">
-             <number>15</number>
-            </property>
-            <property name="value">
-             <number>100</number>
-            </property>
-           </widget>
-          </item>
-          <item row="2" column="1">
-           <widget class="QSpinBox" name="sbTurnTime">
-            <property name="minimum">
-             <number>1000</number>
-            </property>
-            <property name="maximum">
-             <number>100000</number>
-            </property>
-            <property name="singleStep">
-             <number>5000</number>
-            </property>
-            <property name="value">
-             <number>45000</number>
-            </property>
-           </widget>
-          </item>
-          <item row="3" column="1">
-           <widget class="QSpinBox" name="sbCrateDrops">
-            <property name="maximum">
-             <number>3</number>
-            </property>
-           </widget>
-          </item>
-         </layout>
-        </item>
-       </layout>
-      </widget>
-      <widget class="QWidget" name="tab_3">
-       <attribute name="title">
-        <string>Teams</string>
-       </attribute>
-       <layout class="QGridLayout" name="gridLayout_4">
-        <item row="0" column="0">
-         <widget class="QPushButton" name="pbAddTeam">
-          <property name="text">
-           <string>Add Team</string>
-          </property>
-         </widget>
-        </item>
-        <item row="0" column="1">
-         <spacer name="horizontalSpacer">
-          <property name="orientation">
-           <enum>Qt::Horizontal</enum>
-          </property>
-          <property name="sizeHint" stdset="0">
-           <size>
-            <width>40</width>
-            <height>20</height>
-           </size>
-          </property>
-         </spacer>
-        </item>
-        <item row="1" column="0" colspan="2">
-         <widget class="QTabWidget" name="twTeams">
-          <property name="enabled">
-           <bool>true</bool>
-          </property>
-          <property name="currentIndex">
-           <number>0</number>
-          </property>
-          <widget class="TeamEdit" name="tab_5">
-           <attribute name="title">
-            <string>Team 1</string>
-           </attribute>
-          </widget>
-          <widget class="TeamEdit" name="tab_6">
-           <attribute name="title">
-            <string>Team 2</string>
-           </attribute>
-          </widget>
-          <widget class="TeamEdit" name="tab_7">
-           <attribute name="title">
-            <string>Team 3</string>
-           </attribute>
-          </widget>
-          <widget class="TeamEdit" name="tab_8">
-           <attribute name="title">
-            <string>Team 4</string>
-           </attribute>
-          </widget>
-          <widget class="TeamEdit" name="tab_9">
-           <attribute name="title">
-            <string>Team 5</string>
-           </attribute>
-          </widget>
-          <widget class="TeamEdit" name="tab_10">
-           <attribute name="title">
-            <string>Team 6</string>
-           </attribute>
-          </widget>
-         </widget>
-        </item>
-       </layout>
-      </widget>
-      <widget class="QWidget" name="tab_2">
-       <attribute name="title">
-        <string>Triggers</string>
-       </attribute>
-      </widget>
-     </widget>
-    </item>
-   </layout>
-  </widget>
-  <widget class="QMenuBar" name="menuBar">
-   <property name="geometry">
-    <rect>
-     <x>0</x>
-     <y>0</y>
-     <width>419</width>
-     <height>28</height>
-    </rect>
-   </property>
-   <widget class="QMenu" name="menuFile">
-    <property name="title">
-     <string>&amp;File</string>
-    </property>
-    <addaction name="actionLoad"/>
-    <addaction name="actionSave"/>
-    <addaction name="separator"/>
-    <addaction name="actionQuit"/>
-   </widget>
-   <addaction name="menuFile"/>
-  </widget>
-  <widget class="QStatusBar" name="statusBar"/>
-  <action name="actionLoad">
-   <property name="text">
-    <string>&amp;Load...</string>
-   </property>
-  </action>
-  <action name="actionSave">
-   <property name="text">
-    <string>&amp;Save</string>
-   </property>
-  </action>
-  <action name="actionQuit">
-   <property name="text">
-    <string>&amp;Quit</string>
-   </property>
-  </action>
- </widget>
- <layoutdefault spacing="6" margin="11"/>
- <customwidgets>
-  <customwidget>
-   <class>TeamEdit</class>
-   <extends>QWidget</extends>
-   <header>teamedit.h</header>
-   <container>1</container>
-  </customwidget>
- </customwidgets>
- <resources/>
- <connections/>
-</ui>
--- a/tools/MissionsEditor/hedgehogedit.cpp	Sat Nov 13 14:40:06 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,43 +0,0 @@
-#include "hedgehogedit.h"
-#include "ui_hedgehogedit.h"
-
-HedgehogEdit::HedgehogEdit(QWidget *parent) :
-    QFrame(parent),
-    m_ui(new Ui::HedgehogEdit)
-{
-    m_ui->setupUi(this);
-}
-
-HedgehogEdit::~HedgehogEdit()
-{
-    delete m_ui;
-}
-
-void HedgehogEdit::changeEvent(QEvent *e)
-{
-    QWidget::changeEvent(e);
-    switch (e->type()) {
-    case QEvent::LanguageChange:
-        m_ui->retranslateUi(this);
-        break;
-    default:
-        break;
-    }
-}
-
-void HedgehogEdit::setHedgehog(quint32 level, quint32 health, const QString & name)
-{
-    m_ui->cbLevel->setCurrentIndex(level);
-    m_ui->sbHealth->setValue(health);
-    m_ui->leName->setText(name);
-}
-
-void HedgehogEdit::setHat(const QString & name)
-{
-    m_ui->leHat->setText(name);
-}
-
-void HedgehogEdit::setCoordinates(int x, int y)
-{
-    m_ui->pbCoordinates->setText(QString("%1x%2").arg(x).arg(y));
-}
--- a/tools/MissionsEditor/hedgehogedit.h	Sat Nov 13 14:40:06 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,27 +0,0 @@
-#ifndef HEDGEHOGEDIT_H
-#define HEDGEHOGEDIT_H
-
-#include <QtGui/QFrame>
-
-namespace Ui {
-    class HedgehogEdit;
-}
-
-class HedgehogEdit : public QFrame {
-    Q_OBJECT
-public:
-    HedgehogEdit(QWidget *parent = 0);
-    ~HedgehogEdit();
-
-    void setHedgehog(quint32 level = 0, quint32 health = 100, const QString & name = QString());
-    void setHat(const QString & name);
-    void setCoordinates(int x, int y);
-
-protected:
-    void changeEvent(QEvent *e);
-
-private:
-    Ui::HedgehogEdit *m_ui;
-};
-
-#endif // HEDGEHOGEDIT_H
--- a/tools/MissionsEditor/hedgehogedit.ui	Sat Nov 13 14:40:06 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,138 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<ui version="4.0">
- <class>HedgehogEdit</class>
- <widget class="QFrame" name="HedgehogEdit">
-  <property name="geometry">
-   <rect>
-    <x>0</x>
-    <y>0</y>
-    <width>400</width>
-    <height>300</height>
-   </rect>
-  </property>
-  <property name="windowTitle">
-   <string>Form</string>
-  </property>
-  <property name="frameShape">
-   <enum>QFrame::StyledPanel</enum>
-  </property>
-  <property name="frameShadow">
-   <enum>QFrame::Raised</enum>
-  </property>
-  <layout class="QGridLayout" name="gridLayout">
-   <property name="margin">
-    <number>3</number>
-   </property>
-   <property name="spacing">
-    <number>3</number>
-   </property>
-   <item row="0" column="1" colspan="2">
-    <widget class="QLineEdit" name="leName"/>
-   </item>
-   <item row="0" column="3">
-    <widget class="QToolButton" name="toolButton">
-     <property name="text">
-      <string>X</string>
-     </property>
-    </widget>
-   </item>
-   <item row="1" column="1">
-    <widget class="QComboBox" name="cbLevel">
-     <property name="currentIndex">
-      <number>0</number>
-     </property>
-     <item>
-      <property name="text">
-       <string>Human</string>
-      </property>
-     </item>
-     <item>
-      <property name="text">
-       <string>Level 5</string>
-      </property>
-     </item>
-     <item>
-      <property name="text">
-       <string>Level 4</string>
-      </property>
-     </item>
-     <item>
-      <property name="text">
-       <string>Level 3</string>
-      </property>
-     </item>
-     <item>
-      <property name="text">
-       <string>Level 2</string>
-      </property>
-     </item>
-     <item>
-      <property name="text">
-       <string>Level 1</string>
-      </property>
-     </item>
-    </widget>
-   </item>
-   <item row="3" column="1">
-    <widget class="QLineEdit" name="leHat"/>
-   </item>
-   <item row="0" column="0">
-    <widget class="QLabel" name="label">
-     <property name="text">
-      <string>Name</string>
-     </property>
-    </widget>
-   </item>
-   <item row="1" column="0">
-    <widget class="QLabel" name="label_2">
-     <property name="text">
-      <string>Level</string>
-     </property>
-    </widget>
-   </item>
-   <item row="2" column="1">
-    <widget class="QSpinBox" name="sbHealth">
-     <property name="minimum">
-      <number>1</number>
-     </property>
-     <property name="maximum">
-      <number>300</number>
-     </property>
-     <property name="value">
-      <number>100</number>
-     </property>
-    </widget>
-   </item>
-   <item row="2" column="0">
-    <widget class="QLabel" name="label_3">
-     <property name="text">
-      <string>Health</string>
-     </property>
-    </widget>
-   </item>
-   <item row="3" column="0">
-    <widget class="QLabel" name="label_4">
-     <property name="text">
-      <string>Hat</string>
-     </property>
-    </widget>
-   </item>
-   <item row="4" column="1">
-    <widget class="QPushButton" name="pbCoordinates">
-     <property name="text">
-      <string>Random</string>
-     </property>
-    </widget>
-   </item>
-   <item row="4" column="0">
-    <widget class="QLabel" name="label_5">
-     <property name="text">
-      <string>Place</string>
-     </property>
-    </widget>
-   </item>
-  </layout>
- </widget>
- <resources/>
- <connections/>
-</ui>
--- a/tools/MissionsEditor/main.cpp	Sat Nov 13 14:40:06 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,10 +0,0 @@
-#include <QtGui/QApplication>
-#include "editor.h"
-
-int main(int argc, char *argv[])
-{
-    QApplication a(argc, argv);
-    editor w;
-    w.show();
-    return a.exec();
-}
--- a/tools/MissionsEditor/teamedit.cpp	Sat Nov 13 14:40:06 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,98 +0,0 @@
-#include "teamedit.h"
-#include "ui_teamedit.h"
-
-TeamEdit::TeamEdit(QWidget *parent) :
-    QWidget(parent),
-    m_ui(new Ui::TeamEdit)
-{
-    m_ui->setupUi(this);
-
-    reset();
-}
-
-TeamEdit::~TeamEdit()
-{
-    delete m_ui;
-}
-
-void TeamEdit::changeEvent(QEvent *e)
-{
-    QWidget::changeEvent(e);
-    switch (e->type()) {
-    case QEvent::LanguageChange:
-        m_ui->retranslateUi(this);
-        break;
-    default:
-        break;
-    }
-}
-
-void TeamEdit::reset()
-{
-   QLayout * l = m_ui->scrollArea->widget()->layout();
-
-   for(int i = 0; i < 8; ++i)
-       l->itemAt(i)->widget()->setVisible(false);
-}
-
-void TeamEdit::setTeam(const QString & teamName, quint32 color)
-{
-    m_ui->leTeamName->setText(teamName);
-}
-
-void TeamEdit::setFort(const QString & name)
-{
-    m_ui->leFort->setText(name);
-}
-
-void TeamEdit::setGrave(const QString & name)
-{
-    m_ui->leGrave->setText(name);
-}
-
-void TeamEdit::setVoicepack(const QString & name)
-{
-    m_ui->leVoicepack->setText(name);
-}
-
-void TeamEdit::addHedgehog(quint32 level, quint32 health, const QString & name)
-{
-   QLayout * l = m_ui->scrollArea->widget()->layout();
-
-   int i = 0;
-   while((i < 8) && (l->itemAt(i)->widget()->isVisible())) ++i;
-
-   if(i < 8)
-   {
-       HedgehogEdit * he = qobject_cast<HedgehogEdit *>(l->itemAt(i)->widget());
-       he->setHedgehog(level, health, name);
-       l->itemAt(i)->widget()->setVisible(true);
-   }
-}
-
-void TeamEdit::setLastHHHat(const QString & name)
-{
-   QLayout * l = m_ui->scrollArea->widget()->layout();
-
-   int i = 0;
-   while((i < 8) && (l->itemAt(i)->widget()->isVisible())) ++i;
-
-   --i;
-
-   HedgehogEdit * he = qobject_cast<HedgehogEdit *>(l->itemAt(i)->widget());
-   he->setHat(name);
-}
-
-void TeamEdit::setLastHHCoords(int x, int y)
-{
-   QLayout * l = m_ui->scrollArea->widget()->layout();
-
-   int i = 0;
-   while((i < 8) && (l->itemAt(i)->widget()->isVisible())) ++i;
-
-   --i;
-
-   HedgehogEdit * he = qobject_cast<HedgehogEdit *>(l->itemAt(i)->widget());
-   he->setCoordinates(x ,y);
-}
-
--- a/tools/MissionsEditor/teamedit.h	Sat Nov 13 14:40:06 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,31 +0,0 @@
-#ifndef TEAMEDIT_H
-#define TEAMEDIT_H
-
-#include <QtGui/QWidget>
-
-namespace Ui {
-    class TeamEdit;
-}
-
-class TeamEdit : public QWidget {
-    Q_OBJECT
-public:
-    TeamEdit(QWidget *parent = 0);
-    ~TeamEdit();
-
-    void reset();
-    void setTeam(const QString & teamName = QString(), quint32 color = 0xdd0000);
-    void addHedgehog(quint32 level = 0, quint32 health = 100, const QString & name = QString());
-    void setFort(const QString & name);
-    void setGrave(const QString & name);
-    void setLastHHHat(const QString & name);
-    void setLastHHCoords(int x, int y);
-    void setVoicepack(const QString & name);
-protected:
-    void changeEvent(QEvent *e);
-
-private:
-    Ui::TeamEdit *m_ui;
-};
-
-#endif // TEAMEDIT_H
--- a/tools/MissionsEditor/teamedit.ui	Sat Nov 13 14:40:06 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,172 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<ui version="4.0">
- <class>TeamEdit</class>
- <widget class="QWidget" name="TeamEdit">
-  <property name="geometry">
-   <rect>
-    <x>0</x>
-    <y>0</y>
-    <width>450</width>
-    <height>414</height>
-   </rect>
-  </property>
-  <property name="windowTitle">
-   <string>Form</string>
-  </property>
-  <layout class="QGridLayout" name="gridLayout_2">
-   <item row="0" column="0" colspan="2">
-    <layout class="QGridLayout" name="gridLayout">
-     <item row="0" column="0">
-      <widget class="QLabel" name="label">
-       <property name="text">
-        <string>Team name</string>
-       </property>
-      </widget>
-     </item>
-     <item row="0" column="1">
-      <widget class="QLineEdit" name="leTeamName"/>
-     </item>
-     <item row="1" column="1">
-      <widget class="QComboBox" name="cbColor"/>
-     </item>
-     <item row="1" column="0">
-      <widget class="QLabel" name="label_2">
-       <property name="text">
-        <string>Colour</string>
-       </property>
-      </widget>
-     </item>
-     <item row="2" column="0">
-      <widget class="QLabel" name="label_3">
-       <property name="text">
-        <string>Fort</string>
-       </property>
-      </widget>
-     </item>
-     <item row="3" column="0">
-      <widget class="QLabel" name="label_4">
-       <property name="text">
-        <string>Grave</string>
-       </property>
-      </widget>
-     </item>
-     <item row="2" column="1">
-      <widget class="QLineEdit" name="leFort"/>
-     </item>
-     <item row="3" column="1">
-      <widget class="QLineEdit" name="leGrave"/>
-     </item>
-     <item row="4" column="0">
-      <widget class="QLabel" name="label_5">
-       <property name="text">
-        <string>Voicepack</string>
-       </property>
-      </widget>
-     </item>
-     <item row="4" column="1">
-      <widget class="QLineEdit" name="leVoicepack"/>
-     </item>
-    </layout>
-   </item>
-   <item row="1" column="0" rowspan="3">
-    <widget class="QScrollArea" name="scrollArea">
-     <property name="widgetResizable">
-      <bool>true</bool>
-     </property>
-     <widget class="QWidget" name="scrollAreaWidgetContents">
-      <property name="geometry">
-       <rect>
-        <x>0</x>
-        <y>0</y>
-        <width>301</width>
-        <height>235</height>
-       </rect>
-      </property>
-      <layout class="QVBoxLayout" name="verticalLayout">
-       <property name="spacing">
-        <number>3</number>
-       </property>
-       <property name="margin">
-        <number>4</number>
-       </property>
-       <item>
-        <widget class="HedgehogEdit" name="widget" native="true"/>
-       </item>
-       <item>
-        <widget class="HedgehogEdit" name="widget_3" native="true"/>
-       </item>
-       <item>
-        <widget class="HedgehogEdit" name="widget_4" native="true"/>
-       </item>
-       <item>
-        <widget class="HedgehogEdit" name="widget_5" native="true"/>
-       </item>
-       <item>
-        <widget class="HedgehogEdit" name="widget_6" native="true"/>
-       </item>
-       <item>
-        <widget class="HedgehogEdit" name="widget_7" native="true"/>
-       </item>
-       <item>
-        <widget class="HedgehogEdit" name="widget_8" native="true"/>
-       </item>
-       <item>
-        <widget class="HedgehogEdit" name="widget_2" native="true"/>
-       </item>
-       <item>
-        <spacer name="verticalSpacer_2">
-         <property name="orientation">
-          <enum>Qt::Vertical</enum>
-         </property>
-         <property name="sizeHint" stdset="0">
-          <size>
-           <width>20</width>
-           <height>120</height>
-          </size>
-         </property>
-        </spacer>
-       </item>
-      </layout>
-     </widget>
-    </widget>
-   </item>
-   <item row="1" column="1">
-    <widget class="QPushButton" name="pbAddHedgehog">
-     <property name="text">
-      <string>Add hedgehog</string>
-     </property>
-    </widget>
-   </item>
-   <item row="2" column="1">
-    <spacer name="verticalSpacer">
-     <property name="orientation">
-      <enum>Qt::Vertical</enum>
-     </property>
-     <property name="sizeHint" stdset="0">
-      <size>
-       <width>117</width>
-       <height>125</height>
-      </size>
-     </property>
-    </spacer>
-   </item>
-   <item row="3" column="1">
-    <widget class="QPushButton" name="pbDeleteTeam">
-     <property name="text">
-      <string>Delete team</string>
-     </property>
-    </widget>
-   </item>
-  </layout>
- </widget>
- <customwidgets>
-  <customwidget>
-   <class>HedgehogEdit</class>
-   <extends>QWidget</extends>
-   <header>hedgehogedit.h</header>
-   <container>1</container>
-  </customwidget>
- </customwidgets>
- <resources/>
- <connections/>
-</ui>