update branch webgl
authorkoda
Tue, 04 Jun 2013 22:28:12 +0200
branchwebgl
changeset 9127 e350500c4edb
parent 8860 bde641cf53c8 (current diff)
parent 9125 c542f6e3a133 (diff)
child 9130 4f4b71da3559
update branch
.hgignore
CMakeLists.txt
QTfrontend/KB.h
QTfrontend/game.cpp
QTfrontend/gameuiconfig.cpp
QTfrontend/gameuiconfig.h
QTfrontend/hwform.cpp
QTfrontend/hwform.h
QTfrontend/net/newnetclient.cpp
QTfrontend/net/newnetclient.h
QTfrontend/ui/dialog/input_password.cpp
QTfrontend/ui/page/pagemain.cpp
QTfrontend/ui/page/pagevideos.cpp
QTfrontend/ui/widget/about.cpp
cmake_modules/CPackConfig.cmake
gameServer/Actions.hs
gameServer/HWProtoInRoomState.hs
gameServer/hedgewars-server.cabal
hedgewars/ArgParsers.inc
hedgewars/CMakeLists.txt
hedgewars/GSHandlers.inc
hedgewars/SDLh.pas
hedgewars/VGSHandlers.inc
hedgewars/hwengine.pas
hedgewars/options.inc
hedgewars/uAI.pas
hedgewars/uAIAmmoTests.pas
hedgewars/uAIMisc.pas
hedgewars/uAmmos.pas
hedgewars/uCaptions.pas
hedgewars/uChat.pas
hedgewars/uCommandHandlers.pas
hedgewars/uConsts.pas
hedgewars/uFloat.pas
hedgewars/uGame.pas
hedgewars/uGears.pas
hedgewars/uGearsHedgehog.pas
hedgewars/uGearsList.pas
hedgewars/uGearsRender.pas
hedgewars/uGearsUtils.pas
hedgewars/uIO.pas
hedgewars/uInputHandler.pas
hedgewars/uLand.pas
hedgewars/uLandGenMaze.pas
hedgewars/uLandGraphics.pas
hedgewars/uLandObjects.pas
hedgewars/uLandTemplates.pas
hedgewars/uLandTexture.pas
hedgewars/uLocale.pas
hedgewars/uMisc.pas
hedgewars/uPhysFSLayer.pas
hedgewars/uRandom.pas
hedgewars/uRender.pas
hedgewars/uRenderUtils.pas
hedgewars/uScript.pas
hedgewars/uSound.pas
hedgewars/uStats.pas
hedgewars/uStore.pas
hedgewars/uTeams.pas
hedgewars/uTypes.pas
hedgewars/uUtils.pas
hedgewars/uVariables.pas
hedgewars/uVisualGears.pas
hedgewars/uWorld.pas
hedgewars/videorec/avwrapper.c
misc/libphysfs/CMakeLists.txt
project_files/frontlib/hwconsts.h
share/hedgewars/Data/Sounds/voices/Default_uk/JustYouwait.ogg
--- a/.hgignore	Thu Apr 04 14:37:19 2013 +0200
+++ b/.hgignore	Tue Jun 04 22:28:12 2013 +0200
@@ -3,6 +3,7 @@
 glob:moc_*.cxx
 glob:qrc_*.cxx
 glob:*.o
+glob:*.a
 glob:*.qm
 glob:Makefile
 glob:bin
@@ -56,8 +57,8 @@
 glob:project_files/Android-build/SDL-android-project/.*
 glob:project_files/Android-build/out
 glob:project_files/Android-build/Makefile.android
-glob:hedgewars-build-desktop-Qt_4_7_4_for_Desktop_-_MinGW_4_4__Qt_SDK__Debug
-glob:hedgewars-build-desktop-Qt_4_7_4_for_Desktop_-_MinGW_4_4__Qt_SDK__Release
+glob:hedgewars-build-desktop-Qt*
+glob:hedgewars-build-desktop-Qt*
 glob:*.depends
 glob:tools/build_windows_koda.bat
 glob:share/hedgewars/Data/misc/hwengine.desktop
@@ -65,3 +66,5 @@
 glob:_CPack_Packages/
 glob:version_info.txt
 glob:*.tar.*
+glob:*.or
+glob:*.res
\ No newline at end of file
--- a/.hgtags	Thu Apr 04 14:37:19 2013 +0200
+++ b/.hgtags	Tue Jun 04 22:28:12 2013 +0200
@@ -59,3 +59,4 @@
 0000000000000000000000000000000000000000 0.9.18-release
 0000000000000000000000000000000000000000 0.9.18-release
 2fc02902c7cbf3c29bfe08a50e5f37983582b251 0.9.18-release
+1617149e01a4fa25637e2ab655d0287ef9c21b7c 0.9.19-release
--- a/CMakeLists.txt	Thu Apr 04 14:37:19 2013 +0200
+++ b/CMakeLists.txt	Tue Jun 04 22:28:12 2013 +0200
@@ -24,7 +24,7 @@
 option(NOVIDEOREC "Disable video recording (off)" OFF)
 
 #set this to ON when 2.1.0 becomes more widespread (and only for linux)
-option(SYSTEM_PHYSFS "Use system physfs (off)" OFF)
+option(PHYSFS_SYSTEM "Use system physfs (off)" OFF)
 
 option(LIBENGINE "Enable hwengine library (off)" OFF)
 option(ANDROID "Enable Android build (off)" OFF)
@@ -88,7 +88,7 @@
 set(CPACK_PACKAGE_VERSION_MAJOR 0)
 set(CPACK_PACKAGE_VERSION_MINOR 9)
 set(CPACK_PACKAGE_VERSION_PATCH 19)
-set(HEDGEWARS_PROTO_VER 44)
+set(HEDGEWARS_PROTO_VER 45)
 set(HEDGEWARS_VERSION "${CPACK_PACKAGE_VERSION_MAJOR}.${CPACK_PACKAGE_VERSION_MINOR}.${CPACK_PACKAGE_VERSION_PATCH}")
 set(required_clang_version 3.0)
 
@@ -198,8 +198,8 @@
     if(NOT ${minimum_macosx_version} VERSION_EQUAL ${current_macosx_version})
         if(minimum_macosx_version VERSION_EQUAL "10.4")
             set(CMAKE_OSX_SYSROOT "/Developer/SDKs/MacOSX10.4u.sdk/")
-            set(CMAKE_C_COMPILER "gcc-4.0")
-            set(CMAKE_CXX_COMPILER "g++-4.0")
+            set(CMAKE_C_COMPILER "/Developer/usr/bin/gcc-4.0")
+            set(CMAKE_CXX_COMPILER "/Developer/usr/bin/g++-4.0")
         else()
             string(REGEX REPLACE "([0-9]+.[0-9]+).[0-9]+" "\\1" sdk_version ${minimum_macosx_version})
             set(CMAKE_OSX_SYSROOT "/Developer/SDKs/MacOSX${sdk_version}.sdk/")
@@ -227,6 +227,10 @@
 
 #set default flags values for all projects (unless MINIMAL_FLAGS is true)
 if(NOT ${MINIMAL_FLAGS})
+    if(WINDOWS)
+        #this flags prevents a few dll hell problems
+        set(CMAKE_C_FLAGS "-static-libgcc ${CMAKE_C_FLAGS}")
+    endif(WINDOWS)
     set(CMAKE_C_FLAGS "-pipe ${CMAKE_C_FLAGS}")
     set(CMAKE_C_FLAGS_RELEASE "-w -Os -fomit-frame-pointer ${CMAKE_C_FLAGS_RELEASE}")
     set(CMAKE_C_FLAGS_DEBUG "-Wall -O0 -g -DDEBUG ${CMAKE_C_FLAGS_DEBUG}")
@@ -241,25 +245,36 @@
     set(CMAKE_CXX_FLAGS_DEBUG "-Wall -DDEBUG")
 endif()
 
-#TODO: find out why we need this...
+
+#TESTING TIME
 include(CheckCCompilerFlag)
+
+#check for noexecstack on ELF, should be set on Gentoo and similar
 set(CMAKE_REQUIRED_FLAGS "-Wl,-z -Wl,noexecstack")
 check_c_compiler_flag("" HAVE_NOEXECSTACK) #empty because we are testing a linker flag
 if(HAVE_NOEXECSTACK)
     list(APPEND pascal_flags "-k-z" "-knoexecstack")
-    if(NOT ${MINIMAL_FLAGS})
-        set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${CMAKE_REQUIRED_FLAGS}")
-    endif()
+    set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${CMAKE_REQUIRED_FLAGS}")
+endif()
+unset(CMAKE_REQUIRED_FLAGS)
+
+#check for ASLR and DEP security features on Windows
+#both supported in binutils >= 2.20, available since Vista and XP SP2 respectively
+set(CMAKE_REQUIRED_FLAGS "-Wl,--nxcompat -Wl,--dynamicbase")
+check_c_compiler_flag("" HAVE_WINASLRDEP) #empty because we are testing a linker flag
+if(HAVE_WINASLRDEP)
+    list(APPEND pascal_flags "-k--nxcompat" "-k--dynamicbase")
+    set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${CMAKE_REQUIRED_FLAGS}")
 endif()
 unset(CMAKE_REQUIRED_FLAGS)
 
 #parse additional parameters
 if(FPFLAGS OR GHFLAGS)
     if(${allow_parse_args})
-        message(${WARNING} "FPFLAGS and GHFLAGS are available only when using CMake >= 2.8")
-    else()
         separate_arguments(fpflags_parsed UNIX_COMMAND ${FPFLAGS})
         separate_arguments(ghflags_parsed UNIX_COMMAND ${GHFLAGS})
+    else()
+        message(${WARNING} "FPFLAGS and GHFLAGS are available only when using CMake >= 2.8")
     endif()
 endif()
 
@@ -344,7 +359,7 @@
 
 
 #physfs discovery
-if (${SYSTEM_PHYSFS})
+if (${PHYSFS_SYSTEM})
     if (NOT PHYSFS_LIBRARY OR NOT PHYSFS_INCLUDE_DIR)
         find_package(PhysFS)
     endif()
@@ -410,5 +425,5 @@
     endif(ANDROID)
 endif(WEBGL)
 
-include(${CMAKE_MODULE_PATH}/CPackConfig.cmake)
+include(${CMAKE_MODULE_PATH}/cpackvars.cmake)
 
--- a/ChangeLog.txt	Thu Apr 04 14:37:19 2013 +0200
+++ b/ChangeLog.txt	Tue Jun 04 22:28:12 2013 +0200
@@ -1,10 +1,45 @@
 + features
 * bugfixes
 
+0.9.18 -> 0.9.19:
+ + New Freezer weapon - freezes terrain, water, hedgehogs, mines, cases, explosives
+ + Saucer can aim weapons and fire underwater
+ + Main graphical user interface overhaul
+ + Splashscreen on Windows *_*
+ + Up and down keys navigate in chat history
+ + Several commands from chat available
+ + Support hwplay:// scheme syntax
+ + Supply full revision and hash information in version tag
+ + Better set of options for driving engine
+ + Downloadable content can now be stored in packages for easy uninstall
+ + Lua scripts can load a sidecar overlay package of game resources
+ + Math improvements for better performance/reliability
+ + Smarter AI - now uses drill rocket accurately and is aware of barrels and dud mines.  More aggressive in infinite attack, lua can tell to target specific hogs, such as in Mutant
+ + New fort, Steel Tower
+ + New theme, Fruit
+ + New hats - some national ones, Portal, harlequin, more animals...
+ + New maps based on StarBound. SB_Bones, SB_Crystal, SB_Grassy, SB_Grove, SB_Haunty, SB_Oaks, SB_Shrooms, SB_Tentacles
+ + Translation updates - Turkish, French, German, Japanese, Portuguese, Italian, Russian - Campaign french should work correctly now
+ + Theme object masks
+ + Easier weapon selection in shoppa. F1 will select from F5 if there are no weps in F1-F4
+ + Cleaver radius shrunk to improve usability on horizontal throws
+ + Map hog limit is now just a suggestion, not enforced
+ + Static map theme is now just the default, can be changed
+ + Themeable static maps (provide a mask.png without a map.png)
+ + Split seed with '|' to keep the land shape but change the hog placement
+ * You can now move out of the way when throwing a sticky mine or cleaver straight up
+ * Rope sliding should behave more like pre-0.9.18 again
+ * Forbid kicking on 1v1 matches
+ * Desync fixes
+ * Fixed fort mode
+ * Making very large maps now works properly with targeted weapons
+ * ParseCommand should be safe to use in Lua now, at any time
+ * Fixes to many weapons. Mudball, blowtorch, explosives, cluster bomb spread, portal.
+
 0.9.17 -> 0.9.18:
 
  + 'A Classic Fairytale' Campaign
- + Video recorder (requires ffmpeg)
+ + Video recorder (requires ffmpeg/libav)
  + Cleaver weapon
  + AI is now aware of drowning and fall damage
  + AI learned how to use Sniper Rifle and Cake
--- a/QTfrontend/KB.h	Thu Apr 04 14:37:19 2013 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,34 +0,0 @@
-/*
- * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2012 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
- */
-
-#ifndef KB_H
-#define KB_H
-
-#include <QString>
-
-const ulong KBmsgsCount = 1;
-
-const QString KBMessages[KBmsgsCount] =
-{
-    QT_TRANSLATE_NOOP("KB", "SDL_ttf returned error while rendering text, "
-    "most propably it is related to the bug "
-    "in freetype2. It's recommended to update your "
-    "freetype lib.")
-};
-
-#endif // KB_H
--- a/QTfrontend/achievements.cpp	Thu Apr 04 14:37:19 2013 +0200
+++ b/QTfrontend/achievements.cpp	Tue Jun 04 22:28:12 2013 +0200
@@ -1,6 +1,6 @@
 /*
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2012 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2013 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
--- a/QTfrontend/achievements.h	Thu Apr 04 14:37:19 2013 +0200
+++ b/QTfrontend/achievements.h	Tue Jun 04 22:28:12 2013 +0200
@@ -1,6 +1,6 @@
 /*
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2012 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2013 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
--- a/QTfrontend/binds.cpp	Thu Apr 04 14:37:19 2013 +0200
+++ b/QTfrontend/binds.cpp	Tue Jun 04 22:28:12 2013 +0200
@@ -1,6 +1,6 @@
 /*
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2012 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2013 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
--- a/QTfrontend/binds.h	Thu Apr 04 14:37:19 2013 +0200
+++ b/QTfrontend/binds.h	Tue Jun 04 22:28:12 2013 +0200
@@ -1,6 +1,6 @@
 /*
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2012 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2013 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
--- a/QTfrontend/campaign.cpp	Thu Apr 04 14:37:19 2013 +0200
+++ b/QTfrontend/campaign.cpp	Tue Jun 04 22:28:12 2013 +0200
@@ -1,6 +1,6 @@
 /*
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2012 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2013 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
@@ -16,43 +16,12 @@
  * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
  */
 
-#include <QDir>
-#include <QFile>
-#include <QTextStream>
-#include <QPushButton>
-#include <QListWidget>
-#include <QStackedLayout>
-#include <QLineEdit>
-#include <QLabel>
-#include <QRadioButton>
-#include <QSpinBox>
-#include <QCloseEvent>
-#include <QCheckBox>
-#include <QTextBrowser>
-#include <QAction>
-#include <QTimer>
-#include <QScrollBar>
-#include <QDataWidgetMapper>
-#include <QTableView>
-#include <QCryptographicHash>
-#include <QSignalMapper>
-#include <QShortcut>
-#include <QDesktopServices>
-#include <QInputDialog>
-#include <QPropertyAnimation>
+#include "campaign.h"
+
+#include "hwconsts.h"
+
 #include <QSettings>
 
-#include "campaign.h"
-#include "gameuiconfig.h"
-#include "hwconsts.h"
-#include "gamecfgwidget.h"
-#include "bgwidget.h"
-#include "mouseoverfilter.h"
-#include "tcpBase.h"
-
-#include "DataManager.h"
-
-extern QString campaign, campaignTeam;
 
 QStringList getCampMissionList(QString & campaign)
 {
--- a/QTfrontend/campaign.h	Thu Apr 04 14:37:19 2013 +0200
+++ b/QTfrontend/campaign.h	Tue Jun 04 22:28:12 2013 +0200
@@ -1,6 +1,6 @@
 /*
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2012 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2013 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
@@ -19,21 +19,8 @@
 #ifndef CAMPAIGN_H
 #define CAMPAIGN_H
 
-#include <QMainWindow>
-#include <QStack>
-#include <QTime>
-#include <QPointer>
-#include <QPropertyAnimation>
-#include <QUrl>
-#include <QNetworkReply>
-#include <QNetworkRequest>
-#include <QNetworkAccessManager>
-
-#include "netserver.h"
-#include "game.h"
-#include "ui_hwform.h"
-#include "SDLInteraction.h"
-#include "bgwidget.h"
+#include <QString>
+#include <QStringList>
 
 QStringList getCampMissionList(QString & campaign);
 unsigned int getCampProgress(QString & teamName, QString & campName);
--- a/QTfrontend/drawmapscene.cpp	Thu Apr 04 14:37:19 2013 +0200
+++ b/QTfrontend/drawmapscene.cpp	Tue Jun 04 22:28:12 2013 +0200
@@ -1,6 +1,6 @@
 /*
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2012 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2013 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
--- a/QTfrontend/drawmapscene.h	Thu Apr 04 14:37:19 2013 +0200
+++ b/QTfrontend/drawmapscene.h	Tue Jun 04 22:28:12 2013 +0200
@@ -1,6 +1,6 @@
 /*
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2012 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2013 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
--- a/QTfrontend/game.cpp	Thu Apr 04 14:37:19 2013 +0200
+++ b/QTfrontend/game.cpp	Tue Jun 04 22:28:12 2013 +0200
@@ -1,6 +1,6 @@
 /*
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2012 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2013 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
@@ -38,6 +38,13 @@
 #include <QTextStream>
 #include "ThemeModel.h"
 
+// last game info
+QList<QVariant> lastGameStartArgs = QList<QVariant>();
+GameType lastGameType = gtNone;
+GameCFGWidget * lastGameCfg = NULL;
+QString lastGameAmmo = NULL;
+TeamSelWidget * lastGameTeamSel = NULL;
+
 QString training, campaign, campaignScript, campaignTeam; // TODO: Cleaner solution?
 
 HWGame::HWGame(GameUIConfig * config, GameCFGWidget * gamecfg, QString ammo, TeamSelWidget* pTeamSelWidget) :
@@ -48,6 +55,10 @@
     this->config = config;
     this->gamecfg = gamecfg;
     netSuspend = false;
+
+    lastGameCfg = gamecfg;
+    lastGameAmmo = ammo;
+    lastGameTeamSel = pTeamSelWidget;
 }
 
 HWGame::~HWGame()
@@ -228,6 +239,7 @@
                     SendQuickConfig();
                     break;
                 }
+                case gtNone:
                 case gtSave:
                 case gtDemo:
                     break;
@@ -306,8 +318,8 @@
             int size = msg.size();
             QString newResolution = QString().append(msg.mid(2)).left(size - 4);
             QStringList wh = newResolution.split('x');
-            config->Form->ui.pageOptions->windowWidthEdit->setText(wh[0]);
-            config->Form->ui.pageOptions->windowHeightEdit->setText(wh[1]);
+            config->Form->ui.pageOptions->windowWidthEdit->setValue(wh[0].toInt());
+            config->Form->ui.pageOptions->windowHeightEdit->setValue(wh[1].toInt());
             break;
         }
         default:
@@ -343,7 +355,7 @@
         readbuffer.remove(0, msglen + 1);
         ParseMessage(msg);
     }
-    
+
     flushNetBuffer();
 }
 
@@ -352,7 +364,7 @@
     if(m_netSendBuffer.size())
     {
         emit SendNet(m_netSendBuffer);
-        
+
         m_netSendBuffer.clear();
     }
 }
@@ -435,6 +447,9 @@
 
 void HWGame::StartLocal()
 {
+    lastGameStartArgs.clear();
+    lastGameType = gtLocal;
+
     gameType = gtLocal;
     demo.clear();
     Start(false);
@@ -443,6 +458,9 @@
 
 void HWGame::StartQuick()
 {
+    lastGameStartArgs.clear();
+    lastGameType = gtQLocal;
+
     gameType = gtQLocal;
     demo.clear();
     Start(false);
@@ -451,6 +469,10 @@
 
 void HWGame::StartTraining(const QString & file)
 {
+    lastGameStartArgs.clear();
+    lastGameStartArgs.append(file);
+    lastGameType = gtTraining;
+
     gameType = gtTraining;
     training = "Missions/Training/" + file + ".lua";
     demo.clear();
@@ -460,6 +482,12 @@
 
 void HWGame::StartCampaign(const QString & camp, const QString & campScript, const QString & campTeam)
 {
+    lastGameStartArgs.clear();
+    lastGameStartArgs.append(camp);
+    lastGameStartArgs.append(campScript);
+    lastGameStartArgs.append(campTeam);
+    lastGameType = gtCampaign;
+
     gameType = gtCampaign;
     campaign = camp;
     campaignScript = "Missions/Campaign/" + camp + "/" + campScript;
--- a/QTfrontend/game.h	Thu Apr 04 14:37:19 2013 +0200
+++ b/QTfrontend/game.h	Tue Jun 04 22:28:12 2013 +0200
@@ -1,6 +1,6 @@
 /*
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2012 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2013 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
@@ -29,6 +29,18 @@
 class GameCFGWidget;
 class TeamSelWidget;
 
+enum GameType
+{
+    gtNone     = 0,
+    gtLocal    = 1,
+    gtQLocal   = 2,
+    gtDemo     = 3,
+    gtNet      = 4,
+    gtTraining = 5,
+    gtCampaign = 6,
+    gtSave     = 7,
+};
+
 enum GameState
 {
     gsNotStarted = 0,
@@ -49,6 +61,13 @@
 
 bool checkForDir(const QString & dir);
 
+// last game info
+extern QList<QVariant> lastGameStartArgs;
+extern GameType lastGameType;
+extern GameCFGWidget * lastGameCfg;
+extern QString lastGameAmmo;
+extern TeamSelWidget * lastGameTeamSel;
+
 class HWGame : public TCPBase
 {
         Q_OBJECT
@@ -86,16 +105,6 @@
         void FromNetChat(const QString & msg);
 
     private:
-        enum GameType
-        {
-            gtLocal    = 1,
-            gtQLocal   = 2,
-            gtDemo     = 3,
-            gtNet      = 4,
-            gtTraining = 5,
-            gtCampaign = 6,
-            gtSave     = 7,
-        };
         char msgbuf[MAXMSGCHARS];
         QString ammostr;
         GameUIConfig * config;
--- a/QTfrontend/gameuiconfig.cpp	Thu Apr 04 14:37:19 2013 +0200
+++ b/QTfrontend/gameuiconfig.cpp	Tue Jun 04 22:28:12 2013 +0200
@@ -1,6 +1,6 @@
 /*
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2012 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2013 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
@@ -25,6 +25,7 @@
 #include <QNetworkProxy>
 #include <QNetworkProxyFactory>
 #include <utility>
+#include <QVariant>
 
 #include "gameuiconfig.h"
 #include "hwform.h"
@@ -94,8 +95,8 @@
     // If left blank reset the resolution to the default
     wWidth = (wWidth == "" ? widthStr : wWidth);
     wHeight = (wHeight == "" ? heightStr : wHeight);
-    Form->ui.pageOptions->windowWidthEdit->setText(wWidth);
-    Form->ui.pageOptions->windowHeightEdit->setText(wHeight);
+    Form->ui.pageOptions->windowWidthEdit->setValue(wWidth.toInt());
+    Form->ui.pageOptions->windowHeightEdit->setValue(wHeight.toInt());
 
     Form->ui.pageOptions->CBResolution->setCurrentIndex((t < 0) ? 1 : t);
     Form->ui.pageOptions->CBFullscreen->setChecked(value("video/fullscreen", false).toBool());
@@ -111,7 +112,7 @@
     Form->ui.pageOptions->CBFrontendMusic->setChecked(value("frontend/music", true).toBool());
     Form->ui.pageOptions->SLVolume->setValue(value("audio/volume", 100).toUInt());
 
-    QString netNick = value("net/nick", "").toString();
+    QString netNick = value("net/nick", tr("Guest")+QString("%1").arg(rand())).toString();
     Form->ui.pageOptions->editNetNick->setText(netNick);
     bool savePwd = value("net/savepassword",true).toBool();
     Form->ui.pageOptions->CBSavePassword->setChecked(savePwd);
@@ -156,7 +157,7 @@
     { // load colors
         QStandardItemModel * model = DataManager::instance().colorsModel();
         for(int i = model->rowCount() - 1; i >= 0; --i)
-            model->item(i)->setData(value(QString("colors/color%1").arg(i), model->item(i)->data()));
+            model->item(i)->setData(QColor(value(QString("colors/color%1").arg(i), model->item(i)->data()).toString()));
     }
 
     { // load binds
@@ -319,7 +320,7 @@
     { // save colors
         QStandardItemModel * model = DataManager::instance().colorsModel();
         for(int i = model->rowCount() - 1; i >= 0; --i)
-            setValue(QString("colors/color%1").arg(i), model->item(i)->data());
+            setValue(QString("colors/color%1").arg(i), model->item(i)->data().value<QColor>().name());
     }
 
     sync();
@@ -520,14 +521,28 @@
     setValue("net/passwordhash", QString());
     setValue("net/passwordlength", 0);
     setValue("net/savepassword", false); //changes the savepassword value to false in order to not let the user save an empty password in PAGE_SETUP
-    reloadValues(); //reloads the values of PAGE_SETUP
+    Form->ui.pageOptions->editNetPassword->setEnabled(false);
+    Form->ui.pageOptions->editNetPassword->setText("");
 }
 
 void GameUIConfig::setPasswordHash(const QString & passwordhash)
 {
     setValue("net/passwordhash", passwordhash);
-    setValue("net/passwordlength", passwordhash.size()/4);
-    setNetPasswordLength(passwordhash.size()/4);  //the hash.size() is divided by 4 let PAGE_SETUP use a reasonable number of stars to display the PW
+    if (passwordhash!=NULL && passwordhash.size() > 0)
+    {
+    // WTF - the whole point of "password length" was to have the dots match what they typed.  This is totally pointless, and all hashes are the same length for a given hash so might as well hardcode it.
+    // setValue("net/passwordlength", passwordhash.size()/4);
+        setValue("net/passwordlength", 8);
+
+    // More WTF
+    //setNetPasswordLength(passwordhash.size()/4);  //the hash.size() is divided by 4 let PAGE_SETUP use a reasonable number of stars to display the PW
+        setNetPasswordLength(8);
+    }
+    else
+    {
+        setValue("net/passwordlength", 0);
+        setNetPasswordLength(0);
+    }
 }
 
 QString GameUIConfig::passwordHash()
--- a/QTfrontend/gameuiconfig.h	Thu Apr 04 14:37:19 2013 +0200
+++ b/QTfrontend/gameuiconfig.h	Tue Jun 04 22:28:12 2013 +0200
@@ -1,6 +1,6 @@
 /*
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2012 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2013 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
--- a/QTfrontend/hwconsts.cpp.in	Thu Apr 04 14:37:19 2013 +0200
+++ b/QTfrontend/hwconsts.cpp.in	Tue Jun 04 22:28:12 2013 +0200
@@ -1,6 +1,6 @@
 /*
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2012 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2013 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
--- a/QTfrontend/hwconsts.h	Thu Apr 04 14:37:19 2013 +0200
+++ b/QTfrontend/hwconsts.h	Tue Jun 04 22:28:12 2013 +0200
@@ -1,6 +1,6 @@
 /*
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2012 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2013 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
--- a/QTfrontend/hwform.cpp	Thu Apr 04 14:37:19 2013 +0200
+++ b/QTfrontend/hwform.cpp	Tue Jun 04 22:28:12 2013 +0200
@@ -1,6 +1,6 @@
 /*
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2012 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2013 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
@@ -45,6 +45,7 @@
 #include <QInputDialog>
 #include <QPropertyAnimation>
 #include <QSettings>
+#include <QSortFilterProxyModel>
 
 #if (QT_VERSION >= 0x040600)
 #include <QGraphicsEffect>
@@ -150,9 +151,9 @@
 
     ui.pageOptions->CBResolution->addItems(SDLInteraction::instance().getResolutions());
 
-    config = new GameUIConfig(this, "physfs://hedgewars.ini");
+    config = new GameUIConfig(this, DataManager::instance().settingsFileName());
     frontendEffects = config->value("frontend/effects", true).toBool();
-    playerHash = QString(QCryptographicHash::hash(config->value("net/nick","").toString().toUtf8(), QCryptographicHash::Md5).toHex());
+    playerHash = QString(QCryptographicHash::hash(config->value("net/nick",tr("Guest")+QString("%1").arg(rand())).toString().toUtf8(), QCryptographicHash::Md5).toHex());
 
     ui.pageRoomsList->setSettings(config);
     ui.pageNetGame->setSettings(config);
@@ -285,6 +286,7 @@
     connect(ui.pageInfo->BtnSnapshots, SIGNAL(clicked()), this, SLOT(OpenSnapshotFolder()));
 
     connect(ui.pageGameStats, SIGNAL(saveDemoRequested()), this, SLOT(saveDemoWithCustomName()));
+    connect(ui.pageGameStats, SIGNAL(restartGameRequested()), this, SLOT(restartGame()));
 
     connect(ui.pageSinglePlayer->BtnSimpleGamePage, SIGNAL(clicked()), this, SLOT(SimpleGame()));
     connect(ui.pageSinglePlayer->BtnTrainPage, SIGNAL(clicked()), pageSwitchMapper, SLOT(map()));
@@ -317,8 +319,6 @@
     connect(ui.pageMain->BtnNetLocal, SIGNAL(clicked()), this, SLOT(GoToNet()));
     connect(ui.pageMain->BtnNetOfficial, SIGNAL(clicked()), this, SLOT(NetConnectOfficialServer()));
 
-    connect(ui.pageConnecting, SIGNAL(cancelConnection()), this, SLOT(GoBack()));
-
     connect(ui.pageVideos, SIGNAL(goBack()), config, SLOT(SaveVideosOptions()));
 
     ammoSchemeModel = new AmmoSchemeModel(this, cfgdir->absolutePath() + "/schemes.ini");
@@ -470,7 +470,7 @@
 
     if(teamslist.empty())
     {
-        QString currentNickName = config->value("net/nick","").toString().toUtf8();
+        QString currentNickName = config->value("net/nick",tr("Guest")+QString("%1").arg(rand())).toString().toUtf8();
         QString teamName;
 
         if (currentNickName.isEmpty())
@@ -596,6 +596,10 @@
 #endif
 
     qDebug("Leaving %s, entering %s", qPrintable(stringifyPageId(lastid)), qPrintable(stringifyPageId(id)));
+    if (lastid == ID_PAGE_MAIN)
+    {
+        ui.pageMain->resetNetworkChoice();
+    }
 
     // pageEnter and pageLeave events
     ((AbstractPage*)ui.Pages->widget(lastid))->triggerPageLeave();
@@ -673,6 +677,21 @@
         }
     }
 
+    if (id == ID_PAGE_GAMESTATS)
+    {
+        switch(lastGameType) {
+        case gtLocal:
+        case gtQLocal:
+        case gtTraining:
+        case gtCampaign:
+            ui.pageGameStats->restartBtnVisible(true);
+            break;
+        default:
+            ui.pageGameStats->restartBtnVisible(false);
+            break;
+        }
+    }
+
     if (id == ID_PAGE_MAIN)
     {
         ui.pageOptions->setTeamOptionsEnabled(true);
@@ -1246,20 +1265,20 @@
 
 // room status stuff
     connect(hwnet, SIGNAL(roomMaster(bool)),
-            this, SLOT(NetGameChangeStatus(bool)), Qt::QueuedConnection);
+            this, SLOT(NetGameChangeStatus(bool)));
 
 // net page stuff
     connect(hwnet, SIGNAL(roomNameUpdated(const QString &)),
             ui.pageNetGame, SLOT(setRoomName(const QString &)), Qt::QueuedConnection);
-    connect(hwnet, SIGNAL(chatStringFromNet(const QString&)),
-            ui.pageNetGame->chatWidget, SLOT(onChatString(const QString&)), Qt::QueuedConnection);
+    connect(hwnet, SIGNAL(roomChatAction(const QString&, const QString&)),
+            ui.pageNetGame->chatWidget, SLOT(onChatAction(const QString&, const QString&)), Qt::QueuedConnection);
+    connect(hwnet, SIGNAL(roomChatMessage(const QString&, const QString&)),
+            ui.pageNetGame->chatWidget, SLOT(onChatMessage(const QString&, const QString&)), Qt::QueuedConnection);
 
-    connect(hwnet, SIGNAL(chatStringFromMe(const QString&)),
-            ui.pageNetGame->chatWidget, SLOT(onChatString(const QString&)), Qt::QueuedConnection);
     connect(hwnet, SIGNAL(roomMaster(bool)),
             ui.pageNetGame->chatWidget, SLOT(adminAccess(bool)), Qt::QueuedConnection);
     connect(ui.pageNetGame->chatWidget, SIGNAL(chatLine(const QString&)),
-            hwnet, SLOT(chatLineToNet(const QString&)));
+            hwnet, SLOT(chatLineToNetWithEcho(const QString&)));
     connect(ui.pageNetGame->BtnGo, SIGNAL(clicked()), hwnet, SLOT(ToggleReady()));
     connect(hwnet, SIGNAL(setMyReadyStatus(bool)),
             ui.pageNetGame, SLOT(setReadyStatus(bool)), Qt::QueuedConnection);
@@ -1286,25 +1305,38 @@
     connect(ui.pageRoomsList->chatWidget, SIGNAL(consoleCommand(const QString&)),
             hwnet, SLOT(consoleCommand(const QString&)));
 
+// player info
+    connect(hwnet, SIGNAL(playerInfo(const QString&, const QString&, const QString&, const QString&)),
+            ui.pageRoomsList->chatWidget, SLOT(onPlayerInfo(const QString&, const QString&, const QString&, const QString&)), Qt::QueuedConnection);
+    connect(hwnet, SIGNAL(playerInfo(const QString&, const QString&, const QString&, const QString&)),
+            ui.pageNetGame->chatWidget, SLOT(onPlayerInfo(const QString&, const QString&, const QString&, const QString&)), Qt::QueuedConnection);
+
 // chatting
     connect(ui.pageRoomsList->chatWidget, SIGNAL(chatLine(const QString&)),
             hwnet, SLOT(chatLineToLobby(const QString&)));
-    connect(hwnet, SIGNAL(chatStringLobby(const QString&)),
-            ui.pageRoomsList->chatWidget, SLOT(onChatString(const QString&)), Qt::QueuedConnection);
-    connect(hwnet, SIGNAL(chatStringLobby(const QString&, const QString&)),
-            ui.pageRoomsList->chatWidget, SLOT(onChatString(const QString&, const QString&)), Qt::QueuedConnection);
-    connect(hwnet, SIGNAL(chatStringFromMeLobby(const QString&)),
-            ui.pageRoomsList->chatWidget, SLOT(onChatString(const QString&)), Qt::QueuedConnection);
+    connect(hwnet, SIGNAL(lobbyChatAction(const QString&,const QString&)),
+            ui.pageRoomsList->chatWidget, SLOT(onChatAction(const QString&,const QString&)), Qt::QueuedConnection);
+    connect(hwnet, SIGNAL(lobbyChatMessage(const QString&, const QString&)),
+            ui.pageRoomsList->chatWidget, SLOT(onChatMessage(const QString&, const QString&)), Qt::QueuedConnection);
 
 // nick list stuff
-    connect(hwnet, SIGNAL(nickAdded(const QString&, bool)),
-            ui.pageNetGame->chatWidget, SLOT(nickAdded(const QString&, bool)), Qt::QueuedConnection);
-    connect(hwnet, SIGNAL(nickRemoved(const QString&)),
-            ui.pageNetGame->chatWidget, SLOT(nickRemoved(const QString&)), Qt::QueuedConnection);
-    connect(hwnet, SIGNAL(nickAddedLobby(const QString&, bool)),
-            ui.pageRoomsList->chatWidget, SLOT(nickAdded(const QString&, bool)), Qt::QueuedConnection);
-    connect(hwnet, SIGNAL(nickRemovedLobby(const QString&)),
-            ui.pageRoomsList->chatWidget, SLOT(nickRemoved(const QString&)), Qt::QueuedConnection);
+    {
+        QSortFilterProxyModel * playersSortFilterModel = qobject_cast<QSortFilterProxyModel *>(hwnet->lobbyPlayersModel());
+        if(playersSortFilterModel)
+        {
+            PlayersListModel * players = qobject_cast<PlayersListModel *>(playersSortFilterModel->sourceModel());
+            connect(players, SIGNAL(nickAdded(const QString&, bool)),
+                    ui.pageNetGame->chatWidget, SLOT(nickAdded(const QString&, bool)));
+            connect(players, SIGNAL(nickRemoved(const QString&)),
+                    ui.pageNetGame->chatWidget, SLOT(nickRemoved(const QString&)));
+            connect(players, SIGNAL(nickAddedLobby(const QString&, bool)),
+                    ui.pageRoomsList->chatWidget, SLOT(nickAdded(const QString&, bool)));
+            connect(players, SIGNAL(nickRemovedLobby(const QString&)),
+                    ui.pageRoomsList->chatWidget, SLOT(nickRemoved(const QString&)));
+            connect(players, SIGNAL(nickRemovedLobby(const QString&, const QString&)),
+                    ui.pageRoomsList->chatWidget, SLOT(nickRemoved(const QString&, const QString&)));
+        }
+    }
 
 // teams selecting stuff
     connect(ui.pageNetGame->pNetTeamsWidget, SIGNAL(hhogsNumChanged(const HWTeam&)),
@@ -1342,14 +1374,15 @@
     connect(ui.pageNetGame->pGameCFG, SIGNAL(paramChanged(const QString &, const QStringList &)), hwnet, SLOT(onParamChanged(const QString &, const QStringList &)));
     connect(hwnet, SIGNAL(configAsked()), ui.pageNetGame->pGameCFG, SLOT(fullNetConfig()));
 
+    // using proxy slot to prevent loss of game messages when they're sent to not yet connected slot of game object
+    connect(hwnet, SIGNAL(FromNet(const QByteArray &)), this, SLOT(FromNetProxySlot(const QByteArray &)), Qt::QueuedConnection);
+
     //nick and pass stuff
-    QString nickname = config->value("net/nick", "").toString();
-
     hwnet->m_private_game = !(hostName == NETGAME_DEFAULT_SERVER && port == NETGAME_DEFAULT_PORT);
-    if (hwnet->m_private_game == false)
-        if (AskForNickAndPwd() != 0)
-            return;
+    if (hwnet->m_private_game == false && AskForNickAndPwd() != 0)
+        return;
 
+    QString nickname = config->value("net/nick",tr("Guest")+QString("%1").arg(rand())).toString();
     ui.pageRoomsList->setUser(nickname);
     ui.pageNetGame->setUser(nickname);
 
@@ -1362,16 +1395,18 @@
     config->clearTempHash();
 
     //initialize
-    QString hash = config->passwordHash();
-    QString temphash = config->tempHash();
-    QString nickname = config->value("net/nick", "").toString();
+    QString hash;
+    QString temphash;
+    QString nickname;
     QString password;
 
-    //if something from login is missing, start dialog loop
-    if (nickname.isEmpty() || hash.isEmpty())
-    {
-        while (nickname.isEmpty() || (hash.isEmpty() && temphash.isEmpty())) //while a nickname, or both hashes are missing
-        {
+    do {
+        nickname = config->value("net/nick",tr("Guest")+QString("%1").arg(rand())).toString();
+        hash = config->passwordHash();
+        temphash = config->tempHash();
+
+        //if something from login is missing, start dialog loop
+        if (nickname.isEmpty() || hash.isEmpty()) {
             //open dialog
             HWPasswordDialog * pwDialog = new HWPasswordDialog(this);
             // make the "new account" button dialog open a browser with the registration page
@@ -1388,62 +1423,54 @@
             if (pwDialog->exec() != QDialog::Accepted) {
                 delete pwDialog;
                 GoBack();
-                return -1;
+                break;
             }
 
             //set nick and pass from the dialog
             nickname = pwDialog->leNickname->text();
             password = pwDialog->lePassword->text();
+            bool save = pwDialog->cbSave->isChecked();
+            //clean up
+            delete pwDialog;
 
             //check the nickname variable
             if (nickname.isEmpty()) {
                 int retry = RetryDialog(tr("Hedgewars - Empty nickname"), tr("No nickname supplied."));
                 GoBack();
-                delete pwDialog;
                 if (retry) {
                     if (hwnet->m_private_game) {
                         QStringList list = hwnet->getHost().split(":");
                         NetConnectServer(list.at(0), list.at(1).toShort());
                     } else
                         NetConnectOfficialServer();
-                    }
-                return -1;
+                }
+                break; //loop restart
+            } else {
+                //update nickname if it's fine
+                config->setValue("net/nick", nickname);
+                config->updNetNick();
             }
 
-            if (!password.isEmpty()) {
+            //check the password variable
+            if (password.isEmpty()) {
+                config->clearPasswordHash();
+                break;
+            }  else {
                 //calculate temphash and set it into config
                 temphash = QCryptographicHash::hash(password.toUtf8(), QCryptographicHash::Md5).toHex();
                 config->setTempHash(temphash);
 
                 //if user wants to save password
-                bool save = pwDialog->cbSave->isChecked();
                 config->setValue("net/savepassword", save);
-                if (save) // user wants to save password
-                {
+                if (save) {
+                    // user wants to save password
                     ui.pageOptions->CBSavePassword->setChecked(true);
                     config->setPasswordHash(temphash);
                 }
             }
-            else {
-                delete pwDialog;
-                config->setValue("net/nick", nickname);
-                config->updNetNick();
-                config->clearPasswordHash();
-                break;
-            }
-
-            delete pwDialog;
+        }
+    } while (nickname.isEmpty() || (hash.isEmpty() && temphash.isEmpty())); //while a nickname, or both hashes are missing
 
-            //update nickname
-            config->setValue("net/nick", nickname);
-            config->updNetNick();
-
-            //and all the variables
-            hash = config->passwordHash();
-            temphash = config->tempHash();
-            nickname = config->value("net/nick", "").toString();
-        }
-    }
     return 0;
 }
 
@@ -1516,7 +1543,7 @@
         if (retry) {
             if (hwnet->m_private_game) {
                 QStringList list = hwnet->getHost().split(":");
-                NetConnectServer(list.at(0), list.at(1).toShort());
+                NetConnectServer(list.at(0), list.at(1).toUInt());
             } else
                 NetConnectOfficialServer();
         }
@@ -1702,6 +1729,11 @@
 
 void HWForm::CreateNetGame()
 {
+    // go back in pages to prevent user from being stuck on certain pages
+    if(ui.Pages->currentIndex() == ID_PAGE_GAMESTATS ||
+       ui.Pages->currentIndex() == ID_PAGE_INGAME)
+        GoBack();
+
     QString ammo;
     ammo = ui.pageNetGame->pGameCFG->WeaponsName->itemData(
                ui.pageNetGame->pGameCFG->WeaponsName->currentIndex()
@@ -1712,7 +1744,6 @@
     connect(game, SIGNAL(SendNet(const QByteArray &)), hwnet, SLOT(SendNet(const QByteArray &)));
     connect(game, SIGNAL(SendChat(const QString &)), hwnet, SLOT(chatLineToNet(const QString &)));
     connect(game, SIGNAL(SendTeamMessage(const QString &)), hwnet, SLOT(SendTeamMessage(const QString &)));
-    connect(hwnet, SIGNAL(FromNet(const QByteArray &)), game, SLOT(FromNet(const QByteArray &)), Qt::QueuedConnection);
     connect(hwnet, SIGNAL(chatStringFromNet(const QString &)), game, SLOT(FromNetChat(const QString &)), Qt::QueuedConnection);
 
     game->StartNet();
@@ -1740,9 +1771,6 @@
 
 void HWForm::NetGameChangeStatus(bool isMaster)
 {
-    ui.pageNetGame->pGameCFG->setMaster(isMaster);
-    ui.pageNetGame->pNetTeamsWidget->setInteractivity(isMaster);
-
     if (isMaster)
         NetGameMaster();
     else
@@ -1794,6 +1822,7 @@
     {
         NetAmmoSchemeModel * netAmmo = new NetAmmoSchemeModel(hwnet);
         connect(hwnet, SIGNAL(netSchemeConfig(QStringList &)), netAmmo, SLOT(setNetSchemeConfig(QStringList &)));
+
         ui.pageNetGame->pGameCFG->GameSchemes->setModel(netAmmo);
 
         ui.pageNetGame->setRoomName(hwnet->getRoom());
@@ -1806,6 +1835,13 @@
     ui.pageNetGame->setMasterMode(false);
 }
 
+void HWForm::FromNetProxySlot(const QByteArray & msg)
+{
+    if(game)
+        game->FromNet(msg);
+
+}
+
 void HWForm::selectFirstNetScheme()
 {
     ui.pageNetGame->pGameCFG->GameSchemes->setCurrentIndex(0);
@@ -2002,6 +2038,31 @@
     }
 }
 
+void HWForm::restartGame()
+{
+    // get rid off old game stats page
+    if(ui.Pages->currentIndex() == ID_PAGE_GAMESTATS)
+        GoBack();
+
+    CreateGame(lastGameCfg, lastGameTeamSel, lastGameAmmo);
+
+    switch(lastGameType) {
+    case gtTraining:
+        game->StartTraining(lastGameStartArgs.at(0).toString());
+        break;
+    case gtQLocal:
+        game->StartQuick();
+        break;
+    case gtCampaign:
+        game->StartCampaign(lastGameStartArgs.at(0).toString(), lastGameStartArgs.at(1).toString(), lastGameStartArgs.at(2).toString());
+        break;
+    case gtLocal:
+        game->StartLocal();
+        break;
+    default:
+        break;
+    }
+}
 
 void HWForm::ShowErrorMessage(const QString & msg)
 {
@@ -2010,8 +2071,22 @@
 
 void HWForm::showFeedbackDialog()
 {
-    FeedbackDialog dialog(this);
-    dialog.exec();
+    QNetworkRequest newRequest(QUrl("http://www.hedgewars.org"));
+
+    QNetworkAccessManager *manager = new QNetworkAccessManager(this);
+    QNetworkReply *reply = manager->get(newRequest);
+    connect(reply, SIGNAL(finished()), this, SLOT(showFeedbackDialogNetChecked()));
+}
+
+void HWForm::showFeedbackDialogNetChecked()
+{
+    QNetworkReply *reply = qobject_cast<QNetworkReply *>(sender());
+
+    if (reply && (reply->error() == QNetworkReply::NoError)) {
+        FeedbackDialog dialog(this);
+        dialog.exec();
+    } else
+        MessageDialog::ShowErrorMessage(tr("This page requires an internet connection."), this);
 }
 
 void HWForm::startGame()
--- a/QTfrontend/hwform.h	Thu Apr 04 14:37:19 2013 +0200
+++ b/QTfrontend/hwform.h	Tue Jun 04 22:28:12 2013 +0200
@@ -1,6 +1,6 @@
 /*
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2012 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2013 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
@@ -129,6 +129,7 @@
         void UpdateCampaignPageProgress(int index);
         void InitCampaignPage();
         void showFeedbackDialog();
+        void showFeedbackDialogNetChecked();
 
         void NetGameChangeStatus(bool isMaster);
         void NetGameMaster();
@@ -142,6 +143,9 @@
         void openRegistrationPage();
 
         void startGame();
+        void restartGame();
+
+        void FromNetProxySlot(const QByteArray &);
 
     private:
         void _NetConnect(const QString & hostName, quint16 port, QString nick);
--- a/QTfrontend/main.cpp	Thu Apr 04 14:37:19 2013 +0200
+++ b/QTfrontend/main.cpp	Tue Jun 04 22:28:12 2013 +0200
@@ -1,6 +1,6 @@
 /*
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2012 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2013 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
@@ -261,18 +261,24 @@
     engine->setWriteDir(cfgdir->absolutePath());
     engine->mountPacks();
 
-    DataManager::ensureFileExists("physfs://hedgewars.ini");
-
     QTranslator Translator;
     {
-        QSettings settings("physfs://hedgewars.ini", QSettings::IniFormat);
+        QSettings settings(DataManager::instance().settingsFileName(), QSettings::IniFormat);
+        settings.setIniCodec("UTF-8");
+
         QString cc = settings.value("misc/locale", QString()).toString();
-        if(cc.isEmpty())
+        if (cc.isEmpty())
+        {
             cc = QLocale::system().name();
 
+            // Fallback to current input locale if "C" locale is returned
+            if(cc == "C")
+                cc = HWApplication::keyboardInputLocale().name();
+        }
+
         // load locale file into translator
-        if(!Translator.load(QString("physfs://Locale/hedgewars_%1").arg(cc)))
-            qWarning("Failed to install translation");
+        if (!Translator.load(QString("physfs://Locale/hedgewars_%1").arg(cc)))
+            qWarning("Failed to install translation (%s)", qPrintable(cc));
         app.installTranslator(&Translator);
     }
 
--- a/QTfrontend/model/GameStyleModel.cpp	Thu Apr 04 14:37:19 2013 +0200
+++ b/QTfrontend/model/GameStyleModel.cpp	Tue Jun 04 22:28:12 2013 +0200
@@ -1,6 +1,6 @@
 /*
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2012 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2013 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
--- a/QTfrontend/model/GameStyleModel.h	Thu Apr 04 14:37:19 2013 +0200
+++ b/QTfrontend/model/GameStyleModel.h	Tue Jun 04 22:28:12 2013 +0200
@@ -1,6 +1,6 @@
 /*
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2012 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2013 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
--- a/QTfrontend/model/HatModel.cpp	Thu Apr 04 14:37:19 2013 +0200
+++ b/QTfrontend/model/HatModel.cpp	Tue Jun 04 22:28:12 2013 +0200
@@ -1,6 +1,6 @@
 /*
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2012 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2013 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
--- a/QTfrontend/model/HatModel.h	Thu Apr 04 14:37:19 2013 +0200
+++ b/QTfrontend/model/HatModel.h	Tue Jun 04 22:28:12 2013 +0200
@@ -1,6 +1,6 @@
 /*
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2012 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2013 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
--- a/QTfrontend/model/MapModel.cpp	Thu Apr 04 14:37:19 2013 +0200
+++ b/QTfrontend/model/MapModel.cpp	Tue Jun 04 22:28:12 2013 +0200
@@ -1,6 +1,6 @@
 /*
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2012 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2013 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
--- a/QTfrontend/model/MapModel.h	Thu Apr 04 14:37:19 2013 +0200
+++ b/QTfrontend/model/MapModel.h	Tue Jun 04 22:28:12 2013 +0200
@@ -1,6 +1,6 @@
 /*
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2012 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2013 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
--- a/QTfrontend/model/ThemeModel.cpp	Thu Apr 04 14:37:19 2013 +0200
+++ b/QTfrontend/model/ThemeModel.cpp	Tue Jun 04 22:28:12 2013 +0200
@@ -1,6 +1,6 @@
 /*
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2012 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2013 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
--- a/QTfrontend/model/ThemeModel.h	Thu Apr 04 14:37:19 2013 +0200
+++ b/QTfrontend/model/ThemeModel.h	Tue Jun 04 22:28:12 2013 +0200
@@ -1,6 +1,6 @@
 /*
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2012 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2013 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
--- a/QTfrontend/model/ammoSchemeModel.cpp	Thu Apr 04 14:37:19 2013 +0200
+++ b/QTfrontend/model/ammoSchemeModel.cpp	Tue Jun 04 22:28:12 2013 +0200
@@ -1,6 +1,6 @@
 /*
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2012 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2013 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
@@ -194,7 +194,7 @@
             << QVariant(false)         // place hog      14
             << QVariant(true)          // shared ammo    15
             << QVariant(true)          // disable girders 16
-            << QVariant(false)         // disable land objects 17
+            << QVariant(true)         // disable land objects 17
             << QVariant(false)         // AI survival    18
             << QVariant(false)         // inf. attack    19
             << QVariant(true)          // reset weps     20
@@ -407,7 +407,7 @@
             << QVariant(true)          // team divide    2
             << QVariant(false)         // solid land     3
             << QVariant(false)         // border         4
-            << QVariant(true)          // low gravity    5
+            << QVariant(false)         // low gravity    5
             << QVariant(false)         // laser sight    6
             << QVariant(false)         // invulnerable   7
             << QVariant(false)         // reset health   8
--- a/QTfrontend/model/ammoSchemeModel.h	Thu Apr 04 14:37:19 2013 +0200
+++ b/QTfrontend/model/ammoSchemeModel.h	Tue Jun 04 22:28:12 2013 +0200
@@ -1,6 +1,6 @@
 /*
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2012 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2013 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
--- a/QTfrontend/model/netserverslist.cpp	Thu Apr 04 14:37:19 2013 +0200
+++ b/QTfrontend/model/netserverslist.cpp	Tue Jun 04 22:28:12 2013 +0200
@@ -1,6 +1,6 @@
 /*
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2012 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2013 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
--- a/QTfrontend/model/netserverslist.h	Thu Apr 04 14:37:19 2013 +0200
+++ b/QTfrontend/model/netserverslist.h	Tue Jun 04 22:28:12 2013 +0200
@@ -1,6 +1,6 @@
 /*
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2012 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2013 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
--- a/QTfrontend/model/playerslistmodel.cpp	Thu Apr 04 14:37:19 2013 +0200
+++ b/QTfrontend/model/playerslistmodel.cpp	Tue Jun 04 22:28:12 2013 +0200
@@ -84,7 +84,7 @@
 }
 
 
-void PlayersListModel::addPlayer(const QString & nickname)
+void PlayersListModel::addPlayer(const QString & nickname, bool notify)
 {
     insertRow(rowCount());
 
@@ -92,11 +92,18 @@
     setData(mi, nickname);
 
     checkFriendIgnore(mi);
+
+    emit nickAddedLobby(nickname, notify);
 }
 
 
-void PlayersListModel::removePlayer(const QString & nickname)
+void PlayersListModel::removePlayer(const QString & nickname, const QString &msg)
 {
+    if(msg.isEmpty())
+        emit nickRemovedLobby(nickname);
+    else
+        emit nickRemovedLobby(nickname, msg);
+
     QModelIndexList mil = match(index(0), Qt::DisplayRole, nickname, 1, Qt::MatchExactly);
 
     if(mil.size())
@@ -104,7 +111,7 @@
 }
 
 
-void PlayersListModel::playerJoinedRoom(const QString & nickname)
+void PlayersListModel::playerJoinedRoom(const QString & nickname, bool notify)
 {
     QModelIndexList mil = match(index(0), Qt::DisplayRole, nickname, 1, Qt::MatchExactly);
 
@@ -114,11 +121,15 @@
         updateIcon(mil[0]);
         updateSortData(mil[0]);
     }
+
+    emit nickAdded(nickname, notify);
 }
 
 
 void PlayersListModel::playerLeftRoom(const QString & nickname)
 {
+    emit nickRemoved(nickname);
+
     QModelIndexList mil = match(index(0), Qt::DisplayRole, nickname, 1, Qt::MatchExactly);
 
     if(mil.size())
--- a/QTfrontend/model/playerslistmodel.h	Thu Apr 04 14:37:19 2013 +0200
+++ b/QTfrontend/model/playerslistmodel.h	Tue Jun 04 22:28:12 2013 +0200
@@ -41,13 +41,20 @@
     bool removeRows(int row, int count, const QModelIndex &parent = QModelIndex());
 
 public slots:
-    void addPlayer(const QString & nickname);
-    void removePlayer(const QString & nickname);
-    void playerJoinedRoom(const QString & nickname);
+    void addPlayer(const QString & nickname, bool notify);
+    void removePlayer(const QString & nickname, const QString & msg = QString());
+    void playerJoinedRoom(const QString & nickname, bool notify);
     void playerLeftRoom(const QString & nickname);
     void resetRoomFlags();
     void setNickname(const QString & nickname);
 
+signals:
+    void nickAdded(const QString& nick, bool notifyNick);
+    void nickRemoved(const QString& nick);
+    void nickAddedLobby(const QString& nick, bool notifyNick);
+    void nickRemovedLobby(const QString& nick);
+    void nickRemovedLobby(const QString& nick, const QString& message);
+
 private:
     QHash<quint32, QIcon> & m_icons();
     typedef QHash<int, QVariant> DataEntry;
--- a/QTfrontend/model/roomslistmodel.cpp	Thu Apr 04 14:37:19 2013 +0200
+++ b/QTfrontend/model/roomslistmodel.cpp	Tue Jun 04 22:28:12 2013 +0200
@@ -1,6 +1,6 @@
 /*
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2012 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2013 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
--- a/QTfrontend/model/roomslistmodel.h	Thu Apr 04 14:37:19 2013 +0200
+++ b/QTfrontend/model/roomslistmodel.h	Tue Jun 04 22:28:12 2013 +0200
@@ -1,6 +1,6 @@
 /*
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2012 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2013 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
--- a/QTfrontend/net/hwmap.cpp	Thu Apr 04 14:37:19 2013 +0200
+++ b/QTfrontend/net/hwmap.cpp	Tue Jun 04 22:28:12 2013 +0200
@@ -1,7 +1,7 @@
 /*
  * Hedgewars, a free turn based strategy game
  * Copyright (c) 2006-2007 Ulyanov Igor <iulyanov@gmail.com>
- * Copyright (c) 2004-2012 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2013 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
--- a/QTfrontend/net/hwmap.h	Thu Apr 04 14:37:19 2013 +0200
+++ b/QTfrontend/net/hwmap.h	Tue Jun 04 22:28:12 2013 +0200
@@ -1,7 +1,7 @@
 /*
  * Hedgewars, a free turn based strategy game
  * Copyright (c) 2006 Igor Ulyanov <iulyanov@gmail.com>
- * Copyright (c) 2004-2012 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2013 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
--- a/QTfrontend/net/netregister.cpp	Thu Apr 04 14:37:19 2013 +0200
+++ b/QTfrontend/net/netregister.cpp	Tue Jun 04 22:28:12 2013 +0200
@@ -1,6 +1,6 @@
 /*
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2012 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2013 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
--- a/QTfrontend/net/netregister.h	Thu Apr 04 14:37:19 2013 +0200
+++ b/QTfrontend/net/netregister.h	Tue Jun 04 22:28:12 2013 +0200
@@ -1,6 +1,6 @@
 /*
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2012 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2013 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
--- a/QTfrontend/net/netserver.cpp	Thu Apr 04 14:37:19 2013 +0200
+++ b/QTfrontend/net/netserver.cpp	Tue Jun 04 22:28:12 2013 +0200
@@ -1,7 +1,7 @@
 /*
  * Hedgewars, a free turn based strategy game
  * Copyright (c) 2006-2008 Igor Ulyanov <iulyanov@gmail.com>
- * Copyright (c) 2004-2012 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2013 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
--- a/QTfrontend/net/netserver.h	Thu Apr 04 14:37:19 2013 +0200
+++ b/QTfrontend/net/netserver.h	Tue Jun 04 22:28:12 2013 +0200
@@ -1,7 +1,7 @@
 /*
  * Hedgewars, a free turn based strategy game
  * Copyright (c) 2006-2008 Igor Ulyanov <iulyanov@gmail.com>
- * Copyright (c) 2004-2012 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2013 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
--- a/QTfrontend/net/netudpserver.cpp	Thu Apr 04 14:37:19 2013 +0200
+++ b/QTfrontend/net/netudpserver.cpp	Tue Jun 04 22:28:12 2013 +0200
@@ -1,7 +1,7 @@
 /*
  * Hedgewars, a free turn based strategy game
  * Copyright (c) 2007-2008 Igor Ulyanov <iulyanov@gmail.com>
- * Copyright (c) 2004-2012 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2013 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
--- a/QTfrontend/net/netudpserver.h	Thu Apr 04 14:37:19 2013 +0200
+++ b/QTfrontend/net/netudpserver.h	Tue Jun 04 22:28:12 2013 +0200
@@ -1,7 +1,7 @@
 /*
  * Hedgewars, a free turn based strategy game
  * Copyright (c) 2007-2008 Igor Ulyanov <iulyanov@gmail.com>
- * Copyright (c) 2004-2012 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2013 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
--- a/QTfrontend/net/netudpwidget.cpp	Thu Apr 04 14:37:19 2013 +0200
+++ b/QTfrontend/net/netudpwidget.cpp	Tue Jun 04 22:28:12 2013 +0200
@@ -1,7 +1,7 @@
 /*
  * Hedgewars, a free turn based strategy game
  * Copyright (c) 2007 Igor Ulyanov <iulyanov@gmail.com>
- * Copyright (c) 2004-2012 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2013 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
--- a/QTfrontend/net/netudpwidget.h	Thu Apr 04 14:37:19 2013 +0200
+++ b/QTfrontend/net/netudpwidget.h	Tue Jun 04 22:28:12 2013 +0200
@@ -1,7 +1,7 @@
 /*
  * Hedgewars, a free turn based strategy game
  * Copyright (c) 2007 Igor Ulyanov <iulyanov@gmail.com>
- * Copyright (c) 2004-2012 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2013 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
--- a/QTfrontend/net/newnetclient.cpp	Thu Apr 04 14:37:19 2013 +0200
+++ b/QTfrontend/net/newnetclient.cpp	Tue Jun 04 22:28:12 2013 +0200
@@ -1,7 +1,7 @@
 /*
  * Hedgewars, a free turn based strategy game
  * Copyright (c) 2006-2008 Igor Ulyanov <iulyanov@gmail.com>
- * Copyright (c) 2004-2012 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2013 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
@@ -336,10 +336,24 @@
             qWarning("Net: Empty CHAT message");
             return;
         }
+
+        QString action = HWProto::chatStringToAction(lst[2]);
+
         if (netClientState == InLobby)
-            emit chatStringLobby(lst[1], HWProto::formatChatMsgForFrontend(lst[2]));
+        {
+            if (action != NULL)
+                emit lobbyChatAction(lst[1], action);
+            else
+                emit lobbyChatMessage(lst[1], lst[2]);
+        }
         else
+        {
             emit chatStringFromNet(HWProto::formatChatMsg(lst[1], lst[2]));
+            if (action != NULL)
+                emit roomChatAction(lst[1], action);
+            else
+                emit roomChatMessage(lst[1], lst[2]);
+        }
         return;
     }
 
@@ -350,12 +364,13 @@
             qWarning("Net: Malformed INFO message");
             return;
         }
-        QStringList tmp = lst;
-        tmp.removeFirst();
-        if (netClientState == InLobby)
-            emit chatStringLobby(tmp.join("\n").prepend('\x01'));
-        else
-            emit chatStringFromNet(tmp.join("\n").prepend('\x01'));
+        emit playerInfo(lst[1], lst[2], lst[3], lst[4]);
+        if (netClientState != InLobby)
+        {
+            QStringList tmp = lst;
+            tmp.removeFirst();
+            emit chatStringFromNet(tmp.join(" ").prepend('\x01'));
+        }
         return;
     }
 
@@ -410,8 +425,7 @@
                         {
                             if (nick == mynick)
                             {
-                                if (isChief && !setFlag) ToggleReady();
-                                else emit setMyReadyStatus(setFlag);
+                                emit setMyReadyStatus(setFlag);
                             }
                             m_playersModel->setFlag(nick, PlayersListModel::Ready, setFlag);
                         }
@@ -490,9 +504,7 @@
                 emit connected();
             }
 
-            m_playersModel->addPlayer(lst[i]);
-            emit nickAddedLobby(lst[i], false);
-            emit chatStringLobby(lst[i], tr("%1 *** %2 has joined").arg('\x03').arg("|nick|"));
+            m_playersModel->addPlayer(lst[i], false);
         }
         return;
     }
@@ -539,13 +551,11 @@
             qWarning("Net: Bad LOBBY:LEFT message");
             return;
         }
-        emit nickRemovedLobby(lst[1]);
+
         if (lst.size() < 3)
-            emit chatStringLobby(tr("%1 *** %2 has left").arg('\x03').arg(lst[1]));
+            m_playersModel->removePlayer(lst[1]);
         else
-            emit chatStringLobby(lst[1], tr("%1 *** %2 has left (%3)").arg('\x03').arg("|nick|", lst[2]));
-
-        m_playersModel->removePlayer(lst[1]);
+            m_playersModel->removePlayer(lst[1], lst[2]);
 
         return;
     }
@@ -636,8 +646,8 @@
                     emit configAsked();
             }
 
-            m_playersModel->playerJoinedRoom(lst[i]);
-            emit nickAdded(lst[i], isChief && (lst[i] != mynick));
+            m_playersModel->playerJoinedRoom(lst[i], isChief && (lst[i] != mynick));
+
             emit chatStringFromNet(tr("%1 *** %2 has joined the room").arg('\x03').arg(lst[i]));
         }
         return;
@@ -769,9 +779,8 @@
 
             for(int i = 1; i < lst.size(); ++i)
             {
-                emit nickAdded(lst[i], isChief && (lst[i] != mynick));
                 emit chatStringFromNet(tr("%1 *** %2 has joined the room").arg('\x03').arg(lst[i]));
-                m_playersModel->playerJoinedRoom(lst[i]);
+                m_playersModel->playerJoinedRoom(lst[i], isChief && (lst[i] != mynick));
             }
             return;
         }
@@ -783,7 +792,7 @@
                 qWarning("Net: Bad LEFT message");
                 return;
             }
-            emit nickRemoved(lst[1]);
+
             if (lst.size() < 3)
                 emit chatStringFromNet(tr("%1 *** %2 has left").arg('\x03').arg(lst[1]));
             else
@@ -836,12 +845,25 @@
         );
 }
 
+void HWNewNet::chatLineToNetWithEcho(const QString& str)
+{
+    if(str != "")
+    {
+        emit chatStringFromNet(HWProto::formatChatMsg(mynick, str));
+        chatLineToNet(str);
+    }
+}
+
 void HWNewNet::chatLineToNet(const QString& str)
 {
     if(str != "")
     {
         RawSendNet(QString("CHAT") + delimeter + str);
-        emit(chatStringFromMe(HWProto::formatChatMsg(mynick, str)));
+        QString action = HWProto::chatStringToAction(str);
+        if (action != NULL)
+            emit(roomChatAction(mynick, action));
+        else
+            emit(roomChatMessage(mynick, str));
     }
 }
 
@@ -850,7 +872,11 @@
     if(str != "")
     {
         RawSendNet(QString("CHAT") + delimeter + str);
-        emit chatStringLobby(mynick, HWProto::formatChatMsgForFrontend(str));
+        QString action = HWProto::chatStringToAction(str);
+        if (action != NULL)
+            emit(lobbyChatAction(mynick, action));
+        else
+            emit(lobbyChatMessage(mynick, str));
     }
 }
 
--- a/QTfrontend/net/newnetclient.h	Thu Apr 04 14:37:19 2013 +0200
+++ b/QTfrontend/net/newnetclient.h	Tue Jun 04 22:28:12 2013 +0200
@@ -1,7 +1,7 @@
 /*
  * Hedgewars, a free turn based strategy game
  * Copyright (c) 2006-2008 Igor Ulyanov <iulyanov@gmail.com>
- * Copyright (c) 2004-2012 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2013 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
@@ -99,10 +99,6 @@
         void AuthFailed();
         void EnteredGame();
         void LeftRoom(const QString & reason);
-        void nickAdded(const QString& nick, bool notifyNick);
-        void nickRemoved(const QString& nick);
-        void nickAddedLobby(const QString& nick, bool notifyNick);
-        void nickRemovedLobby(const QString& nick);
         void FromNet(const QByteArray & buf);
         void adminAccess(bool);
         void roomMaster(bool);
@@ -117,11 +113,16 @@
         void RemoveNetTeam(const HWTeam&);
         void hhnumChanged(const HWTeam&);
         void teamColorChanged(const HWTeam&);
-        void chatStringLobby(const QString&);
-        void chatStringLobby(const QString&, const QString&);
+        void playerInfo(
+            const QString & nick,
+            const QString & ip,
+            const QString & version,
+            const QString & roomInfo);
+        void lobbyChatMessage(const QString & nick, const QString & message);
+        void lobbyChatAction(const QString & nick, const QString & action);
+        void roomChatMessage(const QString & nick, const QString & message);
+        void roomChatAction(const QString & nick, const QString & action);
         void chatStringFromNet(const QString&);
-        void chatStringFromMe(const QString&);
-        void chatStringFromMeLobby(const QString&);
 
         void roomsList(const QStringList&);
         void serverMessage(const QString &);
@@ -137,6 +138,7 @@
     public slots:
         void ToggleReady();
         void chatLineToNet(const QString& str);
+        void chatLineToNetWithEcho(const QString&);
         void chatLineToLobby(const QString& str);
         void SendTeamMessage(const QString& str);
         void SendNet(const QByteArray & buf);
--- a/QTfrontend/net/proto.cpp	Thu Apr 04 14:37:19 2013 +0200
+++ b/QTfrontend/net/proto.cpp	Tue Jun 04 22:28:12 2013 +0200
@@ -1,6 +1,6 @@
 /*
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2012 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2013 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
@@ -45,11 +45,6 @@
     return buf;
 }
 
-QString HWProto::formatChatMsgForFrontend(const QString & msg)
-{
-    return formatChatMsg("|nick|", msg);
-}
-
 QString HWProto::formatChatMsg(const QString & nick, const QString & msg)
 {
     if(msg.left(4) == "/me ")
@@ -57,3 +52,11 @@
     else
         return QString("\x01%1: %2").arg(nick).arg(msg);
 }
+
+QString HWProto::chatStringToAction(const QString & string)
+{
+    if(string.left(4) == "/me ")
+        return string.mid(4);
+    else
+        return NULL;
+}
--- a/QTfrontend/net/proto.h	Thu Apr 04 14:37:19 2013 +0200
+++ b/QTfrontend/net/proto.h	Tue Jun 04 22:28:12 2013 +0200
@@ -1,6 +1,6 @@
 /*
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2012 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2013 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
@@ -35,6 +35,12 @@
         static QByteArray & addStringListToBuffer(QByteArray & buf, const QStringList & strList);
         static QString formatChatMsg(const QString & nick, const QString & msg);
         static QString formatChatMsgForFrontend(const QString & msg);
+        /**
+         * @brief Determines if a chat string represents a chat action and returns the action.
+         * @param string chat string
+         * @return the action-message or NULL if message is no action
+         */
+        static QString chatStringToAction(const QString & string);
 };
 
 #endif // _PROTO_H
--- a/QTfrontend/net/recorder.cpp	Thu Apr 04 14:37:19 2013 +0200
+++ b/QTfrontend/net/recorder.cpp	Tue Jun 04 22:28:12 2013 +0200
@@ -1,6 +1,6 @@
 /*
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2012 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2013 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
--- a/QTfrontend/net/recorder.h	Thu Apr 04 14:37:19 2013 +0200
+++ b/QTfrontend/net/recorder.h	Tue Jun 04 22:28:12 2013 +0200
@@ -1,6 +1,6 @@
 /*
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2012 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2013 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
--- a/QTfrontend/net/tcpBase.cpp	Thu Apr 04 14:37:19 2013 +0200
+++ b/QTfrontend/net/tcpBase.cpp	Tue Jun 04 22:28:12 2013 +0200
@@ -1,7 +1,7 @@
 /*
  * Hedgewars, a free turn based strategy game
  * Copyright (c) 2006-2007 Igor Ulyanov <iulyanov@gmail.com>
- * Copyright (c) 2004-2012 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2013 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
--- a/QTfrontend/net/tcpBase.h	Thu Apr 04 14:37:19 2013 +0200
+++ b/QTfrontend/net/tcpBase.h	Tue Jun 04 22:28:12 2013 +0200
@@ -1,7 +1,7 @@
 /*
  * Hedgewars, a free turn based strategy game
  * Copyright (c) 2006-2007 Igor Ulyanov <iulyanov@gmail.com>
- * Copyright (c) 2004-2012 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2013 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
--- a/QTfrontend/res/css/chat.css	Thu Apr 04 14:37:19 2013 +0200
+++ b/QTfrontend/res/css/chat.css	Tue Jun 04 22:28:12 2013 +0200
@@ -61,15 +61,20 @@
 .msg_FriendChat .nick { color: #30ff30; }
 .msg_UserJoin { color: #c0c0c0; }
 .msg_UserJoin .nick { color: #d0d0d0; }
+.msg_UserLeave { color: #b8b8b8; }
+.msg_UserLeave .nick { color: #c8c8c8; }
 .msg_FriendJoin { font-weight: bold; color: #c0f0c0; }
 .msg_FriendJoin .nick { color: #d8f0d8; }
+.msg_FriendLeave { font-weight: bold; color: #ffe090; }
+.msg_FriendLeave .nick { color: #f8e878; }
 .msg_UserAction { color: #ff80ff; }
 .msg_UserAction .nick { color: #ffa0ff;}
 .msg_FriendAction { color: #ff00ff; }
 .msg_FriendAction .nick { color: #ff30ff; }
 
-/* uncomment next line to disable join and leave messages of non-friends */
+/* uncomment next lines to disable join and leave messages of non-friends */
 /* .msg_UserJoin { display:none; } */
+/* .msg_UserLeave { display:none; } */
 
 /* timestamps */
 .timestamp {
--- a/QTfrontend/res/css/qt.css	Thu Apr 04 14:37:19 2013 +0200
+++ b/QTfrontend/res/css/qt.css	Tue Jun 04 22:28:12 2013 +0200
@@ -179,6 +179,7 @@
 QComboBox {
 border-radius: 10px;
 padding: 3px;
+height: 18px;
 }
 QComboBox:pressed{
 border-color: white;
@@ -326,4 +327,8 @@
 
 TeamSelWidget, #gameStackContainer, #GBoxOptions {
 border-radius: 10px;
-}
\ No newline at end of file
+}
+
+PageMultiplayer TeamSelWidget {
+min-height: 500px;
+}
--- a/QTfrontend/res/html/about.html	Thu Apr 04 14:37:19 2013 +0200
+++ b/QTfrontend/res/html/about.html	Tue Jun 04 22:28:12 2013 +0200
@@ -73,11 +73,11 @@
             Chinese: Jie Luo &lt;<a href="mailto:lililjlj@gmail.com">lililjlj@gmail.com</a>&gt;<br>
             English: Andrey Korotaev &lt;<a href="mailto:unC0Rr@gmail.com">unC0Rr@gmail.com</a>&gt;<br>
             Finnish: Nina Kuisma &lt;<a href="mailto:ninnnu@gmail.com">ninnnu@gmail.com</a>&gt;<br>
-            French: Antoine Turmel &lt;<a href="mailto:geekshadow@gmail.com">geekshadow@gmail.com</a>&gt;, Clement Woitrain &lt;<a href="mailto:sphrixclement@gmail.com">sphrixclement@gmail.com</a>&gt;<br>
+            French: Antoine Turmel &lt;<a href="mailto:geekshadow@gmail.com">geekshadow@gmail.com</a>&gt;, Clement Woitrain &lt;<a href="mailto:sphrixclement@gmail.com">sphrixclement@gmail.com</a>&gt;, Matisumi<br>
             German: Peter Hüwe &lt;<a href="mailto:PeterHuewe@gmx.de">PeterHuewe@gmx.de</a>&gt;, Mario Liebisch &lt;<a href="mailto:mario.liebisch@gmail.com">mario.liebisch@gmail.com</a>&gt;, Richard Karolyi &lt;<a href="mailto:sheepluva@ercatec.net">sheepluva@ercatec.net</a>&gt;<br>
             Greek: &lt;<a href="mailto:talos_kriti@yahoo.gr">talos_kriti@yahoo.gr</a>&gt;<br>
-            Italian: Luca Bonora &lt;<a href="mailto:bonora.luca@gmail.com">bonora.luca@gmail.com</a>&gt;, Marco Bresciani<br>
-            Japanese: ADAM Etienne &lt;<a href="mailto:etienne.adam@gmail.com">etienne.adam@gmail.com</a>&gt;<br>
+            Italian: Luca Bonora &lt;<a href="mailto:bonora.luca@gmail.com">bonora.luca@gmail.com</a>&gt;, Marco Bresciani &lt;<a href="mailto:m.bresciani@email.it">m.bresciani@email.it</a>&gt;<br>
+            Japanese: ADAM Etienne &lt;<a href="mailto:etienne.adam@gmail.com">etienne.adam@gmail.com</a>&gt;, Marco Bresciani &lt;<a href="mailto:m.bresciani@email.it">m.bresciani@email.it</a>&gt;, 梅津洋恵<br>
             Korean: Anthony Bellew &lt;<a href="mailto:anthonyreflected@gmail.com">anthonyreflected@gmail.com</a>&gt;<br>
             Lithuanian: Lukas Urbonas &lt;<a href="mailto:lukasu08@gmail.com">lukasu08@gmail.com</a>&gt;<br>
             Polish: Maciej Mroziński &lt;<a href="mailto:mynick2@o2.pl">mynick2@o2.pl</a>&gt;, Wojciech Latkowski &lt;<a href="mailto:magik17l@gmail.com">magik17l@gmail.com</a>&gt;, Piotr Mitana, Maciej Górny<br>
--- a/QTfrontend/res/xml/tips.xml	Thu Apr 04 14:37:19 2013 +0200
+++ b/QTfrontend/res/xml/tips.xml	Tue Jun 04 22:28:12 2013 +0200
@@ -46,6 +46,7 @@
     <tip>Like Hedgewars? Become a fan on <a href="http://www.facebook.com/Hedgewars">Facebook</a> or follow us on <a href="http://twitter.com/hedgewars">Twitter</a></tip>
     <tip>Feel free to draw your own graves, hats, flags or even maps and themes! But note that you'll have to share them somewhere to use them online.</tip>
     <tip>Keep your video card drivers up to date to avoid issues playing the game.</tip>
+    <tip>Heads or tails? Type '/rnd' in lobby and you'll find out. Also '/rnd rock paper scissors' works!</tip>
     <tip>You're able to associate Hedgewars related files (savegames and demo recordings) with the game to launch them right from your favorite file or internet browser.</tip>
     <windows-only>
 	    <tip>The version of Hedgewars supports <a href="http://www.xfire.com">Xfire</a>. Make sure to add Hedgewars to its game list so your friends can see you playing.</tip>
--- a/QTfrontend/sdlkeys.h	Thu Apr 04 14:37:19 2013 +0200
+++ b/QTfrontend/sdlkeys.h	Tue Jun 04 22:28:12 2013 +0200
@@ -1,6 +1,6 @@
 /*
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2012 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2013 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
--- a/QTfrontend/team.cpp	Thu Apr 04 14:37:19 2013 +0200
+++ b/QTfrontend/team.cpp	Tue Jun 04 22:28:12 2013 +0200
@@ -1,6 +1,6 @@
 /*
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2012 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2013 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
--- a/QTfrontend/team.h	Thu Apr 04 14:37:19 2013 +0200
+++ b/QTfrontend/team.h	Tue Jun 04 22:28:12 2013 +0200
@@ -1,6 +1,6 @@
 /*
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2012 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2013 Andrey Korotaev <unC0Rr@gmail.com>
  * Copyright (c) 2007 Igor Ulyanov <iulyanov@gmail.com>
  *
  * This program is free software; you can redistribute it and/or modify
--- a/QTfrontend/ui/dialog/ask_quit.cpp	Thu Apr 04 14:37:19 2013 +0200
+++ b/QTfrontend/ui/dialog/ask_quit.cpp	Tue Jun 04 22:28:12 2013 +0200
@@ -1,6 +1,6 @@
 /*
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2012 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2013 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
--- a/QTfrontend/ui/dialog/ask_quit.h	Thu Apr 04 14:37:19 2013 +0200
+++ b/QTfrontend/ui/dialog/ask_quit.h	Tue Jun 04 22:28:12 2013 +0200
@@ -1,6 +1,6 @@
 /*
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2012 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2013 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
--- a/QTfrontend/ui/dialog/input_ip.cpp	Thu Apr 04 14:37:19 2013 +0200
+++ b/QTfrontend/ui/dialog/input_ip.cpp	Tue Jun 04 22:28:12 2013 +0200
@@ -1,6 +1,6 @@
 /*
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2012 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2013 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
--- a/QTfrontend/ui/dialog/input_ip.h	Thu Apr 04 14:37:19 2013 +0200
+++ b/QTfrontend/ui/dialog/input_ip.h	Tue Jun 04 22:28:12 2013 +0200
@@ -1,6 +1,6 @@
 /*
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2012 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2013 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
--- a/QTfrontend/ui/dialog/input_password.cpp	Thu Apr 04 14:37:19 2013 +0200
+++ b/QTfrontend/ui/dialog/input_password.cpp	Tue Jun 04 22:28:12 2013 +0200
@@ -1,6 +1,6 @@
 /*
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2012 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2013 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
--- a/QTfrontend/ui/dialog/input_password.h	Thu Apr 04 14:37:19 2013 +0200
+++ b/QTfrontend/ui/dialog/input_password.h	Tue Jun 04 22:28:12 2013 +0200
@@ -1,6 +1,6 @@
 /*
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2012 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2013 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
--- a/QTfrontend/ui/dialog/upload_video.cpp	Thu Apr 04 14:37:19 2013 +0200
+++ b/QTfrontend/ui/dialog/upload_video.cpp	Tue Jun 04 22:28:12 2013 +0200
@@ -1,6 +1,6 @@
 /*
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2012 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2013 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
--- a/QTfrontend/ui/dialog/upload_video.h	Thu Apr 04 14:37:19 2013 +0200
+++ b/QTfrontend/ui/dialog/upload_video.h	Tue Jun 04 22:28:12 2013 +0200
@@ -1,6 +1,6 @@
 /*
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2012 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2013 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
--- a/QTfrontend/ui/page/AbstractPage.cpp	Thu Apr 04 14:37:19 2013 +0200
+++ b/QTfrontend/ui/page/AbstractPage.cpp	Tue Jun 04 22:28:12 2013 +0200
@@ -1,6 +1,6 @@
 /*
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2012 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2013 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
--- a/QTfrontend/ui/page/AbstractPage.h	Thu Apr 04 14:37:19 2013 +0200
+++ b/QTfrontend/ui/page/AbstractPage.h	Tue Jun 04 22:28:12 2013 +0200
@@ -1,6 +1,6 @@
 /*
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2012 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2013 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
--- a/QTfrontend/ui/page/pageadmin.cpp	Thu Apr 04 14:37:19 2013 +0200
+++ b/QTfrontend/ui/page/pageadmin.cpp	Tue Jun 04 22:28:12 2013 +0200
@@ -1,6 +1,6 @@
 /*
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2012 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2013 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
--- a/QTfrontend/ui/page/pageadmin.h	Thu Apr 04 14:37:19 2013 +0200
+++ b/QTfrontend/ui/page/pageadmin.h	Tue Jun 04 22:28:12 2013 +0200
@@ -1,6 +1,6 @@
 /*
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2012 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2013 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
--- a/QTfrontend/ui/page/pagecampaign.cpp	Thu Apr 04 14:37:19 2013 +0200
+++ b/QTfrontend/ui/page/pagecampaign.cpp	Tue Jun 04 22:28:12 2013 +0200
@@ -1,6 +1,6 @@
 /*
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2012 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2013 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
--- a/QTfrontend/ui/page/pagecampaign.h	Thu Apr 04 14:37:19 2013 +0200
+++ b/QTfrontend/ui/page/pagecampaign.h	Tue Jun 04 22:28:12 2013 +0200
@@ -1,6 +1,6 @@
 /*
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2012 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2013 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
--- a/QTfrontend/ui/page/pageconnecting.cpp	Thu Apr 04 14:37:19 2013 +0200
+++ b/QTfrontend/ui/page/pageconnecting.cpp	Tue Jun 04 22:28:12 2013 +0200
@@ -1,6 +1,6 @@
 /*
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2012 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2013 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
--- a/QTfrontend/ui/page/pageconnecting.h	Thu Apr 04 14:37:19 2013 +0200
+++ b/QTfrontend/ui/page/pageconnecting.h	Tue Jun 04 22:28:12 2013 +0200
@@ -1,6 +1,6 @@
 /*
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2012 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2013 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
--- a/QTfrontend/ui/page/pagedata.cpp	Thu Apr 04 14:37:19 2013 +0200
+++ b/QTfrontend/ui/page/pagedata.cpp	Tue Jun 04 22:28:12 2013 +0200
@@ -1,6 +1,6 @@
 /*
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2012 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2013 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
@@ -60,7 +60,10 @@
 
     web->setOpenLinks(false);
 //    fetchList();
-
+    web->setHtml(QString(
+        "<center><h2>Hedgewars Downloadable Content</h2><br><br>"
+        "<i>%1</i></center>")
+        .arg(tr("Loading, please wait.")));
     m_contentDownloaded = false;
 }
 
@@ -106,8 +109,7 @@
 {
     QNetworkReply * reply = qobject_cast<QNetworkReply *>(sender());
 
-    if(reply)
-    {
+    if (reply && (reply->error() == QNetworkReply::NoError)) {
         QString html = QString::fromUtf8(reply->readAll());
         int begin = html.indexOf("<!-- BEGIN -->");
         int end = html.indexOf("<!-- END -->");
@@ -117,7 +119,11 @@
             html.remove(0, begin);
         }
         web->setHtml(html);
-    }
+    } else
+        web->setHtml(QString(
+            "<center><h2>Hedgewars Downloadable Content</h2><br><br>"
+            "<p><i><h4>%1</i></h4></p></center>")
+            .arg(tr("This page requires an internet connection.")));
 }
 
 void PageDataDownload::fileDownloaded()
--- a/QTfrontend/ui/page/pagedata.h	Thu Apr 04 14:37:19 2013 +0200
+++ b/QTfrontend/ui/page/pagedata.h	Tue Jun 04 22:28:12 2013 +0200
@@ -1,6 +1,6 @@
 /*
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2012 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2013 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
--- a/QTfrontend/ui/page/pagedrawmap.cpp	Thu Apr 04 14:37:19 2013 +0200
+++ b/QTfrontend/ui/page/pagedrawmap.cpp	Tue Jun 04 22:28:12 2013 +0200
@@ -1,6 +1,6 @@
 /*
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2012 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2013 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
--- a/QTfrontend/ui/page/pagedrawmap.h	Thu Apr 04 14:37:19 2013 +0200
+++ b/QTfrontend/ui/page/pagedrawmap.h	Tue Jun 04 22:28:12 2013 +0200
@@ -1,6 +1,6 @@
 /*
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2012 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2013 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
--- a/QTfrontend/ui/page/pageeditteam.cpp	Thu Apr 04 14:37:19 2013 +0200
+++ b/QTfrontend/ui/page/pageeditteam.cpp	Tue Jun 04 22:28:12 2013 +0200
@@ -1,6 +1,6 @@
 /*
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2012 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2013 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
@@ -320,7 +320,7 @@
                        );
 
     if (!list.isEmpty())
-        SDLInteraction::instance().playSoundFile("physfs://" + voiceDir + "/" +
+        SDLInteraction::instance().playSoundFile("/" + voiceDir + "/" +
                                     list[rand() % list.size()]);
 }
 
--- a/QTfrontend/ui/page/pageeditteam.h	Thu Apr 04 14:37:19 2013 +0200
+++ b/QTfrontend/ui/page/pageeditteam.h	Tue Jun 04 22:28:12 2013 +0200
@@ -1,6 +1,6 @@
 /*
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2012 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2013 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
--- a/QTfrontend/ui/page/pagegamestats.cpp	Thu Apr 04 14:37:19 2013 +0200
+++ b/QTfrontend/ui/page/pagegamestats.cpp	Tue Jun 04 22:28:12 2013 +0200
@@ -1,6 +1,6 @@
 /*
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2012 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2013 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
@@ -97,13 +97,26 @@
     return pageLayout;
 }
 
+//TODO button placement, image etc
 QLayout * PageGameStats::footerLayoutDefinition()
 {
     QHBoxLayout * bottomLayout = new QHBoxLayout();
+    
+    mainNote = new QLabel(this);
+    mainNote->setAlignment(Qt::AlignHCenter | Qt::AlignVCenter);
+    mainNote->setWordWrap(true);
+    
+    bottomLayout->addWidget(mainNote, 0);
+    bottomLayout->setStretch(0,1);
 
-    btnSave = addButton(":/res/Save.png", bottomLayout, 0, true);
+    btnRestart = addButton(":/res/Start.png", bottomLayout, 1, true);
+    btnRestart->setWhatsThis(tr("Play again"));
+    btnRestart->setFixedWidth(58);
+    btnRestart->setFixedHeight(81);
+    btnRestart->setStyleSheet("QPushButton{margin-top:24px}");
+    btnSave = addButton(":/res/Save.png", bottomLayout, 2, true);
+    btnSave->setWhatsThis(tr("Save"));
     btnSave->setStyleSheet("QPushButton{margin: 24px 0 0 0;}");
-    bottomLayout->setAlignment(btnSave, Qt::AlignRight | Qt::AlignBottom);
 
     return bottomLayout;
 }
@@ -112,6 +125,7 @@
 {
     connect(this, SIGNAL(pageEnter()), this, SLOT(renderStats()));
     connect(btnSave, SIGNAL(clicked()), this, SIGNAL(saveDemoRequested()));
+    connect(btnRestart, SIGNAL(clicked()), this, SIGNAL(restartGameRequested()));
 }
 
 PageGameStats::PageGameStats(QWidget* parent) : AbstractPage(parent)
@@ -133,6 +147,11 @@
     lastColor = 0;
 }
 
+void PageGameStats::restartBtnVisible(bool visible)
+{
+    btnRestart->setVisible(visible);
+}
+
 void PageGameStats::renderStats()
 {
     QGraphicsScene * scene = new QGraphicsScene();
--- a/QTfrontend/ui/page/pagegamestats.h	Thu Apr 04 14:37:19 2013 +0200
+++ b/QTfrontend/ui/page/pagegamestats.h	Tue Jun 04 22:28:12 2013 +0200
@@ -1,6 +1,6 @@
 /*
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2012 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2013 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
@@ -44,6 +44,8 @@
         PageGameStats(QWidget* parent = 0);
 
         QPushButton *btnSave;
+        QPushButton *btnRestart;
+        QLabel *mainNote;
         QLabel *labelGameStats;
         QLabel *labelGameWin;
         QLabel *labelGameRank;
@@ -53,9 +55,11 @@
         void GameStats(char type, const QString & info);
         void clear();
         void renderStats();
+        void restartBtnVisible(bool visible);
 
     signals:
         void saveDemoRequested();
+        void restartGameRequested();
 
     private:
         void AddStatText(const QString & msg);
--- a/QTfrontend/ui/page/pageinfo.cpp	Thu Apr 04 14:37:19 2013 +0200
+++ b/QTfrontend/ui/page/pageinfo.cpp	Tue Jun 04 22:28:12 2013 +0200
@@ -1,6 +1,6 @@
 /*
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2012 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2013 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
--- a/QTfrontend/ui/page/pageinfo.h	Thu Apr 04 14:37:19 2013 +0200
+++ b/QTfrontend/ui/page/pageinfo.h	Tue Jun 04 22:28:12 2013 +0200
@@ -1,6 +1,6 @@
 /*
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2012 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2013 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
--- a/QTfrontend/ui/page/pageingame.cpp	Thu Apr 04 14:37:19 2013 +0200
+++ b/QTfrontend/ui/page/pageingame.cpp	Tue Jun 04 22:28:12 2013 +0200
@@ -1,6 +1,6 @@
 /*
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2012 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2013 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
--- a/QTfrontend/ui/page/pageingame.h	Thu Apr 04 14:37:19 2013 +0200
+++ b/QTfrontend/ui/page/pageingame.h	Tue Jun 04 22:28:12 2013 +0200
@@ -1,6 +1,6 @@
 /*
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2012 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2013 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
--- a/QTfrontend/ui/page/pagemain.cpp	Thu Apr 04 14:37:19 2013 +0200
+++ b/QTfrontend/ui/page/pagemain.cpp	Tue Jun 04 22:28:12 2013 +0200
@@ -1,6 +1,6 @@
 /*
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2012 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2013 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
@@ -120,8 +120,8 @@
 void PageMain::connectSignals()
 {
     connect(BtnNet, SIGNAL(clicked()), this, SLOT(toggleNetworkChoice()));
-    connect(BtnNetLocal, SIGNAL(clicked()), this, SLOT(toggleNetworkChoice()));
-    connect(BtnNetOfficial, SIGNAL(clicked()), this, SLOT(toggleNetworkChoice()));
+    //connect(BtnNetLocal, SIGNAL(clicked()), this, SLOT(toggleNetworkChoice()));
+    //connect(BtnNetOfficial, SIGNAL(clicked()), this, SLOT(toggleNetworkChoice()));
     // TODO: add signal-forwarding required by (currently missing) encapsulation
 }
 
@@ -136,7 +136,7 @@
 #ifdef DEBUG
     setDefaultDescription(QLabel::tr("This development build is 'work in progress' and may not be compatible with other versions of the game, while some features might be broken or incomplete!"));
 #else
-    setDefaultDescription(QLabel::tr("Tip: ") + randomTip());
+    setDefaultDescription(QLabel::tr("Tip: %1").arg(randomTip()));
 #endif
 
 }
@@ -189,3 +189,10 @@
     if (visible)    BtnNet->setIcon(originalNetworkIcon);
     else            BtnNet->setIcon(disabledNetworkIcon);
 }
+
+void PageMain::resetNetworkChoice()
+{
+    BtnNetLocal->setVisible(false);
+    BtnNetOfficial->setVisible(false);
+    BtnNet->setIcon(originalNetworkIcon);
+}
--- a/QTfrontend/ui/page/pagemain.h	Thu Apr 04 14:37:19 2013 +0200
+++ b/QTfrontend/ui/page/pagemain.h	Tue Jun 04 22:28:12 2013 +0200
@@ -1,6 +1,6 @@
 /*
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2012 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2013 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
@@ -29,6 +29,7 @@
 
     public:
         PageMain(QWidget * parent = 0);
+        void resetNetworkChoice();
 
         QPushButton * BtnSinglePlayer;
         QPushButton * BtnNet;
--- a/QTfrontend/ui/page/pagemultiplayer.cpp	Thu Apr 04 14:37:19 2013 +0200
+++ b/QTfrontend/ui/page/pagemultiplayer.cpp	Tue Jun 04 22:28:12 2013 +0200
@@ -1,6 +1,6 @@
 /*
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2012 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2013 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
@@ -31,15 +31,13 @@
 
 QLayout * PageMultiplayer::bodyLayoutDefinition()
 {
-    QGridLayout * pageLayout = new QGridLayout();
+    QHBoxLayout * pageLayout = new QHBoxLayout();
 
     gameCFG = new GameCFGWidget(this);
-    pageLayout->addWidget(gameCFG, 0, 0, 1, 2);
-
-    pageLayout->setRowStretch(2, 1);
+    pageLayout->addWidget(gameCFG, 3, Qt::AlignTop);
 
     teamsSelect = new TeamSelWidget(this);
-    pageLayout->addWidget(teamsSelect, 0, 2, 3, 2);
+    pageLayout->addWidget(teamsSelect, 2, Qt::AlignTop);
 
     return pageLayout;
 }
--- a/QTfrontend/ui/page/pagemultiplayer.h	Thu Apr 04 14:37:19 2013 +0200
+++ b/QTfrontend/ui/page/pagemultiplayer.h	Tue Jun 04 22:28:12 2013 +0200
@@ -1,6 +1,6 @@
 /*
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2012 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2013 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
--- a/QTfrontend/ui/page/pagenet.cpp	Thu Apr 04 14:37:19 2013 +0200
+++ b/QTfrontend/ui/page/pagenet.cpp	Tue Jun 04 22:28:12 2013 +0200
@@ -1,6 +1,6 @@
 /*
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2012 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2013 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
--- a/QTfrontend/ui/page/pagenet.h	Thu Apr 04 14:37:19 2013 +0200
+++ b/QTfrontend/ui/page/pagenet.h	Tue Jun 04 22:28:12 2013 +0200
@@ -1,6 +1,6 @@
 /*
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2012 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2013 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
--- a/QTfrontend/ui/page/pagenetgame.cpp	Thu Apr 04 14:37:19 2013 +0200
+++ b/QTfrontend/ui/page/pagenetgame.cpp	Tue Jun 04 22:28:12 2013 +0200
@@ -1,6 +1,6 @@
 /*
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2012 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2013 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
--- a/QTfrontend/ui/page/pagenetgame.h	Thu Apr 04 14:37:19 2013 +0200
+++ b/QTfrontend/ui/page/pagenetgame.h	Tue Jun 04 22:28:12 2013 +0200
@@ -1,6 +1,6 @@
 /*
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2012 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2013 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
--- a/QTfrontend/ui/page/pagenetserver.cpp	Thu Apr 04 14:37:19 2013 +0200
+++ b/QTfrontend/ui/page/pagenetserver.cpp	Tue Jun 04 22:28:12 2013 +0200
@@ -1,6 +1,6 @@
 /*
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2012 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2013 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
@@ -79,6 +79,16 @@
     BtnShare->setWhatsThis(QPushButton::tr("Click to copy your unique server URL in your clipboard. Send this link to your friends ands and they will be able to join you."));
     gbLayout->addWidget(BtnShare, 2, 1);
 
+    labelURL = new QLabel(gb);
+    labelURL->setText(
+              "<style type=\"text/css\"> a { color: #ffcc00; } </style>"
+              "<div align=\"center\">"
+              "<a href=\"https://code.google.com/p/hedgewars/wiki/HWPlaySchemeSyntax\">" +
+              tr("Click here for details") +
+              "</a></div>");
+    labelURL->setOpenExternalLinks(true);
+    gbLayout->addWidget(labelURL, 3, 1);
+
     return pageLayout;
 }
 
--- a/QTfrontend/ui/page/pagenetserver.h	Thu Apr 04 14:37:19 2013 +0200
+++ b/QTfrontend/ui/page/pagenetserver.h	Tue Jun 04 22:28:12 2013 +0200
@@ -1,6 +1,6 @@
 /*
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2012 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2013 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
@@ -32,8 +32,9 @@
         QPushButton *BtnDefault;
         QPushButton *BtnShare;
         QLabel *labelSD;
+        QLabel *labelPort;
+        QLabel *labelURL;
         QLineEdit *leServerDescr;
-        QLabel *labelPort;
         QSpinBox *sbPort;
 
     protected:
--- a/QTfrontend/ui/page/pageoptions.cpp	Thu Apr 04 14:37:19 2013 +0200
+++ b/QTfrontend/ui/page/pageoptions.cpp	Tue Jun 04 22:28:12 2013 +0200
@@ -1,6 +1,6 @@
 /*
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2012 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2013 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
@@ -275,11 +275,13 @@
             winLabelX->setFixedWidth(40);
             winLabelX->setAlignment(Qt::AlignCenter);
 
-            windowWidthEdit = new QLineEdit(groupGame);
-            windowWidthEdit->setValidator(new QIntValidator(this));
+            // TODO: less random max. also:
+            // make some min/max-consts, shared with engine?
+            windowWidthEdit = new QSpinBox(groupGame);
+            windowWidthEdit->setRange(640, 102400);
             windowWidthEdit->setFixedSize(55, CBResolution->height());
-            windowHeightEdit = new QLineEdit(groupGame);
-            windowHeightEdit->setValidator(new QIntValidator(this));
+            windowHeightEdit = new QSpinBox(groupGame);
+            windowHeightEdit->setRange(480, 102400);
             windowHeightEdit->setFixedSize(55, CBResolution->height());
 
             winResLayout->addWidget(windowWidthEdit, 0);
@@ -585,13 +587,19 @@
             CBLanguage = new QComboBox(groupMisc);
             groupMisc->layout()->addWidget(CBLanguage, 0, 1);
             QStringList locs = DataManager::instance().entryList("Locale", QDir::Files, QStringList("hedgewars_*.qm"));
-            CBLanguage->addItem(QComboBox::tr("(System default)"), QString(""));
+            CBLanguage->addItem(QComboBox::tr("(System default)"), QString());
             for(int i = 0; i < locs.count(); i++)
             {
-                QLocale loc(locs[i].replace(QRegExp("hedgewars_(.*)\\.qm"), "\\1"));
-                CBLanguage->addItem(QLocale::languageToString(loc.language()) + " (" + QLocale::countryToString(loc.country()) + ")", loc.name());
+                QString lname = locs[i].replace(QRegExp("hedgewars_(.*)\\.qm"), "\\1");
+                QLocale loc(lname);
+                CBLanguage->addItem(QLocale::languageToString(loc.language()) + " (" + QLocale::countryToString(loc.country()) + ")", lname);
             }
 
+            QLabel *restartNoticeLabel = new QLabel(groupMisc);
+            restartNoticeLabel->setText(QLabel::tr("This setting will be effective at next restart."));
+            groupMisc->layout()->addWidget(restartNoticeLabel, 1, 1);
+
+
             // Divider
 
             groupMisc->addDivider(); // row 1
@@ -600,14 +608,14 @@
 
             CBNameWithDate = new QCheckBox(groupMisc);
             CBNameWithDate->setText(QCheckBox::tr("Append date and time to record file name"));
-            groupMisc->layout()->addWidget(CBNameWithDate, 2, 0, 1, 2);
+            groupMisc->layout()->addWidget(CBNameWithDate, 3, 0, 1, 2);
 
             // Associate file extensions
 
             BtnAssociateFiles = new QPushButton(groupMisc);
             BtnAssociateFiles->setText(QPushButton::tr("Associate file extensions"));
             BtnAssociateFiles->setVisible(!custom_data && !custom_config);
-            groupMisc->layout()->addWidget(BtnAssociateFiles, 3, 0, 1, 2);
+            groupMisc->layout()->addWidget(BtnAssociateFiles, 4, 0, 1, 2);
         }
 
 #ifdef __APPLE__
--- a/QTfrontend/ui/page/pageoptions.h	Thu Apr 04 14:37:19 2013 +0200
+++ b/QTfrontend/ui/page/pageoptions.h	Tue Jun 04 22:28:12 2013 +0200
@@ -1,6 +1,6 @@
 /*
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2012 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2013 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
@@ -77,8 +77,8 @@
         QComboBox *CBTeamName;
         IconedGroupBox *AGGroupBox;
         QComboBox *CBResolution;
-        QLineEdit *windowWidthEdit;
-        QLineEdit *windowHeightEdit;
+        QSpinBox *windowWidthEdit;
+        QSpinBox *windowHeightEdit;
         QComboBox *CBStereoMode;
         QCheckBox *CBFrontendSound;
         QCheckBox *CBFrontendMusic;
--- a/QTfrontend/ui/page/pageplayrecord.cpp	Thu Apr 04 14:37:19 2013 +0200
+++ b/QTfrontend/ui/page/pageplayrecord.cpp	Tue Jun 04 22:28:12 2013 +0200
@@ -1,6 +1,6 @@
 /*
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2012 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2013 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
--- a/QTfrontend/ui/page/pageplayrecord.h	Thu Apr 04 14:37:19 2013 +0200
+++ b/QTfrontend/ui/page/pageplayrecord.h	Tue Jun 04 22:28:12 2013 +0200
@@ -1,6 +1,6 @@
 /*
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2012 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2013 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
--- a/QTfrontend/ui/page/pageroomslist.cpp	Thu Apr 04 14:37:19 2013 +0200
+++ b/QTfrontend/ui/page/pageroomslist.cpp	Tue Jun 04 22:28:12 2013 +0200
@@ -1,6 +1,6 @@
 /*
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2012 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2013 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
@@ -28,6 +28,7 @@
 #include <QGroupBox>
 #include <QMenu>
 #include <QDebug>
+#include <QSplitter>
 
 #include <QSortFilterProxyModel>
 
@@ -107,7 +108,18 @@
     topLayout->setRowStretch(1, 0);
     topLayout->setColumnStretch(3, 1);
 
+    // Rooms list and chat with splitter
+    m_splitter = new QSplitter();
+    m_splitter->setChildrenCollapsible(false);
+    pageLayout->addWidget(m_splitter, 100);
+
     // Room list
+    QWidget * roomsListWidget = new QWidget(this);
+    m_splitter->setOrientation(Qt::Vertical);
+    m_splitter->addWidget(roomsListWidget);
+
+    QVBoxLayout * roomsLayout = new QVBoxLayout(roomsListWidget);
+    roomsLayout->setMargin(0);
 
     roomsList = new RoomTableView(this);
     roomsList->setSelectionBehavior(QAbstractItemView::SelectRows);
@@ -118,7 +130,7 @@
     roomsList->setSelectionMode(QAbstractItemView::SingleSelection);
     roomsList->setStyleSheet("QTableView { border-top-left-radius: 0px; }");
     roomsList->setFocusPolicy(Qt::NoFocus);
-    pageLayout->addWidget(roomsList, 200);
+    roomsLayout->addWidget(roomsList, 200);
 
     // Room filters container
 
@@ -126,9 +138,9 @@
     filtersContainer->setMaximumWidth(800);
     filtersContainer->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Fixed);
 
-    pageLayout->addSpacing(7);
-    pageLayout->addWidget(filtersContainer, 0, Qt::AlignHCenter);
-    pageLayout->addSpacing(7);
+    roomsLayout->addSpacing(7);
+    roomsLayout->addWidget(filtersContainer, 0, Qt::AlignHCenter);
+    roomsLayout->addSpacing(7);
     
     QHBoxLayout * filterLayout = new QHBoxLayout(filtersContainer);
     filterLayout->setSpacing(0);
@@ -194,7 +206,7 @@
     // Lobby chat
 
     chatWidget = new HWChatWidget(this, false);
-    pageLayout->addWidget(chatWidget, 350);
+    m_splitter->addWidget(chatWidget);
 
     CBRules->addItem(QComboBox::tr("Any"));
 
@@ -251,6 +263,8 @@
 
 void PageRoomsList::roomSelectionChanged(const QModelIndex & current, const QModelIndex & previous)
 {
+    Q_UNUSED(previous);
+
     BtnJoin->setEnabled(current.isValid());
 }
 
@@ -732,14 +746,24 @@
 
 bool PageRoomsList::restoreHeaderState()
 {
-    if (!m_gameSettings->contains("frontend/roomslist_header"))
-        return false;
-    return roomsList->horizontalHeader()->restoreState(QByteArray::fromBase64(
-        (m_gameSettings->value("frontend/roomslist_header").toByteArray())));
+    if (m_gameSettings->contains("frontend/roomslist_splitter"))
+    {
+        m_splitter->restoreState(QByteArray::fromBase64(
+            (m_gameSettings->value("frontend/roomslist_splitter").toByteArray())));
+    }
+
+    if (m_gameSettings->contains("frontend/roomslist_header"))
+    {
+        return roomsList->horizontalHeader()->restoreState(QByteArray::fromBase64(
+            (m_gameSettings->value("frontend/roomslist_header").toByteArray())));
+    } else return false;
 }
 
 void PageRoomsList::saveHeaderState()
 {
     m_gameSettings->setValue("frontend/roomslist_header",
         QString(roomsList->horizontalHeader()->saveState().toBase64()));
+
+    m_gameSettings->setValue("frontend/roomslist_splitter",
+        QString(m_splitter->saveState().toBase64()));
 }
--- a/QTfrontend/ui/page/pageroomslist.h	Thu Apr 04 14:37:19 2013 +0200
+++ b/QTfrontend/ui/page/pageroomslist.h	Tue Jun 04 22:28:12 2013 +0200
@@ -1,6 +1,6 @@
 /*
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2012 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2013 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
@@ -27,6 +27,7 @@
 class QTableView;
 class RoomsListModel;
 class QSortFilterProxyModel;
+class QSplitter;
 
 class RoomTableView : public QTableView
 {
@@ -101,6 +102,7 @@
         QSortFilterProxyModel * weaponsFilteredModel;
         QAction * showGamesInLobby;
         QAction * showGamesInProgress;
+        QSplitter * m_splitter;
 
         AmmoSchemeModel * ammoSchemeModel;
 
--- a/QTfrontend/ui/page/pagescheme.cpp	Thu Apr 04 14:37:19 2013 +0200
+++ b/QTfrontend/ui/page/pagescheme.cpp	Tue Jun 04 22:28:12 2013 +0200
@@ -1,6 +1,6 @@
 /*
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2012 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2013 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
--- a/QTfrontend/ui/page/pagescheme.h	Thu Apr 04 14:37:19 2013 +0200
+++ b/QTfrontend/ui/page/pagescheme.h	Tue Jun 04 22:28:12 2013 +0200
@@ -1,6 +1,6 @@
 /*
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2012 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2013 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
--- a/QTfrontend/ui/page/pageselectweapon.cpp	Thu Apr 04 14:37:19 2013 +0200
+++ b/QTfrontend/ui/page/pageselectweapon.cpp	Tue Jun 04 22:28:12 2013 +0200
@@ -1,6 +1,6 @@
 /*
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2012 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2013 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
--- a/QTfrontend/ui/page/pageselectweapon.h	Thu Apr 04 14:37:19 2013 +0200
+++ b/QTfrontend/ui/page/pageselectweapon.h	Tue Jun 04 22:28:12 2013 +0200
@@ -1,6 +1,6 @@
 /*
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2012 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2013 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
--- a/QTfrontend/ui/page/pagesingleplayer.cpp	Thu Apr 04 14:37:19 2013 +0200
+++ b/QTfrontend/ui/page/pagesingleplayer.cpp	Tue Jun 04 22:28:12 2013 +0200
@@ -1,6 +1,6 @@
 /*
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2012 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2013 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
--- a/QTfrontend/ui/page/pagesingleplayer.h	Thu Apr 04 14:37:19 2013 +0200
+++ b/QTfrontend/ui/page/pagesingleplayer.h	Tue Jun 04 22:28:12 2013 +0200
@@ -1,6 +1,6 @@
 /*
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2012 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2013 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
--- a/QTfrontend/ui/page/pagetraining.cpp	Thu Apr 04 14:37:19 2013 +0200
+++ b/QTfrontend/ui/page/pagetraining.cpp	Tue Jun 04 22:28:12 2013 +0200
@@ -1,6 +1,6 @@
 /*
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2012 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2013 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
@@ -118,7 +118,7 @@
     DataManager & dataMgr = DataManager::instance();
 
     // get locale
-    QSettings settings("physfs://hedgewars.ini",
+    QSettings settings(dataMgr.settingsFileName(),
                        QSettings::IniFormat);
 
     QString loc = settings.value("misc/locale", "").toString();
--- a/QTfrontend/ui/page/pagetraining.h	Thu Apr 04 14:37:19 2013 +0200
+++ b/QTfrontend/ui/page/pagetraining.h	Tue Jun 04 22:28:12 2013 +0200
@@ -1,6 +1,6 @@
 /*
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2012 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2013 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
--- a/QTfrontend/ui/page/pagevideos.cpp	Thu Apr 04 14:37:19 2013 +0200
+++ b/QTfrontend/ui/page/pagevideos.cpp	Tue Jun 04 22:28:12 2013 +0200
@@ -1,6 +1,6 @@
 /*
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2012 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2013 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
--- a/QTfrontend/ui/page/pagevideos.h	Thu Apr 04 14:37:19 2013 +0200
+++ b/QTfrontend/ui/page/pagevideos.h	Tue Jun 04 22:28:12 2013 +0200
@@ -1,6 +1,6 @@
 /*
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2012 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2013 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
--- a/QTfrontend/ui/widget/FreqSpinBox.cpp	Thu Apr 04 14:37:19 2013 +0200
+++ b/QTfrontend/ui/widget/FreqSpinBox.cpp	Tue Jun 04 22:28:12 2013 +0200
@@ -1,6 +1,6 @@
 /*
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2012 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2013 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
--- a/QTfrontend/ui/widget/FreqSpinBox.h	Thu Apr 04 14:37:19 2013 +0200
+++ b/QTfrontend/ui/widget/FreqSpinBox.h	Tue Jun 04 22:28:12 2013 +0200
@@ -1,6 +1,6 @@
 /*
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2012 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2013 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
--- a/QTfrontend/ui/widget/HistoryLineEdit.cpp	Thu Apr 04 14:37:19 2013 +0200
+++ b/QTfrontend/ui/widget/HistoryLineEdit.cpp	Tue Jun 04 22:28:12 2013 +0200
@@ -1,7 +1,7 @@
 /*
  * Hedgewars, a free turn based strategy game
  * Copyright (c) 2006-2007 Igor Ulyanov <iulyanov@gmail.com>
- * Copyright (c) 2004-2012 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2013 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
--- a/QTfrontend/ui/widget/HistoryLineEdit.h	Thu Apr 04 14:37:19 2013 +0200
+++ b/QTfrontend/ui/widget/HistoryLineEdit.h	Tue Jun 04 22:28:12 2013 +0200
@@ -1,7 +1,7 @@
 /*
  * Hedgewars, a free turn based strategy game
  * Copyright (c) 2006-2007 Igor Ulyanov <iulyanov@gmail.com>
- * Copyright (c) 2004-2012 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2013 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
--- a/QTfrontend/ui/widget/SmartLineEdit.cpp	Thu Apr 04 14:37:19 2013 +0200
+++ b/QTfrontend/ui/widget/SmartLineEdit.cpp	Tue Jun 04 22:28:12 2013 +0200
@@ -1,7 +1,7 @@
 /*
  * Hedgewars, a free turn based strategy game
  * Copyright (c) 2006-2007 Igor Ulyanov <iulyanov@gmail.com>
- * Copyright (c) 2004-2012 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2013 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
--- a/QTfrontend/ui/widget/SmartLineEdit.h	Thu Apr 04 14:37:19 2013 +0200
+++ b/QTfrontend/ui/widget/SmartLineEdit.h	Tue Jun 04 22:28:12 2013 +0200
@@ -1,7 +1,7 @@
 /*
  * Hedgewars, a free turn based strategy game
  * Copyright (c) 2006-2007 Igor Ulyanov <iulyanov@gmail.com>
- * Copyright (c) 2004-2012 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2013 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
--- a/QTfrontend/ui/widget/SquareLabel.cpp	Thu Apr 04 14:37:19 2013 +0200
+++ b/QTfrontend/ui/widget/SquareLabel.cpp	Tue Jun 04 22:28:12 2013 +0200
@@ -1,6 +1,6 @@
 /*
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2012 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2013 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
--- a/QTfrontend/ui/widget/SquareLabel.h	Thu Apr 04 14:37:19 2013 +0200
+++ b/QTfrontend/ui/widget/SquareLabel.h	Tue Jun 04 22:28:12 2013 +0200
@@ -1,6 +1,6 @@
 /*
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2012 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2013 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
--- a/QTfrontend/ui/widget/about.cpp	Thu Apr 04 14:37:19 2013 +0200
+++ b/QTfrontend/ui/widget/about.cpp	Tue Jun 04 22:28:12 2013 +0200
@@ -1,6 +1,6 @@
 /*
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2012 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2013 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
--- a/QTfrontend/ui/widget/about.h	Thu Apr 04 14:37:19 2013 +0200
+++ b/QTfrontend/ui/widget/about.h	Tue Jun 04 22:28:12 2013 +0200
@@ -1,6 +1,6 @@
 /*
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2012 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2013 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
--- a/QTfrontend/ui/widget/bgwidget.cpp	Thu Apr 04 14:37:19 2013 +0200
+++ b/QTfrontend/ui/widget/bgwidget.cpp	Tue Jun 04 22:28:12 2013 +0200
@@ -1,7 +1,7 @@
 /*
  * Hedgewars, a free turn based strategy game
  * Copyright (c) 2009 Kristian Lehmann <email@thexception.net>
- * Copyright (c) 2004-2012 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2013 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
--- a/QTfrontend/ui/widget/bgwidget.h	Thu Apr 04 14:37:19 2013 +0200
+++ b/QTfrontend/ui/widget/bgwidget.h	Tue Jun 04 22:28:12 2013 +0200
@@ -1,7 +1,7 @@
 /*
  * Hedgewars, a free turn based strategy game
  * Copyright (c) 2009 Kristian Lehmann <email@thexception.net>
- * Copyright (c) 2004-2012 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2013 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
--- a/QTfrontend/ui/widget/chatwidget.cpp	Thu Apr 04 14:37:19 2013 +0200
+++ b/QTfrontend/ui/widget/chatwidget.cpp	Tue Jun 04 22:28:12 2013 +0200
@@ -1,7 +1,7 @@
 /*
  * Hedgewars, a free turn based strategy game
  * Copyright (c) 2007 Igor Ulyanov <iulyanov@gmail.com>
- * Copyright (c) 2004-2012 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2013 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
@@ -295,9 +295,9 @@
 
 void HWChatWidget::linkClicked(const QUrl & link)
 {
-    if (link.scheme() == "http")
+    if ((link.scheme() == "http") or (link.scheme() == "https"))
         QDesktopServices::openUrl(link);
-    if (link.scheme() == "hwnick")
+    else if (link.scheme() == "hwnick")
     {
         // decode nick
         QString nick = QString::fromUtf8(QByteArray::fromBase64(link.encodedQuery()));
@@ -368,15 +368,43 @@
     return QString("<span class=\"nick\">%1</span>").arg(Qt::escape(nickname));
 }
 
+const QRegExp HWChatWidget::URLREGEXP = QRegExp("(http(s)?://)?(www\\.)?((hedgewars\\.org|code\\.google\\.com|googlecode\\.com|hh\\.unit22\\.org)(/[^ ]*)?)");
 
-void HWChatWidget::onChatString(const QString& str)
+bool HWChatWidget::containsHighlight(const QString & sender, const QString & message)
 {
-    onChatString("", str);
+    if ((sender != m_userNick) && (!m_userNick.isEmpty()))
+    {
+        QString lcStr = message.toLower();
+
+        foreach (const QRegExp & hl, m_highlights)
+        {
+            if (lcStr.contains(hl))
+                return true;
+        }
+    }
+    return false;
 }
 
-const QRegExp HWChatWidget::URLREGEXP = QRegExp("(http://)?(www\\.)?(hedgewars\\.org(/[^ ]*)?)");
+QString HWChatWidget::messageToHTML(const QString & message)
+{
+    QString formattedStr = Qt::escape(message);
+    // link some urls
+    formattedStr = formattedStr.replace(URLREGEXP, "<a href=\"http\\2://\\4\">\\4</a>");
+    return formattedStr;
+}
 
-void HWChatWidget::onChatString(const QString& nick, const QString& str)
+void HWChatWidget::onChatAction(const QString & nick, const QString & action)
+{
+    printChatString(nick, "* " + linkedNick(nick) + " " + messageToHTML(action), "Action", containsHighlight(nick, action));
+}
+
+void HWChatWidget::onChatMessage(const QString & nick, const QString & message)
+{
+    printChatString(nick, linkedNick(nick) + ": " + messageToHTML(message), "Chat", containsHighlight(nick, message));
+}
+
+void HWChatWidget::printChatString(
+    const QString & nick, const QString & str, const QString & cssClassPart, bool highlight)
 {
     QSortFilterProxyModel * playersSortFilterModel = qobject_cast<QSortFilterProxyModel *>(chatNicks->model());
     if(!playersSortFilterModel)
@@ -387,58 +415,15 @@
     if(!players)
         return;
 
-    if (!nick.isEmpty())
-    {
-        // don't show chat lines that are from ignored nicks
-        if (players->isFlagSet(nick, PlayersListModel::Ignore))
-            return;
-    }
+    // don't show chat lines that are from ignored nicks
+    if (players->isFlagSet(nick, PlayersListModel::Ignore))
+        return;
 
     bool isFriend = (!nick.isEmpty()) && players->isFlagSet(nick, PlayersListModel::Friend);
 
-    QString formattedStr = Qt::escape(str.mid(1));
-    // make hedgewars.org urls actual links
-    formattedStr = formattedStr.replace(URLREGEXP, "<a href=\"http://\\3\">\\3</a>");
-
-    // link the nick
-    if(!nick.isEmpty())
-        formattedStr.replace("|nick|", linkedNick(nick));
-
-    QString cssClass("msg_UserChat");
+    QString cssClass = (isFriend ? "msg_Friend" : "msg_User") + cssClassPart;
 
-    // check first character for color code and set color properly
-    char c = str[0].toAscii();
-    switch (c)
-    {
-        case 3:
-            cssClass = (isFriend ? "msg_FriendJoin" : "msg_UserJoin");
-            break;
-        case 2:
-            cssClass = (isFriend ? "msg_FriendAction" : "msg_UserAction");
-            break;
-        default:
-            if (isFriend)
-                cssClass = "msg_FriendChat";
-    }
-
-    bool isHL = false;
-
-    if ((c != 3) && (!nick.isEmpty()) &&
-            (nick != m_userNick) && (!m_userNick.isEmpty()))
-    {
-        QString lcStr = str.toLower();
-
-        foreach (const QRegExp & hl, m_highlights)
-        {
-            if (lcStr.contains(hl))
-            {
-                isHL = true;
-                break;
-            }
-        }
-    }
-
-    addLine(cssClass, formattedStr, isHL);
+    addLine(cssClass, str, highlight);
 }
 
 void HWChatWidget::addLine(const QString & cssClass, QString line, bool isHighlight)
@@ -513,6 +498,9 @@
 
     emit nickCountUpdate(chatNicks->model()->rowCount());
 
+    if (!isIgnored)
+        printChatString(nick, QString("*** ") + tr("%1 has joined").arg(linkedNick(nick)), "Join", false);
+
     if (notifyNick && notify && (m_helloSounds.size() > 0))
     {
         SDLInteraction::instance().playSoundFile(
@@ -522,9 +510,19 @@
 
 void HWChatWidget::nickRemoved(const QString& nick)
 {
+    nickRemoved(nick, "");
+}
+
+void HWChatWidget::nickRemoved(const QString& nick, const QString & message)
+{
     chatEditLine->removeNickname(nick);
 
     emit nickCountUpdate(chatNicks->model()->rowCount());
+
+    if (message.isEmpty())
+        printChatString(nick, QString("*** ") + tr("%1 has left").arg(linkedNick(nick)), "Leave", false);
+    else
+        printChatString(nick, QString("*** ") + tr("%1 has left (%2)").arg(linkedNick(nick)).arg(messageToHTML(message)), "Leave", false);
 }
 
 void HWChatWidget::clear()
@@ -583,6 +581,19 @@
     }
 }
 
+void HWChatWidget::onPlayerInfo(
+            const QString & nick,
+            const QString & ip,
+            const QString & version,
+            const QString & roomInfo)
+{
+    addLine("msg_PlayerInfo", QString(" >>> %1 - <span class=\"ipaddress\">%2</span> <span class=\"version\">%3</span> <span class=\"location\">%4</span>")
+        .arg(linkedNick(nick))
+        .arg(ip)
+        .arg(version)
+        .arg(roomInfo));
+}
+
 void HWChatWidget::onKick()
 {
     QModelIndexList mil = chatNicks->selectionModel()->selectedRows();
--- a/QTfrontend/ui/widget/chatwidget.h	Thu Apr 04 14:37:19 2013 +0200
+++ b/QTfrontend/ui/widget/chatwidget.h	Tue Jun 04 22:28:12 2013 +0200
@@ -1,7 +1,7 @@
 /*
  * Hedgewars, a free turn based strategy game
  * Copyright (c) 2007 Igor Ulyanov <iulyanov@gmail.com>
- * Copyright (c) 2004-2012 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2013 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
@@ -86,14 +86,39 @@
         void beforeContentAdd();
         void afterContentAdd();
 
+        /**
+         * @brief Checks whether the message contains a highlight.
+         * @param sender the sender of the message
+         * @param message the message
+         * @return true if the sender is somebody else and the message contains a highlight, otherwise false
+         */
+        bool containsHighlight(const QString & sender, const QString & message);
+        /**
+         * @brief Escapes HTML chars in the message and converts URls to HTML links.
+         * @param message the message to be converted to HTML
+         * @return the HTML message
+         */
+        QString messageToHTML(const QString & message);
+        void printChatString(
+            const QString & nick,
+            const QString & str,
+            const QString & cssClassPart,
+            bool highlight);
+
     public slots:
-        void onChatString(const QString& str);
-        void onChatString(const QString& nick, const QString& str);
+        void onChatAction(const QString & nick, const QString & str);
+        void onChatMessage(const QString & nick, const QString & str);
         void onServerMessage(const QString& str);
         void nickAdded(const QString& nick, bool notifyNick);
         void nickRemoved(const QString& nick);
+        void nickRemoved(const QString& nick, const QString& message);
         void clear();
         void adminAccess(bool);
+        void onPlayerInfo(
+            const QString & nick,
+            const QString & ip,
+            const QString & version,
+            const QString & roomInfo);
 
     signals:
         void chatLine(const QString& str);
--- a/QTfrontend/ui/widget/databrowser.cpp	Thu Apr 04 14:37:19 2013 +0200
+++ b/QTfrontend/ui/widget/databrowser.cpp	Tue Jun 04 22:28:12 2013 +0200
@@ -1,6 +1,6 @@
 /*
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2012 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2013 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
--- a/QTfrontend/ui/widget/databrowser.h	Thu Apr 04 14:37:19 2013 +0200
+++ b/QTfrontend/ui/widget/databrowser.h	Tue Jun 04 22:28:12 2013 +0200
@@ -1,6 +1,6 @@
 /*
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2012 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2013 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
--- a/QTfrontend/ui/widget/drawmapwidget.cpp	Thu Apr 04 14:37:19 2013 +0200
+++ b/QTfrontend/ui/widget/drawmapwidget.cpp	Tue Jun 04 22:28:12 2013 +0200
@@ -1,6 +1,6 @@
 /*
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2012 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2013 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
--- a/QTfrontend/ui/widget/drawmapwidget.h	Thu Apr 04 14:37:19 2013 +0200
+++ b/QTfrontend/ui/widget/drawmapwidget.h	Tue Jun 04 22:28:12 2013 +0200
@@ -1,6 +1,6 @@
 /*
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2012 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2013 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
--- a/QTfrontend/ui/widget/feedbackdialog.cpp	Thu Apr 04 14:37:19 2013 +0200
+++ b/QTfrontend/ui/widget/feedbackdialog.cpp	Tue Jun 04 22:28:12 2013 +0200
@@ -1,6 +1,6 @@
 /*
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2012 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2013 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
@@ -44,6 +44,9 @@
 
 #ifdef Q_WS_MAC
 #include <sys/sysctl.h>
+#ifndef _SC_NPROCESSORS_ONLN
+#define _SC_NPROCESSORS_ONLN 58
+#endif
 #endif
 
 #include <stdint.h>
@@ -84,10 +87,10 @@
         "<h4>%3 <a href=\"http://code.google.com/p/hedgewars/wiki/KnownBugs\">known bugs</a><h4>"
         "<h4>%4<h4>"
         "</div>")
-        .arg(tr("Please give us feedback!"))
+        .arg(tr("Send us feedback!"))
         .arg(tr("We are always happy about suggestions, ideas, or bug reports."))
-        .arg(tr("If you found a bug, you can see if it's already known here (english): "))
-        .arg(tr("Your email address is optional, but we may want to contact you."))
+        .arg(tr("If you found a bug, you can see if it's already been reported here: "))
+        .arg(tr("Your email address is optional, but necessary if you want us to get back at you."))
     );
     info->setOpenExternalLinks(true);
     pageLayout->addWidget(info);
@@ -244,12 +247,14 @@
     MEMORYSTATUSEX status;
     status.dwLength = sizeof(status);
     GlobalMemoryStatusEx(&status);
-    total_ram += QString::number(status.ullTotalPhys) + "\n";
+    total_ram += QString::number(status.ullTotalPhys/1024/1024) + " MB\n";
 
-    switch(QSysInfo::WinVersion())
+    switch(QSysInfo::windowsVersion())
     {
+        case QSysInfo::WV_NT: os_version += "Windows NT\n"; break;
         case QSysInfo::WV_2000: os_version += "Windows 2000\n"; break;
         case QSysInfo::WV_XP: os_version += "Windows XP\n"; break;
+        case QSysInfo::WV_2003: os_version += "Windows Server 2003\n"; break;
         case QSysInfo::WV_VISTA: os_version += "Windows Vista\n"; break;
         case QSysInfo::WV_WINDOWS7: os_version += "Windows 7\n"; break;
         //case QSysInfo::WV_WINDOWS8: os_version += "Windows 8\n"; break; //QT 5+
@@ -266,8 +271,8 @@
 #else
          available_pages = 0,
 #endif*/
-         page_size = sysconf(_SC_PAGE_SIZE);
-    total_ram += QString::number(pages * page_size) + "\n";
+    page_size = sysconf(_SC_PAGE_SIZE);
+    total_ram += QString::number(pages*page_size/1024/1024) + " MB\n";
     os_version += "GNU/Linux or BSD\n";
 #endif
 
@@ -281,7 +286,7 @@
     delete process;
 #endif
 
-#if defined(__i386__) || defined(__x86_64__)
+#if (!defined(Q_WS_MACX) && defined(__i386__)) || defined(__x86_64__)
     // cpu info
     quint32 registers[4];
     quint32 i;
@@ -456,7 +461,7 @@
     QString email = this->email->text();
     QString captchaCode = this->captcha_code->text();
     QString captchaID = QString::number(this->captchaID);
-    QString version = "HedgewarsFoundation-Hedgewars-v" + *cVersionString + "_r" + 
+    QString version = "HedgewarsFoundation-Hedgewars-v" + *cVersionString + "_r" +
                        *cRevisionString + "|" + *cHashString;
 
     if (summary.isEmpty() || description.isEmpty())
--- a/QTfrontend/ui/widget/feedbackdialog.h	Thu Apr 04 14:37:19 2013 +0200
+++ b/QTfrontend/ui/widget/feedbackdialog.h	Tue Jun 04 22:28:12 2013 +0200
@@ -1,6 +1,6 @@
 /*
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2012 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2013 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
--- a/QTfrontend/ui/widget/fpsedit.cpp	Thu Apr 04 14:37:19 2013 +0200
+++ b/QTfrontend/ui/widget/fpsedit.cpp	Tue Jun 04 22:28:12 2013 +0200
@@ -1,6 +1,6 @@
 /*
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2012 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2013 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
--- a/QTfrontend/ui/widget/fpsedit.h	Thu Apr 04 14:37:19 2013 +0200
+++ b/QTfrontend/ui/widget/fpsedit.h	Tue Jun 04 22:28:12 2013 +0200
@@ -1,6 +1,6 @@
 /*
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2012 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2013 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
--- a/QTfrontend/ui/widget/frameTeam.cpp	Thu Apr 04 14:37:19 2013 +0200
+++ b/QTfrontend/ui/widget/frameTeam.cpp	Tue Jun 04 22:28:12 2013 +0200
@@ -1,7 +1,7 @@
 /*
  * Hedgewars, a free turn based strategy game
  * Copyright (c) 2006-2007 Igor Ulyanov <iulyanov@gmail.com>
- * Copyright (c) 2004-2012 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2013 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
--- a/QTfrontend/ui/widget/frameTeam.h	Thu Apr 04 14:37:19 2013 +0200
+++ b/QTfrontend/ui/widget/frameTeam.h	Tue Jun 04 22:28:12 2013 +0200
@@ -1,7 +1,7 @@
 /*
  * Hedgewars, a free turn based strategy game
  * Copyright (c) 2006-2007 Igor Ulyanov <iulyanov@gmail.com>
- * Copyright (c) 2004-2012 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2013 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
--- a/QTfrontend/ui/widget/gamecfgwidget.cpp	Thu Apr 04 14:37:19 2013 +0200
+++ b/QTfrontend/ui/widget/gamecfgwidget.cpp	Tue Jun 04 22:28:12 2013 +0200
@@ -1,6 +1,6 @@
 /*
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2012 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2013 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
@@ -599,7 +599,7 @@
             GameSchemes->setEnabled(false);
             GameSchemes->setCurrentIndex(GameSchemes->findText("Default"));
         }
-        else
+        else if (m_master)
         {
             GameSchemes->setEnabled(true);
             int num = GameSchemes->findText(scheme);
@@ -614,7 +614,7 @@
             WeaponsName->setEnabled(false);
             WeaponsName->setCurrentIndex(WeaponsName->findText("Default"));
         }
-        else
+        else if (m_master)
         {
             WeaponsName->setEnabled(true);
             int num = WeaponsName->findText(weapons);
--- a/QTfrontend/ui/widget/gamecfgwidget.h	Thu Apr 04 14:37:19 2013 +0200
+++ b/QTfrontend/ui/widget/gamecfgwidget.h	Tue Jun 04 22:28:12 2013 +0200
@@ -1,6 +1,6 @@
 /*
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2012 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2013 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
--- a/QTfrontend/ui/widget/hatbutton.cpp	Thu Apr 04 14:37:19 2013 +0200
+++ b/QTfrontend/ui/widget/hatbutton.cpp	Tue Jun 04 22:28:12 2013 +0200
@@ -1,6 +1,6 @@
 /*
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2012 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2013 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
--- a/QTfrontend/ui/widget/hatbutton.h	Thu Apr 04 14:37:19 2013 +0200
+++ b/QTfrontend/ui/widget/hatbutton.h	Tue Jun 04 22:28:12 2013 +0200
@@ -1,6 +1,6 @@
 /*
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2012 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2013 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
--- a/QTfrontend/ui/widget/hatprompt.cpp	Thu Apr 04 14:37:19 2013 +0200
+++ b/QTfrontend/ui/widget/hatprompt.cpp	Tue Jun 04 22:28:12 2013 +0200
@@ -1,6 +1,6 @@
 /*
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2012 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2013 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
--- a/QTfrontend/ui/widget/hatprompt.h	Thu Apr 04 14:37:19 2013 +0200
+++ b/QTfrontend/ui/widget/hatprompt.h	Tue Jun 04 22:28:12 2013 +0200
@@ -1,6 +1,6 @@
 /*
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2012 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2013 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
--- a/QTfrontend/ui/widget/hedgehogerWidget.cpp	Thu Apr 04 14:37:19 2013 +0200
+++ b/QTfrontend/ui/widget/hedgehogerWidget.cpp	Tue Jun 04 22:28:12 2013 +0200
@@ -1,7 +1,7 @@
 /*
  * Hedgewars, a free turn based strategy game
  * Copyright (c) 2006-2008 Ulyanov Igor <iulyanov@gmail.com>
- * Copyright (c) 2004-2012 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2013 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
--- a/QTfrontend/ui/widget/hedgehogerWidget.h	Thu Apr 04 14:37:19 2013 +0200
+++ b/QTfrontend/ui/widget/hedgehogerWidget.h	Tue Jun 04 22:28:12 2013 +0200
@@ -1,7 +1,7 @@
 /*
  * Hedgewars, a free turn based strategy game
  * Copyright (c) 2006-2007 Ulyanov Igor <iulyanov@gmail.com>
- * Copyright (c) 2004-2012 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2013 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
--- a/QTfrontend/ui/widget/igbox.cpp	Thu Apr 04 14:37:19 2013 +0200
+++ b/QTfrontend/ui/widget/igbox.cpp	Tue Jun 04 22:28:12 2013 +0200
@@ -1,6 +1,6 @@
 /*
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2012 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2013 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
--- a/QTfrontend/ui/widget/igbox.h	Thu Apr 04 14:37:19 2013 +0200
+++ b/QTfrontend/ui/widget/igbox.h	Tue Jun 04 22:28:12 2013 +0200
@@ -1,6 +1,6 @@
 /*
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2012 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2013 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
--- a/QTfrontend/ui/widget/keybinder.cpp	Thu Apr 04 14:37:19 2013 +0200
+++ b/QTfrontend/ui/widget/keybinder.cpp	Tue Jun 04 22:28:12 2013 +0200
@@ -1,6 +1,6 @@
 /*
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2012 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2013 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
--- a/QTfrontend/ui/widget/keybinder.h	Thu Apr 04 14:37:19 2013 +0200
+++ b/QTfrontend/ui/widget/keybinder.h	Tue Jun 04 22:28:12 2013 +0200
@@ -1,6 +1,6 @@
 /*
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2012 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2013 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
--- a/QTfrontend/ui/widget/lineeditcursor.cpp	Thu Apr 04 14:37:19 2013 +0200
+++ b/QTfrontend/ui/widget/lineeditcursor.cpp	Tue Jun 04 22:28:12 2013 +0200
@@ -1,6 +1,6 @@
 /*
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2012 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2013 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
--- a/QTfrontend/ui/widget/lineeditcursor.h	Thu Apr 04 14:37:19 2013 +0200
+++ b/QTfrontend/ui/widget/lineeditcursor.h	Tue Jun 04 22:28:12 2013 +0200
@@ -1,6 +1,6 @@
 /*
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2012 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2013 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
--- a/QTfrontend/ui/widget/mapContainer.cpp	Thu Apr 04 14:37:19 2013 +0200
+++ b/QTfrontend/ui/widget/mapContainer.cpp	Tue Jun 04 22:28:12 2013 +0200
@@ -75,8 +75,11 @@
 
     /* Layouts */
 
-    QHBoxLayout * typeLayout = new QHBoxLayout();
-    QHBoxLayout * seedLayout = new QHBoxLayout();
+    QWidget * topWidget = new QWidget();
+    QHBoxLayout * topLayout = new QHBoxLayout(topWidget);
+    topWidget->setContentsMargins(0, 0, 0, 0);
+    topLayout->setContentsMargins(0, 0, 0, 0);
+
     QHBoxLayout * twoColumnLayout = new QHBoxLayout();
     QVBoxLayout * leftLayout = new QVBoxLayout();
     QVBoxLayout * rightLayout = new QVBoxLayout();
@@ -84,15 +87,13 @@
     twoColumnLayout->addStretch(1);
     twoColumnLayout->addLayout(rightLayout, 0);
     QVBoxLayout * drawnControls = new QVBoxLayout();
-    leftLayout->addLayout(typeLayout, 0);
-    rightLayout->addLayout(seedLayout, 0);
 
     /* Map type combobox */
 
-    typeLayout->setSpacing(10);
-    typeLayout->addWidget(new QLabel(tr("Map type:")), 0);
+    topLayout->setSpacing(10);
+    topLayout->addWidget(new QLabel(tr("Map type:")), 0);
     cType = new QComboBox(this);
-    typeLayout->addWidget(cType, 1);
+    topLayout->addWidget(cType, 1);
     cType->insertItem(0, tr("Image map"), MapModel::StaticMap);
     cType->insertItem(1, tr("Mission map"), MapModel::MissionMap);
     cType->insertItem(2, tr("Hand-drawn"), MapModel::HandDrawnMap);
@@ -103,7 +104,7 @@
 
     /* Randomize button */
 
-    seedLayout->addStretch(1);
+    topLayout->addStretch(1);
     const QIcon& lp = QIcon(":/res/dice.png");
     QSize sz = lp.actualSize(QSize(65535, 65535));
     btnRandomize = new QPushButton();
@@ -117,15 +118,16 @@
     m_childWidgets << btnRandomize;
     btnRandomize->setStyleSheet("padding: 5px;");
     btnRandomize->setFixedHeight(cType->height());
-    seedLayout->addWidget(btnRandomize, 1);
+    topLayout->addWidget(btnRandomize, 1);
 
     /* Seed button */
+
     btnSeed = new QPushButton(parentWidget()->parentWidget());
     btnSeed->setText(tr("Seed"));
     btnSeed->setStyleSheet("padding: 5px;");
     btnSeed->setFixedHeight(cType->height());
     connect(btnSeed, SIGNAL(clicked()), this, SLOT(showSeedPrompt()));
-    seedLayout->addWidget(btnSeed, 0);
+    topLayout->addWidget(btnSeed, 0);
 
     /* Map preview label */
 
@@ -137,6 +139,7 @@
 
     mapPreview = new QPushButton(this);
     mapPreview->setObjectName("mapPreview");
+    mapPreview->setFlat(true);
     mapPreview->setFixedSize(256, 128);
     mapPreview->setContentsMargins(0, 0, 0, 0);
     leftLayout->addWidget(mapPreview, 0);
@@ -240,13 +243,15 @@
     /* Theme chooser */
 
     btnTheme = new QPushButton();
+    btnTheme->setFlat(true);
     connect(btnTheme, SIGNAL(clicked()), this, SLOT(showThemePrompt()));
     m_childWidgets << btnTheme;
     bottomLeftLayout->addWidget(btnTheme, 0);
 
     /* Add everything to main layout */
 
-    mainLayout.addLayout(twoColumnLayout, 0);
+    mainLayout.addWidget(topWidget, 0);
+    mainLayout.addLayout(twoColumnLayout, 1);
 
     /* Set defaults */
 
@@ -463,7 +468,7 @@
 void HWMapContainer::setRandomMap()
 {
     if (!m_master) return;
-    
+
     setRandomSeed();
     switch(m_mapInfo.type)
     {
@@ -796,7 +801,7 @@
     btnTheme->setFixedHeight(64);
     btnTheme->setIconSize(iconSize);
     btnTheme->setIcon(icon);
-    btnTheme->setText(tr("Theme: ") + current.data(Qt::DisplayRole).toString());
+    btnTheme->setText(tr("Theme: %1").arg(current.data(Qt::DisplayRole).toString()));
     updateThemeButtonSize();
 }
 
@@ -927,5 +932,5 @@
 
     m_theme = name;
     btnTheme->setIcon(QIcon());
-    btnTheme->setText(tr("Theme: ") + name);
+    btnTheme->setText(tr("Theme: %1").arg(name));
 }
--- a/QTfrontend/ui/widget/mapContainer.h	Thu Apr 04 14:37:19 2013 +0200
+++ b/QTfrontend/ui/widget/mapContainer.h	Tue Jun 04 22:28:12 2013 +0200
@@ -1,7 +1,7 @@
 /*
  * Hedgewars, a free turn based strategy game
  * Copyright (c) 2006-2007 Igor Ulyanov <iulyanov@gmail.com>
- * Copyright (c) 2004-2012 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2013 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
--- a/QTfrontend/ui/widget/qpushbuttonwithsound.cpp	Thu Apr 04 14:37:19 2013 +0200
+++ b/QTfrontend/ui/widget/qpushbuttonwithsound.cpp	Tue Jun 04 22:28:12 2013 +0200
@@ -1,6 +1,6 @@
 /*
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2012 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2013 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
--- a/QTfrontend/ui/widget/qpushbuttonwithsound.h	Thu Apr 04 14:37:19 2013 +0200
+++ b/QTfrontend/ui/widget/qpushbuttonwithsound.h	Tue Jun 04 22:28:12 2013 +0200
@@ -1,6 +1,6 @@
 /*
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2012 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2013 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
--- a/QTfrontend/ui/widget/roomnameprompt.cpp	Thu Apr 04 14:37:19 2013 +0200
+++ b/QTfrontend/ui/widget/roomnameprompt.cpp	Tue Jun 04 22:28:12 2013 +0200
@@ -1,6 +1,6 @@
 /*
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2012 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2013 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
--- a/QTfrontend/ui/widget/roomnameprompt.h	Thu Apr 04 14:37:19 2013 +0200
+++ b/QTfrontend/ui/widget/roomnameprompt.h	Tue Jun 04 22:28:12 2013 +0200
@@ -1,6 +1,6 @@
 /*
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2012 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2013 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
--- a/QTfrontend/ui/widget/seedprompt.cpp	Thu Apr 04 14:37:19 2013 +0200
+++ b/QTfrontend/ui/widget/seedprompt.cpp	Tue Jun 04 22:28:12 2013 +0200
@@ -1,6 +1,6 @@
 /*
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2012 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2013 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
--- a/QTfrontend/ui/widget/seedprompt.h	Thu Apr 04 14:37:19 2013 +0200
+++ b/QTfrontend/ui/widget/seedprompt.h	Tue Jun 04 22:28:12 2013 +0200
@@ -1,6 +1,6 @@
 /*
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2012 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2013 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
--- a/QTfrontend/ui/widget/selectWeapon.cpp	Thu Apr 04 14:37:19 2013 +0200
+++ b/QTfrontend/ui/widget/selectWeapon.cpp	Tue Jun 04 22:28:12 2013 +0200
@@ -1,7 +1,7 @@
 /*
  * Hedgewars, a free turn based strategy game
  * Copyright (c) 2006-2008 Igor Ulyanov <iulyanov@gmail.com>
- * Copyright (c) 2004-2012 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2013 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
--- a/QTfrontend/ui/widget/selectWeapon.h	Thu Apr 04 14:37:19 2013 +0200
+++ b/QTfrontend/ui/widget/selectWeapon.h	Tue Jun 04 22:28:12 2013 +0200
@@ -1,7 +1,7 @@
 /*
  * Hedgewars, a free turn based strategy game
  * Copyright (c) 2006-2008 Igor Ulyanov <iulyanov@gmail.com>
- * Copyright (c) 2004-2012 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2013 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
--- a/QTfrontend/ui/widget/teamselect.cpp	Thu Apr 04 14:37:19 2013 +0200
+++ b/QTfrontend/ui/widget/teamselect.cpp	Tue Jun 04 22:28:12 2013 +0200
@@ -1,7 +1,7 @@
 /*
  * Hedgewars, a free turn based strategy game
  * Copyright (c) 2006-2007 Igor Ulyanov <iulyanov@gmail.com>
- * Copyright (c) 2004-2012 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2013 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
@@ -38,7 +38,9 @@
         curPlayingTeams.push_back(team);
         connect(framePlaying->getTeamWidget(team), SIGNAL(hhNmChanged(const HWTeam&)),
                 this, SLOT(hhNumChanged(const HWTeam&)));
+        blockSignals(true);
         dynamic_cast<TeamShowWidget*>(framePlaying->getTeamWidget(team))->hhNumChanged();
+        blockSignals(false);
         connect(framePlaying->getTeamWidget(team), SIGNAL(teamColorChanged(const HWTeam&)),
                 this, SLOT(proxyTeamColorChanged(const HWTeam&)));
     }
@@ -210,7 +212,9 @@
     {
         connect(framePlaying->getTeamWidget(team), SIGNAL(hhNmChanged(const HWTeam&)),
                 this, SLOT(hhNumChanged(const HWTeam&)));
+        blockSignals(true);
         dynamic_cast<TeamShowWidget*>(framePlaying->getTeamWidget(team))->hhNumChanged();
+        blockSignals(false);
         connect(framePlaying->getTeamWidget(team), SIGNAL(teamColorChanged(const HWTeam&)),
                 this, SLOT(proxyTeamColorChanged(const HWTeam&)));
         emit teamColorChanged(((TeamShowWidget*)framePlaying->getTeamWidget(team))->getTeam());
@@ -258,12 +262,16 @@
 
     // Add notice about number of required teams.
     numTeamNotice = new QLabel(tr("At least two teams are required to play!"));
+    numTeamNotice->setWordWrap(true);
     mainLayout.addWidget(numTeamNotice);
 
     QPalette p;
     p.setColor(QPalette::Window, QColor(0x00, 0x00, 0x00));
     addScrArea(framePlaying, p.color(QPalette::Window).light(105), 150);
     addScrArea(frameDontPlaying, p.color(QPalette::Window).dark(105), 0);
+
+    this->setSizePolicy(QSizePolicy::Preferred, QSizePolicy::Expanding);
+    this->setMinimumWidth(200);
 }
 
 void TeamSelWidget::setAcceptOuter(bool acceptOuter)
--- a/QTfrontend/ui/widget/teamselect.h	Thu Apr 04 14:37:19 2013 +0200
+++ b/QTfrontend/ui/widget/teamselect.h	Tue Jun 04 22:28:12 2013 +0200
@@ -1,7 +1,7 @@
 /*
  * Hedgewars, a free turn based strategy game
  * Copyright (c) 2006-2007 Igor Ulyanov <iulyanov@gmail.com>
- * Copyright (c) 2004-2012 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2013 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
--- a/QTfrontend/ui/widget/teamselhelper.cpp	Thu Apr 04 14:37:19 2013 +0200
+++ b/QTfrontend/ui/widget/teamselhelper.cpp	Tue Jun 04 22:28:12 2013 +0200
@@ -1,7 +1,7 @@
 /*
  * Hedgewars, a free turn based strategy game
  * Copyright (c) 2006-2007 Igor Ulyanov <iulyanov@gmail.com>
- * Copyright (c) 2004-2012 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2013 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
--- a/QTfrontend/ui/widget/teamselhelper.h	Thu Apr 04 14:37:19 2013 +0200
+++ b/QTfrontend/ui/widget/teamselhelper.h	Tue Jun 04 22:28:12 2013 +0200
@@ -1,7 +1,7 @@
 /*
  * Hedgewars, a free turn based strategy game
  * Copyright (c) 2006-2007 Igor Ulyanov <iulyanov@gmail.com>
- * Copyright (c) 2004-2012 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2013 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
--- a/QTfrontend/ui/widget/themeprompt.cpp	Thu Apr 04 14:37:19 2013 +0200
+++ b/QTfrontend/ui/widget/themeprompt.cpp	Tue Jun 04 22:28:12 2013 +0200
@@ -1,6 +1,6 @@
 /*
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2012 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2013 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
--- a/QTfrontend/ui/widget/themeprompt.h	Thu Apr 04 14:37:19 2013 +0200
+++ b/QTfrontend/ui/widget/themeprompt.h	Tue Jun 04 22:28:12 2013 +0200
@@ -1,6 +1,6 @@
 /*
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2012 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2013 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
--- a/QTfrontend/ui/widget/togglebutton.cpp	Thu Apr 04 14:37:19 2013 +0200
+++ b/QTfrontend/ui/widget/togglebutton.cpp	Tue Jun 04 22:28:12 2013 +0200
@@ -1,7 +1,7 @@
 /*
  * Hedgewars, a free turn based strategy game
  * Copyright (c) 2009 Kristian Lehmann <email@thexception.net>
- * Copyright (c) 2004-2012 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2013 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
--- a/QTfrontend/ui/widget/togglebutton.h	Thu Apr 04 14:37:19 2013 +0200
+++ b/QTfrontend/ui/widget/togglebutton.h	Tue Jun 04 22:28:12 2013 +0200
@@ -1,7 +1,7 @@
 /*
  * Hedgewars, a free turn based strategy game
  * Copyright (c) 2009 Kristian Lehmann <email@thexception.net>
- * Copyright (c) 2004-2012 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2013 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
--- a/QTfrontend/ui/widget/vertScrollArea.cpp	Thu Apr 04 14:37:19 2013 +0200
+++ b/QTfrontend/ui/widget/vertScrollArea.cpp	Tue Jun 04 22:28:12 2013 +0200
@@ -1,7 +1,7 @@
 /*
  * Hedgewars, a free turn based strategy game
  * Copyright (c) 2006 Igor Ulyanov <iulyanov@gmail.com>
- * Copyright (c) 2004-2012 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2013 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
--- a/QTfrontend/ui/widget/vertScrollArea.h	Thu Apr 04 14:37:19 2013 +0200
+++ b/QTfrontend/ui/widget/vertScrollArea.h	Tue Jun 04 22:28:12 2013 +0200
@@ -1,7 +1,7 @@
 /*
  * Hedgewars, a free turn based strategy game
  * Copyright (c) 2006 Igor Ulyanov <iulyanov@gmail.com>
- * Copyright (c) 2004-2012 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2013 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
--- a/QTfrontend/ui/widget/weaponItem.cpp	Thu Apr 04 14:37:19 2013 +0200
+++ b/QTfrontend/ui/widget/weaponItem.cpp	Tue Jun 04 22:28:12 2013 +0200
@@ -1,7 +1,7 @@
 /*
  * Hedgewars, a free turn based strategy game
  * Copyright (c) 2006-2008 Igor Ulyanov <iulyanov@gmail.com>
- * Copyright (c) 2004-2012 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2013 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
--- a/QTfrontend/ui/widget/weaponItem.h	Thu Apr 04 14:37:19 2013 +0200
+++ b/QTfrontend/ui/widget/weaponItem.h	Tue Jun 04 22:28:12 2013 +0200
@@ -1,7 +1,7 @@
 /*
  * Hedgewars, a free turn based strategy game
  * Copyright (c) 2006-2008 Igor Ulyanov <iulyanov@gmail.com>
- * Copyright (c) 2004-2012 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2013 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
--- a/QTfrontend/ui_hwform.cpp	Thu Apr 04 14:37:19 2013 +0200
+++ b/QTfrontend/ui_hwform.cpp	Tue Jun 04 22:28:12 2013 +0200
@@ -1,6 +1,6 @@
 /*
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2012 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2013 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
@@ -56,7 +56,7 @@
     HWForm->setMinimumSize(QSize(720, 450));
     QString title = QMainWindow::tr("Hedgewars %1").arg(*cVersionString);
 #ifdef DEBUG
-    title += QMainWindow::tr("-r%1 (%2)").arg(*cRevisionString, *cHashString);
+    title += QString("-r%1 (%2)").arg(*cRevisionString, *cHashString);
 #endif
     HWForm->setWindowTitle(title);
     centralWidget = new QWidget(HWForm);
--- a/QTfrontend/ui_hwform.h	Thu Apr 04 14:37:19 2013 +0200
+++ b/QTfrontend/ui_hwform.h	Tue Jun 04 22:28:12 2013 +0200
@@ -1,6 +1,6 @@
 /*
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2012 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2013 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
--- a/QTfrontend/util/DataManager.cpp	Thu Apr 04 14:37:19 2013 +0200
+++ b/QTfrontend/util/DataManager.cpp	Tue Jun 04 22:28:12 2013 +0200
@@ -1,6 +1,6 @@
 /*
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2012 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2013 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
@@ -25,6 +25,8 @@
 #include <QStringList>
 #include <QStandardItemModel>
 #include <QFileInfo>
+#include <QSettings>
+#include <QColor>
 
 #include "hwconsts.h"
 #include "HWApplication.h"
@@ -162,6 +164,41 @@
     return m_bindsModel;
 }
 
+QString DataManager::settingsFileName()
+{
+    if(m_settingsFileName.isEmpty())
+    {
+        QFile settingsFile("physfs://settings.ini");
+
+        if(!settingsFile.exists())
+        {
+            QFile oldSettingsFile("physfs://hedgewars.ini");
+
+            settingsFile.open(QFile::WriteOnly);
+            settingsFile.close();
+
+            if(oldSettingsFile.exists())
+            {
+                QSettings sOld(oldSettingsFile.fileName(), QSettings::IniFormat);
+                QSettings sNew(settingsFile.fileName(), QSettings::IniFormat);
+                sNew.setIniCodec("UTF-8");
+
+                foreach(const QString & key, sOld.allKeys())
+                {
+                    if(key.startsWith("colors/color"))
+                        sNew.setValue(key, sOld.value(key).value<QColor>().name());
+                    else
+                        sNew.setValue(key, sOld.value(key));
+                }
+            }
+        }
+
+        m_settingsFileName = settingsFile.fileName();
+    }
+
+    return m_settingsFileName;
+}
+
 void DataManager::reload()
 {
     // removed for now (also code was a bit unclean, could lead to segfault if
--- a/QTfrontend/util/DataManager.h	Thu Apr 04 14:37:19 2013 +0200
+++ b/QTfrontend/util/DataManager.h	Tue Jun 04 22:28:12 2013 +0200
@@ -1,6 +1,6 @@
 /*
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2012 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2013 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
@@ -117,6 +117,8 @@
         QStandardItemModel * colorsModel();
         QStandardItemModel * bindsModel();
 
+        QString settingsFileName();
+
         static bool ensureFileExists(const QString & fileName);
 
     public slots:
@@ -148,6 +150,7 @@
         ThemeModel * m_themeModel; ///< theme model instance
         QStandardItemModel * m_colorsModel;
         QStandardItemModel * m_bindsModel;
+        QString m_settingsFileName;
 };
 
 #endif // HEDGEWARS_DATAMANAGER_H
--- a/QTfrontend/util/LibavInteraction.cpp	Thu Apr 04 14:37:19 2013 +0200
+++ b/QTfrontend/util/LibavInteraction.cpp	Tue Jun 04 22:28:12 2013 +0200
@@ -1,6 +1,6 @@
 /*
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2012 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2013 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
--- a/QTfrontend/util/LibavInteraction.h	Thu Apr 04 14:37:19 2013 +0200
+++ b/QTfrontend/util/LibavInteraction.h	Tue Jun 04 22:28:12 2013 +0200
@@ -1,6 +1,6 @@
 /*
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2012 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2013 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
--- a/QTfrontend/util/MessageDialog.cpp	Thu Apr 04 14:37:19 2013 +0200
+++ b/QTfrontend/util/MessageDialog.cpp	Tue Jun 04 22:28:12 2013 +0200
@@ -1,6 +1,6 @@
 /*
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2012 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2013 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
--- a/QTfrontend/util/MessageDialog.h	Thu Apr 04 14:37:19 2013 +0200
+++ b/QTfrontend/util/MessageDialog.h	Tue Jun 04 22:28:12 2013 +0200
@@ -1,6 +1,6 @@
 /*
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2012 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2013 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
--- a/QTfrontend/util/SDLInteraction.cpp	Thu Apr 04 14:37:19 2013 +0200
+++ b/QTfrontend/util/SDLInteraction.cpp	Tue Jun 04 22:28:12 2013 +0200
@@ -1,6 +1,6 @@
 /*
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2012 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2013 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
--- a/QTfrontend/util/SDLInteraction.h	Thu Apr 04 14:37:19 2013 +0200
+++ b/QTfrontend/util/SDLInteraction.h	Tue Jun 04 22:28:12 2013 +0200
@@ -1,6 +1,6 @@
 /*
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2012 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2013 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
--- a/QTfrontend/util/namegen.cpp	Thu Apr 04 14:37:19 2013 +0200
+++ b/QTfrontend/util/namegen.cpp	Tue Jun 04 22:28:12 2013 +0200
@@ -1,7 +1,7 @@
 /*
  * Hedgewars, a free turn based strategy game
  * Copyright (c) 2009 Martin Minarik <ttsmj@pokec.sk>
- * Copyright (c) 2004-2012 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2013 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
--- a/QTfrontend/util/namegen.h	Thu Apr 04 14:37:19 2013 +0200
+++ b/QTfrontend/util/namegen.h	Tue Jun 04 22:28:12 2013 +0200
@@ -1,7 +1,7 @@
 /*
  * Hedgewars, a free turn based strategy game
  * Copyright (c) 2009 Martin Minarik <ttsmj@pokec.sk>
- * Copyright (c) 2004-2012 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2013 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
--- a/QTfrontend/util/platform/CocoaInitializer.h	Thu Apr 04 14:37:19 2013 +0200
+++ b/QTfrontend/util/platform/CocoaInitializer.h	Tue Jun 04 22:28:12 2013 +0200
@@ -1,6 +1,6 @@
 /*
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2012 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2013 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
--- a/QTfrontend/util/platform/CocoaInitializer.mm	Thu Apr 04 14:37:19 2013 +0200
+++ b/QTfrontend/util/platform/CocoaInitializer.mm	Tue Jun 04 22:28:12 2013 +0200
@@ -1,6 +1,6 @@
 /*
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2012 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2013 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
--- a/QTfrontend/util/platform/InstallController.cpp	Thu Apr 04 14:37:19 2013 +0200
+++ b/QTfrontend/util/platform/InstallController.cpp	Tue Jun 04 22:28:12 2013 +0200
@@ -1,6 +1,6 @@
 /*
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2012 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2013 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
--- a/QTfrontend/util/platform/InstallController.h	Thu Apr 04 14:37:19 2013 +0200
+++ b/QTfrontend/util/platform/InstallController.h	Tue Jun 04 22:28:12 2013 +0200
@@ -1,6 +1,6 @@
 /*
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2012 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2013 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
--- a/QTfrontend/util/platform/M3InstallController.m	Thu Apr 04 14:37:19 2013 +0200
+++ b/QTfrontend/util/platform/M3InstallController.m	Tue Jun 04 22:28:12 2013 +0200
@@ -35,8 +35,8 @@
 
 @implementation M3InstallController
 
-- (id) init {
-        if ((self = [super init])) {
+-(id) init {
+    if ((self = [super init])) {
         NSString *appName = [[NSBundle mainBundle] objectForInfoDictionaryKey:@"CFBundleName"];
         NSString *title = [NSString stringWithFormat:NSLocalizedString(@"%@ is currently running from a disk image", @"AppName is currently running from a disk image"), appName];
         NSString *body = [NSString stringWithFormat:NSLocalizedString(@"Would you like to install %@ in your applications folder before quitting?", @"Would you like to install App Name in your applications folder before quitting?"), appName];
@@ -50,70 +50,91 @@
     return self;
 }
 
-- (void)displayInstaller {
+-(void) displayInstaller {
     NSString *imageFilePath = [[[NSWorkspace sharedWorkspace] propertiesForPath:[[NSBundle mainBundle] bundlePath]] objectForKey:NSWorkspace_RBimagefilepath];
     if (imageFilePath && ![imageFilePath isEqualToString:[NSString stringWithFormat:@"/Users/.%@/%@.sparseimage", NSUserName(), NSUserName()]] && ![[NSUserDefaults standardUserDefaults] boolForKey:@"M3DontAskInstallAgain"]) {
         NSInteger returnValue = [alert runModal];
         if (returnValue == NSAlertDefaultReturn) {
             [self installApp];
         }
-        if ([[alert suppressionButton] state] == NSOnState) {
-            [[NSUserDefaults standardUserDefaults] setBool:YES forKey:@"M3DontAskInstallAgain"];
+        if ([NSAlert instancesRespondToSelector:@selector(suppressionButton)])
+            if ([[alert performSelector:@selector(suppressionButton)] state] == NSOnState)
+                [[NSUserDefaults standardUserDefaults] setBool:YES forKey:@"M3DontAskInstallAgain"];
         }
-    }
 }
 
-- (void)installApp {
+-(void) installApp {
     NSString *appsPath = [[NSString stringWithString:@"/Applications"] stringByAppendingPathComponent:[[[NSBundle mainBundle] bundlePath] lastPathComponent]];
     NSString *userAppsPath = [[[NSString stringWithString:@"~/Applications"] stringByAppendingPathComponent:[[[NSBundle mainBundle] bundlePath] lastPathComponent]] stringByExpandingTildeInPath];
     NSString *appName = [[NSBundle mainBundle] objectForInfoDictionaryKey:@"CFBundleName"];
+    NSString *currentPath = [[NSBundle mainBundle] bundlePath];
+    NSString *finalPath;
+    NSError *error = nil;
+    BOOL success;
 
-    //Delete the app that is installed
+    // Prepare the remove invocation
+    SEL removeSelector;
+    if ([NSFileManager instancesRespondToSelector:@selector(removeItemAtPath:error:)])
+        removeSelector = @selector(removeItemAtPath:error:);
+    else
+        removeSelector = @selector(removeFileAtPath:handler:);
+
+    NSMethodSignature *removeSignature = [NSFileManager instanceMethodSignatureForSelector:removeSelector];
+    NSInvocation *removeInvocation = [NSInvocation invocationWithMethodSignature:removeSignature];
+    [removeInvocation setTarget:[NSFileManager defaultManager]];
+    [removeInvocation setSelector:removeSelector];
+
+    // Delete the app if already installed
     if ([[NSFileManager defaultManager] fileExistsAtPath:appsPath]) {
-        if ([NSFileManager instancesRespondToSelector:@selector(removeItemAtPath:error:)])
-            [[NSFileManager defaultManager] removeItemAtPath:appsPath error:nil];
-        else
-            //casting hides the deprecation warning
-            [(id)[NSFileManager defaultManager] removeFileAtPath:appsPath handler:nil];
+        [removeInvocation setArgument:&appsPath atIndex:2];
+        [removeInvocation setArgument:&error atIndex:3];
+        [removeInvocation invoke];
     }
-    //Delete the app that is installed
-    BOOL success = NO;
+
+    // Prepare the copy invocation
+    SEL copySelector;
     if ([NSFileManager instancesRespondToSelector:@selector(copyItemAtPath:toPath:error:)])
-        success = [[NSFileManager defaultManager] copyItemAtPath:[[NSBundle mainBundle] bundlePath]
-                                                          toPath:appsPath
-                                                           error:nil];
+        copySelector = @selector(copyItemAtPath:toPath:error:);
     else
-        success = [(id)[NSFileManager defaultManager] copyPath:[[NSBundle mainBundle] bundlePath]
-                                                        toPath:appsPath
-                                                       handler:nil];
-    if (success) {
-        NSRunAlertPanel([NSString stringWithFormat:NSLocalizedString(@"%@ installed successfully", @"App Name installed successfully"), appName],
-                        [NSString stringWithFormat:NSLocalizedString(@"%@ was installed in /Applications", @"App Name was installed in /Applications"), appName],
-                        NSLocalizedString(@"Quit", @"Quit"), nil, nil);
-    } else {
+        copySelector = @selector(copyPath:toPath:handler:);
+
+    NSMethodSignature *copySignature = [NSFileManager instanceMethodSignatureForSelector:copySelector];
+    NSInvocation *copyInvocation = [NSInvocation invocationWithMethodSignature:copySignature];
+
+    [copyInvocation setTarget:[NSFileManager defaultManager]];
+    [copyInvocation setSelector:copySelector];
+
+    // Copy the app in /Applications
+    [copyInvocation setArgument:&currentPath atIndex:2];
+    [copyInvocation setArgument:&appsPath atIndex:3];
+    [copyInvocation setArgument:&error atIndex:4];
+    [copyInvocation invoke];
+    [copyInvocation getReturnValue:&success];
+    finalPath = @"/Applications";
+
+    // In case something went wrong, let's try again somewhere else
+    if (success == NO) {
+        // Delete the app if already installed
         if ([[NSFileManager defaultManager] fileExistsAtPath:userAppsPath]) {
-            if ([NSFileManager instancesRespondToSelector:@selector(removeItemAtPath:error:)])
-                [[NSFileManager defaultManager] removeItemAtPath:userAppsPath error:nil];
-            else
-                [(id)[NSFileManager defaultManager] removeFileAtPath:userAppsPath handler:nil];
+            [removeInvocation setArgument:&userAppsPath atIndex:2];
+            [removeInvocation invoke];
         }
-        if ([NSFileManager instancesRespondToSelector:@selector(copyItemAtPath:toPath:error:)])
-            success = [[NSFileManager defaultManager] copyItemAtPath:[[NSBundle mainBundle] bundlePath]
-                                                              toPath:userAppsPath
-                                                               error:nil];
-        else
-            success = [(id)[NSFileManager defaultManager] copyPath:[[NSBundle mainBundle] bundlePath]
-                                                            toPath:userAppsPath
-                                                           handler:nil];
-        if (success) {
-            NSRunAlertPanel([NSString stringWithFormat:NSLocalizedString(@"%@ installed successfully", @"AppName installed successfully"), appName],
-                [NSString stringWithFormat:NSLocalizedString(@"%@ was installed in %@", @"App Name was installed in %@"), appName, [[NSString stringWithString:@"~/Applications"] stringByExpandingTildeInPath]],
-                        NSLocalizedString(@"Quit", @"Quit"), nil, nil);
-        } else {
-            NSRunAlertPanel([NSString stringWithFormat:NSLocalizedString(@"Could not install %@", @"Could not install App Name"), appName],
-                            NSLocalizedString(@"An error occurred when installing", @"An error occurred when installing"), NSLocalizedString(@"Quit", @"Quit"), nil, nil);
-        }
+
+        // Copy the app in ~/Applications
+        [copyInvocation setArgument:&userAppsPath atIndex:3];
+        [copyInvocation invoke];
+        [copyInvocation getReturnValue:&success];
+        finalPath = [[NSString stringWithString:@"~/Applications"] stringByExpandingTildeInPath];
     }
+
+    if (success)
+        NSRunAlertPanel([NSString stringWithFormat:NSLocalizedString(@"%@ installed successfully", @"successful installation title"), appName],
+              [NSString stringWithFormat:NSLocalizedString(@"%@ was installed in %@", @"successfull installation text"), appName, finalPath],
+              NSLocalizedString(@"Ok", @"ok message"), nil, nil);
+    else
+        NSRunAlertPanel([NSString stringWithFormat:NSLocalizedString(@"Could not install %@", @"installation failure title"), appName],
+              NSLocalizedString(@"An error occurred when installing", @"installation failure text"),
+              NSLocalizedString(@"Quit", @"exit message"), nil, nil);
 }
 
 @end
--- a/QTfrontend/util/platform/M3Panel.h	Thu Apr 04 14:37:19 2013 +0200
+++ b/QTfrontend/util/platform/M3Panel.h	Tue Jun 04 22:28:12 2013 +0200
@@ -1,6 +1,6 @@
 /*
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2012 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2013 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
--- a/QTfrontend/util/platform/M3Panel.mm	Thu Apr 04 14:37:19 2013 +0200
+++ b/QTfrontend/util/platform/M3Panel.mm	Tue Jun 04 22:28:12 2013 +0200
@@ -1,6 +1,6 @@
 /*
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2012 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2013 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
--- a/QTfrontend/util/platform/SparkleAutoUpdater.mm	Thu Apr 04 14:37:19 2013 +0200
+++ b/QTfrontend/util/platform/SparkleAutoUpdater.mm	Tue Jun 04 22:28:12 2013 +0200
@@ -1,6 +1,6 @@
 /*
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2012 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2013 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
--- a/QTfrontend/util/platform/xfire.cpp	Thu Apr 04 14:37:19 2013 +0200
+++ b/QTfrontend/util/platform/xfire.cpp	Tue Jun 04 22:28:12 2013 +0200
@@ -1,6 +1,6 @@
 /*
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2012 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2013 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
--- a/QTfrontend/util/platform/xfire.h	Thu Apr 04 14:37:19 2013 +0200
+++ b/QTfrontend/util/platform/xfire.h	Tue Jun 04 22:28:12 2013 +0200
@@ -1,6 +1,6 @@
 /*
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2012 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2013 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
--- a/QTfrontend/weapons.h	Thu Apr 04 14:37:19 2013 +0200
+++ b/QTfrontend/weapons.h	Tue Jun 04 22:28:12 2013 +0200
@@ -58,9 +58,9 @@
 
 #define AMMOLINE_ONEEVERY_QT    "1111119111111111111111111111111111111111111111111111111"
 #define AMMOLINE_ONEEVERY_PROB  "1111110111111111111111111111111111111111111111111111111"
-#define AMMOLINE_ONEEVERY_DELAY "0000000000000205500000040007004000000000220000000600020"
+#define AMMOLINE_ONEEVERY_DELAY "0000000000000000000000000000000000000000000000000000000"
 #define AMMOLINE_ONEEVERY_CRATE "1111110111111111111111111111111111111111111111111111111"
 
-//When adding new weapons also inster one element in cDefaultAmmos list (hwconsts.cpp.in)
+//When adding new weapons also insert one element in cDefaultAmmos list (hwconsts.cpp.in)
 
 
--- a/README	Thu Apr 04 14:37:19 2013 +0200
+++ b/README	Tue Jun 04 22:28:12 2013 +0200
@@ -3,7 +3,7 @@
 Images and sounds are distributed under the terms of the GNU FDL licence.
 
 Source:
-Copyright 2004-2011 Andrey Korotaev <unC0Rr@gmail.com>
+Copyright 2004-2013 Andrey Korotaev <unC0Rr@gmail.com>
 Portions copyright 2006-2008 Igor Ulyanov aka Displacer <iulyanov@gmail.com>
 
 Instructions:
--- a/cmake_modules/CPackConfig.cmake	Thu Apr 04 14:37:19 2013 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,99 +0,0 @@
-
-# revision information in cpack-generated names
-if(CMAKE_BUILD_TYPE MATCHES DEBUG)
-    set(full_suffix "${HEDGEWARS_VERSION}-r${HEDGEWARS_REVISION}")
-else()
-    set(full_suffix "${HEDGEWARS_VERSION}")
-endif()
-
-# CPack variables
-set(CPACK_PACKAGE_DESCRIPTION_SUMMARY "Hedgewars, a free turn-based strategy game")
-set(CPACK_PACKAGE_VENDOR "Hedgewars Project")
-set(CPACK_PACKAGE_FILE_NAME "Hedgewars-${full_suffix}")
-set(CPACK_SOURCE_PACKAGE_FILE_NAME "hedgewars-src-${full_suffix}")
-set(CPACK_SOURCE_GENERATOR "TBZ2")
-set(CPACK_PACKAGE_EXECUTABLES "hedgewars" "Hedgewars")
-set(CPACK_RESOURCE_FILE_LICENSE "${CMAKE_SOURCE_DIR}/COPYING")
-set(CPACK_PACKAGE_INSTALL_DIRECTORY "Hedgewars ${full_suffix}")
-set(CPACK_STRIP_FILES true)
-
-if(WIN32 AND NOT UNIX)
-    set(CPACK_NSIS_DISPLAY_NAME "Hedgewars")
-    set(CPACK_NSIS_HELP_LINK "http://www.hedgewars.org/")
-    set(CPACK_NSIS_URL_INFO_ABOUT "http://www.hedgewars.org/")
-    set(CPACK_NSIS_CONTACT "unC0Rr@gmail.com")
-    set(CPACK_NSIS_MODIFY_PATH OFF)
-    set(CPACK_NSIS_EXECUTABLES_DIRECTORY "${target_binary_install_dir}")
-    set(CPACK_NSIS_MUI_FINISHPAGE_RUN "hedgewars${CMAKE_EXECUTABLE_SUFFIX}")
-    set(CPACK_GENERATOR "ZIP;NSIS")
-    set(CPACK_PACKAGE_INSTALL_REGISTRY_KEY "hedgewars")
-endif(WIN32 AND NOT UNIX)
-
-set(CPACK_SOURCE_IGNORE_FILES
-    #temporary files
-    "~"
-    ".swp"
-    #version control
-    "\\\\.hg"
-    #output binary/library
-    "\\\\.exe$"
-    "\\\\.a$"
-    "\\\\.so$"
-    "\\\\.dylib$"
-    "\\\\.dll$"
-    "\\\\.ppu$"
-    "\\\\.o$"
-    "\\\\.cxx$"
-    #graphics
-    "\\\\.xcf$"
-    "\\\\.svg$"
-    "\\\\.svgz$"
-    "\\\\.psd$"
-    "\\\\.sifz$"
-    #misc
-    "\\\\.core$"
-    "\\\\.sh$"
-    "\\\\.orig$"
-    "\\\\.layout$"
-    "\\\\.db$"
-    "\\\\.dof$"
-    #archives
-    "\\\\.zip$"
-    "\\\\.gz$"
-    "\\\\.bz2$"
-    "\\\\.tmp$"
-    #cmake-configured files
-    "hwconsts\\\\.cpp$"
-    "config\\\\.inc$"
-    "hwengine\\\\.desktop$"
-    "Info\\\\.plist$"
-    #other cmake generated files
-    "Makefile"
-    "Doxyfile"
-    "CMakeFiles"
-    "[dD]ebug$"
-    "[rR]elease$"
-    "CPack"
-    "cmake_install\\\\.cmake$"
-    "CMakeCache\\\\.txt$"
-#    "^${CMAKE_CURRENT_SOURCE_DIR}/misc/libtremor"
-#    "^${CMAKE_CURRENT_SOURCE_DIR}/misc/libfreetype"
-#    "^${CMAKE_CURRENT_SOURCE_DIR}/misc/liblua"
-    "^${CMAKE_CURRENT_SOURCE_DIR}/misc/libopenalbridge"
-    "^${CMAKE_CURRENT_SOURCE_DIR}/project_files/frontlib"
-    "^${CMAKE_CURRENT_SOURCE_DIR}/project_files/promotional_art"
-    "^${CMAKE_CURRENT_SOURCE_DIR}/project_files/cmdlineClient"
-    "^${CMAKE_CURRENT_SOURCE_DIR}/tools/templates"
-    "^${CMAKE_CURRENT_SOURCE_DIR}/bin/checkstack*"
-    "^${CMAKE_CURRENT_SOURCE_DIR}/doc"
-    "^${CMAKE_CURRENT_SOURCE_DIR}/templates"
-    "^${CMAKE_CURRENT_SOURCE_DIR}/tmp"
-    "^${CMAKE_CURRENT_SOURCE_DIR}/utils"
-    "^${CMAKE_CURRENT_SOURCE_DIR}/share/hedgewars/Data/Maps/test"
-    "^${CMAKE_CURRENT_SOURCE_DIR}/install_manifest.txt"
-    "^${CMAKE_CURRENT_SOURCE_DIR}/CMakeCache.txt"
-    "^${CMAKE_CURRENT_SOURCE_DIR}/hedgewars\\\\."
-)
-
-include(CPack)
-
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/cmake_modules/cpackvars.cmake	Tue Jun 04 22:28:12 2013 +0200
@@ -0,0 +1,105 @@
+
+# revision information in cpack-generated names
+if(CMAKE_BUILD_TYPE MATCHES DEBUG)
+    set(full_suffix "${HEDGEWARS_VERSION}-r${HEDGEWARS_REVISION}")
+else()
+    set(full_suffix "${HEDGEWARS_VERSION}")
+endif()
+
+# CPack variables
+set(CPACK_PACKAGE_DESCRIPTION_SUMMARY "Hedgewars, a free turn-based strategy game")
+set(CPACK_PACKAGE_VENDOR "Hedgewars Project")
+set(CPACK_PACKAGE_FILE_NAME "Hedgewars-${full_suffix}")
+set(CPACK_SOURCE_PACKAGE_FILE_NAME "hedgewars-src-${full_suffix}")
+set(CPACK_SOURCE_GENERATOR "TBZ2")
+set(CPACK_PACKAGE_EXECUTABLES "hedgewars" "Hedgewars")
+set(CPACK_RESOURCE_FILE_LICENSE "${CMAKE_SOURCE_DIR}/COPYING")
+set(CPACK_PACKAGE_INSTALL_DIRECTORY "Hedgewars ${full_suffix}")
+set(CPACK_STRIP_FILES true)
+
+if(WIN32 AND NOT UNIX)
+    set(CPACK_NSIS_DISPLAY_NAME "Hedgewars")
+    set(CPACK_NSIS_HELP_LINK "http://www.hedgewars.org/")
+    set(CPACK_NSIS_URL_INFO_ABOUT "http://www.hedgewars.org/")
+    set(CPACK_NSIS_CONTACT "unC0Rr@gmail.com")
+    set(CPACK_NSIS_MODIFY_PATH OFF)
+    set(CPACK_NSIS_EXECUTABLES_DIRECTORY ".")
+    set(CPACK_NSIS_MUI_FINISHPAGE_RUN "hedgewars${CMAKE_EXECUTABLE_SUFFIX}")
+    set(CPACK_NSIS_CREATE_ICONS "CreateShortCut '$SMPROGRAMS\\\\$STARTMENU_FOLDER\\\\Hedgewars.lnk' '$INSTDIR\\\\hedgewars.exe'")
+    set(CPACK_PACKAGE_INSTALL_REGISTRY_KEY "hedgewars")
+endif(WIN32 AND NOT UNIX)
+
+set(CPACK_SOURCE_IGNORE_FILES
+    #temporary files
+    "~"
+    ".swp"
+    #version control
+    "\\\\.hg"
+    "\\\\.orig$"
+    #output binary/library
+    "\\\\.exe$"
+    "\\\\.a$"
+    "\\\\.so$"
+    "\\\\.dylib$"
+    "\\\\.dll$"
+    "\\\\.ppu$"
+    "\\\\.o$"
+    "\\\\.cxx$"
+    "\\\\.hi$"
+    #graphics
+    "\\\\.xcf$"
+    "\\\\.svg$"
+    "\\\\.svgz$"
+    "\\\\.psd$"
+    "\\\\.sifz$"
+    #misc
+    "\\\\.core$"
+    "\\\\.layout$"
+    "\\\\.db$"
+    "\\\\.dof$"
+    "\\\\.or$"
+    #archives
+    "\\\\.zip$"
+    "\\\\.gz$"
+    "\\\\.bz2$"
+    "\\\\.tmp$"
+    #cmake-configured files
+    "hwconsts\\\\.cpp$"
+    "config\\\\.inc$"
+    "hwengine\\\\.desktop$"
+    "Info\\\\.plist$"
+    #qt extra files
+    "moc_.*\\\\.cxx_parameters"
+    "\\\\.qrc.depends$"
+    "\\\\.qm$"
+    #other cmake generated files
+    "Makefile$"
+    "Doxyfile"
+    "CMakeFiles"
+    "[dD]ebug$"
+    "[rR]elease$"
+    "CPack"
+    "cmake_install\\\\.cmake$"
+    "cmake_uninstall\\\\.cmake$"
+    "CMakeCache\\\\.txt$"
+    "build_windows_.*\\\\.bat$"
+#    "^${CMAKE_CURRENT_SOURCE_DIR}/misc/libtremor"
+#    "^${CMAKE_CURRENT_SOURCE_DIR}/misc/libfreetype"
+#    "^${CMAKE_CURRENT_SOURCE_DIR}/misc/liblua"
+#    "^${CMAKE_CURRENT_SOURCE_DIR}/project_files/frontlib"
+#    "^${CMAKE_CURRENT_SOURCE_DIR}/project_files/cmdlineClient"
+    "^${CMAKE_CURRENT_SOURCE_DIR}/misc/libopenalbridge"
+    "^${CMAKE_CURRENT_SOURCE_DIR}/misc/winutils/bin"
+    "^${CMAKE_CURRENT_SOURCE_DIR}/project_files/promotional_art"
+    "^${CMAKE_CURRENT_SOURCE_DIR}/tools/templates"
+    "^${CMAKE_CURRENT_SOURCE_DIR}/tools/drawMapTest"
+    "^${CMAKE_CURRENT_SOURCE_DIR}/doc"
+    "^${CMAKE_CURRENT_SOURCE_DIR}/tmp"
+    "^${CMAKE_CURRENT_SOURCE_DIR}/utils"
+    "^${CMAKE_CURRENT_SOURCE_DIR}/share/hedgewars/Data/Maps/test"
+    "^${CMAKE_CURRENT_SOURCE_DIR}/install_manifest.txt"
+    "^${CMAKE_CURRENT_SOURCE_DIR}/CMakeCache.txt"
+    "^${CMAKE_CURRENT_SOURCE_DIR}/hedgewars\\\\."
+)
+
+include(CPack)
--- a/gameServer/Actions.hs	Thu Apr 04 14:37:19 2013 +0200
+++ b/gameServer/Actions.hs	Tue Jun 04 22:28:12 2013 +0200
@@ -20,6 +20,7 @@
 import Control.Exception
 import System.Process
 import Network.Socket
+import System.Random
 -----------------------------
 #if defined(OFFICIAL_SERVER)
 import OfficialServer.GameReplayStore
@@ -206,8 +207,9 @@
     rnc <- gets roomsClients
     newMasterId <- liftM (\ids -> fromMaybe (last . filter (/= ci) $ ids) delegateId) . io $ roomClientsIndicesM rnc ri
     newMaster <- io $ client'sM rnc id newMasterId
+    oldMasterId <- io $ room'sM rnc masterID ri
+    oldMaster <- io $ client'sM rnc id oldMasterId
     oldRoomName <- io $ room'sM rnc name ri
-    oldMaster <- client's nick
     kicked <- client's isKickedFromServer
     thisRoomChans <- liftM (map sendChan) $ roomClientsS ri
     let newRoomName = if (proto < 42) || kicked then nick newMaster else oldRoomName
@@ -216,12 +218,13 @@
                 , name = newRoomName
                 , isRestrictedJoins = False
                 , isRestrictedTeams = False
-                , isRegisteredOnly = False
-                , readyPlayers = if isReady newMaster then readyPlayers r else readyPlayers r + 1})
-        , ModifyClient2 newMasterId (\c -> c{isMaster = True, isReady = True})
+                , isRegisteredOnly = False}
+                )
+        , ModifyClient2 newMasterId (\c -> c{isMaster = True})
+        , ModifyClient2 oldMasterId (\c -> c{isMaster = False})
         , AnswerClients [sendChan newMaster] ["ROOM_CONTROL_ACCESS", "1"]
-        , AnswerClients thisRoomChans ["CLIENT_FLAGS", "-h", oldMaster]
-        , AnswerClients thisRoomChans ["CLIENT_FLAGS", "+hr", nick newMaster]
+        , AnswerClients thisRoomChans ["CLIENT_FLAGS", "-h", nick oldMaster]
+        , AnswerClients thisRoomChans ["CLIENT_FLAGS", "+h", nick newMaster]
         ]
 
     newRoom' <- io $ room'sM rnc id ri
@@ -381,7 +384,7 @@
         if p < 38 then
             processAction $ ByeClient $ loc "Nickname is already in use"
             else
-            processAction $ NoticeMessage NickAlreadyInUse
+            mapM_ processAction [NoticeMessage NickAlreadyInUse, ModifyClient $ \c -> c{nick = B.empty}]
         else
         do
         db <- gets (dbQueries . serverInfo)
@@ -615,6 +618,12 @@
     processAction $ Warning versionsStats
 
 
+processAction (Random chans items) = do
+    let i = if null items then ["heads", "tails"] else items
+    n <- io $ randomRIO (0, length i - 1)
+    processAction $ AnswerClients chans ["CHAT", "[random]", i !! n]
+
+
 #if defined(OFFICIAL_SERVER)
 processAction SaveReplay = do
     ri <- clientRoomA
--- a/gameServer/CoreTypes.hs	Thu Apr 04 14:37:19 2013 +0200
+++ b/gameServer/CoreTypes.hs	Tue Jun 04 22:28:12 2013 +0200
@@ -75,6 +75,7 @@
     | CheckRecord
     | CheckFailed B.ByteString
     | CheckSuccess [B.ByteString]
+    | Random [ClientChan] [B.ByteString]
 
 type ClientChan = Chan [B.ByteString]
 
@@ -108,8 +109,7 @@
         isKickedFromServer :: Bool,
         clientClan :: !(Maybe B.ByteString),
         checkInfo :: Maybe CheckInfo,
-        teamsInGame :: Word,
-        actionsPending :: [Action]
+        teamsInGame :: Word
     }
 
 instance Eq ClientInfo where
@@ -238,8 +238,8 @@
     ServerInfo
         True
         "<h2><p align=center><a href=\"http://www.hedgewars.org/\">http://www.hedgewars.org/</a></p></h2>"
-        "<font color=yellow><h3 align=center>Hedgewars 0.9.18 is out! Please update.</h3><p align=center><a href=http://hedgewars.org/download.html>Download page here</a></font>"
-        43 -- latestReleaseVersion
+        "<font color=yellow><h3 align=center>Hedgewars 0.9.19 is out! Please update.</h3><p align=center><a href=http://hedgewars.org/download.html>Download page here</a></font>"
+        45 -- latestReleaseVersion
         41 -- earliestCompatibleVersion
         46631
         ""
--- a/gameServer/HWProtoCore.hs	Thu Apr 04 14:37:19 2013 +0200
+++ b/gameServer/HWProtoCore.hs	Tue Jun 04 22:28:12 2013 +0200
@@ -4,7 +4,6 @@
 import Control.Monad.Reader
 import Data.Maybe
 import qualified Data.ByteString.Char8 as B
-import qualified Data.List as L
 --------------------------------------
 import CoreTypes
 import Actions
@@ -30,26 +29,28 @@
 handleCmd ["PONG"] = do
     cl <- thisClient
     if pingsQueue cl == 0 then
-        return $ actionsPending cl ++ [ModifyClient (\c -> c{actionsPending = []})]
+        return [ProtocolError "Protocol violation"]
         else
         return [ModifyClient (\c -> c{pingsQueue = pingsQueue c - 1})]
 
-handleCmd ("CMD" : parameters) =
-    let c = concatMap B.words parameters in
-        if not $ null c then
-            h $ (upperCase . head $ c) : tail c
-            else
-            return []
+handleCmd ["CMD", parameters] = do
+        let (cmd, plist) = B.break (== ' ') parameters
+        let param = B.dropWhile (== ' ') plist
+        h (upperCase cmd) param
     where
-        h ["DELEGATE", n] = handleCmd ["DELEGATE", n]
-        h ["STATS"] = handleCmd ["STATS"]
-        h ["PART", msg] = handleCmd ["PART", msg]
-        h ["QUIT", msg] = handleCmd ["QUIT", msg]
-        h ["GLOBAL", msg] = do
+        h "DELEGATE" n | not $ B.null n = handleCmd ["DELEGATE", n]
+        h "STATS" _ = handleCmd ["STATS"]
+        h "PART" m | not $ B.null m = handleCmd ["PART", m]
+                   | otherwise = handleCmd ["PART"]
+        h "QUIT" m | not $ B.null m = handleCmd ["QUIT", m]
+                   | otherwise = handleCmd ["QUIT"]
+        h "RND" p = handleCmd ("RND" : B.words p)
+        h "GLOBAL" p = do
+            cl <- thisClient
             rnc <- liftM snd ask
             let chans = map (sendChan . client rnc) $ allClients rnc
-            return [AnswerClients chans ["CHAT", "[global notice]", msg]]
-        h c = return [Warning . B.concat . L.intersperse " " $ "Unknown cmd" : c]
+            return [AnswerClients chans ["CHAT", "[global notice]", p] | isAdministrator cl]
+        h c p = return [Warning $ B.concat ["Unknown cmd: /", c, p]]
 
 handleCmd cmd = do
     (ci, irnc) <- ask
@@ -72,9 +73,9 @@
     let cl = rnc `client` fromJust maybeClientId
     let roomId = clientRoom rnc clientId
     let clRoom = room rnc roomId
-    let roomMasterSign = if isMaster cl then "@" else ""
+    let roomMasterSign = if isMaster cl then "+" else ""
     let adminSign = if isAdministrator cl then "@" else ""
-    let rInfo = if roomId /= lobbyId then B.concat [roomMasterSign, "room ", name clRoom] else adminSign `B.append` "lobby"
+    let rInfo = if roomId /= lobbyId then B.concat [adminSign, roomMasterSign, "room ", name clRoom] else adminSign `B.append` "lobby"
     let roomStatus = if isJust $ gameInfo clRoom then
             if teamsInGame cl > 0 then "(playing)" else "(spectating)"
             else
--- a/gameServer/HWProtoInRoomState.hs	Thu Apr 04 14:37:19 2013 +0200
+++ b/gameServer/HWProtoInRoomState.hs	Tue Jun 04 22:28:12 2013 +0200
@@ -59,7 +59,7 @@
                 else
                 liftM (head . (L.\\) (map B.singleton ['0'..]) . map teamcolor . teams) thisRoom
         let roomTeams = teams rm
-        let hhNum = let p = if not $ null roomTeams then hhnum $ head roomTeams else 4 in newTeamHHNum roomTeams p
+        let hhNum = let p = if not $ null roomTeams then minimum [hhnum $ head roomTeams, canAddNumber roomTeams] else 4 in newTeamHHNum roomTeams p
         let newTeam = clNick `seq` TeamInfo ci clNick tName teamColor grave fort voicepack flag dif hhNum (hhsList hhsInfo)
         return $
             if not . null . drop (maxTeams rm - 1) $ roomTeams then
@@ -79,10 +79,7 @@
                 AnswerClients clChan ["TEAM_ACCEPTED", tName],
                 AnswerClients othChans $ teamToNet $ newTeam,
                 AnswerClients roomChans ["TEAM_COLOR", tName, teamColor],
-                ModifyClient $ \c -> c{actionsPending = actionsPending cl
-                    ++ [AnswerClients clChan ["HH_NUM", tName, showB $ hhnum newTeam]]
-                    },
-                AnswerClients [sendChan cl] ["PING"]
+                AnswerClients roomChans ["HH_NUM", tName, showB $ hhnum newTeam]
                 ]
         where
         canAddNumber rt = (48::Int) - (sum $ map hhnum rt)
@@ -172,17 +169,15 @@
 handleCmd_inRoom ["TOGGLE_READY"] = do
     cl <- thisClient
     chans <- roomClientsChans
-    if isMaster cl then
-        return []
-        else
-        return [
-            ModifyRoom (\r -> r{readyPlayers = readyPlayers r + (if isReady cl then -1 else 1)}),
-            ModifyClient (\c -> c{isReady = not $ isReady cl}),
-            AnswerClients chans $ if clientProto cl < 38 then
-                    [if isReady cl then "NOT_READY" else "READY", nick cl]
-                    else
-                    ["CLIENT_FLAGS", if isReady cl then "-r" else "+r", nick cl]
-            ]
+
+    return [
+        ModifyRoom (\r -> r{readyPlayers = readyPlayers r + (if isReady cl then -1 else 1)}),
+        ModifyClient (\c -> c{isReady = not $ isReady cl}),
+        AnswerClients chans $ if clientProto cl < 38 then
+                [if isReady cl then "NOT_READY" else "READY", nick cl]
+                else
+                ["CLIENT_FLAGS", if isReady cl then "-r" else "+r", nick cl]
+        ]
 
 
 handleCmd_inRoom ["START_GAME"] = do
@@ -353,6 +348,10 @@
         else
         return []
 
+handleCmd_inRoom ("RND":rs) = do
+    n <- clientNick
+    s <- roomClientsChans
+    return [AnswerClients s ["CHAT", n, B.unwords $ "/rnd" : rs], Random s rs]
 
 handleCmd_inRoom ["LIST"] = return [] -- for old clients (<= 0.9.17)
 
--- a/gameServer/HWProtoLobbyState.hs	Thu Apr 04 14:37:19 2013 +0200
+++ b/gameServer/HWProtoLobbyState.hs	Tue Jun 04 22:28:12 2013 +0200
@@ -92,12 +92,9 @@
                 , AnswerClients [sendChan cl] $ ["CLIENT_FLAGS", "+h", ownerNick]
             ]
             ++ (if clientProto cl < 38 then map (readynessMessage cl) jRoomClients else [sendStateFlags cl jRoomClients])
-            ++ [AnswerClients [sendChan cl] ["PING"]
-                , ModifyClient $ \c -> c{actionsPending = actionsPending cl
-                    ++ answerFullConfig cl (mapParams jRoom) (params jRoom)
-                    ++ answerTeams cl jRoom
-                    ++ watchRound cl jRoom chans}
-                ]
+            ++ answerFullConfig cl (mapParams jRoom) (params jRoom)
+            ++ answerTeams cl jRoom
+            ++ watchRound cl jRoom chans
 
         where
         readynessMessage cl c = AnswerClients [sendChan cl] [if isReady c then "READY" else "NOT_READY", nick c]
@@ -147,6 +144,11 @@
         else
         liftM ((:) (AnswerClients [clChan] ["JOINING", roomName])) $ handleCmd_lobby ["JOIN_ROOM", roomName]
 
+
+handleCmd_lobby ("RND":rs) = do
+    c <- liftM sendChan thisClient
+    return [Random [c] rs]
+
     ---------------------------
     -- Administrator's stuff --
 
--- a/gameServer/NetRoutines.hs	Thu Apr 04 14:37:19 2013 +0200
+++ b/gameServer/NetRoutines.hs	Tue Jun 04 22:28:12 2013 +0200
@@ -47,7 +47,6 @@
                     Nothing
                     Nothing
                     0
-                    []
                     )
 
         writeChan chan $ Accept newClient
--- a/gameServer/OfficialServer/extdbinterface.hs	Thu Apr 04 14:37:19 2013 +0200
+++ b/gameServer/OfficialServer/extdbinterface.hs	Tue Jun 04 22:28:12 2013 +0200
@@ -14,7 +14,7 @@
 
 
 dbQueryAccount =
-    "SELECT users.pass, users_roles.rid FROM users LEFT JOIN users_roles ON users.uid = users_roles.uid WHERE users.name = ?"
+    "SELECT users.pass, users_roles.rid FROM users LEFT JOIN users_roles ON (users.uid = users_roles.uid AND users_roles.rid = 3) WHERE users.name = ?"
 
 dbQueryStats =
     "INSERT INTO gameserver_stats (players, rooms, last_update) VALUES (?, ?, UNIX_TIMESTAMP())"
@@ -29,7 +29,7 @@
                 execute statement [SqlByteString clNick]
                 passAndRole <- fetchRow statement
                 finish statement
-                let response = 
+                let response =
                         if isJust passAndRole then
                         (
                             clId,
--- a/gameServer/Utils.hs	Thu Apr 04 14:37:19 2013 +0200
+++ b/gameServer/Utils.hs	Tue Jun 04 22:28:12 2013 +0200
@@ -90,6 +90,8 @@
             , (42, "0.9.18-dev")
             , (43, "0.9.18")
             , (44, "0.9.19-dev")
+            , (45, "0.9.19")
+            , (46, "0.9.20-dev")
             ]
 
 askFromConsole :: B.ByteString -> IO B.ByteString
--- a/gameServer/hedgewars-server.cabal	Thu Apr 04 14:37:19 2013 +0200
+++ b/gameServer/hedgewars-server.cabal	Tue Jun 04 22:28:12 2013 +0200
@@ -21,6 +21,7 @@
     bytestring,
     bytestring-show,
     network >= 2.3,
+    random,
     time,
     mtl >= 2,
     dataenc,
--- a/hedgewars/ArgParsers.inc	Thu Apr 04 14:37:19 2013 +0200
+++ b/hedgewars/ArgParsers.inc	Tue Jun 04 22:28:12 2013 +0200
@@ -1,6 +1,6 @@
 (*
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2012 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2013 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
@@ -173,9 +173,9 @@
       mediaarray: array [0..9] of shortstring = ('--fullscreen-width', '--fullscreen-height', '--width', '--height', '--depth', '--volume','--nomusic','--nosound','--locale','--fullscreen');
       allarray: array [0..13] of shortstring = ('--fullscreen-width','--fullscreen-height', '--width', '--height', '--depth','--volume','--nomusic','--nosound','--locale','--fullscreen','--showfps','--altdmg','--frame-interval','--low-quality');
       reallyAll: array[0..30] of shortstring = (
-                '--prefix', '--user-prefix', '--locale', '--fullscreen-width', '--fullscreen-height', '--width', 
+                '--prefix', '--user-prefix', '--locale', '--fullscreen-width', '--fullscreen-height', '--width',
                 '--height', '--frame-interval', '--volume','--nomusic', '--nosound',
-                '--fullscreen', '--showfps', '--altdmg', '--low-quality', '--raw-quality', '--stereo', '--nick', 
+                '--fullscreen', '--showfps', '--altdmg', '--low-quality', '--raw-quality', '--stereo', '--nick',
   {deprecated}  '--depth', '--set-video', '--set-audio', '--set-other', '--set-multimedia', '--set-everything',
   {internal}    '--internal', '--port', '--recorder', '--landpreview',
   {misc}        '--stats-only', '--gci', '--help');
@@ -192,12 +192,12 @@
         {--prefix}               0 : PathPrefix        := getStringParameter (arg, paramIndex, parseParameter);
         {--user-prefix}          1 : UserPathPrefix    := getStringParameter (arg, paramIndex, parseParameter);
         {--locale}               2 : cLocaleFName      := getStringParameter (arg, paramIndex, parseParameter);
-        {--fullscreen-width}     3 : cFullscreenWidth  := getLongIntParameter(arg, paramIndex, parseParameter);
-        {--fullscreen-height}    4 : cFullscreenHeight := getLongIntParameter(arg, paramIndex, parseParameter);
-        {--width}                5 : cWindowedWidth    := getLongIntParameter(arg, paramIndex, parseParameter);
-        {--height}               6 : cWindowedHeight   := getLongIntParameter(arg, paramIndex, parseParameter);
+        {--fullscreen-width}     3 : cFullscreenWidth  := max(getLongIntParameter(arg, paramIndex, parseParameter), cMinScreenWidth);
+        {--fullscreen-height}    4 : cFullscreenHeight := max(getLongIntParameter(arg, paramIndex, parseParameter), cMinScreenHeight);
+        {--width}                5 : cWindowedWidth    := max(2 * (getLongIntParameter(arg, paramIndex, parseParameter) div 2), cMinScreenWidth);
+        {--height}               6 : cWindowedHeight   := max(2 * (getLongIntParameter(arg, paramIndex, parseParameter) div 2), cMinScreenHeight);
         {--frame-interval}       7 : cTimerInterval    := getLongIntParameter(arg, paramIndex, parseParameter);
-        {--volume}               8 : SetVolume          ( getLongIntParameter(arg, paramIndex, parseParameter) );
+        {--volume}               8 : SetVolume          ( max(getLongIntParameter(arg, paramIndex, parseParameter), 0) );
         {--nomusic}              9 : SetMusic           ( false );
         {--nosound}             10 : SetSound           ( false );
         {--fullscreen}          11 : cFullScreen       := true;
--- a/hedgewars/CMakeLists.txt	Thu Apr 04 14:37:19 2013 +0200
+++ b/hedgewars/CMakeLists.txt	Tue Jun 04 22:28:12 2013 +0200
@@ -175,7 +175,7 @@
 if(PNG_FOUND)
     list(REMOVE_AT PNG_LIBRARIES 1) #removing the zlib library path
     get_filename_component(PNG_LIBRARY_DIR ${PNG_LIBRARIES} PATH)
-    list(APPEND pascal_flags "-dPNG_SCREENSHOTS" "-Fl${PNG_LIBRARY_DIR}")
+    list(APPEND pascal_flags "-dPNG_SCREENSHOTS" "-Fl${PNG_LIBRARY_DIR}" "-k-L${PNG_LIBRARY_DIR}")
 endif()
 
 
--- a/hedgewars/GSHandlers.inc	Thu Apr 04 14:37:19 2013 +0200
+++ b/hedgewars/GSHandlers.inc	Tue Jun 04 22:28:12 2013 +0200
@@ -1,6 +1,6 @@
 (*
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2012 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2013 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
@@ -197,6 +197,7 @@
     tdY := Gear^.dY;
 
 
+
 // might need some testing/adjustments - just to avoid projectiles to fly forever (accelerated by wind/skips)
     if (hwRound(Gear^.X) < min(LAND_WIDTH div -2, -2048))
     or (hwRound(Gear^.X) > max(LAND_WIDTH * 3 div 2, 6144)) then
@@ -429,14 +430,13 @@
     CalcRotationDirAngle(Gear);
 
     // let's add some smoke depending on speed
-    s:= max(32,152 - hwRound(Distance(Gear^.dX,Gear^.dY)*120))+random(10);
+    s:= max(32,152 - round((abs(hwFloat2FLoat(Gear^.dX))+abs(hwFloat2Float(Gear^.dY)))*120))+random(10);
     if (GameTicks mod s) = 0 then
         begin
         // adjust angle to match the texture
         if Gear^.dX.isNegative then
-            i:= 130
-        else
-            i:= 50;
+             i:= 130
+        else i:= 50;
 
         smoke:= AddVisualGear(hwRound(Gear^.X)-round(cos((Gear^.DirAngle+i) * pi / 180)*20), hwRound(Gear^.Y)-round(sin((Gear^.DirAngle+i) * pi / 180)*20), vgtSmoke);
         if smoke <> nil then
@@ -504,7 +504,11 @@
     or (Gear^.Kind = gtBall) then
         CalcRotationDirAngle(Gear)
     else if (GameTicks and $1F) = 0 then
-        AddVisualGear(hwRound(Gear^.X), hwRound(Gear^.Y), vgtSmokeTrace)
+        begin
+        if hwRound(Gear^.Y) > cWaterLine then
+             AddVisualGear(hwRound(Gear^.X), hwRound(Gear^.Y), vgtBubble)
+        else AddVisualGear(hwRound(Gear^.X), hwRound(Gear^.Y), vgtSmokeTrace)
+        end
 end;
 
 ////////////////////////////////////////////////////////////////////////////////
@@ -521,24 +525,31 @@
         exit
         end;
     if (GameTicks and $3F) = 0 then
-        AddVisualGear(hwRound(Gear^.X), hwRound(Gear^.Y), vgtSmokeTrace);
+        begin
+        if hwRound(Gear^.Y) > cWaterLine then
+             AddVisualGear(hwRound(Gear^.X), hwRound(Gear^.Y), vgtBubble)
+        else AddVisualGear(hwRound(Gear^.X), hwRound(Gear^.Y), vgtSmokeTrace)
+        end
 end;
 
 ////////////////////////////////////////////////////////////////////////////////
 procedure doStepSnowball(Gear: PGear);
 var kick, i: LongInt;
     particle: PVisualGear;
+    gdX, gdY: hwFloat;
 begin
     AllInactive := false;
     if (GameFlags and gfMoreWind) = 0 then
         Gear^.dX := Gear^.dX + cWindSpeed;
+    gdX := Gear^.dX;
+    gdY := Gear^.dY;
     doStepFallingGear(Gear);
     CalcRotationDirAngle(Gear);
     if (Gear^.State and gstCollision) <> 0 then
         begin
-        kick:= hwRound((hwAbs(Gear^.dX)+hwAbs(Gear^.dY)) * _20);
-        Gear^.dY.isNegative:= (not Gear^.dY.isNegative);
-        Gear^.dX.isNegative:= (not Gear^.dX.isNegative);
+        kick:= hwRound((hwAbs(gdX)+hwAbs(gdY)) * _20);
+        Gear^.dX:= gdX;
+        Gear^.dY:= gdY;
         AmmoShove(Gear, 0, kick);
         for i:= 15 + kick div 10 downto 0 do
             begin
@@ -1418,7 +1429,9 @@
 ////////////////////////////////////////////////////////////////////////////////
 procedure doStepMine(Gear: PGear);
 var vg: PVisualGear;
+    dxdy: hwFloat;
 begin
+    if Gear^.Health = 0 then dxdy:= hwAbs(Gear^.dX)+hwAbs(Gear^.dY);
     if (Gear^.State and gstMoving) <> 0 then
         begin
         DeleteCI(Gear);
@@ -1436,14 +1449,8 @@
         doStepFallingGear(Gear);
     if (Gear^.Health = 0) then
         begin
-        if (not Gear^.dY.isNegative) and (Gear^.dY > _0_2) and (TestCollisionYwithGear(Gear, 1) <> 0) then
-            inc(Gear^.Damage, hwRound(Gear^.dY * _70))
-        else if (not Gear^.dX.isNegative) and (Gear^.dX > _0_2) and TestCollisionXwithGear(Gear, 1) then
-            inc(Gear^.Damage, hwRound(Gear^.dX * _70))
-        else if Gear^.dY.isNegative and (Gear^.dY < -_0_2) and (TestCollisionYwithGear(Gear, -1) <> 0) then
-            inc(Gear^.Damage, hwRound(Gear^.dY * -_70))
-        else if Gear^.dX.isNegative and (Gear^.dX < -_0_2) and TestCollisionXwithGear(Gear, -1) then
-            inc(Gear^.Damage, hwRound(Gear^.dX * -_70));
+        if (dxdy > _0_4) and (Gear^.State and gstCollision <> 0) then
+            inc(Gear^.Damage, hwRound(dxdy * _50));
 
         if ((GameTicks and $FF) = 0) and (Gear^.Damage > random(30)) then
             begin
@@ -1577,46 +1584,38 @@
 
 ///////////////////////////////////////////////////////////////////////////////
 
-(*
-TODO
-Increase damage as barrel smokes?
-Try tweaking friction some more
-*)
 procedure doStepRollingBarrel(Gear: PGear);
 var
     i: LongInt;
     particle: PVisualGear;
+    dxdy: hwFloat;
 begin
     if (Gear^.dY.QWordValue = 0) and (Gear^.dY.QWordValue = 0) and (TestCollisionYwithGear(Gear, 1) = 0) then
         SetLittle(Gear^.dY);
     Gear^.State := Gear^.State or gstAnimation;
+    if Gear^.Health < cBarrelHealth then Gear^.State:= Gear^.State and not gstFrozen;
 
     if ((Gear^.dX.QWordValue <> 0)
     or (Gear^.dY.QWordValue <> 0))  then
         begin
         DeleteCI(Gear);
         AllInactive := false;
-        if (not Gear^.dY.isNegative) and (Gear^.dY > _0_2) and (TestCollisionYwithGear(Gear, 1) <> 0) then
+        dxdy:= hwAbs(Gear^.dX)+hwAbs(Gear^.dY);
+        doStepFallingGear(Gear);
+        if (Gear^.State and gstCollision <> 0) and(dxdy > _0_4) then
             begin
-            Gear^.State := Gear^.State or gsttmpFlag;
-            inc(Gear^.Damage, hwRound(Gear^.dY * _70));
-            for i:= min(12, hwRound(Gear^.dY*_10)) downto 0 do
+            if (TestCollisionYwithGear(Gear, 1) <> 0) then
                 begin
-                particle := AddVisualGear(hwRound(Gear^.X) - 5 + Random(10), hwRound(Gear^.Y) + 12,vgtDust);
-                if particle <> nil then
-                    particle^.dX := particle^.dX + (Gear^.dX.QWordValue / 21474836480)
-                end
-            end
-        else if (not Gear^.dX.isNegative) and (Gear^.dX > _0_2) and TestCollisionXwithGear(Gear, 1) then
-                inc(Gear^.Damage, hwRound(Gear^.dX * _70))
-
-        else if Gear^.dY.isNegative and (Gear^.dY < -_0_2) and (TestCollisionYwithGear(Gear, -1) <> 0) then
-                inc(Gear^.Damage, hwRound(Gear^.dY * -_70))
-
-        else if Gear^.dX.isNegative and (Gear^.dX < -_0_2) and TestCollisionXwithGear(Gear, -1) then
-                inc(Gear^.Damage, hwRound(Gear^.dX * -_70));
-
-        doStepFallingGear(Gear);
+                Gear^.State := Gear^.State or gsttmpFlag;
+                for i:= min(12, hwRound(dxdy*_10)) downto 0 do
+                    begin
+                    particle := AddVisualGear(hwRound(Gear^.X) - 5 + Random(10), hwRound(Gear^.Y) + 12,vgtDust);
+                    if particle <> nil then
+                        particle^.dX := particle^.dX + (Gear^.dX.QWordValue / 21474836480)
+                    end
+                end;
+            inc(Gear^.Damage, hwRound(dxdy * _50))
+            end;
         CalcRotationDirAngle(Gear);
         //CheckGearDrowning(Gear)
         end
@@ -1655,23 +1654,19 @@
     dec(Gear^.Health, Gear^.Damage);
     Gear^.Damage := 0;
     if Gear^.Health <= 0 then
-        Gear^.doStep := @doStepCase;
-    // Hand off to doStepCase for the explosion
-
+        doStepCase(Gear);
 end;
 
 procedure doStepCase(Gear: PGear);
 var
     i, x, y: LongInt;
     k: TGearType;
-    exBoom: boolean;
     dX, dY: HWFloat;
     hog: PHedgehog;
     sparkles: PVisualGear;
     gi: PGear;
 begin
     k := Gear^.Kind;
-    exBoom := false;
 
     if (Gear^.Message and gmDestroy) > 0 then
         begin
@@ -1684,22 +1679,54 @@
                 Gear^.Message := Gear^.Message and (not (gmLJump or gmHJump));
         exit
         end;
+    if (k = gtExplosives) and (Gear^.Health < cBarrelHealth) then Gear^.State:= Gear^.State and not gstFrozen;
+
+    if ((k <> gtExplosives) and (Gear^.Damage > 0)) or ((k = gtExplosives) and (Gear^.Health<=0)) then
+        begin
+        x := hwRound(Gear^.X);
+        y := hwRound(Gear^.Y);
+        hog:= Gear^.Hedgehog;
+
+        DeleteGear(Gear);
+        // <-- delete gear!
+
+        if k = gtCase then
+            begin
+            doMakeExplosion(x, y, 25, hog, EXPLAutoSound);
+            for i:= 0 to 63 do
+                AddGear(x, y, gtFlame, 0, _0, _0, 0);
+            end
+        else if k = gtExplosives then
+                begin
+                doMakeExplosion(x, y, 75, hog, EXPLAutoSound);
+                for i:= 0 to 31 do
+                    begin
+                    dX := AngleCos(i * 64) * _0_5 * (getrandomf + _1);
+                    dY := AngleSin(i * 64) * _0_5 * (getrandomf + _1);
+                    AddGear(x, y, gtFlame, 0, dX, dY, 0);
+                    AddGear(x, y, gtFlame, gstTmpFlag, -dX, -dY, 0);
+                    end
+                end;
+            exit
+        end;
 
     if k = gtExplosives then
         begin
         //if V > _0_03 then Gear^.State:= Gear^.State or gstAnimation;
         if (hwAbs(Gear^.dX) > _0_15) or ((hwAbs(Gear^.dY) > _0_15) and (hwAbs(Gear^.dX) > _0_02)) then
+            begin
             Gear^.doStep := @doStepRollingBarrel;
-
-        if (Gear^.Health > 0) and ((Gear^.Health * 100 div cBarrelHealth) < random(90)) and ((GameTicks and $FF) = 0) then
+            exit;
+            end
+        else Gear^.dX:= _0;
+
+        if ((Gear^.Health * 100 div cBarrelHealth) < random(90)) and ((GameTicks and $FF) = 0) then
             if (cBarrelHealth div Gear^.Health) > 2 then
                 AddVisualGear(hwRound(Gear^.X) - 16 + Random(32), hwRound(Gear^.Y) - 2, vgtSmoke)
-        else
-            AddVisualGear(hwRound(Gear^.X) - 16 + Random(32), hwRound(Gear^.Y) - 2, vgtSmokeWhite);
+            else
+                AddVisualGear(hwRound(Gear^.X) - 16 + Random(32), hwRound(Gear^.Y) - 2, vgtSmokeWhite);
         dec(Gear^.Health, Gear^.Damage);
         Gear^.Damage := 0;
-        if Gear^.Health <= 0 then
-            exBoom := true;
         end
     else
         begin
@@ -1751,34 +1778,6 @@
             end
         end;
 
-    if (Gear^.Damage > 0) or exBoom then
-        begin
-        x := hwRound(Gear^.X);
-        y := hwRound(Gear^.Y);
-        hog:= Gear^.Hedgehog;
-
-        DeleteGear(Gear);
-        // <-- delete gear!
-
-        if k = gtCase then
-            begin
-            doMakeExplosion(x, y, 25, hog, EXPLAutoSound);
-            for i:= 0 to 63 do
-                AddGear(x, y, gtFlame, 0, _0, _0, 0);
-            end
-        else if k = gtExplosives then
-                begin
-                doMakeExplosion(x, y, 75, hog, EXPLAutoSound);
-                for i:= 0 to 31 do
-                    begin
-                    dX := AngleCos(i * 64) * _0_5 * (getrandomf + _1);
-                    dY := AngleSin(i * 64) * _0_5 * (getrandomf + _1);
-                    AddGear(x, y, gtFlame, 0, dX, dY, 0);
-                    AddGear(x, y, gtFlame, gstTmpFlag, -dX, -dY, 0);
-                    end
-                end;
-            exit
-        end;
 
     if (Gear^.dY.QWordValue <> 0)
     or (TestCollisionYwithGear(Gear, 1) = 0) then
@@ -2432,25 +2431,24 @@
 var
     dX, dY, gdX, gdY: hwFloat;
     i: LongInt;
-    dxn, dyn: boolean;
 begin
     AllInactive := false;
-    dxn := Gear^.dX.isNegative;
-    dyn := Gear^.dY.isNegative;
+    gdX := Gear^.dX;
+    gdY := Gear^.dY;
 
     doStepFallingGear(Gear);
     if (Gear^.State and gstCollision) <> 0 then
         begin
-        gdX := Gear^.dX;
-        gdY := Gear^.dY;
         doMakeExplosion(hwRound(Gear^.X), hwRound(Gear^.Y), 20, Gear^.Hedgehog, EXPLAutoSound);
-
-        gdX.isNegative := not dxn;
-        gdY.isNegative := not dyn;
+        gdX.isNegative := not gdX.isNegative;
+        gdY.isNegative := not gdY.isNegative;
+        gdX:= gdX*_0_2;
+        gdY:= gdY*_0_2;
+
         for i:= 0 to 4 do
             begin
-            dX := gdX + (GetRandomf - _0_5) * _0_03;
-            dY := gdY + (GetRandomf - _0_5) * _0_03;
+            dX := gdX + rndSign(GetRandomf) * _0_03;
+            dY := gdY + rndSign(GetRandomf) * _0_03;
             AddGear(hwRound(Gear^.X), hwRound(Gear^.Y), gtCluster, 0, dX, dY, 25);
             end;
 
@@ -2459,7 +2457,11 @@
         end;
 
     if (GameTicks and $3F) = 0 then
-        AddVisualGear(hwRound(Gear^.X), hwRound(Gear^.Y), vgtSmokeTrace)
+        begin
+        if hwRound(Gear^.Y) > cWaterLine then
+             AddVisualGear(hwRound(Gear^.X), hwRound(Gear^.Y), vgtBubble)
+        else AddVisualGear(hwRound(Gear^.X), hwRound(Gear^.Y), vgtSmokeTrace)
+        end
 end;
 
 ////////////////////////////////////////////////////////////////////////////////
@@ -2767,7 +2769,6 @@
 procedure doStepSeductionWork(Gear: PGear);
 var i: LongInt;
     hogs: PGearArrayS;
-    len: Integer;
 begin
     AllInactive := false;
     hogs := GearsNear(Gear^.X, Gear^.Y, gtHedgehog, Gear^.Radius);
@@ -2960,7 +2961,11 @@
     doStepFallingGear(Gear);
 
     if (GameTicks and $3F) = 0 then
-        AddVisualGear(hwRound(Gear^.X), hwRound(Gear^.Y), vgtSmokeTrace);
+        begin
+        if hwRound(Gear^.Y) > cWaterLine then
+             AddVisualGear(hwRound(Gear^.X), hwRound(Gear^.Y), vgtBubble)
+        else AddVisualGear(hwRound(Gear^.X), hwRound(Gear^.Y), vgtSmokeTrace)
+        end;
 
     if ((Gear^.State and gstCollision) <> 0) then
         begin
@@ -3210,10 +3215,11 @@
     move:= _0_02;
     fuel:= 5;
     end;*)
-
-    if Gear^.Health > 0 then
-        begin
-        if (HHGear^.Message and gmUp) <> 0 then
+    if HHGear^.Message and gmPrecise <> 0 then
+        HedgehogChAngle(HHGear)
+    else if Gear^.Health > 0 then
+        begin
+        if HHGear^.Message and gmUp <> 0 then
             begin
             if (not HHGear^.dY.isNegative) or (HHGear^.Y > -_256) then
                 begin
@@ -3280,10 +3286,12 @@
         Gear^.Tex := RenderStringTex(trmsg[sidFuel] + ': ' + inttostr(i) + '%', cWhiteColor, fntSmall)
         end;
 
-    if HHGear^.Message and (gmAttack or gmUp or gmPrecise or gmLeft or gmRight) <> 0 then
+    if (HHGear^.Message and (gmAttack or gmUp or gmLeft or gmRight) <> 0) and
+       (HHGear^.Message and gmPrecise = 0) then
         Gear^.State := Gear^.State and (not gsttmpFlag);
 
-    HHGear^.Message := HHGear^.Message and (not (gmUp or gmPrecise or gmLeft or gmRight));
+    if HHGear^.Message and gmPrecise = 0 then
+        HHGear^.Message := HHGear^.Message and (not (gmUp or gmLeft or gmRight));
     HHGear^.State := HHGear^.State or gstMoving;
 
     Gear^.X := HHGear^.X;
@@ -3300,7 +3308,7 @@
     if // (Gear^.Health = 0)
         (HHGear^.Damage <> 0)
         //or CheckGearDrowning(HHGear)
-        or (cWaterLine + 512 < hwRound(HHGear^.Y))
+        or (cWaterLine + cVisibleWater * 4 < hwRound(HHGear^.Y))
         or (TurnTimeLeft = 0)
         // allow brief ground touches - to be fair on this, might need another counter
         or (((GameTicks and $1FF) = 0) and (not HHGear^.dY.isNegative) and (TestCollisionYwithGear(HHGear, 1) <> 0))
@@ -3701,7 +3709,11 @@
             // wow! good candidate there, let's see if the distance and direction is okay!
             if hasdxy then
                 begin
-                s := r / Distance(iterator^.dX, iterator^.dY);
+                s := Distance(iterator^.dX, iterator^.dY);
+                // if the resulting distance is 0 skip this gear
+                if s.QWordValue = 0 then
+                    continue;
+                s := r / s;
                 ox:= iterator^.X + s * iterator^.dX;
                 oy:= iterator^.Y + s * iterator^.dY;
                 end
@@ -4650,7 +4662,6 @@
     resgear: PGear;
     hh: PHedgehog;
     i: LongInt;
-    len: Integer;
 begin
     if (TurnTimeLeft > 0) then
         dec(TurnTimeLeft);
@@ -4743,7 +4754,6 @@
     graves: PGearArrayS;
     hh: PHedgehog;
     i: LongInt;
-    len: Integer;
 begin
     AllInactive := false;
     graves := GearsNear(Gear^.X, Gear^.Y, gtGrave, Gear^.Radius);
@@ -5093,7 +5103,18 @@
     Gear^.Tex := RenderStringTex(trmsg[sidFuel] + ': ' + inttostr(t) +
               '%', cWhiteColor, fntSmall)
     end;
-    if GameTicks mod 10 = 0 then dec(Gear^.Health);
+    if Gear^.Message and (gmUp or gmDown) <> 0 then
+        begin
+        StopSoundChan(Gear^.SoundChannel);
+        Gear^.SoundChannel:= -1;
+        if GameTicks mod 40 = 0 then dec(Gear^.Health)
+        end
+    else 
+        begin
+        if Gear^.SoundChannel = -1 then
+            Gear^.SoundChannel := LoopSound(sndIceBeam);
+        if GameTicks mod 10 = 0 then dec(Gear^.Health)
+        end
 end;
 
 
@@ -5110,17 +5131,6 @@
     LastDamage:= nil;
     X:= Hedgehog^.Gear^.X;
     Y:= Hedgehog^.Gear^.Y;
-    //unfreeze all semifrozen hogs - make this generic hog cleanup
-(*
-    iter := GearsList;
-    while iter <> nil do
-        begin
-        if (iter^.Kind = gtHedgehog) and
-        (iter^.Hedgehog^.Effects[heFrozen] and $FF = 0) then
-        iter^.Hedgehog^.Effects[heFrozen]:= 0;
-        iter:= iter^.NextGear
-        end
-*)
   end;
 end;
 
@@ -5135,21 +5145,22 @@
 const iceRadius = 32;
 const iceHeight = 40;
 var
-    HHGear: PGear;
+    HHGear, iter: PGear;
     landRect: TSDL_Rect;
     ndX, ndY: hwFloat;
-    i, t, gX, gY: LongInt;
+    i, j, t, gX, gY: LongInt;
     hogs: PGearArrayS;
-    len: Integer;
+    vg: PVisualGear;
 begin
     HHGear := Gear^.Hedgehog^.Gear;
-    if (Gear^.Message and gmAttack <> 0) or (Gear^.Health = 0) or (HHGear = nil) or (HHGear^.Damage <> 0) then
-        begin
+    if (Gear^.Message and gmAttack <> 0) or (Gear^.Health = 0) or (HHGear = nil) or (HHGear^.Damage <> 0) or (HHGear^.dX.QWordValue > 4294967)  then
+        begin
+        StopSoundChan(Gear^.SoundChannel);
         DeleteGear(Gear);
         AfterAttack;
         exit
-        end
-    else if Gear^.Message and (gmUp or gmDown) = 0 then updateFuel(Gear);
+        end;
+    updateFuel(Gear);
 
     with Gear^ do
         begin
@@ -5173,7 +5184,7 @@
 
             if Target.X <> NoPointX then
                 begin
-                CheckCollisionWithLand(Gear);
+                CheckCollision(Gear);
                 if (State and gstCollision) <> 0 then
                     begin
                     if Timer = iceWaitCollision then
@@ -5205,6 +5216,49 @@
                     landRect.w := min(2*iceRadius, LAND_WIDTH - landRect.x - 1);
                     landRect.h := min(2*iceRadius, LAND_HEIGHT - landRect.y - 1);
                     UpdateLandTexture(landRect.x, landRect.w, landRect.y, landRect.h, true);
+                    
+                    // Freeze nearby mines/explosives/cases too
+                    iter := GearsList;
+                    while iter <> nil do
+                        begin
+                        if (iter^.State and gstFrozen = 0) and
+                           ((iter^.Kind = gtExplosives) or (iter^.Kind = gtCase) or (iter^.Kind = gtMine)) and 
+                           (abs(iter^.X.Round-target.x)+abs(iter^.Y.Round-target.y)+2<2*iceRadius) and (Distance(iter^.X-int2hwFloat(target.x),iter^.Y-int2hwFloat(target.y))<int2hwFloat(iceRadius*2)) then
+                            begin
+                            for t:= 0 to 5 do
+                                begin
+                                vg:= AddVisualGear(hwRound(iter^.X)+random(4)-8, hwRound(iter^.Y)+random(8), vgtDust, 1);
+                                if vg <> nil then
+                                    begin
+                                    i:= random(100) + 155;
+                                    vg^.Tint:= i shl 24 or i shl 16 or $FF shl 8 or Longword(random(200) + 55);
+                                    vg^.Angle:= random(360);
+                                    vg^.dx:= 0.001 * random(80);
+                                    vg^.dy:= 0.001 * random(80)
+                                    end
+                                end;
+                            PlaySound(sndHogFreeze);
+                            iter^.State:= iter^.State or gstFrozen;
+                            if iter^.Kind = gtMine then // dud mine block
+                                begin
+                                vg:= AddVisualGear(hwRound(iter^.X) - 4  + Random(8), hwRound(iter^.Y) - 4 - Random(4), vgtSmoke);
+                                if vg <> nil then
+                                    vg^.Scale:= 0.5;
+                                PlaySound(sndVaporize);
+                                iter^.Health := 0;
+                                iter^.Damage := 0;
+                                iter^.State := iter^.State and (not gstAttacking)
+                                end
+                            else if iter^.Kind = gtCase then
+                                begin
+                                DeleteCI(iter);
+                                AddGearCI(iter)
+                                end
+                            else // gtExplosives
+                                iter^.Health:= iter^.Health + cBarrelHealth
+                            end;
+                        iter:= iter^.NextGear
+                        end;
 
                     // FillRoundInLandWithIce(Target.X, Target.Y, iceRadius);
                     SetAllHHToActive(true);
@@ -5213,10 +5267,26 @@
 
                 if (Timer = iceCollideWithWater) and ((GameTicks - Power) > groundFreezingTime) then
                     begin
+                    PlaySound(sndHogFreeze);
                     DrawIceBreak(Target.X, cWaterLine - iceHeight, iceRadius, iceHeight);
                     SetAllHHToActive(true);
                     Timer := iceWaitCollision;
                     end;
+(*
+ Any ideas for something that would look good here?
+                if (Target.X <> NoPointX) and ((Timer = iceCollideWithGround) or (Timer = iceCollideWithWater)) and (GameTicks mod max((groundFreezingTime-((GameTicks - Power)*2)),2) = 0) then //and CheckLandValue(Target.X, Target.Y, lfIce) then
+                    begin
+                        vg:= AddVisualGear(Target.X+random(20)-10, Target.Y+random(40)-10, vgtDust, 1);
+                        if vg <> nil then
+                            begin
+                            i:= random(100) + 155;
+                            vg^.Tint:= IceColor or $FF;
+                            vg^.Angle:= random(360);
+                            vg^.dx:= 0.001 * random(80);
+                            vg^.dy:= 0.001 * random(80)
+                            end
+                    end;
+*)
 
 // freeze nearby hogs
                 hogs := GearsNear(int2hwFloat(Target.X), int2hwFloat(Target.Y), gtHedgehog, Gear^.Radius*2);
@@ -5229,7 +5299,10 @@
                                 if hogs.ar^[i]^.Hedgehog^.Effects[heFrozen] < 256 then
                                     hogs.ar^[i]^.Hedgehog^.Effects[heFrozen] := hogs.ar^[i]^.Hedgehog^.Effects[heFrozen] + 1
                                 else if hogs.ar^[i]^.Hedgehog^.Effects[heFrozen] = 256 then
-                                    hogs.ar^[i]^.Hedgehog^.Effects[heFrozen]:= 200000;//cHedgehogTurnTime + cReadyDelay
+                                    begin
+                                    hogs.ar^[i]^.Hedgehog^.Effects[heFrozen]:= 200000-1;//cHedgehogTurnTime + cReadyDelay
+                                    PlaySound(sndHogFreeze);
+                                    end;
                                 end;
                 inc(Pos)
                 end
@@ -5242,14 +5315,16 @@
                 X:= HHGear^.X;
                 Y:= HHGear^.Y
                 end;
-            {if (gX > max(LAND_WIDTH,4096)*2) or
+            if (gX > max(LAND_WIDTH,4096)*2) or
                     (gX < -max(LAND_WIDTH,4096)) or
                     (gY < -max(LAND_HEIGHT,4096)) or
                     (gY > max(LAND_HEIGHT,4096)+512) then
-            begin
-                X:= HHGear^.X;
-                Y:= HHGear^.Y
-            end}
+                begin
+                //X:= HHGear^.X;
+                //Y:= HHGear^.Y
+                Target.X:= gX;
+                Target.Y:= gY;
+                end
         end
     end;
 end;
--- a/hedgewars/PNGh.pas	Thu Apr 04 14:37:19 2013 +0200
+++ b/hedgewars/PNGh.pas	Tue Jun 04 22:28:12 2013 +0200
@@ -1,6 +1,6 @@
 (*
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2012 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2013 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
--- a/hedgewars/SDLh.pas	Thu Apr 04 14:37:19 2013 +0200
+++ b/hedgewars/SDLh.pas	Tue Jun 04 22:28:12 2013 +0200
@@ -1,6 +1,6 @@
 (*
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2012 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2013 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
@@ -35,12 +35,6 @@
 {$ENDIF}
 
 {$IFDEF UNIX}
-    {$IFNDEF DARWIN}
-        {necessary for statically linking physfs (divdi3 undefined on 32 bit)}
-        {$IFDEF CPU32}
-            {$linklib stdc++}
-        {$ENDIF}
-    {$ENDIF}
     {$IFDEF HAIKU}
         {$linklib root}
     {$ELSE}
@@ -962,12 +956,11 @@
 procedure SDL_StartTextInput; cdecl; external SDLLibName;
 
 function  SDL_PeepEvents(event: PSDL_Event; numevents: LongInt; action: TSDL_eventaction; minType, maxType: LongWord): LongInt; cdecl; external SDLLibName;
-function  SDL_CreateThread(fn: Pointer; name: PChar; data: Pointer): PSDL_Thread; cdecl; external SDLLibName;
 {$ELSE}
-function  SDL_CreateThread(fn: Pointer; data: Pointer): PSDL_Thread; cdecl; external SDLLibName;
 function  SDL_PeepEvents(event: PSDL_Event; numevents: LongInt; action: TSDL_eventaction; mask: LongWord): LongInt; cdecl; external SDLLibName;
 {$ENDIF}
 
+
 function  SDL_GetMouseState(x, y: PLongInt): Byte; cdecl; external SDLLibName;
 function  SDL_GetKeyName(key: LongWord): PChar; cdecl; external SDLLibName;
 function  SDL_GetScancodeName(key: LongWord): PChar; cdecl; external SDLLibName;
@@ -985,7 +978,13 @@
 procedure SDL_WM_SetCaption(title: PChar; icon: PChar); cdecl; external SDLLibName;
 function  SDL_WM_ToggleFullScreen(surface: PSDL_Surface): LongInt; cdecl; external SDLLibName;
 
+
+// remember to mark the threaded functions as 'cdecl; export;'
+// (or have fun debugging nil arguments)
+function  SDL_CreateThread(fn: Pointer; {$IFDEF SDL13}name: PChar;{$ENDIF} data: Pointer): PSDL_Thread; cdecl; external SDLLibName;
 procedure SDL_WaitThread(thread: PSDL_Thread; status: PLongInt); cdecl; external SDLLibName;
+procedure SDL_KillThread(thread: PSDL_Thread); cdecl; external SDLLibName;
+
 function  SDL_CreateMutex: PSDL_mutex; cdecl; external SDLLibName;
 procedure SDL_DestroyMutex(mutex: PSDL_mutex); cdecl; external SDLLibName;
 function  SDL_LockMutex(mutex: PSDL_mutex): LongInt; cdecl; external SDLLibName name 'SDL_mutexP';
--- a/hedgewars/VGSHandlers.inc	Thu Apr 04 14:37:19 2013 +0200
+++ b/hedgewars/VGSHandlers.inc	Tue Jun 04 22:28:12 2013 +0200
@@ -1,6 +1,6 @@
 (*
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2012 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2013 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
--- a/hedgewars/config.inc.in	Thu Apr 04 14:37:19 2013 +0200
+++ b/hedgewars/config.inc.in	Tue Jun 04 22:28:12 2013 +0200
@@ -1,6 +1,6 @@
 (*
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2012 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2013 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
--- a/hedgewars/hwLibrary.pas	Thu Apr 04 14:37:19 2013 +0200
+++ b/hedgewars/hwLibrary.pas	Tue Jun 04 22:28:12 2013 +0200
@@ -1,6 +1,6 @@
 (*
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2012 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2013 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
--- a/hedgewars/hwengine.pas	Thu Apr 04 14:37:19 2013 +0200
+++ b/hedgewars/hwengine.pas	Tue Jun 04 22:28:12 2013 +0200
@@ -1,6 +1,6 @@
 (*
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2012 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2013 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
@@ -32,7 +32,7 @@
 uses SDLh, uMisc, uConsole, uGame, uConsts, uLand, uAmmos, uVisualGears, uGears, uStore, uWorld, uInputHandler
      , uSound, uScript, uTeams, uStats, uIO, uLocale, uChat, uAI, uAIMisc, uAILandMarks, uLandTexture, uCollisions
      , SysUtils, uTypes, uVariables, uCommands, uUtils, uCaptions, uDebug, uCommandHandlers, uLandPainted
-     , uPhysFSLayer, uCursor
+     , uPhysFSLayer, uCursor, uRandom
      {$IFDEF USE_VIDEO_RECORDING}, uVideoRec {$ENDIF}
      {$IFDEF USE_TOUCH_INTERFACE}, uTouch {$ENDIF}
      {$IFDEF ANDROID}, GLUnit{$ENDIF}
@@ -94,6 +94,7 @@
                 DisableSomeWeapons;
             AddClouds;
             AddFlakes;
+            SetRandomSeed(cSeed, false);
             AssignHHCoords;
             AddMiscGears;
             StoreLoad(false);
@@ -107,7 +108,7 @@
             ScriptCall('onGameStart');
             GameState:= gsGame;
             end;
-        gsConfirm, gsGame:
+        gsConfirm, gsGame, gsChat:
             begin
             if not cOnlyStats then
 {$IFDEF WEBGL}
@@ -119,12 +120,6 @@
             DoGameTick(Lag);
             if not cOnlyStats then ProcessVisualGears(Lag);
             end;
-        gsChat:
-            begin
-            if not cOnlyStats then DrawWorld(Lag);
-            DoGameTick(Lag);
-            if not cOnlyStats then ProcessVisualGears(Lag);
-            end;
         gsExit:
             begin
             DoTimer:= true;
@@ -200,10 +195,10 @@
                     // sdl on iphone supports only ashii keyboards and the unicode field is deprecated in sdl 1.3
                         KeyPressChat(SDL_GetKeyFromScancode(event.key.keysym.sym), event.key.keysym.sym); //TODO correct for keymodifiers
                         end
-                    else
-                        ProcessKey(event.key);
+                    else 
+                        if GameState >= gsGame then ProcessKey(event.key);
                 SDL_KEYUP:
-                    if GameState <> gsChat then
+                    if (GameState <> gsChat) and (GameState >= gsGame) then
                         ProcessKey(event.key);
 
                 SDL_WINDOWEVENT:
@@ -245,22 +240,19 @@
                     if GameState = gsChat then
                         KeyPressChat(event.key.keysym.unicode, event.key.keysym.sym)
                     else
-                        ProcessKey(event.key);
+                        if GameState >= gsGame then ProcessKey(event.key);
                 SDL_KEYUP:
-                    if GameState <> gsChat then
+                    if (GameState <> gsChat) and (GameState >= gsGame) then
                         ProcessKey(event.key);
 
                 SDL_MOUSEBUTTONDOWN:
                     if GameState = gsConfirm then
-                    begin
-                        resetPosition();
-                        ParseCommand('quit', true);
-                    end
+                        ParseCommand('quit', true)
                     else
-                        ProcessMouse(event.button, true);
+                        if (GameState >= gsGame) then ProcessMouse(event.button, true);
 
                 SDL_MOUSEBUTTONUP:
-                    ProcessMouse(event.button, false);
+                    if (GameState >= gsGame) then ProcessMouse(event.button, false);
 
                 SDL_ACTIVEEVENT:
                     if (event.active.state and SDL_APPINPUTFOCUS) <> 0 then
@@ -390,7 +382,7 @@
                      ' (' + cHashString + ') with protocol #' + inttostr(cNetProtoVersion));
     AddFileLog('Prefix: "' + PathPrefix +'"');
     AddFileLog('UserPrefix: "' + UserPathPrefix +'"');
-    
+
     for i:= 0 to ParamCount do
         AddFileLog(inttostr(i) + ': ' + ParamStr(i));
 
--- a/hedgewars/options.inc	Thu Apr 04 14:37:19 2013 +0200
+++ b/hedgewars/options.inc	Tue Jun 04 22:28:12 2013 +0200
@@ -1,6 +1,6 @@
 (*
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2012 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2013 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
@@ -39,7 +39,6 @@
 
 {$IFDEF ANDROID}
     {$DEFINE MOBILE}
-    {$DEFINE USE_SDLTHREADS}
     {$DEFINE USE_CONTEXT_RESTORE}
     {$DEFINE Java_Prefix:= 'Java_org_hedgewars_hedgeroid_EngineProtocol_PascalExports_'}
 {$ENDIF}
--- a/hedgewars/uAI.pas	Thu Apr 04 14:37:19 2013 +0200
+++ b/hedgewars/uAI.pas	Tue Jun 04 22:28:12 2013 +0200
@@ -1,6 +1,6 @@
 (*
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2012 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2013 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
@@ -30,7 +30,7 @@
 
 implementation
 uses uConsts, SDLh, uAIMisc, uAIAmmoTests, uAIActions,
-    uAmmos, SysUtils{$IFNDEF USE_SDLTHREADS} {$IFDEF UNIX}, cthreads{$ENDIF} {$ENDIF}, uTypes,
+    uAmmos, SysUtils, uTypes,
     uVariables, uCommands, uUtils, uDebug, uAILandMarks;
 
 {$IFDEF AI_MAINTHREAD}
@@ -41,25 +41,21 @@
 var BestActions: TActions;
     CanUseAmmo: array [TAmmoType] of boolean;
     StopThinking: boolean;
-{$IFDEF USE_SDLTHREADS} 
-    ThinkThread: PSDL_Thread = nil;
-{$ELSE}
-    ThinkThread: TThreadID;
-{$ENDIF}
-    hasThread: LongInt;
-    StartTicks: LongInt;
+    StartTicks: Longword;
+    ThinkThread: PSDL_Thread;
+    ThreadLock: PSDL_Mutex;
 
 procedure FreeActionsList;
 begin
     AddFileLog('FreeActionsList called');
-    if hasThread <> 0 then
-    begin
-        AddFileLog('Waiting AI thread to finish');
+    if (ThinkThread <> nil) then
+        begin
         StopThinking:= true;
-        repeat
-            SDL_Delay(10)
-        until hasThread = 0
-    end;
+        SDL_WaitThread(ThinkThread, nil);
+        end;
+    SDL_LockMutex(ThreadLock);
+    ThinkThread:= nil;
+    SDL_UnlockMutex(ThreadLock);
 
     with CurrentHedgehog^ do
         if Gear <> nil then
@@ -71,7 +67,6 @@
 end;
 
 
-
 const cBranchStackSize = 12;
 type TStackEntry = record
                    WastedTicks: Longword;
@@ -128,22 +123,18 @@
         with Me^.Hedgehog^ do
             a:= CurAmmoType;
         aa:= a;
-{$IFDEF USE_SDLTHREADS}
-        SDL_delay(0);    //ThreadSwitch was only a hint
-{$ELSE}
-        ThreadSwitch();
-{$ENDIF}       
+        SDL_delay(0); // hint to let the context switch run
         repeat
-        if (CanUseAmmo[a]) 
-            and ((not rareChecks) or ((AmmoTests[a].flags and amtest_Rare) = 0)) 
-            and ((i = 0) or ((AmmoTests[a].flags and amtest_NoTarget) = 0)) 
+        if (CanUseAmmo[a])
+            and ((not rareChecks) or ((AmmoTests[a].flags and amtest_Rare) = 0))
+            and ((i = 0) or ((AmmoTests[a].flags and amtest_NoTarget) = 0))
             then
             begin
 {$HINTS OFF}
-            Score:= AmmoTests[a].proc(Me, Targets.ar[i].Point, BotLevel, ap);
+            Score:= AmmoTests[a].proc(Me, Targets.ar[i], BotLevel, ap);
 {$HINTS ON}
             if Actions.Score + Score > BestActions.Score then
-                if (BestActions.Score < 0) or (Actions.Score + Score > BestActions.Score + Byte(BotLevel) * 2048) then
+                if (BestActions.Score < 0) or (Actions.Score + Score > BestActions.Score + Byte(BotLevel - 1) * 2048) then
                     begin
                     BestActions:= Actions;
                     inc(BestActions.Score, Score);
@@ -155,10 +146,10 @@
                         AddAction(BestActions, aia_LookRight, 0, 200, 0, 0)
                     else if (ap.Angle < 0) then
                         AddAction(BestActions, aia_LookLeft, 0, 200, 0, 0);
-                    
+
                     if (Ammoz[a].Ammo.Propz and ammoprop_Timerable) <> 0 then
                         AddAction(BestActions, aia_Timer, ap.Time div 1000, 400, 0, 0);
-                        
+
                     if (Ammoz[a].Ammo.Propz and ammoprop_NoCrosshair) = 0 then
                         begin
                         dAngle:= LongInt(Me^.Angle) - Abs(ap.Angle);
@@ -173,23 +164,23 @@
                             AddAction(BestActions, aia_Down, aim_release, -dAngle, 0, 0)
                             end
                         end;
-                        
+
                     if (Ammoz[a].Ammo.Propz and ammoprop_NeedTarget) <> 0 then
                         begin
                         AddAction(BestActions, aia_Put, 0, 1, ap.AttackPutX, ap.AttackPutY)
                         end;
-                        
+
                     if (Ammoz[a].Ammo.Propz and ammoprop_OscAim) <> 0 then
                         begin
                         AddAction(BestActions, aia_attack, aim_push, 350 + random(200), 0, 0);
                         AddAction(BestActions, aia_attack, aim_release, 1, 0, 0);
-                         
+
                         if abs(ap.Angle) > 32 then
                            begin
                            AddAction(BestActions, aia_Down, aim_push, 100 + random(150), 0, 0);
                            AddAction(BestActions, aia_Down, aim_release, 32, 0, 0);
                            end;
-                        
+
                         AddAction(BestActions, aia_waitAngle, ap.Angle, 250, 0, 0);
                         AddAction(BestActions, aia_attack, aim_push, 1, 0, 0);
                         AddAction(BestActions, aia_attack, aim_release, 1, 0, 0);
@@ -248,21 +239,21 @@
 
 if (Me^.State and gstAttacked) = 0 then
     TestAmmos(Actions, Me, false);
-    
+
 BestRate:= RatePlace(Me);
 BaseRate:= Max(BestRate, 0);
 
-// switch to 'skip' if we can't move because of mouse cursor being shown
+// switch to 'skip' if we cannot move because of mouse cursor being shown
 if (Ammoz[Me^.Hedgehog^.CurAmmoType].Ammo.Propz and ammoprop_NeedTarget) <> 0 then
     AddAction(Actions, aia_Weapon, Longword(amSkip), 100 + random(200), 0, 0);
-    
-if ((CurrentHedgehog^.MultiShootAttacks = 0) or ((Ammoz[Me^.Hedgehog^.CurAmmoType].Ammo.Propz and ammoprop_NoMoveAfter) = 0)) 
+
+if ((CurrentHedgehog^.MultiShootAttacks = 0) or ((Ammoz[Me^.Hedgehog^.CurAmmoType].Ammo.Propz and ammoprop_NoMoveAfter) = 0))
     and (GameFlags and gfArtillery = 0) then
     begin
     tmp:= random(2) + 1;
     Push(0, Actions, Me^, tmp);
     Push(0, Actions, Me^, tmp xor 3);
-    
+
     while (Stack.Count > 0) and (not StopThinking) do
         begin
         Pop(ticks, Actions, Me^);
@@ -272,7 +263,7 @@
             AddAction(Actions, aia_WaitXL, hwRound(Me^.X), 0, 0, 0)
         else
             AddAction(Actions, aia_WaitXR, hwRound(Me^.X), 0, 0, 0);
-        
+
         steps:= 0;
 
         while (not StopThinking) do
@@ -285,8 +276,8 @@
             if ticks > maxticks then
                 break;
 
-            if (BotLevel < 5) 
-                and (GoInfo.JumpType = jmpHJump) 
+            if (BotLevel < 5)
+                and (GoInfo.JumpType = jmpHJump)
                 and (not checkMark(hwRound(Me^.X), hwRound(Me^.Y), markHJumped))
                 then // hjump support
                 begin
@@ -300,7 +291,7 @@
                             AddAction(MadeActions, aia_LookRight, 0, 200, 0, 0)
                         else
                             AddAction(MadeActions, aia_LookLeft, 0, 200, 0, 0);
-                            
+
                         AddAction(MadeActions, aia_HJump, 0, 305 + random(50), 0, 0);
                         AddAction(MadeActions, aia_HJump, 0, 350, 0, 0);
                         end;
@@ -308,8 +299,8 @@
                     Push(ticks, Stack.States[Pred(Stack.Count)].MadeActions, AltMe, Me^.Message)
                     end;
                 end;
-            if (BotLevel < 3) 
-                and (GoInfo.JumpType = jmpLJump) 
+            if (BotLevel < 3)
+                and (GoInfo.JumpType = jmpLJump)
                 and (not checkMark(hwRound(Me^.X), hwRound(Me^.Y), markLJumped))
                 then // ljump support
                 begin
@@ -328,7 +319,7 @@
 
                 // push current position so we proceed from it after checking jump+forward walk opportunities
                 if CanGo then Push(ticks, Actions, Me^, Me^.Message);
-                
+
                 // first check where we go after jump walking forward
                 if Push(ticks, Actions, AltMe, Me^.Message) then
                     with Stack.States[Pred(Stack.Count)] do
@@ -336,10 +327,10 @@
                 break
                 end;
 
-            // 'not CanGO' means we can't go straight, possible jumps are checked above
-            if (not CanGo) then
+            // 'not CanGO' means we cannot go straight, possible jumps are checked above
+            if not CanGo then
                 break;
-            
+
              inc(steps);
              Actions.actions[Pred(Actions.Count)].Param:= hwRound(Me^.X);
              Rate:= RatePlace(Me);
@@ -352,17 +343,17 @@
                 end
             else if Rate < BestRate then
                 break;
-                
+
             if ((Me^.State and gstAttacked) = 0) and ((steps mod 4) = 0) then
                 begin
                 if (steps > 4) and checkMark(hwRound(Me^.X), hwRound(Me^.Y), markWalkedHere) then
-                    break;                    
+                    break;
                 addMark(hwRound(Me^.X), hwRound(Me^.Y), markWalkedHere);
 
                 TestAmmos(Actions, Me, ticks shr 12 = oldticks shr 12);
-                
+
                 end;
-                
+
             if GoInfo.FallPix >= FallPixForBranching then
                 Push(ticks, Actions, Me^, Me^.Message xor 3); // aia_Left xor 3 = aia_Right
 
@@ -382,31 +373,26 @@
     end {if}
 end;
 
-function Think(Me: Pointer): ptrint;
+function Think(Me: PGear): LongInt; cdecl; export;
 var BackMe, WalkMe: TGear;
     switchCount: LongInt;
     currHedgehogIndex, itHedgehog, switchesNum, i: Longword;
     switchImmediatelyAvailable: boolean;
     Actions: TActions;
 begin
-InterlockedIncrement(hasThread);
-
-{$IFDEF AI_MAINTHREAD}
-StartTicks:= SDL_GetTicks();
-{$ELSE}
+dmgMod:= 0.01 * hwFloat2Float(cDamageModifier) * cDamagePercent;
 StartTicks:= GameTicks;
-{$ENDIF}
 
 currHedgehogIndex:= CurrentTeam^.CurrHedgehog;
 itHedgehog:= currHedgehogIndex;
 switchesNum:= 0;
 
 switchImmediatelyAvailable:= (CurAmmoGear <> nil) and (CurAmmoGear^.Kind = gtSwitcher);
-if PGear(Me)^.Hedgehog^.BotLevel <> 5 then
+if Me^.Hedgehog^.BotLevel <> 5 then
     switchCount:= HHHasAmmo(PGear(Me)^.Hedgehog^, amSwitch)
 else switchCount:= 0;
 
-if (PGear(Me)^.State and gstAttacking) = 0 then
+if ((Me^.State and gstAttacked) = 0) or isInMultiShoot then
     if Targets.Count > 0 then
         begin
         // iterate over current team hedgehogs
@@ -422,7 +408,7 @@
                     begin
                     // when AI has to use switcher, make it cost smth unless they have a lot of switches
                     if (switchCount < 10) then Actions.Score:= (-27+switchCount*3)*4000;
-                    AddAction(Actions, aia_Weapon, Longword(amSwitch), 300 + random(200), 0, 0);                    
+                    AddAction(Actions, aia_Weapon, Longword(amSwitch), 300 + random(200), 0, 0);
                     AddAction(Actions, aia_attack, aim_push, 300 + random(300), 0, 0);
                     AddAction(Actions, aia_attack, aim_release, 1, 0, 0);
                     end;
@@ -436,10 +422,9 @@
                 itHedgehog:= Succ(itHedgehog) mod CurrentTeam^.HedgehogsNumber;
             until (itHedgehog = currHedgehogIndex) or ((CurrentTeam^.Hedgehogs[itHedgehog].Gear <> nil) and (CurrentTeam^.Hedgehogs[itHedgehog].Effects[heFrozen]=0));
 
-
             inc(switchesNum);
         until (not (switchImmediatelyAvailable or (switchCount > 0)))
-            or StopThinking 
+            or StopThinking
             or (itHedgehog = currHedgehogIndex)
             or BestActions.isWalkingToABetterPlace;
 
@@ -460,10 +445,9 @@
         end else SDL_Delay(100)
 else
     begin
-    BackMe:= PGear(Me)^;
-    
-//{$IFNDEF AI_MAINTHREAD}
-    while (not StopThinking) and (BestActions.Count = 0) do
+    BackMe:= Me^;
+    i:= 12;
+    while (not StopThinking) and (BestActions.Count = 0) and (i > 0) do
         begin
 
 (*
@@ -478,17 +462,17 @@
         Actions.Pos:= 0;
         Actions.Score:= 0;
         Walk(@WalkMe, Actions);
-{$IFNDEF AI_MAINTHREAD}
-        if (not StopThinking) then
+        dec(i);
+        if not StopThinking then
             SDL_Delay(100)
-{$ENDIF}
         end
-//{$ENDIF}
     end;
 
-PGear(Me)^.State:= PGear(Me)^.State and (not gstHHThinking);
+Me^.State:= Me^.State and (not gstHHThinking);
+SDL_LockMutex(ThreadLock);
+ThinkThread:= nil;
+SDL_UnlockMutex(ThreadLock);
 Think:= 0;
-InterlockedDecrement(hasThread)
 end;
 
 procedure StartThink(Me: PGear);
@@ -517,22 +501,16 @@
     exit
     end;
 
-FillBonuses((Me^.State and gstAttacked) <> 0);
-AddFileLog('Enter Think Thread');
+FillBonuses(((Me^.State and gstAttacked) <> 0) and (not isInMultiShoot));
 
-{$IFDEF AI_MAINTHREAD}
-Think(Me);
-{$ELSE}
-{$IFDEF USE_SDLTHREADS}
-ThinkThread := SDL_CreateThread(@Think{$IFDEF SDL13}, nil{$ENDIF}, Me);
-{$ELSE}
-BeginThread(@Think, Me, ThinkThread);
-{$ENDIF}
-AddFileLog('Thread started');
-{$ENDIF}
+SDL_LockMutex(ThreadLock);
+ThinkThread:= SDL_CreateThread(@Think{$IFDEF SDL13}, 'think'{$ENDIF}, Me);
+SDL_UnlockMutex(ThreadLock);
 end;
 
-//var scoreShown: boolean = false;
+{$IFDEF DEBUGAI}
+var scoreShown: boolean = false;
+{$ENDIF}
 
 procedure ProcessBot;
 const cStopThinkTime = 40;
@@ -550,21 +528,25 @@
                     StopMessages(Gear^.Message);
                     TryDo((Gear^.Message and gmAllStoppable) = 0, 'Engine bug: AI may break demos playing', true);
                     end;
-                    
+
                 if Gear^.Message <> 0 then
                     exit;
-                    
-                //scoreShown:= false;   
+
+{$IFDEF DEBUGAI}
+                scoreShown:= false;
+{$ENDIF}
                 StartThink(Gear);
                 StartTicks:= GameTicks
-                
+
             end else
                 begin
-                {if not scoreShown then
+{$IFDEF DEBUGAI}
+                if not scoreShown then
                     begin
                     if BestActions.Score > 0 then ParseCommand('/say Expected score = ' + inttostr(BestActions.Score div 1024), true);
                     scoreShown:= true
-                    end;}
+                    end;
+{$ENDIF}
                 ProcessAction(BestActions, Gear)
                 end
         else if ((GameTicks - StartTicks) > cMaxAIThinkTime)
@@ -574,16 +556,15 @@
 
 procedure initModule;
 begin
-    hasThread:= 0;
     StartTicks:= 0;
-{$IFNDEF PAS2C}
-    ThinkThread:= ThinkThread;
-{$ENDIF}
+    ThinkThread:= nil;
+    ThreadLock:= SDL_CreateMutex();
 end;
 
 procedure freeModule;
 begin
     FreeActionsList();
+    SDL_DestroyMutex(ThreadLock);
 end;
 
 end.
--- a/hedgewars/uAIActions.pas	Thu Apr 04 14:37:19 2013 +0200
+++ b/hedgewars/uAIActions.pas	Tue Jun 04 22:28:12 2013 +0200
@@ -1,6 +1,6 @@
 (*
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2012 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2013 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
--- a/hedgewars/uAIAmmoTests.pas	Thu Apr 04 14:37:19 2013 +0200
+++ b/hedgewars/uAIAmmoTests.pas	Tue Jun 04 22:28:12 2013 +0200
@@ -1,6 +1,6 @@
 (*
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2012 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2013 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
@@ -20,7 +20,7 @@
 
 unit uAIAmmoTests;
 interface
-uses SDLh, uConsts, uFloat, uTypes;
+uses SDLh, uConsts, uFloat, uTypes, uAIMisc;
 const
     amtest_Rare     = $00000001; // check only several positions
     amtest_NoTarget = $00000002; // each pos, but no targetting
@@ -34,27 +34,27 @@
         AttackPutX, AttackPutY: LongInt;
         end;
 
-function TestBazooka(Me: PGear; Targ: TPoint; Level: LongInt; var ap: TAttackParams): LongInt;
-function TestSnowball(Me: PGear; Targ: TPoint; Level: LongInt; var ap: TAttackParams): LongInt;
-function TestGrenade(Me: PGear; Targ: TPoint; Level: LongInt; var ap: TAttackParams): LongInt;
-function TestMolotov(Me: PGear; Targ: TPoint; Level: LongInt; var ap: TAttackParams): LongInt;
-function TestClusterBomb(Me: PGear; Targ: TPoint; Level: LongInt; var ap: TAttackParams): LongInt;
-function TestWatermelon(Me: PGear; Targ: TPoint; Level: LongInt; var ap: TAttackParams): LongInt;
-function TestDrillRocket(Me: PGear; Targ: TPoint; Level: LongInt; var ap: TAttackParams): LongInt;
-function TestMortar(Me: PGear; Targ: TPoint; Level: LongInt; var ap: TAttackParams): LongInt;
-function TestShotgun(Me: PGear; Targ: TPoint; Level: LongInt; var ap: TAttackParams): LongInt;
-function TestDesertEagle(Me: PGear; Targ: TPoint; Level: LongInt; var ap: TAttackParams): LongInt;
-function TestSniperRifle(Me: PGear; Targ: TPoint; Level: LongInt; var ap: TAttackParams): LongInt;
-function TestBaseballBat(Me: PGear; Targ: TPoint; Level: LongInt; var ap: TAttackParams): LongInt;
-function TestFirePunch(Me: PGear; Targ: TPoint; Level: LongInt; var ap: TAttackParams): LongInt;
-function TestWhip(Me: PGear; Targ: TPoint; Level: LongInt; var ap: TAttackParams): LongInt;
-function TestKamikaze(Me: PGear; Targ: TPoint; Level: LongInt; var ap: TAttackParams): LongInt;
-function TestAirAttack(Me: PGear; Targ: TPoint; Level: LongInt; var ap: TAttackParams): LongInt;
-function TestTeleport(Me: PGear; Targ: TPoint; Level: LongInt; var ap: TAttackParams): LongInt;
-function TestHammer(Me: PGear; Targ: TPoint; Level: LongInt; var ap: TAttackParams): LongInt;
-function TestCake(Me: PGear; Targ: TPoint; Level: LongInt; var ap: TAttackParams): LongInt;
+function TestBazooka(Me: PGear; Targ: TTarget; Level: LongInt; var ap: TAttackParams): LongInt;
+function TestSnowball(Me: PGear; Targ: TTarget; Level: LongInt; var ap: TAttackParams): LongInt;
+function TestGrenade(Me: PGear; Targ: TTarget; Level: LongInt; var ap: TAttackParams): LongInt;
+function TestMolotov(Me: PGear; Targ: TTarget; Level: LongInt; var ap: TAttackParams): LongInt;
+function TestClusterBomb(Me: PGear; Targ: TTarget; Level: LongInt; var ap: TAttackParams): LongInt;
+function TestWatermelon(Me: PGear; Targ: TTarget; Level: LongInt; var ap: TAttackParams): LongInt;
+function TestDrillRocket(Me: PGear; Targ: TTarget; Level: LongInt; var ap: TAttackParams): LongInt;
+function TestMortar(Me: PGear; Targ: TTarget; Level: LongInt; var ap: TAttackParams): LongInt;
+function TestShotgun(Me: PGear; Targ: TTarget; Level: LongInt; var ap: TAttackParams): LongInt;
+function TestDesertEagle(Me: PGear; Targ: TTarget; Level: LongInt; var ap: TAttackParams): LongInt;
+function TestSniperRifle(Me: PGear; Targ: TTarget; Level: LongInt; var ap: TAttackParams): LongInt;
+function TestBaseballBat(Me: PGear; Targ: TTarget; Level: LongInt; var ap: TAttackParams): LongInt;
+function TestFirePunch(Me: PGear; Targ: TTarget; Level: LongInt; var ap: TAttackParams): LongInt;
+function TestWhip(Me: PGear; Targ: TTarget; Level: LongInt; var ap: TAttackParams): LongInt;
+function TestKamikaze(Me: PGear; Targ: TTarget; Level: LongInt; var ap: TAttackParams): LongInt;
+function TestAirAttack(Me: PGear; Targ: TTarget; Level: LongInt; var ap: TAttackParams): LongInt;
+function TestTeleport(Me: PGear; Targ: TTarget; Level: LongInt; var ap: TAttackParams): LongInt;
+function TestHammer(Me: PGear; Targ: TTarget; Level: LongInt; var ap: TAttackParams): LongInt;
+function TestCake(Me: PGear; Targ: TTarget; Level: LongInt; var ap: TAttackParams): LongInt;
 
-type TAmmoTestProc = function (Me: PGear; Targ: TPoint; Level: LongInt; var ap: TAttackParams): LongInt;
+type TAmmoTestProc = function (Me: PGear; Targ: TTarget; Level: LongInt; var ap: TAttackParams): LongInt;
     TAmmoTest = record
             proc: TAmmoTestProc;
             flags: Longword;
@@ -123,14 +123,14 @@
             );
 
 implementation
-uses uAIMisc, uVariables, uUtils, uGearsHandlers;
+uses uVariables, uUtils, uGearsHandlers;
 
 function Metric(x1, y1, x2, y2: LongInt): LongInt; inline;
 begin
 Metric:= abs(x1 - x2) + abs(y1 - y2)
 end;
 
-function TestBazooka(Me: PGear; Targ: TPoint; Level: LongInt; var ap: TAttackParams): LongInt;
+function TestBazooka(Me: PGear; Targ: TTarget; Level: LongInt; var ap: TAttackParams): LongInt;
 var Vx, Vy, r, mX, mY: real;
     rTime: LongInt;
     EX, EY: LongInt;
@@ -147,8 +147,8 @@
 valueResult:= BadTurn;
 repeat
     rTime:= rTime + 300 + Level * 50 + random(300);
-    Vx:= - windSpeed * rTime * 0.5 + (Targ.X + AIrndSign(2) - mX) / rTime;
-    Vy:= cGravityf * rTime * 0.5 - (Targ.Y + 1 - mY) / rTime;
+    Vx:= - windSpeed * rTime * 0.5 + (Targ.Point.X + AIrndSign(2) - mX) / rTime;
+    Vy:= cGravityf * rTime * 0.5 - (Targ.Point.Y + 1 - mY) / rTime;
     r:= sqr(Vx) + sqr(Vy);
     if not (r > 1) then
         begin
@@ -164,15 +164,15 @@
             dY:= dY + cGravityf;
             dec(t)
         until (((Me = CurrentHedgehog^.Gear) and TestColl(trunc(x), trunc(y), 5)) or
-               ((Me <> CurrentHedgehog^.Gear) and TestCollExcludingMe(Me, trunc(x), trunc(y), 5))) or (t <= 0);
+               ((Me <> CurrentHedgehog^.Gear) and TestCollExcludingMe(Me^.Hedgehog^.Gear, trunc(x), trunc(y), 5))) or (t <= 0);
 
         EX:= trunc(x);
         EY:= trunc(y);
         if Level = 1 then
             value:= RateExplosion(Me, EX, EY, 101, afTrackFall or afErasesLand)
         else value:= RateExplosion(Me, EX, EY, 101);
-        if value = 0 then
-            value:= 1024 - Metric(Targ.X, Targ.Y, EX, EY) div 64;
+        if (value = 0) and (Targ.Kind = gtHedgehog) and (Targ.Score > 0) then
+            value:= 1024 - Metric(Targ.Point.X, Targ.Point.Y, EX, EY) div 64;
         if valueResult <= value then
             begin
             ap.Angle:= DxDy2AttackAnglef(Vx, Vy) + AIrndSign(random((Level - 1) * 9));
@@ -184,12 +184,12 @@
             end;
         end
 //until (value > 204800) or (rTime > 4250); not so useful since adding score to the drowning
-until rTime > 4250;
+until rTime > 5050 - Level * 800;
 TestBazooka:= valueResult
 end;
 
 
-function TestDrillRocket(Me: PGear; Targ: TPoint; Level: LongInt; var ap: TAttackParams): LongInt;
+function TestDrillRocket(Me: PGear; Targ: TTarget; Level: LongInt; var ap: TAttackParams): LongInt;
 var Vx, Vy, r, mX, mY: real;
     rTime: LongInt;
     EX, EY: LongInt;
@@ -210,8 +210,8 @@
     valueResult:= BadTurn;
     repeat
         rTime:= rTime + 300 + Level * 50 + random(300);
-        Vx:= - windSpeed * rTime * 0.5 + (Targ.X + AIrndSign(2) - mX) / rTime;
-        Vy:= cGravityf * rTime * 0.5 - (Targ.Y - 35 - mY) / rTime;
+        Vx:= - windSpeed * rTime * 0.5 + (Targ.Point.X + AIrndSign(2) - mX) / rTime;
+        Vy:= cGravityf * rTime * 0.5 - (Targ.Point.Y - 35 - mY) / rTime;
         r:= sqr(Vx) + sqr(Vy);
         if not (r > 1) then
             begin
@@ -227,9 +227,9 @@
                 dY:= dY + cGravityf;
                 dec(t)
             until (((Me = CurrentHedgehog^.Gear) and TestColl(trunc(x), trunc(y), 5)) or
-                   ((Me <> CurrentHedgehog^.Gear) and TestCollExcludingMe(Me, trunc(x), trunc(y), 5))) or (y > cWaterLine);
+                   ((Me <> CurrentHedgehog^.Gear) and TestCollExcludingMe(Me^.Hedgehog^.Gear, trunc(x), trunc(y), 5))) or (y > cWaterLine);
 
-            if TestCollWithLand(trunc(x), trunc(y), 5) and (Abs(Targ.X - trunc(x)) + Abs(Targ.Y - trunc(y)) > 21) then
+            if TestCollExcludingObjects(trunc(x), trunc(y), 5) and (Abs(Targ.Point.X - trunc(x)) + Abs(Targ.Point.Y - trunc(y)) > 21) then
                 begin
                 timer := 500;
                 t2 := 0.5 / sqrt(sqr(dX) + sqr(dY));
@@ -239,16 +239,18 @@
                     x:= x + dX;
                     y:= y + dY;
                     dec(timer);
-                until (Abs(Targ.X - trunc(x)) + Abs(Targ.Y - trunc(y)) < 22)
+                until (Abs(Targ.Point.X - trunc(x)) + Abs(Targ.Point.Y - trunc(y)) < 22)
                     or (x < 0)
                     or (y < 0)
                     or (trunc(x) > LAND_WIDTH)
                     or (trunc(y) > LAND_HEIGHT)
-                    or (not TestCollWithLand(trunc(x), trunc(y), 5))
+                    or not TestCollExcludingObjects(trunc(x), trunc(y), 5)
                     or (timer = 0)
                 end;
             EX:= trunc(x);
             EY:= trunc(y);
+            // Try to prevent AI from thinking firing into water will cause a drowning
+            if (EY < cWaterLine-5) and (Timer > 0) and (Abs(Targ.Point.X - trunc(x)) + Abs(Targ.Point.Y - trunc(y)) > 21) then exit(BadTurn);
             if Level = 1 then
                 value:= RateExplosion(Me, EX, EY, 101, afTrackFall or afErasesLand)
             else value:= RateExplosion(Me, EX, EY, 101);
@@ -262,12 +264,12 @@
                 valueResult:= value-2500 // trying to make it slightly less attractive than a bazooka, to prevent waste.  AI could use awareness of weapon count
                 end;
             end
-    until rTime > 4250;
+    until rTime > 5050 - Level * 800;
     TestDrillRocket:= valueResult
 end;
 
 
-function TestSnowball(Me: PGear; Targ: TPoint; Level: LongInt; var ap: TAttackParams): LongInt;
+function TestSnowball(Me: PGear; Targ: TTarget; Level: LongInt; var ap: TAttackParams): LongInt;
 var Vx, Vy, r: real;
     rTime: LongInt;
     EX, EY: LongInt;
@@ -285,8 +287,8 @@
 valueResult:= BadTurn;
 repeat
     rTime:= rTime + 300 + Level * 50 + random(1000);
-    Vx:= - windSpeed * rTime * 0.5 + ((Targ.X + AIrndSign(2)) - meX) / rTime;
-    Vy:= cGravityf * rTime * 0.5 - (Targ.Y - meY) / rTime;
+    Vx:= - windSpeed * rTime * 0.5 + ((Targ.Point.X + AIrndSign(2)) - meX) / rTime;
+    Vy:= cGravityf * rTime * 0.5 - (Targ.Point.Y - meY) / rTime;
     r:= sqr(Vx) + sqr(Vy);
     if not (r > 1) then
         begin
@@ -302,14 +304,14 @@
             dY:= dY + cGravityf;
             dec(t)
         until (((Me = CurrentHedgehog^.Gear) and TestColl(trunc(x), trunc(y), 5)) or
-               ((Me <> CurrentHedgehog^.Gear) and TestCollExcludingMe(Me, trunc(x), trunc(y), 5))) or (t <= 0);
+               ((Me <> CurrentHedgehog^.Gear) and TestCollExcludingMe(Me^.Hedgehog^.Gear, trunc(x), trunc(y), 5))) or (t <= 0);
         EX:= trunc(x);
         EY:= trunc(y);
 
-        value:= RateShove(trunc(x), trunc(y), 5, 1, trunc((abs(dX)+abs(dY))*20), -dX, -dY, afTrackFall);
+        value:= RateShove(Me, trunc(x), trunc(y), 5, 1, trunc((abs(dX)+abs(dY))*20), -dX, -dY, afTrackFall);
         // LOL copypasta: this is score for digging with... snowball
         //if value = 0 then
-        //    value:= - Metric(Targ.X, Targ.Y, EX, EY) div 64;
+        //    value:= - Metric(Targ.Point.X, Targ.Point.Y, EX, EY) div 64;
 
         if valueResult <= value then
             begin
@@ -321,11 +323,11 @@
             valueResult:= value
             end;
      end
-until (rTime > 4250);
+until (rTime > 5050 - Level * 800);
 TestSnowball:= valueResult
 end;
 
-function TestMolotov(Me: PGear; Targ: TPoint; Level: LongInt; var ap: TAttackParams): LongInt;
+function TestMolotov(Me: PGear; Targ: TTarget; Level: LongInt; var ap: TAttackParams): LongInt;
 var Vx, Vy, r: real;
     Score, EX, EY, valueResult: LongInt;
     TestTime: Longword;
@@ -339,8 +341,8 @@
 ap.ExplR:= 0;
 repeat
     inc(TestTime, 300);
-    Vx:= (Targ.X - meX) / TestTime;
-    Vy:= cGravityf * (TestTime div 2) - Targ.Y - meY / TestTime;
+    Vx:= (Targ.Point.X - meX) / TestTime;
+    Vy:= cGravityf * (TestTime div 2) - Targ.Point.Y - meY / TestTime;
     r:= sqr(Vx) + sqr(Vy);
     if not (r > 1) then
         begin
@@ -354,7 +356,7 @@
             dY:= dY + cGravityf;
             dec(t)
         until (((Me = CurrentHedgehog^.Gear) and TestColl(trunc(x), trunc(y), 6)) or
-               ((Me <> CurrentHedgehog^.Gear) and TestCollExcludingMe(Me, trunc(x), trunc(y), 6))) or (t = 0);
+               ((Me <> CurrentHedgehog^.Gear) and TestCollExcludingMe(Me^.Hedgehog^.Gear, trunc(x), trunc(y), 6))) or (t = 0);
         EX:= trunc(x);
         EY:= trunc(y);
         if t < 50 then
@@ -372,11 +374,11 @@
             valueResult:= Score
             end;
         end
-until (TestTime > 4250);
+until (TestTime > 5050 - Level * 800);
 TestMolotov:= valueResult
 end;
 
-function TestGrenade(Me: PGear; Targ: TPoint; Level: LongInt; var ap: TAttackParams): LongInt;
+function TestGrenade(Me: PGear; Targ: TTarget; Level: LongInt; var ap: TAttackParams): LongInt;
 const tDelta = 24;
 var Vx, Vy, r: real;
     Score, EX, EY, valueResult: LongInt;
@@ -391,8 +393,8 @@
 meY:= hwFloat2Float(Me^.Y);
 repeat
     inc(TestTime, 1000);
-    Vx:= (Targ.X - meX) / (TestTime + tDelta);
-    Vy:= cGravityf * ((TestTime + tDelta) div 2) - (Targ.Y - meY) / (TestTime + tDelta);
+    Vx:= (Targ.Point.X - meX) / (TestTime + tDelta);
+    Vy:= cGravityf * ((TestTime + tDelta) div 2) - (Targ.Point.Y - meY) / (TestTime + tDelta);
     r:= sqr(Vx) + sqr(Vy);
     if not (r > 1) then
         begin
@@ -406,7 +408,7 @@
             dY:= dY + cGravityf;
             dec(t)
         until (((Me = CurrentHedgehog^.Gear) and TestColl(trunc(x), trunc(y), 5)) or
-               ((Me <> CurrentHedgehog^.Gear) and TestCollExcludingMe(Me, trunc(x), trunc(y), 5))) or (t = 0);
+               ((Me <> CurrentHedgehog^.Gear) and TestCollExcludingMe(Me^.Hedgehog^.Gear, trunc(x), trunc(y), 5))) or (t = 0);
     EX:= trunc(x);
     EY:= trunc(y);
     if t < 50 then
@@ -418,8 +420,8 @@
 
     if (valueResult < Score) and (Score > 0) then
         begin
-        ap.Angle:= DxDy2AttackAnglef(Vx, Vy) + AIrndSign(random(Level));
-        ap.Power:= trunc(sqrt(r) * cMaxPower) + AIrndSign(random(Level) * 15);
+        ap.Angle:= DxDy2AttackAnglef(Vx, Vy) + AIrndSign(random(Level * 3));
+        ap.Power:= trunc(sqrt(r) * cMaxPower) + AIrndSign(random(Level) * 20);
         ap.Time:= TestTime;
         ap.ExplR:= 100;
         ap.ExplX:= EX;
@@ -428,11 +430,11 @@
         end;
     end
 //until (Score > 204800) or (TestTime > 4000);
-until TestTime > 4000;
+until TestTime > 4500 - Level * 512;
 TestGrenade:= valueResult
 end;
 
-function TestClusterBomb(Me: PGear; Targ: TPoint; Level: LongInt; var ap: TAttackParams): LongInt;
+function TestClusterBomb(Me: PGear; Targ: TTarget; Level: LongInt; var ap: TAttackParams): LongInt;
 const tDelta = 24;
 var Vx, Vy, r: real;
     Score, EX, EY, valueResult: LongInt;
@@ -448,11 +450,11 @@
 repeat
     inc(TestTime, 900);
     // Try to overshoot slightly, seems to pay slightly better dividends in terms of hitting cluster
-    if meX<Targ.X then
-        Vx:= ((Targ.X+10) - meX) / (TestTime + tDelta)
+    if meX<Targ.Point.X then
+        Vx:= ((Targ.Point.X+10) - meX) / (TestTime + tDelta)
     else
-        Vx:= ((Targ.X-10) - meX) / (TestTime + tDelta);
-    Vy:= cGravityf * ((TestTime + tDelta) div 2) - ((Targ.Y-50) - meY) / (TestTime + tDelta);
+        Vx:= ((Targ.Point.X-10) - meX) / (TestTime + tDelta);
+    Vy:= cGravityf * ((TestTime + tDelta) div 2) - ((Targ.Point.Y-50) - meY) / (TestTime + tDelta);
     r:= sqr(Vx)+sqr(Vy);
     if not (r > 1) then
         begin
@@ -466,7 +468,7 @@
         dY:= dY + cGravityf;
         dec(t)
     until (((Me = CurrentHedgehog^.Gear) and TestColl(trunc(x), trunc(y), 5)) or
-           ((Me <> CurrentHedgehog^.Gear) and TestCollExcludingMe(Me, trunc(x), trunc(y), 5))) or (t = 0);
+           ((Me <> CurrentHedgehog^.Gear) and TestCollExcludingMe(Me^.Hedgehog^.Gear, trunc(x), trunc(y), 5))) or (t = 0);
     EX:= trunc(x);
     EY:= trunc(y);
     if t < 50 then
@@ -474,9 +476,9 @@
     else
         Score:= BadTurn;
 
-     if valueResult < Score then
+     if Score > 0 then
         begin
-        ap.Angle:= DxDy2AttackAnglef(Vx, Vy) + AIrndSign(random(Level));
+        ap.Angle:= DxDy2AttackAnglef(Vx, Vy) + AIrndSign(random(Level * 2));
         ap.Power:= trunc(sqrt(r) * cMaxPower) + AIrndSign(random(Level) * 15);
         ap.Time:= TestTime div 1000 * 1000;
         ap.ExplR:= 90;
@@ -489,7 +491,7 @@
 TestClusterBomb:= valueResult
 end;
 
-function TestWatermelon(Me: PGear; Targ: TPoint; Level: LongInt; var ap: TAttackParams): LongInt;
+function TestWatermelon(Me: PGear; Targ: TTarget; Level: LongInt; var ap: TAttackParams): LongInt;
 const tDelta = 24;
 var Vx, Vy, r: real;
     Score, EX, EY, valueResult: LongInt;
@@ -504,8 +506,8 @@
 meY:= hwFloat2Float(Me^.Y);
 repeat
     inc(TestTime, 900);
-    Vx:= (Targ.X - meX) / (TestTime + tDelta);
-    Vy:= cGravityf * ((TestTime + tDelta) div 2) - ((Targ.Y-50) - meY) / (TestTime + tDelta);
+    Vx:= (Targ.Point.X - meX) / (TestTime + tDelta);
+    Vy:= cGravityf * ((TestTime + tDelta) div 2) - ((Targ.Point.Y-50) - meY) / (TestTime + tDelta);
     r:= sqr(Vx)+sqr(Vy);
     if not (r > 1) then
         begin
@@ -519,7 +521,7 @@
             dY:= dY + cGravityf;
             dec(t)
        until (((Me = CurrentHedgehog^.Gear) and TestColl(trunc(x), trunc(y), 6)) or
-               ((Me <> CurrentHedgehog^.Gear) and TestCollExcludingMe(Me, trunc(x), trunc(y), 6))) or (t = 0);
+               ((Me <> CurrentHedgehog^.Gear) and TestCollExcludingMe(Me^.Hedgehog^.Gear, trunc(x), trunc(y), 6))) or (t = 0);
 
         EX:= trunc(x);
         EY:= trunc(y);
@@ -565,7 +567,7 @@
                 Solve:= 0
     end;
 
-function TestMortar(Me: PGear; Targ: TPoint; Level: LongInt; var ap: TAttackParams): LongInt;
+function TestMortar(Me: PGear; Targ: TTarget; Level: LongInt; var ap: TAttackParams): LongInt;
 //const tDelta = 24;
 var Vx, Vy: real;
     Score, EX, EY: LongInt;
@@ -581,13 +583,13 @@
     if (Level > 2) then
         exit(BadTurn);
 
-    TestTime:= Solve(Targ.X, Targ.Y, trunc(meX), trunc(meY));
+    TestTime:= Solve(Targ.Point.X, Targ.Point.Y, trunc(meX), trunc(meY));
 
     if TestTime = 0 then
         exit(BadTurn);
 
-    Vx:= (Targ.X - meX) / TestTime;
-    Vy:= cGravityf * (TestTime div 2) - (Targ.Y - meY) / TestTime;
+    Vx:= (Targ.Point.X - meX) / TestTime;
+    Vy:= cGravityf * (TestTime div 2) - (Targ.Point.Y - meY) / TestTime;
 
     x:= meX;
     y:= meY;
@@ -600,14 +602,14 @@
         EX:= trunc(x);
         EY:= trunc(y);
     until (((Me = CurrentHedgehog^.Gear) and TestColl(EX, EY, 4)) or
-           ((Me <> CurrentHedgehog^.Gear) and TestCollExcludingMe(Me, EX, EY, 4))) or (EY > cWaterLine);
+           ((Me <> CurrentHedgehog^.Gear) and TestCollExcludingMe(Me^.Hedgehog^.Gear, EX, EY, 4))) or (EY > cWaterLine);
 
     if (EY < cWaterLine) and (dY >= 0) then
         begin
         Score:= RateExplosion(Me, EX, EY, 91);
         if (Score = 0) then
-            if (dY > 0.15) then
-                Score:= - abs(Targ.Y - EY) div 32
+            if (dY > 0.15) and (Targ.Kind = gtHedgehog) and (Targ.Score > 0) then
+                Score:= - abs(Targ.Point.Y - EY) div 32
             else
                 Score:= BadTurn
         else if (Score < 0) then
@@ -616,7 +618,7 @@
     else
         Score:= BadTurn;
 
-    if BadTurn < Score then
+    if Score > 0 then
         begin
         ap.Angle:= DxDy2AttackAnglef(Vx, Vy) + AIrndSign(random(Level));
         ap.Power:= 1;
@@ -627,7 +629,7 @@
         end;
 end;
 
-function TestShotgun(Me: PGear; Targ: TPoint; Level: LongInt; var ap: TAttackParams): LongInt;
+function TestShotgun(Me: PGear; Targ: TTarget; Level: LongInt; var ap: TAttackParams): LongInt;
 const
     MIN_RANGE =  80;
     MAX_RANGE = 400;
@@ -641,12 +643,12 @@
 ap.Power:= 1;
 x:= hwFloat2Float(Me^.X);
 y:= hwFloat2Float(Me^.Y);
-range:= Metric(trunc(x), trunc(y), Targ.X, Targ.Y);
+range:= Metric(trunc(x), trunc(y), Targ.Point.X, Targ.Point.Y);
 if ( range < MIN_RANGE ) or ( range > MAX_RANGE ) then
     exit(BadTurn);
 
-Vx:= (Targ.X - x) * 1 / 1024;
-Vy:= (Targ.Y - y) * 1 / 1024;
+Vx:= (Targ.Point.X - x) * 1 / 1024;
+Vy:= (Targ.Point.Y - y) * 1 / 1024;
 ap.Angle:= DxDy2AttackAnglef(Vx, -Vy);
 repeat
     x:= x + vX;
@@ -654,20 +656,20 @@
     rx:= trunc(x);
     ry:= trunc(y);
     if ((Me = CurrentHedgehog^.Gear) and TestColl(rx, ry, 2)) or
-        ((Me <> CurrentHedgehog^.Gear) and TestCollExcludingMe(Me, rx, ry, 2)) then
+        ((Me <> CurrentHedgehog^.Gear) and TestCollExcludingMe(Me^.Hedgehog^.Gear, rx, ry, 2)) then
     begin
         x:= x + vX * 8;
         y:= y + vY * 8;
         valueResult:= RateShotgun(Me, vX, vY, rx, ry);
 
-        if valueResult = 0 then
-            valueResult:= 1024 - Metric(Targ.X, Targ.Y, rx, ry) div 64
+        if (valueResult = 0) and (Targ.Kind = gtHedgehog) and (Targ.Score > 0) then
+            valueResult:= 1024 - Metric(Targ.Point.X, Targ.Point.Y, rx, ry) div 64
         else
             dec(valueResult, Level * 4000);
         // 27/20 is reuse bonus
         exit(valueResult * 27 div 20)
     end
-until (Abs(Targ.X - trunc(x)) + Abs(Targ.Y - trunc(y)) < 4)
+until (Abs(Targ.Point.X - trunc(x)) + Abs(Targ.Point.Y - trunc(y)) < 4)
     or (x < 0)
     or (y < 0)
     or (trunc(x) > LAND_WIDTH)
@@ -676,27 +678,26 @@
 TestShotgun:= BadTurn
 end;
 
-function TestDesertEagle(Me: PGear; Targ: TPoint; Level: LongInt; var ap: TAttackParams): LongInt;
-var Vx, Vy, x, y, t, dmgMod: real;
+function TestDesertEagle(Me: PGear; Targ: TTarget; Level: LongInt; var ap: TAttackParams): LongInt;
+var Vx, Vy, x, y, t: real;
     d: Longword;
     fallDmg, valueResult: LongInt;
 begin
-if Level > 4 then exit(BadTurn);
-dmgMod:= 0.01 * hwFloat2Float(cDamageModifier) * cDamagePercent;
+if (Level > 4) or (Targ.Score < 0) or (Targ.Kind <> gtHedgehog) then exit(BadTurn);
 Level:= Level; // avoid compiler hint
-ap.ExplR:= 0;
+ap.ExplR:= 1;
 ap.Time:= 0;
 ap.Power:= 1;
 
 x:= hwFloat2Float(Me^.X);
 y:= hwFloat2Float(Me^.Y);
 
-if Abs(trunc(x) - Targ.X) + Abs(trunc(y) - Targ.Y) < 20 then
+if Abs(trunc(x) - Targ.Point.X) + Abs(trunc(y) - Targ.Point.Y) < 20 then
     exit(BadTurn);
 
-t:= 2 / sqrt(sqr(Targ.X - x)+sqr(Targ.Y-y));
-Vx:= (Targ.X - x) * t;
-Vy:= (Targ.Y - y) * t;
+t:= 2 / sqrt(sqr(Targ.Point.X - x)+sqr(Targ.Point.Y-y));
+Vx:= (Targ.Point.X - x) * t;
+Vy:= (Targ.Point.Y - y) * t;
 ap.Angle:= DxDy2AttackAnglef(Vx, -Vy);
 d:= 0;
 
@@ -706,47 +707,40 @@
     if ((trunc(x) and LAND_WIDTH_MASK) = 0)and((trunc(y) and LAND_HEIGHT_MASK) = 0)
     and (Land[trunc(y), trunc(x)] <> 0) then
         inc(d);
-until (Abs(Targ.X - trunc(x)) + Abs(Targ.Y - trunc(y)) < 5)
+until (Abs(Targ.Point.X - trunc(x)) + Abs(Targ.Point.Y - trunc(y)) < 5)
     or (x < 0)
     or (y < 0)
     or (trunc(x) > LAND_WIDTH)
     or (trunc(y) > LAND_HEIGHT)
     or (d > 48);
 
-if Abs(Targ.X - trunc(x)) + Abs(Targ.Y - trunc(y)) < 5 then
-    begin
-    fallDmg:= TraceShoveFall(Targ.X, Targ.Y, vX * 0.00125 * 20, vY * 0.00125 * 20);
-    if fallDmg < 0 then
-        valueResult:= 204800
-    else valueResult:= Max(0, (4 - d div 12) * trunc((7 + fallDmg) * dmgMod) * 1024)
-    end
-else
-    valueResult:= BadTurn;
+if Abs(Targ.Point.X - trunc(x)) + Abs(Targ.Point.Y - trunc(y)) < 5 then
+     valueResult:= RateShove(Me, Targ.Point.X, Targ.Point.Y, 1, 7, 20, vX*0.125, vY*0.125, afTrackFall)
+else valueResult:= BadTurn;
 TestDesertEagle:= valueResult
 end;
 
 
-function TestSniperRifle(Me: PGear; Targ: TPoint; Level: LongInt; var ap: TAttackParams): LongInt;
-var Vx, Vy, x, y, t, dmg, dmgMod: real;
+function TestSniperRifle(Me: PGear; Targ: TTarget; Level: LongInt; var ap: TAttackParams): LongInt;
+var Vx, Vy, x, y, t, dmg: real;
     d: Longword;
     fallDmg: LongInt;
 begin
-if Level > 3 then exit(BadTurn);
-dmgMod:= 0.01 * hwFloat2Float(cDamageModifier) * cDamagePercent;
+if (Level > 3) or (Targ.Score < 0) or (Targ.Kind <> gtHedgehog) then exit(BadTurn);
 Level:= Level; // avoid compiler hint
 ap.ExplR:= 0;
 ap.Time:= 0;
 ap.Power:= 1;
 x:= hwFloat2Float(Me^.X);
 y:= hwFloat2Float(Me^.Y);
-if Abs(trunc(x) - Targ.X) + Abs(trunc(y) - Targ.Y) < 40 then
+if Abs(trunc(x) - Targ.Point.X) + Abs(trunc(y) - Targ.Point.Y) < 40 then
     exit(BadTurn);
 
-dmg:= sqrt(sqr(Targ.X - x)+sqr(Targ.Y-y));
+dmg:= sqrt(sqr(Targ.Point.X - x)+sqr(Targ.Point.Y-y));
 t:= 1.5 / dmg;
 dmg:= dmg * 0.025; // div 40
-Vx:= (Targ.X - x) * t;
-Vy:= (Targ.Y - y) * t;
+Vx:= (Targ.Point.X - x) * t;
+Vy:= (Targ.Point.Y - y) * t;
 ap.Angle:= DxDy2AttackAnglef(Vx, -Vy);
 d:= 0;
 
@@ -756,27 +750,20 @@
     if ((trunc(x) and LAND_WIDTH_MASK) = 0)and((trunc(y) and LAND_HEIGHT_MASK) = 0)
     and (Land[trunc(y), trunc(x)] <> 0) then
         inc(d);
-until (Abs(Targ.X - trunc(x)) + Abs(Targ.Y - trunc(y)) < 4)
+until (Abs(Targ.Point.X - trunc(x)) + Abs(Targ.Point.Y - trunc(y)) < 4)
     or (x < 0)
     or (y < 0)
     or (trunc(x) > LAND_WIDTH)
     or (trunc(y) > LAND_HEIGHT)
     or (d > 22);
 
-if Abs(Targ.X - trunc(x)) + Abs(Targ.Y - trunc(y)) < 4 then
-    begin
-    fallDmg:= TraceShoveFall(Targ.X, Targ.Y, vX * 0.00166 * dmg, vY * 0.00166 * dmg);
-    if fallDmg < 0 then
-        TestSniperRifle:= BadTurn
-    else
-        TestSniperRifle:= Max(0, trunc((dmg + fallDmg) * dmgMod) * 1024)
-    end
-else
-    TestSniperRifle:= BadTurn
+if Abs(Targ.Point.X - trunc(x)) + Abs(Targ.Point.Y - trunc(y)) < 4 then
+     TestSniperRifle:= RateShove(Me, Targ.Point.X, Targ.Point.Y, 1, trunc(dmg), 20, vX*0.166, vY*0.166, afTrackFall)
+else TestSniperRifle:= BadTurn;
 end;
 
 
-function TestBaseballBat(Me: PGear; Targ: TPoint; Level: LongInt; var ap: TAttackParams): LongInt;
+function TestBaseballBat(Me: PGear; Targ: TTarget; Level: LongInt; var ap: TAttackParams): LongInt;
 var valueResult, a, v1, v2: LongInt;
     x, y, trackFall: LongInt;
     dx, dy: real;
@@ -800,10 +787,10 @@
         dx:= sin(a / cMaxAngle * pi) * 0.5;
         dy:= cos(a / cMaxAngle * pi) * 0.5;
 
-        v1:= RateShove(x - 10, y + 2
+        v1:= RateShove(Me, x - 10, y + 2
                 , 32, 30, 115
                 , -dx, -dy, trackFall);
-        v2:= RateShove(x + 10, y + 2
+        v2:= RateShove(Me, x + 10, y + 2
                 , 32, 30, 115
                 , dx, -dy, trackFall);
         if (v1 > valueResult) or (v2 > valueResult) then
@@ -828,7 +815,7 @@
     TestBaseballBat:= valueResult;
 end;
 
-function TestFirePunch(Me: PGear; Targ: TPoint; Level: LongInt; var ap: TAttackParams): LongInt;
+function TestFirePunch(Me: PGear; Targ: TTarget; Level: LongInt; var ap: TAttackParams): LongInt;
 var valueResult, v1, v2, i: LongInt;
     x, y, trackFall: LongInt;
 begin
@@ -846,11 +833,11 @@
     v1:= 0;
     for i:= 0 to 8 do
         begin
-        v1:= v1 + RateShove(x - 5, y - 10 * i
+        v1:= v1 + RateShove(Me, x - 5, y - 10 * i
                 , 19, 30, 40
                 , -0.45, -0.9, trackFall or afSetSkip);
         end;
-    v1:= v1 + RateShove(x - 5, y - 90
+    v1:= v1 + RateShove(Me, x - 5, y - 90
             , 19, 30, 40
             , -0.45, -0.9, trackFall);
 
@@ -859,11 +846,11 @@
     v2:= 0;
     for i:= 0 to 8 do
         begin
-        v2:= v2 + RateShove(x + 5, y - 10 * i
+        v2:= v2 + RateShove(Me, x + 5, y - 10 * i
                 , 19, 30, 40
                 , 0.45, -0.9, trackFall or afSetSkip);
         end;
-    v2:= v2 + RateShove(x + 5, y - 90
+    v2:= v2 + RateShove(Me, x + 5, y - 90
             , 19, 30, 40
             , 0.45, -0.9, trackFall);
 
@@ -886,7 +873,7 @@
 end;
 
 
-function TestWhip(Me: PGear; Targ: TPoint; Level: LongInt; var ap: TAttackParams): LongInt;
+function TestWhip(Me: PGear; Targ: TTarget; Level: LongInt; var ap: TAttackParams): LongInt;
 var valueResult, v1, v2: LongInt;
     x, y, trackFall: LongInt;
 begin
@@ -905,19 +892,19 @@
     {first RateShove checks farthermost of two whip's AmmoShove attacks
     to encourage distant attacks (damaged hog is excluded from view of second
     RateShove call)}
-    v1:= RateShove(x - 13, y
+    v1:= RateShove(Me, x - 13, y
             , 30, 30, 25
             , -1, -0.8, trackFall or afSetSkip);
     v1:= v1 +
-        RateShove(x - 2, y
+        RateShove(Me, x - 2, y
             , 30, 30, 25
             , -1, -0.8, trackFall);
     // now try opposite direction
-    v2:= RateShove(x + 13, y
+    v2:= RateShove(Me, x + 13, y
             , 30, 30, 25
             , 1, -0.8, trackFall or afSetSkip);
     v2:= v2 +
-        RateShove(x + 2, y
+        RateShove(Me, x + 2, y
             , 30, 30, 25
             , 1, -0.8, trackFall);
 
@@ -941,7 +928,7 @@
     TestWhip:= valueResult;
 end;
 
-function TestKamikaze(Me: PGear; Targ: TPoint; Level: LongInt; var ap: TAttackParams): LongInt;
+function TestKamikaze(Me: PGear; Targ: TTarget; Level: LongInt; var ap: TAttackParams): LongInt;
 const step = 8;
 var valueResult, i, v, tx: LongInt;
     trackFall: LongInt;
@@ -963,7 +950,7 @@
 
     x:= hwFloat2Float(Me^.X);
     y:= hwFloat2Float(Me^.Y);
-    d:= sqrt(sqr(Targ.X - x) + sqr(Targ.Y - y));
+    d:= sqrt(sqr(Targ.Point.X - x) + sqr(Targ.Point.Y - y));
     if d < 10 then
         begin
         dx:= 0;
@@ -973,8 +960,8 @@
     else
         begin
         t:= step / d;
-        dx:= (Targ.X - x) * t;
-        dy:= (Targ.Y - y) * t;
+        dx:= (Targ.Point.X - x) * t;
+        dy:= (Targ.Point.Y - y) * t;
 
         ap.Angle:= DxDy2AttackAnglef(dx, -dy)
         end;
@@ -984,7 +971,7 @@
     for i:= 0 to 512 div step - 2 do
         begin
         valueResult:= valueResult +
-            RateShove(trunc(x), trunc(y)
+            RateShove(Me, trunc(x), trunc(y)
                 , 30, 30, 25
                 , cx, -0.9, trackFall or afSetSkip);
 
@@ -996,14 +983,14 @@
         x:= hwFloat2Float(Me^.X);
         y:= hwFloat2Float(Me^.Y);
         tx:= trunc(x);
-        v:= RateShove(tx, trunc(y)
+        v:= RateShove(Me, tx, trunc(y)
                 , 30, 30, 25
                 , -cx, -0.9, trackFall);
         for i:= 1 to 512 div step - 2 do
             begin
             y:= y + dy;
             v:= v +
-                RateShove(tx, trunc(y)
+                RateShove(Me, tx, trunc(y)
                     , 30, 30, 25
                     , -cx, -0.9, trackFall or afSetSkip);
             end
@@ -1014,7 +1001,7 @@
         valueResult:= v
         end;
 
-    v:= RateShove(trunc(x), trunc(y)
+    v:= RateShove(Me, trunc(x), trunc(y)
             , 30, 30, 25
             , cx, -0.9, trackFall);
     valueResult:= valueResult + v - KillScore * friendlyfactor div 100 * 1024;
@@ -1025,7 +1012,7 @@
     TestKamikaze:= valueResult;
 end;
 
-function TestHammer(Me: PGear; Targ: TPoint; Level: LongInt; var ap: TAttackParams): LongInt;
+function TestHammer(Me: PGear; Targ: TTarget; Level: LongInt; var ap: TAttackParams): LongInt;
 var rate: LongInt;
 begin
 Level:= Level; // avoid compiler hint
@@ -1042,7 +1029,7 @@
 TestHammer:= rate;
 end;
 
-function TestAirAttack(Me: PGear; Targ: TPoint; Level: LongInt; var ap: TAttackParams): LongInt;
+function TestAirAttack(Me: PGear; Targ: TTarget; Level: LongInt; var ap: TAttackParams): LongInt;
 const cShift = 4;
 var bombsSpeed, X, Y, dY: real;
     b: array[0..9] of boolean;
@@ -1056,12 +1043,12 @@
     exit(BadTurn);
 
 ap.Angle:= 0;
-ap.AttackPutX:= Targ.X;
-ap.AttackPutY:= Targ.Y;
+ap.AttackPutX:= Targ.Point.X;
+ap.AttackPutY:= Targ.Point.Y;
 
 bombsSpeed:= hwFloat2Float(cBombsSpeed);
-X:= Targ.X - 135 - cShift; // hh center - cShift
-X:= X - bombsSpeed * sqrt(((Targ.Y + 128) * 2) / cGravityf);
+X:= Targ.Point.X - 135 - cShift; // hh center - cShift
+X:= X - bombsSpeed * sqrt(((Targ.Point.Y + 128) * 2) / cGravityf);
 Y:= -128;
 dY:= 0;
 
@@ -1093,7 +1080,7 @@
 
 for i:= 0 to 5 do inc(valueResult, dmg[i]);
 t:= valueResult;
-ap.AttackPutX:= Targ.X - 60;
+ap.AttackPutX:= Targ.Point.X - 60;
 
 for i:= 0 to 3 do
     begin
@@ -1102,7 +1089,7 @@
     if t > valueResult then
         begin
         valueResult:= t;
-        ap.AttackPutX:= Targ.X - 30 - cShift + i * 30
+        ap.AttackPutX:= Targ.Point.X - 30 - cShift + i * 30
         end
     end;
 
@@ -1112,7 +1099,7 @@
 end;
 
 
-function TestTeleport(Me: PGear; Targ: TPoint; Level: LongInt; var ap: TAttackParams): LongInt;
+function TestTeleport(Me: PGear; Targ: TTarget; Level: LongInt; var ap: TAttackParams): LongInt;
 var
     i, failNum: longword;
     maxTop: longword;
@@ -1125,15 +1112,15 @@
         begin
         if Me^.Health <= 100  then
             begin
-            maxTop := Targ.Y - cHHRadius * 2;
+            maxTop := Targ.Point.Y - cHHRadius * 2;
 
-            while (not TestColl(Targ.X, maxTop, cHHRadius)) and (maxTop > topY + cHHRadius * 2 + 1) do
+            while not TestColl(Targ.Point.X, maxTop, cHHRadius) and (maxTop > topY + cHHRadius * 2 + 1) do
                 dec(maxTop, cHHRadius*2);
-            if not TestColl(Targ.X, maxTop + cHHRadius, cHHRadius) then
+            if not TestColl(Targ.Point.X, maxTop + cHHRadius, cHHRadius) then
                 begin
-                ap.AttackPutX := Targ.X;
+                ap.AttackPutX := Targ.Point.X;
                 ap.AttackPutY := maxTop + cHHRadius;
-                TestTeleport := Targ.Y - maxTop;
+                TestTeleport := Targ.Point.Y - maxTop;
                 end;
             end;
         end
@@ -1176,7 +1163,7 @@
     end;
 end;
 
-function TestCake(Me: PGear; Targ: TPoint; Level: LongInt; var ap: TAttackParams): LongInt;
+function TestCake(Me: PGear; Targ: TTarget; Level: LongInt; var ap: TAttackParams): LongInt;
 var valueResult, v1, v2: LongInt;
     cake: TGear;
 begin
--- a/hedgewars/uAIMisc.pas	Thu Apr 04 14:37:19 2013 +0200
+++ b/hedgewars/uAIMisc.pas	Tue Jun 04 22:28:12 2013 +0200
@@ -1,6 +1,6 @@
 (*
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2012 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2013 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
@@ -30,14 +30,18 @@
 
       BadTurn = Low(LongInt) div 4;
 
-type TTarget = record
+type TTarget = record // starting to look more and more like a gear
     Point: TPoint;
-    Score: LongInt;
-    skip, matters: boolean;
+    Score, Radius: LongInt;
+    State: LongWord;
+    Density: real;
+    skip, matters, dead: boolean;
+    Kind: TGearType;
     end;
 TTargets = record
     Count: Longword;
-    ar: array[0..Pred(cMaxHHs)] of TTarget;
+    ar: array[0..Pred(256)] of TTarget;
+    reset: boolean;
     end;
 TJumpType = (jmpNone, jmpHJump, jmpLJump);
 TGoInfo = record
@@ -65,6 +69,7 @@
 procedure freeModule;
 
 procedure FillTargets;
+procedure ResetTargets; inline;
 procedure AddBonus(x, y: LongInt; r: Longword; s: LongInt); inline;
 procedure FillBonuses(isAfterAttack: boolean);
 procedure AwareOfExplosion(x, y, r: LongInt); inline;
@@ -73,12 +78,11 @@
 function  TestColl(x, y, r: LongInt): boolean; inline;
 function  TestCollExcludingObjects(x, y, r: LongInt): boolean; inline;
 function  TestCollExcludingMe(Me: PGear; x, y, r: LongInt): boolean; inline;
-function  TraceShoveFall(x, y, dX, dY: Real): LongInt;
-function TestCollWithLand(x, y, r: LongInt): boolean; inline;
 
 function  RateExplosion(Me: PGear; x, y, r: LongInt): LongInt; inline;
-function  RateExplosion(Me: PGear; x, y, r: LongInt; Flags: LongWord): LongInt;
-function  RateShove(x, y, r, power, kick: LongInt; gdX, gdY: real; Flags: LongWord): LongInt;
+function  RateExplosion(Me: PGear; x, y, r: LongInt; Flags: LongWord): LongInt; inline;
+function  RealRateExplosion(Me: PGear; x, y, r: LongInt; Flags: LongWord): LongInt;
+function  RateShove(Me: PGear; x, y, r, power, kick: LongInt; gdX, gdY: real; Flags: LongWord): LongInt;
 function  RateShotgun(Me: PGear; gdX, gdY: real; x, y: LongInt): LongInt;
 function  RateHammer(Me: PGear): LongInt;
 
@@ -94,52 +98,82 @@
 
 const KillScore = 200;
 var friendlyfactor: LongInt = 300;
+var dmgMod: real = 1.0;
 
 implementation
 uses uCollisions, uVariables, uUtils, uLandTexture, uGearsUtils;
 
-var 
+var
     KnownExplosion: record
         X, Y, Radius: LongInt
         end = (X: 0; Y: 0; Radius: 0);
 
+procedure ResetTargets; inline;
+var i: LongWord;
+begin
+if Targets.reset then
+    for i:= 0 to Targets.Count do
+        Targets.ar[i].dead:= false;
+Targets.reset:= false;
+end;
 procedure FillTargets;
 var i, t: Longword;
     f, e: LongInt;
+    Gear: PGear;
 begin
 Targets.Count:= 0;
+Targets.reset:= false;
 f:= 0;
 e:= 0;
-for t:= 0 to Pred(TeamsCount) do
-    with TeamsArray[t]^ do
-        if not hasGone then
+Gear:= GearsList;
+while Gear <> nil do
+    begin
+    if  (((Gear^.Kind = gtHedgehog) and
+            (Gear <> ThinkingHH) and
+            (Gear^.Health > Gear^.Damage) and
+            not(Gear^.Hedgehog^.Team^.hasgone)) or
+        ((Gear^.Kind = gtExplosives) and
+            (Gear^.Health > Gear^.Damage)) or
+        ((Gear^.Kind = gtMine) and
+            (Gear^.Health = 0) and
+             (Gear^.Damage < 35))
+             )  and 
+        (Targets.Count < 256) then
+        begin
+        with Targets.ar[Targets.Count] do
             begin
-            for i:= 0 to cMaxHHIndex do
-                if (Hedgehogs[i].Gear <> nil)
-                and (Hedgehogs[i].Gear <> ThinkingHH)
-                and (Hedgehogs[i].Gear^.Health > Hedgehogs[i].Gear^.Damage) 
-                    then
+            skip:= false;
+            dead:= false;
+            Kind:= Gear^.Kind;
+            Radius:= Gear^.Radius;
+            Density:= hwFloat2Float(Gear^.Density)/3;
+            State:= Gear^.State;
+            matters:= (Gear^.AIHints and aihDoesntMatter) = 0;
+
+            Point.X:= hwRound(Gear^.X);
+            Point.Y:= hwRound(Gear^.Y);
+            if (Gear^.Kind = gtHedgehog) then
+                begin
+                if (Gear^.Hedgehog^.Team^.Clan = CurrentTeam^.Clan) then
                     begin
-                    with Targets.ar[Targets.Count], Hedgehogs[i] do
-                        begin
-                        skip:= false;
-                        matters:= (Hedgehogs[i].Gear^.AIHints and aihDoesntMatter) = 0;
-                        
-                        Point.X:= hwRound(Gear^.X);
-                        Point.Y:= hwRound(Gear^.Y);
-                        if Clan <> CurrentTeam^.Clan then
-                            begin
-                            Score:= Gear^.Health - Gear^.Damage;
-                            inc(e)
-                            end else
-                            begin
-                            Score:= Gear^.Damage - Gear^.Health;
-                            inc(f)
-                            end
-                        end;
-                    inc(Targets.Count)
+                    Score:= Gear^.Damage - Gear^.Health;
+                    inc(f)
+                    end
+                else 
+                    begin
+                    Score:= Gear^.Health - Gear^.Damage;
+                    inc(e)
                     end;
+                end
+            else if Gear^.Kind = gtExplosives then
+                Score:= Gear^.Health - Gear^.Damage
+            else if Gear^.Kind = gtMine then 
+                Score:= max(0,35-Gear^.Damage);
             end;
+        inc(Targets.Count)
+        end;
+    Gear:= Gear^.NextGear
+    end;
 
 if e > f then friendlyfactor:= 300 + (e - f) * 30
 else friendlyfactor:= max(30, 300 - f * 80 div max(1,e))
@@ -185,24 +219,24 @@
             gtFlame:
                 if (Gear^.State and gsttmpFlag) <> 0 then
                     AddBonus(hwRound(Gear^.X), hwRound(Gear^.Y), 20, -50);
-// avoid mines unless they are very likely to be duds, or are duds. also avoid if they are about to blow 
+// avoid mines unless they are very likely to be duds, or are duds. also avoid if they are about to blow
             gtMine:
                 if ((Gear^.State and gstAttacking) = 0) and (((cMineDudPercent < 90) and (Gear^.Health <> 0))
                 or (isAfterAttack and (Gear^.Health = 0) and (Gear^.Damage > 30))) then
                     AddBonus(hwRound(Gear^.X), hwRound(Gear^.Y), 50, -50)
                 else if (Gear^.State and gstAttacking) <> 0 then
                     AddBonus(hwRound(Gear^.X), hwRound(Gear^.Y), 100, -50); // mine is on
-                    
+
             gtExplosives:
             if isAfterAttack then
                 AddBonus(hwRound(Gear^.X), hwRound(Gear^.Y), 75, -60 + Gear^.Health);
-                
+
             gtSMine:
                 AddBonus(hwRound(Gear^.X), hwRound(Gear^.Y), 50, -30);
-                
+
             gtDynamite:
                 AddBonus(hwRound(Gear^.X), hwRound(Gear^.Y), 150, -75);
-                
+
             gtHedgehog:
                 begin
                 if Gear^.Damage >= Gear^.Health then
@@ -260,6 +294,58 @@
     RatePlace:= rate;
 end;
 
+function CheckBounds(x, y, r: Longint): boolean; inline;
+begin
+    CheckBounds := (((x-r) and LAND_WIDTH_MASK) = 0) and
+        (((x+r) and LAND_WIDTH_MASK) = 0) and
+        (((y-r) and LAND_HEIGHT_MASK) = 0) and
+        (((y+r) and LAND_HEIGHT_MASK) = 0);
+end;
+
+
+function TestCollWithEverything(x, y, r: LongInt): boolean; inline;
+begin
+    if not CheckBounds(x, y, r) then
+        exit(false);
+
+    if (Land[y-r, x-r] <> 0) or
+       (Land[y+r, x-r] <> 0) or
+       (Land[y-r, x+r] <> 0) or
+       (Land[y+r, x+r] <> 0) then
+       exit(true);
+
+    TestCollWithEverything := false;
+end;
+
+function TestCollExcludingObjects(x, y, r: LongInt): boolean; inline;
+begin
+    if not CheckBounds(x, y, r) then
+        exit(false);
+
+    if (Land[y-r, x-r] > lfAllObjMask) or
+       (Land[y+r, x-r] > lfAllObjMask) or
+       (Land[y-r, x-r] > lfAllObjMask) or
+       (Land[y+r, x+r] > lfAllObjMask) then
+       exit(true);
+
+    TestCollExcludingObjects:= false;
+end;
+
+function TestColl(x, y, r: LongInt): boolean; inline;
+begin
+    if not CheckBounds(x, y, r) then
+        exit(false);
+
+    if (Land[y-r, x-r] and lfNotCurrentMask <> 0) or
+       (Land[y+r, x-r] and lfNotCurrentMask <> 0) or
+       (Land[y+r, x-r] and lfNotCurrentMask <> 0) or
+       (Land[y+r, x+r] and lfNotCurrentMask <> 0) then
+       exit(true);
+
+    TestColl:= false;
+end;
+
+
 // Wrapper to test various approaches.  If it works reasonably, will just replace.
 // Right now, converting to hwFloat is a tad inefficient since the x/y were hwFloat to begin with...
 function TestCollExcludingMe(Me: PGear; x, y, r: LongInt): boolean; inline;
@@ -270,155 +356,134 @@
         MeX:= hwRound(Me^.X);
         MeY:= hwRound(Me^.Y);
         // We are still inside the hog. Skip radius test
-        if ((((x-MeX)*(x-MeX)) + ((y-MeY)*(y-MeY))) < 256) and (Land[y, x] <= lfAllObjMask) and ((Land[y, x] and lfObjMask) < 2) then
+        if ((sqr(x-MeX) + sqr(y-MeY)) < 256) and (Land[y, x] and lfObjMask = 0) then
             exit(false);
     end;
-    TestCollExcludingMe:= TestColl(x, y, r)
-end;
-
-function TestCollExcludingObjects(x, y, r: LongInt): boolean; inline;
-var b: boolean;
-begin
-    b:= (((x-r) and LAND_WIDTH_MASK) = 0) and (((y-r) and LAND_HEIGHT_MASK) = 0) and (Land[y-r, x-r] > lfAllObjMask);
-    if b then
-        exit(true);
-    
-    b:= (((x-r) and LAND_WIDTH_MASK) = 0) and (((y+r) and LAND_HEIGHT_MASK) = 0) and (Land[y+r, x-r] > lfAllObjMask);
-    if b then
-        exit(true);
-    
-    b:= (((x+r) and LAND_WIDTH_MASK) = 0) and (((y-r) and LAND_HEIGHT_MASK) = 0) and (Land[y-r, x+r] > lfAllObjMask);
-    if b then
-        exit(true);
-    
-    b:= (((x+r) and LAND_WIDTH_MASK) = 0) and (((y+r) and LAND_HEIGHT_MASK) = 0) and (Land[y+r, x+r] > lfAllObjMask);
-    if b then
-        exit(true);
-    
-    TestCollExcludingObjects:= false;
+    TestCollExcludingMe:= TestCollWithEverything(x, y, r)
 end;
 
-function TestColl(x, y, r: LongInt): boolean; inline;
-var b: boolean;
-begin
-    b:= (((x-r) and LAND_WIDTH_MASK) = 0) and (((y-r) and LAND_HEIGHT_MASK) = 0) and (Land[y-r, x-r] and lfNotCurrentMask <> 0);
-    if b then
-        exit(true);
-    
-    b:= (((x-r) and LAND_WIDTH_MASK) = 0) and (((y+r) and LAND_HEIGHT_MASK) = 0) and (Land[y+r, x-r] and lfNotCurrentMask <> 0);
-    if b then
-        exit(true);
-    
-    b:= (((x+r) and LAND_WIDTH_MASK) = 0) and (((y-r) and LAND_HEIGHT_MASK) = 0) and (Land[y-r, x+r] and lfNotCurrentMask <> 0);
-    if b then
-        exit(true);
-    
-    b:= (((x+r) and LAND_WIDTH_MASK) = 0) and (((y+r) and LAND_HEIGHT_MASK) = 0) and (Land[y+r, x+r] and lfNotCurrentMask <> 0);
-    if b then
-        exit(true);
-    
-    TestColl:= false;
-end;
+
 
-function TestCollWithLand(x, y, r: LongInt): boolean; inline;
-var b: boolean;
-begin
-    b:= (((x-r) and LAND_WIDTH_MASK) = 0) and (((y-r) and LAND_HEIGHT_MASK) = 0) and (Land[y-r, x-r] > lfAllObjMask);
-    if b then
-        exit(true);
-        
-    b:= (((x-r) and LAND_WIDTH_MASK) = 0) and (((y+r) and LAND_HEIGHT_MASK) = 0) and (Land[y+r, x-r] > lfAllObjMask);
-    if b then
-        exit(true);
-        
-    b:= (((x+r) and LAND_WIDTH_MASK) = 0) and (((y-r) and LAND_HEIGHT_MASK) = 0) and (Land[y-r, x+r] > lfAllObjMask);
-    if b then
-        exit(true);
-        
-    b:= (((x+r) and LAND_WIDTH_MASK) = 0) and (((y+r) and LAND_HEIGHT_MASK) = 0) and (Land[y+r, x+r] > lfAllObjMask);
-    if b then
-        exit(true);
-
-    TestCollWithLand:= false;
-end;
-
-function TraceFall(eX, eY: LongInt; x, y, dX, dY: Real; r: LongWord): LongInt;
+function TraceFall(eX, eY: LongInt; var x, y: Real; dX, dY: Real; r: LongWord; Target: TTarget): LongInt;
 var skipLandCheck: boolean;
-    rCorner: real;
+    rCorner, dxdy, odX, odY: real;
     dmg: LongInt;
 begin
+    odX:= dX;
+    odY:= dY;
     skipLandCheck:= true;
-    if x - eX < 0 then dX:= -dX;
-    if y - eY < 0 then dY:= -dY;
     // ok. attempt approximate search for an unbroken trajectory into water.  if it continues far enough, assume out of map
     rCorner:= r * 0.75;
     while true do
-    begin
+        begin
         x:= x + dX;
         y:= y + dY;
         dY:= dY + cGravityf;
         skipLandCheck:= skipLandCheck and (r <> 0) and (abs(eX-x) + abs(eY-y) < r) and ((abs(eX-x) < rCorner) or (abs(eY-y) < rCorner));
-        if (not skipLandCheck) and TestCollWithLand(trunc(x), trunc(y), cHHRadius) then
-        begin
-            if 0.4 < dY then
-            begin
-                dmg := 1 + trunc((abs(dY) - 0.4) * 70);
-                if dmg >= 1 then
-                    exit(dmg);
+        if not skipLandCheck and TestCollExcludingObjects(trunc(x), trunc(y), Target.Radius) then
+            with Target do
+                begin
+                if (Kind = gtHedgehog) and (0.4 < dY) then
+                    begin
+                    dmg := 1 + trunc((dY - 0.4) * 70);
+                    exit(dmg)
+                    end
+                else 
+                    begin
+                    dxdy:= abs(dX)+abs(dY);
+                    if ((Kind = gtMine) and (dxdy > 0.35)) or 
+                       ((Kind = gtExplosives) and 
+                            (((State and gstTmpFlag <> 0) and (dxdy > 0.35)) or
+                             ((State and gstTmpFlag = 0) and 
+                                ((abs(odX) > 0.15) or ((abs(odY) > 0.15) and 
+                                (abs(odX) > 0.02))) and (dxdy > 0.35)))) then
+                        begin
+                        dmg := trunc(dxdy * 25);
+                        exit(dmg)
+                        end
+                    else if (Kind = gtExplosives) and not((abs(odX) > 0.15) or ((abs(odY) > 0.15) and (abs(odX) > 0.02))) and (dY > 0.2) then
+                        begin
+                        dmg := trunc(dy * 70);
+                        exit(dmg)
+                        end
+                    end;
+            exit(0)
             end;
-            exit(0)
-        end;
-        if (y > cWaterLine) or (x > 4096) or (x < 0) then
-            exit(-1);
-    end;
+        if (y > cWaterLine) or (x > rightX) or (x < leftX) then exit(-1)
+        end
 end;
 
-function TraceShoveFall(x, y, dX, dY: Real): LongInt;
+function TraceShoveFall(var x, y: Real; dX, dY: Real; Target: TTarget): LongInt;
 var dmg: LongInt;
+    dxdy, odX, odY: real;
 begin
+    odX:= dX;
+    odY:= dY;
 //v:= random($FFFFFFFF);
     while true do
-    begin
+        begin
         x:= x + dX;
         y:= y + dY;
         dY:= dY + cGravityf;
 
-{        if ((trunc(y) and LAND_HEIGHT_MASK) = 0) and ((trunc(x) and LAND_WIDTH_MASK) = 0) then 
+{        if ((trunc(y) and LAND_HEIGHT_MASK) = 0) and ((trunc(x) and LAND_WIDTH_MASK) = 0) then
             begin
             LandPixels[trunc(y), trunc(x)]:= v;
             UpdateLandTexture(trunc(X), 1, trunc(Y), 1, true);
             end;}
 
-
-        // consider adding dX/dY calc here for fall damage
-        if TestCollExcludingObjects(trunc(x), trunc(y), cHHRadius) then
-        begin
-            if 0.4 < dY then
-            begin
-                dmg := 1 + trunc((abs(dY) - 0.4) * 70);
-                if dmg >= 1 then
+        if TestCollExcludingObjects(trunc(x), trunc(y), Target.Radius) then
+            with Target do
+                begin
+                if (Kind = gtHedgehog) and (0.4 < dY) then
+                    begin
+                    dmg := trunc((dY - 0.4) * 70);
                     exit(dmg);
-            end;
+                    end
+                else 
+                    begin
+                    dxdy:= abs(dX)+abs(dY);
+                    if ((Kind = gtMine) and (dxdy > 0.4)) or 
+                       ((Kind = gtExplosives) and 
+                            (((State and gstTmpFlag <> 0) and (dxdy > 0.4)) or
+                             ((State and gstTmpFlag = 0) and 
+                                ((abs(odX) > 0.15) or ((abs(odY) > 0.15) and 
+                                (abs(odX) > 0.02))) and (dxdy > 0.35)))) then
+                        begin
+                        dmg := trunc(dxdy * 50);
+                        exit(dmg)
+                        end
+                    else if (Kind = gtExplosives) and not((abs(odX) > 0.15) or ((abs(odY) > 0.15) and (abs(odX) > 0.02))) and (dY > 0.2) then
+                        begin
+                        dmg := trunc(dy * 70);
+                        exit(dmg)
+                        end
+                    end;
             exit(0)
         end;
-        if (y > cWaterLine) or (x > 4096) or (x < 0) then
+        if (y > cWaterLine) or (x > rightX) or (x < leftX) then
             // returning -1 for drowning so it can be considered in the Rate routine
             exit(-1)
     end;
 end;
 
-function RateExplosion(Me: PGear; x, y, r: LongInt): LongInt;
+function RateExplosion(Me: PGear; x, y, r: LongInt): LongInt; inline;
 begin
-    RateExplosion:= RateExplosion(Me, x, y, r, 0);
+    RateExplosion:= RealRateExplosion(Me, x, y, r, 0);
+    ResetTargets;
+end;
+function RateExplosion(Me: PGear; x, y, r: LongInt; Flags: LongWord): LongInt; inline;
+begin
+    RateExplosion:= RealRateExplosion(Me, x, y, r, Flags);
+    ResetTargets;
 end;
 
-function RateExplosion(Me: PGear; x, y, r: LongInt; Flags: LongWord): LongInt;
-var i, fallDmg, dmg, dmgBase, rate, erasure: LongInt;
-    dX, dY, dmgMod: real;
+function RealRateExplosion(Me: PGear; x, y, r: LongInt; Flags: LongWord): LongInt;
+var i, fallDmg, dmg, dmgBase, rate, subrate, erasure: LongInt;
+    pX, pY, dX, dY: real;
     hadSkips: boolean;
 begin
 fallDmg:= 0;
-dmgMod:= 0.01 * hwFloat2Float(cDamageModifier) * cDamagePercent;
 rate:= 0;
 // add our virtual position
 with Targets.ar[Targets.Count] do
@@ -427,10 +492,12 @@
     Point.y:= hwRound(Me^.Y);
     skip:= false;
     matters:= true;
+    Kind:= gtHedgehog;
+    Density:= 1;
+    Radius:= cHHRadius;
     Score:= - ThinkingHH^.Health
     end;
 // rate explosion
-dmgBase:= r + cHHRadius div 2;
 
 if (Flags and afErasesLand <> 0) and (GameFlags and gfSolidLand = 0) then erasure:= r
 else erasure:= 0;
@@ -438,98 +505,169 @@
 hadSkips:= false;
 
 for i:= 0 to Targets.Count do
-    with Targets.ar[i] do
-      if not matters then hadSkips:= true
-        else
-        begin
-        dmg:= 0;
-        if abs(Point.x - x) + abs(Point.y - y) < dmgBase then
-            dmg:= trunc(dmgMod * min((dmgBase - trunc(sqrt(sqr(Point.x - x)+sqr(Point.y - y)))) div 2, r));
+    if not Targets.ar[i].dead then
+        with Targets.ar[i] do
+          if not matters then hadSkips:= true
+            else
+            begin
+            dmg:= 0;
+            dmgBase:= r + Radius div 2;
+            if abs(Point.x - x) + abs(Point.y - y) < dmgBase then
+                dmg:= trunc(dmgMod * min((dmgBase - trunc(sqrt(sqr(Point.x - x)+sqr(Point.y - y)))) div 2, r));
 
-        if dmg > 0 then
-            begin
-            if (Flags and afTrackFall <> 0) and (dmg < abs(Score)) then
+            if dmg > 0 then
                 begin
-                dX:= 0.005 * dmg + 0.01;
-                dY:= dX;
-                if (x and LAND_WIDTH_MASK = 0) and ((y+cHHRadius+2) and LAND_HEIGHT_MASK = 0) and 
-                   (Land[y+cHHRadius+2, x] and lfIndestructible <> 0) then
-                     fallDmg:= trunc(TraceFall(x, y, Point.x, Point.y, dX, dY, 0) * dmgMod)
-                else fallDmg:= trunc(TraceFall(x, y, Point.x, Point.y, dX, dY, erasure) * dmgMod)
-                end;
-            if fallDmg < 0 then // drowning. score healthier hogs higher, since their death is more likely to benefit the AI
-                if Score > 0 then
-                    inc(rate, (KillScore + Score div 10) * 1024)   // Add a bit of a bonus for bigger hog drownings
-                else
-                    dec(rate, (KillScore * friendlyfactor div 100 - Score div 10) * 1024) // and more of a punishment for drowning bigger friendly hogs
-            else if (dmg+fallDmg) >= abs(Score) then
-                if Score > 0 then
-                    inc(rate, KillScore * 1024 + (dmg + fallDmg)) // tiny bonus for dealing more damage than needed to kill
-                else
-                    dec(rate, KillScore * friendlyfactor div 100 * 1024)
-            else
-                if Score > 0 then
-                    inc(rate, (dmg + fallDmg) * 1024)
-                else dec(rate, (dmg + fallDmg) * friendlyfactor div 100 * 1024)
+                pX:= Point.x;
+                pY:= Point.y;
+                fallDmg:= 0;
+                if (Flags and afTrackFall <> 0) and (Score > 0) and (dmg < Score) then
+                    begin
+                    dX:= (0.005 * dmg + 0.01) / Density;
+                    dY:= dX;
+                    if (Kind = gtExplosives) and (State and gstTmpFlag = 0) and 
+                       (((abs(dY) > 0.15) and (abs(dX) < 0.02)) or
+                        ((abs(dY) < 0.15) and (abs(dX) < 0.15))) then
+                        dX:= 0;
+
+                    if pX - x < 0 then dX:= -dX;
+                    if pY - y < 0 then dY:= -dY;
+
+                    if (x and LAND_WIDTH_MASK = 0) and ((y+cHHRadius+2) and LAND_HEIGHT_MASK = 0) and
+                       (Land[y+cHHRadius+2, x] and lfIndestructible <> 0) then
+                         fallDmg:= trunc(TraceFall(x, y, pX, pY, dX, dY, 0, Targets.ar[i]) * dmgMod)
+                    else fallDmg:= trunc(TraceFall(x, y, pX, pY, dX, dY, erasure, Targets.ar[i]) * dmgMod)
+                    end;
+                if Kind = gtHedgehog then
+                    begin
+                    if fallDmg < 0 then // drowning. score healthier hogs higher, since their death is more likely to benefit the AI
+                        begin
+                        if Score > 0 then
+                            inc(rate, (KillScore + Score div 10) * 1024)   // Add a bit of a bonus for bigger hog drownings
+                        else
+                            dec(rate, (KillScore * friendlyfactor div 100 - Score div 10) * 1024) // and more of a punishment for drowning bigger friendly hogs
+                        end
+                    else if (dmg+fallDmg) >= abs(Score) then
+                        begin
+                        dead:= true;
+                        Targets.reset:= true;
+                        if dX < 0.035 then
+                            begin
+                            subrate:= RealRateExplosion(Me, round(pX), round(pY), 61, afErasesLand or (Flags and afTrackFall));
+                            if abs(subrate) > 2000 then inc(Rate,subrate)
+                            end;
+                        if Score > 0 then
+                             inc(rate, KillScore * 1024 + (dmg + fallDmg)) // tiny bonus for dealing more damage than needed to kill
+                        else dec(rate, KillScore * friendlyfactor div 100 * 1024)
+                        end
+                    else
+                        begin
+                        if Score > 0 then
+                             inc(rate, (dmg + fallDmg) * 1024)
+                        else dec(rate, (dmg + fallDmg) * friendlyfactor div 100 * 1024)
+                        end
+                    end
+                else if (fallDmg >= 0) and ((dmg+fallDmg) >= Score) then
+                    begin
+                    dead:= true;
+                    Targets.reset:= true;
+                    if Kind = gtExplosives then
+                         subrate:= RealRateExplosion(Me, round(pX), round(pY), 151, afErasesLand or (Flags and afTrackFall))
+                    else subrate:= RealRateExplosion(Me, round(pX), round(pY), 101, afErasesLand or (Flags and afTrackFall));
+                    if abs(subrate) > 2000 then inc(Rate,subrate);
+                    end
+                end
             end;
-        end;
 
 if hadSkips and (rate = 0) then
-    RateExplosion:= BadTurn
+    RealRateExplosion:= BadTurn
     else
-    RateExplosion:= rate;
+    RealRateExplosion:= rate;
 end;
 
-function RateShove(x, y, r, power, kick: LongInt; gdX, gdY: real; Flags: LongWord): LongInt;
-var i, fallDmg, dmg, rate: LongInt;
-    dX, dY, dmgMod: real;
+function RateShove(Me: PGear; x, y, r, power, kick: LongInt; gdX, gdY: real; Flags: LongWord): LongInt;
+var i, fallDmg, dmg, rate, subrate: LongInt;
+    dX, dY, pX, pY: real;
 begin
 fallDmg:= 0;
 dX:= gdX * 0.01 * kick;
 dY:= gdY * 0.01 * kick;
-dmgMod:= 0.01 * hwFloat2Float(cDamageModifier) * cDamagePercent;
 rate:= 0;
 for i:= 0 to Pred(Targets.Count) do
     with Targets.ar[i] do
-      if skip then 
-        if (Flags and afSetSkip = 0) then skip:= false else {still skip}
-      else if matters then
-        begin
-        dmg:= 0;
-        if abs(Point.x - x) + abs(Point.y - y) < r then
-            dmg:= r - trunc(sqrt(sqr(Point.x - x)+sqr(Point.y - y)));
-
-        if dmg > 0 then
+        if skip then
+            begin
+            if Flags and afSetSkip = 0 then skip:= false
+            end
+        else if matters then
             begin
-            if (Flags and afSetSkip <> 0) then skip:= true;
-            if (Flags and afTrackFall <> 0) and (Score > 0) then 
-                fallDmg:= trunc(TraceShoveFall(Point.x, Point.y - 2, dX, dY) * dmgMod);
-            if fallDmg < 0 then // drowning. score healthier hogs higher, since their death is more likely to benefit the AI
-                if Score > 0 then
-                    inc(rate, KillScore + Score div 10)   // Add a bit of a bonus for bigger hog drownings
-                else
-                    dec(rate, KillScore * friendlyfactor div 100 - Score div 10) // and more of a punishment for drowning bigger friendly hogs
-            else if power+fallDmg >= abs(Score) then
-                if Score > 0 then
-                    inc(rate, KillScore)
-                else
-                    dec(rate, KillScore * friendlyfactor div 100)
-            else
-                if Score > 0 then
-                    inc(rate, power+fallDmg)
-                else
-                    dec(rate, (power+fallDmg) * friendlyfactor div 100)
+            dmg:= 0;
+            if abs(Point.x - x) + abs(Point.y - y) < r then
+                dmg:= r - trunc(sqrt(sqr(Point.x - x)+sqr(Point.y - y)));
+
+            if dmg > 0 then
+                begin
+                pX:= Point.x;
+                pY:= Point.y-2;
+                fallDmg:= 0;
+                if (Flags and afSetSkip <> 0) then skip:= true;
+                if not(dead) and (Flags and afTrackFall <> 0) and (Score > 0) and (power < Score) then
+                    if (Kind = gtExplosives) and (State and gstTmpFlag = 0) and 
+                       (((abs(dY) > 0.15) and (abs(dX) < 0.02)) or
+                        ((abs(dY) < 0.15) and (abs(dX) < 0.15))) then
+                        fallDmg:= trunc(TraceShoveFall(pX, pY, 0, dY, Targets.ar[i]) * dmgMod)
+                    else
+                        fallDmg:= trunc(TraceShoveFall(pX, pY, dX, dY, Targets.ar[i]) * dmgMod);
+                if Kind = gtHedgehog then
+                    begin
+                    if fallDmg < 0 then // drowning. score healthier hogs higher, since their death is more likely to benefit the AI
+                        begin
+                        if Score > 0 then
+                            inc(rate, KillScore + Score div 10)   // Add a bit of a bonus for bigger hog drownings
+                        else
+                            dec(rate, KillScore * friendlyfactor div 100 - Score div 10) // and more of a punishment for drowning bigger friendly hogs
+                        end
+                    else if power+fallDmg >= abs(Score) then
+                        begin
+                        dead:= true;
+                        Targets.reset:= true;
+                        if dX < 0.035 then
+                            begin
+                            subrate:= RealRateExplosion(Me, round(pX), round(pY), 61, afErasesLand or afTrackFall);
+                            if abs(subrate) > 2000 then inc(Rate,subrate div 1024)
+                            end;
+                        if Score > 0 then
+                            inc(rate, KillScore)
+                        else
+                            dec(rate, KillScore * friendlyfactor div 100)
+                        end
+                    else
+                        begin
+                        if Score > 0 then
+                            inc(rate, power+fallDmg)
+                        else
+                            dec(rate, (power+fallDmg) * friendlyfactor div 100)
+                        end
+                    end
+                else if (fallDmg >= 0) and ((dmg+fallDmg) >= Score) then
+                    begin
+                    dead:= true;
+                    Targets.reset:= true;
+                    if Kind = gtExplosives then
+                         subrate:= RealRateExplosion(Me, round(pX), round(pY), 151, afErasesLand or (Flags and afTrackFall))
+                    else subrate:= RealRateExplosion(Me, round(pX), round(pY), 101, afErasesLand or (Flags and afTrackFall));
+                    if abs(subrate) > 2000 then inc(Rate,subrate div 1024);
+                    end
+                end
             end;
-        end;
-RateShove:= rate * 1024
+RateShove:= rate * 1024;
+ResetTargets
 end;
 
 function RateShotgun(Me: PGear; gdX, gdY: real; x, y: LongInt): LongInt;
-var i, dmg, fallDmg, baseDmg, rate, erasure: LongInt;
-    dX, dY, dmgMod: real;
+var i, dmg, fallDmg, baseDmg, rate, subrate, erasure: LongInt;
+    pX, pY, dX, dY: real;
     hadSkips: boolean;
 begin
-dmgMod:= 0.01 * hwFloat2Float(cDamageModifier) * cDamagePercent;
 rate:= 0;
 gdX:= gdX * 0.01;
 gdY:= gdX * 0.01;
@@ -540,6 +678,9 @@
     Point.y:= hwRound(Me^.Y);
     skip:= false;
     matters:= true;
+    Kind:= gtHedgehog;
+    Density:= 1;
+    Radius:= cHHRadius;
     Score:= - ThinkingHH^.Health
     end;
 // rate shot
@@ -551,48 +692,80 @@
 hadSkips:= false;
 
 for i:= 0 to Targets.Count do
-    with Targets.ar[i] do
-      if not matters then hadSkips:= true
-        else
-        begin
-        dmg:= 0;
-        if abs(Point.x - x) + abs(Point.y - y) < baseDmg then
-            begin
-            dmg:= min(baseDmg - trunc(sqrt(sqr(Point.x - x)+sqr(Point.y - y))), 25);
-            dmg:= trunc(dmg * dmgMod);
-            end;
-        if dmg > 0 then
+    if not Targets.ar[i].dead then
+        with Targets.ar[i] do
+          if not matters then hadSkips:= true
+            else
             begin
-            dX:= gdX * dmg;
-            dY:= gdY * dmg;
-            if dX < 0 then dX:= dX - 0.01
-            else dX:= dX + 0.01;
-            if (x and LAND_WIDTH_MASK = 0) and ((y+cHHRadius+2) and LAND_HEIGHT_MASK = 0) and 
-               (Land[y+cHHRadius+2, x] and lfIndestructible <> 0) then
-                 fallDmg:= trunc(TraceFall(x, y, Point.x, Point.y, dX, dY, 0) * dmgMod)
-            else fallDmg:= trunc(TraceFall(x, y, Point.x, Point.y, dX, dY, erasure) * dmgMod);
-            if fallDmg < 0 then // drowning. score healthier hogs higher, since their death is more likely to benefit the AI
-                if Score > 0 then
-                    inc(rate, KillScore + Score div 10)   // Add a bit of a bonus for bigger hog drownings
-                else
-                    dec(rate, KillScore * friendlyfactor div 100 - Score div 10) // and more of a punishment for drowning bigger friendly hogs
-            else if (dmg+fallDmg) >= abs(Score) then
-                if Score > 0 then
-                    inc(rate, KillScore)
-                else
-                    dec(rate, KillScore * friendlyfactor div 100)
-            else
-                if Score > 0 then
-                    inc(rate, dmg+fallDmg)
-            else
-                dec(rate, (dmg+fallDmg) * friendlyfactor div 100)
+            dmg:= 0;
+            if abs(Point.x - x) + abs(Point.y - y) < baseDmg then
+                begin
+                dmg:= min(baseDmg - trunc(sqrt(sqr(Point.x - x)+sqr(Point.y - y))), 25);
+                dmg:= trunc(dmg * dmgMod);
+                end;
+            if dmg > 0 then
+                begin
+                if not(dead) and (Score > 0) and (dmg < Score) then
+                    begin
+                    pX:= Point.x;
+                    pY:= Point.y;
+                    dX:= gdX * dmg / Density;
+                    dY:= gdY * dmg / Density;
+                    if dX < 0 then dX:= dX - 0.01
+                    else dX:= dX + 0.01;
+                    if (Kind = gtExplosives) and (State and gstTmpFlag = 0) and 
+                       (((abs(dY) > 0.15) and (abs(dX) < 0.02)) or
+                        ((abs(dY) < 0.15) and (abs(dX) < 0.15))) then 
+                       dX:= 0;
+                    if (x and LAND_WIDTH_MASK = 0) and ((y+cHHRadius+2) and LAND_HEIGHT_MASK = 0) and
+                       (Land[y+cHHRadius+2, x] and lfIndestructible <> 0) then
+                         fallDmg:= trunc(TraceFall(x, y, pX, pY, dX, dY, 0, Targets.ar[i]) * dmgMod)
+                    else fallDmg:= trunc(TraceFall(x, y, pX, pY, dX, dY, erasure, Targets.ar[i]) * dmgMod)
+                    end;
+                if Kind = gtHedgehog then
+                    begin
+                    if fallDmg < 0 then // drowning. score healthier hogs higher, since their death is more likely to benefit the AI
+                        begin
+                        if Score > 0 then
+                            inc(rate, KillScore + Score div 10)   // Add a bit of a bonus for bigger hog drownings
+                        else
+                            dec(rate, KillScore * friendlyfactor div 100 - Score div 10) // and more of a punishment for drowning bigger friendly hogs
+                        end
+                    else if (dmg+fallDmg) >= abs(Score) then
+                        begin
+                        dead:= true;
+                        Targets.reset:= true;
+                        if dX < 0.035 then
+                            begin
+                            subrate:= RealRateExplosion(Me, round(pX), round(pY), 61, afErasesLand or afTrackFall);
+                            if abs(subrate) > 2000 then inc(Rate,subrate div 1024)
+                            end;
+                        if Score > 0 then
+                            inc(rate, KillScore)
+                        else
+                            dec(rate, KillScore * friendlyfactor div 100)
+                        end
+                    else if Score > 0 then
+                         inc(rate, dmg+fallDmg)
+                    else dec(rate, (dmg+fallDmg) * friendlyfactor div 100)
+                    end
+                else if (fallDmg >= 0) and ((dmg+fallDmg) >= Score) then
+                    begin
+                    dead:= true;
+                    Targets.reset:= true;
+                    if Kind = gtExplosives then
+                         subrate:= RealRateExplosion(Me, round(pX), round(pY), 151, afErasesLand or afTrackFall)
+                    else subrate:= RealRateExplosion(Me, round(pX), round(pY), 101, afErasesLand or afTrackFall);
+                    if abs(subrate) > 2000 then inc(Rate,subrate div 1024);
+                    end
+                end
             end;
-        end;
 
 if hadSkips and (rate = 0) then
     RateShotgun:= BadTurn
     else
     RateShotgun:= rate * 1024;
+    ResetTargets;
 end;
 
 function RateHammer(Me: PGear): LongInt;
@@ -605,14 +778,13 @@
 
 for i:= 0 to Pred(Targets.Count) do
     with Targets.ar[i] do
-      if matters then
          // hammer hit radius is 8, shift is 10
-        if abs(Point.x - x) + abs(Point.y - y) < 18 then
+      if matters and (Kind = gtHedgehog) and (abs(Point.x - x) + abs(Point.y - y) < 18) then
             begin
             r:= trunc(sqrt(sqr(Point.x - x)+sqr(Point.y - y)));
 
             if r <= 18 then
-                if Score > 0 then 
+                if Score > 0 then
                     inc(rate, Score div 3)
                 else
                     inc(rate, Score div 3 * friendlyfactor div 100)
@@ -630,7 +802,7 @@
 bY:= hwRound(Gear^.Y);
 case JumpType of
     jmpNone: exit(false);
-    
+
     jmpHJump:
         if TestCollisionYwithGear(Gear, -1) = 0 then
         begin
@@ -640,7 +812,7 @@
         end
     else
         exit(false);
-        
+
     jmpLJump:
         begin
             if TestCollisionYwithGear(Gear, -1) <> 0 then
@@ -662,12 +834,12 @@
 end;
 
 repeat
-        {if ((hwRound(Gear^.Y) and LAND_HEIGHT_MASK) = 0) and ((hwRound(Gear^.X) and LAND_WIDTH_MASK) = 0) then 
+        {if ((hwRound(Gear^.Y) and LAND_HEIGHT_MASK) = 0) and ((hwRound(Gear^.X) and LAND_WIDTH_MASK) = 0) then
             begin
             LandPixels[hwRound(Gear^.Y), hwRound(Gear^.X)]:= Gear^.Hedgehog^.Team^.Clan^.Color;
             UpdateLandTexture(hwRound(Gear^.X), 1, hwRound(Gear^.Y), 1, true);
             end;}
-            
+
     if not (hwRound(Gear^.Y) + cHHRadius < cWaterLine) then
         exit(false);
     if (Gear^.State and gstMoving) <> 0 then
@@ -725,7 +897,7 @@
 GoInfo.JumpType:= jmpNone;
 tY:= hwRound(Gear^.Y);
 repeat
-        {if ((hwRound(Gear^.Y) and LAND_HEIGHT_MASK) = 0) and ((hwRound(Gear^.X) and LAND_WIDTH_MASK) = 0) then 
+        {if ((hwRound(Gear^.Y) and LAND_HEIGHT_MASK) = 0) and ((hwRound(Gear^.X) and LAND_WIDTH_MASK) = 0) then
             begin
             LandPixels[hwRound(Gear^.Y), hwRound(Gear^.X)]:= random($FFFFFFFF);//Gear^.Hedgehog^.Team^.Clan^.Color;
             UpdateLandTexture(hwRound(Gear^.X), 1, hwRound(Gear^.Y), 1, true);
@@ -739,8 +911,8 @@
             AddWalkBonus(pX, tY, 250, -40);
         exit(false)
         end;
-        
-    // hog is falling    
+
+    // hog is falling
     if (Gear^.State and gstMoving) <> 0 then
         begin
         inc(GoInfo.Ticks);
@@ -749,7 +921,7 @@
             begin
             GoInfo.FallPix:= 0;
             // try ljump instead of fall with damage
-            HHJump(AltGear, jmpLJump, GoInfo); 
+            HHJump(AltGear, jmpLJump, GoInfo);
             if AltGear^.Hedgehog^.BotLevel < 4 then
                 AddWalkBonus(pX, tY, 175, -20);
             exit(false)
--- a/hedgewars/uAmmos.pas	Thu Apr 04 14:37:19 2013 +0200
+++ b/hedgewars/uAmmos.pas	Tue Jun 04 22:28:12 2013 +0200
@@ -1,6 +1,6 @@
 (*
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2012 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2013 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
--- a/hedgewars/uCaptions.pas	Thu Apr 04 14:37:19 2013 +0200
+++ b/hedgewars/uCaptions.pas	Tue Jun 04 22:28:12 2013 +0200
@@ -1,6 +1,6 @@
 (*
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2012 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2013 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
--- a/hedgewars/uChat.pas	Thu Apr 04 14:37:19 2013 +0200
+++ b/hedgewars/uChat.pas	Tue Jun 04 22:28:12 2013 +0200
@@ -1,6 +1,6 @@
 (*
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2012 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2013 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
--- a/hedgewars/uCollisions.pas	Thu Apr 04 14:37:19 2013 +0200
+++ b/hedgewars/uCollisions.pas	Tue Jun 04 22:28:12 2013 +0200
@@ -1,6 +1,6 @@
 (*
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2012 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2013 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
@@ -83,7 +83,7 @@
     X:= hwRound(Gear^.X);
     Y:= hwRound(Gear^.Y);
     Radius:= Gear^.Radius;
-    ChangeRoundInLand(X, Y, Radius - 1, true, (Gear = CurrentHedgehog^.Gear) or (Gear^.Kind = gtCase));
+    ChangeRoundInLand(X, Y, Radius - 1, true, (Gear = CurrentHedgehog^.Gear) or ((Gear^.Kind = gtCase) and (Gear^.State and gstFrozen <> 0)));
     cGear:= Gear
     end;
 Gear^.CollisionIndex:= Count;
@@ -104,7 +104,7 @@
 if Gear^.CollisionIndex >= 0 then
     begin
     with cinfos[Gear^.CollisionIndex] do
-        ChangeRoundInLand(X, Y, Radius - 1, false, (Gear = CurrentHedgehog^.Gear) or (Gear^.Kind = gtCase));
+        ChangeRoundInLand(X, Y, Radius - 1, false, (Gear = CurrentHedgehog^.Gear) or ((Gear^.Kind = gtCase) and (Gear^.State and gstFrozen <> 0)));
     cinfos[Gear^.CollisionIndex]:= cinfos[Pred(Count)];
     cinfos[Gear^.CollisionIndex].cGear^.CollisionIndex:= Gear^.CollisionIndex;
     Gear^.CollisionIndex:= -1;
--- a/hedgewars/uCommandHandlers.pas	Thu Apr 04 14:37:19 2013 +0200
+++ b/hedgewars/uCommandHandlers.pas	Tue Jun 04 22:28:12 2013 +0200
@@ -1,6 +1,6 @@
 (*
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2012 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2013 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
@@ -574,7 +574,7 @@
 begin
 if isDeveloperMode then
     begin
-    SetRandomSeed(s);
+    SetRandomSeed(s, true);
     cSeed:= s;
     InitStepsFlags:= InitStepsFlags or cifRandomize
     end
--- a/hedgewars/uCommands.pas	Thu Apr 04 14:37:19 2013 +0200
+++ b/hedgewars/uCommands.pas	Tue Jun 04 22:28:12 2013 +0200
@@ -1,6 +1,6 @@
 (*
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2012 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2013 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
--- a/hedgewars/uConsole.pas	Thu Apr 04 14:37:19 2013 +0200
+++ b/hedgewars/uConsole.pas	Tue Jun 04 22:28:12 2013 +0200
@@ -1,6 +1,6 @@
 (*
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2012 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2013 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
--- a/hedgewars/uConsts.pas	Thu Apr 04 14:37:19 2013 +0200
+++ b/hedgewars/uConsts.pas	Tue Jun 04 22:28:12 2013 +0200
@@ -1,6 +1,6 @@
 (*
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2012 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2013 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
@@ -214,6 +214,8 @@
     gstLoser          = $00080000;
     gstHHGone         = $00100000;
     gstInvisible      = $00200000;
+    gstSubmersible    = $00400000;
+    gstFrozen         = $00800000;
 
     // gear messages
     gmLeft           = $00000001;
--- a/hedgewars/uDebug.pas	Thu Apr 04 14:37:19 2013 +0200
+++ b/hedgewars/uDebug.pas	Tue Jun 04 22:28:12 2013 +0200
@@ -1,6 +1,6 @@
 (*
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2012 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2013 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
--- a/hedgewars/uFloat.pas	Thu Apr 04 14:37:19 2013 +0200
+++ b/hedgewars/uFloat.pas	Tue Jun 04 22:28:12 2013 +0200
@@ -1,6 +1,6 @@
 (*
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2012 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2013 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
@@ -86,7 +86,8 @@
 function hwAbs(const t: hwFloat): hwFloat; inline; // Returns the value of t with positive sign.
 function hwSqr(const t: hwFloat): hwFloat; inline; // Returns the square value of parameter t.
 function hwPow(const t: hwFloat; p: LongWord): hwFloat; inline; // Returns the power of the value
-function hwSqrt(const t: hwFloat): hwFloat; inline; // Returns the the positive square root of parameter t.
+function hwSqrt1(const t: hwFloat): hwFloat; inline; // Returns the the positive square root of parameter t.
+function hwSqrt(const x: hwFloat): hwFloat; inline; // Returns the the positive square root of parameter t.
 function Distance(const dx, dy: hwFloat): hwFloat; // Returns the distance between two points in 2-dimensional space, of which the parameters are the horizontal and vertical distance.
 function DistanceI(const dx, dy: LongInt): hwFloat; // Same as above for integer parameters.
 function AngleSin(const Angle: Longword): hwFloat;
@@ -274,7 +275,7 @@
     end
 end;
 
-function isZero(const z: hwFloat): boolean; inline; 
+function isZero(const z: hwFloat): boolean; inline;
 begin
 isZero := z.QWordValue = 0;
 end;
@@ -287,7 +288,7 @@
     if z1.QWordValue = z2.QWordValue then
         b:= false
     else
-        b:= not((z1.QWordValue = z2.QWordValue) or ((z2.QWordValue < z1.QWordValue) <> z1.isNegative))
+        b:= (z2.QWordValue < z1.QWordValue) = z1.isNegative
 end;
 
 operator > (const z1, z2: hwFloat) b : boolean; inline;
@@ -418,24 +419,23 @@
 end;
 
 operator / (const z1: hwFloat; z2: hwFloat) z : hwFloat; inline;
-var t: hwFloat;
+var t: QWord;
 begin
 z.isNegative:= z1.isNegative xor z2.isNegative;
 z.Round:= z1.QWordValue div z2.QWordValue;
-t:= z1 - z2 * z.Round;
-if t.QWordValue = 0 then
-    z.Frac:= 0
-else
+t:= z1.QWordValue - z2.QWordValue * z.Round;
+z.Frac:= 0;
+
+if t <> 0 then
     begin
-    while ((t.QWordValue and $8000000000000000) = 0) and ((z2.QWordValue and $8000000000000000) = 0) do
+    while ((t and $FF00000000000000) = 0) and ((z2.QWordValue and $FF00000000000000) = 0) do
         begin
-        t.QWordValue:= t.QWordValue shl 1;
-        z2.QWordValue:= z2.QWordValue shl 1
+        t:= t shl 8;
+        z2.QWordValue:= z2.QWordValue shl 8
         end;
+
     if z2.Round > 0 then
-        z.Frac:= (t.QWordValue) div (z2.Round)
-    else
-        z.Frac:= 0
+        inc(z.QWordValue, t div z2.Round);
     end
 end;
 
@@ -491,14 +491,14 @@
     end
 end;
 
-function hwSqrt(const t: hwFloat): hwFloat;
+function hwSqrt1(const t: hwFloat): hwFloat;
 const pwr = 8; // even value, feel free to adjust
       rThreshold = 1 shl (pwr + 32);
       lThreshold = 1 shl (pwr div 2 + 32);
 var l, r: QWord;
     c: hwFloat;
 begin
-hwSqrt.isNegative:= false;
+hwSqrt1.isNegative:= false;
 
 if t.Round = 0 then
     begin
@@ -531,12 +531,47 @@
         l:= c.QWordValue
 until r - l <= 1;
 
-hwSqrt.QWordValue:= l
+hwSqrt1.QWordValue:= l
 end;
 
-function Distance(const dx, dy: hwFloat): hwFloat;
+function hwSqrt(const x: hwFloat): hwFloat;
+var r, t, s, q: QWord;
+    i: integer;
 begin
-Distance:= hwSqrt(hwSqr(dx) + hwSqr(dy))
+hwSqrt.isNegative:= false;
+
+t:= $4000000000000000;
+r:= 0;
+q:= x.QWordValue;
+
+for i:= 0 to 31 do
+    begin
+    s:= r + t;
+    r:= r shr 1;
+    if s <= q then
+        begin
+        dec(q, s);
+        inc(r, t);
+        end;
+    t:= t shr 2;
+    end;
+
+hwSqrt.QWordValue:= r shl 16
+end;
+
+
+
+function Distance(const dx, dy: hwFloat): hwFloat;
+var r: QWord;
+begin
+r:= dx.QWordValue or dy.QWordValue;
+
+if r < $10000 then
+    begin
+    Distance.QWordValue:= r;
+    Distance.isNegative:= false
+    end else
+    Distance:= hwSqrt(hwSqr(dx) + hwSqr(dy))
 end;
 
 function DistanceI(const dx, dy: LongInt): hwFloat;
--- a/hedgewars/uGame.pas	Thu Apr 04 14:37:19 2013 +0200
+++ b/hedgewars/uGame.pas	Tue Jun 04 22:28:12 2013 +0200
@@ -1,6 +1,6 @@
 (*
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2012 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2013 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
--- a/hedgewars/uGears.pas	Thu Apr 04 14:37:19 2013 +0200
+++ b/hedgewars/uGears.pas	Tue Jun 04 22:28:12 2013 +0200
@@ -1,6 +1,6 @@
 (*
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2012 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2013 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
@@ -768,7 +768,8 @@
     begin
     dec(i);
     Gear:= t^.ar[i];
-    if (Ammo^.Kind = gtFlame) and (Gear^.Kind = gtHedgehog) and (Gear^.Hedgehog^.Effects[heFrozen] > 255) then
+    if ((Ammo^.Kind = gtFlame) or (Ammo^.Kind = gtBlowTorch)) and 
+       (Gear^.Kind = gtHedgehog) and (Gear^.Hedgehog^.Effects[heFrozen] > 255) then
         Gear^.Hedgehog^.Effects[heFrozen]:= max(255,Gear^.Hedgehog^.Effects[heFrozen]-10000);
     tmpDmg:= ModifyDamage(Damage, Gear);
     if (Gear^.State and gstNoDamage) = 0 then
--- a/hedgewars/uGearsHandlers.pas	Thu Apr 04 14:37:19 2013 +0200
+++ b/hedgewars/uGearsHandlers.pas	Tue Jun 04 22:28:12 2013 +0200
@@ -1,6 +1,6 @@
 (*
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2012 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2013 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
--- a/hedgewars/uGearsHandlersRope.pas	Thu Apr 04 14:37:19 2013 +0200
+++ b/hedgewars/uGearsHandlersRope.pas	Tue Jun 04 22:28:12 2013 +0200
@@ -1,6 +1,6 @@
 (*
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2012 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2013 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
--- a/hedgewars/uGearsHedgehog.pas	Thu Apr 04 14:37:19 2013 +0200
+++ b/hedgewars/uGearsHedgehog.pas	Tue Jun 04 22:28:12 2013 +0200
@@ -1,6 +1,6 @@
 (*
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2012 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2013 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
@@ -257,8 +257,16 @@
             and ((Gear^.Message and gmLJump) <> 0)
             and ((Ammoz[CurAmmoType].Ammo.Propz and ammoprop_AltUse) <> 0) then
                 begin
-                newDx:= dX;
-                newDy:= dY;
+                if (CurAmmoGear^.AmmoType = amJetpack) and (Gear^.Message and gmPrecise <> 0) then
+                    begin
+                    newDx:= xx*cMaxPower/cPowerDivisor;
+                    newDy:= yy*cMaxPower/cPowerDivisor
+                    end
+                else
+                    begin
+                    newDx:= dX;
+                    newDy:= dY
+                    end;
                 altUse:= true
                 end
             else
@@ -385,11 +393,15 @@
                        amTardis: newGear:= AddGear(hwRound(X), hwRound(Y), gtTardis, 0, _0, _0, 5000);
                        amIceGun: newGear:= AddGear(hwRound(X), hwRound(Y), gtIceGun, 0, _0, _0, 0);
             end;
-            if altUse and (newGear <> nil) then
+            if altUse and (newGear <> nil) and 
+               ((CurAmmoGear = nil) or (CurAmmoGear^.AmmoType <> amJetpack) or (Gear^.Message and gmPrecise = 0)) then
                begin
                newGear^.dX:= newDx / newGear^.Density;
                newGear^.dY:= newDY / newGear^.Density
                end;
+            if (CurAmmoGear <> nil) and (CurAmmoGear^.AmmoType = amJetpack) and
+               (Gear^.Message and gmPrecise <> 0) and (hwRound(Y) > cWaterLine) then
+                newGear^.State:= newGear^.State or gstSubmersible;
 
             case CurAmmoType of
                      amGrenade, amMolotov,
@@ -513,7 +525,9 @@
                 begin
                 if TagTurnTimeLeft = 0 then
                     TagTurnTimeLeft:= TurnTimeLeft;
-                TurnTimeLeft:=(Ammoz[a].TimeAfterTurn * cGetAwayTime) div 100;
+                if (CurAmmoGear <> nil) and (CurAmmoGear^.State and gstSubmersible <> 0) and (hwRound(CurAmmoGear^.Y) > cWaterLine) then
+                     TurnTimeLeft:=(Ammoz[a].TimeAfterTurn * cGetAwayTime) div 25
+                else TurnTimeLeft:=(Ammoz[a].TimeAfterTurn * cGetAwayTime) div 100;
                 end;
             if ((Ammoz[a].Ammo.Propz and ammoprop_NoRoundEnd) = 0) and (HHGear <> nil) then
                 HHGear^.State:= HHGear^.State or gstAttacked;
@@ -546,6 +560,7 @@
     end
 else if Gear^.Timer = 1 then
     begin
+    Gear^.Hedgehog^.Effects[heFrozen]:= 0;
     Gear^.State:= Gear^.State or gstNoDamage;
     doMakeExplosion(hwRound(Gear^.X), hwRound(Gear^.Y), 30, CurrentHedgehog, EXPLAutoSound);
     AddGear(hwRound(Gear^.X), hwRound(Gear^.Y), gtGrave, 0, _0, _0, 0)^.Hedgehog:= Gear^.Hedgehog;
@@ -797,7 +812,7 @@
         da:= 2
     else da:= 1;
 
-if (((HHGear^.Message and gmPrecise) = 0) or ((GameTicks mod 5) = 1)) then
+if ((HHGear^.Message and gmPrecise = 0) or ((CurAmmoGear <> nil) and (CurAmmoGear^.AmmoType = amJetpack))) or (GameTicks mod 5 = 1) then
     if ((HHGear^.Message and gmUp) <> 0) and (HHGear^.Angle >= CurMinAngle + da) then
         dec(HHGear^.Angle, da)
     else
@@ -960,8 +975,11 @@
     begin
     Gear^.State:= Gear^.State and (not gstWinner);
     Gear^.State:= Gear^.State and (not gstMoving);
-    while (TestCollisionYWithGear(Gear,1) = 0) and (not CheckGearDrowning(Gear)) do
-        Gear^.Y:= Gear^.Y+_1;
+    while (TestCollisionYWithGear(Gear,1) = 0) and (not CheckGearDrowning(Gear)) and (Gear <> nil) do
+        Gear^.Y:= Gear^.Y + _1;
+
+    // could become nil in CheckGearDrowning if ai's hog fails to respawn in ai survival
+    if Gear = nil then exit;
     SetLittle(Gear^.dX);
     Gear^.dY:= _0
     end
@@ -981,7 +999,10 @@
         Gear^.dY:= _0;
         Gear^.Y:= Gear^.Y + _1
         end;
+
     CheckGearDrowning(Gear);
+    // could become nil if ai's hog fails to respawn in ai survival
+    if Gear = nil then exit;
     // hide target cursor if current hog is drowning
     if (Gear^.State and gstDrowning) <> 0 then
         if (CurrentHedgehog^.Gear = Gear) then
@@ -1063,7 +1084,7 @@
             HHGear^.Message:= HHGear^.Message or gmAttack;
     // check for case with ammo
     t:= CheckGearNear(HHGear, gtCase, 36, 36);
-    if t <> nil then
+    if (t <> nil) and (t^.State and gstFrozen = 0) then
         PickUp(HHGear, t)
     end;
 
--- a/hedgewars/uGearsList.pas	Thu Apr 04 14:37:19 2013 +0200
+++ b/hedgewars/uGearsList.pas	Tue Jun 04 22:28:12 2013 +0200
@@ -1,6 +1,6 @@
 (*
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2012 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2013 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
@@ -471,7 +471,8 @@
                 end;
      gtJetpack: begin
                 gear^.Health:= 2000;
-                gear^.Damage:= 100
+                gear^.Damage:= 100;
+                gear^.State:= gstSubmersible
                 end;
      gtMolotov: begin
                 gear^.Radius:= 6;
--- a/hedgewars/uGearsRender.pas	Thu Apr 04 14:37:19 2013 +0200
+++ b/hedgewars/uGearsRender.pas	Tue Jun 04 22:28:12 2013 +0200
@@ -1,6 +1,6 @@
 (*
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2012 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2013 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
@@ -365,13 +365,7 @@
                     lx:= lx + ax;
                     ly:= ly + ay;
                     tx:= round(lx);
-                    ty:= round(ly);
-                    if (abs(tx-hx) > 1000) or (abs(hy-ty) > 1000) then
-                        begin
-                        DrawLine(hx, hy, tx, ty, 1.0, $FF, $00, $00, $C0);
-                        hx:= tx;
-                        hy:= ty
-                        end
+                    ty:= round(ly)
                     end;
                 // reached edge of land. assume infinite beam. Extend it way out past camera
                 if ((ty and LAND_HEIGHT_MASK) <> 0) or ((tx and LAND_WIDTH_MASK) <> 0) then
@@ -381,7 +375,6 @@
                     end;
 
                 //if (abs(lx-tx)>8) or (abs(ly-ty)>8) then
-                if (tx <> hx) or (ty <> hy) then
                     begin
                     DrawLine(hx, hy, tx, ty, 1.0, $FF, $00, $00, $C0);
                     end;
@@ -999,6 +992,8 @@
     aAngle: real;
     startX, endX, startY, endY: LongInt;
 begin
+    if Gear^.State and gstFrozen <> 0 then Tint($A0, $A0, $FF, $FF);
+    //if Gear^.State and gstFrozen <> 0 then Tint(IceColor or $FF);
     if Gear^.Target.X <> NoPointX then
         if Gear^.AmmoType = amBee then
             DrawSpriteRotatedF(sprTargetBee, Gear^.Target.X + WorldDx, Gear^.Target.Y + WorldDy, 0, 0, (RealTicks shr 3) mod 360)
@@ -1058,11 +1053,13 @@
       gtPickHammer: DrawSprite(sprPHammer, x - 16, y - 50 + LongInt(((GameTicks shr 5) and 1) * 2), 0);
             gtRope: DrawRope(Gear);
 
-            gtMine: if (((Gear^.State and gstAttacking) = 0)or((Gear^.Timer and $3FF) < 420)) and (Gear^.Health <> 0) then
+            gtMine: begin
+                    if (((Gear^.State and gstAttacking) = 0)or((Gear^.Timer and $3FF) < 420)) and (Gear^.Health <> 0) then
                            DrawSpriteRotated(sprMineOff, x, y, 0, Gear^.DirAngle)
-                       else if Gear^.Health <> 0 then
-                           DrawSpriteRotated(sprMineOn, x, y, 0, Gear^.DirAngle)
-                       else DrawSpriteRotated(sprMineDead, x, y, 0, Gear^.DirAngle);
+                    else if Gear^.Health <> 0 then
+                       DrawSpriteRotated(sprMineOn, x, y, 0, Gear^.DirAngle)
+                    else DrawSpriteRotated(sprMineDead, x, y, 0, Gear^.DirAngle);
+                    end;
 
            gtSMine: if (((Gear^.State and gstAttacking) = 0)or((Gear^.Timer and $3FF) < 420)) and (Gear^.Health <> 0) then
                            DrawSpriteRotated(sprSMineOff, x, y, 0, Gear^.DirAngle)
@@ -1076,26 +1073,38 @@
                         begin
                         if ((Gear^.Pos and posCaseAmmo) <> 0) then
                             begin
-                            i:= (GameTicks shr 6) mod 64;
-                            if i > 18 then
-                                i:= 0;
-                            DrawSprite(sprCase, x - 24, y - 24, i);
+                            if Gear^.State and gstFrozen <> 0 then
+                                DrawSprite(sprCase, x - 24, y - 28, 0)
+                            else
+                                begin
+                                i:= (GameTicks shr 6) mod 64;
+                                if i > 18 then i:= 0;
+                                DrawSprite(sprCase, x - 24, y - 24, i)
+                                end
                             end
                         else if ((Gear^.Pos and posCaseHealth) <> 0) then
                             begin
-                            i:= ((GameTicks shr 6) + 38) mod 64;
-                            if i > 13 then
-                                i:= 0;
-                            DrawSprite(sprFAid, x - 24, y - 24, i);
+                            if Gear^.State and gstFrozen <> 0 then
+                                DrawSprite(sprFAid, x - 24, y - 28, 0)
+                            else
+                                begin
+                                i:= ((GameTicks shr 6) + 38) mod 64;
+                                if i > 13 then i:= 0;
+                                DrawSprite(sprFAid, x - 24, y - 24, i)
+                                end
                             end
                         else if ((Gear^.Pos and posCaseUtility) <> 0) then
                             begin
-                            i:= (GameTicks shr 6) mod 70;
-                            if i > 23 then
-                                i:= 0;
-                            i:= i mod 12;
-                            DrawSprite(sprUtility, x - 24, y - 24, i);
-                            end;
+                            if Gear^.State and gstFrozen <> 0 then
+                                DrawSprite(sprUtility, x - 24, y - 28, 0)
+                            else
+                                begin
+                                i:= (GameTicks shr 6) mod 70;
+                                if i > 23 then i:= 0;
+                                i:= i mod 12;
+                                DrawSprite(sprUtility, x - 24, y - 24, i)
+                                end
+                            end
                         end;
                     if Gear^.Timer < 1833 then
                         begin
@@ -1116,7 +1125,7 @@
                     else if Gear^.State and gsttmpFlag = 0 then
                         DrawSpriteRotatedF(sprExplosivesRoll, x, y + 4, 0, 0, Gear^.DirAngle)
                     else
-                        DrawSpriteRotatedF(sprExplosivesRoll, x, y + 4, 1, 0, Gear^.DirAngle);
+                        DrawSpriteRotatedF(sprExplosivesRoll, x, y + 4, 1, 0, Gear^.DirAngle)
                     end;
         gtDynamite: DrawSprite(sprDynamite, x - 16, y - 25, Gear^.Tag and 1, Gear^.Tag shr 1);
      gtClusterBomb: DrawSpriteRotated(sprClusterBomb, x, y, 0, Gear^.DirAngle);
@@ -1305,6 +1314,7 @@
          end;
       if Gear^.RenderTimer and (Gear^.Tex <> nil) then
           DrawTextureCentered(x + 8, y + 8, Gear^.Tex);
+    if Gear^.State and gstFrozen <> 0 then Tint($FF, $FF, $FF, $FF)
 end;
 
 end.
--- a/hedgewars/uGearsUtils.pas	Thu Apr 04 14:37:19 2013 +0200
+++ b/hedgewars/uGearsUtils.pas	Tue Jun 04 22:28:12 2013 +0200
@@ -1,6 +1,6 @@
 (*
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2012 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2013 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
@@ -31,13 +31,13 @@
 procedure HHHurt(Hedgehog: PHedgehog; Source: TDamageSource);
 procedure CheckHHDamage(Gear: PGear);
 procedure CalcRotationDirAngle(Gear: PGear);
-procedure ResurrectHedgehog(gear: PGear);
+procedure ResurrectHedgehog(var gear: PGear);
 
 procedure FindPlace(var Gear: PGear; withFall: boolean; Left, Right: LongInt); inline;
 procedure FindPlace(var Gear: PGear; withFall: boolean; Left, Right: LongInt; skipProximity: boolean);
 
 function  CheckGearNear(Gear: PGear; Kind: TGearType; rX, rY: LongInt): PGear;
-function  CheckGearDrowning(Gear: PGear): boolean;
+function  CheckGearDrowning(var Gear: PGear): boolean;
 procedure CheckCollision(Gear: PGear); inline;
 procedure CheckCollisionWithLand(Gear: PGear); inline;
 
@@ -263,6 +263,7 @@
 
 procedure HHHurt(Hedgehog: PHedgehog; Source: TDamageSource);
 begin
+if Hedgehog^.Effects[heFrozen] <> 0 then exit;
 if (Source = dsFall) or (Source = dsExplosion) then
     case random(3) of
         0: PlaySoundV(sndOoff1, Hedgehog^.Team^.voicepack);
@@ -289,32 +290,34 @@
     i: LongWord;
     particle: PVisualGear;
 begin
-    if _0_4 < Gear^.dY then
-        begin
-        dmg := ModifyDamage(1 + hwRound((hwAbs(Gear^.dY) - _0_4) * 70), Gear);
-        PlaySound(sndBump);
-        if dmg < 1 then
-            exit;
+if _0_4 < Gear^.dY then
+    begin
+    dmg := ModifyDamage(1 + hwRound((Gear^.dY - _0_4) * 70), Gear);
+    if Gear^.Hedgehog^.Effects[heFrozen] = 0 then
+         PlaySound(sndBump)
+    else PlaySound(sndFrozenHogImpact);
+    if dmg < 1 then
+        exit;
 
-        for i:= min(12, (3 + dmg div 10)) downto 0 do
-            begin
-            particle := AddVisualGear(hwRound(Gear^.X) - 5 + Random(10), hwRound(Gear^.Y) + 12, vgtDust);
-            if particle <> nil then
-                particle^.dX := particle^.dX + (Gear^.dX.QWordValue / 21474836480);
-            end;
+    for i:= min(12, (3 + dmg div 10)) downto 0 do
+        begin
+        particle := AddVisualGear(hwRound(Gear^.X) - 5 + Random(10), hwRound(Gear^.Y) + 12, vgtDust);
+        if particle <> nil then
+            particle^.dX := particle^.dX + (Gear^.dX.QWordValue / 21474836480);
+        end;
 
-        if (Gear^.Invulnerable) then
-            exit;
+    if (Gear^.Invulnerable) then
+        exit;
 
-        //if _0_6 < Gear^.dY then
-        //    PlaySound(sndOw4, Gear^.Hedgehog^.Team^.voicepack)
-        //else
-        //    PlaySound(sndOw1, Gear^.Hedgehog^.Team^.voicepack);
+    //if _0_6 < Gear^.dY then
+    //    PlaySound(sndOw4, Gear^.Hedgehog^.Team^.voicepack)
+    //else
+    //    PlaySound(sndOw1, Gear^.Hedgehog^.Team^.voicepack);
 
-        if Gear^.LastDamage <> nil then
-            ApplyDamage(Gear, Gear^.LastDamage, dmg, dsFall)
-        else
-            ApplyDamage(Gear, CurrentHedgehog, dmg, dsFall);
+    if Gear^.LastDamage <> nil then
+        ApplyDamage(Gear, Gear^.LastDamage, dmg, dsFall)
+    else
+        ApplyDamage(Gear, CurrentHedgehog, dmg, dsFall);
     end
 end;
 
@@ -337,8 +340,8 @@
         Gear^.DirAngle := Gear^.DirAngle - 360
 end;
 
-function CheckGearDrowning(Gear: PGear): boolean;
-var
+function CheckGearDrowning(var Gear: PGear): boolean;
+var 
     skipSpeed, skipAngle, skipDecay: hwFloat;
     i, maxDrops, X, Y: LongInt;
     vdX, vdY: real;
@@ -361,7 +364,7 @@
             else DeleteGear(Gear);
             exit
             end;
-        isSubmersible:= (Gear = CurrentHedgehog^.Gear) and (CurAmmoGear <> nil) and (CurAmmoGear^.AmmoType = amJetpack);
+        isSubmersible:= ((Gear = CurrentHedgehog^.Gear) and (CurAmmoGear <> nil) and (CurAmmoGear^.State and gstSubmersible <> 0)) or (Gear^.State and gstSubmersible <> 0);
         skipSpeed := _0_25;
         skipAngle := _1_9;
         skipDecay := _0_87;
@@ -369,7 +372,7 @@
         vdX:= hwFloat2Float(Gear^.dX);
         vdY:= hwFloat2Float(Gear^.dY);
         // this could perhaps be a tiny bit higher.
-        if  (hwSqr(Gear^.dX) + hwSqr(Gear^.dY) > skipSpeed)
+        if  (cWaterLine + 64 + Gear^.Radius > Y) and (hwSqr(Gear^.dX) + hwSqr(Gear^.dY) > skipSpeed) 
         and (hwAbs(Gear^.dX) > skipAngle * hwAbs(Gear^.dY)) then
             begin
             Gear^.dY.isNegative := true;
@@ -390,7 +393,11 @@
                     if Gear^.Kind = gtHedgehog then
                         begin
                         if Gear^.Hedgehog^.Effects[heResurrectable] <> 0 then
-                            ResurrectHedgehog(Gear)
+                            begin
+                            // Gear could become nil after this, just exit to skip splashes
+                            ResurrectHedgehog(Gear);
+                            exit
+                            end
                         else
                             begin
                             Gear^.doStep := @doStepDrowningGear;
@@ -401,10 +408,13 @@
                     else
                         Gear^.doStep := @doStepDrowningGear;
                         if Gear^.Kind = gtFlake then
-                            exit // skip splashes
-                end;
+                            exit // skip splashes 
+                end
+            else if (Y > cWaterLine + cVisibleWater*4) and 
+                    ((Gear <> CurrentHedgehog^.Gear) or (CurAmmoGear = nil) or (CurAmmoGear^.State and gstSubmersible = 0)) then
+                Gear^.doStep:= @doStepDrowningGear;
             if ((not isSubmersible) and (Y < cWaterLine + 64 + Gear^.Radius))
-            or (isSubmersible and (Y < cWaterLine + 2 + Gear^.Radius) and ((CurAmmoGear^.Pos = 0)
+            or (isSubmersible and (Y < cWaterLine + 2 + Gear^.Radius) and (Gear = CurAmmoGear) and ((CurAmmoGear^.Pos = 0)
             and (CurAmmoGear^.dY < _0_01))) then
                 if Gear^.Density * Gear^.dY > _1 then
                     PlaySound(sndSplash)
@@ -416,7 +426,7 @@
 
         if ((cReducedQuality and rqPlainSplash) = 0)
         and (((not isSubmersible) and (Y < cWaterLine + 64 + Gear^.Radius))
-        or (isSubmersible and (Y < cWaterLine + 2 + Gear^.Radius) and ((CurAmmoGear^.Pos = 0)
+        or (isSubmersible and (Y < cWaterLine + 2 + Gear^.Radius) and (Gear = CurAmmoGear) and ((CurAmmoGear^.Pos = 0)
         and (CurAmmoGear^.dY < _0_01)))) then
             begin
             splash:= AddVisualGear(X, cWaterLine, vgtSplash);
@@ -457,7 +467,7 @@
                         end
                 end
             end;
-        if isSubmersible and (CurAmmoGear^.Pos = 0) then
+        if isSubmersible and (Gear = CurAmmoGear) and (CurAmmoGear^.Pos = 0) then
             CurAmmoGear^.Pos := 1000
         end
     else
@@ -465,7 +475,7 @@
 end;
 
 
-procedure ResurrectHedgehog(gear: PGear);
+procedure ResurrectHedgehog(var gear: PGear);
 var tempTeam : PTeam;
     sparkles: PVisualGear;
     gX, gY: LongInt;
@@ -507,7 +517,7 @@
         RenderHealth(gear^.Hedgehog^);
         ScriptCall('onGearResurrect', gear^.uid);
         gear^.State := gstWait;
-    end;
+        end;
     RecountTeamHealth(tempTeam);
 end;
 
--- a/hedgewars/uIO.pas	Thu Apr 04 14:37:19 2013 +0200
+++ b/hedgewars/uIO.pas	Tue Jun 04 22:28:12 2013 +0200
@@ -1,6 +1,6 @@
 (*
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2012 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2013 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
--- a/hedgewars/uInputHandler.pas	Thu Apr 04 14:37:19 2013 +0200
+++ b/hedgewars/uInputHandler.pas	Tue Jun 04 22:28:12 2013 +0200
@@ -1,6 +1,6 @@
 (*
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2012 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2013 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
@@ -289,8 +289,8 @@
 DefaultBinds[KeyNameToCode(_S'y')]:= 'confirm';
 
 DefaultBinds[KeyNameToCode('mousem')]:= 'zoomreset';
-DefaultBinds[KeyNameToCode('wheelup')]:= 'zoomout';
-DefaultBinds[KeyNameToCode('wheeldown')]:= 'zoomin';
+DefaultBinds[KeyNameToCode('wheelup')]:= 'zoomin';
+DefaultBinds[KeyNameToCode('wheeldown')]:= 'zoomout';
 
 DefaultBinds[KeyNameToCode('f12')]:= 'fullscr';
 
--- a/hedgewars/uLand.pas	Thu Apr 04 14:37:19 2013 +0200
+++ b/hedgewars/uLand.pas	Tue Jun 04 22:28:12 2013 +0200
@@ -1,6 +1,6 @@
 (*
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2012 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2013 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
@@ -484,28 +484,11 @@
 
         p:= tmpsurf^.pixels;
         for y:= 0 to Pred(tmpsurf^.h) do
-        begin
+            begin
             for x:= 0 to Pred(tmpsurf^.w) do
-            begin
-                // this an if instead of masking colours to avoid confusing map creators
-                if ((AMask and p^[x]) = 0) then
-                    Land[cpY + y, cpX + x]:= 0
-                else if p^[x] = $FFFFFFFF then                  // white
-                    Land[cpY + y, cpX + x]:= lfObject
-                else if p^[x] = AMask then                      // black
-                    begin
-                    Land[cpY + y, cpX + x]:= lfBasic;
-                    disableLandBack:= false
-                    end
-                else if p^[x] = (AMask or RMask) then           // red
-                    Land[cpY + y, cpX + x]:= lfIndestructible
-                else if p^[x] = (AMask or BMask) then           // blue
-                    Land[cpY + y, cpX + x]:= lfObject or lfIce
-                else if p^[x] = (AMask or GMask) then           // green
-                    Land[cpY + y, cpX + x]:= lfObject or lfBouncy
+                SetLand(Land[cpY + y, cpX + x], p^[x]);
+            p:= @(p^[tmpsurf^.pitch div 4]);
             end;
-            p:= @(p^[tmpsurf^.pitch div 4]);
-        end;
 
     if SDL_MustLock(tmpsurf) then
         SDL_UnlockSurface(tmpsurf);
--- a/hedgewars/uLandGenMaze.pas	Thu Apr 04 14:37:19 2013 +0200
+++ b/hedgewars/uLandGenMaze.pas	Tue Jun 04 22:28:12 2013 +0200
@@ -1,3 +1,5 @@
+{$INCLUDE "options.inc"}
+
 unit uLandGenMaze;
 
 interface
--- a/hedgewars/uLandGraphics.pas	Thu Apr 04 14:37:19 2013 +0200
+++ b/hedgewars/uLandGraphics.pas	Tue Jun 04 22:28:12 2013 +0200
@@ -1,6 +1,6 @@
 (*
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2012 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2013 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
--- a/hedgewars/uLandObjects.pas	Thu Apr 04 14:37:19 2013 +0200
+++ b/hedgewars/uLandObjects.pas	Tue Jun 04 22:28:12 2013 +0200
@@ -1,6 +1,6 @@
 (*
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2012 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2013 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
@@ -27,7 +27,9 @@
 procedure LoadThemeConfig;
 procedure BlitImageAndGenerateCollisionInfo(cpX, cpY, Width: Longword; Image: PSDL_Surface); inline;
 procedure BlitImageAndGenerateCollisionInfo(cpX, cpY, Width: Longword; Image: PSDL_Surface; extraFlags: Word);
+procedure BlitImageUsingMask(cpX, cpY: Longword;  Image, Mask: PSDL_Surface);
 procedure AddOnLandObjects(Surface: PSDL_Surface);
+procedure SetLand(var LandWord: Word; Pixel: LongWord); inline;
 
 implementation
 uses uStore, uConsts, uConsole, uRandom, uSound, GLunit
@@ -42,7 +44,7 @@
 type TRectsArray = array[0..MaxRects] of TSDL_Rect;
      PRectArray = ^TRectsArray;
      TThemeObject = record
-                     Surf: PSDL_Surface;
+                     Surf, Mask: PSDL_Surface;
                      inland: TSDL_Rect;
                      outland: array[0..Pred(MAXOBJECTRECTS)] of TSDL_Rect;
                      rectcnt: Longword;
@@ -68,7 +70,25 @@
     ThemeObjects: TThemeObjects;
     SprayObjects: TSprayObjects;
 
-
+procedure SetLand(var LandWord: Word; Pixel: LongWord); inline;
+begin
+    // this an if instead of masking colours to avoid confusing map creators
+    if ((AMask and Pixel) = 0) then
+        LandWord:= 0
+    else if Pixel = $FFFFFFFF then                  // white
+        LandWord:= lfObject
+    else if Pixel = AMask then                      // black
+        begin
+        LandWord:= lfBasic;
+        disableLandBack:= false
+        end
+    else if Pixel = (AMask or RMask) then           // red
+        LandWord:= lfIndestructible
+    else if Pixel = (AMask or BMask) then           // blue
+        LandWord:= lfObject or lfIce
+    else if Pixel = (AMask or GMask) then           // green
+        LandWord:= lfObject or lfBouncy
+end;
 
 procedure BlitImageAndGenerateCollisionInfo(cpX, cpY, Width: Longword; Image: PSDL_Surface); inline;
 begin
@@ -121,6 +141,47 @@
 WriteLnToConsole(msgOK)
 end;
 
+procedure BlitImageUsingMask(cpX, cpY: Longword;  Image, Mask: PSDL_Surface);
+var p, mp: PLongwordArray;
+    x, y: Longword;
+    bpp: LongInt;
+begin
+WriteToConsole('Generating collision info... ');
+
+if SDL_MustLock(Image) then
+    SDLTry(SDL_LockSurface(Image) >= 0, true);
+
+bpp:= Image^.format^.BytesPerPixel;
+TryDo(bpp = 4, 'Land object should be 32bit', true);
+
+p:= Image^.pixels;
+mp:= Mask^.pixels;
+for y:= 0 to Pred(Image^.h) do
+    begin
+    for x:= 0 to Pred(Image^.w) do
+        begin
+        if (cReducedQuality and rqBlurryLand) = 0 then
+            begin
+            if (LandPixels[cpY + y, cpX + x] = 0)
+            or (((p^[x] and AMask) <> 0) and (((LandPixels[cpY + y, cpX + x] and AMask) shr AShift) < 255)) then
+                LandPixels[cpY + y, cpX + x]:= p^[x];
+            end
+        else
+            if LandPixels[(cpY + y) div 2, (cpX + x) div 2] = 0 then 
+                LandPixels[(cpY + y) div 2, (cpX + x) div 2]:= p^[x];
+
+        if (Land[cpY + y, cpX + x] <= lfAllObjMask) or (Land[cpY + y, cpX + x] and lfObject <> 0)  then
+            SetLand(Land[cpY + y, cpX + x], mp^[x]);
+        end;
+    p:= @(p^[Image^.pitch shr 2]);
+    mp:= @(mp^[Mask^.pitch shr 2])
+    end;
+
+if SDL_MustLock(Image) then
+    SDL_UnlockSurface(Image);
+WriteLnToConsole(msgOK)
+end;
+
 procedure AddRect(x1, y1, w1, h1: LongInt);
 begin
 with Rects^[RectCount] do
@@ -328,7 +389,9 @@
     if bRes then
         begin
         i:= getrandom(cnt);
-        BlitImageAndGenerateCollisionInfo(ar[i].x, ar[i].y, 0, Obj.Surf);
+        if Obj.Mask <> nil then
+             BlitImageUsingMask(ar[i].x, ar[i].y, Obj.Surf, Obj.Mask)
+        else BlitImageAndGenerateCollisionInfo(ar[i].x, ar[i].y, 0, Obj.Surf);
         AddRect(ar[i].x, ar[i].y, Width, Height);
         dec(Maxcnt)
         end
@@ -557,9 +620,10 @@
         with ThemeObjects.objs[Pred(ThemeObjects.Count)] do
             begin
             i:= Pos(',', s);
-            Surf:= LoadDataImage(ptCurrTheme, Trim(Copy(s, 1, Pred(i))), ifTransparent or ifIgnoreCaps);
+            Surf:= LoadDataImage(ptCurrTheme, Trim(Copy(s, 1, Pred(i))), ifTransparent or ifIgnoreCaps or ifCritical);
             Width:= Surf^.w;
             Height:= Surf^.h;
+            Mask:= LoadDataImage(ptCurrTheme, Trim(Copy(s, 1, Pred(i)))+'_mask', ifTransparent or ifIgnoreCaps);
             Delete(s, 1, i);
             i:= Pos(',', s);
             Maxcnt:= StrToInt(Trim(Copy(s, 1, Pred(i))));
--- a/hedgewars/uLandPainted.pas	Thu Apr 04 14:37:19 2013 +0200
+++ b/hedgewars/uLandPainted.pas	Tue Jun 04 22:28:12 2013 +0200
@@ -1,6 +1,6 @@
 (*
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2012 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2013 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
--- a/hedgewars/uLandTemplates.pas	Thu Apr 04 14:37:19 2013 +0200
+++ b/hedgewars/uLandTemplates.pas	Tue Jun 04 22:28:12 2013 +0200
@@ -1,6 +1,6 @@
 (*
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2012 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2013 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
@@ -1815,7 +1815,7 @@
         FillPointsCount: Succ(High(Template0FPoints)){$IFDEF PAS2C}-1{$ENDIF};
         BezierizeCount: 3;
         RandPassesCount: 8;
-        TemplateHeight: 1424; TemplateWidth: 2848;
+        TemplateHeight: 1424; TemplateWidth: 3072;
         canMirror: true; canFlip: false; isNegative: false; canInvert: false;
         hasGirders: true;
         MaxHedgeHogs: 18;
@@ -1826,7 +1826,7 @@
         FillPointsCount: Succ(High(Template1FPoints)){$IFDEF PAS2C}-1{$ENDIF};
         BezierizeCount: 3;
         RandPassesCount: 7;
-        TemplateHeight: 1424; TemplateWidth: 2848;
+        TemplateHeight: 1424; TemplateWidth: 3072;
         canMirror: true; canFlip: false; isNegative: false; canInvert: false;
         hasGirders: true;
         MaxHedgeHogs: 18;
@@ -1837,7 +1837,7 @@
         FillPointsCount: Succ(High(Template2FPoints)){$IFDEF PAS2C}-1{$ENDIF};
         BezierizeCount: 2;
         RandPassesCount: 6;
-        TemplateHeight: 1424; TemplateWidth: 2848;
+        TemplateHeight: 1424; TemplateWidth: 3072;
         canMirror: true; canFlip: false; isNegative: false; canInvert: false;
         hasGirders: true;
         MaxHedgeHogs: 18;
@@ -1848,7 +1848,7 @@
         FillPointsCount: Succ(High(Template3FPoints)){$IFDEF PAS2C}-1{$ENDIF};
         BezierizeCount: 3;
         RandPassesCount: 4;
-        TemplateHeight: 1424; TemplateWidth: 2848;
+        TemplateHeight: 1424; TemplateWidth: 3072;
         canMirror: true; canFlip: false; isNegative: false; canInvert: false;
         hasGirders: true;
         MaxHedgeHogs: 18;
@@ -1859,7 +1859,7 @@
         FillPointsCount: Succ(High(Template4FPoints)){$IFDEF PAS2C}-1{$ENDIF};
         BezierizeCount: 3;
         RandPassesCount: 4;
-        TemplateHeight: 1424; TemplateWidth: 2848;
+        TemplateHeight: 1424; TemplateWidth: 3072;
         canMirror: true; canFlip: false; isNegative: false; canInvert: false;
         hasGirders: true;
         MaxHedgeHogs: 18;
@@ -1870,7 +1870,7 @@
         FillPointsCount: Succ(High(Template5FPoints)){$IFDEF PAS2C}-1{$ENDIF};
         BezierizeCount: 2;
         RandPassesCount: 8;
-        TemplateHeight: 1424; TemplateWidth: 2848;
+        TemplateHeight: 1424; TemplateWidth: 3072;
         canMirror: true; canFlip: false; isNegative: false; canInvert: false;
         hasGirders: true;
         MaxHedgeHogs: 18;
@@ -1881,7 +1881,7 @@
         FillPointsCount: Succ(High(Template6FPoints)){$IFDEF PAS2C}-1{$ENDIF};
         BezierizeCount: 2;
         RandPassesCount: 5;
-        TemplateHeight: 1424; TemplateWidth: 2848;
+        TemplateHeight: 1424; TemplateWidth: 3072;
         canMirror: true; canFlip: false; isNegative: false; canInvert: false;
         hasGirders: true;
         MaxHedgeHogs: 18;
@@ -1892,7 +1892,7 @@
         FillPointsCount: Succ(High(Template7FPoints)){$IFDEF PAS2C}-1{$ENDIF};
         BezierizeCount: 4;
         RandPassesCount: 4;
-        TemplateHeight: 1424; TemplateWidth: 2848;
+        TemplateHeight: 1424; TemplateWidth: 3072;
         canMirror: true; canFlip: false; isNegative: false; canInvert: false;
         hasGirders: true;
         MaxHedgeHogs: 18;
@@ -1903,7 +1903,7 @@
         FillPointsCount: Succ(High(Template8FPoints)){$IFDEF PAS2C}-1{$ENDIF};
         BezierizeCount: 2;
         RandPassesCount: 7;
-        TemplateHeight: 1424; TemplateWidth: 2848;
+        TemplateHeight: 1424; TemplateWidth: 3072;
         canMirror: true; canFlip: false; isNegative: false; canInvert: false;
         hasGirders: true;
         MaxHedgeHogs: 18;
@@ -1914,7 +1914,7 @@
         FillPointsCount: Succ(High(Template9FPoints)){$IFDEF PAS2C}-1{$ENDIF};
         BezierizeCount: 1;
         RandPassesCount: 5;
-        TemplateHeight: 1424; TemplateWidth: 2848;
+        TemplateHeight: 1424; TemplateWidth: 3072;
         canMirror: true; canFlip: false; isNegative: false; canInvert: false;
         hasGirders: true;
         MaxHedgeHogs: 18;
@@ -1925,7 +1925,7 @@
         FillPointsCount: Succ(High(Template10FPoints)){$IFDEF PAS2C}-1{$ENDIF};
         BezierizeCount: 2;
         RandPassesCount: 6;
-        TemplateHeight: 1424; TemplateWidth: 2848;
+        TemplateHeight: 1424; TemplateWidth: 3072;
         canMirror: true; canFlip: false; isNegative: false; canInvert: false;
         hasGirders: true;
         MaxHedgeHogs: 18;
@@ -1936,7 +1936,7 @@
         FillPointsCount: Succ(High(Template11FPoints)){$IFDEF PAS2C}-1{$ENDIF};
         BezierizeCount: 1;
         RandPassesCount: 8;
-        TemplateHeight: 1424; TemplateWidth: 2848;
+        TemplateHeight: 1424; TemplateWidth: 3072;
         canMirror: true; canFlip: false; isNegative: false; canInvert: false;
         hasGirders: true;
         MaxHedgeHogs: 18;
@@ -1947,7 +1947,7 @@
         FillPointsCount: Succ(High(Template12FPoints)){$IFDEF PAS2C}-1{$ENDIF};
         BezierizeCount: 3;
         RandPassesCount: 8;
-        TemplateHeight: 1424; TemplateWidth: 2848;
+        TemplateHeight: 1424; TemplateWidth: 3072;
         canMirror: true; canFlip: false; isNegative: false; canInvert: false;
         hasGirders: true;
         MaxHedgeHogs: 18;
@@ -1958,7 +1958,7 @@
         FillPointsCount: Succ(High(Template13FPoints)){$IFDEF PAS2C}-1{$ENDIF};
         BezierizeCount: 3;
         RandPassesCount: 5;
-        TemplateHeight: 1424; TemplateWidth: 2848;
+        TemplateHeight: 1424; TemplateWidth: 3072;
         canMirror: true; canFlip: false; isNegative: false; canInvert: false;
         hasGirders: true;
         MaxHedgeHogs: 18;
@@ -1969,7 +1969,7 @@
         FillPointsCount: Succ(High(Template14FPoints)){$IFDEF PAS2C}-1{$ENDIF};
         BezierizeCount: 3;
         RandPassesCount: 7;
-        TemplateHeight: 1424; TemplateWidth: 2848;
+        TemplateHeight: 1424; TemplateWidth: 3072;
         canMirror: true; canFlip: false; isNegative: false; canInvert: false;
         hasGirders: true;
         MaxHedgeHogs: 18;
@@ -1980,7 +1980,7 @@
         FillPointsCount: Succ(High(Template15FPoints)){$IFDEF PAS2C}-1{$ENDIF};
         BezierizeCount: 2;
         RandPassesCount: 6;
-        TemplateHeight: 1424; TemplateWidth: 2848;
+        TemplateHeight: 1424; TemplateWidth: 3072;
         canMirror: true; canFlip: false; isNegative: false; canInvert: false;
         hasGirders: true;
         MaxHedgeHogs: 18;
@@ -1991,7 +1991,7 @@
         FillPointsCount: Succ(High(Template16FPoints)){$IFDEF PAS2C}-1{$ENDIF};
         BezierizeCount: 2;
         RandPassesCount: 6;
-        TemplateHeight: 1424; TemplateWidth: 2848;
+        TemplateHeight: 1424; TemplateWidth: 3072;
         canMirror: true; canFlip: false; isNegative: false; canInvert: false;
         hasGirders: true;
         MaxHedgeHogs: 18;
@@ -2002,7 +2002,7 @@
         FillPointsCount: Succ(High(Template17FPoints)){$IFDEF PAS2C}-1{$ENDIF};
         BezierizeCount: 3;
         RandPassesCount: 7;
-        TemplateHeight: 1424; TemplateWidth: 2848;
+        TemplateHeight: 1424; TemplateWidth: 3072;
         canMirror: true; canFlip: false; isNegative: false; canInvert: false;
         hasGirders: true;
         MaxHedgeHogs: 18;
@@ -2013,7 +2013,7 @@
         FillPointsCount: Succ(High(Template18FPoints)){$IFDEF PAS2C}-1{$ENDIF};
         BezierizeCount: 3;
         RandPassesCount: 8;
-        TemplateHeight: 1424; TemplateWidth: 3900;
+        TemplateHeight: 1424; TemplateWidth: 4096;
         canMirror: true; canFlip: false; isNegative: false; canInvert: false;
         hasGirders: true;
         MaxHedgeHogs: 36;
@@ -2024,7 +2024,7 @@
         FillPointsCount: Succ(High(Template19FPoints)){$IFDEF PAS2C}-1{$ENDIF};
         BezierizeCount: 3;
         RandPassesCount: 7;
-        TemplateHeight: 1424; TemplateWidth: 3900;
+        TemplateHeight: 1424; TemplateWidth: 4096;
         canMirror: true; canFlip: false; isNegative: false; canInvert: false;
         hasGirders: true;
         MaxHedgeHogs: 36;
@@ -2035,7 +2035,7 @@
         FillPointsCount: Succ(High(Template20FPoints)){$IFDEF PAS2C}-1{$ENDIF};
         BezierizeCount: 2;
         RandPassesCount: 6;
-        TemplateHeight: 1424; TemplateWidth: 3900;
+        TemplateHeight: 1424; TemplateWidth: 4096;
         canMirror: true; canFlip: false; isNegative: false; canInvert: false;
         hasGirders: true;
         MaxHedgeHogs: 36;
@@ -2046,7 +2046,7 @@
         FillPointsCount: Succ(High(Template21FPoints)){$IFDEF PAS2C}-1{$ENDIF};
         BezierizeCount: 3;
         RandPassesCount: 4;
-        TemplateHeight: 1424; TemplateWidth: 3900;
+        TemplateHeight: 1424; TemplateWidth: 4096;
         canMirror: true; canFlip: false; isNegative: false; canInvert: false;
         hasGirders: true;
         MaxHedgeHogs: 36;
@@ -2057,7 +2057,7 @@
         FillPointsCount: Succ(High(Template22FPoints)){$IFDEF PAS2C}-1{$ENDIF};
         BezierizeCount: 3;
         RandPassesCount: 4;
-        TemplateHeight: 1424; TemplateWidth: 3900;
+        TemplateHeight: 1424; TemplateWidth: 4096;
         canMirror: true; canFlip: false; isNegative: false; canInvert: false;
         hasGirders: true;
         MaxHedgeHogs: 36;
@@ -2068,7 +2068,7 @@
         FillPointsCount: Succ(High(Template23FPoints)){$IFDEF PAS2C}-1{$ENDIF};
         BezierizeCount: 2;
         RandPassesCount: 8;
-        TemplateHeight: 1424; TemplateWidth: 3900;
+        TemplateHeight: 1424; TemplateWidth: 4096;
         canMirror: true; canFlip: false; isNegative: false; canInvert: false;
         hasGirders: true;
         MaxHedgeHogs: 36;
@@ -2079,7 +2079,7 @@
         FillPointsCount: Succ(High(Template24FPoints)){$IFDEF PAS2C}-1{$ENDIF};
         BezierizeCount: 2;
         RandPassesCount: 5;
-        TemplateHeight: 1424; TemplateWidth: 3900;
+        TemplateHeight: 1424; TemplateWidth: 4096;
         canMirror: true; canFlip: false; isNegative: false; canInvert: false;
         hasGirders: true;
         MaxHedgeHogs: 36;
@@ -2090,7 +2090,7 @@
         FillPointsCount: Succ(High(Template25FPoints)){$IFDEF PAS2C}-1{$ENDIF};
         BezierizeCount: 4;
         RandPassesCount: 4;
-        TemplateHeight: 1424; TemplateWidth: 3900;
+        TemplateHeight: 1424; TemplateWidth: 4096;
         canMirror: true; canFlip: false; isNegative: false; canInvert: false;
         hasGirders: true;
         MaxHedgeHogs: 36;
@@ -2101,7 +2101,7 @@
         FillPointsCount: Succ(High(Template26FPoints)){$IFDEF PAS2C}-1{$ENDIF};
         BezierizeCount: 2;
         RandPassesCount: 7;
-        TemplateHeight: 1424; TemplateWidth: 3900;
+        TemplateHeight: 1424; TemplateWidth: 4096;
         canMirror: true; canFlip: false; isNegative: false; canInvert: false;
         hasGirders: true;
         MaxHedgeHogs: 36;
@@ -2112,7 +2112,7 @@
         FillPointsCount: Succ(High(Template27FPoints)){$IFDEF PAS2C}-1{$ENDIF};
         BezierizeCount: 1;
         RandPassesCount: 5;
-        TemplateHeight: 1424; TemplateWidth: 3900;
+        TemplateHeight: 1424; TemplateWidth: 4096;
         canMirror: true; canFlip: false; isNegative: false; canInvert: false;
         hasGirders: true;
         MaxHedgeHogs: 36;
@@ -2123,7 +2123,7 @@
         FillPointsCount: Succ(High(Template28FPoints)){$IFDEF PAS2C}-1{$ENDIF};
         BezierizeCount: 2;
         RandPassesCount: 6;
-        TemplateHeight: 1424; TemplateWidth: 3900;
+        TemplateHeight: 1424; TemplateWidth: 4096;
         canMirror: true; canFlip: false; isNegative: false; canInvert: false;
         hasGirders: true;
         MaxHedgeHogs: 36;
@@ -2134,7 +2134,7 @@
         FillPointsCount: Succ(High(Template29FPoints)){$IFDEF PAS2C}-1{$ENDIF};
         BezierizeCount: 1;
         RandPassesCount: 8;
-        TemplateHeight: 1424; TemplateWidth: 3900;
+        TemplateHeight: 1424; TemplateWidth: 4096;
         canMirror: true; canFlip: false; isNegative: false; canInvert: false;
         hasGirders: true;
         MaxHedgeHogs: 36;
@@ -2145,7 +2145,7 @@
         FillPointsCount: Succ(High(Template30FPoints)){$IFDEF PAS2C}-1{$ENDIF};
         BezierizeCount: 3;
         RandPassesCount: 8;
-        TemplateHeight: 1424; TemplateWidth: 3900;
+        TemplateHeight: 1424; TemplateWidth: 4096;
         canMirror: true; canFlip: false; isNegative: false; canInvert: false;
         hasGirders: true;
         MaxHedgeHogs: 36;
@@ -2156,7 +2156,7 @@
         FillPointsCount: Succ(High(Template31FPoints)){$IFDEF PAS2C}-1{$ENDIF};
         BezierizeCount: 3;
         RandPassesCount: 5;
-        TemplateHeight: 1424; TemplateWidth: 3900;
+        TemplateHeight: 1424; TemplateWidth: 4096;
         canMirror: true; canFlip: false; isNegative: false; canInvert: false;
         hasGirders: true;
         MaxHedgeHogs: 36;
@@ -2167,7 +2167,7 @@
         FillPointsCount: Succ(High(Template32FPoints)){$IFDEF PAS2C}-1{$ENDIF};
         BezierizeCount: 3;
         RandPassesCount: 7;
-        TemplateHeight: 1424; TemplateWidth: 3900;
+        TemplateHeight: 1424; TemplateWidth: 4096;
         canMirror: true; canFlip: false; isNegative: false; canInvert: false;
         hasGirders: true;
         MaxHedgeHogs: 36;
@@ -2178,7 +2178,7 @@
         FillPointsCount: Succ(High(Template33FPoints)){$IFDEF PAS2C}-1{$ENDIF};
         BezierizeCount: 2;
         RandPassesCount: 6;
-        TemplateHeight: 1424; TemplateWidth: 3900;
+        TemplateHeight: 1424; TemplateWidth: 4096;
         canMirror: true; canFlip: false; isNegative: false; canInvert: false;
         hasGirders: true;
         MaxHedgeHogs: 36;
@@ -2189,7 +2189,7 @@
         FillPointsCount: Succ(High(Template34FPoints)){$IFDEF PAS2C}-1{$ENDIF};
         BezierizeCount: 2;
         RandPassesCount: 6;
-        TemplateHeight: 1424; TemplateWidth: 3900;
+        TemplateHeight: 1424; TemplateWidth: 4096;
         canMirror: true; canFlip: false; isNegative: false; canInvert: false;
         hasGirders: true;
         MaxHedgeHogs: 36;
@@ -2200,7 +2200,7 @@
         FillPointsCount: Succ(High(Template35FPoints)){$IFDEF PAS2C}-1{$ENDIF};
         BezierizeCount: 3;
         RandPassesCount: 7;
-        TemplateHeight: 1424; TemplateWidth: 3900;
+        TemplateHeight: 1424; TemplateWidth: 4096;
         canMirror: true; canFlip: false; isNegative: false; canInvert: false;
         hasGirders: true;
         MaxHedgeHogs: 36;
--- a/hedgewars/uLandTexture.pas	Thu Apr 04 14:37:19 2013 +0200
+++ b/hedgewars/uLandTexture.pas	Tue Jun 04 22:28:12 2013 +0200
@@ -1,6 +1,6 @@
 (*
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2012 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2013 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
--- a/hedgewars/uLocale.pas	Thu Apr 04 14:37:19 2013 +0200
+++ b/hedgewars/uLocale.pas	Tue Jun 04 22:28:12 2013 +0200
@@ -1,6 +1,6 @@
 (*
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2012 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2013 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
--- a/hedgewars/uMisc.pas	Thu Apr 04 14:37:19 2013 +0200
+++ b/hedgewars/uMisc.pas	Tue Jun 04 22:28:12 2013 +0200
@@ -1,6 +1,6 @@
 (*
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2012 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2013 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
@@ -38,8 +38,7 @@
 
 implementation
 uses SysUtils, uVariables, uUtils
-     {$IFDEF PNG_SCREENSHOTS}, PNGh, png {$ENDIF}
-     {$IFNDEF USE_SDLTHREADS} {$IFDEF UNIX}, cthreads{$ENDIF} {$ENDIF};
+     {$IFDEF PNG_SCREENSHOTS}, PNGh, png {$ENDIF};
 
 type PScreenshot = ^TScreenshot;
      TScreenshot = record
@@ -64,7 +63,7 @@
 
 {$IFDEF PNG_SCREENSHOTS}
 // this funtion will be executed in separate thread
-function SaveScreenshot(screenshot: pointer): PtrInt;
+function SaveScreenshot(screenshot: pointer): LongInt; cdecl; export;
 var i: LongInt;
     png_ptr: ^png_struct;
     info_ptr: ^png_info;
@@ -119,7 +118,7 @@
 {$ELSE} // no PNG_SCREENSHOTS
 
 // this funtion will be executed in separate thread
-function SaveScreenshot(screenshot: pointer): PtrInt;
+function SaveScreenshot(screenshot: pointer): LongInt; cdecl; export;
 var f: file;
     // Windows Bitmap Header
     head: array[0..53] of Byte = (
@@ -263,11 +262,7 @@
 image^.size:= size;
 image^.buffer:= p;
 
-{$IFDEF USE_SDLTHREADS}
-SDL_CreateThread(@SaveScreenshot{$IFDEF SDL13}, nil{$ENDIF}, image);
-{$ELSE}
-BeginThread(@SaveScreenshot, image);
-{$ENDIF}
+SDL_CreateThread(@SaveScreenshot{$IFDEF SDL13}, 'snapshot'{$ENDIF}, image);
 MakeScreenshot:= true; // possibly it is not true but we will not wait for thread to terminate
 end;
 
--- a/hedgewars/uPhysFSLayer.pas	Thu Apr 04 14:37:19 2013 +0200
+++ b/hedgewars/uPhysFSLayer.pas	Tue Jun 04 22:28:12 2013 +0200
@@ -9,6 +9,8 @@
 {$IFNDEF WIN32}
     {$linklib physfs}
     {$linklib physlayer}
+
+    {statically linking physfs brings IOKit dependency on OSX}
     {$IFDEF DARWIN}
         {$linkframework IOKit}
     {$ENDIF}
@@ -34,6 +36,7 @@
 
 function  physfsReader(L: Plua_State; f: PFSFile; sz: Psize_t) : PChar; cdecl; external PhyslayerLibName;
 procedure physfsReaderSetBuffer(buf: pointer); cdecl; external PhyslayerLibName;
+procedure hedgewarsMountPackage(filename: PChar); cdecl; external PhyslayerLibName;
 
 {$IFNDEF PAS2C}
 //apparently pas2c doesn't render the functions below if it finds 'implementation' first
--- a/hedgewars/uRandom.pas	Thu Apr 04 14:37:19 2013 +0200
+++ b/hedgewars/uRandom.pas	Tue Jun 04 22:28:12 2013 +0200
@@ -1,6 +1,6 @@
 (*
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2012 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2013 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
@@ -30,8 +30,8 @@
 interface
 uses uFloat;
 
-procedure SetRandomSeed(Seed: shortstring); // Sets the seed that should be used for generating pseudo-random values.
-function  GetRandomf: hwFloat; // Returns a pseudo-random hwFloat.
+procedure SetRandomSeed(Seed: shortstring; dropAdditionalPart: boolean); // Sets the seed that should be used for generating pseudo-random values.
+function  GetRandomf: hwFloat; overload; // Returns a pseudo-random hwFloat.
 function  GetRandom(m: LongWord): LongWord; overload; inline; // Returns a positive pseudo-random integer smaller than m.
 procedure AddRandomness(r: LongWord); inline;
 function  rndSign(num: hwFloat): hwFloat; // Returns num with a random chance of having a inverted sign.
@@ -61,18 +61,24 @@
    str(GetNext, s);
 end;
 
-procedure SetRandomSeed(Seed: shortstring);
-var i: Longword;
+procedure SetRandomSeed(Seed: shortstring; dropAdditionalPart: boolean);
+var i, t, l: Longword;
 begin
 n:= 54;
 
 if Length(Seed) > 54 then
     Seed:= copy(Seed, 1, 54); // not 55 to ensure we have odd numbers in cirbuf
 
-for i:= 0 to Pred(Length(Seed)) do
-    cirbuf[i]:= byte(Seed[i + 1]);
+t:= 0;
+l:= Length(Seed);
 
-for i:= Length(Seed) to 54 do
+while (t < l) and ((not dropAdditionalPart) or (Seed[t + 1] <> '|')) do
+    begin
+    cirbuf[t]:= byte(Seed[t + 1]);
+    inc(t)
+    end;
+
+for i:= t to 54 do
     cirbuf[i]:= $A98765 + 68; // odd number
 
 for i:= 0 to 1023 do
--- a/hedgewars/uRender.pas	Thu Apr 04 14:37:19 2013 +0200
+++ b/hedgewars/uRender.pas	Tue Jun 04 22:28:12 2013 +0200
@@ -1,6 +1,6 @@
 (*
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2012 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2013 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
--- a/hedgewars/uRenderUtils.pas	Thu Apr 04 14:37:19 2013 +0200
+++ b/hedgewars/uRenderUtils.pas	Tue Jun 04 22:28:12 2013 +0200
@@ -1,6 +1,6 @@
 (*
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2012 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2013 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
--- a/hedgewars/uScript.pas	Thu Apr 04 14:37:19 2013 +0200
+++ b/hedgewars/uScript.pas	Tue Jun 04 22:28:12 2013 +0200
@@ -1,6 +1,6 @@
 (*
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2012 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2013 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
@@ -2039,7 +2039,8 @@
     // call the script file
     lua_pcall(luaState, 0, 0, 0);
     ScriptLoaded:= true
-    end
+    end;
+    hedgewarsMountPackage(Str2PChar(copy(s, 1, length(s)-4)+'.hwp'));
 end;
 
 procedure SetGlobals;
@@ -2261,6 +2262,7 @@
 ScriptSetInteger('gfMultiWeapon', gfMultiWeapon);
 ScriptSetInteger('gfSolidLand', gfSolidLand);
 ScriptSetInteger('gfBorder', gfBorder);
+ScriptSetInteger('gfBottomBorder', gfBottomBorder);
 ScriptSetInteger('gfDivideTeams', gfDivideTeams);
 ScriptSetInteger('gfLowGravity', gfLowGravity);
 ScriptSetInteger('gfLaserSight', gfLaserSight);
--- a/hedgewars/uSinTable.pas	Thu Apr 04 14:37:19 2013 +0200
+++ b/hedgewars/uSinTable.pas	Tue Jun 04 22:28:12 2013 +0200
@@ -1,6 +1,6 @@
 (*
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2012 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2013 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
--- a/hedgewars/uSound.pas	Thu Apr 04 14:37:19 2013 +0200
+++ b/hedgewars/uSound.pas	Tue Jun 04 22:28:12 2013 +0200
@@ -1,6 +1,6 @@
 (*
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2012 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2013 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
@@ -155,7 +155,7 @@
             (FileName:               'Yessir.ogg'; Path: ptVoices),// sndYesSir
             (FileName:                'Laugh.ogg'; Path: ptVoices),// sndLaugh
             (FileName:            'Illgetyou.ogg'; Path: ptVoices),// sndIllGetYou
-            (FileName:          'JustYouWait.ogg'; Path: ptVoices),// sndJustYouWait
+            (FileName:          'Justyouwait.ogg'; Path: ptVoices),// sndJustyouwait
             (FileName:             'Incoming.ogg'; Path: ptVoices),// sndIncoming
             (FileName:               'Missed.ogg'; Path: ptVoices),// sndMissed
             (FileName:               'Stupid.ogg'; Path: ptVoices),// sndStupid
@@ -248,7 +248,10 @@
             (FileName:                 'bump.ogg'; Path: ptSounds),// sndBump
             (FileName:            'hogchant3.ogg'; Path: ptSounds),// sndResurrector
             (FileName:                'plane.ogg'; Path: ptSounds),// sndPlane
-            (FileName:               'TARDIS.ogg'; Path: ptSounds) // sndTardis
+            (FileName:               'TARDIS.ogg'; Path: ptSounds),// sndTardis
+            (FileName:    'frozen_hog_impact.ogg'; Path: ptSounds),// sndFrozenHogImpact
+            (FileName:             'ice_beam.ogg'; Path: ptSounds),// sndIceBeam
+            (FileName:           'hog_freeze.ogg'; Path: ptSounds) // sndHogFreeze
             );
 
 
--- a/hedgewars/uStats.pas	Thu Apr 04 14:37:19 2013 +0200
+++ b/hedgewars/uStats.pas	Tue Jun 04 22:28:12 2013 +0200
@@ -1,6 +1,6 @@
 (*
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2012 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2013 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
--- a/hedgewars/uStore.pas	Thu Apr 04 14:37:19 2013 +0200
+++ b/hedgewars/uStore.pas	Tue Jun 04 22:28:12 2013 +0200
@@ -1,6 +1,6 @@
 (*
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2012 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2013 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
@@ -603,19 +603,19 @@
     tmpsurf:= IMG_Load_RW(rwopsOpenRead(s), true);
 
     if tmpsurf = nil then
-    begin
+        begin
         OutError(msgFailed, (imageFlags and ifCritical) <> 0);
         exit;
-    end;
+        end;
 
     if ((imageFlags and ifIgnoreCaps) = 0) and ((tmpsurf^.w > MaxTextureSize) or (tmpsurf^.h > MaxTextureSize)) then
-    begin
+        begin
         SDL_FreeSurface(tmpsurf);
         OutError(msgFailedSize, ((not cOnlyStats) and ((imageFlags and ifCritical) <> 0)));
         // dummy surface to replace non-critical textures that failed to load due to their size
         LoadImage:= SDL_CreateRGBSurface(SDL_SWSURFACE, 2, 2, 32, RMask, GMask, BMask, AMask);
         exit;
-    end;
+        end;
 
     tmpsurf:= doSurfaceConversion(tmpsurf);
 
--- a/hedgewars/uTeams.pas	Thu Apr 04 14:37:19 2013 +0200
+++ b/hedgewars/uTeams.pas	Tue Jun 04 22:28:12 2013 +0200
@@ -1,6 +1,6 @@
 (*
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2012 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2013 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
@@ -110,7 +110,7 @@
 end;
 
 procedure SwitchHedgehog;
-var c, i, j: LongWord;
+var c, i, t, j: LongWord;
     PrevHH, PrevTeam : LongWord;
 begin
 TargetPoint.X:= NoPointX;
@@ -173,15 +173,7 @@
     if c = ClansCount then
         begin
         if not PlacingHogs then
-            begin
             inc(TotalRounds);
-            for i:= 0 to Pred(TeamsCount) do
-                with TeamsArray[i]^ do
-                    for j:= 0 to Pred(HedgehogsNumber) do
-                        with Hedgehogs[j] do
-                            if Effects[heFrozen] > 255 then
-                                Effects[heFrozen]:= max(255,Effects[heFrozen]-50000)
-            end;
         c:= 0
         end;
 
@@ -196,11 +188,22 @@
                 PrevHH:= CurrHedgehog mod HedgehogsNumber; // prevent infinite loop when CurrHedgehog = 7, but HedgehogsNumber < 8 (team is destroyed before its first turn)
                 repeat
                     CurrHedgehog:= Succ(CurrHedgehog) mod HedgehogsNumber;
-                until ((Hedgehogs[CurrHedgehog].Gear <> nil) and (Hedgehogs[CurrHedgehog].Effects[heFrozen] = 0)) or (CurrHedgehog = PrevHH)
+                until ((Hedgehogs[CurrHedgehog].Gear <> nil) and (Hedgehogs[CurrHedgehog].Effects[heFrozen] < 256)) or (CurrHedgehog = PrevHH)
                 end
-        until (CurrentTeam^.Hedgehogs[CurrentTeam^.CurrHedgehog].Gear <> nil) or (PrevTeam = CurrTeam) or ((CurrTeam = TagTeamIndex) and ((GameFlags and gfTagTeam) <> 0));
-        end
-until (CurrentTeam^.Hedgehogs[CurrentTeam^.CurrHedgehog].Gear <> nil) and (CurrentTeam^.Hedgehogs[CurrentTeam^.CurrHedgehog].Effects[heFrozen] = 0);
+        until ((CurrentTeam^.Hedgehogs[CurrentTeam^.CurrHedgehog].Gear <> nil) and (CurrentTeam^.Hedgehogs[CurrentTeam^.CurrHedgehog].Effects[heFrozen] < 50256)) or (PrevTeam = CurrTeam) or ((CurrTeam = TagTeamIndex) and ((GameFlags and gfTagTeam) <> 0))
+        end;
+        if (CurrentTeam^.Hedgehogs[CurrentTeam^.CurrHedgehog].Gear = nil) or (CurrentTeam^.Hedgehogs[CurrentTeam^.CurrHedgehog].Effects[heFrozen] > 255) then
+            begin
+            inc(CurrentTeam^.Clan^.TurnNumber);
+            with CurrentTeam^.Clan^ do
+                for t:= 0 to Pred(TeamsNumber) do
+                    with Teams[t]^ do
+                        for i:= 0 to Pred(HedgehogsNumber) do
+                            with Hedgehogs[i] do
+                                if Effects[heFrozen] > 255 then
+                                    Effects[heFrozen]:= max(255,Effects[heFrozen]-50000)
+            end
+until (CurrentTeam^.Hedgehogs[CurrentTeam^.CurrHedgehog].Gear <> nil) and (CurrentTeam^.Hedgehogs[CurrentTeam^.CurrHedgehog].Effects[heFrozen] < 256);
 
 SwitchCurrentHedgehog(@(CurrentTeam^.Hedgehogs[CurrentTeam^.CurrHedgehog]));
 {$IFDEF USE_TOUCH_INTERFACE}
@@ -247,6 +250,13 @@
     end;
 
 inc(CurrentTeam^.Clan^.TurnNumber);
+with CurrentTeam^.Clan^ do
+    for t:= 0 to Pred(TeamsNumber) do
+        with Teams[t]^ do
+            for i:= 0 to Pred(HedgehogsNumber) do
+                with Hedgehogs[i] do
+                    if Effects[heFrozen] > 255 then
+                        Effects[heFrozen]:= max(255,Effects[heFrozen]-50000);
 
 CurWeapon:= GetCurAmmoEntry(CurrentHedgehog^);
 if CurWeapon^.Count = 0 then
--- a/hedgewars/uTextures.pas	Thu Apr 04 14:37:19 2013 +0200
+++ b/hedgewars/uTextures.pas	Tue Jun 04 22:28:12 2013 +0200
@@ -1,6 +1,6 @@
 (*
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2012 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2013 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
--- a/hedgewars/uTypes.pas	Thu Apr 04 14:37:19 2013 +0200
+++ b/hedgewars/uTypes.pas	Tue Jun 04 22:28:12 2013 +0200
@@ -1,6 +1,6 @@
 (*
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2012 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2013 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
@@ -141,7 +141,8 @@
             sndPoisonCough, sndPoisonMoan, sndBirdyLay, sndWhistle, sndBeeWater,
             sndPiano0, sndPiano1, sndPiano2, sndPiano3, sndPiano4, sndPiano5, sndPiano6, sndPiano7, sndPiano8,
             sndSkip, sndSineGun, sndOoff1, sndOoff2, sndOoff3, sndWhack,
-            sndComeonthen, sndParachute, sndBump, sndResurrector, sndPlane, sndTardis);
+            sndComeonthen, sndParachute, sndBump, sndResurrector, sndPlane, sndTardis, sndFrozenHogImpact, sndIceBeam, sndHogFreeze
+            );
 
     // Available ammo types to be used by hedgehogs
     TAmmoType  = (amNothing, amGrenade, amClusterBomb, amBazooka, amBee, amShotgun, amPickHammer, // 6
--- a/hedgewars/uUtils.pas	Thu Apr 04 14:37:19 2013 +0200
+++ b/hedgewars/uUtils.pas	Tue Jun 04 22:28:12 2013 +0200
@@ -1,6 +1,6 @@
 (*
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2012 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2013 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
--- a/hedgewars/uVariables.pas	Thu Apr 04 14:37:19 2013 +0200
+++ b/hedgewars/uVariables.pas	Tue Jun 04 22:28:12 2013 +0200
@@ -1,6 +1,6 @@
 (*
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2012 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2013 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
@@ -1767,7 +1767,6 @@
             Ammo: (Propz: ammoprop_NoRoundEnd or
                           ammoprop_ForwMsgs or
                           ammoprop_AttackInMove or
-                          ammoprop_NoCrosshair or
                           ammoprop_DontHold or
                           ammoprop_Utility or
                           ammoprop_NeedUpDown or
@@ -2102,7 +2101,7 @@
             TimeAfterTurn: 3000;
             minAngle: 0;
             maxAngle: 0;
-            isDamaging: true;
+            isDamaging: false;
             SkipTurns: 0;
             PosCount: 1;
             PosSprite: sprWater;
@@ -2179,7 +2178,7 @@
                 AmmoType: amLandGun;
                 AttackVoice: sndNone;
                 Bounciness: 1000);
-            Slot: 2;
+            Slot: 6;
             TimeAfterTurn: 0;
             minAngle: 0;
             maxAngle: 0;
@@ -2204,11 +2203,11 @@
                 AmmoType: amIceGun;
                 AttackVoice: sndNone;
                 Bounciness: 1000);
-            Slot: 9;
+            Slot: 2;
             TimeAfterTurn: 0;
             minAngle: 0;
             maxAngle: 0;
-            isDamaging: true;
+            isDamaging: false;
             SkipTurns: 0;
             PosCount: 1;
             PosSprite: sprWater;
--- a/hedgewars/uVideoRec.pas	Thu Apr 04 14:37:19 2013 +0200
+++ b/hedgewars/uVideoRec.pas	Tue Jun 04 22:28:12 2013 +0200
@@ -1,6 +1,6 @@
 (*
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2012 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2013 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
--- a/hedgewars/uVisualGears.pas	Thu Apr 04 14:37:19 2013 +0200
+++ b/hedgewars/uVisualGears.pas	Tue Jun 04 22:28:12 2013 +0200
@@ -1,6 +1,6 @@
 (*
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2012 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2013 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
--- a/hedgewars/uWorld.pas	Thu Apr 04 14:37:19 2013 +0200
+++ b/hedgewars/uWorld.pas	Tue Jun 04 22:28:12 2013 +0200
@@ -1,6 +1,6 @@
 (*
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2012 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2013 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
@@ -1387,7 +1387,7 @@
         // draw health bars right border
         inc(r.x, cTeamHealthWidth + 2);
         r.w:= 3;
-        DrawTextureFromRect(TeamHealthBarWidth + 16, cScreenHeight + DrawHealthY + smallScreenOffset, @r, HealthTex);
+        DrawTextureFromRect(TeamHealthBarWidth + 15, cScreenHeight + DrawHealthY + smallScreenOffset, @r, HealthTex);
 
         if (not highlight) and (not hasGone) then
             for i:= 0 to cMaxHHIndex do
@@ -1424,8 +1424,8 @@
             // draw health bar
             r.w:= TeamHealthBarWidth + 1;
             r.h:= HealthTex^.h - 4;
-            DrawTextureFromRect(16, cScreenHeight + DrawHealthY + smallScreenOffset + 2, @r, HealthTex);
-            if (not hasGone) and (TeamHealth > 1) then
+            DrawTextureFromRect(15, cScreenHeight + DrawHealthY + smallScreenOffset + 2, @r, HealthTex);
+            if not hasGone and (TeamHealth > 1) then
                 begin
                 Tint(Clan^.Color shl 8 or $FF);
                 for i:= 0 to cMaxHHIndex do
--- a/hedgewars/videorec/avwrapper.c	Thu Apr 04 14:37:19 2013 +0200
+++ b/hedgewars/videorec/avwrapper.c	Tue Jun 04 22:28:12 2013 +0200
@@ -1,6 +1,6 @@
 /*
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2012 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2013 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
--- a/misc/libphysfs/CMakeLists.txt	Thu Apr 04 14:37:19 2013 +0200
+++ b/misc/libphysfs/CMakeLists.txt	Tue Jun 04 22:28:12 2013 +0200
@@ -35,6 +35,15 @@
 include(CheckCSourceCompiles)
 
 
+# 32bit platforms won't link unless this is set
+# although Windows doesn't like it
+if(NOT WINDOWS)
+    if(CMAKE_SIZEOF_VOID_P LESS 8)
+        add_definitions(-DPHYSFS_NO_64BIT_SUPPORT=1)
+    endif(CMAKE_SIZEOF_VOID_P LESS 8)
+endif(NOT WINDOWS)
+
+
 if(MACOSX)
     # Fallback to older OS X on PowerPC to support wider range of systems...
     if(CMAKE_OSX_ARCHITECTURES MATCHES ppc)
--- a/misc/libphysfs/physfs_internal.h	Thu Apr 04 14:37:19 2013 +0200
+++ b/misc/libphysfs/physfs_internal.h	Tue Jun 04 22:28:12 2013 +0200
@@ -322,8 +322,13 @@
 #define __PHYSFS_ARRAYLEN(x) ( (sizeof (x)) / (sizeof (x[0])) )
 
 #ifdef PHYSFS_NO_64BIT_SUPPORT
-#define __PHYSFS_SI64(x) ((PHYSFS_sint64) (x))
-#define __PHYSFS_UI64(x) ((PHYSFS_uint64) (x))
+/* if a 32bit compiler sees something with this many bits: 0xFFFFFFFFFFFFFFFF
+ *  it doesn't know if it really means 64bit or if it's supposed to squeeze
+ *  it into 32 bit, so without the ULL it squeezes the number to 32 bit,
+ *  with it it forces it to be 64bits
+ */
+#define __PHYSFS_SI64(x) ((PHYSFS_sint64) (x##LL))
+#define __PHYSFS_UI64(x) ((PHYSFS_uint64) (x##ULL))
 #elif (defined __GNUC__)
 #define __PHYSFS_SI64(x) x##LL
 #define __PHYSFS_UI64(x) x##ULL
--- a/misc/libphysfs/platform_macosx.c	Thu Apr 04 14:37:19 2013 +0200
+++ b/misc/libphysfs/platform_macosx.c	Tue Jun 04 22:28:12 2013 +0200
@@ -29,6 +29,25 @@
 #include "physfs_internal.h"
 
 
+#if defined(__APPLE__)
+#if defined(TARGET_OS_MAC) && MAC_OS_X_VERSION_MAX_ALLOWED <= MAC_OS_X_VERSION_10_4
+/* __eprintf shouldn't have been made visible from libstdc++, or anywhere, but
+   on Mac OS X 10.4 it was defined in libstdc++.6.0.3.dylib; so on that platform
+   we have to keep defining it to keep binary compatibility.
+   We can't just put the libgcc version in the export list, because that
+   doesn't work; once a symbol is marked as hidden, it stays that way.  */
+
+void __eprintf (const char *string, const char *expression,
+	        unsigned int line, const char *filename)
+{
+    fprintf(stderr, string, expression, line, filename);
+    fflush(stderr);
+    abort();
+}
+#endif
+#endif /* __APPLE__ */
+
+
 /* Wrap PHYSFS_Allocator in a CFAllocator... */
 static CFAllocatorRef cfallocator = NULL;
 
--- a/misc/libphyslayer/hwpacksmounter.c	Thu Apr 04 14:37:19 2013 +0200
+++ b/misc/libphyslayer/hwpacksmounter.c	Tue Jun 04 22:28:12 2013 +0200
@@ -33,3 +33,24 @@
 
     PHYSFS_freeList(filesList);
 }
+
+PHYSFS_DECL void hedgewarsMountPackage(char * fileName)
+{
+    int fileNameLength = strlen(fileName);
+    if (fileNameLength > 4)
+        if (strcmp(fileName + fileNameLength - 4, ".hwp") == 0)
+        {
+            const char * dir = PHYSFS_getRealDir(fileName);
+            if(dir)
+            {
+                char * fullPath = (char *)malloc(strlen(dir) + fileNameLength + 2);
+                strcpy(fullPath, dir);
+                strcat(fullPath, "/");
+                strcat(fullPath, fileName);
+
+                PHYSFS_mount(fullPath, NULL, 0);
+
+                free(fullPath);
+            }
+        }
+}
--- a/misc/libphyslayer/hwpacksmounter.h	Thu Apr 04 14:37:19 2013 +0200
+++ b/misc/libphyslayer/hwpacksmounter.h	Tue Jun 04 22:28:12 2013 +0200
@@ -8,7 +8,7 @@
 #endif
 
 PHYSFS_DECL void hedgewarsMountPackages();
-
+PHYSFS_DECL void hedgewarsMountPackage(char * fileName);
 
 #ifdef __cplusplus
 }
--- a/project_files/Android-build/SDL-android-project/src/org/hedgewars/hedgeroid/SDLActivity.java	Thu Apr 04 14:37:19 2013 +0200
+++ b/project_files/Android-build/SDL-android-project/src/org/hedgewars/hedgeroid/SDLActivity.java	Tue Jun 04 22:28:12 2013 +0200
@@ -2,7 +2,7 @@
  * Hedgewars for Android. An Android port of Hedgewars, a free turn based strategy game
  * Copyright (c) 2011-2012 Richard Deurwaarder <xeli@xelification.com>
  * Copyright (C) 2012 Simeon Maxein <smaxein@googlemail.com>
- * Copyright (c) 2004-2012 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2013 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
--- a/project_files/frontlib/net/netconn.c	Thu Apr 04 14:37:19 2013 +0200
+++ b/project_files/frontlib/net/netconn.c	Tue Jun 04 22:28:12 2013 +0200
@@ -1,7 +1,7 @@
 /*
  * Hedgewars, a free turn based strategy game
  * Copyright (c) 2006-2008 Igor Ulyanov <iulyanov@gmail.com>
- * Copyright (c) 2004-2012 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2013 Andrey Korotaev <unC0Rr@gmail.com>
  * Copyright (c) 2012 Simeon Maxein <smaxein@googlemail.com>
  *
  * This program is free software; you can redistribute it and/or modify
--- a/project_files/hedgewars.pro	Thu Apr 04 14:37:19 2013 +0200
+++ b/project_files/hedgewars.pro	Tue Jun 04 22:28:12 2013 +0200
@@ -250,7 +250,7 @@
 
 RESOURCES += ../QTfrontend/hedgewars.qrc
 
-LIBS += -L../bin -lphysfs
+LIBS += -L../bin -lhw_physfs -lphyslayer
 
 macx {
     QMAKE_MACOSX_DEPLOYMENT_TARGET = 10.6
Binary file share/hedgewars/Data/Graphics/AmmoMenu/Ammos.png has changed
Binary file share/hedgewars/Data/Graphics/AmmoMenu/Ammos_bw.png has changed
Binary file share/hedgewars/Data/Graphics/Hats/Dan.png has changed
Binary file share/hedgewars/Data/Graphics/Hats/Dauber.png has changed
Binary file share/hedgewars/Data/Graphics/Hats/DayAndNight.png has changed
Binary file share/hedgewars/Data/Graphics/Hats/Evil.png has changed
Binary file share/hedgewars/Data/Graphics/Hats/Joker.png has changed
Binary file share/hedgewars/Data/Graphics/Hats/Meteorhelmet.png has changed
Binary file share/hedgewars/Data/Graphics/Hats/Moustache.png has changed
Binary file share/hedgewars/Data/Graphics/Hats/Moustache_glasses.png has changed
Binary file share/hedgewars/Data/Graphics/Hats/SunWukong.png has changed
Binary file share/hedgewars/Data/Graphics/Hats/TeamWheatley.png has changed
Binary file share/hedgewars/Data/Graphics/Hats/bubble.png has changed
Binary file share/hedgewars/Data/Graphics/Hats/cap_thinking.png has changed
Binary file share/hedgewars/Data/Graphics/Hats/car.png has changed
Binary file share/hedgewars/Data/Graphics/Hats/flag_french.png has changed
Binary file share/hedgewars/Data/Graphics/Hats/flag_germany.png has changed
Binary file share/hedgewars/Data/Graphics/Hats/flag_italy.png has changed
Binary file share/hedgewars/Data/Graphics/Hats/flag_usa.png has changed
Binary file share/hedgewars/Data/Graphics/Hats/footballhelmet.png has changed
Binary file share/hedgewars/Data/Graphics/Hats/lamp.png has changed
Binary file share/hedgewars/Data/Graphics/Hats/mechanicaltoy.png has changed
Binary file share/hedgewars/Data/Graphics/Hats/noface.png has changed
Binary file share/hedgewars/Data/Graphics/Hats/war_UNPeacekeeper01.png has changed
Binary file share/hedgewars/Data/Graphics/Hats/war_UNPeacekeeper02.png has changed
Binary file share/hedgewars/Data/Graphics/Hats/war_airwarden02.png has changed
Binary file share/hedgewars/Data/Graphics/Hats/war_airwarden03.png has changed
Binary file share/hedgewars/Data/Graphics/Hats/war_americanww2helmet.png has changed
Binary file share/hedgewars/Data/Graphics/Hats/war_trenchfrench01.png has changed
Binary file share/hedgewars/Data/Graphics/Hats/war_trenchfrench02.png has changed
Binary file share/hedgewars/Data/Graphics/Hats/zoo_chicken.png has changed
Binary file share/hedgewars/Data/Graphics/Hats/zoo_elephant.png has changed
Binary file share/hedgewars/Data/Graphics/Hats/zoo_fish.png has changed
Binary file share/hedgewars/Data/Graphics/Hats/zoo_frog.png has changed
Binary file share/hedgewars/Data/Graphics/Hats/zoo_snail.png has changed
Binary file share/hedgewars/Data/Graphics/Hats/zoo_turtle.png has changed
Binary file share/hedgewars/Data/Graphics/Missions/Training/User_Mission_-_Nobody_Laugh.png has changed
Binary file share/hedgewars/Data/Graphics/Missions/Training/User_Mission_-_Nobody_Laugh@2x.png has changed
--- a/share/hedgewars/Data/Graphics/hedgehog.svg	Thu Apr 04 14:37:19 2013 +0200
+++ b/share/hedgewars/Data/Graphics/hedgehog.svg	Tue Jun 04 22:28:12 2013 +0200
@@ -9,11 +9,11 @@
    xmlns="http://www.w3.org/2000/svg"
    xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
    xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
-   width="800"
+   width="1600"
    height="800"
    id="svg2902"
    version="1.1"
-   inkscape:version="0.47 r22583"
+   inkscape:version="0.48.3.1 r9886"
    sodipodi:docname="hedgehog.svg">
   <title
      id="title3631">Hedgehog</title>
@@ -76,17 +76,17 @@
      borderopacity="1.0"
      inkscape:pageopacity="0"
      inkscape:pageshadow="2"
-     inkscape:zoom="0.49497475"
-     inkscape:cx="523.00419"
-     inkscape:cy="282.86638"
+     inkscape:zoom="0.45185547"
+     inkscape:cx="842.9141"
+     inkscape:cy="306.27016"
      inkscape:document-units="px"
-     inkscape:current-layer="g3598"
+     inkscape:current-layer="layer3"
      showgrid="false"
-     inkscape:window-width="1280"
-     inkscape:window-height="946"
-     inkscape:window-x="-4"
-     inkscape:window-y="-3"
-     inkscape:window-maximized="1" />
+     inkscape:window-width="1250"
+     inkscape:window-height="852"
+     inkscape:window-x="170"
+     inkscape:window-y="184"
+     inkscape:window-maximized="0" />
   <metadata
      id="metadata2907">
     <rdf:RDF>
@@ -112,17 +112,20 @@
          style="color:#000000;fill:#2c78d2;fill-opacity:1;stroke:none;stroke-width:22;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
          d="M 539.75014,184.97991 289.94272,20.934533 c -10.12171,-6.646795 -18.53237,-1.405552 -18.77514,8.934515 l -6.50762,277.176512"
          id="path3847"
-         sodipodi:nodetypes="cccc" />
+         sodipodi:nodetypes="cccc"
+         inkscape:connector-curvature="0" />
       <path
          style="color:#000000;fill:#54a2fa;fill-opacity:1;stroke:none;stroke-width:22;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
          d="M 480.10727,181.8052 317.21732,74.837421 c -12.48356,-8.197799 -12.24256,-8.157389 -12.24256,5.825858 l -4.24337,180.736311"
          id="path3821"
-         sodipodi:nodetypes="cccc" />
+         sodipodi:nodetypes="cccc"
+         inkscape:connector-curvature="0" />
       <path
          sodipodi:nodetypes="cccc"
          id="path3790"
          d="M 539.75014,184.97991 289.94272,20.934533 c -10.12171,-6.646795 -18.53237,-1.405552 -18.77514,8.934515 l -6.50762,277.176512"
-         style="color:#000000;fill:none;stroke:#9f086e;stroke-width:22;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
+         style="color:#000000;fill:none;stroke:#9f086e;stroke-width:22;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+         inkscape:connector-curvature="0" />
     </g>
     <g
        id="g3839"
@@ -131,16 +134,19 @@
          sodipodi:nodetypes="cccc"
          id="path3823"
          d="M 394.49409,176.74515 96.356601,156.04088 C 84.276653,155.202 79.509956,163.89039 84.36166,173.02478 l 130.05508,244.85679"
-         style="color:#000000;fill:#54a2fa;fill-opacity:1;stroke:none;stroke-width:22;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
+         style="color:#000000;fill:#54a2fa;fill-opacity:1;stroke:none;stroke-width:22;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+         inkscape:connector-curvature="0" />
       <path
          style="color:#000000;fill:#2c78d2;fill-opacity:1;stroke:none;stroke-width:22;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
          d="m 94.1875,156 c -10.459488,0.29677 -14.360973,8.46776 -9.8125,17.03125 L 102.0625,206.3125 359.09375,224.15625 394.5,176.75 96.34375,156.03125 c -0.754997,-0.0524 -1.458951,-0.051 -2.15625,-0.0313 z"
-         id="path3849" />
+         id="path3849"
+         inkscape:connector-curvature="0" />
       <path
          style="color:#000000;fill:none;stroke:#9f086e;stroke-width:22;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
          d="M 394.49409,176.74515 96.356601,156.04088 C 84.276653,155.202 79.509956,163.89039 84.36166,173.02478 l 130.05508,244.85679"
          id="path3813"
-         sodipodi:nodetypes="cccc" />
+         sodipodi:nodetypes="cccc"
+         inkscape:connector-curvature="0" />
     </g>
     <g
        id="g3835">
@@ -148,16 +154,19 @@
          style="color:#000000;fill:#54a2fa;fill-opacity:1;stroke:none;stroke-width:22;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
          d="M 305.99695,247.38296 28.159159,357.4774 c -11.257429,4.46082 -11.804016,14.3558 -3.482965,20.49879 L 247.73076,542.64501"
          id="path3827"
-         sodipodi:nodetypes="cccc" />
+         sodipodi:nodetypes="cccc"
+         inkscape:connector-curvature="0" />
       <path
          style="color:#000000;fill:#2c78d2;fill-opacity:1;stroke:none;stroke-width:22;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
          d="M 306,247.375 28.15625,357.46875 c -11.257429,4.46082 -11.789801,14.35701 -3.46875,20.5 l 37.5,27.6875 230.625,-91.375 L 306,247.375 z"
-         id="path3854" />
+         id="path3854"
+         inkscape:connector-curvature="0" />
       <path
          sodipodi:nodetypes="cccc"
          id="path3815"
          d="M 305.99695,247.38296 28.159159,357.4774 c -11.257429,4.46082 -11.804016,14.3558 -3.482965,20.49879 L 247.73076,542.64501"
-         style="color:#000000;fill:none;stroke:#9f086e;stroke-width:22;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
+         style="color:#000000;fill:none;stroke:#9f086e;stroke-width:22;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+         inkscape:connector-curvature="0" />
     </g>
     <g
        id="g3831">
@@ -165,16 +174,19 @@
          sodipodi:nodetypes="cccc"
          id="path3829"
          d="M 228.84636,338.65556 53.568239,580.71384 c -7.101908,9.80772 -2.250103,18.44887 8.068116,19.16343 l 276.590465,19.15401"
-         style="color:#000000;fill:#54a2fa;fill-opacity:1;stroke:none;stroke-width:22;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
+         style="color:#000000;fill:#54a2fa;fill-opacity:1;stroke:none;stroke-width:22;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+         inkscape:connector-curvature="0" />
       <path
          style="color:#000000;fill:#2c78d2;fill-opacity:1;stroke:none;stroke-width:22;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
          d="M 228.84375,338.65625 53.5625,580.71875 c -7.101908,9.80772 -2.255719,18.44169 8.0625,19.15625 l 41.84375,2.90625 148.4375,-205 -23.0625,-59.125 z"
-         id="path3859" />
+         id="path3859"
+         inkscape:connector-curvature="0" />
       <path
          style="color:#000000;fill:none;stroke:#9f086e;stroke-width:22;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
          d="M 228.84636,338.65556 53.568239,580.71384 c -7.101908,9.80772 -2.250103,18.44887 8.068116,19.16343 l 276.590465,19.15401"
          id="path3817"
-         sodipodi:nodetypes="cccc" />
+         sodipodi:nodetypes="cccc"
+         inkscape:connector-curvature="0" />
     </g>
     <g
        id="g3775"
@@ -182,7 +194,7 @@
        style="display:inline">
       <path
          transform="matrix(1.1172821,0,0,1.1172821,-112.39265,21.533965)"
-         d="m 738.42152,441.39584 c 0,131.10459 -106.28126,237.38585 -237.38584,237.38585 -131.10459,0 -237.38585,-106.28126 -237.38585,-237.38585 0,-131.10458 106.28126,-237.38585 237.38585,-237.38585 131.10458,0 237.38584,106.28127 237.38584,237.38585 z"
+         d="m 738.42152,441.39584 a 237.38585,237.38585 0 1 1 -474.77169,0 237.38585,237.38585 0 1 1 474.77169,0 z"
          sodipodi:ry="237.38585"
          sodipodi:rx="237.38585"
          sodipodi:cy="441.39584"
@@ -194,7 +206,8 @@
          style="color:#000000;fill:#d66bcc;fill-opacity:1;stroke:none;stroke-width:19.6906414;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
          d="m 508.09375,637.78125 c -23.96329,13.08576 -40.0625,37.31152 -40.0625,65.0625 0,41.63359 36.22695,75.40625 80.90625,75.40625 42.42516,0 77.22179,-30.44094 80.625,-69.15625 -12.12099,21.1102 -36.01048,35.46875 -63.5,35.46875 -39.74819,0 -71.96875,-30.02388 -71.96875,-67.0625 0,-14.86821 5.21282,-28.59929 14,-39.71875 z"
          transform="matrix(3.2784936,0,0,3.518332,-1352.2438,-1958.1729)"
-         id="path3783" />
+         id="path3783"
+         inkscape:connector-curvature="0" />
       <path
          sodipodi:type="arc"
          style="color:#000000;fill:none;stroke:#9f086e;stroke-width:66.8752594;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
@@ -203,7 +216,7 @@
          sodipodi:cy="441.39584"
          sodipodi:rx="237.38585"
          sodipodi:ry="237.38585"
-         d="m 738.42152,441.39584 c 0,131.10459 -106.28126,237.38585 -237.38584,237.38585 -131.10459,0 -237.38585,-106.28126 -237.38585,-237.38585 0,-131.10458 106.28126,-237.38585 237.38585,-237.38585 131.10458,0 237.38584,106.28127 237.38584,237.38585 z"
+         d="m 738.42152,441.39584 a 237.38585,237.38585 0 1 1 -474.77169,0 237.38585,237.38585 0 1 1 474.77169,0 z"
          transform="matrix(1.1172821,0,0,1.1172821,-112.39265,21.533965)" />
     </g>
     <g
@@ -218,16 +231,17 @@
          sodipodi:cy="441.39584"
          sodipodi:rx="237.38585"
          sodipodi:ry="237.38585"
-         d="m 738.42152,441.39584 c 0,131.10459 -106.28126,237.38585 -237.38584,237.38585 -131.10459,0 -237.38585,-106.28126 -237.38585,-237.38585 0,-131.10458 106.28126,-237.38585 237.38585,-237.38585 131.10458,0 237.38584,106.28127 237.38584,237.38585 z"
+         d="m 738.42152,441.39584 a 237.38585,237.38585 0 1 1 -474.77169,0 237.38585,237.38585 0 1 1 474.77169,0 z"
          transform="matrix(1.1172821,0,0,1.1172821,-112.39265,21.533965)" />
       <path
          style="color:#000000;fill:#d66bcc;fill-opacity:1;stroke:none;stroke-width:19.6906414;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
          d="m 370.4375,624.5 c -25.06339,13.93043 -42.0625,40.92272 -42.0625,71.9375 0,45.28185 36.22695,81.96875 80.90625,81.96875 39.38878,0 72.18745,-28.53029 79.40625,-66.3125 -13.43862,16.95561 -34.05861,27.84375 -57.1875,27.84375 -40.49511,0 -73.3125,-33.27127 -73.3125,-74.3125 0,-15.20419 4.51856,-29.35023 12.25,-41.125 z"
          transform="matrix(3.2784936,0,0,3.234868,-894.42536,-1738.1438)"
-         id="path3762" />
+         id="path3762"
+         inkscape:connector-curvature="0" />
       <path
          transform="matrix(1.1172821,0,0,1.1172821,-112.39265,21.533965)"
-         d="m 738.42152,441.39584 c 0,131.10459 -106.28126,237.38585 -237.38584,237.38585 -131.10459,0 -237.38585,-106.28126 -237.38585,-237.38585 0,-131.10458 106.28126,-237.38585 237.38585,-237.38585 131.10458,0 237.38584,106.28127 237.38584,237.38585 z"
+         d="m 738.42152,441.39584 a 237.38585,237.38585 0 1 1 -474.77169,0 237.38585,237.38585 0 1 1 474.77169,0 z"
          sodipodi:ry="237.38585"
          sodipodi:rx="237.38585"
          sodipodi:cy="441.39584"
@@ -247,16 +261,17 @@
          sodipodi:cy="441.39584"
          sodipodi:rx="237.38585"
          sodipodi:ry="237.38585"
-         d="m 738.42152,441.39584 c 0,131.10459 -106.28126,237.38585 -237.38584,237.38585 -131.10459,0 -237.38585,-106.28126 -237.38585,-237.38585 0,-131.10458 106.28126,-237.38585 237.38585,-237.38585 131.10458,0 237.38584,106.28127 237.38584,237.38585 z"
+         d="m 738.42152,441.39584 a 237.38585,237.38585 0 1 1 -474.77169,0 237.38585,237.38585 0 1 1 474.77169,0 z"
          transform="matrix(1.1172821,0,0,1.1172821,-112.39265,21.533965)" />
       <path
          style="color:#000000;fill:#d66bcc;fill-opacity:1;stroke:none;stroke-width:19.6906414;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
          d="m 625.15625,428.34375 c -18.64041,15.11242 -30.4375,37.36149 -30.4375,62.21875 0,45.5224 39.51787,82.4375 88.28125,82.4375 43.93405,0 80.36954,-29.96153 87.15625,-69.1875 C 754.65821,516.38108 734.45365,524 712.3125,524 663.54912,524 624,487.0849 624,441.5625 c 0,-4.5054 0.4112,-8.90962 1.15625,-13.21875 z"
          transform="matrix(3.0039103,0,0,3.2177742,-1604.2803,-1063.8187)"
-         id="path3749" />
+         id="path3749"
+         inkscape:connector-curvature="0" />
       <path
          transform="matrix(1.1172821,0,0,1.1172821,-112.39265,21.533965)"
-         d="m 738.42152,441.39584 c 0,131.10459 -106.28126,237.38585 -237.38584,237.38585 -131.10459,0 -237.38585,-106.28126 -237.38585,-237.38585 0,-131.10458 106.28126,-237.38585 237.38585,-237.38585 131.10458,0 237.38584,106.28127 237.38584,237.38585 z"
+         d="m 738.42152,441.39584 a 237.38585,237.38585 0 1 1 -474.77169,0 237.38585,237.38585 0 1 1 474.77169,0 z"
          sodipodi:ry="237.38585"
          sodipodi:rx="237.38585"
          sodipodi:cy="441.39584"
@@ -276,16 +291,17 @@
          sodipodi:cy="441.39584"
          sodipodi:rx="237.38585"
          sodipodi:ry="237.38585"
-         d="m 738.42152,441.39584 c 0,131.10459 -106.28126,237.38585 -237.38584,237.38585 -131.10459,0 -237.38585,-106.28126 -237.38585,-237.38585 0,-131.10458 106.28126,-237.38585 237.38585,-237.38585 131.10458,0 237.38584,106.28127 237.38584,237.38585 z"
+         d="m 738.42152,441.39584 a 237.38585,237.38585 0 1 1 -474.77169,0 237.38585,237.38585 0 1 1 474.77169,0 z"
          transform="matrix(1.1172821,0,0,1.1172821,-112.39265,21.533965)" />
       <path
          style="color:#000000;fill:#d66bcc;fill-opacity:1;stroke:none;stroke-width:19.6906414;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
          d="m 300.8125,211.5625 c -68.32219,47.97926 -113,127.39175 -113,217.21875 0,146.48081 118.76919,265.21875 265.25,265.21875 109.76155,0 203.92541,-66.69307 244.25,-161.75 -46.77743,53.90709 -115.77378,88 -192.75,88 -140.90189,0 -255.125,-114.22311 -255.125,-255.125 0,-57.6502 19.12817,-110.84078 51.375,-153.5625 z"
          id="path3688"
-         transform="translate(-5.6478893,85.928699)" />
+         transform="translate(-5.6478893,85.928699)"
+         inkscape:connector-curvature="0" />
       <path
          transform="matrix(1.1172821,0,0,1.1172821,-112.39265,21.533965)"
-         d="m 738.42152,441.39584 c 0,131.10459 -106.28126,237.38585 -237.38584,237.38585 -131.10459,0 -237.38585,-106.28126 -237.38585,-237.38585 0,-131.10458 106.28126,-237.38585 237.38585,-237.38585 131.10458,0 237.38584,106.28127 237.38584,237.38585 z"
+         d="m 738.42152,441.39584 a 237.38585,237.38585 0 1 1 -474.77169,0 237.38585,237.38585 0 1 1 474.77169,0 z"
          sodipodi:ry="237.38585"
          sodipodi:rx="237.38585"
          sodipodi:cy="441.39584"
@@ -301,11 +317,11 @@
          sodipodi:cy="356.07144"
          sodipodi:rx="63.676994"
          sodipodi:ry="82.367821"
-         d="m 597.60558,356.07144 c 0,45.49049 -28.50916,82.36782 -63.67699,82.36782 -35.16783,0 -63.677,-36.87733 -63.677,-82.36782 0,-45.49049 28.50917,-82.36782 63.677,-82.36782 35.16783,0 63.67699,36.87733 63.67699,82.36782 z"
+         d="m 597.60558,356.07144 a 63.676994,82.367821 0 1 1 -127.35399,0 63.676994,82.367821 0 1 1 127.35399,0 z"
          transform="matrix(1.2137522,-0.32948394,0.32948394,1.2137522,-228.90683,201.80994)" />
       <path
          transform="matrix(1.0305506,-0.24075443,0.24075443,1.0305506,-13.067694,205.73896)"
-         d="m 589.43368,356.07144 c 0,45.49049 -24.85047,82.36782 -55.50509,82.36782 -30.65462,0 -55.50509,-36.87733 -55.50509,-82.36782 0,-45.49049 24.85047,-82.36782 55.50509,-82.36782 30.65462,0 55.50509,36.87733 55.50509,82.36782 z"
+         d="m 589.43368,356.07144 a 55.505093,82.367821 0 1 1 -111.01018,0 55.505093,82.367821 0 1 1 111.01018,0 z"
          sodipodi:ry="82.367821"
          sodipodi:rx="55.505093"
          sodipodi:cy="356.07144"
@@ -315,7 +331,7 @@
          sodipodi:type="arc" />
       <path
          transform="matrix(0.46703901,-0.01512391,0.01512391,0.46703901,296.71933,307.7045)"
-         d="m 597.60558,356.07144 c 0,45.49049 -28.50916,82.36782 -63.67699,82.36782 -35.16783,0 -63.677,-36.87733 -63.677,-82.36782 0,-45.49049 28.50917,-82.36782 63.677,-82.36782 35.16783,0 63.67699,36.87733 63.67699,82.36782 z"
+         d="m 597.60558,356.07144 a 63.676994,82.367821 0 1 1 -127.35399,0 63.676994,82.367821 0 1 1 127.35399,0 z"
          sodipodi:ry="82.367821"
          sodipodi:rx="63.676994"
          sodipodi:cy="356.07144"
@@ -331,7 +347,7 @@
          sodipodi:cy="356.07144"
          sodipodi:rx="63.676994"
          sodipodi:ry="82.367821"
-         d="m 597.60558,356.07144 c 0,45.49049 -28.50916,82.36782 -63.67699,82.36782 -35.16783,0 -63.677,-36.87733 -63.677,-82.36782 0,-45.49049 28.50917,-82.36782 63.677,-82.36782 35.16783,0 63.67699,36.87733 63.67699,82.36782 z"
+         d="m 597.60558,356.07144 a 63.676994,82.367821 0 1 1 -127.35399,0 63.676994,82.367821 0 1 1 127.35399,0 z"
          transform="matrix(0.43341707,-0.01403515,0.01403515,0.43341707,401.4873,306.23785)" />
     </g>
     <g
@@ -339,7 +355,7 @@
        transform="matrix(0.33724075,0,0,0.29575944,129.84878,456.31455)">
       <path
          transform="matrix(1.1172821,0,0,1.1172821,-112.39265,21.533965)"
-         d="m 738.42152,441.39584 c 0,131.10459 -106.28126,237.38585 -237.38584,237.38585 -131.10459,0 -237.38585,-106.28126 -237.38585,-237.38585 0,-131.10458 106.28126,-237.38585 237.38585,-237.38585 131.10458,0 237.38584,106.28127 237.38584,237.38585 z"
+         d="m 738.42152,441.39584 a 237.38585,237.38585 0 1 1 -474.77169,0 237.38585,237.38585 0 1 1 474.77169,0 z"
          sodipodi:ry="237.38585"
          sodipodi:rx="237.38585"
          sodipodi:cy="441.39584"
@@ -351,7 +367,8 @@
          style="color:#000000;fill:#d66bcc;fill-opacity:1;stroke:none;stroke-width:19.6906414;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
          d="m 234.03125,541.65625 c -25.63909,13.79302 -42.75,38.56291 -42.75,66.875 0,43.32308 40.0382,78.46875 89.4375,78.46875 45.82189,0 83.61297,-30.23476 88.84375,-69.1875 -13.96723,21.00047 -39.90418,35.125 -69.625,35.125 -44.50072,0 -80.59375,-31.62921 -80.59375,-70.65625 0,-15.13034 5.45433,-29.1289 14.6875,-40.625 z"
          transform="matrix(2.9652407,0,0,3.3811262,-385.03289,-1542.8571)"
-         id="path3736" />
+         id="path3736"
+         inkscape:connector-curvature="0" />
       <path
          sodipodi:type="arc"
          style="color:#000000;fill:none;stroke:#9f086e;stroke-width:62.34770966;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
@@ -360,13 +377,354 @@
          sodipodi:cy="441.39584"
          sodipodi:rx="237.38585"
          sodipodi:ry="237.38585"
-         d="m 738.42152,441.39584 c 0,131.10459 -106.28126,237.38585 -237.38584,237.38585 -131.10459,0 -237.38585,-106.28126 -237.38585,-237.38585 0,-131.10458 106.28126,-237.38585 237.38585,-237.38585 131.10458,0 237.38584,106.28127 237.38584,237.38585 z"
+         d="m 738.42152,441.39584 a 237.38585,237.38585 0 1 1 -474.77169,0 237.38585,237.38585 0 1 1 474.77169,0 z"
          transform="matrix(1.1172821,0,0,1.1172821,-112.39265,21.533965)" />
     </g>
     <path
        style="fill:#9f086e;fill-opacity:1;stroke:none;display:inline"
        d="m 561.23109,498.93811 c -8.0798,4.38775 -2.8235,17.08495 9.0914,18.56155 31.062,3.84947 81.3892,-18.32936 94.3319,-49.03093 3.2596,-7.73202 -2.8605,-10.93033 -5.4385,-7.79015 -5.4066,6.58563 -15.6937,16.18387 -30.9805,25.24132 -24.5934,14.57155 -58.397,8.344 -67.0043,13.01821 z"
        id="path3864"
-       sodipodi:nodetypes="csssss" />
+       sodipodi:nodetypes="csssss"
+       inkscape:connector-curvature="0" />
+    <path
+       style="color:#000000;fill:#5297ec;fill-opacity:1;stroke:none;stroke-width:1px;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+       d="m 1297.4937,158.66282 -238.971,-141.536508 -21.5382,12.30752 4.1025,145.639008 -178.45904,2.05126 -6.15376,21.53816 83.07579,128.20334 -130.25464,63.58886 0,14.35878 127.17776,83.07576 -79.99891,131.28025 6.15376,16.41002 214.35604,-5.12814 z"
+       id="path3828"
+       inkscape:connector-curvature="0"
+       sodipodi:nodetypes="cccccccccccccc" />
+    <path
+       style="color:#000000;fill:#4586d7;fill-opacity:1;stroke:none;stroke-width:1px;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+       d="m 996.0713,579.34584 c 88.6762,-140.43932 171.6697,-293.0426 260.3459,-433.48193 -48.9448,-13.62653 -96.3579,-8.12687 -123.6124,20.4849 -39.7553,15.44224 -86.2567,43.76314 -109.4128,70.97281 -8.7505,10.67062 -9.8093,35.12327 -41.01216,70.63462 -7.24253,14.08935 -18.95382,78.81319 -18.03713,115.99556 0.77233,31.32786 3.1183,60.37332 9.75985,84.02789 7.15158,25.4711 16.67826,52.05789 21.96874,71.36615 z"
+       id="path3968"
+       inkscape:connector-curvature="0"
+       sodipodi:nodetypes="cccccssc" />
+    <path
+       style="color:#000000;fill:#63a0e7;fill-opacity:1;stroke:none;stroke-width:1px;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+       d="m 1053.4726,169.57961 -13.9695,-149.111506 17.1836,-5.091476 209.6592,134.737182 C 1108.4783,109.28175 1069.954,-0.417003 1053.4726,169.57961 z"
+       id="path3936"
+       inkscape:connector-curvature="0"
+       sodipodi:nodetypes="ccccc" />
+    <path
+       sodipodi:nodetypes="ccccc"
+       inkscape:connector-curvature="0"
+       id="path3938"
+       d="m 1049.9214,88.575018 -6.3681,-72.094187 7.9698,-2.454287 99.3272,64.731386 c -71.9635,-22.811108 -95.9442,-66.873331 -100.9289,9.817088 z"
+       style="color:#000000;fill:#85b0e5;fill-opacity:1;stroke:none;stroke-width:0.99999994px;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
+    <path
+       style="opacity:0.31512607;color:#000000;fill:#ffffff;stroke:none;stroke-width:1px;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+       d="m 1075.694,36.381658 c 59.6468,39.147935 114.2708,70.794462 170.5596,104.405892 -16.3851,9.62444 -100.1489,-45.926375 -166.0593,-89.150263 -4.2868,-5.995922 -4.3503,-11.80543 -4.5003,-15.255629 z"
+       id="path3945"
+       inkscape:connector-curvature="0"
+       sodipodi:nodetypes="cccc" />
+    <path
+       sodipodi:nodetypes="ccccc"
+       inkscape:connector-curvature="0"
+       id="path3948"
+       d="m 944.79988,307.20064 -88.74005,-120.64243 12.11049,-13.21124 249.10568,7.57657 C 960.9147,227.18955 871.41374,152.97689 944.79988,307.20064 z"
+       style="color:#000000;fill:#63a0e7;fill-opacity:1;stroke:none;stroke-width:1px;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
+    <path
+       style="color:#000000;fill:#85b0e5;fill-opacity:1;stroke:none;stroke-width:0.99999994px;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+       d="m 900.05353,239.58317 -42.57405,-58.52837 5.56899,-6.20699 118.47801,4.36082 C 908.08845,196.7 864.84596,171.27073 900.05351,239.58395 z"
+       id="path3950"
+       inkscape:connector-curvature="0"
+       sodipodi:nodetypes="ccccc" />
+    <path
+       sodipodi:nodetypes="cccc"
+       inkscape:connector-curvature="0"
+       id="path3952"
+       d="m 895.27893,181.5696 c 71.28915,2.85496 134.41057,1.86473 199.97067,1.70214 -9.0923,16.68627 -109.50142,12.18461 -188.25886,9.05983 -6.76185,-2.93349 -9.80702,-7.88134 -11.71181,-10.76197 z"
+       style="opacity:0.31512607;color:#000000;fill:#ffffff;stroke:none;stroke-width:1px;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
+    <path
+       style="color:#000000;fill:#63a0e7;fill-opacity:1;stroke:none;stroke-width:1px;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+       d="M 940.67934,476.3477 807.0374,408.75169 811.88047,391.49638 1037.5841,285.81319 C 918.94276,397.67761 805.57981,371.85556 940.67934,476.3477 z"
+       id="path3954"
+       inkscape:connector-curvature="0"
+       sodipodi:nodetypes="ccccc" />
+    <path
+       sodipodi:nodetypes="ccccc"
+       inkscape:connector-curvature="0"
+       id="path3956"
+       d="M 870.22916,436.20893 805.82,403.20005 l 2.16759,-8.05247 107.6895,-49.58857 c -57.63527,48.75723 -107.7002,45.58532 -45.44764,90.65062 z"
+       style="color:#000000;fill:#85b0e5;fill-opacity:1;stroke:none;stroke-width:0.99999994px;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
+    <path
+       style="opacity:0.31512607;color:#000000;fill:#ffffff;stroke:none;stroke-width:1px;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+       d="m 819.86604,395.50715 c 64.45185,-32.78186 115.82948,-56.30755 179.20746,-88.74602 -0.5805,18.9938 -90.41093,67.05092 -163.89883,93.0626 -7.35793,0.43447 -12.30865,-2.60591 -15.30863,-4.31658 z"
+       id="path3958"
+       inkscape:connector-curvature="0"
+       sodipodi:nodetypes="cccc" />
+    <path
+       sodipodi:nodetypes="cccccc"
+       inkscape:connector-curvature="0"
+       id="path3960"
+       d="m 1012.1539,619.00845 -149.53856,8.22179 -4.42659,-17.36685 75.84074,-91.26068 c 11.77007,-12.26421 18.232,-3.18375 8.73964,11.00107 -32.19367,54.76267 -40.53362,74.45962 69.38477,89.40467 z"
+       style="color:#000000;fill:#63a0e7;fill-opacity:1;stroke:none;stroke-width:1px;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
+    <path
+       style="color:#000000;fill:#85b0e5;fill-opacity:1;stroke:none;stroke-width:0.99999994px;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+       d="m 931.07268,619.44017 -72.28579,3.58935 -2.14586,-8.05826 68.50599,-96.76255 c -25.56323,71.03251 -70.51551,93.30016 5.92627,101.23192 z"
+       id="path3962"
+       inkscape:connector-curvature="0"
+       sodipodi:nodetypes="ccccc" />
+    <path
+       style="color:#000000;fill:none;stroke:#920a6b;stroke-width:19.72619247;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+       d="m 1044.924,174.04722 -7.1794,-147.177445 c -0.4653,-9.538716 14.473,-12.270939 21.5381,-8.205023 l 234.3558,134.869928 -44.102,21.53816 -372.30252,-3.07686 c -25.29878,0.51283 -22.39285,14.35876 -17.43566,22.56378 l 80.5117,127.17772"
+       id="path3834"
+       inkscape:connector-curvature="0"
+       sodipodi:nodetypes="cssccccc" />
+    <path
+       style="color:#000000;fill:none;stroke:#920a6b;stroke-width:19.72619247;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+       d="M 934.66909,482.76089 820.31168,409.94142 c -19.49946,-11.24579 -9.07588,-24.45921 9.74346,-32.8201 L 1025.437,282.76366 987.48887,404.30045 859.2855,606.86173 c -4.21618,6.73156 -3.18413,21.66812 7.29892,21.73313 l 231.67218,-0.19494"
+       id="path3836"
+       inkscape:connector-curvature="0"
+       sodipodi:nodetypes="cccccccc" />
+    <path
+       transform="matrix(1.0031723,0,0,0.89280342,1164.6215,42.540495)"
+       d="m 427.53431,473.53146 a 98.586678,98.586678 0 1 1 -197.17336,0 98.586678,98.586678 0 1 1 197.17336,0 z"
+       sodipodi:ry="98.586678"
+       sodipodi:rx="98.586678"
+       sodipodi:cy="473.53146"
+       sodipodi:cx="328.94763"
+       id="path3872"
+       style="color:#000000;fill:#dd8fd8;fill-opacity:1;stroke:none;stroke-width:0.52631909;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+       sodipodi:type="arc" />
+    <path
+       style="color:#000000;fill:#dda4db;fill-opacity:0.98431582;stroke:none;stroke-width:0.10557491;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+       d="m 1480.2231,380.35651 -51.0504,23.41165 c -50.2007,85.10898 -6.3297,46.41727 30.579,25.3517 17.0773,-9.74689 36.2525,-8.81552 70.2334,8.4997 17.2558,-1.2852 6.4051,-28.22108 -7.0597,-38.64965 z"
+       id="path3874"
+       inkscape:connector-curvature="0"
+       sodipodi:nodetypes="ccsccc" />
+    <path
+       sodipodi:nodetypes="ccccc"
+       inkscape:connector-curvature="0"
+       id="path3876"
+       d="m 1491.0248,557.20287 c -83.498,8.84305 -97.248,-67.54086 -87.8199,-72.25438 6.4431,-6.9755 38.8646,-40.54988 80.4085,-17.71203 24.3903,14.96397 41.1247,50.99615 88.6614,14.23773 13.1708,28.37108 -46.6663,74.93238 -81.25,75.72868 z"
+       style="color:#000000;fill:#cb65c3;fill-opacity:0.98431444;stroke:none;stroke-width:0.10557491;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
+    <path
+       sodipodi:nodetypes="ccsccc"
+       inkscape:connector-curvature="0"
+       id="path3878"
+       d="m 1471.1409,382.81375 -41.6831,16.29741 c -37.165,54.32695 -2.488,28.86438 27.3933,14.52808 13.8258,-6.63329 30.0815,-6.75547 59.8535,2.69134 14.4978,-1.41985 3.6726,-17.64203 -8.3443,-23.58605 z"
+       style="color:#000000;fill:#e0b0e0;fill-opacity:1;stroke:none;stroke-width:0.10557491;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
+    <path
+       style="color:#000000;fill:#c251b8;fill-opacity:1;stroke:none;stroke-width:0.10557491;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+       d="m 1486.6388,557.20287 c -64.6242,5.47558 -73.7439,-33.87811 -66.9543,-42.00055 1.4755,-8.10961 26.9162,-29.61879 59.1885,-15.34935 26.331,3.94312 63.4983,15.97221 87.2465,-5.80162 10.1937,17.56719 -52.7143,62.65842 -79.4807,63.15152 z"
+       id="path3880"
+       inkscape:connector-curvature="0"
+       sodipodi:nodetypes="ccccc" />
+    <path
+       sodipodi:nodetypes="sssss"
+       inkscape:connector-curvature="0"
+       id="path3882"
+       d="m 1585.0046,469.44365 c 0,47.18453 -49.5837,95.26254 -104.5013,88.7218 -52.2238,-6.21996 -85.2198,-38.52447 -88.0105,-85.70903 -2.7851,-47.08863 43.2921,-88.44787 96.3827,-88.44787 53.0906,0 96.1291,38.25057 96.1291,85.4351 z"
+       style="color:#000000;fill:none;stroke:#920a6b;stroke-width:20.88655663;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
+    <path
+       sodipodi:type="arc"
+       style="color:#000000;fill:#dd8fd8;fill-opacity:1;stroke:none;stroke-width:58.48065567;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+       id="path3777-1"
+       sodipodi:cx="501.03568"
+       sodipodi:cy="441.39584"
+       sodipodi:rx="237.38585"
+       sodipodi:ry="237.38585"
+       d="m 738.42152,441.39584 a 237.38585,237.38585 0 1 1 -474.77169,0 237.38585,237.38585 0 1 1 474.77169,0 z"
+       transform="matrix(0.3703166,0,0,0.33518837,1197.9319,545.75332)" />
+    <path
+       id="path3783-2"
+       d="m 1339.1042,619.21816 c -26.0394,13.81216 -43.5334,39.38274 -43.5334,68.67422 0,43.9447 39.3656,79.59214 87.9158,79.59214 46.1007,0 83.9121,-32.13075 87.6101,-72.99521 -13.1711,22.28207 -39.1303,37.43767 -69.0015,37.43767 -43.1919,0 -78.2039,-31.69056 -78.2039,-70.78523 0,-15.69355 5.6644,-30.18688 15.2129,-41.92359 z"
+       style="color:#000000;fill:#dc7ad5;fill-opacity:1;stroke:none;stroke-width:19.2384243;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+       inkscape:connector-curvature="0" />
+    <path
+       inkscape:connector-curvature="0"
+       style="color:#000000;fill:#d368cb;fill-opacity:1;stroke:none;stroke-width:19.2384243;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+       d="m 1339.1042,630.8218 c -26.0394,13.81217 -43.5334,39.38274 -43.5334,68.67422 0,43.94471 39.3656,79.59214 87.9158,79.59214 46.1007,0 83.9121,-32.13075 87.6101,-72.99521 -13.1711,22.28207 -39.1303,37.43768 -69.0015,37.43768 -43.1919,0 -78.2039,-31.69057 -78.2039,-70.78524 0,-15.69355 5.6644,-30.18688 15.2129,-41.92359 z"
+       id="path3934" />
+    <path
+       transform="matrix(0.3703166,0,0,0.33518837,1197.9319,545.75332)"
+       d="m 738.42152,441.39584 a 237.38585,237.38585 0 1 1 -474.77169,0 237.38585,237.38585 0 1 1 474.77169,0 z"
+       sodipodi:ry="237.38585"
+       sodipodi:rx="237.38585"
+       sodipodi:cy="441.39584"
+       sodipodi:cx="501.03568"
+       id="path3781-1"
+       style="color:#000000;fill:none;stroke:#9f086e;stroke-width:57.63699341;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+       sodipodi:type="arc" />
+    <path
+       transform="matrix(0.3703166,0,0,0.36456015,1046.1907,531.80511)"
+       d="m 738.42152,441.39584 a 237.38585,237.38585 0 1 1 -474.77169,0 237.38585,237.38585 0 1 1 474.77169,0 z"
+       sodipodi:ry="237.38585"
+       sodipodi:rx="237.38585"
+       sodipodi:cy="441.39584"
+       sodipodi:cx="501.03568"
+       id="path3756-3"
+       style="color:#000000;fill:#dd8fd8;fill-opacity:1;stroke:none;stroke-width:56.07536697;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+       sodipodi:type="arc" />
+    <path
+       id="path3762-8"
+       d="m 1189.5218,611.00145 c -27.2348,14.70373 -45.7067,43.19441 -45.7067,75.93084 0,47.79552 39.3656,86.51897 87.9158,86.51897 42.8013,0 78.4416,-30.11407 86.2858,-69.99361 -14.6029,17.89685 -37.0094,29.38939 -62.1421,29.38939 -44.0035,0 -79.6641,-35.1182 -79.6641,-78.43767 0,-16.04822 4.91,-30.97952 13.3113,-43.40792 z"
+       style="color:#000000;fill:#dc7ad5;fill-opacity:1;stroke:none;stroke-width:19.2384243;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+       inkscape:connector-curvature="0" />
+    <path
+       inkscape:connector-curvature="0"
+       style="color:#000000;fill:#d368cb;fill-opacity:1;stroke:none;stroke-width:19.2384243;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+       d="m 1189.5218,622.60509 c -27.2348,14.70373 -45.7067,43.19442 -45.7067,75.93084 0,47.79553 39.3656,86.51897 87.9158,86.51897 42.8013,0 78.4416,-30.11406 86.2858,-69.99361 -14.6029,17.89685 -37.0094,29.38939 -62.1421,29.38939 -44.0035,0 -79.6641,-35.11819 -79.6641,-78.43767 0,-16.04821 4.91,-30.97952 13.3113,-43.40792 z"
+       id="path3921" />
+    <path
+       sodipodi:type="arc"
+       style="color:#000000;fill:none;stroke:#9f086e;stroke-width:55.26640701;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+       id="path3760-6"
+       sodipodi:cx="501.03568"
+       sodipodi:cy="441.39584"
+       sodipodi:rx="237.38585"
+       sodipodi:ry="237.38585"
+       d="m 738.42152,441.39584 a 237.38585,237.38585 0 1 1 -474.77169,0 237.38585,237.38585 0 1 1 474.77169,0 z"
+       transform="matrix(0.3703166,0,0,0.36456015,1046.1907,531.80511)" />
+    <path
+       transform="matrix(2.7477273,0,0,2.7477273,350.43501,-875.30896)"
+       d="m 427.53431,473.53146 a 98.586678,98.586678 0 1 1 -197.17336,0 98.586678,98.586678 0 1 1 197.17336,0 z"
+       sodipodi:ry="98.586678"
+       sodipodi:rx="98.586678"
+       sodipodi:cy="473.53146"
+       sodipodi:cx="328.94763"
+       id="path3794"
+       style="color:#000000;fill:#dd8fd8;fill-opacity:1;stroke:none;stroke-width:7.81254339;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+       sodipodi:type="arc" />
+    <path
+       style="color:#000000;fill:#dc7ad5;fill-opacity:1;stroke:none;stroke-width:0.10557491;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+       d="m 1510.5011,514.02272 c -36.5879,106.30828 -137.4775,182.69295 -256.2077,182.69295 -149.608,0 -270.88932,-121.28127 -270.88932,-270.88931 0,-108.69657 64.02002,-202.44048 156.41052,-245.58222 44.2231,-4.40546 22.6855,17.99764 15.6524,25.95085 -127.8469,120.0212 -75.0469,288.89817 -12.5129,340.35434 30.5359,25.14299 68.5478,62.04178 131.7468,68.69988 75.8575,7.99171 159.3497,-14.0133 228.6513,-102.2016 2.383,0.32505 4.7659,0.65008 7.1489,0.97511 z"
+       id="path3815-7"
+       inkscape:connector-curvature="0"
+       sodipodi:nodetypes="csscccscc" />
+    <path
+       sodipodi:nodetypes="csscccscc"
+       inkscape:connector-curvature="0"
+       id="path3818"
+       d="m 1409.6994,647.73287 c -43.993,30.86638 -97.5839,48.9828 -155.406,48.9828 -149.608,0 -270.88932,-121.28127 -270.88932,-270.88931 0,-101.74562 56.09382,-190.3898 139.04322,-236.69423 l 0.9853,9.81057 c -132.97508,126.68776 -74.8709,332.92464 -8.7624,383.868 30.5359,25.14299 115.396,85.9233 178.8866,83.20445 50.4746,-2.16147 57.0926,-4.22273 119.8672,-23.1518 z"
+       style="color:#000000;fill:#d368cb;fill-opacity:1;stroke:none;stroke-width:0.10557491;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
+    <path
+       sodipodi:type="arc"
+       style="color:#000000;fill:none;stroke:#920a6b;stroke-width:7.58704424;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+       id="path3022"
+       sodipodi:cx="328.94763"
+       sodipodi:cy="473.53146"
+       sodipodi:rx="98.586678"
+       sodipodi:ry="98.586678"
+       d="m 427.53431,473.53146 a 98.586678,98.586678 0 1 1 -197.17336,0 98.586678,98.586678 0 1 1 197.17336,0 z"
+       transform="matrix(2.7581306,0,0,2.7477273,345.98722,-875.30896)" />
+    <path
+       sodipodi:type="arc"
+       style="color:#000000;fill:#dd8fd8;fill-opacity:1;stroke:none;stroke-width:0.52631909;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+       id="path3842"
+       sodipodi:cx="328.94763"
+       sodipodi:cy="473.53146"
+       sodipodi:rx="98.586678"
+       sodipodi:ry="98.586678"
+       d="m 427.53431,473.53146 a 98.586678,98.586678 0 1 1 -197.17336,0 98.586678,98.586678 0 1 1 197.17336,0 z"
+       transform="matrix(1.0138611,0,0,0.83582014,766.30162,216.32669)" />
+    <path
+       sodipodi:nodetypes="ccsccc"
+       inkscape:connector-curvature="0"
+       id="path3844"
+       d="m 1094.4298,532.58156 -60.7583,21.91743 c -59.74685,79.67685 -7.5333,43.45468 36.3941,23.7336 20.3247,-9.12476 43.1463,-8.25286 83.5891,7.95719 20.5372,-1.20315 7.6231,-26.41984 -8.4022,-36.18282 z"
+       style="color:#000000;fill:#dda4db;fill-opacity:0.98431582;stroke:none;stroke-width:0.10557491;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
+    <path
+       style="color:#000000;fill:#cb65c3;fill-opacity:0.98431444;stroke:none;stroke-width:0.10557491;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+       d="m 1096.1827,698.14069 c -84.3876,8.27864 -98.2841,-63.23005 -88.7556,-67.64272 6.5118,-6.53029 39.2787,-37.96181 81.2653,-16.58157 24.4482,13.88094 38.7971,56.31808 79.9763,29.33914 -2.5997,29.10597 -37.5338,54.13967 -72.486,54.88515 z"
+       id="path3846"
+       inkscape:connector-curvature="0"
+       sodipodi:nodetypes="ccccc" />
+    <path
+       style="color:#000000;fill:#e0b0e0;fill-opacity:1;stroke:none;stroke-width:0.10557491;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+       d="m 1083.6206,534.88199 -49.6097,15.25722 c -44.2324,50.85952 -2.9611,27.0221 32.6025,13.6008 16.4549,-6.20989 35.8018,-6.32427 71.2354,2.51959 17.2547,-1.32926 4.3709,-16.51605 -9.9311,-22.08069 z"
+       id="path3864-7"
+       inkscape:connector-curvature="0"
+       sodipodi:nodetypes="ccsccc" />
+    <path
+       sodipodi:nodetypes="ccccc"
+       inkscape:connector-curvature="0"
+       id="path3866"
+       d="m 1091.7499,698.14069 c -65.3127,5.12608 -74.5295,-31.71584 -67.6676,-39.31985 1.4912,-7.59203 27.203,-27.72838 59.8191,-14.36969 15.3572,8.86922 9.9214,30.28122 60.3798,22.40246 10.3023,16.44593 -25.4796,30.82548 -52.5313,31.28708 z"
+       style="color:#000000;fill:#ca5dc1;fill-opacity:1;stroke:none;stroke-width:0.10557491;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
+    <path
+       style="color:#000000;fill:none;stroke:#920a6b;stroke-width:20.88655663;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+       d="m 1191.1638,615.98274 c 0,44.17297 -50.1119,89.1824 -105.6147,83.05911 -52.7803,-5.82293 -86.1278,-36.06567 -88.9483,-80.23864 -2.8147,-44.08319 43.7534,-82.8027 97.4097,-82.8027 53.6563,0 97.1533,35.80927 97.1533,79.98223 z"
+       id="path3848"
+       inkscape:connector-curvature="0"
+       sodipodi:nodetypes="sssss" />
+    <path
+       sodipodi:type="arc"
+       style="color:#000000;fill:#e7e6ec;fill-opacity:1;stroke:none;stroke-width:0.21143535;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+       id="path3797"
+       sodipodi:cx="400.45596"
+       sodipodi:cy="543.44366"
+       sodipodi:rx="28.702562"
+       sodipodi:ry="38.914051"
+       d="m 429.15853,543.44366 a 28.702562,38.914051 0 1 1 -57.40513,0 28.702562,38.914051 0 1 1 57.40513,0 z"
+       transform="matrix(2.7668095,-0.53171129,0.60305704,2.6271943,-101.00341,-845.85488)" />
+    <path
+       transform="matrix(2.0229222,-0.64328997,0.64066389,2.1866177,263.33691,-575.45403)"
+       d="m 429.15853,543.44366 a 28.702562,38.914051 0 1 1 -57.40513,0 28.702562,38.914051 0 1 1 57.40513,0 z"
+       sodipodi:ry="38.914051"
+       sodipodi:rx="28.702562"
+       sodipodi:cy="543.44366"
+       sodipodi:cx="400.45596"
+       id="path3799"
+       style="color:#000000;fill:#e7e6ec;fill-opacity:1;stroke:none;stroke-width:0.26384211;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+       sodipodi:type="arc" />
+    <path
+       sodipodi:type="arc"
+       style="color:#000000;fill:#000000;stroke:none;stroke-width:0.19265361;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+       id="path3801"
+       sodipodi:cx="410.1113"
+       sodipodi:cy="543.21143"
+       sodipodi:rx="8.8794022"
+       sodipodi:ry="13.465467"
+       d="m 418.9907,543.21143 a 8.8794022,13.465467 0 1 1 -17.7588,0 8.8794022,13.465467 0 1 1 17.7588,0 z"
+       transform="matrix(3.2515702,0,0,2.8168263,16.153846,-1151.625)" />
+    <path
+       sodipodi:type="arc"
+       style="color:#000000;fill:#e7e6ec;fill-opacity:1;stroke:none;stroke-width:0.21396993;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+       id="path3805"
+       sodipodi:cx="403.18341"
+       sodipodi:cy="536.96655"
+       sodipodi:rx="3.7078824"
+       sodipodi:ry="8.781827"
+       d="m 406.89129,536.96655 a 3.7078824,8.781827 0 1 1 -7.41576,0 3.7078824,8.781827 0 1 1 7.41576,0 z"
+       transform="matrix(2.824571,0,0,2.6752843,195.83727,-1074.7315)" />
+    <path
+       sodipodi:type="arc"
+       style="color:#000000;fill:#000000;stroke:none;stroke-width:0.21279597;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+       id="path3807"
+       sodipodi:cx="437.62769"
+       sodipodi:cy="539.99139"
+       sodipodi:rx="10.830919"
+       sodipodi:ry="13.367891"
+       d="m 448.4586,539.99139 a 10.830919,13.367891 0 1 1 -21.66183,0 10.830919,13.367891 0 1 1 21.66183,0 z"
+       transform="matrix(2.7179252,0,0.04087328,2.8162126,225.89822,-1154.3949)" />
+    <path
+       sodipodi:type="arc"
+       style="color:#000000;fill:#e7e6ec;fill-opacity:1;stroke:none;stroke-width:0.21908903;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+       id="path3803"
+       sodipodi:cx="432.7489"
+       sodipodi:cy="533.64899"
+       sodipodi:rx="2.4393961"
+       sodipodi:ry="7.6109161"
+       d="m 435.1883,533.64899 a 2.4393961,7.6109161 0 1 1 -4.87879,0 2.4393961,7.6109161 0 1 1 4.87879,0 z"
+       transform="matrix(2.9009107,0,0,2.4174256,164.77528,-936.74172)" />
+    <path
+       style="color:#000000;fill:#dbdae0;fill-opacity:1;stroke:none;stroke-width:0.1;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+       d="m 1266.2787,415.02633 c 43.5553,42.0038 82.798,64.16719 138.8391,21.13328 -36.4054,61.36761 -110.6571,38.53849 -138.8391,-21.13328 z"
+       id="path3811"
+       inkscape:connector-curvature="0"
+       sodipodi:nodetypes="ccc" />
+    <path
+       style="color:#000000;fill:#dbdae0;fill-opacity:1;stroke:none;stroke-width:0.1;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+       d="m 1407.8883,434.94901 c -1.5473,-1.84347 6.478,-3.69434 8.8336,-2.84429 19.4697,10.30798 29.3064,3.67479 52.6715,-8.30815 -12.9069,16.73141 -34.8,25.92144 -61.5051,11.15244 z"
+       id="path3813-5"
+       inkscape:connector-curvature="0"
+       sodipodi:nodetypes="cccc" />
+    <path
+       style="color:#000000;fill:#920a6b;fill-opacity:0.98431582;stroke:none;stroke-width:1px;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+       d="m 1358.5,497.8375 c -17.2473,-2.90752 -11.846,17.56737 0.7253,21.39422 27.6225,8.40866 89.2781,-16.1311 98.9935,-50.04071 -0.4579,-6.8454 -3.1275,-12.49509 -8.3401,-5.0766 -26.7546,29.86128 -65.1477,37.93736 -91.3787,33.72309 z"
+       id="path3868"
+       inkscape:connector-curvature="0"
+       sodipodi:nodetypes="csccc" />
   </g>
 </svg>
--- a/share/hedgewars/Data/Locale/ar.txt	Thu Apr 04 14:37:19 2013 +0200
+++ b/share/hedgewars/Data/Locale/ar.txt	Tue Jun 04 22:28:12 2013 +0200
@@ -152,7 +152,6 @@
 02:01=%1 wants to play Ecco the dolphin
 02:01=%1 has gone to visit Aquaria
 02:01=%1 has found the lost city of Atlantis
-02:01=%1 aims for the lead role in Bioshock 3
 02:01=Your doggy paddle could use a little work, %1
 02:01=%1 should have brought a jet ski
 02:01=%1 doesn't like watersports
--- a/share/hedgewars/Data/Locale/cs.txt	Thu Apr 04 14:37:19 2013 +0200
+++ b/share/hedgewars/Data/Locale/cs.txt	Tue Jun 04 22:28:12 2013 +0200
@@ -175,7 +175,6 @@
 02:01=%1 chce hrát delfína Ecca
 02:01=%1 odešel navštívit akvárium
 02:01=%1 našel ztracené město Atlantidu
-02:01=%1 míří na hlavní roli v Bioshocku 3
 02:01=Na tvém stylu čubička by ještě chtělo zapracovat, %1
 02:01=%1 si neměl vozit vodní lyže
 02:01=%1 nemá rád vodní sporty
@@ -447,8 +446,8 @@
 03:51=Nalezeno na zemi
 03:52=NEPOUŽITO
 03:53=Typ 40
-03:54=Vytvořit něco
-03:55=Užitečnost
+;03:54=Vytvořit něco
+03:54=Užitečnost
 
 ; Weapon Descriptions (use | as line breaks)
 04:00=Zaútoč na nepřítele pomocí obyčejného granátu.|Exploduje jakmile časovač dojde k nule.|1-5: Nastavuje časovač|Útok: Drž pro hození větší silou
@@ -506,8 +505,8 @@
 04:51=Získat ve volném záběru vrhá kouli bláta.|Žihadla bit, a srazí prasata zpět.
 04:52=NEPOUŽITO
 04:53=Vydejte se na dobrodružství v čase a prostoru,|přičemž vaši kamarádi bojovat dál sám.|Být připraven vrátit kdykoliv,|nebo náhlé smrti nebo pokud jsou všichni poraženi.|Prohlášení. Nefunguje v náhlé smrti,|Pokud jste sami, nebo jste-li král.
-04:54=NEÚPLNÝ
-04:55=Sprej proud lepkavými vločkami.|Stavět mosty, pohřbít nepřátele, utěsnění tunely.|Buďte opatrní, nechcete dostat každý z vás!
+;04:54=NEÚPLNÝ
+04:54=Sprej proud lepkavými vločkami.|Stavět mosty, pohřbít nepřátele, utěsnění tunely.|Buďte opatrní, nechcete dostat každý z vás!
 
 ; Game goal strings
 05:00=Herní módy
--- a/share/hedgewars/Data/Locale/da.txt	Thu Apr 04 14:37:19 2013 +0200
+++ b/share/hedgewars/Data/Locale/da.txt	Tue Jun 04 22:28:12 2013 +0200
@@ -175,7 +175,6 @@
 02:01=%1 leger delfin
 02:01=%1 er taget til Lalandia
 02:01=%1 har fundet den forsvundne by Atlantis
-02:01=%1 håber på en hovedrolle i Bioshock 3
 02:01=Du burde arbejde lidt med din hundesvømning, %1
 02:01=%1 burde have medbragt jetski
 02:01=%1 bryder sig ikke om vandsport
@@ -447,8 +446,8 @@
 03:51=Lige til at samle op
 03:52=UBRUGT
 03:53=Årgang 40
-03:54=Byg noget
-03:55=Værktøj
+;03:54=Byg noget
+03:54=Værktøj
 
 ; Weapon Descriptions (use |as line breaks)
 04:00=Angrib dine fjender med en simpel granat.|Den eksploderer når uret når nul.|1-5: Indstil uret|Angrib: Hold knappen inde for at kaste hårdere
@@ -505,8 +504,8 @@
 04:51=Få et skud lige ind med en Mudderklat.|Bider en smule og slår fjender omkuld.
 04:52=UBRUGT
 04:53=Tag på et eventyr gennem tid og rum,|mens du efterlader kampen til dine kammerater.|Vær klar til at vende tilbage når som helst,|eller hvis Pludselig Død indtræder|eller alle dine andre pindsvin dør.|Advarsel! Virker ikke under Pludselig Død,|hvis du er alene eller er Konge.
-04:54=UFÆRDIG
-04:55=Sprøjt rundt med klistrende flammer.|Byg broer, begrav fjender, luk tunneler af.|Pas på ikke selv at få noget på dig.
+;04:54=UFÆRDIG
+04:54=Sprøjt rundt med klistrende flammer.|Byg broer, begrav fjender, luk tunneler af.|Pas på ikke selv at få noget på dig.
 
 ; Game goal strings
 05:00=Spilsystemer
--- a/share/hedgewars/Data/Locale/de.txt	Thu Apr 04 14:37:19 2013 +0200
+++ b/share/hedgewars/Data/Locale/de.txt	Tue Jun 04 22:28:12 2013 +0200
@@ -31,7 +31,7 @@
 00:28=Bohrkopfrakete
 00:29=Ballpistole
 00:30=Napalm-Luftangriff
-00:31=RC-Flugzeug
+00:31=Funkflugzeug
 00:32=Schwerkraft verringern
 00:33=Zusatzschaden
 00:34=Unverwundbarkeit
@@ -101,12 +101,10 @@
 02:00=Für %1 gehen alle Lichter aus!
 02:00=%1 kommt wieder!
 02:00=%1 ist urlaubsreif!
-02:00=%1 trifft seine Ahnen.
 02:00=%1 war nicht hartnäckig genug!
 02:00=%1 war einmal
 02:00=%1 hat wohl versagt
 02:00=Mach’s gut, %1!
-02:00=%1 hinterlässt Frau und Kind
 02:00=%1 hat die letzte Bazooka gefeuert
 02:00=%1 hat die letzte Granate geworfen
 02:00=%1 hat den letzten Kuchen gebacken
@@ -117,27 +115,27 @@
 02:00=%1 nahm einen Schuss zu viel
 02:00=%1 hätte wirklich ein Erste-Hilfe-Kit gebrauchen können
 02:00=%1 ist gegangen, um ein besseres Spiel zu spielen
-02:00=%1 verlässt sein Leben aus Wut
+02:00=%1 will nicht mehr
 02:00=%1 scheitert
 02:00=Schlecht, schlecht, %1 …
 02:00=%1 sollte lieber WarMUX spielen
-02:00=%1 hat versucht die Kugeln mit den Zähnen zu fangen
-02:00=%1 findet seinen Platz in der Walhall
+02:00=%1 hat versucht, die Kugeln mit den Zähnen zu fangen
+02:00=%1 findet einen Platz in der Walhall
 02:00=%1 geht den Weg der Dinosaurier
 02:00=%1 bringt die Igelspezies einen Schritt näher zum Aussterben
 02:00=%1 wird vermisst werden
 02:00=%1 ist ab jetzt ein Ex-Igel
 02:00=%1 sieht sich die Radieschen von unten an
-02:00=%1 hat aufgehört, zu sein
+02:00=%1 hat aufgehört zu existieren
 02:00=Verabschieden Sie sich von %1
 02:00=Für %1 gibt es keine Hoffnung mehr
 02:00=%1 trat von der Lebensbühne ab
 02:00=%1 erleidet ein spontanes multiples Organversagen
 02:00=%1 ist mausetot
-02:00=%1s Lebensuhr ist abgelaufen
+02:00=Für %1 ist die Lebensuhr abgelaufen
 02:00=Beraubt des Lebens, ruht %1 in Frieden
 02:00=%1 hatte eine geringe Schadenstoleranz
-02:00=%1 hat all seine Extraleben aufgebraucht
+02:00=%1 hat alle Extraleben aufgebraucht
 02:00=Ist ein Arzt im Haus?!
 02:00=%1 ist tot
 02:00=%1 ist hinüber
@@ -145,6 +143,13 @@
 02:00=Schade um %1
 02:00=Wir trauern um %1
 02:00=%1 beißt ins Gras
+02:00=%1 ist jetzt im Igel-Himmel
+02:00=%1 spielt nicht mehr mit
+02:00=%1 ist ausgeschieden
+02:00=Hat %1 eigentlich ein Testament gemacht?
+02:00=%1 spürt keinen Schmerz mehr
+02:00=%1 muss nicht mehr leiden
+02:00=%1 hat eine Abkürzung gefunden …
 
 ; Hog (%1) drowned
 02:01=%1 geht auf Tauchstation!
@@ -165,35 +170,33 @@
 02:01=%1 geht unter die Perlentaucher!
 02:01=%1 über Bord!
 02:01=%1 verlässt das sinkende Schiff
-02:01=%1 überschätzt seinen Auftrieb!
+02:01=%1 überschätzt den eigenen Auftrieb!
 02:01=%1 erliegt dem Sog der Tiefe!
 02:01=%1 geht der Sache auf den Grund!
 02:01=%1 wäre fast verdurstet!
 02:01=%1 macht »Gluck, gluck, gluck!«
 02:01=%1 macht »Platsch!«
-02:01=%1 vergaß seine Schwimmflügel
+02:01=%1 hätte die Schwimmflügel diesmal nicht zu Hause lassen sollen
 02:01=%1 hätte Schwimmunterricht nehmen sollen
-02:01=%1 ließ sein Surfbrett zu Hause
+02:01=%1 ließ das Surfbrett zu Hause
 02:01=%1 wird gewaschen
 02:01=%1 ist ein nasser Igel
-02:01=%1 hat seine Schwimmweste vergessen
+02:01=%1 hat die Schwimmweste vergessen
 02:01=%1 macht »Plitsch-platsch!«
 02:01=%1 sieht durstig aus
 02:01=%1 ist auf dem Meer verschollen
 02:01=%1 bekommt eine Seebestattung
-02:01=%1 übt sein Rückenschwimmen
-02:01=%1 geht auf der Suche nach der Titanic
+02:01=%1 übt Rückenschwimmen
 02:01=%1 ist nicht Jesus
 02:01=%1 hat ein Leck
 02:01=Wie viele Igel wohl da unten liegen?
 02:01=%1 macht das Meer etwas höher
 02:01=%1 ist absolut nicht Marinetauglich
-02:01=%1 glaubt, er sei ein Fisch
+02:01=%1 hält sich für einen Fisch
 02:01=Wenigstens ging die Sache nicht ins Klo, %1!
 02:01=Sonic konnte nicht schwimmen, %1 auch nicht
 02:01=%1 spielt »Flipper der Delphin«
 02:01=%1 ist von uns gegangen, um Aquaria zu besuchen
-02:01=%1 strebt die Hauptrolle in Bioshock 3 an
 02:01=%1 hasst Wassersport
 02:01=%1 wird für immer Blasen machen
 02:01=%1 war ganz, ganz knapp vor einem Floß
@@ -206,6 +209,15 @@
 02:01=%1, Igel, der mit dem Blubb
 02:01=Nächster Halt: Meeresgrund
 02:01=%1 hätte den Schwimmkurs nicht schwänzen sollen
+02:01=Fischers Fritze fischt frische ... Igel?!
+02:01=Grüß die Fische von uns, %1!
+02:01=%1 erkundet das Meer
+02:01=%1 folgt dem Ruf der Meere
+02:01=%1 ist jetzt ein Seeigel!
+02:01=Igel haben keine Kiemen, %1!
+02:01=%1 lässt sich diese  einmalige  Tauchgelegenheit nicht entgehen
+02:01=Und wir dachten %1 könnte nicht noch tiefer sinken …
+02:01=%1 zieht eine Etage tiefer
 
 ; Round starts
 02:02=Auf in die Schlacht!
@@ -275,6 +287,8 @@
 02:05=Vorräte!
 02:05=Ein Erste-Hilfe-Koffer!
 02:05=Ein Grund zur Hoffnung!
+02:05=Frisch aus dem Jungbrunnen
+02:05=Lebenszeit in Kisten
 
 ; New ammo crate
 02:06=Nachschub!
@@ -298,6 +312,10 @@
 02:06=Lassen Sie nicht zu, dass sich der Feind sie holt!
 02:06=Schönes neues Spielzeug!
 02:06=Eine geheimnisvolle Kiste!
+02:06=Ein eckiges Ü-Ei!
+02:06=Die Holzkiste der Pandora!
+02:06=Willst du mit mir spielen?
+02:06=Quadratisch, praktisch, … gefährlich?
 
 ; New utility crate
 02:07=Nützliches?
@@ -310,6 +328,7 @@
 02:07=Dies sollte gut sein!
 02:07=Verwenden Sie diese mit Bedacht
 02:07=Uff, diese Box ist schwer
+02:07=Futter für Strategen
 
 ; Hog (%1) skips his turn
 02:08=%1 ist so ein Langeweiler …
@@ -325,19 +344,17 @@
 02:08=%1 braucht etwas Motivation
 02:08=%1 ist ein Pazifist
 02:08=%1 hat eine Verschnaufpause
-02:08=%1 hat eine Pause
-02:08=%1 ist dem Schüttelfrost ausgesetz
-02:08=%1 hat kein Vertrauen in seine eigenen Fähigkeiten
+02:08=%1 nimmt sich eine Auszeit
+02:08=%1 hat kein Vertrauen in die eigenen Fähigkeiten
 02:08=%1 beschließt, nichts zu tun
 02:08=%1 lässt den Feind sich selbst vernichten
 02:08=%1 wäre furchtbar auf Partys
 02:08=%1 versteckt sich
 02:08=%1 verpasst die Gelegenheit
 02:08=%1 verschenkt die Chance
-02:08=%1 meint, das Beste, was er tun kann, ist nichts …
+02:08=%1 meint Nichtstun sei der beste Plan …
 02:08=%1 ist ein großes Weichei
-02:08=Gock, gock, gock, %1 ist ein Huhn
-02:08=%1 sieht etwas gelblich aus
+02:08=%1 hat Angst …
 02:08=%1 ist ein Feigling!
 02:08=%1 wartet auf Sudden Death
 02:08=%1 ist nicht so der Kämpfertyp
@@ -350,6 +367,16 @@
 02:08=%1 hat anscheinend Besseres zu tun
 02:08=%1 hat sich fast zu Tode erschrocken
 02:08=%1 ist eingeschlafen
+02:08=%1 ist wohl nur aus Versehen hier
+02:08=%1 steckt den Kopf in den Sand
+02:08=%1 spielt lieber Skat
+02:08=%1 guckt zu
+02:08=%1 vertraut auf das Karma
+02:08=%1 igelt sich ein
+02:08=%1 zählt Schäfchen
+02:08=%1 lässt sich die Sonne auf den Bauch scheinen
+02:08=%1 genießt die Stille
+02:08=%1 fragt sich ob es schon Zeit für den Winterschlaf ist
 
 ; Hog (%1) hurts himself only
 02:09=%1 sollte lieber zielen üben!
@@ -359,20 +386,17 @@
 02:09=%1 hat keinen Selbsterhaltungstrieb
 02:09=%1 ist durcheinander
 02:09=%1 vermasselt’s
-02:09=Das war ein schlechter Schuss, %1
+02:09=Das hat wohl nicht ganz geklappt, %1
 02:09=%1 geht ein wenig zu sorglos mit gefährlichen Waffen um
 02:09=%1 sollte eine Änderung der Laufbahn betrachten
-02:09=Das. War. Schlecht!
 02:09=Nein, nein, nein, %1, Sie müssen auf den Feind schießen!
 02:09=%1 bewegt sich einen Schritt näher zum Selbstmord
 02:09=%1, Helfer des Feindes
-02:09=Das war dumm, %1
+02:09=%1 hatte das anders geplant
 02:09=%1 lebt nach dem Mantra des »Ohne Schmerz kein Sieg!«
 02:09=%1 ist verwirrt
-02:09=%1 ist geistig verwirrt
 02:09=%1 verletzt sich selbst
 02:09=%1 blamiert sich!
-02:09=%1 ist ein Trottel!
 02:09=%1 ist ungeschickt
 02:09=%1 zeigt dem Feind, wozu er fähig ist
 02:09=%1 ist nicht perfekt
@@ -382,8 +406,15 @@
 02:09=Wie peinlich!
 02:09=Ich hoffe, dass das niemand gesehen hat, %1
 02:09=%1 sollte dringend die Gebrauchsanweisung noch einmal durchlesen
-02:09=%1s hat eindeutig versagt
 02:09=%1s Schuss ging nach hinten los!
+02:09=%1 macht sich mit den Waffen vertraut
+02:09=%1 schießt ein Eigentor
+02:09=%1 kennt keinen Schmerz
+02:09=%1 mag Bumerangs und Jo-Jos
+02:09=Wer Anderen eine Grube gräbt …
+02:09=%1 wird vom Pech verfolgt
+02:09=Auch %1 macht mal Fehler
+02:09=Hoppla?!
 
 ; Hog (%1) shot an home run (using the bat and another hog)
 02:10=Home Run!
@@ -393,6 +424,10 @@
 02:10=%1 vor, noch ein Tor!
 02:10=Ausgezeichnet, %1!
 02:10=Bravo, %1!
+02:10=Sehr sportlich, %1!
+02:10=Flieg, Iglein, flieg!
+02:10=%1 lässt Igel fliegen
+02:10=%1 ist Physikstudent
 
 ; Hog (%1) has to leave (team is gone)
 02:11=%1 muss ins Bett!
@@ -410,6 +445,10 @@
 02:11=%1 verschwindet
 02:11=%1 ist futsch
 02:11=%1 hat wohl besseres zu tun
+02:11=%1 löst sich in Luft auf
+02:11=%1 bringt den Müll raus
+02:11=%1 flieht
+02:11=%1 braucht Urlaub
 
 ; Weapon Categories
 03:00=Zeitzünder-Granate
@@ -467,8 +506,8 @@
 03:51=Am Boden gefunden
 03:52=NICHT IN VERWENDUNG
 03:53=Typ 40
-03:54=Baue etwas
-03:55=Werkzeug
+;03:54=Baue etwas
+03:54=Werkzeug
 
 ; Weapon Descriptions (use | as line breaks)
 04:00=Greife deine Feinde mit einfachen Granaten an.|Der Zeitzünder steuert den Explosionszeitpunkt.|1-5: Zeitzünder einstellen|Angriff: Halten, um mit mehr Kraft zu werfen
@@ -502,7 +541,7 @@
 04:28=Kurz nach dem Start wird diese Rakete beginnen,|sich durch soliden Grund zu graben. Sobald sie|wieder austritt oder der Zeitzünder abläuft,|wird sie explodieren.|Angriff: Halten, um mit mehr Kraft zu feuern
 04:29=Das ist nichts für kleine Kinder! Die Ballpistole|feuert Tonnen kleiner farbiger Bälle, die mit|Sprengstoff gefüllt sind.|Angriff: Mit voller Kraft feuern|Hoch/Runter: Im Feuern zielen
 04:30=Rufe ein Flugzeug, um ein Areal gezielt mit|tödlichem Napalm einzudecken. Gut gezielt|lassen sich so große Teile der Karte auslöschen.|Links/Rechts: Angriffsrichtung wählen|Cursor: Zielgebiet wählen und Angriff starten
-04:31=Das RC-Flugzeug kann Kisten einsammeln und weit|entfernte Igel angreifen. Steuere es direkt in|ein Opfer oder wirf erst einige Bomben ab.|Angriff: Flugzeug starten und Bomben abwerfen|Weiter Sprung: "Ritt der Walküren"|Hoch/Runter: Flugzeug lenken
+04:31=Das Funkflugzeug kann Kisten einsammeln und weit|entfernte Igel angreifen. Steuere es direkt in|ein Opfer oder wirf erst einige Bomben ab.|Angriff: Flugzeug starten und Bomben abwerfen|Weiter Sprung: "Ritt der Walküren"|Hoch/Runter: Flugzeug lenken
 04:32=Niedrige Schwerkraft ist effektiver als jede|Diät! Springe höher und weiter oder lass|einfach deine Gegner noch weiter fliegen.|Angriff: Aktivieren
 04:33=Manchmal muss es eben doch ein bisschen|mehr sein …|Angreifen: Aktivieren
 04:34=Can’t touch me!|Angreifen: Aktivieren
@@ -525,8 +564,8 @@
 04:51=Wirf mit Dreck um dich!|Schmerzt ein wenig und schubst Igel weg.
 04:52=NICHT IN VERWENDUNG
 04:53=Unternimm eine Reise durch Zeit und Raum,|während du deine Kameraden alleine am Schlachtfeld zurücklässt.|Sei darauf vorbereitet jederzeit wieder zurückzukommen,|oder auf Sudden Death wenn sie alle besiegt wurden.|Disclaimer: Nicht funktionstüchtig wenn in Sudden Death,|wenn du alleine bist - oder der König.
-04:54=IN ARBEIT
-04:55=Versprühe einen Strahl klebriger Flocken.|Baue Brücken, begrabe Gegner, versiegle Tunnel.|Pass auf, dass du selbst nichts abbekommst!
+;04:54=IN ARBEIT
+04:54=Versprühe einen Strahl klebriger Flocken.|Baue Brücken, begrabe Gegner, versiegle Tunnel.|Pass auf, dass du selbst nichts abbekommst!
 
 ; Game goal strings
 05:00=Spielmodifikationen
--- a/share/hedgewars/Data/Locale/en.txt	Thu Apr 04 14:37:19 2013 +0200
+++ b/share/hedgewars/Data/Locale/en.txt	Tue Jun 04 22:28:12 2013 +0200
@@ -45,7 +45,7 @@
 00:42=Portable Portal Device
 00:43=Piano Strike
 00:44=Old Limburger
-00:45=Sine Gun (beta)
+00:45=Sine Gun
 00:46=Flamethrower
 00:47=Sticky Mine
 00:48=Hammer
@@ -178,7 +178,6 @@
 02:01=%1 wants to play Ecco the dolphin
 02:01=%1 has gone to visit Aquaria
 02:01=%1 has found the lost city of Atlantis
-02:01=%1 aims for the lead role in Bioshock 3
 02:01=Your doggy paddle could use a little work, %1
 02:01=%1 should have brought a jet ski
 02:01=%1 doesn't like watersports
@@ -445,13 +444,15 @@
 03:46=Hot Hot Hot!
 03:47=Stick these somewhere useful!
 03:48=It's Hammer time!
-03:49=Does what you guess
+03:49=Bring back the dead TO hell!
 03:50=Moles fan
 03:51=Found on the ground
 03:52=UNUSED
 03:53=Type 40
-03:54=Build something
-03:55=Utility
+;03:54=Build something
+03:54=Utility
+03:55=It doesn't get cooler than this!
+03:56=Please use or misuse
 
 ; Weapon Descriptions (use | as line breaks)
 04:00=Attack your enemies using a simple grenade.|It will explode once its timer reaches zero.|1-5: Set grenade's timer|Attack: Hold to throw with more power
@@ -504,12 +505,13 @@
 04:47=Double the fun with two spiky, sneaky, sticky mines.|Set up a chain reaction or defend yourself (or both!)|Attack: Hold to shoot with more power (twice)
 04:48=Why should the moles get all the abuse?|Wacking a hog can be just as fun! A good|blow from this hammer will shave off one|third of a hog's health and plunge them|underground.|Attack: Activate
 04:49=Resurrect your friends!|But beware that this also resurrects your foes.|Attack: Keep attack pressed to resurrect slowly|Up: Accelerate resurrection
-04:50=Is someone hiding underground?|Dig them out with a drill strike!|Timer controls how far it will dig.
-04:51=Get in a free shot by hurling a ball of mud.|Stings a bit, and knocks hogs back.
+04:50=Is someone hiding underground?|Dig them out with a drill strike!|Timer controls how far it will dig.|Left/Right: Determine attack direction|Cursor: Select target region
+04:51=Get in a free shot by hurling a ball of mud.|Stings a bit, and knocks hogs back.|Attack: Hold to shoot with more power
 04:52=UNUSED
-04:53=Take a trip through time and space,|while leaving your comrades to fight on alone.|Be prepared to return at any time,|or for Sudden Death or if they are all defeated.|Disclaimer. Does not function in Sudden Death,|if you are alone, or if you are a King.
-04:54=INCOMPLETE
-04:55=Spray a stream of sticky flakes.|Build bridges, bury enemies, seal off tunnels.|Be careful you don't get any on you!
+04:53=Take a trip through time and space,|while leaving your comrades to fight on alone.|Be prepared to return at any time,|or for Sudden Death or if they are all defeated.|Disclaimer. Does not function in Sudden Death,|if you are alone, or if you are a King.|Attack: Activate
+04:54=Spray a stream of sticky flakes.|Build bridges, bury enemies, seal off tunnels.|Be careful you don't get any on you!|Attack: Activate|Up/Down: Continue aiming|Left/Right: Modify spitting power
+04:55=Bring back the ice-age!|Freeze hedgehogs, make the floor slippery or|save yourself from drowning by freezing the water.|Attack: Shoot
+04:56=You can throw two cleavers at your enemy,|block passages and tunnels and even use them for climbing!|Be careful! Playing with knifes is dangerous.|Attack: Hold to shoot with more power (twice)
 
 ; Game goal strings
 05:00=Game Modes
--- a/share/hedgewars/Data/Locale/es.txt	Thu Apr 04 14:37:19 2013 +0200
+++ b/share/hedgewars/Data/Locale/es.txt	Tue Jun 04 22:28:12 2013 +0200
@@ -171,7 +171,6 @@
 02:01=%1 prefiere jugar a Ecco the dolphin
 02:01=%1 ha ido a visitar Aquaria
 02:01=%1 ha encontrado la ciudad perdida de la Atlántida
-02:01=%1 hace audiciones para el personaje principal de Bioshock 3
 02:01=Necesitas practicar más tu estilo perrito, %1
 02:01=Necesitas practicar más tu brazada, %1
 02:01=Necesitas practicar más tu estilo mariposa, %1
@@ -446,8 +445,8 @@
 03:51=Me la encontré por el suelo
 03:52=SIN USAR
 03:53=Tipo 40
-03:54=Construye algo
-03:55=Herramienta
+;03:54=Construye algo
+03:54=Herramienta
 
 ; Descripciones de armamento ( líneas delimitadas con | )
 04:00=Ataca a tus enemigos usando una sencilla granada.|Explotará una vez el temporizador llegue a cero.|1-5: ajustar temporizador.|Atacar: mantener presionado para lanzar más lejos.
@@ -504,8 +503,8 @@
 04:51=¿Qué hay más barato que el barro?|Un tiro gratis gracias a la bola de barro.|Hará que el enemigo salga volando|y escuece un poco si te entra en los ojos.
 04:52=SIN USAR
 04:53=Vive una trepidante aventura a través del|espacio y el tiempo mientras tus compañeros|siguen luchando en tu lugar.|Estate preparado para volver en cualquier momento,|o al llegar la Muerte súbita si te has quedado solo.|Aviso: no funciona durante la Muerte súbita,|si estás solo o si eres el rey.
-04:54=INCOMPLETO
-04:55=Esparce un chorro de pegajoso barro.|Construye puentes, entierra enemigos o cierra túneles.|¡Ten especial cuidado de no mancharte!
+;04:54=INCOMPLETO
+04:54=Esparce un chorro de pegajoso barro.|Construye puentes, entierra enemigos o cierra túneles.|¡Ten especial cuidado de no mancharte!
 
 ; Game goal strings
 05:00=Modos de juego
--- a/share/hedgewars/Data/Locale/fi.txt	Thu Apr 04 14:37:19 2013 +0200
+++ b/share/hedgewars/Data/Locale/fi.txt	Tue Jun 04 22:28:12 2013 +0200
@@ -159,7 +159,6 @@
 02:01=%1 haluaa näytellä Ecco-delfiiniä
 02:01=%1 lähti käymään Aquariassa
 02:01=%1 löysi Atlantiksen kadonneen kaupungin
-02:01=%1 tähtää Bioshock 3:en päärooliin
 02:01=%1:n olisi pitänyt ottaa vesiskootteri mukaan
 02:01=%1 ei pidä vesiurheilusta
 02:01=%1 puhaltaa ikuisesti kuplia
--- a/share/hedgewars/Data/Locale/fr.txt	Thu Apr 04 14:37:19 2013 +0200
+++ b/share/hedgewars/Data/Locale/fr.txt	Tue Jun 04 22:28:12 2013 +0200
@@ -3,22 +3,22 @@
 00:00=Grenade
 00:01=Grenade à fragmentation
 00:02=Bazooka
-00:03=Abeille Missile
+00:03=Abeille à tête chercheuse
 00:04=Fusil
 00:05=Marteau-piqueur
 00:06=Passer
-00:07=Corde ninja
+00:07=Grappin
 00:08=Mine
-00:09=Révolver
+00:09=Pistolet
 00:10=Dynamite
 00:11=Batte de baseball
 00:12=Shoryuken
 00:13=sec
 00:14=Parachute
-00:15=Attaque aérienne
-00:16=Lancer de mines
+00:15=Frappe aérienne
+00:16=Pluie de mines
 00:17=Chalumeau
-00:18=Poutre
+00:18=Construction
 00:19=Téléportation
 00:20=Changer de hérisson
 00:21=Mortier
@@ -29,39 +29,44 @@
 00:26=Bombe pastèque
 00:27=Grenade infernale
 00:28=Roquette perforante
-00:29=Canon à billes
+00:29=Mitrailleuse à balles
 00:30=Napalm
 00:31=Avion télécommandé
 00:32=Faible gravité
-00:33=Plus de dégâts
+00:33=Dégats supplémentaires
 00:34=Invulnérable
 00:35=Temps supplémentaire
 00:36=Visée laser
 00:37=Vampirisme
-00:38=Fusil de sniper
+00:38=Sniper
 00:39=Soucoupe Volante
 00:40=Cocktail Molotov
 00:41=Piaf
-00:42=Fusil à portails
-00:43=Attaque du Piano
+00:42=Générateur de portails
+00:43=Chute de Piano
 00:44=Vieux Limburger
-00:45=Fusil Sinus (bêta)
+00:45=Fusil Sinusoidale
 00:46=Lance-flammes
 00:47=Mines adhésives
 00:48=Marteau
 00:49=Resurrecteur
 00:50=Attaque perforante
 00:51=Boule de terre
+00:52=Aucune arme sélectionnée
+00:53=Boîte temporelle
+00:54=Aéro-Sol
+00:55=Congélateur
+00:56=Hachoir
 
 01:00=C'est parti !
 01:01=Round ex-aequo
 01:02=%1 gagne !
 01:03=Volume %1%
 01:04=Pause
-01:05=Quitter (Y/Esc) ?
+01:05=Quitter? (Y/Esc) (Clique pour reprendre)
 01:06=Mort subite !
 01:07=%1 Restantes
-01:08=Essence
+01:08=Carburant
 
 ; Event messages
 ; Hog (%1) died
@@ -78,41 +83,42 @@
 02:00=%1 fait l'ultime sacrifice !
 02:00=%1 sera profondément regretté !
 02:00=%1 a un anévrisme !
-02:00=%1 s'en va, laissant sa femme et ses enfants
-02:00=%1 a lancé sa dernière roquette
-02:00=%1 a jeté sa dernière grenade
-02:00=%1 a fait cuire son dernier gâteau
-02:00=%1 s'est balancé sur sa dernière corde
-02:00=%1 a appelé son dernier raid aérien
-02:00=%1 a rechargé son dernier fusil de chasse
-02:00=%1 a envoyé son dernier melon
-02:00=%1 a tiré sa dernière balle
-02:00=%1 aurait vraiment dû utiliser une caisse de vie
-02:00=%1 est parti pour jouer à un meilleur jeu
+02:00=%1 s'en va, laissant sa femme et ses enfants !
+02:00=%1 a lancé sa dernière roquette !
+02:00=%1 a jeté sa dernière grenade !
+02:00=%1 a fait cuire son dernier gâteau !
+02:00=%1 s'est balancé sur sa dernière corde !
+02:00=%1 a appelé son dernier raid aérien !
+02:00=%1 a rechargé son dernier fusil de chasse !
+02:00=%1 a envoyé son dernier melon !
+02:00=%1 a tiré sa dernière balle !
+02:00=%1 aurait vraiment dû utiliser une caisse de vie !
+02:00=%1 est parti pour jouer à un meilleur jeu !
 02:00=%1 est mauvais joueur !
-02:00=%1 a échoué
+02:00=%1 a échoué !
 02:00=Pauvre %1...
-02:00=%1 préfère Warmux
-02:00=%1 a bloqué les balles avec sa tête
-02:00=%1 s'en va à la façon des dinosaures
-02:00=%1 fait avancer les hérissons d'un pas vers l'extinction
-02:00=%1 me fait pleurer une larme
-02:00=%1 a cessé d'être
-02:00=Dites au revoir à %1
-02:00=Plus d'espoir restant pour %1
-02:00=%1 ferme le rideau final
-02:00=%1 souffre d'Échec Spontané et Massif d'Existence
-02:00=%1 est mort
-02:00=%1 est raide mort
-02:00=%1 n'existe plus
-02:00=%1 est périmé
-02:00=Privé de la vie, %1, reste en paix
-02:00=%1 rejoins le chœur invisible
+02:00=%1 préfère Warmux !
+02:00=%1 a bloqué les balles avec sa tête !
+02:00=%1 s'en va à la façon des dinosaures !
+02:00=%1 fait avancer les hérissons d'un pas vers l'extinction !
+02:00=%1 me fait pleurer une larme !
+02:00=%1 a cessé d'être !
+02:00=Dites au revoir à %1 !
+02:00=Plus d'espoir restant pour %1 !
+02:00=%1 ferme le rideau final !
+02:00=%1 souffre d'Échec Spontané et Massif d'Existence !
+02:00=%1 est mort !
+02:00=%1 est raide mort !
+02:00=%1 n'existe plus !
+02:00=%1 est périmé !
+02:00=Privé de la vie, %1, reste en paix !
+02:00=%1 rejoins le chœur invisible !
 02:00=Adieu %1, nous tenions beaucoup a toi !
-02:00=%1 avait une faible tolérance aux coups à balles
-02:00=%1 aurait dû utiliser une vie supplémentaire
-02:00=%1 rejoint ses ancêtres
+02:00=%1 avait une faible tolérance aux coups à balles !
+02:00=%1 aurait dû utiliser une vie supplémentaire !
+02:00=%1 rejoint ses ancêtres !
 02:00=%1 sera muet comme une tombe
+
 ; Hog (%1) drowned
 02:01=%1 joue au sous-marin !
 02:01=%1 imite le Titanic !
@@ -148,7 +154,6 @@
 02:01=%1 veut jouer à Ecco the Dolphin
 02:01=%1 est parti visiter l'aquarium
 02:01=%1 a trouvé la cité perdue d'Atlantide
-02:01=%1 se propose pour le rôle principal de Bioshock 3
 02:01=Ta pagaie pour chiens aurait pû servir, %1
 02:01=%1 aurait dû acheter un jet ski
 02:01=%1 n'aime pas les sports aquatiques
@@ -162,6 +167,7 @@
 02:01=%1 flotte comme une enclume
 02:01=%1 a oublié son masque et ses palmes
 02:01=%1 a vu une sirène !
+
 ; Match starts
 02:02=Aux armes !
 02:02=Prêts à combattre !
@@ -210,10 +216,13 @@
 02:02=Ave Caesar, Morituri te salutant !
 02:02=Combattez jusqu'à la fin !
 02:02=Que la force soit avec vous !
+
 ; Round ends (win; unused atm)
 02:03=...
+
 ; Round ends (draw; unused atm)
 02:04=...
+
 ; New health crate
 02:05=Pharmacie !
 02:05=De l'aide !
@@ -232,6 +241,7 @@
 02:05=Voilà la Croix Rouge !
 02:05=Médecin Sans Frontière à votre service !
 02:05=Hausse de l'espérance de vie en vue
+
 ; New ammo crate
 02:06=Plus d'armes !
 02:06=Du renfort !
@@ -256,6 +266,7 @@
 02:06=L'espoir fait vivre
 02:06=Surement quelquechose d'utile
 02:06=Que la chance soit avec vous !
+
 ; New utility crate
 02:07=Boite à outils !
 02:07=Ça peut être pratique...
@@ -269,6 +280,7 @@
 02:07=Elle s'est peut être blessée en tombant, vous devriez aller la voir
 02:07=Bob le bricoleur sait être généreux
 02:07=Le moment donné par le hasard vaut mieux que le moment choisi
+
 ; Hog (%1) skips his turn
 02:08=%1 est une lopette...
 02:08=%1 est trooooop rasant...
@@ -310,6 +322,7 @@
 02:08=Les gens heureux n'ont pas besoin de se presser selon %1
 02:08=Ne crains pas d'avancer lentement, crains seulement de t'arrêter %1
 02:08=Patience ! Avec le temps, l'herbe devient du lait
+
 ; Hog (%1) hurts himself only
 02:09=%1 devrait apprendre à viser !
 02:09=%1 s'en veut
@@ -345,43 +358,50 @@
 02:09=%1 ne peut pas échapper à son destin
 02:09=%1 a pris son arme dans le mauvais sens
 02:09=%1 est surement daltonien
+
 ; Hog shot an home run (using the bat and another hog)
 02:10=Home Run !
 02:10=C'est un oiseau ! C'est un avion ! ...
 02:10=Hors du parc !
 02:10=Coup gagnant !
 02:10=I believe I can FLY ! I believe I can... *boum*
+
+; Hog (%1) Has to leave (team is gone)
+02:11=%1 a du aller se coucher!
+02:11=%1 est trop occupé pour jouer
+02:11=%1 a du partir
+
 ; Weapon Categories
 03:00=Grenade à retardement
 03:01=Grenade à retardement
 03:02=Arme balistique
 03:03=Arme téléguidée
 03:04=Fusil (plusieurs coups)
-03:05=Engin excavateur
+03:05=Outil de creusage
 03:06=Action
-03:07=Véhicule utilitaire
+03:07=Moyen de transport
 03:08=Bombe de proximité
 03:09=Révolver (à plusieurs coups)
 03:10=BOUM!
 03:11=Bonk!
 03:12=Arts martiaux
 03:13=Non Utilisé
-03:14=Véhicule utilitaire
+03:14=Moyen de transport
 03:15=Attaque aéroportée
 03:16=Attaque aéroportée
-03:17=Engin excavateur
+03:17=Outil de creusage
 03:18=Utilitaire
-03:19=Véhicule utilitaire
+03:19=Moyen de transport
 03:20=Action
 03:21=Engin balistique
 03:22=Appelez-moi Indiana !
 03:23=Arts (vraiment) martiaux !
 03:24=Le gâteau n'est PAS un mensonge !
 03:25=Déguisement
-03:26=Grenade à fragmentation
-03:27=Grenade infernale
-03:28=Missile balistique
-03:29=Missile balistique
+03:26=Grenade juteuse
+03:27=Grenade enflammée
+03:28=Arme balistique
+03:29=Arme balistique
 03:30=Attaque aéroportée
 03:31=Bombe à déclenchement télécommandé
 03:32=Effet temporaire
@@ -394,21 +414,37 @@
 03:39=Moyen de transport
 03:40=Grenade incendiaire
 03:41=Un supporter enragé de Squawks
+; they wont get the original joke the song is in english so Ill use "for science" instead since its said a lot in the game
+03:42=Pour la science ...
+03:43=Joue la douloureuse sonate de Beethoven
+03:44=A consommer de préference avant : 1923
+03:45=La puissance de la science
+03:46=Chaud ! Chaud ! Chaud!
+03:47=Colle ça là où ce sera utile!
+03:48=C'est l'heure de marteler !
+03:49=Ramène les morts en ENFER !!!
+03:50=Un fan de taupes
+03:51=Trouvé par terre
+03:52=UNUSED
+03:53=Type 40
+03:54=Trace ta route
+03:55=Qui a commandé un herisson-glacé?
+03:56=Grand couteau, Multi-fonctions !
 
 ; Weapon Descriptions (use | as line breaks)
-04:00=Attaquez vos ennemis en utilisant une simple grenade.|Elle explosera une fois que le compte à rebours atteindra zéro.|1-5: Lancez le minuteur de la grenade|Attaque : maintenez pour la lancer avec plus de force
-04:01=Attaquez vos ennemis en utilisant une bombe à retardement.|Elle se désintégrera en de multiples petites bombes |quand le compte à rebours atteindra zéro|1-5 : Lancez le minuteur de la grenade|Attaque : maintenez pour la lancer avec plus de force
-04:02=Attaquez vos ennemis en utilisant un missile balistique|subissant l'influence du vent.|Attaque : maintenez pour tirer avec plus de force
-04:03=Lancez une bombe téléguidée qui se verrouillera|sur la cible choisie. Ne tirez pas à pleine puissance|pour une meilleure précision.|Curseur : choix de la cible|Attaque : maintenez pour tirer avec plus de force
+04:00=Attaquez vos ennemis en utilisant une simple grenade.|Elle explosera une fois que le compte à rebours atteindra zéro.|1-5: Réglez le minuteur de la grenade|Attaque : maintenez pour la lancer avec plus de force
+04:01=Attaquez vos ennemis en utilisant une grenade a fragmentation.|Elle se désintégrera en de multiples petits fragements explosifs |quand le compte à rebours atteindra zéro|1-5 : Réglez le minuteur de la grenade|Attaque : maintenez pour la lancer avec plus de force
+04:02=Attaquez vos ennemis en utilisant un bazooka dont la roquette|subira l'influence du vent.|Attaque : maintenez pour tirer avec plus de force
+04:03=Lancez une abeille à tête chercheuse qui se verrouillera|sur la cible choisie. Ne tirez pas à pleine puissance|pour une meilleure précision.|Curseur : choix de la cible|Attaque : maintenez pour tirer avec plus de force
 04:04=Attaquez votre ennemi en utilisant un fusil à deux coups.|Grâce à son pouvoir de dispersion vous n'avez pas besoin de frapper directement sur la cible|pour toucher votre ennemi.|Attaque : tirez (coups multiples)
 04:05=Descendez sous terre ! Utilisez le marteau-piqueur pour creuser un trou|dans le sol et atteindre d'autres zones.|Attaque : commencez/achevez de creuser
 04:06=Vous en avez marre ? Pas moyen d'attaquer ? Vous économisez vos munitions ?|Pas de problèmes ! Passez simplement votre tour, espèce de lâche !|Attaque : Passez votre tour sans combattre
-04:07=Franchissez les grandes distances en utilisant par intervalles la |corde ninja. Utilisez votre élan pour vous lancer contre les autres hérissons,|balancez leurs des grenades ou d'autres armes explosives.|Attaque : Tirer ou lâchez la corde ninja|Saut longue distance : jetez des grenades ou des armes similaires
+04:07=Franchissez les grandes distances en utilisant par intervalles le |Grappin. Utilisez votre élan pour vous lancer contre les autres hérissons,|leur balancer des grenades ou d'autres armes explosives.|Attaque : Tirer ou lâchez la corde ninja|Saut longue distance : jetez des grenades ou des armes similaires
 04:08=Maintenez vos ennemis à distance en laissant une mine|dans les passages étroits ou juste sous leurs pieds. Assurez-vous|que vous pouvez vous sauver avant son déclenchement !|Attaque : lâchez la mine à vos pieds
-04:09=Vous n'êtes pas sûr de ce que vous voulez ? Utilisez l'Aigle| du Désert pour attaquer en utilisant vos quatre coups. Poussez dans l'eau vos ennemis ou transpercez leur défense|Attaque : tirez (coups multiples)
+04:09=Vous n'êtes pas sûr de ce que vous voulez ? Utilisez le| pistolet pour attaquer en utilisant vos quatre coups. Poussez dans l'eau vos ennemis ou transpercez leur défense|Attaque : tirez (coups multiples)
 04:10=La force brute est toujours une possibilité. Lancez cet explosif|classique sur vos ennemis et prenez le temps de vous retirer.|Attaque : Lâchez la dynamite à vos pieds
-04:11=Débarrassez-vous des hérissons ennemis en leur donnant des coups pour les chasser |vers d'autres horizons ou en les jetant à l'eau. Ou bien préférez-vous|envoyer quelques tonneaux ou mines sur vos ennemis ?|Attaque : frappez un bon coup sur tout ce qui bouge.
-04:12=Allez au combat rapproché corps à corps pour utiliser toute la force presque mortelle de ces arts martiaux.|Attaque : lancez un coup de poing fulgurant
+04:11=Débarrassez-vous des hérissons ennemis en leur donnant des coups pour les éjecter |vers d'autres horizons ou en les jetant à l'eau. Ou bien préférez-vous|envoyer quelques tonneaux ou mines sur vos ennemis ?|Attaque : frappez un bon coup sur tout ce qui bouge.
+04:12=Allez au corps-à-corps pour utiliser toute la force presque mortelle de ces arts martiaux.|Attaque : lancez un coup de poing fulgurant
 04:13=non-utilisé
 04:14=Vous avez le vertige ? Prenez donc un parachute.|Il se déploiera lorsque|vous serez tombé trop loin|et épargnera le choc de la chute à votre hérisson.|Attaque: Dépliez le parachute
 04:15=Appelez le 3615 BOMBE pour commander une frappe aérienne dévastatrice sur vos ennemis.|Gauche/Droite : Déterminez la direction de l'attaque|Curseur : Choisissez la zone cible
@@ -416,36 +452,44 @@
 04:17=vous avez besoin d'un abri ? de pousser quelques ennemis dans l'eau ? Utilisez le chalumeau| pour creuser un tunnel dans le sol, vous protéger ou faire de nouvelles victimes.|Attaque : Commencez/cessez de creuser.
 04:18=Vous avez besoin de vous protéger davantage ou de passer un |obstacle infranchissable ? Placez quelques poutrelles|où vous voulez .|Gauche/Droite : Choisissez la poutrelle à placer|Curseur : Placez la poutrelle dans la bonne position
 04:19=La téléportation utilisée au bon moment|peut être bien plus efficace|que la plupart des autres armes|car elle vous permet de sauver des hérissons de situations dangereuses|en quelques secondes.|Curseur : Choisissez la zone cible
-04:20=Vous permet de jouer la partie en cours avec|un hérisson différent.|Attaque : Activez le changement de hérisson
+04:20=Vous permet de changer de herisson|pendant votre tour.|Attaque : Activez le changement de hérisson
 04:21=Tirez un missile balistique qui va|envoyer de multiples bombes au point d'impact.|Attaque : Tirez à pleine puissance
 04:22=Ce n'est pas réservé à Indiana Jones ! Le fouet est une|arme bien utile dans plusieurs situations. Particulièrement|quand vous devez hisser quelqu'un en haut d'une falaise.|Attaque : Frappez tout ce qui bouge devant vous
-04:23=Si vous n'avez rien à perdre, voilà qui peut être |bien pratique. Sacrifiez votre hérisson en le lançant dans une direction| particulière. Il heurtera tout sur son passage avant |d'exploser finalement.|Attaque : Lancer l'attaque mortelle et dévastatrice
-04:24=Joyeux anniversaire ! Lancez ce gâteau, faites-le atterrir|tout près de vos ennemis et offrez-leur une fête explosive.|Le gâteau peut franchir presque tous les environnements mais|il se peut qu'il explose à mi-chemin.|Attaque : Lancez le gâteau ou bien faites-le s'arrêter et exploser
-04:25=Arme de séduction massive ! Utilisez le déguisement pour amener vos ennemis| à sauter vers votre hérisson (et donc vers un piège ou un trou).|Attaque : Utilisez le déguisement et tentez de séduire un autre hérisson
-04:26=Envoyez cette pastèque explosive à la tête de vos ennemis. Une fois le compte-à-rebours achevé, elle se désintégrera en de multiples fragments explosifs|1-5 : Lancer le compte à rebours|Attaque : Maintenez pour tirer avec plus de puissance
-04:27=Faites tomber un déluge de feu sur vos adversaires en utilisant|cet explosif dévastateur.|Ne vous tenez pas trop prêt|de l'impact car les flammes peuvent durer longtemps|Attaque : Maintenez pour tirer avec plus de puissance
-04:28=Peu après le lancement de ce missile, il va se mettre|à creuser le sol le plus résistant et explosera|une fois son détonateur amorcé ou une fois atteint l'air libre.|Attaque : Maintenez pour tirer avec plus de puissance
+04:23=Si vous n'avez rien à perdre, voilà qui peut être |bien pratique. Sacrifiez votre hérisson en le lançant dans une direction| particulière. Il heurtera tout sur son passage avant |d'exploser.|Attaque : Lancer l'attaque mortelle et dévastatrice
+04:24=Joyeux anniversaire ! Lancez ce gâteau, et déposez-le|tout près de vos ennemis et offrez-leur une fête explosive.|Le gâteau peut franchir presque tous les environnements mais|il se peut qu'il explose à mi-chemin ou apès votre cible.|Attaque : Lancez le gâteau ou bien faites-le s'arrêter et exploser
+04:25=Arme de séduction massive ! Utilisez le déguisement pour ammener vos ennemis| à sauter vers votre hérisson (et donc vers un piège ou un trou).|Attaque : Utilisez le déguisement et tentez de séduire un autre hérisson
+04:26=Envoyez cette pastèque explosive à la tête de vos ennemis. Une fois le compte-à-rebours achevé, elle se désintégrera en de multiples tranches explosives|1-5 : Régler le compte à rebours|Attaque : Maintenez pour tirer avec plus de puissance
+04:27=Faites tomber un déluge de feu sur vos adversaires en utilisant|cet explosif diabolique et dévastateur.|Ne vous tenez pas trop prêt|de l'impact car les flammes peuvent durer longtemps|Attaque : Maintenez pour tirer avec plus de puissance
+04:28=Peu après le lancement de cette roquette, elle va se mettre|à creuser le sol le plus résistant et explosera|une fois son compte à rebours ou une fois atteint l'air libre.|Attaque : Maintenez pour tirer avec plus de puissance
 04:29=Ce n'est pas un jouet pour les enfants ! La mitrailleuse envoie|des centaines de petites balles colorées explosives.|Attaque : Tirez à pleine puissance|Haut/Bas : Continuez à tirer
-04:30=Appelez un avion pour larguer une puissante giclée de napalm.|En la menant correctement cette attaque peut éradiquer|des zones entières du paysage, et notamment les hérissons qui auraient la malchance de se trouver là.|Gauche/Droite: Déterminez la direction de l'attaque|Curseur : Choisissez la zone cible
+04:30=Appelez un avion pour larguer une pluie de napalm soumise à la force du vent.|En la menant correctement cette attaque peut éradiquer|des zones entières du paysage, et notamment les hérissons qui auraient la malchance de se trouver là.|Gauche/Droite: Déterminez la direction de l'attaque|Curseur : Choisissez la zone cible
 04:31=L'avion télécommandé est l'arme idéale pour récolter des boites ou|attaquer des hérissons très éloignés. Une fois vos ennemis bombardés, vous pourrez lancer votre avion sur l'ennemi dans une explosion incendiaire.|Attaque : Lancez l'avion ou larguez des bombes|Saut longue distance : laissez les valkyries entrer dans la danse guerrière|Haut/Bas : Pilotez l'avion
-04:32=La fable gravité est plus efficace que n'importe quel régime ! Sautez|plus haut et franchissez de plus grandes distances ou bien faites voltiger vos ennemis |encore plus loin.|Attaque : Activez
+04:32=La faible gravité est plus efficace que n'importe quel régime ! Sautez|plus haut et franchissez de plus grandes distances ou bien faites voltiger vos ennemis |encore plus loin.|Attaque : Activez
 04:33=Parfois vous avez besoin d'un petit coup de pouce supplémentaire|pour gérer les dégâts.|Attaque : Activez
 04:34=Personne ne peut me toucher !|Attaque : Activez
 04:35=Parfois le temps passe trop vite. Grappillez quelques secondes de plus pour terminer votre attaque|Attaque : Activez
-04:36=Eh bien, parfois vous ratez complètement la cible. Demandez plutôt de l'aide|à la technologie de pointe actuelle pour bien viser.|Attaque : Activez
+04:36=Eh bien, parfois vous ratez complètement la cible. Demandez plutôt de l'aide|à la technologie de pointe pour bien viser.|Attaque : Activez
 04:37=Ne craignez pas la lumière du jour. Rafraichissez vous |d'un peu de sang en récupérant des points de vie sur les dégats faits aux ennemis.|Attaque : Activez
-04:38= Le fusil à lunette peut être une des armes les plus dévastatrices|de tout votre arsenal, toutefois il est totalement inefficace|en combat rapproché. Les dommages qu'il cause augmentent suivant|la distance de la cible.|Attaque : Tirez (deux fois)
-04:39=Volez vers d'autres secteurs de la carte en utilisant une soucoupe|volante. Ce moyen de transport, pas facile à dompter, vous|emportera vers presque tous les horizons du champ de bataille|Attaque : Activer|Haut/Gauche/Droite : Prenez de l'altitude et controllez votre direction
+04:38= Le sniper peut être une des armes les plus dévastatrices|de tout votre arsenal, toutefois il est totalement inefficace|en combat rapproché. Les dommages qu'il cause augmentent suivant|la distance de la cible.|Attaque : Tirez (deux fois)
+04:39=Volez vers d'autres secteurs de la carte en utilisant une soucoupe|volante. Ce moyen de transport, pas facile à dompter, vous|emportera vers presque tous les horizons du champ de bataille mais attention au carburant!|Attaque : Activer|Haut/Gauche/Droite : Prenez de l'altitude et controllez votre direction
 04:40=Mettez le feu à un territoire en utilisant cette bouteille remplie|de liquide inflammable.|Attaque : maintenez pour tirer avec plus de force
 04:41=Une arme naturelle qui peut suffire à remplacer la soucoupe volante.|Cet oiseau a du manger un vieux fromage pourri (du Limburger vous dites ?)|car ses oeufs ont comme quelquechose de ... toxique.|Le piaf peut donc transporter votre hérisson et balancer des œufs|sur vos ennemis !|Attaque : Activez et larguez des œufs|Haut/Gauche/Droite: voltigez vers une direction.
-04:42=Ce fusil à portails est capable de transporter instantanément hérissons,|tonneaux ou mines entre deux points du terrain. |Utilisez-le intelligemment et votre campagne sera un ... GRAND SUCCÈS !|Attaque : Crée un portail|Modificateur : Change la couleur du portail
+04:42=Ce générateur de portails est capable de transporter instantanément hérissons,|tonneaux ou mines entre deux points du terrain. |Utilisez-le intelligemment et votre campagne sera un ... GRAND SUCCÈS !|Attaque : Crée un portail|Modificateur : Change la couleur du portail
 04:43=Faites de vos débuts musicaux un succès explosif !| Lâchez un piano depuis les cieux, mais attention ... si quelqu'un doit|jouer dessus, cela pourrait lui coûter la vie !|Curseur : Choix de la cible|F1-F9 : Jouer du piano
-04:44=Ce n'est pas juste un fromage, c'est une arme bactériologique !|Si il ne provoque que de faibles dommages, sa puissance se|trouve dans sa durée. Il empoisonnera tous les malchanceux|touchés par l'odeur et réduira leur vie à l'agonie !|1-5 : Lancez le minuteur de la grenade|Attaque : maintenez pour la lancer avec plus de force
-04:45=Tous ces cours de physique ont finalement payé,|lancez une onde Sinus dévastatrice sur vos ennemis.|Attention au recul ! (cette arme est incomplète)|Attaque : Activez
+04:44=Ce n'est pas juste un fromage, c'est une arme bactériologique !|Si il ne provoque que de faibles dommages, sa puissance se|trouve dans sa durée. Il empoisonnera tous les malchanceux|touchés par l'odeur et réduira leur vie à l'agonie !|1-5 : Réglez le minuteur de l'arme|Attaque : maintenez pour la lancer avec plus de force
+04:45=Tous ces cours de physique ont finalement payé,|lancez une onde Sinusoidale dévastatrice sur vos ennemis.|Attention au recul ! |Attaque : Activez
 04:46=Aspergez vos ennemis de flammes liquides ou creusez vous un passage dans le sol.|Hardi !|Attaque : Activez|Haut/Bas : Continuez à viser|Droite/Gauche : Changer la puissance de tir
 04:47=Doublez le fun avec deux mines, piquantes, furtives et collantes.|Provoquez une réaction en chaine dévastatrice et/ou défendez-vous ! |Attaque : maintenez pour tirer avec plus de force (deux fois)
 04:48=Outre une bonne bosse, un bon coup de ce marteau enlèvera un tiers de la santé |du hérisson ennemi et l'enfoncera dans le sol ou dans l'eau comme un vulgaire asticot !|Attaque : Activez
 04:49=Ressuscite vos amis oubliés six pieds sous terre ! Mais méfiez-vous, ressuscite également vos ennemis. |Attaque : Maintenez attaque pressée pour ressusciter lentement|Haut : Accélérer la résurrection
+04:50=Un ennemi se cache sous terre ?|Faîtes le sortir avec l'attaque perforante! |Un avion vous délivrera des roquettes perforantes qui creuseront vers le bas jusqu'a la fin du compte a rebours|ou du contact a l'air libre où elles exploseront|1-5 : Réglez le minuteur des roquettes|Gauche/Droite: Déterminez la direction de l'attaque|Curseur : Choisissez la zone cible
+04:51=Gagnez un tir gratuit en lançant une boule de terre sur vos ennemis.|Elle poussera les herissons dans l'eau ou dans un trou afin d'utiliser votre deuxième arme pour l'achever|Attaque : Maintenez pour tirer avec plus de puissance
+04:52=UNUSED
+04:53=Faîtes un voyage dans le temps et l'espace en|laissant vos camarades se battre seuls!|Soyez préparé à revenir a n'importequel moment|ou lors d'une mort subite ou encore si tout vos camarades sont morts|Attention ne marche pas pendant la mort subite, si vous êtes le dernier survivant ou le roi.|Attaque : Activer
+04:54=Et voici le nouveau sol en bouteille! Ce spray produit des flocon collants sur lesquels vous pouvez marchez!|Construisez des pont,enterrez vos ennemis, scellez des tunnels.|Attention à ne pas en mettre sur vous!|Attaque : Activez|Haut/Bas : Continuez à viser|Droite/Gauche : Changer la puissance de tir
+04:55=Apportez l'ère glacière sur vos ennemis!|Avec le congélateur gelez les herissons rendez le sol glissant|et sauvez vous de la noyade en gelant l'eau!!|Attaque : Tirez
+04:56=Un couteau mais bien plus,|ce hachoir se lance sur les ennemis, bloc les passages et tunnels et|peut même servir d'appui pour gravir une montagne!|Mais attention à ne pas vous blesser.|Attaque : maintenez pour la lancer avec plus de force (deux fois)
+
 
 ; Game goal strings
 05:00=Modes de jeu
@@ -461,7 +505,13 @@
 05:10=Terrain indestructible : La plupart des armes sont incapables de modifier le terrain
 05:11=Munitions partagées : Toutes les équipes de la même couleur partagent leurs munitions
 05:12=Mines à retardement : Les mines exploseront après %1 seconde(s)
-05:13=Mines à retardement : Les mines explosent immédiatement
+05:13=Mines à retardement : Les mines explosent instentanément
 05:14=Mines à retardement : Les mines exploseront dans un délai compris entre 0 et 3 secondes
 05:15=Modificateur de dégâts : Toutes les armes feront  %1% de dégâts
+05:16=La vie de tout les hérissons est restaurée à la fin du tour
+05:17=Les hérissons IA réapparaissent lorsqu'ils meurent
+05:18=Attaques illimitées
+05:19=Les armes sont réinitialisées à la fin du tour
+05:20=Les armes ne sont pas partagées entre les hérissons
+05:21=Relais: Des équipes sous la même couleur partagent le tour|Temps partagé: Dès que l'un à fini son action il passe la main à sont camarade pour qu'il agisse|avant la fin du tour
 
--- a/share/hedgewars/Data/Locale/hedgewars_ar.ts	Thu Apr 04 14:37:19 2013 +0200
+++ b/share/hedgewars/Data/Locale/hedgewars_ar.ts	Tue Jun 04 22:28:12 2013 +0200
@@ -99,19 +99,19 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Please give us feedback!</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>We are always happy about suggestions, ideas, or bug reports.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>If you found a bug, you can see if it&apos;s already known here (english): </source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Your email address is optional, but we may want to contact you.</source>
+        <source>Send us feedback!</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>If you found a bug, you can see if it&apos;s already been reported here: </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Your email address is optional, but necessary if you want us to get back at you.</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
@@ -255,6 +255,18 @@
         <source>Failed to save StyleSheet to %1</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source>%1 has joined</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>%1 has left</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>%1 has left (%2)</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>HWForm</name>
@@ -354,6 +366,10 @@
 Please wait a few seconds and try again.</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source>This page requires an internet connection.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>HWGame</name>
@@ -473,10 +489,6 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Theme: </source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>Load drawn map</source>
         <translation type="unfinished"></translation>
     </message>
@@ -492,6 +504,10 @@
         <source>Large tunnels</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source>Theme: %1</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>HWNetServersModel</name>
@@ -536,7 +552,7 @@
     </message>
     <message>
         <source>%1 *** %2 has joined</source>
-        <translation>%1 *** %2 انضم</translation>
+        <translation type="obsolete">%1 *** %2 انضم</translation>
     </message>
     <message>
         <source>%1 *** %2 has left (%3)</source>
@@ -730,6 +746,17 @@
     </message>
 </context>
 <context>
+    <name>PageDataDownload</name>
+    <message>
+        <source>Loading, please wait.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>This page requires an internet connection.</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
     <name>PageDrawMap</name>
     <message>
         <source>Undo</source>
@@ -871,6 +898,14 @@
             <numerusform></numerusform>
         </translation>
     </message>
+    <message>
+        <source>Play again</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Save</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>PageInGame</name>
@@ -982,6 +1017,10 @@
 <context>
     <name>PageNetServer</name>
     <message>
+        <source>Click here for details</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
         <source>Insert your address here</source>
         <translation type="unfinished"></translation>
     </message>
@@ -1954,6 +1993,10 @@
         <source>This program is distributed under the %1</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source>This setting will be effective at next restart.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>QLineEdit</name>
@@ -3055,119 +3098,4 @@
         <translation type="unfinished"></translation>
     </message>
 </context>
-<context>
-    <name>server</name>
-    <message>
-        <source>Not room master</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Corrupted hedgehogs info</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>too many teams</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>too many hedgehogs</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>There&apos;s already a team with same name in the list</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>round in progress</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>restricted</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>REMOVE_TEAM: no such team</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Not team owner!</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Less than two clans!</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Room with such name already exists</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Nickname already chosen</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Illegal nickname</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Protocol already known</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Bad number</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Nickname is already in use</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>No checker rights</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Authentication failed</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>60 seconds cooldown after kick</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>kicked</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Ping timeout</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>bye</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Illegal room name</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>No such room</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Joining restricted</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Registered users only</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>You are banned in this room</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Empty config entry</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
 </TS>
--- a/share/hedgewars/Data/Locale/hedgewars_bg.ts	Thu Apr 04 14:37:19 2013 +0200
+++ b/share/hedgewars/Data/Locale/hedgewars_bg.ts	Tue Jun 04 22:28:12 2013 +0200
@@ -99,19 +99,19 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Please give us feedback!</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>We are always happy about suggestions, ideas, or bug reports.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>If you found a bug, you can see if it&apos;s already known here (english): </source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Your email address is optional, but we may want to contact you.</source>
+        <source>Send us feedback!</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>If you found a bug, you can see if it&apos;s already been reported here: </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Your email address is optional, but necessary if you want us to get back at you.</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
@@ -254,6 +254,18 @@
         <source>Failed to save StyleSheet to %1</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source>%1 has joined</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>%1 has left</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>%1 has left (%2)</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>HWForm</name>
@@ -353,6 +365,10 @@
 Please wait a few seconds and try again.</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source>This page requires an internet connection.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>HWGame</name>
@@ -472,10 +488,6 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Theme: </source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>Load drawn map</source>
         <translation type="unfinished">Зареждане на начертана карта</translation>
     </message>
@@ -491,6 +503,10 @@
         <source>Large tunnels</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source>Theme: %1</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>HWNetServersModel</name>
@@ -535,7 +551,7 @@
     </message>
     <message>
         <source>%1 *** %2 has joined</source>
-        <translation>%1 *** %2 се присъедини</translation>
+        <translation type="obsolete">%1 *** %2 се присъедини</translation>
     </message>
     <message>
         <source>%1 *** %2 has left (%3)</source>
@@ -729,6 +745,17 @@
     </message>
 </context>
 <context>
+    <name>PageDataDownload</name>
+    <message>
+        <source>Loading, please wait.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>This page requires an internet connection.</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
     <name>PageDrawMap</name>
     <message>
         <source>Undo</source>
@@ -870,6 +897,14 @@
             <numerusform></numerusform>
         </translation>
     </message>
+    <message>
+        <source>Play again</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Save</source>
+        <translation type="unfinished">Запазване</translation>
+    </message>
 </context>
 <context>
     <name>PageInGame</name>
@@ -981,6 +1016,10 @@
 <context>
     <name>PageNetServer</name>
     <message>
+        <source>Click here for details</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
         <source>Insert your address here</source>
         <translation type="unfinished"></translation>
     </message>
@@ -1969,6 +2008,10 @@
         <source>This program is distributed under the %1</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source>This setting will be effective at next restart.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>QLineEdit</name>
@@ -3071,119 +3114,4 @@
         <translation type="unfinished"></translation>
     </message>
 </context>
-<context>
-    <name>server</name>
-    <message>
-        <source>Not room master</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Corrupted hedgehogs info</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>too many teams</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>too many hedgehogs</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>There&apos;s already a team with same name in the list</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>round in progress</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>restricted</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>REMOVE_TEAM: no such team</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Not team owner!</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Less than two clans!</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Room with such name already exists</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Nickname already chosen</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Illegal nickname</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Protocol already known</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Bad number</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Nickname is already in use</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>No checker rights</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Authentication failed</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>60 seconds cooldown after kick</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>kicked</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Ping timeout</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>bye</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Illegal room name</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>No such room</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Joining restricted</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Registered users only</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>You are banned in this room</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Empty config entry</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
 </TS>
--- a/share/hedgewars/Data/Locale/hedgewars_cs.ts	Thu Apr 04 14:37:19 2013 +0200
+++ b/share/hedgewars/Data/Locale/hedgewars_cs.ts	Tue Jun 04 22:28:12 2013 +0200
@@ -99,19 +99,19 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Please give us feedback!</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>We are always happy about suggestions, ideas, or bug reports.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>If you found a bug, you can see if it&apos;s already known here (english): </source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Your email address is optional, but we may want to contact you.</source>
+        <source>Send us feedback!</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>If you found a bug, you can see if it&apos;s already been reported here: </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Your email address is optional, but necessary if you want us to get back at you.</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
@@ -260,6 +260,18 @@
         <source>Failed to save StyleSheet to %1</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source>%1 has joined</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>%1 has left</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>%1 has left (%2)</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>HWForm</name>
@@ -359,6 +371,10 @@
 Please wait a few seconds and try again.</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source>This page requires an internet connection.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>HWGame</name>
@@ -478,10 +494,6 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Theme: </source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>Load drawn map</source>
         <translation type="unfinished">Nahrát nakreslenou mapu</translation>
     </message>
@@ -497,6 +509,10 @@
         <source>Large tunnels</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source>Theme: %1</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>HWNetServersModel</name>
@@ -541,7 +557,7 @@
     </message>
     <message>
         <source>%1 *** %2 has joined</source>
-        <translation>%1 *** %2 se připojil</translation>
+        <translation type="obsolete">%1 *** %2 se připojil</translation>
     </message>
     <message>
         <source>%1 *** %2 has left (%3)</source>
@@ -735,6 +751,17 @@
     </message>
 </context>
 <context>
+    <name>PageDataDownload</name>
+    <message>
+        <source>Loading, please wait.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>This page requires an internet connection.</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
     <name>PageDrawMap</name>
     <message>
         <source>Undo</source>
@@ -882,6 +909,14 @@
             <numerusform>&lt;b&gt;%1&lt;/b&gt; byl vystrašený a přeskočil tah &lt;b&gt;%2&lt;/b&gt; krát.</numerusform>
         </translation>
     </message>
+    <message>
+        <source>Play again</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Save</source>
+        <translation type="unfinished">Uložit</translation>
+    </message>
 </context>
 <context>
     <name>PageInGame</name>
@@ -993,6 +1028,10 @@
 <context>
     <name>PageNetServer</name>
     <message>
+        <source>Click here for details</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
         <source>Insert your address here</source>
         <translation type="unfinished"></translation>
     </message>
@@ -1983,6 +2022,10 @@
         <source>This program is distributed under the %1</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source>This setting will be effective at next restart.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>QLineEdit</name>
@@ -3086,119 +3129,4 @@
         <translation type="unfinished"></translation>
     </message>
 </context>
-<context>
-    <name>server</name>
-    <message>
-        <source>Not room master</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Corrupted hedgehogs info</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>too many teams</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>too many hedgehogs</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>There&apos;s already a team with same name in the list</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>round in progress</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>restricted</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>REMOVE_TEAM: no such team</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Not team owner!</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Less than two clans!</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Room with such name already exists</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Nickname already chosen</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Illegal nickname</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Protocol already known</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Bad number</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Nickname is already in use</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>No checker rights</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Authentication failed</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>60 seconds cooldown after kick</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>kicked</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Ping timeout</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>bye</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Illegal room name</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>No such room</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Joining restricted</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Registered users only</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>You are banned in this room</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Empty config entry</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
 </TS>
--- a/share/hedgewars/Data/Locale/hedgewars_da.ts	Thu Apr 04 14:37:19 2013 +0200
+++ b/share/hedgewars/Data/Locale/hedgewars_da.ts	Tue Jun 04 22:28:12 2013 +0200
@@ -99,19 +99,19 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Please give us feedback!</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>We are always happy about suggestions, ideas, or bug reports.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>If you found a bug, you can see if it&apos;s already known here (english): </source>
+        <source>Send us feedback!</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Your email address is optional, but we may want to contact you.</source>
+        <source>If you found a bug, you can see if it&apos;s already been reported here: </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Your email address is optional, but necessary if you want us to get back at you.</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
@@ -258,6 +258,18 @@
         <source>Failed to save StyleSheet to %1</source>
         <translation>Mislykkedes at gemme typografiark til %1</translation>
     </message>
+    <message>
+        <source>%1 has joined</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>%1 has left</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>%1 has left (%2)</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>HWForm</name>
@@ -357,6 +369,10 @@
 Please wait a few seconds and try again.</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source>This page requires an internet connection.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>HWGame</name>
@@ -476,10 +492,6 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Theme: </source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>Load drawn map</source>
         <translation type="unfinished">Indlæs tegnet bane</translation>
     </message>
@@ -495,6 +507,10 @@
         <source>Large tunnels</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source>Theme: %1</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>HWNetServersModel</name>
@@ -539,7 +555,7 @@
     </message>
     <message>
         <source>%1 *** %2 has joined</source>
-        <translation>%1 *** %2 har tilsluttet sig</translation>
+        <translation type="obsolete">%1 *** %2 har tilsluttet sig</translation>
     </message>
     <message>
         <source>%1 *** %2 has left (%3)</source>
@@ -733,6 +749,17 @@
     </message>
 </context>
 <context>
+    <name>PageDataDownload</name>
+    <message>
+        <source>Loading, please wait.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>This page requires an internet connection.</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
     <name>PageDrawMap</name>
     <message>
         <source>Undo</source>
@@ -874,6 +901,14 @@
             <numerusform>&lt;b&gt;%1&lt;/b&gt; blev bange og sprang over sin tur &lt;b&gt;%2&lt;/b&gt; gange.</numerusform>
         </translation>
     </message>
+    <message>
+        <source>Play again</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Save</source>
+        <translation type="unfinished">Gem</translation>
+    </message>
 </context>
 <context>
     <name>PageInGame</name>
@@ -985,6 +1020,10 @@
 <context>
     <name>PageNetServer</name>
     <message>
+        <source>Click here for details</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
         <source>Insert your address here</source>
         <translation type="unfinished"></translation>
     </message>
@@ -1977,6 +2016,10 @@
         <source>This program is distributed under the %1</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source>This setting will be effective at next restart.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>QLineEdit</name>
@@ -3079,119 +3122,4 @@
         <translation>DPad</translation>
     </message>
 </context>
-<context>
-    <name>server</name>
-    <message>
-        <source>Not room master</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Corrupted hedgehogs info</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>too many teams</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>too many hedgehogs</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>There&apos;s already a team with same name in the list</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>round in progress</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>restricted</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>REMOVE_TEAM: no such team</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Not team owner!</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Less than two clans!</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Room with such name already exists</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Nickname already chosen</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Illegal nickname</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Protocol already known</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Bad number</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Nickname is already in use</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>No checker rights</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Authentication failed</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>60 seconds cooldown after kick</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>kicked</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Ping timeout</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>bye</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Illegal room name</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>No such room</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Joining restricted</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Registered users only</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>You are banned in this room</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Empty config entry</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
 </TS>
--- a/share/hedgewars/Data/Locale/hedgewars_de.ts	Thu Apr 04 14:37:19 2013 +0200
+++ b/share/hedgewars/Data/Locale/hedgewars_de.ts	Tue Jun 04 22:28:12 2013 +0200
@@ -99,19 +99,19 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Please give us feedback!</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>We are always happy about suggestions, ideas, or bug reports.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>If you found a bug, you can see if it&apos;s already known here (english): </source>
+        <source>Send us feedback!</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Your email address is optional, but we may want to contact you.</source>
+        <source>If you found a bug, you can see if it&apos;s already been reported here: </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Your email address is optional, but necessary if you want us to get back at you.</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
@@ -261,6 +261,18 @@
         <source>Failed to save StyleSheet to %1</source>
         <translation>Style-Sheet konnte nich nach %1 gesichert werden</translation>
     </message>
+    <message>
+        <source>%1 has joined</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>%1 has left</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>%1 has left (%2)</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>HWForm</name>
@@ -360,6 +372,10 @@
 Please wait a few seconds and try again.</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source>This page requires an internet connection.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>HWGame</name>
@@ -479,10 +495,6 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Theme: </source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>Load drawn map</source>
         <translation type="unfinished">Gezeichnete Karte laden</translation>
     </message>
@@ -498,6 +510,10 @@
         <source>Large tunnels</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source>Theme: %1</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>HWNetServersModel</name>
@@ -542,7 +558,7 @@
     </message>
     <message>
         <source>%1 *** %2 has joined</source>
-        <translation>%1 *** %2 ist beigetreten</translation>
+        <translation type="obsolete">%1 *** %2 ist beigetreten</translation>
     </message>
     <message>
         <source>%1 *** %2 has left (%3)</source>
@@ -736,6 +752,17 @@
     </message>
 </context>
 <context>
+    <name>PageDataDownload</name>
+    <message>
+        <source>Loading, please wait.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>This page requires an internet connection.</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
     <name>PageDrawMap</name>
     <message>
         <source>Undo</source>
@@ -877,6 +904,14 @@
             <numerusform>&lt;b&gt;%1&lt;/b&gt; hatte Angst und übersprang &lt;b&gt;%2&lt;/b&gt; Runden.</numerusform>
         </translation>
     </message>
+    <message>
+        <source>Play again</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Save</source>
+        <translation type="unfinished">Sichern</translation>
+    </message>
 </context>
 <context>
     <name>PageInGame</name>
@@ -904,7 +939,7 @@
     </message>
     <message>
         <source>Play a game across a network</source>
-        <translation>Spiele über ein Netwerk</translation>
+        <translation>Spiele über ein Netzwerk</translation>
     </message>
     <message>
         <source>Read about who is behind the Hedgewars Project</source>
@@ -988,6 +1023,10 @@
 <context>
     <name>PageNetServer</name>
     <message>
+        <source>Click here for details</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
         <source>Insert your address here</source>
         <translation type="unfinished"></translation>
     </message>
@@ -1982,6 +2021,10 @@
         <source>This program is distributed under the %1</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source>This setting will be effective at next restart.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>QLineEdit</name>
@@ -2111,7 +2154,7 @@
     </message>
     <message>
         <source>Netgame - Error</source>
-        <translation>Netwerkspiel - Fehler</translation>
+        <translation>Netzwerkspiel - Fehler</translation>
     </message>
     <message>
         <source>Please select a server from the list</source>
@@ -3112,119 +3155,4 @@
         <translation>Steuerkreuz</translation>
     </message>
 </context>
-<context>
-    <name>server</name>
-    <message>
-        <source>Not room master</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Corrupted hedgehogs info</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>too many teams</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>too many hedgehogs</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>There&apos;s already a team with same name in the list</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>round in progress</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>restricted</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>REMOVE_TEAM: no such team</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Not team owner!</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Less than two clans!</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Room with such name already exists</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Nickname already chosen</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Illegal nickname</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Protocol already known</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Bad number</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Nickname is already in use</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>No checker rights</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Authentication failed</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>60 seconds cooldown after kick</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>kicked</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Ping timeout</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>bye</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Illegal room name</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>No such room</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Joining restricted</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Registered users only</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>You are banned in this room</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Empty config entry</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
 </TS>
--- a/share/hedgewars/Data/Locale/hedgewars_el.ts	Thu Apr 04 14:37:19 2013 +0200
+++ b/share/hedgewars/Data/Locale/hedgewars_el.ts	Tue Jun 04 22:28:12 2013 +0200
@@ -99,19 +99,19 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Please give us feedback!</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>We are always happy about suggestions, ideas, or bug reports.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>If you found a bug, you can see if it&apos;s already known here (english): </source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Your email address is optional, but we may want to contact you.</source>
+        <source>Send us feedback!</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>If you found a bug, you can see if it&apos;s already been reported here: </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Your email address is optional, but necessary if you want us to get back at you.</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
@@ -254,6 +254,18 @@
         <source>Failed to save StyleSheet to %1</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source>%1 has joined</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>%1 has left</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>%1 has left (%2)</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>HWForm</name>
@@ -355,6 +367,10 @@
 Please wait a few seconds and try again.</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source>This page requires an internet connection.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>HWGame</name>
@@ -474,10 +490,6 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Theme: </source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>Load drawn map</source>
         <translation type="unfinished"></translation>
     </message>
@@ -493,6 +505,10 @@
         <source>Large tunnels</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source>Theme: %1</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>HWNetServersModel</name>
@@ -537,7 +553,7 @@
     </message>
     <message>
         <source>%1 *** %2 has joined</source>
-        <translation type="unfinished">%1 *** %2 εισήλθε</translation>
+        <translation type="obsolete">%1 *** %2 εισήλθε</translation>
     </message>
     <message>
         <source>%1 *** %2 has left (%3)</source>
@@ -731,6 +747,17 @@
     </message>
 </context>
 <context>
+    <name>PageDataDownload</name>
+    <message>
+        <source>Loading, please wait.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>This page requires an internet connection.</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
     <name>PageDrawMap</name>
     <message>
         <source>Eraser</source>
@@ -872,6 +899,14 @@
             <numerusform>Ο &lt;b&gt;%1&lt;/b&gt; φοβήθηκε και παραχώρησε τη σειρά του &lt;b&gt;%2&lt;/b&gt; φορές.</numerusform>
         </translation>
     </message>
+    <message>
+        <source>Play again</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Save</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>PageInGame</name>
@@ -983,6 +1018,10 @@
 <context>
     <name>PageNetServer</name>
     <message>
+        <source>Click here for details</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
         <source>Insert your address here</source>
         <translation type="unfinished"></translation>
     </message>
@@ -1971,6 +2010,10 @@
         <source>This program is distributed under the %1</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source>This setting will be effective at next restart.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>QLineEdit</name>
@@ -3073,119 +3116,4 @@
         <translation type="unfinished">DPad</translation>
     </message>
 </context>
-<context>
-    <name>server</name>
-    <message>
-        <source>Not room master</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Corrupted hedgehogs info</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>too many teams</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>too many hedgehogs</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>There&apos;s already a team with same name in the list</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>round in progress</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>restricted</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>REMOVE_TEAM: no such team</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Not team owner!</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Less than two clans!</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Room with such name already exists</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Nickname already chosen</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Illegal nickname</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Protocol already known</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Bad number</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Nickname is already in use</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>No checker rights</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Authentication failed</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>60 seconds cooldown after kick</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>kicked</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Ping timeout</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>bye</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Illegal room name</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>No such room</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Joining restricted</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Registered users only</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>You are banned in this room</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Empty config entry</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
 </TS>
--- a/share/hedgewars/Data/Locale/hedgewars_en.ts	Thu Apr 04 14:37:19 2013 +0200
+++ b/share/hedgewars/Data/Locale/hedgewars_en.ts	Tue Jun 04 22:28:12 2013 +0200
@@ -99,19 +99,19 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Please give us feedback!</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>We are always happy about suggestions, ideas, or bug reports.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>If you found a bug, you can see if it&apos;s already known here (english): </source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Your email address is optional, but we may want to contact you.</source>
+        <source>Send us feedback!</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>If you found a bug, you can see if it&apos;s already been reported here: </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Your email address is optional, but necessary if you want us to get back at you.</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
@@ -254,6 +254,18 @@
         <source>Failed to save StyleSheet to %1</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source>%1 has joined</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>%1 has left</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>%1 has left (%2)</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>HWForm</name>
@@ -353,6 +365,10 @@
 Please wait a few seconds and try again.</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source>This page requires an internet connection.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>HWGame</name>
@@ -472,10 +488,6 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Theme: </source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>Load drawn map</source>
         <translation type="unfinished"></translation>
     </message>
@@ -491,6 +503,10 @@
         <source>Large tunnels</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source>Theme: %1</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>HWNetServersModel</name>
@@ -535,7 +551,7 @@
     </message>
     <message>
         <source>%1 *** %2 has joined</source>
-        <translation>%1 *** %2 has joined</translation>
+        <translation type="obsolete">%1 *** %2 has joined</translation>
     </message>
     <message>
         <source>%1 *** %2 has left (%3)</source>
@@ -729,6 +745,17 @@
     </message>
 </context>
 <context>
+    <name>PageDataDownload</name>
+    <message>
+        <source>Loading, please wait.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>This page requires an internet connection.</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
     <name>PageDrawMap</name>
     <message>
         <source>Undo</source>
@@ -870,6 +897,14 @@
             <numerusform>&lt;b&gt;%1&lt;/b&gt; was scared and skipped turn &lt;b&gt;%2&lt;/b&gt; times.</numerusform>
         </translation>
     </message>
+    <message>
+        <source>Play again</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Save</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>PageInGame</name>
@@ -981,6 +1016,10 @@
 <context>
     <name>PageNetServer</name>
     <message>
+        <source>Click here for details</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
         <source>Insert your address here</source>
         <translation type="unfinished"></translation>
     </message>
@@ -1953,6 +1992,10 @@
         <source>This program is distributed under the %1</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source>This setting will be effective at next restart.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>QLineEdit</name>
@@ -3055,119 +3098,4 @@
         <translation type="unfinished"></translation>
     </message>
 </context>
-<context>
-    <name>server</name>
-    <message>
-        <source>Not room master</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Corrupted hedgehogs info</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>too many teams</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>too many hedgehogs</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>There&apos;s already a team with same name in the list</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>round in progress</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>restricted</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>REMOVE_TEAM: no such team</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Not team owner!</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Less than two clans!</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Room with such name already exists</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Nickname already chosen</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Illegal nickname</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Protocol already known</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Bad number</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Nickname is already in use</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>No checker rights</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Authentication failed</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>60 seconds cooldown after kick</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>kicked</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Ping timeout</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>bye</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Illegal room name</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>No such room</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Joining restricted</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Registered users only</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>You are banned in this room</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Empty config entry</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
 </TS>
--- a/share/hedgewars/Data/Locale/hedgewars_es.ts	Thu Apr 04 14:37:19 2013 +0200
+++ b/share/hedgewars/Data/Locale/hedgewars_es.ts	Tue Jun 04 22:28:12 2013 +0200
@@ -99,19 +99,19 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Please give us feedback!</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>We are always happy about suggestions, ideas, or bug reports.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>If you found a bug, you can see if it&apos;s already known here (english): </source>
+        <source>Send us feedback!</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Your email address is optional, but we may want to contact you.</source>
+        <source>If you found a bug, you can see if it&apos;s already been reported here: </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Your email address is optional, but necessary if you want us to get back at you.</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
@@ -258,6 +258,18 @@
         <source>Failed to save StyleSheet to %1</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source>%1 has joined</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>%1 has left</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>%1 has left (%2)</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>HWForm</name>
@@ -357,6 +369,10 @@
 Please wait a few seconds and try again.</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source>This page requires an internet connection.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>HWGame</name>
@@ -476,10 +492,6 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Theme: </source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>Load drawn map</source>
         <translation type="unfinished">Cargar mapa</translation>
     </message>
@@ -495,6 +507,10 @@
         <source>Large tunnels</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source>Theme: %1</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>HWNetServersModel</name>
@@ -539,7 +555,7 @@
     </message>
     <message>
         <source>%1 *** %2 has joined</source>
-        <translation>%1 *** %2 ha entrado</translation>
+        <translation type="obsolete">%1 *** %2 ha entrado</translation>
     </message>
     <message>
         <source>%1 *** %2 has left (%3)</source>
@@ -733,6 +749,17 @@
     </message>
 </context>
 <context>
+    <name>PageDataDownload</name>
+    <message>
+        <source>Loading, please wait.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>This page requires an internet connection.</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
     <name>PageDrawMap</name>
     <message>
         <source>Undo</source>
@@ -874,6 +901,14 @@
             <numerusform>&lt;b&gt;%1&lt;/b&gt; tenía demasiado miedo y pasó &lt;b&gt;%2&lt;/b&gt; turnos.</numerusform>
         </translation>
     </message>
+    <message>
+        <source>Play again</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Save</source>
+        <translation type="unfinished">Guardar</translation>
+    </message>
 </context>
 <context>
     <name>PageInGame</name>
@@ -985,6 +1020,10 @@
 <context>
     <name>PageNetServer</name>
     <message>
+        <source>Click here for details</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
         <source>Insert your address here</source>
         <translation type="unfinished"></translation>
     </message>
@@ -1973,6 +2012,10 @@
         <source>This program is distributed under the %1</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source>This setting will be effective at next restart.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>QLineEdit</name>
@@ -3075,119 +3118,4 @@
         <translation>DPad</translation>
     </message>
 </context>
-<context>
-    <name>server</name>
-    <message>
-        <source>Not room master</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Corrupted hedgehogs info</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>too many teams</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>too many hedgehogs</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>There&apos;s already a team with same name in the list</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>round in progress</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>restricted</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>REMOVE_TEAM: no such team</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Not team owner!</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Less than two clans!</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Room with such name already exists</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Nickname already chosen</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Illegal nickname</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Protocol already known</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Bad number</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Nickname is already in use</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>No checker rights</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Authentication failed</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>60 seconds cooldown after kick</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>kicked</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Ping timeout</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>bye</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Illegal room name</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>No such room</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Joining restricted</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Registered users only</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>You are banned in this room</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Empty config entry</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
 </TS>
--- a/share/hedgewars/Data/Locale/hedgewars_fi.ts	Thu Apr 04 14:37:19 2013 +0200
+++ b/share/hedgewars/Data/Locale/hedgewars_fi.ts	Tue Jun 04 22:28:12 2013 +0200
@@ -99,19 +99,19 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Please give us feedback!</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>We are always happy about suggestions, ideas, or bug reports.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>If you found a bug, you can see if it&apos;s already known here (english): </source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Your email address is optional, but we may want to contact you.</source>
+        <source>Send us feedback!</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>If you found a bug, you can see if it&apos;s already been reported here: </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Your email address is optional, but necessary if you want us to get back at you.</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
@@ -254,6 +254,18 @@
         <source>Failed to save StyleSheet to %1</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source>%1 has joined</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>%1 has left</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>%1 has left (%2)</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>HWForm</name>
@@ -353,6 +365,10 @@
 Please wait a few seconds and try again.</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source>This page requires an internet connection.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>HWGame</name>
@@ -472,10 +488,6 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Theme: </source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>Load drawn map</source>
         <translation type="unfinished"></translation>
     </message>
@@ -491,6 +503,10 @@
         <source>Large tunnels</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source>Theme: %1</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>HWNetServersModel</name>
@@ -535,7 +551,7 @@
     </message>
     <message>
         <source>%1 *** %2 has joined</source>
-        <translation>%1 *** %2 liittyi</translation>
+        <translation type="obsolete">%1 *** %2 liittyi</translation>
     </message>
     <message>
         <source>%1 *** %2 has left</source>
@@ -729,6 +745,17 @@
     </message>
 </context>
 <context>
+    <name>PageDataDownload</name>
+    <message>
+        <source>Loading, please wait.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>This page requires an internet connection.</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
     <name>PageDrawMap</name>
     <message>
         <source>Undo</source>
@@ -870,6 +897,14 @@
             <numerusform></numerusform>
         </translation>
     </message>
+    <message>
+        <source>Play again</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Save</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>PageInGame</name>
@@ -981,6 +1016,10 @@
 <context>
     <name>PageNetServer</name>
     <message>
+        <source>Click here for details</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
         <source>Insert your address here</source>
         <translation type="unfinished"></translation>
     </message>
@@ -1969,6 +2008,10 @@
         <source>This program is distributed under the %1</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source>This setting will be effective at next restart.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>QLineEdit</name>
@@ -3071,119 +3114,4 @@
         <translation>Hiiri: Vasen nappi</translation>
     </message>
 </context>
-<context>
-    <name>server</name>
-    <message>
-        <source>Not room master</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Corrupted hedgehogs info</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>too many teams</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>too many hedgehogs</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>There&apos;s already a team with same name in the list</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>round in progress</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>restricted</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>REMOVE_TEAM: no such team</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Not team owner!</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Less than two clans!</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Room with such name already exists</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Nickname already chosen</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Illegal nickname</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Protocol already known</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Bad number</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Nickname is already in use</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>No checker rights</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Authentication failed</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>60 seconds cooldown after kick</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>kicked</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Ping timeout</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>bye</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Illegal room name</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>No such room</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Joining restricted</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Registered users only</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>You are banned in this room</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Empty config entry</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
 </TS>
--- a/share/hedgewars/Data/Locale/hedgewars_fr.ts	Thu Apr 04 14:37:19 2013 +0200
+++ b/share/hedgewars/Data/Locale/hedgewars_fr.ts	Tue Jun 04 22:28:12 2013 +0200
@@ -5,14 +5,14 @@
     <name>About</name>
     <message>
         <source>Unknown Compiler</source>
-        <translation type="unfinished"></translation>
+        <translation>Compilateur inconnu</translation>
     </message>
 </context>
 <context>
     <name>AbstractPage</name>
     <message>
         <source>Go back</source>
-        <translation type="unfinished"></translation>
+        <translation>Retour</translation>
     </message>
 </context>
 <context>
@@ -30,88 +30,100 @@
     <name>BanDialog</name>
     <message>
         <source>IP</source>
-        <translation type="unfinished">IP</translation>
+        <translation>IP</translation>
     </message>
     <message>
         <source>Nick</source>
-        <translation type="unfinished"></translation>
+        <translation>Pseudo</translation>
     </message>
     <message>
         <source>IP/Nick</source>
-        <translation type="unfinished"></translation>
+        <translation>IP/Pseudo</translation>
     </message>
     <message>
         <source>Reason</source>
-        <translation type="unfinished"></translation>
+        <translation>Raison</translation>
     </message>
     <message>
         <source>Duration</source>
-        <translation type="unfinished"></translation>
+        <translation>Durée</translation>
     </message>
     <message>
         <source>Ok</source>
-        <translation type="unfinished"></translation>
+        <translation>Ok</translation>
     </message>
     <message>
         <source>Cancel</source>
-        <translation type="unfinished">Annuler</translation>
+        <translation>Annuler</translation>
     </message>
     <message>
         <source>you know why</source>
-        <translation type="unfinished"></translation>
+        <translation>Tu sait très bien pourquoi</translation>
     </message>
     <message>
         <source>Warning</source>
-        <translation type="unfinished"></translation>
+        <translation>Attention</translation>
     </message>
     <message>
         <source>Please, specify %1</source>
-        <translation type="unfinished"></translation>
+        <translation>Veuillez spécifier %1</translation>
     </message>
     <message>
         <source>nickname</source>
-        <translation type="unfinished"></translation>
+        <translation>Pseudo</translation>
     </message>
     <message>
         <source>permanent</source>
-        <translation type="unfinished"></translation>
+        <translation>Permanent</translation>
     </message>
 </context>
 <context>
     <name>DataManager</name>
     <message>
         <source>Use Default</source>
-        <translation type="unfinished"></translation>
+        <translation>Par défaut</translation>
     </message>
 </context>
 <context>
     <name>FeedbackDialog</name>
     <message>
         <source>View</source>
-        <translation type="unfinished"></translation>
+        <translation>Voir</translation>
     </message>
     <message>
         <source>Cancel</source>
-        <translation type="unfinished">Annuler</translation>
+        <translation>Annuler</translation>
     </message>
     <message>
         <source>Send Feedback</source>
-        <translation type="unfinished"></translation>
+        <translation>Envoyez</translation>
     </message>
     <message>
         <source>Please give us feedback!</source>
-        <translation type="unfinished"></translation>
+        <translation type="obsolete">Nous avons besoin de votre avis!</translation>
     </message>
     <message>
         <source>We are always happy about suggestions, ideas, or bug reports.</source>
-        <translation type="unfinished"></translation>
+        <translation>Toutes suggestions, idées ou rapport de bug sont les bienvenus</translation>
     </message>
     <message>
         <source>If you found a bug, you can see if it&apos;s already known here (english): </source>
-        <translation type="unfinished"></translation>
+        <translation type="obsolete">Si vous trouvez un bug, vous pouvez vérifier si il est déjà connu ici (anglais): </translation>
     </message>
     <message>
         <source>Your email address is optional, but we may want to contact you.</source>
+        <translation type="obsolete">Votre adresse email est optionelle, mais il est possible que nous essayons de vous contacter.</translation>
+    </message>
+    <message>
+        <source>Send us feedback!</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>If you found a bug, you can see if it&apos;s already been reported here: </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Your email address is optional, but necessary if you want us to get back at you.</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
@@ -137,121 +149,136 @@
     </message>
     <message>
         <source>Edit schemes</source>
-        <translation>Éditer les paramètres</translation>
+        <translation>Éditer les règles</translation>
     </message>
     <message>
         <source>Game scheme will auto-select a weapon</source>
-        <translation type="unfinished"></translation>
+        <translation>La règle choisis va choisir automatiquement les armes</translation>
     </message>
     <message>
         <source>Map</source>
-        <translation type="unfinished">Carte</translation>
+        <translation>Carte</translation>
     </message>
     <message>
         <source>Game options</source>
-        <translation type="unfinished"></translation>
+        <translation>Option de jeu</translation>
     </message>
 </context>
 <context>
     <name>HWApplication</name>
     <message numerus="yes">
         <source>%1 minutes</source>
-        <translation type="unfinished">
-            <numerusform></numerusform>
-            <numerusform></numerusform>
+        <translation>
+            <numerusform>%1 minute</numerusform>
+            <numerusform>%1 minutes</numerusform>
         </translation>
     </message>
     <message numerus="yes">
         <source>%1 hour</source>
-        <translation type="unfinished">
-            <numerusform></numerusform>
-            <numerusform></numerusform>
+        <translation>
+            <numerusform>%1 heure</numerusform>
+            <numerusform>%1 heures</numerusform>
         </translation>
     </message>
     <message numerus="yes">
         <source>%1 hours</source>
-        <translation type="unfinished">
-            <numerusform></numerusform>
-            <numerusform></numerusform>
+        <translation>
+            <numerusform>%1 heure</numerusform>
+            <numerusform>%1 heures</numerusform>
         </translation>
     </message>
     <message numerus="yes">
         <source>%1 day</source>
-        <translation type="unfinished">
-            <numerusform></numerusform>
-            <numerusform></numerusform>
+        <translation>
+            <numerusform>%1 jour</numerusform>
+            <numerusform>%1 jours</numerusform>
         </translation>
     </message>
     <message numerus="yes">
         <source>%1 days</source>
-        <translation type="unfinished">
-            <numerusform></numerusform>
-            <numerusform></numerusform>
+        <translation>
+            <numerusform>%1 jour</numerusform>
+            <numerusform>%1 jours</numerusform>
         </translation>
     </message>
     <message>
         <source>Scheme &apos;%1&apos; not supported</source>
-        <translation type="unfinished"></translation>
+        <translation>Règle incomprise</translation>
     </message>
     <message>
         <source>Cannot create directory %1</source>
-        <translation type="unfinished">Impossible de créer le dossier %1</translation>
+        <translation>Impossible de créer le dossier %1</translation>
     </message>
     <message>
         <source>Failed to open data directory:
 %1
 
 Please check your installation!</source>
-        <translation type="unfinished"></translation>
+        <translation>Impossible de trouver les fichiers:
+%1
+
+Veuillez verifier que votre jeu est installé correctement!</translation>
     </message>
 </context>
 <context>
     <name>HWAskQuitDialog</name>
     <message>
         <source>Do you really want to quit?</source>
-        <translation type="unfinished"></translation>
+        <translation>Êtes-vous sûr de vouloir quitter ?</translation>
     </message>
 </context>
 <context>
     <name>HWChatWidget</name>
     <message>
         <source>%1 has been removed from your ignore list</source>
-        <translation type="unfinished"></translation>
+        <translation>%1 a été retiré de votre liste noire</translation>
     </message>
     <message>
         <source>%1 has been added to your ignore list</source>
-        <translation type="unfinished"></translation>
+        <translation>%1 a été ajouté à votre liste noire</translation>
     </message>
     <message>
         <source>%1 has been removed from your friends list</source>
-        <translation type="unfinished"></translation>
+        <translation>%1 a été retiré de votre liste d&apos;amis</translation>
     </message>
     <message>
         <source>%1 has been added to your friends list</source>
-        <translation type="unfinished"></translation>
+        <translation>%1 a été ajouté à votre liste d&apos;amis</translation>
     </message>
     <message>
         <source>Stylesheet imported from %1</source>
-        <translation type="unfinished"></translation>
+        <translation>Feuille de style (Stylesheet) importée de %1</translation>
     </message>
     <message>
         <source>Enter %1 if you want to use the current StyleSheet in future, enter %2 to reset!</source>
-        <translation type="unfinished"></translation>
+        <translation>Entrez %1 si vous voulez utiliser cette Feuille de style (Stylesheet) à l&apos;avenir, entrez %2 pour rétablir l&apos;ancienne apparence!</translation>
     </message>
     <message>
         <source>Couldn&apos;t read %1</source>
-        <translation type="unfinished"></translation>
+        <translation>Impossible de lire %1</translation>
     </message>
     <message>
         <source>StyleSheet discarded</source>
-        <translation type="unfinished"></translation>
+        <translation>Feuille de style (Stylesheet) effacée</translation>
     </message>
     <message>
         <source>StyleSheet saved to %1</source>
-        <translation type="unfinished"></translation>
+        <translation>Feuille de style (Stylesheet) enregistrée dans %1</translation>
     </message>
     <message>
         <source>Failed to save StyleSheet to %1</source>
+        <translation>Impossible d&apos;enregistrer la feuille de style (Stylesheet) dans %1</translation>
+    </message>
+    <message>
+        <source>%1 has joined</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>%1 has left</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>%1 has left (%2)</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
@@ -259,7 +286,7 @@
     <name>HWForm</name>
     <message>
         <source>Cannot save record to file %1</source>
-        <translation>Impossible de sauvegarder la partie dans le fichier %1</translation>
+        <translation>Impossible de sauvegarder l&apos;enregistrement dans le fichier %1</translation>
     </message>
     <message>
         <source>DefaultTeam</source>
@@ -268,7 +295,7 @@
     <message>
         <source>Hedgewars Demo File</source>
         <comment>File Types</comment>
-        <translation>Fichier de démonstration d&apos;Hedgewars</translation>
+        <translation>Fichier de demo d&apos;Hedgewars</translation>
     </message>
     <message>
         <source>Hedgewars Save File</source>
@@ -277,36 +304,37 @@
     </message>
     <message>
         <source>Demo name</source>
-        <translation type="unfinished"></translation>
+        <translation>Nom de la Demo</translation>
     </message>
     <message>
         <source>Demo name:</source>
-        <translation type="unfinished"></translation>
+        <translation>Nom de la Demo:</translation>
     </message>
     <message>
         <source>Game aborted</source>
-        <translation type="unfinished"></translation>
+        <translation>Abandon de la partie</translation>
     </message>
     <message>
         <source>Nickname</source>
-        <translation type="unfinished">Pseudo</translation>
+        <translation>Pseudo</translation>
     </message>
     <message>
         <source>No nickname supplied.</source>
-        <translation type="unfinished"></translation>
+        <translation>Aucun pseudo renseigné.</translation>
     </message>
     <message>
         <source>Someone already uses your nickname %1 on the server.
 Please pick another nickname:</source>
-        <translation type="unfinished"></translation>
+        <translation>Quelqu&apos;un utilise déjà le pseudo %1 sur le serveur
+Veuillez choisir un autre pseudo:</translation>
     </message>
     <message>
         <source>%1&apos;s Team</source>
-        <translation type="unfinished"></translation>
+        <translation>Equipe de %1</translation>
     </message>
     <message>
         <source>Hedgewars - Nick registered</source>
-        <translation type="unfinished"></translation>
+        <translation>Hedgewars - Pseudo enregistré</translation>
     </message>
     <message>
         <source>This nick is registered, and you haven&apos;t specified a password.
@@ -314,43 +342,56 @@
 If this nick isn&apos;t yours, please register your own nick at www.hedgewars.org
 
 Password:</source>
-        <translation type="unfinished"></translation>
+        <translation>Ce pseudo est enregistré, vous n&apos;avez spécifié aucun mot de passe.
+	
+Si ce pseudo n&apos;est pas le votre, veuillez enregistrer votre propre pseudo sur www.hedgewars.org
+
+Mot de passe:</translation>
     </message>
     <message>
         <source>Your nickname is not registered.
 To prevent someone else from using it,
 please register it at www.hedgewars.org</source>
-        <translation type="unfinished"></translation>
+        <translation>Votre pseudo n&apos;est pas enregistré.
+Pour éviter que d&apos;autre joueurs l&apos;utilisent,
+veuillez l&apos;enregistrer sur www.hedgewars.org</translation>
     </message>
     <message>
         <source>
 
 Your password wasn&apos;t saved either.</source>
-        <translation type="unfinished"></translation>
+        <translation>
+		
+Votre mot de passe non plus n&apos;a pas été sauvegardé.</translation>
     </message>
     <message>
         <source>Hedgewars - Empty nickname</source>
-        <translation type="unfinished"></translation>
+        <translation>Hedgewars - Pseudo vide</translation>
     </message>
     <message>
         <source>Hedgewars - Wrong password</source>
-        <translation type="unfinished"></translation>
+        <translation>Hedgewars - Mauvais mot de passe</translation>
     </message>
     <message>
         <source>You entered a wrong password.</source>
-        <translation type="unfinished"></translation>
+        <translation>Le mot de passe que vous avez entré est incorrect</translation>
     </message>
     <message>
         <source>Try Again</source>
-        <translation type="unfinished"></translation>
+        <translation>Réessayez</translation>
     </message>
     <message>
         <source>Hedgewars - Connection error</source>
-        <translation type="unfinished"></translation>
+        <translation>Hedgewars - Erreur de connexion</translation>
     </message>
     <message>
         <source>You reconnected too fast.
 Please wait a few seconds and try again.</source>
+        <translation>Vous vous êtes reconnecté trop rapidement.
+Attendez quelques secondes et réessayez.</translation>
+    </message>
+    <message>
+        <source>This page requires an internet connection.</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
@@ -362,7 +403,7 @@
     </message>
     <message>
         <source>Cannot open demofile %1</source>
-        <translation>Erreur lors de l&apos;ouverture du fichier de démonstration %1</translation>
+        <translation>Erreur lors de l&apos;ouverture du fichier de demo %1</translation>
     </message>
 </context>
 <context>
@@ -405,90 +446,94 @@
     </message>
     <message>
         <source>Map type:</source>
-        <translation type="unfinished"></translation>
+        <translation>Type de carte:</translation>
     </message>
     <message>
         <source>Image map</source>
-        <translation type="unfinished"></translation>
+        <translation>Image de la carte</translation>
     </message>
     <message>
         <source>Mission map</source>
-        <translation type="unfinished"></translation>
+        <translation>Carte avec mission</translation>
     </message>
     <message>
         <source>Hand-drawn</source>
-        <translation type="unfinished"></translation>
+        <translation>Dessinée</translation>
     </message>
     <message>
         <source>Randomly generated</source>
-        <translation type="unfinished"></translation>
+        <translation>Générée aléatoirement</translation>
     </message>
     <message>
         <source>Random maze</source>
-        <translation type="unfinished"></translation>
+        <translation>Labyrinthe généré aléatoirement</translation>
     </message>
     <message>
         <source>Random</source>
-        <translation type="unfinished">Aléatoire</translation>
+        <translation>Aléatoire</translation>
     </message>
     <message>
         <source>Map preview:</source>
-        <translation type="unfinished"></translation>
+        <translation>Apperçu de la carte</translation>
     </message>
     <message>
         <source>Load map drawing</source>
-        <translation type="unfinished"></translation>
+        <translation>Charger un dessin</translation>
     </message>
     <message>
         <source>Edit map drawing</source>
-        <translation type="unfinished"></translation>
+        <translation>Editer un dessin</translation>
     </message>
     <message>
         <source>Small islands</source>
-        <translation type="unfinished"></translation>
+        <translation>Petites îles</translation>
     </message>
     <message>
         <source>Medium islands</source>
-        <translation type="unfinished"></translation>
+        <translation>Moyennes îles</translation>
     </message>
     <message>
         <source>Large islands</source>
-        <translation type="unfinished"></translation>
+        <translation>Grandes îles</translation>
     </message>
     <message>
         <source>Map size:</source>
-        <translation type="unfinished"></translation>
+        <translation>Taille de la carte</translation>
     </message>
     <message>
         <source>Maze style:</source>
-        <translation type="unfinished"></translation>
+        <translation>Style du labyrinthe</translation>
     </message>
     <message>
         <source>Mission:</source>
-        <translation type="unfinished"></translation>
+        <translation>Mission</translation>
     </message>
     <message>
         <source>Map:</source>
-        <translation type="unfinished"></translation>
+        <translation>Carte:</translation>
     </message>
     <message>
         <source>Theme: </source>
-        <translation type="unfinished"></translation>
+        <translation type="obsolete">Theme: </translation>
     </message>
     <message>
         <source>Load drawn map</source>
-        <translation type="unfinished">Charger une carte dessinée</translation>
+        <translation>Charger une carte dessinée</translation>
     </message>
     <message>
         <source>Drawn Maps</source>
-        <translation type="unfinished"></translation>
+        <translation>Cartes dessinées</translation>
     </message>
     <message>
         <source>All files</source>
-        <translation type="unfinished"></translation>
+        <translation>Tout les fichiers</translation>
     </message>
     <message>
         <source>Large tunnels</source>
+        <translation>Grands tunnels</translation>
+    </message>
+    <message>
+        <source>Theme: %1</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
@@ -523,7 +568,7 @@
     </message>
     <message>
         <source>Room destroyed</source>
-        <translation>Salon fermé</translation>
+        <translation>Room fermée</translation>
     </message>
     <message>
         <source>You got kicked</source>
@@ -531,11 +576,11 @@
     </message>
     <message>
         <source>%1 *** %2 has joined the room</source>
-        <translation>%1 *** %2 a rejoint la salle</translation>
+        <translation>%1 *** %2 a rejoint la room</translation>
     </message>
     <message>
         <source>%1 *** %2 has joined</source>
-        <translation>%1 *** %2 vient d&apos;arriver</translation>
+        <translation type="obsolete">%1 *** %2 vient d&apos;arriver</translation>
     </message>
     <message>
         <source>%1 *** %2 has left (%3)</source>
@@ -547,84 +592,86 @@
     </message>
     <message>
         <source>User quit</source>
-        <translation type="unfinished"></translation>
+        <translation>S&apos;est déconnecté</translation>
     </message>
     <message>
         <source>Remote host has closed connection</source>
-        <translation type="unfinished"></translation>
+        <translation>Le serveur à fermé la connection</translation>
     </message>
     <message>
         <source>The server is too old. Disconnecting now.</source>
-        <translation type="unfinished"></translation>
+        <translation>La version du serveur n&apos;est pas à jour. Déconnexion.</translation>
     </message>
 </context>
 <context>
     <name>HWPasswordDialog</name>
     <message>
         <source>Login</source>
-        <translation type="unfinished"></translation>
+        <translation>Connexion</translation>
     </message>
     <message>
         <source>To connect to the server, please log in.
 
 If you don&apos;t have an account on www.hedgewars.org,
 just enter your nickname.</source>
-        <translation type="unfinished"></translation>
+        <translation>Pour vous connecter sur le serveur, veuillez entrer vos identifiants.
+Si vous n&apos;avez pas de compte sur www.hedgewars.org,
+entrez juste votre pseudo.</translation>
     </message>
     <message>
         <source>Nickname:</source>
-        <translation type="unfinished"></translation>
+        <translation>Pseudo</translation>
     </message>
     <message>
         <source>Password:</source>
-        <translation type="unfinished"></translation>
+        <translation>Mot de passe</translation>
     </message>
 </context>
 <context>
     <name>HWUploadVideoDialog</name>
     <message>
         <source>Upload video</source>
-        <translation type="unfinished"></translation>
+        <translation>Importer une vidéo </translation>
     </message>
     <message>
         <source>Upload</source>
-        <translation type="unfinished"></translation>
+        <translation>Importer</translation>
     </message>
 </context>
 <context>
     <name>HatButton</name>
     <message>
         <source>Change hat (%1)</source>
-        <translation type="unfinished"></translation>
+        <translation>Changer de chapeau (%1)</translation>
     </message>
 </context>
 <context>
     <name>HatPrompt</name>
     <message>
         <source>Cancel</source>
-        <translation type="unfinished">Annuler</translation>
+        <translation>Annuler</translation>
     </message>
     <message>
         <source>Use selected hat</source>
-        <translation type="unfinished"></translation>
+        <translation>Mettre le chapeau sélectionné</translation>
     </message>
     <message>
         <source>Search for a hat:</source>
-        <translation type="unfinished"></translation>
+        <translation>Chercher un chapeau:</translation>
     </message>
 </context>
 <context>
     <name>KB</name>
     <message>
         <source>SDL_ttf returned error while rendering text, most propably it is related to the bug in freetype2. It&apos;s recommended to update your freetype lib.</source>
-        <translation>SDL_ttf a retourné une erreur pendant l&apos;affichage du texte, cela est sûrement causé par le bogue de freetype2. Il est recommandé de mettre à jour la librairie freetype.</translation>
+        <translation>SDL_ttf a renvoyé une erreur pendant l&apos;affichage du texte, cela est sûrement causé par le bug de freetype2. Il est recommandé de mettre à jour la librairie freetype.</translation>
     </message>
 </context>
 <context>
     <name>KeyBinder</name>
     <message>
         <source>Category</source>
-        <translation type="unfinished"></translation>
+        <translation>Catégorie</translation>
     </message>
 </context>
 <context>
@@ -632,30 +679,30 @@
     <message>
         <source>Duration: %1m %2s
 </source>
-        <translation type="unfinished"></translation>
+        <translation>Durée: %1m %2s</translation>
     </message>
     <message>
         <source>Video: %1x%2, </source>
-        <translation type="unfinished"></translation>
+        <translation>Vidéo: %1x%2</translation>
     </message>
     <message>
         <source>%1 fps, </source>
-        <translation type="unfinished"></translation>
+        <translation>%1 fps, </translation>
     </message>
     <message>
         <source>Audio: </source>
-        <translation type="unfinished"></translation>
+        <translation>Audio: </translation>
     </message>
     <message>
         <source>unknown</source>
-        <translation type="unfinished"></translation>
+        <translation>inconnu</translation>
     </message>
 </context>
 <context>
     <name>MapModel</name>
     <message>
         <source>No description available.</source>
-        <translation type="unfinished"></translation>
+        <translation>Aucune description disponible.</translation>
     </message>
 </context>
 <context>
@@ -690,42 +737,53 @@
     </message>
     <message>
         <source>General</source>
-        <translation type="unfinished">Général</translation>
+        <translation>Général</translation>
     </message>
     <message>
         <source>Bans</source>
-        <translation type="unfinished"></translation>
+        <translation>Bans</translation>
     </message>
     <message>
         <source>IP/Nick</source>
-        <translation type="unfinished"></translation>
+        <translation>IP/Pseudo</translation>
     </message>
     <message>
         <source>Expiration</source>
-        <translation type="unfinished"></translation>
+        <translation>Durée</translation>
     </message>
     <message>
         <source>Reason</source>
-        <translation type="unfinished"></translation>
+        <translation>Raison</translation>
     </message>
     <message>
         <source>Refresh</source>
-        <translation type="unfinished"></translation>
+        <translation>Rafraichir</translation>
     </message>
     <message>
         <source>Add</source>
-        <translation type="unfinished"></translation>
+        <translation>Ajouter</translation>
     </message>
     <message>
         <source>Remove</source>
-        <translation type="unfinished"></translation>
+        <translation>Supprimer</translation>
     </message>
 </context>
 <context>
     <name>PageConnecting</name>
     <message>
         <source>Connecting...</source>
-        <translation>En connexion...</translation>
+        <translation>Connexion...</translation>
+    </message>
+</context>
+<context>
+    <name>PageDataDownload</name>
+    <message>
+        <source>Loading, please wait.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>This page requires an internet connection.</source>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
@@ -756,15 +814,15 @@
     </message>
     <message>
         <source>Drawn Maps</source>
-        <translation type="unfinished"></translation>
+        <translation>Cartes dessinées</translation>
     </message>
     <message>
         <source>All files</source>
-        <translation type="unfinished"></translation>
+        <translation>Tout les fichiers</translation>
     </message>
     <message>
         <source>Eraser</source>
-        <translation type="unfinished"></translation>
+        <translation>Gomme</translation>
     </message>
 </context>
 <context>
@@ -775,39 +833,39 @@
     </message>
     <message>
         <source>Select an action to choose a custom key bind for this team</source>
-        <translation type="unfinished"></translation>
+        <translation>Choisissez une action afin d&apos;y attribuer une touche pour cette équipe</translation>
     </message>
     <message>
         <source>Use my default</source>
-        <translation type="unfinished"></translation>
+        <translation>Touche par defaut</translation>
     </message>
     <message>
         <source>Reset all binds</source>
-        <translation type="unfinished"></translation>
+        <translation>Reinitialiser toutes les touches</translation>
     </message>
     <message>
         <source>Custom Controls</source>
-        <translation type="unfinished"></translation>
+        <translation>Préferences de commandes</translation>
     </message>
     <message>
         <source>Hat</source>
-        <translation type="unfinished">Chapeau</translation>
+        <translation>Chapeau</translation>
     </message>
     <message>
         <source>Name</source>
-        <translation type="unfinished">Nom</translation>
+        <translation>Nom</translation>
     </message>
     <message>
         <source>This hedgehog&apos;s name</source>
-        <translation type="unfinished"></translation>
+        <translation>Le nom de ce herisson</translation>
     </message>
     <message>
         <source>Randomize this hedgehog&apos;s name</source>
-        <translation type="unfinished"></translation>
+        <translation>Choisis un nom aléatoire pour ce herisson</translation>
     </message>
     <message>
         <source>Random Team</source>
-        <translation type="unfinished">Équipes aléatoires</translation>
+        <translation>Équipes aléatoires</translation>
     </message>
 </context>
 <context>
@@ -818,7 +876,7 @@
     </message>
     <message>
         <source>Health graph</source>
-        <translation>Courbes de santé-</translation>
+        <translation>Courbes de santé:</translation>
     </message>
     <message>
         <source>Ranking</source>
@@ -844,8 +902,8 @@
     </message>
     <message numerus="yes">
         <source>(%1 kill)</source>
-        <translation type="unfinished">
-            <numerusform>(%1 tue)</numerusform>
+        <translation>
+            <numerusform>(%1 tué)</numerusform>
             <numerusform></numerusform>
         </translation>
     </message>
@@ -870,78 +928,86 @@
             <numerusform></numerusform>
         </translation>
     </message>
+    <message>
+        <source>Play again</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Save</source>
+        <translation type="unfinished">Enregistrer</translation>
+    </message>
 </context>
 <context>
     <name>PageInGame</name>
     <message>
         <source>In game...</source>
-        <translation type="unfinished"></translation>
+        <translation>En jeu...</translation>
     </message>
 </context>
 <context>
     <name>PageInfo</name>
     <message>
         <source>Open the snapshot folder</source>
-        <translation type="unfinished"></translation>
+        <translation>Ouvrir le dossier de captures d&apos;écran</translation>
     </message>
 </context>
 <context>
     <name>PageMain</name>
     <message>
         <source>Downloadable Content</source>
-        <translation type="unfinished"></translation>
+        <translation>Contenu téléchargeable</translation>
     </message>
     <message>
         <source>Play a game on a single computer</source>
-        <translation type="unfinished"></translation>
+        <translation>Jouer une partie en solo</translation>
     </message>
     <message>
         <source>Play a game across a network</source>
-        <translation type="unfinished"></translation>
+        <translation>Jouer en ligne</translation>
     </message>
     <message>
         <source>Read about who is behind the Hedgewars Project</source>
-        <translation type="unfinished"></translation>
+        <translation>A propos de ceux qui sont derrière le projet Hedgewars</translation>
     </message>
     <message>
         <source>Leave a feedback here reporting issues, suggesting features or just saying how you like Hedgewars</source>
-        <translation type="unfinished"></translation>
+        <translation>Donnez-nous votre avis, signalez un bug, déposez vos idées, ou dites nous juste à quel point vous aimez Hedgewars</translation>
     </message>
     <message>
         <source>Access the user created content downloadable from our website</source>
-        <translation type="unfinished"></translation>
+        <translation>Acces au contenu téléchargeable créé par les joueurs, disponible sur notre site</translation>
     </message>
     <message>
         <source>Exit game</source>
-        <translation type="unfinished"></translation>
+        <translation>Quitter le jeu</translation>
     </message>
     <message>
         <source>Manage videos recorded from game</source>
-        <translation type="unfinished"></translation>
+        <translation>Gérer les vidéos de parties enregistrées</translation>
     </message>
     <message>
         <source>Edit game preferences</source>
-        <translation type="unfinished"></translation>
+        <translation>Editer vos préférences de jeu</translation>
     </message>
     <message>
         <source>Play a game across a local area network</source>
-        <translation type="unfinished"></translation>
+        <translation>Jouer une partie en réseau local</translation>
     </message>
     <message>
         <source>Play a game on an official server</source>
-        <translation type="unfinished"></translation>
+        <translation>Jouer une partie sur un serveur officiel</translation>
     </message>
     <message>
         <source>Feedback</source>
-        <translation type="unfinished"></translation>
+        <translation>Contact</translation>
     </message>
     <message>
         <source>Play local network game</source>
-        <translation type="unfinished"></translation>
+        <translation>Jouer en réseau local</translation>
     </message>
     <message>
         <source>Play official network game</source>
-        <translation type="unfinished"></translation>
+        <translation>Jouer sur le réseau officiel</translation>
     </message>
 </context>
 <context>
@@ -952,7 +1018,7 @@
     </message>
     <message>
         <source>Edit game preferences</source>
-        <translation type="unfinished"></translation>
+        <translation>Editer les préférences de jeu</translation>
     </message>
 </context>
 <context>
@@ -963,26 +1029,30 @@
     </message>
     <message>
         <source>Edit game preferences</source>
-        <translation type="unfinished"></translation>
+        <translation>Editer les préférences de jeu</translation>
     </message>
     <message>
         <source>Start</source>
-        <translation type="unfinished">Démarrer</translation>
+        <translation>Démarrer</translation>
     </message>
     <message>
         <source>Update</source>
-        <translation type="unfinished">Mise à jour</translation>
+        <translation>Mise à jour</translation>
     </message>
     <message>
         <source>Room controls</source>
-        <translation type="unfinished"></translation>
+        <translation>Contrôle de la room</translation>
     </message>
 </context>
 <context>
     <name>PageNetServer</name>
     <message>
+        <source>Click here for details</source>
+        <translation>Clique pour plus de détails</translation>
+    </message>
+    <message>
         <source>Insert your address here</source>
-        <translation type="unfinished"></translation>
+        <translation>Insert ton adresse ici</translation>
     </message>
 </context>
 <context>
@@ -1001,19 +1071,19 @@
     </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>Vous ne pouvez pas modifier d&apos;équipe depuis la sélection d&apos;équipes. Retournez au manu principal pour ajouter, modifier ou supprimer des équipes.</translation>
+        <translation>Vous ne pouvez pas modifier d&apos;équipe depuis la sélection d&apos;équipes. Retournez au menu principal pour ajouter, modifier ou supprimer des équipes.</translation>
     </message>
     <message>
         <source>New scheme</source>
-        <translation>Nouveaux paramètres</translation>
+        <translation>Nouvelle règle</translation>
     </message>
     <message>
         <source>Edit scheme</source>
-        <translation>Modifier paramètres</translation>
+        <translation>Modifier règles</translation>
     </message>
     <message>
         <source>Delete scheme</source>
-        <translation>Supprimer paramètres</translation>
+        <translation>Supprimer règles</translation>
     </message>
     <message>
         <source>New weapon set</source>
@@ -1029,11 +1099,11 @@
     </message>
     <message>
         <source>Advanced</source>
-        <translation type="unfinished">Avancé</translation>
+        <translation>Avancé</translation>
     </message>
     <message>
         <source>Reset to default colors</source>
-        <translation type="unfinished"></translation>
+        <translation>Remettre les couleurs de départ</translation>
     </message>
     <message>
         <source>Proxy host</source>
@@ -1053,7 +1123,7 @@
     </message>
     <message>
         <source>No proxy</source>
-        <translation type="unfinished"></translation>
+        <translation>Pas de proxy</translation>
     </message>
     <message>
         <source>Socks5 proxy</source>
@@ -1069,71 +1139,71 @@
     </message>
     <message>
         <source>Select an action to change what key controls it</source>
-        <translation type="unfinished"></translation>
+        <translation>Choisissez une action afin d&apos;y attribuer une touche</translation>
     </message>
     <message>
         <source>Reset to default</source>
-        <translation type="unfinished"></translation>
+        <translation>Par défaut</translation>
     </message>
     <message>
         <source>Reset all binds</source>
-        <translation type="unfinished"></translation>
+        <translation>Remettre les touches par défaut</translation>
     </message>
     <message>
         <source>Game</source>
-        <translation type="unfinished"></translation>
+        <translation>Jeu</translation>
     </message>
     <message>
         <source>Graphics</source>
-        <translation type="unfinished"></translation>
+        <translation>Graphismes</translation>
     </message>
     <message>
         <source>Audio</source>
-        <translation type="unfinished"></translation>
+        <translation>Audio</translation>
     </message>
     <message>
         <source>Controls</source>
-        <translation type="unfinished"></translation>
+        <translation>Contrôles</translation>
     </message>
     <message>
         <source>Video Recording</source>
-        <translation type="unfinished"></translation>
+        <translation>Enregistrement vidéo</translation>
     </message>
     <message>
         <source>Network</source>
-        <translation type="unfinished"></translation>
+        <translation>Réseau</translation>
     </message>
     <message>
         <source>Teams</source>
-        <translation type="unfinished">Équipes</translation>
+        <translation>Équipes</translation>
     </message>
     <message>
         <source>Schemes</source>
-        <translation type="unfinished"></translation>
+        <translation>Règles</translation>
     </message>
     <message>
         <source>Weapons</source>
-        <translation type="unfinished">Armes</translation>
+        <translation>Armes</translation>
     </message>
     <message>
         <source>Frontend</source>
-        <translation type="unfinished"></translation>
+        <translation>Interface</translation>
     </message>
     <message>
         <source>Custom colors</source>
-        <translation type="unfinished"></translation>
+        <translation>Couleurs personalisées</translation>
     </message>
     <message>
         <source>Game audio</source>
-        <translation type="unfinished"></translation>
+        <translation>Son du jeu</translation>
     </message>
     <message>
         <source>Frontend audio</source>
-        <translation type="unfinished"></translation>
+        <translation>Son de l&apos;interface</translation>
     </message>
     <message>
         <source>Account</source>
-        <translation type="unfinished"></translation>
+        <translation>Compte</translation>
     </message>
     <message>
         <source>Proxy settings</source>
@@ -1141,26 +1211,26 @@
     </message>
     <message>
         <source>Miscellaneous</source>
-        <translation type="unfinished"></translation>
+        <translation>Autre</translation>
     </message>
     <message>
         <source>Updates</source>
-        <translation type="unfinished"></translation>
+        <translation>Mises à jour</translation>
     </message>
     <message>
         <source>Check for updates</source>
-        <translation type="unfinished"></translation>
+        <translation>Vérifier les mises à jours</translation>
     </message>
     <message>
         <source>Video recording options</source>
-        <translation type="unfinished"></translation>
+        <translation>Option d&apos;enregistrement vidéo</translation>
     </message>
 </context>
 <context>
     <name>PagePlayDemo</name>
     <message>
         <source>Rename dialog</source>
-        <translation>Boîte de dialogue de renommage</translation>
+        <translation>Renommer</translation>
     </message>
     <message>
         <source>Enter new file name:</source>
@@ -1183,7 +1253,7 @@
     </message>
     <message>
         <source>Room Name:</source>
-        <translation type="obsolete">Nom du salon:</translation>
+        <translation type="obsolete">Nom de la room: </translation>
     </message>
     <message>
         <source>Rules:</source>
@@ -1203,34 +1273,34 @@
     </message>
     <message numerus="yes">
         <source>%1 players online</source>
-        <translation type="unfinished">
-            <numerusform></numerusform>
-            <numerusform></numerusform>
+        <translation>
+            <numerusform>%1 joueur en ligne</numerusform>
+            <numerusform>%1 joueurs en ligne</numerusform>
         </translation>
     </message>
     <message>
         <source>Search for a room:</source>
-        <translation type="unfinished"></translation>
+        <translation>Chercher une room</translation>
     </message>
     <message>
         <source>Create room</source>
-        <translation type="unfinished"></translation>
+        <translation>Créer une room</translation>
     </message>
     <message>
         <source>Join room</source>
-        <translation type="unfinished"></translation>
+        <translation>Rejoindre</translation>
     </message>
     <message>
         <source>Room state</source>
-        <translation type="unfinished"></translation>
+        <translation>Etat de la room</translation>
     </message>
     <message>
         <source>Clear filters</source>
-        <translation type="unfinished"></translation>
+        <translation>Enlever les filtres</translation>
     </message>
     <message>
         <source>Open server administration page</source>
-        <translation type="unfinished"></translation>
+        <translation>Ouvre la page d&apos;administration du serveur</translation>
     </message>
 </context>
 <context>
@@ -1289,7 +1359,7 @@
     </message>
     <message>
         <source>Order of play is random instead of in room order.</source>
-        <translation>Ordre de jeu aléatoire plutôt que par ordre dans la salle.</translation>
+        <translation>Ordre de jeu aléatoire plutôt que par ordre dans la room.</translation>
     </message>
     <message>
         <source>Play with a King. If he dies, your side dies.</source>
@@ -1309,7 +1379,7 @@
     </message>
     <message>
         <source>Disable land objects when generating random maps.</source>
-        <translation type="unfinished">Désactiver les objets de terrain lorsque des cartes aléatoires sont générées.</translation>
+        <translation>Désactiver les objets de terrain lorsque des cartes aléatoires sont générées.</translation>
     </message>
     <message>
         <source>AI respawns on death.</source>
@@ -1345,7 +1415,7 @@
     </message>
     <message>
         <source>Teams in each clan take successive turns sharing their turn time.</source>
-        <translation type="unfinished"></translation>
+        <translation>Les équipes de chaque clans jouent successivement, partageant le temps de leur tour.</translation>
     </message>
     <message>
         <source>Add an indestructible border around the terrain</source>
@@ -1353,7 +1423,7 @@
     </message>
     <message>
         <source>Add an indestructible border along the bottom</source>
-        <translation type="unfinished"></translation>
+        <translation>Ajouter une bordure indestructible en bas</translation>
     </message>
 </context>
 <context>
@@ -1379,86 +1449,86 @@
     <name>PageSinglePlayer</name>
     <message>
         <source>Play a quick game against the computer with random settings</source>
-        <translation type="unfinished"></translation>
+        <translation>Jouer une partie rapide contre l&apos;ordinateur avec des règles aléatoires</translation>
     </message>
     <message>
         <source>Play a hotseat game against your friends, or AI teams</source>
-        <translation type="unfinished"></translation>
+        <translation>Jouer une partie sur cet ordinateur contre vos amis ou l&apos;IA</translation>
     </message>
     <message>
         <source>Campaign Mode</source>
-        <translation type="unfinished"></translation>
+        <translation>Campagne</translation>
     </message>
     <message>
         <source>Practice your skills in a range of training missions</source>
-        <translation type="unfinished"></translation>
+        <translation>Améliorez vos competences avec un large choix de missions</translation>
     </message>
     <message>
         <source>Watch recorded demos</source>
-        <translation type="unfinished"></translation>
+        <translation>Regarder les parties enregistrées</translation>
     </message>
     <message>
         <source>Load a previously saved game</source>
-        <translation type="unfinished"></translation>
+        <translation>Charger une partie</translation>
     </message>
 </context>
 <context>
     <name>PageTraining</name>
     <message>
         <source>No description available</source>
-        <translation type="unfinished"></translation>
+        <translation>Aucune description disponible</translation>
     </message>
     <message>
         <source>Select a mission!</source>
-        <translation type="unfinished"></translation>
+        <translation>Choisis une mission!</translation>
     </message>
     <message>
         <source>Pick the mission or training to play</source>
-        <translation type="unfinished"></translation>
+        <translation>Choisis une mission ou entraine-toi à jouer</translation>
     </message>
     <message>
         <source>Start fighting</source>
-        <translation type="unfinished"></translation>
+        <translation>Commencer le combat</translation>
     </message>
 </context>
 <context>
     <name>PageVideos</name>
     <message>
         <source>Name</source>
-        <translation type="unfinished">Nom</translation>
+        <translation>Nom</translation>
     </message>
     <message>
         <source>Size</source>
-        <translation type="unfinished"></translation>
+        <translation>Taille</translation>
     </message>
     <message numerus="yes">
         <source>%1 bytes</source>
-        <translation type="unfinished">
-            <numerusform></numerusform>
-            <numerusform></numerusform>
+        <translation>
+            <numerusform>%1 octet</numerusform>
+            <numerusform>%1 octets</numerusform>
         </translation>
     </message>
     <message>
         <source>(in progress...)</source>
-        <translation type="unfinished"></translation>
+        <translation>(en cours ...)</translation>
     </message>
     <message>
         <source>encoding</source>
-        <translation type="unfinished"></translation>
+        <translation>encodage</translation>
     </message>
     <message>
         <source>uploading</source>
-        <translation type="unfinished"></translation>
+        <translation>importation</translation>
     </message>
     <message>
         <source>Date: %1
 </source>
-        <translation type="unfinished"></translation>
+        <translation>Date: %1</translation>
     </message>
     <message>
         <source>Size: %1
 </source>
-        <translation type="unfinished"></translation>
+        <translation>Taille: %1</translation>
     </message>
 </context>
 <context>
@@ -1509,15 +1579,15 @@
     </message>
     <message>
         <source>Restrict Unregistered Players Join</source>
-        <translation type="unfinished"></translation>
+        <translation>Bloquer l&apos;acces au joueurs non-enregistrés</translation>
     </message>
     <message>
         <source>Show games in lobby</source>
-        <translation type="unfinished"></translation>
+        <translation>Parties en attentes</translation>
     </message>
     <message>
         <source>Show games in-progress</source>
-        <translation type="unfinished"></translation>
+        <translation>Parties en cours</translation>
     </message>
 </context>
 <context>
@@ -1544,55 +1614,55 @@
     </message>
     <message>
         <source>Show ammo menu tooltips</source>
-        <translation type="unfinished">Montrer les astuces du menu des armes.</translation>
+        <translation>Montrer les astuces du menu des armes.</translation>
     </message>
     <message>
         <source>Save password</source>
-        <translation type="unfinished"></translation>
+        <translation>Enregistrer le mot de passe</translation>
     </message>
     <message>
         <source>Save account name and password</source>
-        <translation type="unfinished"></translation>
+        <translation>Enregistrer le nom de compte et mot de passe</translation>
     </message>
     <message>
         <source>Video is private</source>
-        <translation type="unfinished"></translation>
+        <translation>Vidéo privée</translation>
     </message>
     <message>
         <source>Record audio</source>
-        <translation type="unfinished"></translation>
+        <translation>Enregistrer le son</translation>
     </message>
     <message>
         <source>Use game resolution</source>
-        <translation type="unfinished"></translation>
+        <translation>Utiliser la résolution du jeu</translation>
     </message>
     <message>
         <source>Visual effects</source>
-        <translation type="unfinished"></translation>
+        <translation>Effets visuels</translation>
     </message>
     <message>
         <source>Sound</source>
-        <translation type="unfinished"></translation>
+        <translation>Son</translation>
     </message>
     <message>
         <source>In-game sound effects</source>
-        <translation type="unfinished"></translation>
+        <translation>Effets sonores en jeu</translation>
     </message>
     <message>
         <source>Music</source>
-        <translation type="unfinished"></translation>
+        <translation>Musique</translation>
     </message>
     <message>
         <source>In-game music</source>
-        <translation type="unfinished"></translation>
+        <translation>Musique en jeu</translation>
     </message>
     <message>
         <source>Frontend sound effects</source>
-        <translation type="unfinished"></translation>
+        <translation>Effet sonores de l&apos;interface</translation>
     </message>
     <message>
         <source>Frontend music</source>
-        <translation type="unfinished"></translation>
+        <translation>Musique de l&apos;interface</translation>
     </message>
 </context>
 <context>
@@ -1607,15 +1677,15 @@
     </message>
     <message>
         <source>(System default)</source>
-        <translation type="unfinished">Réglage du système</translation>
+        <translation>Automatique (systeme)</translation>
     </message>
     <message>
         <source>Community</source>
-        <translation type="unfinished">Communauté</translation>
+        <translation>Communauté</translation>
     </message>
     <message>
         <source>Any</source>
-        <translation type="unfinished">Aucun</translation>
+        <translation>Tout</translation>
     </message>
     <message>
         <source>In lobby</source>
@@ -1627,63 +1697,63 @@
     </message>
     <message>
         <source>Disabled</source>
-        <translation type="unfinished"></translation>
+        <translation>Aucun</translation>
     </message>
     <message>
         <source>Red/Cyan</source>
-        <translation type="unfinished">Rouge/Cyan</translation>
+        <translation>Rouge/Cyan</translation>
     </message>
     <message>
         <source>Cyan/Red</source>
-        <translation type="unfinished">Cyan/Rouge</translation>
+        <translation>Cyan/Rouge</translation>
     </message>
     <message>
         <source>Red/Blue</source>
-        <translation type="unfinished">Rouge/Bleu</translation>
+        <translation>Rouge/Bleu</translation>
     </message>
     <message>
         <source>Blue/Red</source>
-        <translation type="unfinished">Bleu/Rouge</translation>
+        <translation>Bleu/Rouge</translation>
     </message>
     <message>
         <source>Red/Green</source>
-        <translation type="unfinished">Rouge/Vert</translation>
+        <translation>Rouge/Vert</translation>
     </message>
     <message>
         <source>Green/Red</source>
-        <translation type="unfinished">Vert/Rouge</translation>
+        <translation>Vert/Rouge</translation>
     </message>
     <message>
         <source>Side-by-side</source>
-        <translation type="unfinished"></translation>
+        <translation>Côte-à-côte</translation>
     </message>
     <message>
         <source>Top-Bottom</source>
-        <translation type="unfinished"></translation>
+        <translation>Dessus-dessous</translation>
     </message>
     <message>
         <source>Red/Cyan grayscale</source>
-        <translation type="unfinished"></translation>
+        <translation>Rouge/Cyan niveaux de gris</translation>
     </message>
     <message>
         <source>Cyan/Red grayscale</source>
-        <translation type="unfinished"></translation>
+        <translation>Cyan/Rouge niveaux de gris</translation>
     </message>
     <message>
         <source>Red/Blue grayscale</source>
-        <translation type="unfinished"></translation>
+        <translation>Rouge/Bleu niveaux de gris</translation>
     </message>
     <message>
         <source>Blue/Red grayscale</source>
-        <translation type="unfinished"></translation>
+        <translation>Bleu/Rouge niveaux de gris</translation>
     </message>
     <message>
         <source>Red/Green grayscale</source>
-        <translation type="unfinished"></translation>
+        <translation>Rouge/Vert niveaux de gris</translation>
     </message>
     <message>
         <source>Green/Red grayscale</source>
-        <translation type="unfinished"></translation>
+        <translation>Vert/Rouge niveaux de gris</translation>
     </message>
 </context>
 <context>
@@ -1718,11 +1788,11 @@
     </message>
     <message>
         <source>Videos</source>
-        <translation type="unfinished"></translation>
+        <translation>Vidéos</translation>
     </message>
     <message>
         <source>Description</source>
-        <translation type="unfinished"></translation>
+        <translation>Description</translation>
     </message>
 </context>
 <context>
@@ -1789,7 +1859,7 @@
     </message>
     <message>
         <source>Scheme Name:</source>
-        <translation>Nom de la Configuration:</translation>
+        <translation>Nom de la règle:</translation>
     </message>
     <message>
         <source>Crate Drops</source>
@@ -1805,7 +1875,7 @@
     </message>
     <message>
         <source>Type</source>
-        <translation type="unfinished">Type</translation>
+        <translation>Type</translation>
     </message>
     <message>
         <source>Grave</source>
@@ -1821,7 +1891,7 @@
     </message>
     <message>
         <source>Locale</source>
-        <translation type="unfinished">Langue</translation>
+        <translation>Langue</translation>
     </message>
     <message>
         <source>Explosives</source>
@@ -1829,7 +1899,7 @@
     </message>
     <message>
         <source>Tip: </source>
-        <translation>Conseil : </translation>
+        <translation>Conseil: </translation>
     </message>
     <message>
         <source>Quality</source>
@@ -1853,120 +1923,126 @@
     </message>
     <message>
         <source>% Rope Length</source>
-        <translation>% longueur de la Corde Ninja</translation>
+        <translation>% longueur du grappin</translation>
     </message>
     <message>
         <source>Stereo rendering</source>
-        <translation type="unfinished">Rendu stéréo</translation>
+        <translation>Rendu stéréo</translation>
     </message>
     <message>
         <source>Style</source>
-        <translation type="unfinished"></translation>
+        <translation>Style</translation>
     </message>
     <message>
         <source>Scheme</source>
-        <translation type="unfinished"></translation>
+        <translation>Règles</translation>
     </message>
     <message>
         <source>% Get Away Time</source>
-        <translation type="unfinished"></translation>
+        <translation>% de temp de fuite</translation>
     </message>
     <message>
         <source>There are videos that are currently being processed.
 Exiting now will abort them.
 Do you really want to quit?</source>
-        <translation type="unfinished"></translation>
+        <translation>Il y a des vidéos actuellement en cours de traitement.
+Quitter maintenant arretera le processus
+Voulez-vous vraiment quitter?</translation>
     </message>
     <message>
         <source>Please provide either the YouTube account name or the email address associated with the Google Account.</source>
-        <translation type="unfinished"></translation>
+        <translation>Veuillez indiquer votre email et mot de passe de conexion à youtube</translation>
     </message>
     <message>
         <source>Account name (or email): </source>
-        <translation type="unfinished"></translation>
+        <translation>Email du compte: </translation>
     </message>
     <message>
         <source>Password: </source>
-        <translation type="unfinished"></translation>
+        <translation>Mot de passe: </translation>
     </message>
     <message>
         <source>Video title: </source>
-        <translation type="unfinished"></translation>
+        <translation>Titre de la video: </translation>
     </message>
     <message>
         <source>Video description: </source>
-        <translation type="unfinished"></translation>
+        <translation>Description de la vidéo: </translation>
     </message>
     <message>
         <source>Tags (comma separated): </source>
-        <translation type="unfinished"></translation>
+        <translation>Tags (séparer avec une virgule): </translation>
     </message>
     <message>
         <source>Description</source>
-        <translation type="unfinished"></translation>
+        <translation>Description</translation>
     </message>
     <message>
         <source>Nickname</source>
-        <translation type="unfinished">Pseudo</translation>
+        <translation>Pseudo</translation>
     </message>
     <message>
         <source>Format</source>
-        <translation type="unfinished"></translation>
+        <translation>Format</translation>
     </message>
     <message>
         <source>Audio codec</source>
-        <translation type="unfinished"></translation>
+        <translation>Codecs audio</translation>
     </message>
     <message>
         <source>Video codec</source>
-        <translation type="unfinished"></translation>
+        <translation>Codecs vidéo</translation>
     </message>
     <message>
         <source>Framerate</source>
-        <translation type="unfinished"></translation>
+        <translation>Images/secondes</translation>
     </message>
     <message>
         <source>Bitrate (Kbps)</source>
-        <translation type="unfinished"></translation>
+        <translation>Bitrate(Kb/s)</translation>
     </message>
     <message>
         <source>This development build is &apos;work in progress&apos; and may not be compatible with other versions of the game, while some features might be broken or incomplete!</source>
-        <translation type="unfinished"></translation>
+        <translation>Cette version est &quot;en cours de développement&quot; il est possible qu&apos;elle ne soit pas compatible avec les autres versions du jeu, des parties peuvent ne pas fonctionner ou être incompletes!</translation>
     </message>
     <message>
         <source>Fullscreen</source>
-        <translation type="unfinished">Plein écran</translation>
+        <translation>Plein écran</translation>
     </message>
     <message>
         <source>Fullscreen Resolution</source>
-        <translation type="unfinished"></translation>
+        <translation>Résolution en plein écran</translation>
     </message>
     <message>
         <source>Windowed Resolution</source>
-        <translation type="unfinished"></translation>
+        <translation>Résolution fenêtrée</translation>
     </message>
     <message>
         <source>Your Email</source>
-        <translation type="unfinished"></translation>
+        <translation>Votre email</translation>
     </message>
     <message>
         <source>Summary</source>
-        <translation type="unfinished"></translation>
+        <translation>Sujet</translation>
     </message>
     <message>
         <source>Send system information</source>
-        <translation type="unfinished"></translation>
+        <translation>Envoyer des informations système</translation>
     </message>
     <message>
         <source>Type the security code:</source>
-        <translation type="unfinished"></translation>
+        <translation>Entrez le code de sécurité</translation>
     </message>
     <message>
         <source>Revision</source>
-        <translation type="unfinished"></translation>
+        <translation>Version de développement</translation>
     </message>
     <message>
         <source>This program is distributed under the %1</source>
+        <translation>Ce programme est distribué par %1</translation>
+    </message>
+    <message>
+        <source>This setting will be effective at next restart.</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
@@ -1978,11 +2054,11 @@
     </message>
     <message>
         <source>hedgehog %1</source>
-        <translation type="unfinished"></translation>
+        <translation>Hérisson %1</translation>
     </message>
     <message>
         <source>anonymous</source>
-        <translation type="unfinished"></translation>
+        <translation>anonyme</translation>
     </message>
 </context>
 <context>
@@ -1993,7 +2069,7 @@
     </message>
     <message>
         <source>-r%1 (%2)</source>
-        <translation type="unfinished"></translation>
+        <translation>-r%1 (%2)</translation>
     </message>
 </context>
 <context>
@@ -2013,48 +2089,50 @@
     <message>
         <source>Error while authenticating at google.com:
 </source>
-        <translation type="unfinished"></translation>
+        <translation>Erreur lors de l&apos;authentification à google.com:
+</translation>
     </message>
     <message>
         <source>Login or password is incorrect</source>
-        <translation type="unfinished"></translation>
+        <translation>Identifiant ou mot de passe incorrecte</translation>
     </message>
     <message>
         <source>Error while sending metadata to youtube.com:
 </source>
-        <translation type="unfinished"></translation>
+        <translation>Erreur lors de l&apos;envoi des metadata à youtube.com:
+</translation>
     </message>
     <message>
         <source>Teams - Are you sure?</source>
-        <translation type="unfinished"></translation>
+        <translation>Equipes - Etes-vous sûr?</translation>
     </message>
     <message>
         <source>Do you really want to delete the team &apos;%1&apos;?</source>
-        <translation type="unfinished"></translation>
+        <translation>Voulez-vous vraiment supprimer l&apos;équipe &quot;%1&quot;</translation>
     </message>
     <message>
         <source>Cannot delete default scheme &apos;%1&apos;!</source>
-        <translation type="unfinished"></translation>
+        <translation>Impossible de retirer la règle par défaut &quot;%1&quot;</translation>
     </message>
     <message>
         <source>Please select a record from the list</source>
-        <translation type="unfinished"></translation>
+        <translation>Veuillez choisir un enregistrement dans la liste</translation>
     </message>
     <message>
         <source>Unable to start server</source>
-        <translation type="unfinished"></translation>
+        <translation>Impossible de démarrer le serveur</translation>
     </message>
     <message>
         <source>Hedgewars - Error</source>
-        <translation type="unfinished"></translation>
+        <translation>Hedgewars - Erreur</translation>
     </message>
     <message>
         <source>Hedgewars - Success</source>
-        <translation type="unfinished"></translation>
+        <translation>Hedgewars - Succès</translation>
     </message>
     <message>
         <source>All file associations have been set</source>
-        <translation type="unfinished"></translation>
+        <translation>Les associations d&apos;extensions de fichiers ont été effectuées</translation>
     </message>
     <message>
         <source>Cannot create directory %1</source>
@@ -2066,156 +2144,158 @@
     </message>
     <message>
         <source>Video upload - Error</source>
-        <translation type="unfinished"></translation>
+        <translation>Importation de vidéo - Erreur</translation>
     </message>
     <message>
         <source>Netgame - Error</source>
-        <translation type="unfinished"></translation>
+        <translation>Partie en ligne - Erreur</translation>
     </message>
     <message>
         <source>Please select a server from the list</source>
-        <translation type="unfinished"></translation>
+        <translation>Veuillez choisir un serveur dans la liste</translation>
     </message>
     <message>
         <source>Please enter room name</source>
-        <translation type="unfinished">Veuillez saisir le nom du salon</translation>
+        <translation>Veuillez saisir le nom d&apos;une room</translation>
     </message>
     <message>
         <source>Record Play - Error</source>
-        <translation type="unfinished"></translation>
+        <translation>Jouer l&apos;enregistrement - Erreur</translation>
     </message>
     <message>
         <source>Please select record from the list</source>
-        <translation type="unfinished">Veuillez sélectionner une partie dans cette liste</translation>
+        <translation>Veuillez choisir un enregistrement dans liste</translation>
     </message>
     <message>
         <source>Cannot rename to </source>
-        <translation type="unfinished"></translation>
+        <translation>Impossible de renommer en </translation>
     </message>
     <message>
         <source>Cannot delete file </source>
-        <translation type="unfinished"></translation>
+        <translation>Impossible de supprimer le fichier </translation>
     </message>
     <message>
         <source>Room Name - Error</source>
-        <translation type="unfinished"></translation>
+        <translation>Nom de la room - Erreur</translation>
     </message>
     <message>
         <source>Please select room from the list</source>
-        <translation type="unfinished">Veuillez sélectionner un salon dans la liste</translation>
+        <translation>Veuillez choisir une room dans la liste</translation>
     </message>
     <message>
         <source>Room Name - Are you sure?</source>
-        <translation type="unfinished"></translation>
+        <translation>Nom de la room - Etes-vous sûr?</translation>
     </message>
     <message>
         <source>The game you are trying to join has started.
 Do you still want to join the room?</source>
-        <translation type="unfinished">Vous voulez rejoindre une partie qui a déjà commencée. Voulez-vous tout de même rejoindre la salle ?</translation>
+        <translation>Vous essayez de rejoindre une partie qui a déjà commencée. 
+Voulez-vous tout de même rejoindre la room?</translation>
     </message>
     <message>
         <source>Schemes - Warning</source>
-        <translation type="unfinished"></translation>
+        <translation>Règles - Attention</translation>
     </message>
     <message>
         <source>Schemes - Are you sure?</source>
-        <translation type="unfinished"></translation>
+        <translation>Règles - Etes-vous sûr?</translation>
     </message>
     <message>
         <source>Do you really want to delete the game scheme &apos;%1&apos;?</source>
-        <translation type="unfinished"></translation>
+        <translation>Etes-vous sûr de vouloir supprimer cette règle : &quot;%1&quot; ?</translation>
     </message>
     <message>
         <source>Videos - Are you sure?</source>
-        <translation type="unfinished"></translation>
+        <translation>Vidéos - Etes-vous sûr?</translation>
     </message>
     <message>
         <source>Do you really want to delete the video &apos;%1&apos;?</source>
-        <translation type="unfinished"></translation>
+        <translation>Etes-vous sûr de vouloir supprimer cette vidéo : &quot;%1&quot; ?</translation>
     </message>
     <message numerus="yes">
         <source>Do you really want to remove %1 file(s)?</source>
-        <translation type="unfinished">
-            <numerusform></numerusform>
-            <numerusform></numerusform>
+        <translation>
+            <numerusform>Etes-vous sûr de vouloir supprimer %1 fichier?</numerusform>
+            <numerusform>Etes-vous sûr de vouloir supprimer %1 fichiers?</numerusform>
         </translation>
     </message>
     <message>
         <source>Do you really want to cancel uploading %1?</source>
-        <translation type="unfinished"></translation>
+        <translation>Voulez-vous arreter l&apos;importation de %1?</translation>
     </message>
     <message>
         <source>File error</source>
-        <translation type="unfinished"></translation>
+        <translation>Erreur de fichier</translation>
     </message>
     <message>
         <source>Cannot open &apos;%1&apos; for writing</source>
-        <translation type="unfinished"></translation>
+        <translation>Impossible d&apos;écrire le fichier %1</translation>
     </message>
     <message>
         <source>Cannot open &apos;%1&apos; for reading</source>
-        <translation type="unfinished"></translation>
+        <translation>Impossible de lire le fichier %1</translation>
     </message>
     <message>
         <source>Cannot use the ammo &apos;%1&apos;!</source>
-        <translation type="unfinished"></translation>
+        <translation>Impossible d&apos;utiliser cette arme : &quot;%1&quot;</translation>
     </message>
     <message>
         <source>Weapons - Warning</source>
-        <translation type="unfinished"></translation>
+        <translation>Armes - Attention</translation>
     </message>
     <message>
         <source>Cannot overwrite default weapon set &apos;%1&apos;!</source>
-        <translation type="unfinished"></translation>
+        <translation>Impossible de remplacer le set d&apos;arme &quot;%1&quot;</translation>
     </message>
     <message>
         <source>Cannot delete default weapon set &apos;%1&apos;!</source>
-        <translation type="unfinished"></translation>
+        <translation>Impossible de supprimer le set d&apos;arme par défaut &quot;%1&quot;</translation>
     </message>
     <message>
         <source>Weapons - Are you sure?</source>
-        <translation type="unfinished"></translation>
+        <translation>Armes - Etes-vous sûr?</translation>
     </message>
     <message>
         <source>Do you really want to delete the weapon set &apos;%1&apos;?</source>
-        <translation type="unfinished"></translation>
+        <translation>Etes-vous sûr de vouloir supprimer le set d&apos;arme &quot;%1&quot;?</translation>
     </message>
     <message>
         <source>Hedgewars - Nick not registered</source>
-        <translation type="unfinished"></translation>
+        <translation>Hedgewars - Pseudo non-enregistré</translation>
     </message>
     <message>
         <source>System Information Preview</source>
-        <translation type="unfinished"></translation>
+        <translation>Apreçu des informations système</translation>
     </message>
     <message>
         <source>Failed to generate captcha</source>
-        <translation type="unfinished"></translation>
+        <translation>Echec de la génération du Captcha</translation>
     </message>
     <message>
         <source>Failed to download captcha</source>
-        <translation type="unfinished"></translation>
+        <translation>Echec du téléchargement du Captcha</translation>
     </message>
     <message>
         <source>Please fill out all fields. Email is optional.</source>
-        <translation type="unfinished"></translation>
+        <translation>Veuillez remplir tout les champs. Email optionel.</translation>
     </message>
     <message>
         <source>Hedgewars - Warning</source>
-        <translation type="unfinished"></translation>
+        <translation>Hedgewars - Attention</translation>
     </message>
     <message>
         <source>Hedgewars - Information</source>
-        <translation type="unfinished"></translation>
+        <translation>Hedgewars - Information</translation>
     </message>
     <message>
         <source>Not all players are ready</source>
-        <translation type="unfinished"></translation>
+        <translation>Les joueurs ne sont pas tous prêts</translation>
     </message>
     <message>
         <source>Are you sure you want to start this game?
 Not all players are ready.</source>
-        <translation type="unfinished"></translation>
+        <translation>Etes-vous sûr de vouloir lancer cette partie?
+Les joueurs ne sont pas tous prêts.</translation>
     </message>
 </context>
 <context>
@@ -2230,7 +2310,7 @@
     </message>
     <message>
         <source>Go!</source>
-        <translation>C&apos;est parti !</translation>
+        <translation>C&apos;est parti!</translation>
     </message>
     <message>
         <source>Start</source>
@@ -2278,148 +2358,148 @@
     </message>
     <message>
         <source>More info</source>
-        <translation type="unfinished"></translation>
+        <translation>Plus d&apos;info</translation>
     </message>
     <message>
         <source>Set default options</source>
-        <translation type="unfinished"></translation>
+        <translation>Mettre les options par défaut</translation>
     </message>
     <message>
         <source>Open videos directory</source>
-        <translation type="unfinished"></translation>
+        <translation>Ouvrir le répertoire Vidéos</translation>
     </message>
     <message>
         <source>Play</source>
-        <translation type="unfinished"></translation>
+        <translation>Jouer</translation>
     </message>
     <message>
         <source>Upload to YouTube</source>
-        <translation type="unfinished"></translation>
+        <translation>Importer vers Youtube</translation>
     </message>
     <message>
         <source>Cancel uploading</source>
-        <translation type="unfinished"></translation>
+        <translation>Annuler l&apos;importation</translation>
     </message>
     <message>
         <source>Restore default coding parameters</source>
-        <translation type="unfinished"></translation>
+        <translation>Remettre les paramètres de codage par défaut</translation>
     </message>
     <message>
         <source>Open the video directory in your system</source>
-        <translation type="unfinished"></translation>
+        <translation>Ouvrir le répertoire vidéo dans votre système</translation>
     </message>
     <message>
         <source>Play this video</source>
-        <translation type="unfinished"></translation>
+        <translation>Lancer cette vidéo</translation>
     </message>
     <message>
         <source>Delete this video</source>
-        <translation type="unfinished"></translation>
+        <translation>Supprimer cette vidéo</translation>
     </message>
     <message>
         <source>Upload this video to your Youtube account</source>
-        <translation type="unfinished"></translation>
+        <translation>Importer cette vidéo sur votre compte Youtube</translation>
     </message>
     <message>
         <source>Reset</source>
-        <translation type="unfinished"></translation>
+        <translation>Réinitialiser</translation>
     </message>
     <message>
         <source>Set the default server port for Hedgewars</source>
-        <translation type="unfinished"></translation>
+        <translation>Mettre le port serveur par défaut pour Hedgewars</translation>
     </message>
     <message>
         <source>Invite your friends to your server in just 1 click!</source>
-        <translation type="unfinished"></translation>
+        <translation>Invitez vos amis sur votre serveur en 1 clique!</translation>
     </message>
     <message>
         <source>Click to copy your unique server URL in your clipboard. Send this link to your friends ands and they will be able to join you.</source>
-        <translation type="unfinished"></translation>
+        <translation>Cliquez pour copier votre URL serveur unique. Envoyez ce lien a vos amis et il pourront vous rejoindre.</translation>
     </message>
     <message>
         <source>Start private server</source>
-        <translation type="unfinished"></translation>
+        <translation>Démarrer un serveur privé</translation>
     </message>
 </context>
 <context>
     <name>RoomNamePrompt</name>
     <message>
         <source>Enter a name for your room.</source>
-        <translation type="unfinished"></translation>
+        <translation>Entrez un nom pour votre room.</translation>
     </message>
     <message>
         <source>Cancel</source>
-        <translation type="unfinished">Annuler</translation>
+        <translation>Annuler</translation>
     </message>
     <message>
         <source>Create room</source>
-        <translation type="unfinished"></translation>
+        <translation>Créer une room</translation>
     </message>
 </context>
 <context>
     <name>RoomsListModel</name>
     <message>
         <source>In progress</source>
-        <translation type="unfinished">En cours</translation>
+        <translation>En cours</translation>
     </message>
     <message>
         <source>Room Name</source>
-        <translation type="unfinished">Nom de la salle</translation>
+        <translation>Nom de la room</translation>
     </message>
     <message>
         <source>C</source>
-        <translation type="unfinished">C</translation>
+        <translation>J</translation>
     </message>
     <message>
         <source>T</source>
-        <translation type="unfinished">É</translation>
+        <translation>É</translation>
     </message>
     <message>
         <source>Owner</source>
-        <translation type="unfinished">Propriétaire</translation>
+        <translation>Propriétaire</translation>
     </message>
     <message>
         <source>Map</source>
-        <translation type="unfinished">Carte</translation>
+        <translation>Carte</translation>
     </message>
     <message>
         <source>Rules</source>
-        <translation type="unfinished">Règles</translation>
+        <translation>Règles</translation>
     </message>
     <message>
         <source>Weapons</source>
-        <translation type="unfinished">Armes</translation>
+        <translation>Armes</translation>
     </message>
     <message>
         <source>Random Map</source>
-        <translation type="unfinished">Carte Aléatoire</translation>
+        <translation>Carte Aléatoire</translation>
     </message>
     <message>
         <source>Random Maze</source>
-        <translation type="unfinished">Labyrinthe aléatoire</translation>
+        <translation>Labyrinthe aléatoire</translation>
     </message>
     <message>
         <source>Hand-drawn</source>
-        <translation type="unfinished"></translation>
+        <translation>Dessinée</translation>
     </message>
 </context>
 <context>
     <name>SeedPrompt</name>
     <message>
         <source>The map seed is the basis for all random values generated by the game.</source>
-        <translation type="unfinished"></translation>
+        <translation>Cette carte est la base pour toutes valeurs aléatoire générées par le jeu.</translation>
     </message>
     <message>
         <source>Cancel</source>
-        <translation type="unfinished">Annuler</translation>
+        <translation>Annuler</translation>
     </message>
     <message>
         <source>Set seed</source>
-        <translation type="unfinished"></translation>
+        <translation>Générer une base (graine)</translation>
     </message>
     <message>
         <source>Close</source>
-        <translation type="unfinished"></translation>
+        <translation>Fermer</translation>
     </message>
 </context>
 <context>
@@ -2453,41 +2533,41 @@
     <name>TCPBase</name>
     <message>
         <source>Unable to start server at %1.</source>
-        <translation type="unfinished"></translation>
+        <translation>Impossible de démarrer un serveur sur %1.</translation>
     </message>
     <message>
         <source>Unable to run engine at %1
 Error code: %2</source>
-        <translation type="unfinished"></translation>
+        <translation>Impossible de lancer le jeu sur %1</translation>
     </message>
 </context>
 <context>
     <name>TeamSelWidget</name>
     <message>
         <source>At least two teams are required to play!</source>
-        <translation type="unfinished"></translation>
+        <translation>Il doit y avoir deux équipes minimum pour jouer!</translation>
     </message>
 </context>
 <context>
     <name>TeamShowWidget</name>
     <message>
         <source>%1&apos;s team</source>
-        <translation type="unfinished"></translation>
+        <translation>Equipe de %1</translation>
     </message>
 </context>
 <context>
     <name>ThemePrompt</name>
     <message>
         <source>Cancel</source>
-        <translation type="unfinished">Annuler</translation>
+        <translation>Annuler</translation>
     </message>
     <message>
         <source>Search for a theme:</source>
-        <translation type="unfinished"></translation>
+        <translation>Chercher un thème</translation>
     </message>
     <message>
         <source>Use selected theme</source>
-        <translation type="unfinished"></translation>
+        <translation>Utiliser le thème séléctionné</translation>
     </message>
 </context>
 <context>
@@ -2647,38 +2727,38 @@
     </message>
     <message>
         <source>slot 10</source>
-        <translation type="unfinished">slot 10</translation>
+        <translation>slot 10</translation>
     </message>
     <message>
         <source>mute audio</source>
-        <translation type="unfinished"></translation>
+        <translation>couper le son</translation>
     </message>
     <message>
         <source>record</source>
-        <translation type="unfinished"></translation>
+        <translation>enregistrer</translation>
     </message>
     <message>
         <source>hedgehog info</source>
-        <translation type="unfinished"></translation>
+        <translation>Info hérisson</translation>
     </message>
 </context>
 <context>
     <name>binds (categories)</name>
     <message>
         <source>Movement</source>
-        <translation type="unfinished"></translation>
+        <translation>Mouvements</translation>
     </message>
     <message>
         <source>Weapons</source>
-        <translation type="unfinished">Armes</translation>
+        <translation>Armes</translation>
     </message>
     <message>
         <source>Camera</source>
-        <translation type="unfinished"></translation>
+        <translation>Caméra</translation>
     </message>
     <message>
         <source>Miscellaneous</source>
-        <translation type="unfinished"></translation>
+        <translation>Autre</translation>
     </message>
 </context>
 <context>
@@ -2689,7 +2769,7 @@
     </message>
     <message>
         <source>Fire your selected weapon or trigger an utility item:</source>
-        <translation>Tirez avec l&apos;arme sélectionnée et activez un objet utilitaire:</translation>
+        <translation>Tirez avec l&apos;arme sélectionnée ou activez un objet:</translation>
     </message>
     <message>
         <source>Pick a weapon or a target location under the cursor:</source>
@@ -2701,7 +2781,7 @@
     </message>
     <message>
         <source>Pick a weapon or utility item:</source>
-        <translation>Sélectionnez une arme ou un objet utilitaire:</translation>
+        <translation>Sélectionnez une arme ou un objet:</translation>
     </message>
     <message>
         <source>Set the timer on bombs and timed weapons:</source>
@@ -2725,7 +2805,7 @@
     </message>
     <message>
         <source>Pause, continue or leave your game:</source>
-        <translation>Stoppez, continuez ou quittez votre partie:</translation>
+        <translation>Pause, continuez ou quittez votre partie:</translation>
     </message>
     <message>
         <source>Modify the game&apos;s volume while playing:</source>
@@ -2745,11 +2825,11 @@
     </message>
     <message>
         <source>Record video:</source>
-        <translation type="unfinished"></translation>
+        <translation>Enregistrer la vidéo</translation>
     </message>
     <message>
         <source>Hedgehog movement</source>
-        <translation type="unfinished"></translation>
+        <translation>Déplacement du herisson</translation>
     </message>
 </context>
 <context>
@@ -2768,7 +2848,7 @@
     </message>
     <message>
         <source>Hat</source>
-        <translation type="unfinished">Chapeau</translation>
+        <translation>Chapeau</translation>
     </message>
     <message>
         <source>(Left)</source>
@@ -2808,11 +2888,11 @@
     </message>
     <message>
         <source>Backspace</source>
-        <translation>Backspace</translation>
+        <translation>Retour/Effacer</translation>
     </message>
     <message>
         <source>Tab</source>
-        <translation>Tabulation</translation>
+        <translation>Tab</translation>
     </message>
     <message>
         <source>Return</source>
@@ -3074,116 +3154,112 @@
 <context>
     <name>server</name>
     <message>
+        <source>Authentication failed</source>
+        <translation type="obsolete">Echec d&apos;authentification</translation>
+    </message>
+    <message>
+        <source>60 seconds cooldown after kick</source>
+        <translation type="obsolete">Bannis pour 60 sec après un kick</translation>
+    </message>
+    <message>
+        <source>kicked</source>
+        <translation type="obsolete">Exclus (kick)</translation>
+    </message>
+    <message>
+        <source>Ping timeout</source>
+        <translation type="obsolete">Met trop de temps à répondre</translation>
+    </message>
+    <message>
+        <source>bye</source>
+        <translation type="obsolete">Aurevoir</translation>
+    </message>
+    <message>
+        <source>Empty config entry</source>
+        <translation type="obsolete">Configuration vide</translation>
+    </message>
+    <message>
         <source>Not room master</source>
-        <translation type="unfinished"></translation>
+        <translation type="obsolete">Vous n&apos;êtes pas le propriétaire de la room</translation>
     </message>
     <message>
         <source>Corrupted hedgehogs info</source>
-        <translation type="unfinished"></translation>
+        <translation type="obsolete">Info hérisson corrompus</translation>
     </message>
     <message>
         <source>too many teams</source>
-        <translation type="unfinished"></translation>
+        <translation type="obsolete">trop d&apos;équipes</translation>
     </message>
     <message>
         <source>too many hedgehogs</source>
-        <translation type="unfinished"></translation>
+        <translation type="obsolete">trop de hérissons</translation>
     </message>
     <message>
         <source>There&apos;s already a team with same name in the list</source>
-        <translation type="unfinished"></translation>
+        <translation type="obsolete">Il y a déja une équipe avec le même nom dans la liste</translation>
     </message>
     <message>
         <source>round in progress</source>
-        <translation type="unfinished"></translation>
+        <translation type="obsolete">La partie est en cour</translation>
     </message>
     <message>
         <source>restricted</source>
-        <translation type="unfinished"></translation>
+        <translation type="obsolete">Ajout interdis</translation>
     </message>
     <message>
         <source>REMOVE_TEAM: no such team</source>
-        <translation type="unfinished"></translation>
+        <translation type="obsolete">REMOVE_TEAM: aucune équipe de ce nom</translation>
     </message>
     <message>
         <source>Not team owner!</source>
-        <translation type="unfinished"></translation>
+        <translation type="obsolete">Vous n&apos;êtes pas le propriétaire de cette équipe!</translation>
     </message>
     <message>
         <source>Less than two clans!</source>
-        <translation type="unfinished"></translation>
+        <translation type="obsolete">Il faut 2 clans minimum!</translation>
     </message>
     <message>
         <source>Room with such name already exists</source>
-        <translation type="unfinished"></translation>
+        <translation type="obsolete">Ce nom de room existe déjà</translation>
+    </message>
+    <message>
+        <source>Illegal room name</source>
+        <translation type="obsolete">Nom de room invalide</translation>
+    </message>
+    <message>
+        <source>No such room</source>
+        <translation type="obsolete">Cette room n&apos;existe pas</translation>
+    </message>
+    <message>
+        <source>Joining restricted</source>
+        <translation type="obsolete">Accès interdis</translation>
+    </message>
+    <message>
+        <source>Registered users only</source>
+        <translation type="obsolete">Accès réservé aux utilisateurs enregistré</translation>
+    </message>
+    <message>
+        <source>You are banned in this room</source>
+        <translation type="obsolete">Vous avez été bannis de cette room</translation>
     </message>
     <message>
         <source>Nickname already chosen</source>
-        <translation type="unfinished"></translation>
+        <translation type="obsolete">Pseudo déjà choisis</translation>
     </message>
     <message>
         <source>Illegal nickname</source>
-        <translation type="unfinished"></translation>
+        <translation type="obsolete">Pseudo invalide</translation>
     </message>
     <message>
         <source>Protocol already known</source>
-        <translation type="unfinished"></translation>
+        <translation type="obsolete">Protocole déjà connu</translation>
     </message>
     <message>
         <source>Bad number</source>
-        <translation type="unfinished"></translation>
+        <translation type="obsolete">Mauvais numéro</translation>
     </message>
     <message>
         <source>Nickname is already in use</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>No checker rights</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Authentication failed</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>60 seconds cooldown after kick</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>kicked</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Ping timeout</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>bye</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Illegal room name</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>No such room</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Joining restricted</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Registered users only</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>You are banned in this room</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Empty config entry</source>
-        <translation type="unfinished"></translation>
+        <translation type="obsolete">Ce pseudo est actuellement utilisé sur le serveur</translation>
     </message>
 </context>
 </TS>
--- a/share/hedgewars/Data/Locale/hedgewars_gl.ts	Thu Apr 04 14:37:19 2013 +0200
+++ b/share/hedgewars/Data/Locale/hedgewars_gl.ts	Tue Jun 04 22:28:12 2013 +0200
@@ -99,19 +99,19 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Please give us feedback!</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>We are always happy about suggestions, ideas, or bug reports.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>If you found a bug, you can see if it&apos;s already known here (english): </source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Your email address is optional, but we may want to contact you.</source>
+        <source>Send us feedback!</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>If you found a bug, you can see if it&apos;s already been reported here: </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Your email address is optional, but necessary if you want us to get back at you.</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
@@ -254,6 +254,18 @@
         <source>Failed to save StyleSheet to %1</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source>%1 has joined</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>%1 has left</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>%1 has left (%2)</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>HWForm</name>
@@ -353,6 +365,10 @@
 Please wait a few seconds and try again.</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source>This page requires an internet connection.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>HWGame</name>
@@ -472,10 +488,6 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Theme: </source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>Load drawn map</source>
         <translation type="unfinished"></translation>
     </message>
@@ -491,6 +503,10 @@
         <source>Large tunnels</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source>Theme: %1</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>HWNetServersModel</name>
@@ -535,7 +551,7 @@
     </message>
     <message>
         <source>%1 *** %2 has joined</source>
-        <translation>%1 *** %2 uniuse</translation>
+        <translation type="obsolete">%1 *** %2 uniuse</translation>
     </message>
     <message>
         <source>%1 *** %2 has left (%3)</source>
@@ -729,6 +745,17 @@
     </message>
 </context>
 <context>
+    <name>PageDataDownload</name>
+    <message>
+        <source>Loading, please wait.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>This page requires an internet connection.</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
     <name>PageDrawMap</name>
     <message>
         <source>Eraser</source>
@@ -870,6 +897,14 @@
             <numerusform></numerusform>
         </translation>
     </message>
+    <message>
+        <source>Play again</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Save</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>PageInGame</name>
@@ -981,6 +1016,10 @@
 <context>
     <name>PageNetServer</name>
     <message>
+        <source>Click here for details</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
         <source>Insert your address here</source>
         <translation type="unfinished"></translation>
     </message>
@@ -1957,6 +1996,10 @@
         <source>This program is distributed under the %1</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source>This setting will be effective at next restart.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>QLineEdit</name>
@@ -3058,119 +3101,4 @@
         <translation>Mando</translation>
     </message>
 </context>
-<context>
-    <name>server</name>
-    <message>
-        <source>Not room master</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Corrupted hedgehogs info</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>too many teams</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>too many hedgehogs</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>There&apos;s already a team with same name in the list</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>round in progress</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>restricted</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>REMOVE_TEAM: no such team</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Not team owner!</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Less than two clans!</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Room with such name already exists</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Nickname already chosen</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Illegal nickname</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Protocol already known</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Bad number</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Nickname is already in use</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>No checker rights</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Authentication failed</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>60 seconds cooldown after kick</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>kicked</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Ping timeout</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>bye</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Illegal room name</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>No such room</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Joining restricted</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Registered users only</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>You are banned in this room</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Empty config entry</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
 </TS>
--- a/share/hedgewars/Data/Locale/hedgewars_hu.ts	Thu Apr 04 14:37:19 2013 +0200
+++ b/share/hedgewars/Data/Locale/hedgewars_hu.ts	Tue Jun 04 22:28:12 2013 +0200
@@ -99,19 +99,19 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Please give us feedback!</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>We are always happy about suggestions, ideas, or bug reports.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>If you found a bug, you can see if it&apos;s already known here (english): </source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Your email address is optional, but we may want to contact you.</source>
+        <source>Send us feedback!</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>If you found a bug, you can see if it&apos;s already been reported here: </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Your email address is optional, but necessary if you want us to get back at you.</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
@@ -248,6 +248,18 @@
         <source>Failed to save StyleSheet to %1</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source>%1 has joined</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>%1 has left</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>%1 has left (%2)</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>HWForm</name>
@@ -347,6 +359,10 @@
 Please wait a few seconds and try again.</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source>This page requires an internet connection.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>HWGame</name>
@@ -466,10 +482,6 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Theme: </source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>Load drawn map</source>
         <translation type="unfinished"></translation>
     </message>
@@ -485,6 +497,10 @@
         <source>Large tunnels</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source>Theme: %1</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>HWNetServersModel</name>
@@ -529,7 +545,7 @@
     </message>
     <message>
         <source>%1 *** %2 has joined</source>
-        <translation>%1 *** %2 csatlakozott</translation>
+        <translation type="obsolete">%1 *** %2 csatlakozott</translation>
     </message>
     <message>
         <source>%1 *** %2 has left (%3)</source>
@@ -723,6 +739,17 @@
     </message>
 </context>
 <context>
+    <name>PageDataDownload</name>
+    <message>
+        <source>Loading, please wait.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>This page requires an internet connection.</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
     <name>PageDrawMap</name>
     <message>
         <source>Undo</source>
@@ -858,6 +885,14 @@
             <numerusform></numerusform>
         </translation>
     </message>
+    <message>
+        <source>Play again</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Save</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>PageInGame</name>
@@ -969,6 +1004,10 @@
 <context>
     <name>PageNetServer</name>
     <message>
+        <source>Click here for details</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
         <source>Insert your address here</source>
         <translation type="unfinished"></translation>
     </message>
@@ -1943,6 +1982,10 @@
         <source>This program is distributed under the %1</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source>This setting will be effective at next restart.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>QLineEdit</name>
@@ -3043,119 +3086,4 @@
         <translation>DPad</translation>
     </message>
 </context>
-<context>
-    <name>server</name>
-    <message>
-        <source>Not room master</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Corrupted hedgehogs info</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>too many teams</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>too many hedgehogs</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>There&apos;s already a team with same name in the list</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>round in progress</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>restricted</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>REMOVE_TEAM: no such team</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Not team owner!</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Less than two clans!</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Room with such name already exists</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Nickname already chosen</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Illegal nickname</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Protocol already known</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Bad number</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Nickname is already in use</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>No checker rights</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Authentication failed</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>60 seconds cooldown after kick</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>kicked</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Ping timeout</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>bye</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Illegal room name</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>No such room</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Joining restricted</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Registered users only</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>You are banned in this room</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Empty config entry</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
 </TS>
--- a/share/hedgewars/Data/Locale/hedgewars_it.ts	Thu Apr 04 14:37:19 2013 +0200
+++ b/share/hedgewars/Data/Locale/hedgewars_it.ts	Tue Jun 04 22:28:12 2013 +0200
@@ -100,18 +100,30 @@
     </message>
     <message>
         <source>Please give us feedback!</source>
-        <translation type="unfinished"></translation>
+        <translation type="obsolete">Per favore, inviaci un commento!</translation>
     </message>
     <message>
         <source>We are always happy about suggestions, ideas, or bug reports.</source>
-        <translation type="unfinished"></translation>
+        <translation>Siamo sempre felici di ricevere suggerimenti, idee o segnalazioni di bachi.</translation>
     </message>
     <message>
         <source>If you found a bug, you can see if it&apos;s already known here (english): </source>
-        <translation type="unfinished"></translation>
+        <translation type="obsolete">Se torvi u nbaco, puoi vedere se è già conosciuto qui (in inglese): </translation>
     </message>
     <message>
         <source>Your email address is optional, but we may want to contact you.</source>
+        <translation type="obsolete">Il tuo indirizzo di posta elettronica è opzionale, ma potremmo volerti contattare.</translation>
+    </message>
+    <message>
+        <source>Send us feedback!</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>If you found a bug, you can see if it&apos;s already been reported here: </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Your email address is optional, but necessary if you want us to get back at you.</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
@@ -199,14 +211,14 @@
     </message>
     <message>
         <source>Cannot create directory %1</source>
-        <translation type="unfinished">Impossibile creare la directory %1</translation>
+        <translation>Impossibile creare la directory %1</translation>
     </message>
     <message>
         <source>Failed to open data directory:
 %1
 
 Please check your installation!</source>
-        <translation type="unfinished">Impossibile creare la directory dati:
+        <translation>Impossibile creare la directory dati:
 %1
 
 Per favore controlla l&apos;installazione!</translation>
@@ -261,6 +273,18 @@
         <source>Failed to save StyleSheet to %1</source>
         <translation>Impossibile salvare la StyleSheet in %1! Errore interno!</translation>
     </message>
+    <message>
+        <source>%1 has joined</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>%1 has left</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>%1 has left (%2)</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>HWForm</name>
@@ -370,6 +394,10 @@
         <translation>Ti sei ricollegato troppo velocemente.
 Per favore aspetta qualche secondo e prova di nuovo.</translation>
     </message>
+    <message>
+        <source>This page requires an internet connection.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>HWGame</name>
@@ -490,7 +518,7 @@
     </message>
     <message>
         <source>Theme: </source>
-        <translation>Tema: </translation>
+        <translation type="obsolete">Tema: </translation>
     </message>
     <message>
         <source>Load drawn map</source>
@@ -508,6 +536,10 @@
         <source>Large tunnels</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source>Theme: %1</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>HWNetServersModel</name>
@@ -552,7 +584,7 @@
     </message>
     <message>
         <source>%1 *** %2 has joined</source>
-        <translation>%1 *** %2 è entrato</translation>
+        <translation type="obsolete">%1 *** %2 è entrato</translation>
     </message>
     <message>
         <source>%1 *** %2 has left (%3)</source>
@@ -586,15 +618,18 @@
 
 If you don&apos;t have an account on www.hedgewars.org,
 just enter your nickname.</source>
-        <translation type="unfinished"></translation>
+        <translation>Per collegarsi al server, per favore accedi.
+
+Se non possiedi un account su www.hedgewars.org,
+inserisci solo il tuo soprannome.</translation>
     </message>
     <message>
         <source>Nickname:</source>
-        <translation type="unfinished"></translation>
+        <translation>Soprannome:</translation>
     </message>
     <message>
         <source>Password:</source>
-        <translation type="unfinished"></translation>
+        <translation>Password:</translation>
     </message>
 </context>
 <context>
@@ -746,6 +781,17 @@
     </message>
 </context>
 <context>
+    <name>PageDataDownload</name>
+    <message>
+        <source>Loading, please wait.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>This page requires an internet connection.</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
     <name>PageDrawMap</name>
     <message>
         <source>Undo</source>
@@ -887,6 +933,14 @@
             <numerusform>&lt;b&gt;%1&lt;/b&gt; aveva paura e ha passato il turno &lt;b&gt;%2&lt;/b&gt; volte.</numerusform>
         </translation>
     </message>
+    <message>
+        <source>Play again</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Save</source>
+        <translation type="unfinished">Salva</translation>
+    </message>
 </context>
 <context>
     <name>PageInGame</name>
@@ -954,11 +1008,11 @@
     </message>
     <message>
         <source>Play local network game</source>
-        <translation type="unfinished"></translation>
+        <translation>Gioca una partita in rete locale</translation>
     </message>
     <message>
         <source>Play official network game</source>
-        <translation type="unfinished"></translation>
+        <translation>Gioca una partita sul server ufficiale</translation>
     </message>
 </context>
 <context>
@@ -998,8 +1052,12 @@
 <context>
     <name>PageNetServer</name>
     <message>
+        <source>Click here for details</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
         <source>Insert your address here</source>
-        <translation type="unfinished"></translation>
+        <translation>Inserisci il tuo indirizzo</translation>
     </message>
 </context>
 <context>
@@ -1994,6 +2052,10 @@
         <source>This program is distributed under the %1</source>
         <translation>Questo programma è distribuito secondo i termini di %1</translation>
     </message>
+    <message>
+        <source>This setting will be effective at next restart.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>QLineEdit</name>
@@ -2379,23 +2441,23 @@
     </message>
     <message>
         <source>Reset</source>
-        <translation type="unfinished"></translation>
+        <translation>Ripristina</translation>
     </message>
     <message>
         <source>Set the default server port for Hedgewars</source>
-        <translation type="unfinished"></translation>
+        <translation>Seleziona la porta di configurazione del server di Hedgewars</translation>
     </message>
     <message>
         <source>Invite your friends to your server in just 1 click!</source>
-        <translation type="unfinished"></translation>
+        <translation>Invita i tuoi amici sul tuo serve con 1 solo clic!</translation>
     </message>
     <message>
         <source>Click to copy your unique server URL in your clipboard. Send this link to your friends ands and they will be able to join you.</source>
-        <translation type="unfinished"></translation>
+        <translation>Clicca per copiare il tuo URL univoco del serve negli appunti. Invia questo collegamento ai tuoi amici e potranno unirsi a te.</translation>
     </message>
     <message>
         <source>Start private server</source>
-        <translation type="unfinished"></translation>
+        <translation>Avvia un server privato</translation>
     </message>
 </context>
 <context>
@@ -2510,19 +2572,20 @@
     <name>TCPBase</name>
     <message>
         <source>Unable to start server at %1.</source>
-        <translation type="unfinished"></translation>
+        <translation>Impossibile avviare il server a %1.</translation>
     </message>
     <message>
         <source>Unable to run engine at %1
 Error code: %2</source>
-        <translation type="unfinished"></translation>
+        <translation>Impossibile eseguire il motore a %1
+Codice di errore: %2</translation>
     </message>
 </context>
 <context>
     <name>TeamSelWidget</name>
     <message>
         <source>At least two teams are required to play!</source>
-        <translation type="unfinished"></translation>
+        <translation>Servono almeno due squadre per giocare!</translation>
     </message>
 </context>
 <context>
@@ -3131,115 +3194,111 @@
     <name>server</name>
     <message>
         <source>Not room master</source>
-        <translation>Non proprietario della stanza</translation>
+        <translation type="obsolete">Non proprietario della stanza</translation>
     </message>
     <message>
         <source>Corrupted hedgehogs info</source>
-        <translation>Informazioni ricci corrotte</translation>
+        <translation type="obsolete">Informazioni ricci corrotte</translation>
     </message>
     <message>
         <source>too many teams</source>
-        <translation>troppe squadre</translation>
+        <translation type="obsolete">troppe squadre</translation>
     </message>
     <message>
         <source>too many hedgehogs</source>
-        <translation>troppi ricci</translation>
+        <translation type="obsolete">troppi ricci</translation>
     </message>
     <message>
         <source>There&apos;s already a team with same name in the list</source>
-        <translation>C&apos;è già una quadra collo stesso nome in lista</translation>
+        <translation type="obsolete">C&apos;è già una quadra collo stesso nome in lista</translation>
     </message>
     <message>
         <source>round in progress</source>
-        <translation>turno in corso</translation>
+        <translation type="obsolete">turno in corso</translation>
     </message>
     <message>
         <source>restricted</source>
-        <translation>proibito</translation>
+        <translation type="obsolete">proibito</translation>
     </message>
     <message>
         <source>REMOVE_TEAM: no such team</source>
-        <translation>CANCELLA_SQUADRA: squadra non presente</translation>
+        <translation type="obsolete">CANCELLA_SQUADRA: squadra non presente</translation>
     </message>
     <message>
         <source>Not team owner!</source>
-        <translation>Non proprietario della squadra!</translation>
+        <translation type="obsolete">Non proprietario della squadra!</translation>
     </message>
     <message>
         <source>Less than two clans!</source>
-        <translation>Meno di due clan!</translation>
+        <translation type="obsolete">Meno di due clan!</translation>
     </message>
     <message>
         <source>Room with such name already exists</source>
-        <translation>Esiste già una stanza con questo nome</translation>
+        <translation type="obsolete">Esiste già una stanza con questo nome</translation>
     </message>
     <message>
         <source>Nickname already chosen</source>
-        <translation>Nome già scelto</translation>
+        <translation type="obsolete">Nome già scelto</translation>
     </message>
     <message>
         <source>Illegal nickname</source>
-        <translation>Nome non valido</translation>
+        <translation type="obsolete">Nome non valido</translation>
     </message>
     <message>
         <source>Protocol already known</source>
-        <translation>Protocollo già conosciuto</translation>
+        <translation type="obsolete">Protocollo già conosciuto</translation>
     </message>
     <message>
         <source>Bad number</source>
-        <translation>Numero non valido</translation>
+        <translation type="obsolete">Numero non valido</translation>
     </message>
     <message>
         <source>Nickname is already in use</source>
-        <translation>Nome già in uso</translation>
-    </message>
-    <message>
-        <source>No checker rights</source>
-        <translation type="unfinished"></translation>
+        <translation type="obsolete">Nome già in uso</translation>
     </message>
     <message>
         <source>Authentication failed</source>
-        <translation>Autenticazione fallita</translation>
+        <translation type="obsolete">Autenticazione fallita</translation>
     </message>
     <message>
         <source>60 seconds cooldown after kick</source>
-        <translation>60 secondi di raffreddamento prima dell&apos;espulsione</translation>
+        <translation type="obsolete">60 secondi di raffreddamento prima dell&apos;espulsione</translation>
     </message>
     <message>
         <source>kicked</source>
-        <translation>espulso</translation>
+        <translation type="obsolete">espulso</translation>
     </message>
     <message>
         <source>Ping timeout</source>
-        <translation>Scadenza ping</translation>
+        <translation type="obsolete">Scadenza ping</translation>
     </message>
     <message>
         <source>bye</source>
-        <translation>ciao</translation>
+        <translation type="obsolete">ciao</translation>
     </message>
     <message>
         <source>Illegal room name</source>
-        <translation>Nome stanza non valido</translation>
+        <translation type="obsolete">Nome stanza non valido</translation>
     </message>
     <message>
         <source>No such room</source>
-        <translation>Stanza non esistente</translation>
+        <translation type="obsolete">Stanza non esistente</translation>
     </message>
     <message>
         <source>Joining restricted</source>
-        <translation>Ingresso riservato</translation>
+        <translation type="obsolete">Ingresso riservato</translation>
     </message>
     <message>
         <source>Registered users only</source>
-        <translation>Solo utenti registrati</translation>
+        <translation type="obsolete">Solo utenti registrati</translation>
     </message>
     <message>
         <source>You are banned in this room</source>
-        <translation>Sei stato espulso dalla stanza</translation>
+        <translation type="obsolete">Sei stato espulso dalla stanza</translation>
     </message>
     <message>
         <source>Empty config entry</source>
-        <translation>Configurazione vuota</translation>
+        <translation type="obsolete">Configurazione vuota</translation>
     </message>
 </context>
 </TS>
--- a/share/hedgewars/Data/Locale/hedgewars_ja.ts	Thu Apr 04 14:37:19 2013 +0200
+++ b/share/hedgewars/Data/Locale/hedgewars_ja.ts	Tue Jun 04 22:28:12 2013 +0200
@@ -34,11 +34,11 @@
     </message>
     <message>
         <source>Nick</source>
-        <translation type="unfinished"></translation>
+        <translation>ニックネーム</translation>
     </message>
     <message>
         <source>IP/Nick</source>
-        <translation type="unfinished"></translation>
+        <translation>IP/ニックネーム</translation>
     </message>
     <message>
         <source>Reason</source>
@@ -50,11 +50,11 @@
     </message>
     <message>
         <source>Ok</source>
-        <translation type="unfinished"></translation>
+        <translation>オッケー</translation>
     </message>
     <message>
         <source>Cancel</source>
-        <translation type="unfinished">キャンセル</translation>
+        <translation>キャンセル</translation>
     </message>
     <message>
         <source>you know why</source>
@@ -62,7 +62,7 @@
     </message>
     <message>
         <source>Warning</source>
-        <translation type="unfinished"></translation>
+        <translation>警報メッセージ</translation>
     </message>
     <message>
         <source>Please, specify %1</source>
@@ -70,7 +70,7 @@
     </message>
     <message>
         <source>nickname</source>
-        <translation type="unfinished"></translation>
+        <translation>ニックネーム</translation>
     </message>
     <message>
         <source>permanent</source>
@@ -92,26 +92,26 @@
     </message>
     <message>
         <source>Cancel</source>
-        <translation type="unfinished">キャンセル</translation>
+        <translation>キャンセル</translation>
     </message>
     <message>
         <source>Send Feedback</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Please give us feedback!</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>We are always happy about suggestions, ideas, or bug reports.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>If you found a bug, you can see if it&apos;s already known here (english): </source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Your email address is optional, but we may want to contact you.</source>
+        <source>Send us feedback!</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>If you found a bug, you can see if it&apos;s already been reported here: </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Your email address is optional, but necessary if you want us to get back at you.</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
@@ -144,7 +144,7 @@
     </message>
     <message>
         <source>Map</source>
-        <translation type="unfinished">地図</translation>
+        <translation>地図</translation>
     </message>
     <message>
         <source>Game options</source>
@@ -155,32 +155,32 @@
     <name>HWApplication</name>
     <message numerus="yes">
         <source>%1 minutes</source>
-        <translation type="unfinished">
-            <numerusform></numerusform>
+        <translation>
+            <numerusform>%1分</numerusform>
         </translation>
     </message>
     <message numerus="yes">
         <source>%1 hour</source>
-        <translation type="unfinished">
-            <numerusform></numerusform>
+        <translation>
+            <numerusform>%1時</numerusform>
         </translation>
     </message>
     <message numerus="yes">
         <source>%1 hours</source>
-        <translation type="unfinished">
-            <numerusform></numerusform>
+        <translation>
+            <numerusform>%1時</numerusform>
         </translation>
     </message>
     <message numerus="yes">
         <source>%1 day</source>
         <translation type="unfinished">
-            <numerusform></numerusform>
+            <numerusform>%1日</numerusform>
         </translation>
     </message>
     <message numerus="yes">
         <source>%1 days</source>
-        <translation type="unfinished">
-            <numerusform></numerusform>
+        <translation>
+            <numerusform>%1日</numerusform>
         </translation>
     </message>
     <message>
@@ -248,6 +248,18 @@
         <source>Failed to save StyleSheet to %1</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source>%1 has joined</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>%1 has left</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>%1 has left (%2)</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>HWForm</name>
@@ -283,7 +295,7 @@
     </message>
     <message>
         <source>Nickname</source>
-        <translation type="unfinished"></translation>
+        <translation>ニックネーム</translation>
     </message>
     <message>
         <source>No nickname supplied.</source>
@@ -296,7 +308,7 @@
     </message>
     <message>
         <source>%1&apos;s Team</source>
-        <translation type="unfinished"></translation>
+        <translation>%1のチーム</translation>
     </message>
     <message>
         <source>Hedgewars - Nick registered</source>
@@ -347,6 +359,10 @@
 Please wait a few seconds and try again.</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source>This page requires an internet connection.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>HWGame</name>
@@ -466,10 +482,6 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Theme: </source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>Load drawn map</source>
         <translation type="unfinished"></translation>
     </message>
@@ -485,6 +497,10 @@
         <source>Large tunnels</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source>Theme: %1</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>HWNetServersModel</name>
@@ -529,7 +545,7 @@
     </message>
     <message>
         <source>%1 *** %2 has joined</source>
-        <translation>%1 *** %2 さんは参加</translation>
+        <translation type="obsolete">%1 *** %2 さんは参加</translation>
     </message>
     <message>
         <source>%1 *** %2 has left (%3)</source>
@@ -556,7 +572,7 @@
     <name>HWPasswordDialog</name>
     <message>
         <source>Login</source>
-        <translation type="unfinished"></translation>
+        <translation>ログイン</translation>
     </message>
     <message>
         <source>To connect to the server, please log in.
@@ -582,7 +598,7 @@
     </message>
     <message>
         <source>Upload</source>
-        <translation type="unfinished"></translation>
+        <translation>アップロード</translation>
     </message>
 </context>
 <context>
@@ -596,7 +612,7 @@
     <name>HatPrompt</name>
     <message>
         <source>Cancel</source>
-        <translation type="unfinished">キャンセル</translation>
+        <translation>キャンセル</translation>
     </message>
     <message>
         <source>Use selected hat</source>
@@ -684,7 +700,7 @@
     </message>
     <message>
         <source>General</source>
-        <translation type="unfinished">一般</translation>
+        <translation>一般</translation>
     </message>
     <message>
         <source>Bans</source>
@@ -692,7 +708,7 @@
     </message>
     <message>
         <source>IP/Nick</source>
-        <translation type="unfinished"></translation>
+        <translation>IP/ニックネーム</translation>
     </message>
     <message>
         <source>Expiration</source>
@@ -723,6 +739,17 @@
     </message>
 </context>
 <context>
+    <name>PageDataDownload</name>
+    <message>
+        <source>Loading, please wait.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>This page requires an internet connection.</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
     <name>PageDrawMap</name>
     <message>
         <source>Undo</source>
@@ -734,11 +761,11 @@
     </message>
     <message>
         <source>Load</source>
-        <translation type="unfinished">ロード</translation>
+        <translation>ロード</translation>
     </message>
     <message>
         <source>Save</source>
-        <translation type="unfinished"></translation>
+        <translation>セーブ</translation>
     </message>
     <message>
         <source>Load drawn map</source>
@@ -858,6 +885,14 @@
             <numerusform></numerusform>
         </translation>
     </message>
+    <message>
+        <source>Play again</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Save</source>
+        <translation type="unfinished">セーブ</translation>
+    </message>
 </context>
 <context>
     <name>PageInGame</name>
@@ -955,11 +990,11 @@
     </message>
     <message>
         <source>Start</source>
-        <translation type="unfinished">スタート</translation>
+        <translation>スタート</translation>
     </message>
     <message>
         <source>Update</source>
-        <translation type="unfinished">更新</translation>
+        <translation>更新</translation>
     </message>
     <message>
         <source>Room controls</source>
@@ -969,6 +1004,10 @@
 <context>
     <name>PageNetServer</name>
     <message>
+        <source>Click here for details</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
         <source>Insert your address here</source>
         <translation type="unfinished"></translation>
     </message>
@@ -1017,7 +1056,7 @@
     </message>
     <message>
         <source>Advanced</source>
-        <translation type="unfinished">高級</translation>
+        <translation>高級</translation>
     </message>
     <message>
         <source>Reset to default colors</source>
@@ -1069,7 +1108,7 @@
     </message>
     <message>
         <source>Game</source>
-        <translation type="unfinished"></translation>
+        <translation>ゲーム</translation>
     </message>
     <message>
         <source>Graphics</source>
@@ -1877,7 +1916,7 @@
     </message>
     <message>
         <source>Nickname</source>
-        <translation type="unfinished"></translation>
+        <translation>ニックネーム</translation>
     </message>
     <message>
         <source>Format</source>
@@ -1939,6 +1978,10 @@
         <source>This program is distributed under the %1</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source>This setting will be effective at next restart.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>QLineEdit</name>
@@ -2318,7 +2361,7 @@
     </message>
     <message>
         <source>Cancel</source>
-        <translation type="unfinished">キャンセル</translation>
+        <translation>キャンセル</translation>
     </message>
     <message>
         <source>Create room</source>
@@ -2380,7 +2423,7 @@
     </message>
     <message>
         <source>Cancel</source>
-        <translation type="unfinished">キャンセル</translation>
+        <translation>キャンセル</translation>
     </message>
     <message>
         <source>Set seed</source>
@@ -2448,7 +2491,7 @@
     <name>ThemePrompt</name>
     <message>
         <source>Cancel</source>
-        <translation type="unfinished">キャンセル</translation>
+        <translation>キャンセル</translation>
     </message>
     <message>
         <source>Search for a theme:</source>
@@ -3039,119 +3082,4 @@
         <translation type="unfinished"></translation>
     </message>
 </context>
-<context>
-    <name>server</name>
-    <message>
-        <source>Not room master</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Corrupted hedgehogs info</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>too many teams</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>too many hedgehogs</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>There&apos;s already a team with same name in the list</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>round in progress</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>restricted</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>REMOVE_TEAM: no such team</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Not team owner!</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Less than two clans!</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Room with such name already exists</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Nickname already chosen</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Illegal nickname</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Protocol already known</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Bad number</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Nickname is already in use</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>No checker rights</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Authentication failed</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>60 seconds cooldown after kick</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>kicked</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Ping timeout</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>bye</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Illegal room name</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>No such room</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Joining restricted</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Registered users only</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>You are banned in this room</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Empty config entry</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
 </TS>
--- a/share/hedgewars/Data/Locale/hedgewars_ko.ts	Thu Apr 04 14:37:19 2013 +0200
+++ b/share/hedgewars/Data/Locale/hedgewars_ko.ts	Tue Jun 04 22:28:12 2013 +0200
@@ -99,19 +99,19 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Please give us feedback!</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>We are always happy about suggestions, ideas, or bug reports.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>If you found a bug, you can see if it&apos;s already known here (english): </source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Your email address is optional, but we may want to contact you.</source>
+        <source>Send us feedback!</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>If you found a bug, you can see if it&apos;s already been reported here: </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Your email address is optional, but necessary if you want us to get back at you.</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
@@ -248,6 +248,18 @@
         <source>Failed to save StyleSheet to %1</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source>%1 has joined</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>%1 has left</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>%1 has left (%2)</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>HWForm</name>
@@ -347,6 +359,10 @@
 Please wait a few seconds and try again.</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source>This page requires an internet connection.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>HWGame</name>
@@ -466,10 +482,6 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Theme: </source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>Load drawn map</source>
         <translation type="unfinished"></translation>
     </message>
@@ -485,6 +497,10 @@
         <source>Large tunnels</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source>Theme: %1</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>HWNetServersModel</name>
@@ -528,10 +544,6 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>%1 *** %2 has joined</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>%1 *** %2 has left (%3)</source>
         <translation type="unfinished"></translation>
     </message>
@@ -723,6 +735,17 @@
     </message>
 </context>
 <context>
+    <name>PageDataDownload</name>
+    <message>
+        <source>Loading, please wait.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>This page requires an internet connection.</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
     <name>PageDrawMap</name>
     <message>
         <source>Undo</source>
@@ -858,6 +881,14 @@
             <numerusform></numerusform>
         </translation>
     </message>
+    <message>
+        <source>Play again</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Save</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>PageInGame</name>
@@ -965,6 +996,10 @@
 <context>
     <name>PageNetServer</name>
     <message>
+        <source>Click here for details</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
         <source>Insert your address here</source>
         <translation type="unfinished"></translation>
     </message>
@@ -1915,6 +1950,10 @@
         <source>This program is distributed under the %1</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source>This setting will be effective at next restart.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>QLineEdit</name>
@@ -3007,119 +3046,4 @@
         <translation type="unfinished"></translation>
     </message>
 </context>
-<context>
-    <name>server</name>
-    <message>
-        <source>Not room master</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Corrupted hedgehogs info</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>too many teams</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>too many hedgehogs</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>There&apos;s already a team with same name in the list</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>round in progress</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>restricted</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>REMOVE_TEAM: no such team</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Not team owner!</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Less than two clans!</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Room with such name already exists</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Nickname already chosen</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Illegal nickname</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Protocol already known</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Bad number</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Nickname is already in use</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>No checker rights</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Authentication failed</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>60 seconds cooldown after kick</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>kicked</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Ping timeout</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>bye</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Illegal room name</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>No such room</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Joining restricted</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Registered users only</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>You are banned in this room</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Empty config entry</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
 </TS>
--- a/share/hedgewars/Data/Locale/hedgewars_lt.ts	Thu Apr 04 14:37:19 2013 +0200
+++ b/share/hedgewars/Data/Locale/hedgewars_lt.ts	Tue Jun 04 22:28:12 2013 +0200
@@ -97,7 +97,7 @@
 <context>
     <name>DataManager</name>
     <message>
-        <location filename="../../../../QTfrontend/util/DataManager.cpp" line="149"/>
+        <location filename="../../../../QTfrontend/util/DataManager.cpp" line="151"/>
         <source>Use Default</source>
         <translation type="unfinished"></translation>
     </message>
@@ -105,37 +105,37 @@
 <context>
     <name>FeedbackDialog</name>
     <message>
-        <location filename="../../../../QTfrontend/ui/widget/feedbackdialog.cpp" line="87"/>
-        <source>Please give us feedback!</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../../../../QTfrontend/ui/widget/feedbackdialog.cpp" line="88"/>
+        <location filename="../../../../QTfrontend/ui/widget/feedbackdialog.cpp" line="91"/>
         <source>We are always happy about suggestions, ideas, or bug reports.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/ui/widget/feedbackdialog.cpp" line="89"/>
-        <source>If you found a bug, you can see if it&apos;s already known here (english): </source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <location filename="../../../../QTfrontend/ui/widget/feedbackdialog.cpp" line="90"/>
-        <source>Your email address is optional, but we may want to contact you.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../../../../QTfrontend/ui/widget/feedbackdialog.cpp" line="121"/>
+        <source>Send us feedback!</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../../../QTfrontend/ui/widget/feedbackdialog.cpp" line="92"/>
+        <source>If you found a bug, you can see if it&apos;s already been reported here: </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../../../QTfrontend/ui/widget/feedbackdialog.cpp" line="93"/>
+        <source>Your email address is optional, but necessary if you want us to get back at you.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../../../QTfrontend/ui/widget/feedbackdialog.cpp" line="124"/>
         <source>View</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/ui/widget/feedbackdialog.cpp" line="147"/>
+        <location filename="../../../../QTfrontend/ui/widget/feedbackdialog.cpp" line="150"/>
         <source>Cancel</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/ui/widget/feedbackdialog.cpp" line="175"/>
+        <location filename="../../../../QTfrontend/ui/widget/feedbackdialog.cpp" line="178"/>
         <source>Send Feedback</source>
         <translation type="unfinished"></translation>
     </message>
@@ -267,52 +267,67 @@
 <context>
     <name>HWChatWidget</name>
     <message>
-        <location filename="../../../../QTfrontend/ui/widget/chatwidget.cpp" line="641"/>
+        <location filename="../../../../QTfrontend/ui/widget/chatwidget.cpp" line="502"/>
+        <source>%1 has joined</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../../../QTfrontend/ui/widget/chatwidget.cpp" line="523"/>
+        <source>%1 has left</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../../../QTfrontend/ui/widget/chatwidget.cpp" line="525"/>
+        <source>%1 has left (%2)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../../../QTfrontend/ui/widget/chatwidget.cpp" line="652"/>
         <source>%1 has been removed from your ignore list</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/ui/widget/chatwidget.cpp" line="651"/>
+        <location filename="../../../../QTfrontend/ui/widget/chatwidget.cpp" line="662"/>
         <source>%1 has been added to your ignore list</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/ui/widget/chatwidget.cpp" line="681"/>
+        <location filename="../../../../QTfrontend/ui/widget/chatwidget.cpp" line="692"/>
         <source>%1 has been removed from your friends list</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/ui/widget/chatwidget.cpp" line="690"/>
+        <location filename="../../../../QTfrontend/ui/widget/chatwidget.cpp" line="701"/>
         <source>%1 has been added to your friends list</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/ui/widget/chatwidget.cpp" line="756"/>
+        <location filename="../../../../QTfrontend/ui/widget/chatwidget.cpp" line="767"/>
         <source>Stylesheet imported from %1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/ui/widget/chatwidget.cpp" line="757"/>
+        <location filename="../../../../QTfrontend/ui/widget/chatwidget.cpp" line="768"/>
         <source>Enter %1 if you want to use the current StyleSheet in future, enter %2 to reset!</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/ui/widget/chatwidget.cpp" line="765"/>
+        <location filename="../../../../QTfrontend/ui/widget/chatwidget.cpp" line="776"/>
         <source>Couldn&apos;t read %1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/ui/widget/chatwidget.cpp" line="773"/>
+        <location filename="../../../../QTfrontend/ui/widget/chatwidget.cpp" line="784"/>
         <source>StyleSheet discarded</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/ui/widget/chatwidget.cpp" line="797"/>
+        <location filename="../../../../QTfrontend/ui/widget/chatwidget.cpp" line="808"/>
         <source>StyleSheet saved to %1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/ui/widget/chatwidget.cpp" line="800"/>
+        <location filename="../../../../QTfrontend/ui/widget/chatwidget.cpp" line="811"/>
         <source>Failed to save StyleSheet to %1</source>
         <translation type="unfinished"></translation>
     </message>
@@ -325,23 +340,23 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/hwform.cpp" line="632"/>
+        <location filename="../../../../QTfrontend/hwform.cpp" line="636"/>
         <source>Game aborted</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/hwform.cpp" line="1102"/>
+        <location filename="../../../../QTfrontend/hwform.cpp" line="1121"/>
         <source>Nickname</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/hwform.cpp" line="1107"/>
-        <location filename="../../../../QTfrontend/hwform.cpp" line="1400"/>
+        <location filename="../../../../QTfrontend/hwform.cpp" line="1126"/>
+        <location filename="../../../../QTfrontend/hwform.cpp" line="1435"/>
         <source>No nickname supplied.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/hwform.cpp" line="1102"/>
+        <location filename="../../../../QTfrontend/hwform.cpp" line="1121"/>
         <source>Someone already uses your nickname %1 on the server.
 Please pick another nickname:</source>
         <translation type="unfinished"></translation>
@@ -352,12 +367,12 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/hwform.cpp" line="1056"/>
+        <location filename="../../../../QTfrontend/hwform.cpp" line="1075"/>
         <source>Hedgewars - Nick registered</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/hwform.cpp" line="1057"/>
+        <location filename="../../../../QTfrontend/hwform.cpp" line="1076"/>
         <source>This nick is registered, and you haven&apos;t specified a password.
 
 If this nick isn&apos;t yours, please register your own nick at www.hedgewars.org
@@ -366,90 +381,95 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/hwform.cpp" line="1085"/>
+        <location filename="../../../../QTfrontend/hwform.cpp" line="1104"/>
         <source>Your nickname is not registered.
 To prevent someone else from using it,
 please register it at www.hedgewars.org</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/hwform.cpp" line="1090"/>
+        <location filename="../../../../QTfrontend/hwform.cpp" line="1109"/>
         <source>
 
 Your password wasn&apos;t saved either.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/hwform.cpp" line="1107"/>
-        <location filename="../../../../QTfrontend/hwform.cpp" line="1400"/>
+        <location filename="../../../../QTfrontend/hwform.cpp" line="1126"/>
+        <location filename="../../../../QTfrontend/hwform.cpp" line="1435"/>
         <source>Hedgewars - Empty nickname</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/hwform.cpp" line="1133"/>
+        <location filename="../../../../QTfrontend/hwform.cpp" line="1152"/>
         <source>Hedgewars - Wrong password</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/hwform.cpp" line="1133"/>
+        <location filename="../../../../QTfrontend/hwform.cpp" line="1152"/>
         <source>You entered a wrong password.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/hwform.cpp" line="1154"/>
+        <location filename="../../../../QTfrontend/hwform.cpp" line="1173"/>
         <source>Try Again</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/hwform.cpp" line="1515"/>
+        <location filename="../../../../QTfrontend/hwform.cpp" line="1539"/>
         <source>Hedgewars - Connection error</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/hwform.cpp" line="1515"/>
+        <location filename="../../../../QTfrontend/hwform.cpp" line="1539"/>
         <source>You reconnected too fast.
 Please wait a few seconds and try again.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/hwform.cpp" line="1672"/>
-        <location filename="../../../../QTfrontend/hwform.cpp" line="1993"/>
+        <location filename="../../../../QTfrontend/hwform.cpp" line="1696"/>
+        <location filename="../../../../QTfrontend/hwform.cpp" line="2015"/>
         <source>Cannot save record to file %1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/hwform.cpp" line="1923"/>
+        <location filename="../../../../QTfrontend/hwform.cpp" line="1945"/>
         <source>Hedgewars Demo File</source>
         <comment>File Types</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/hwform.cpp" line="1924"/>
+        <location filename="../../../../QTfrontend/hwform.cpp" line="1946"/>
         <source>Hedgewars Save File</source>
         <comment>File Types</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/hwform.cpp" line="1985"/>
+        <location filename="../../../../QTfrontend/hwform.cpp" line="2007"/>
         <source>Demo name</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/hwform.cpp" line="1985"/>
+        <location filename="../../../../QTfrontend/hwform.cpp" line="2007"/>
         <source>Demo name:</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <location filename="../../../../QTfrontend/hwform.cpp" line="2075"/>
+        <source>This page requires an internet connection.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>HWGame</name>
     <message>
-        <location filename="../../../../QTfrontend/game.cpp" line="374"/>
+        <location filename="../../../../QTfrontend/game.cpp" line="386"/>
         <location filename="../../../../QTfrontend/net/recorder.cpp" line="112"/>
         <source>en.txt</source>
         <translation>lt.txt</translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/game.cpp" line="415"/>
+        <location filename="../../../../QTfrontend/game.cpp" line="427"/>
         <source>Cannot open demofile %1</source>
         <translation type="unfinished"></translation>
     </message>
@@ -457,158 +477,158 @@
 <context>
     <name>HWMapContainer</name>
     <message>
-        <location filename="../../../../QTfrontend/ui/widget/mapContainer.cpp" line="93"/>
+        <location filename="../../../../QTfrontend/ui/widget/mapContainer.cpp" line="94"/>
         <source>Map type:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/ui/widget/mapContainer.cpp" line="96"/>
-        <source>Image map</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <location filename="../../../../QTfrontend/ui/widget/mapContainer.cpp" line="97"/>
-        <source>Mission map</source>
+        <source>Image map</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../../../../QTfrontend/ui/widget/mapContainer.cpp" line="98"/>
-        <source>Hand-drawn</source>
+        <source>Mission map</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../../../../QTfrontend/ui/widget/mapContainer.cpp" line="99"/>
-        <source>Randomly generated</source>
+        <source>Hand-drawn</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../../../../QTfrontend/ui/widget/mapContainer.cpp" line="100"/>
+        <source>Randomly generated</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../../../QTfrontend/ui/widget/mapContainer.cpp" line="101"/>
         <source>Random maze</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/ui/widget/mapContainer.cpp" line="110"/>
+        <location filename="../../../../QTfrontend/ui/widget/mapContainer.cpp" line="111"/>
         <source>Random</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/ui/widget/mapContainer.cpp" line="133"/>
+        <location filename="../../../../QTfrontend/ui/widget/mapContainer.cpp" line="135"/>
         <source>Map preview:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/ui/widget/mapContainer.cpp" line="185"/>
+        <location filename="../../../../QTfrontend/ui/widget/mapContainer.cpp" line="188"/>
         <source>Load map drawing</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/ui/widget/mapContainer.cpp" line="191"/>
+        <location filename="../../../../QTfrontend/ui/widget/mapContainer.cpp" line="194"/>
         <source>Edit map drawing</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/ui/widget/mapContainer.cpp" line="204"/>
-        <source>All</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../../../../QTfrontend/ui/widget/mapContainer.cpp" line="205"/>
-        <source>Small</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../../../../QTfrontend/ui/widget/mapContainer.cpp" line="206"/>
-        <source>Medium</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <location filename="../../../../QTfrontend/ui/widget/mapContainer.cpp" line="207"/>
-        <source>Large</source>
+        <source>All</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../../../../QTfrontend/ui/widget/mapContainer.cpp" line="208"/>
-        <source>Cavern</source>
+        <source>Small</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../../../../QTfrontend/ui/widget/mapContainer.cpp" line="209"/>
+        <source>Medium</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../../../QTfrontend/ui/widget/mapContainer.cpp" line="210"/>
+        <source>Large</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../../../QTfrontend/ui/widget/mapContainer.cpp" line="211"/>
+        <source>Cavern</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../../../QTfrontend/ui/widget/mapContainer.cpp" line="212"/>
         <source>Wacky</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/ui/widget/mapContainer.cpp" line="219"/>
-        <source>Large tunnels</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../../../../QTfrontend/ui/widget/mapContainer.cpp" line="220"/>
-        <source>Small islands</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../../../../QTfrontend/ui/widget/mapContainer.cpp" line="221"/>
-        <source>Medium islands</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <location filename="../../../../QTfrontend/ui/widget/mapContainer.cpp" line="222"/>
+        <source>Large tunnels</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../../../QTfrontend/ui/widget/mapContainer.cpp" line="223"/>
+        <source>Small islands</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../../../QTfrontend/ui/widget/mapContainer.cpp" line="224"/>
+        <source>Medium islands</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../../../QTfrontend/ui/widget/mapContainer.cpp" line="225"/>
         <source>Large islands</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/ui/widget/mapContainer.cpp" line="705"/>
+        <location filename="../../../../QTfrontend/ui/widget/mapContainer.cpp" line="710"/>
         <source>Map size:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/ui/widget/mapContainer.cpp" line="712"/>
+        <location filename="../../../../QTfrontend/ui/widget/mapContainer.cpp" line="717"/>
         <source>Maze style:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/ui/widget/mapContainer.cpp" line="725"/>
+        <location filename="../../../../QTfrontend/ui/widget/mapContainer.cpp" line="730"/>
         <source>Mission:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/ui/widget/mapContainer.cpp" line="735"/>
+        <location filename="../../../../QTfrontend/ui/widget/mapContainer.cpp" line="740"/>
         <source>Map:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/ui/widget/mapContainer.cpp" line="799"/>
-        <location filename="../../../../QTfrontend/ui/widget/mapContainer.cpp" line="930"/>
-        <source>Theme: </source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../../../../QTfrontend/ui/widget/mapContainer.cpp" line="881"/>
+        <location filename="../../../../QTfrontend/ui/widget/mapContainer.cpp" line="804"/>
+        <location filename="../../../../QTfrontend/ui/widget/mapContainer.cpp" line="935"/>
+        <source>Theme: %1</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../../../QTfrontend/ui/widget/mapContainer.cpp" line="886"/>
         <source>Load drawn map</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/ui/widget/mapContainer.cpp" line="881"/>
+        <location filename="../../../../QTfrontend/ui/widget/mapContainer.cpp" line="886"/>
         <source>Drawn Maps</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/ui/widget/mapContainer.cpp" line="881"/>
+        <location filename="../../../../QTfrontend/ui/widget/mapContainer.cpp" line="886"/>
         <source>All files</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/ui/widget/mapContainer.cpp" line="217"/>
+        <location filename="../../../../QTfrontend/ui/widget/mapContainer.cpp" line="220"/>
         <source>Small tunnels</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/ui/widget/mapContainer.cpp" line="218"/>
+        <location filename="../../../../QTfrontend/ui/widget/mapContainer.cpp" line="221"/>
         <source>Medium tunnels</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/ui/widget/mapContainer.cpp" line="124"/>
+        <location filename="../../../../QTfrontend/ui/widget/mapContainer.cpp" line="126"/>
         <source>Seed</source>
         <translation type="unfinished"></translation>
     </message>
@@ -659,40 +679,33 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/net/newnetclient.cpp" line="697"/>
+        <location filename="../../../../QTfrontend/net/newnetclient.cpp" line="707"/>
         <source>Room destroyed</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/net/newnetclient.cpp" line="470"/>
+        <location filename="../../../../QTfrontend/net/newnetclient.cpp" line="484"/>
         <source>You got kicked</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/net/newnetclient.cpp" line="641"/>
-        <location filename="../../../../QTfrontend/net/newnetclient.cpp" line="773"/>
+        <location filename="../../../../QTfrontend/net/newnetclient.cpp" line="651"/>
+        <location filename="../../../../QTfrontend/net/newnetclient.cpp" line="782"/>
         <source>%1 *** %2 has joined the room</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/net/newnetclient.cpp" line="495"/>
-        <source>%1 *** %2 has joined</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../../../../QTfrontend/net/newnetclient.cpp" line="544"/>
-        <location filename="../../../../QTfrontend/net/newnetclient.cpp" line="788"/>
+        <location filename="../../../../QTfrontend/net/newnetclient.cpp" line="797"/>
         <source>%1 *** %2 has left</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/net/newnetclient.cpp" line="546"/>
-        <location filename="../../../../QTfrontend/net/newnetclient.cpp" line="790"/>
+        <location filename="../../../../QTfrontend/net/newnetclient.cpp" line="799"/>
         <source>%1 *** %2 has left (%3)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/hwform.cpp" line="1535"/>
+        <location filename="../../../../QTfrontend/hwform.cpp" line="1559"/>
         <source>Quit reason: </source>
         <translation type="unfinished"></translation>
     </message>
@@ -902,6 +915,19 @@
     </message>
 </context>
 <context>
+    <name>PageDataDownload</name>
+    <message>
+        <location filename="../../../../QTfrontend/ui/page/pagedata.cpp" line="66"/>
+        <source>Loading, please wait.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../../../QTfrontend/ui/page/pagedata.cpp" line="126"/>
+        <source>This page requires an internet connection.</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
     <name>PageDrawMap</name>
     <message>
         <location filename="../../../../QTfrontend/ui/page/pagedrawmap.cpp" line="32"/>
@@ -1022,12 +1048,22 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/ui/page/pagegamestats.cpp" line="174"/>
+        <location filename="../../../../QTfrontend/ui/page/pagegamestats.cpp" line="113"/>
+        <source>Play again</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../../../QTfrontend/ui/page/pagegamestats.cpp" line="118"/>
+        <source>Save</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../../../QTfrontend/ui/page/pagegamestats.cpp" line="193"/>
         <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>
     </message>
     <message numerus="yes">
-        <location filename="../../../../QTfrontend/ui/page/pagegamestats.cpp" line="182"/>
+        <location filename="../../../../QTfrontend/ui/page/pagegamestats.cpp" line="201"/>
         <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>
         <translation type="unfinished">
             <numerusform></numerusform>
@@ -1036,7 +1072,7 @@
         </translation>
     </message>
     <message numerus="yes">
-        <location filename="../../../../QTfrontend/ui/page/pagegamestats.cpp" line="189"/>
+        <location filename="../../../../QTfrontend/ui/page/pagegamestats.cpp" line="208"/>
         <source>A total of &lt;b&gt;%1&lt;/b&gt; hedgehog(s) were killed during this round.</source>
         <translation type="unfinished">
             <numerusform></numerusform>
@@ -1045,7 +1081,7 @@
         </translation>
     </message>
     <message numerus="yes">
-        <location filename="../../../../QTfrontend/ui/page/pagegamestats.cpp" line="253"/>
+        <location filename="../../../../QTfrontend/ui/page/pagegamestats.cpp" line="272"/>
         <source>(%1 kill)</source>
         <translation type="unfinished">
             <numerusform></numerusform>
@@ -1054,7 +1090,7 @@
         </translation>
     </message>
     <message numerus="yes">
-        <location filename="../../../../QTfrontend/ui/page/pagegamestats.cpp" line="264"/>
+        <location filename="../../../../QTfrontend/ui/page/pagegamestats.cpp" line="283"/>
         <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>
@@ -1063,7 +1099,7 @@
         </translation>
     </message>
     <message numerus="yes">
-        <location filename="../../../../QTfrontend/ui/page/pagegamestats.cpp" line="272"/>
+        <location filename="../../../../QTfrontend/ui/page/pagegamestats.cpp" line="291"/>
         <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>
@@ -1072,7 +1108,7 @@
         </translation>
     </message>
     <message numerus="yes">
-        <location filename="../../../../QTfrontend/ui/page/pagegamestats.cpp" line="280"/>
+        <location filename="../../../../QTfrontend/ui/page/pagegamestats.cpp" line="299"/>
         <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>
@@ -1173,12 +1209,12 @@
 <context>
     <name>PageMultiplayer</name>
     <message>
-        <location filename="../../../../QTfrontend/ui/page/pagemultiplayer.cpp" line="52"/>
+        <location filename="../../../../QTfrontend/ui/page/pagemultiplayer.cpp" line="50"/>
         <source>Edit game preferences</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/ui/page/pagemultiplayer.cpp" line="64"/>
+        <location filename="../../../../QTfrontend/ui/page/pagemultiplayer.cpp" line="62"/>
         <source>Start</source>
         <translation type="unfinished"></translation>
     </message>
@@ -1209,7 +1245,12 @@
 <context>
     <name>PageNetServer</name>
     <message>
-        <location filename="../../../../QTfrontend/ui/page/pagenetserver.cpp" line="128"/>
+        <location filename="../../../../QTfrontend/ui/page/pagenetserver.cpp" line="87"/>
+        <source>Click here for details</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../../../QTfrontend/ui/page/pagenetserver.cpp" line="138"/>
         <source>Insert your address here</source>
         <translation type="unfinished"></translation>
     </message>
@@ -1333,97 +1374,97 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/ui/page/pageoptions.cpp" line="369"/>
+        <location filename="../../../../QTfrontend/ui/page/pageoptions.cpp" line="371"/>
         <source>Frontend</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/ui/page/pageoptions.cpp" line="386"/>
+        <location filename="../../../../QTfrontend/ui/page/pageoptions.cpp" line="388"/>
         <source>Custom colors</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/ui/page/pageoptions.cpp" line="416"/>
+        <location filename="../../../../QTfrontend/ui/page/pageoptions.cpp" line="418"/>
         <source>Reset to default colors</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/ui/page/pageoptions.cpp" line="429"/>
+        <location filename="../../../../QTfrontend/ui/page/pageoptions.cpp" line="431"/>
         <source>Game audio</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/ui/page/pageoptions.cpp" line="467"/>
+        <location filename="../../../../QTfrontend/ui/page/pageoptions.cpp" line="469"/>
         <source>Frontend audio</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/ui/page/pageoptions.cpp" line="490"/>
+        <location filename="../../../../QTfrontend/ui/page/pageoptions.cpp" line="492"/>
         <source>Account</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/ui/page/pageoptions.cpp" line="516"/>
+        <location filename="../../../../QTfrontend/ui/page/pageoptions.cpp" line="518"/>
         <source>Proxy settings</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/ui/page/pageoptions.cpp" line="522"/>
-        <source>Proxy host</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../../../../QTfrontend/ui/page/pageoptions.cpp" line="523"/>
-        <source>Proxy port</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <location filename="../../../../QTfrontend/ui/page/pageoptions.cpp" line="524"/>
-        <source>Proxy login</source>
+        <source>Proxy host</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../../../../QTfrontend/ui/page/pageoptions.cpp" line="525"/>
+        <source>Proxy port</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../../../QTfrontend/ui/page/pageoptions.cpp" line="526"/>
+        <source>Proxy login</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../../../QTfrontend/ui/page/pageoptions.cpp" line="527"/>
         <source>Proxy password</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/ui/page/pageoptions.cpp" line="538"/>
-        <source>No proxy</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../../../../QTfrontend/ui/page/pageoptions.cpp" line="539"/>
-        <source>System proxy settings</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <location filename="../../../../QTfrontend/ui/page/pageoptions.cpp" line="540"/>
-        <source>Socks5 proxy</source>
+        <source>No proxy</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../../../../QTfrontend/ui/page/pageoptions.cpp" line="541"/>
+        <source>System proxy settings</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../../../QTfrontend/ui/page/pageoptions.cpp" line="542"/>
+        <source>Socks5 proxy</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../../../QTfrontend/ui/page/pageoptions.cpp" line="543"/>
         <source>HTTP proxy</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/ui/page/pageoptions.cpp" line="576"/>
+        <location filename="../../../../QTfrontend/ui/page/pageoptions.cpp" line="578"/>
         <source>Miscellaneous</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/ui/page/pageoptions.cpp" line="616"/>
+        <location filename="../../../../QTfrontend/ui/page/pageoptions.cpp" line="624"/>
         <source>Updates</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/ui/page/pageoptions.cpp" line="629"/>
+        <location filename="../../../../QTfrontend/ui/page/pageoptions.cpp" line="637"/>
         <source>Check for updates</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/ui/page/pageoptions.cpp" line="643"/>
+        <location filename="../../../../QTfrontend/ui/page/pageoptions.cpp" line="651"/>
         <source>Video recording options</source>
         <translation type="unfinished"></translation>
     </message>
@@ -1444,52 +1485,52 @@
 <context>
     <name>PageRoomsList</name>
     <message>
-        <location filename="../../../../QTfrontend/ui/page/pageroomslist.cpp" line="63"/>
+        <location filename="../../../../QTfrontend/ui/page/pageroomslist.cpp" line="64"/>
         <source>Search for a room:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/ui/page/pageroomslist.cpp" line="90"/>
+        <location filename="../../../../QTfrontend/ui/page/pageroomslist.cpp" line="91"/>
         <source>Create room</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/ui/page/pageroomslist.cpp" line="94"/>
+        <location filename="../../../../QTfrontend/ui/page/pageroomslist.cpp" line="95"/>
         <source>Join room</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/ui/page/pageroomslist.cpp" line="141"/>
+        <location filename="../../../../QTfrontend/ui/page/pageroomslist.cpp" line="153"/>
         <source>Room state</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/ui/page/pageroomslist.cpp" line="165"/>
+        <location filename="../../../../QTfrontend/ui/page/pageroomslist.cpp" line="177"/>
         <source>Rules:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/ui/page/pageroomslist.cpp" line="179"/>
+        <location filename="../../../../QTfrontend/ui/page/pageroomslist.cpp" line="191"/>
         <source>Weapons:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/ui/page/pageroomslist.cpp" line="190"/>
+        <location filename="../../../../QTfrontend/ui/page/pageroomslist.cpp" line="202"/>
         <source>Clear filters</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/ui/page/pageroomslist.cpp" line="208"/>
+        <location filename="../../../../QTfrontend/ui/page/pageroomslist.cpp" line="220"/>
         <source>Admin features</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/ui/page/pageroomslist.cpp" line="210"/>
+        <location filename="../../../../QTfrontend/ui/page/pageroomslist.cpp" line="222"/>
         <source>Open server administration page</source>
         <translation type="unfinished"></translation>
     </message>
     <message numerus="yes">
-        <location filename="../../../../QTfrontend/ui/page/pageroomslist.cpp" line="595"/>
+        <location filename="../../../../QTfrontend/ui/page/pageroomslist.cpp" line="609"/>
         <source>%1 players online</source>
         <translation type="unfinished">
             <numerusform></numerusform>
@@ -1803,23 +1844,23 @@
     </message>
     <message>
         <location filename="../../../../QTfrontend/ui/widget/chatwidget.cpp" line="269"/>
-        <location filename="../../../../QTfrontend/ui/widget/chatwidget.cpp" line="874"/>
+        <location filename="../../../../QTfrontend/ui/widget/chatwidget.cpp" line="885"/>
         <source>Ignore</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../../../../QTfrontend/ui/widget/chatwidget.cpp" line="273"/>
-        <location filename="../../../../QTfrontend/ui/widget/chatwidget.cpp" line="886"/>
+        <location filename="../../../../QTfrontend/ui/widget/chatwidget.cpp" line="897"/>
         <source>Add friend</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/ui/widget/chatwidget.cpp" line="869"/>
+        <location filename="../../../../QTfrontend/ui/widget/chatwidget.cpp" line="880"/>
         <source>Unignore</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/ui/widget/chatwidget.cpp" line="881"/>
+        <location filename="../../../../QTfrontend/ui/widget/chatwidget.cpp" line="892"/>
         <source>Remove friend</source>
         <translation type="unfinished"></translation>
     </message>
@@ -1839,12 +1880,12 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/ui/page/pageroomslist.cpp" line="150"/>
+        <location filename="../../../../QTfrontend/ui/page/pageroomslist.cpp" line="162"/>
         <source>Show games in lobby</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/ui/page/pageroomslist.cpp" line="153"/>
+        <location filename="../../../../QTfrontend/ui/page/pageroomslist.cpp" line="165"/>
         <source>Show games in-progress</source>
         <translation type="unfinished"></translation>
     </message>
@@ -1852,75 +1893,75 @@
 <context>
     <name>QCheckBox</name>
     <message>
-        <location filename="../../../../QTfrontend/ui/page/pageoptions.cpp" line="364"/>
+        <location filename="../../../../QTfrontend/ui/page/pageoptions.cpp" line="366"/>
         <source>Show ammo menu tooltips</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/ui/page/pageoptions.cpp" line="358"/>
+        <location filename="../../../../QTfrontend/ui/page/pageoptions.cpp" line="360"/>
         <source>Alternative damage show</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/ui/page/pageoptions.cpp" line="381"/>
+        <location filename="../../../../QTfrontend/ui/page/pageoptions.cpp" line="383"/>
         <source>Visual effects</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/ui/page/pageoptions.cpp" line="454"/>
-        <location filename="../../../../QTfrontend/ui/page/pageoptions.cpp" line="471"/>
+        <location filename="../../../../QTfrontend/ui/page/pageoptions.cpp" line="456"/>
+        <location filename="../../../../QTfrontend/ui/page/pageoptions.cpp" line="473"/>
         <source>Sound</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/ui/page/pageoptions.cpp" line="455"/>
+        <location filename="../../../../QTfrontend/ui/page/pageoptions.cpp" line="457"/>
         <source>In-game sound effects</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/ui/page/pageoptions.cpp" line="461"/>
-        <location filename="../../../../QTfrontend/ui/page/pageoptions.cpp" line="476"/>
+        <location filename="../../../../QTfrontend/ui/page/pageoptions.cpp" line="463"/>
+        <location filename="../../../../QTfrontend/ui/page/pageoptions.cpp" line="478"/>
         <source>Music</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/ui/page/pageoptions.cpp" line="462"/>
+        <location filename="../../../../QTfrontend/ui/page/pageoptions.cpp" line="464"/>
         <source>In-game music</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/ui/page/pageoptions.cpp" line="472"/>
+        <location filename="../../../../QTfrontend/ui/page/pageoptions.cpp" line="474"/>
         <source>Frontend sound effects</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/ui/page/pageoptions.cpp" line="477"/>
+        <location filename="../../../../QTfrontend/ui/page/pageoptions.cpp" line="479"/>
         <source>Frontend music</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/ui/page/pageoptions.cpp" line="602"/>
+        <location filename="../../../../QTfrontend/ui/page/pageoptions.cpp" line="610"/>
         <source>Append date and time to record file name</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/ui/page/pageoptions.cpp" line="622"/>
+        <location filename="../../../../QTfrontend/ui/page/pageoptions.cpp" line="630"/>
         <source>Check for updates at startup</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/ui/page/pageoptions.cpp" line="375"/>
+        <location filename="../../../../QTfrontend/ui/page/pageoptions.cpp" line="377"/>
         <source>Fullscreen</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/ui/page/pageoptions.cpp" line="347"/>
+        <location filename="../../../../QTfrontend/ui/page/pageoptions.cpp" line="349"/>
         <source>Show FPS</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../../../../QTfrontend/ui/dialog/input_password.cpp" line="55"/>
-        <location filename="../../../../QTfrontend/ui/page/pageoptions.cpp" line="507"/>
+        <location filename="../../../../QTfrontend/ui/page/pageoptions.cpp" line="509"/>
         <source>Save password</source>
         <translation type="unfinished"></translation>
     </message>
@@ -1935,12 +1976,12 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/ui/page/pageoptions.cpp" line="683"/>
+        <location filename="../../../../QTfrontend/ui/page/pageoptions.cpp" line="691"/>
         <source>Record audio</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/ui/page/pageoptions.cpp" line="732"/>
+        <location filename="../../../../QTfrontend/ui/page/pageoptions.cpp" line="740"/>
         <source>Use game resolution</source>
         <translation type="unfinished"></translation>
     </message>
@@ -1963,88 +2004,88 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/ui/page/pageoptions.cpp" line="588"/>
+        <location filename="../../../../QTfrontend/ui/page/pageoptions.cpp" line="590"/>
         <source>(System default)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/ui/page/pageoptions.cpp" line="311"/>
-        <source>Disabled</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../../../../QTfrontend/ui/page/pageoptions.cpp" line="312"/>
-        <source>Red/Cyan</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <location filename="../../../../QTfrontend/ui/page/pageoptions.cpp" line="313"/>
-        <source>Cyan/Red</source>
+        <source>Disabled</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../../../../QTfrontend/ui/page/pageoptions.cpp" line="314"/>
-        <source>Red/Blue</source>
+        <source>Red/Cyan</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../../../../QTfrontend/ui/page/pageoptions.cpp" line="315"/>
-        <source>Blue/Red</source>
+        <source>Cyan/Red</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../../../../QTfrontend/ui/page/pageoptions.cpp" line="316"/>
-        <source>Red/Green</source>
+        <source>Red/Blue</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../../../../QTfrontend/ui/page/pageoptions.cpp" line="317"/>
+        <source>Blue/Red</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../../../QTfrontend/ui/page/pageoptions.cpp" line="318"/>
+        <source>Red/Green</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../../../QTfrontend/ui/page/pageoptions.cpp" line="319"/>
         <source>Green/Red</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
+        <location filename="../../../../QTfrontend/ui/page/pageoptions.cpp" line="326"/>
+        <source>Side-by-side</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../../../QTfrontend/ui/page/pageoptions.cpp" line="327"/>
+        <source>Top-Bottom</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../../../QTfrontend/ui/page/pageoptions.cpp" line="320"/>
+        <source>Red/Cyan grayscale</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../../../QTfrontend/ui/page/pageoptions.cpp" line="321"/>
+        <source>Cyan/Red grayscale</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../../../QTfrontend/ui/page/pageoptions.cpp" line="322"/>
+        <source>Red/Blue grayscale</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../../../QTfrontend/ui/page/pageoptions.cpp" line="323"/>
+        <source>Blue/Red grayscale</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
         <location filename="../../../../QTfrontend/ui/page/pageoptions.cpp" line="324"/>
-        <source>Side-by-side</source>
+        <source>Red/Green grayscale</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../../../../QTfrontend/ui/page/pageoptions.cpp" line="325"/>
-        <source>Top-Bottom</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../../../../QTfrontend/ui/page/pageoptions.cpp" line="318"/>
-        <source>Red/Cyan grayscale</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../../../../QTfrontend/ui/page/pageoptions.cpp" line="319"/>
-        <source>Cyan/Red grayscale</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../../../../QTfrontend/ui/page/pageoptions.cpp" line="320"/>
-        <source>Red/Blue grayscale</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../../../../QTfrontend/ui/page/pageoptions.cpp" line="321"/>
-        <source>Blue/Red grayscale</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../../../../QTfrontend/ui/page/pageoptions.cpp" line="322"/>
-        <source>Red/Green grayscale</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../../../../QTfrontend/ui/page/pageoptions.cpp" line="323"/>
         <source>Green/Red grayscale</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/ui/page/pageroomslist.cpp" line="199"/>
-        <location filename="../../../../QTfrontend/ui/page/pageroomslist.cpp" line="272"/>
+        <location filename="../../../../QTfrontend/ui/page/pageroomslist.cpp" line="211"/>
+        <location filename="../../../../QTfrontend/ui/page/pageroomslist.cpp" line="286"/>
         <source>Any</source>
         <translation type="unfinished"></translation>
     </message>
@@ -2082,7 +2123,7 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/ui/widget/teamselect.cpp" line="255"/>
+        <location filename="../../../../QTfrontend/ui/widget/teamselect.cpp" line="259"/>
         <source>Playing teams</source>
         <translation type="unfinished"></translation>
     </message>
@@ -2180,22 +2221,27 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/ui/page/pageoptions.cpp" line="582"/>
+        <location filename="../../../../QTfrontend/ui/page/pageoptions.cpp" line="584"/>
         <source>Locale</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/ui/page/pageoptions.cpp" line="496"/>
+        <location filename="../../../../QTfrontend/ui/page/pageoptions.cpp" line="498"/>
         <source>Nickname</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/ui/page/pageoptions.cpp" line="708"/>
+        <location filename="../../../../QTfrontend/ui/page/pageoptions.cpp" line="599"/>
+        <source>This setting will be effective at next restart.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../../../QTfrontend/ui/page/pageoptions.cpp" line="716"/>
         <source>Resolution</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/ui/page/pageoptions.cpp" line="293"/>
+        <location filename="../../../../QTfrontend/ui/page/pageoptions.cpp" line="295"/>
         <source>Quality</source>
         <translation type="unfinished"></translation>
     </message>
@@ -2215,17 +2261,17 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/ui/page/pageoptions.cpp" line="307"/>
+        <location filename="../../../../QTfrontend/ui/page/pageoptions.cpp" line="309"/>
         <source>Stereo rendering</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/ui/page/pageoptions.cpp" line="437"/>
+        <location filename="../../../../QTfrontend/ui/page/pageoptions.cpp" line="439"/>
         <source>Initial sound volume</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/ui/page/pageoptions.cpp" line="338"/>
+        <location filename="../../../../QTfrontend/ui/page/pageoptions.cpp" line="340"/>
         <source>FPS limit</source>
         <translation type="unfinished"></translation>
     </message>
@@ -2347,52 +2393,52 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/ui/widget/feedbackdialog.cpp" line="100"/>
+        <location filename="../../../../QTfrontend/ui/widget/feedbackdialog.cpp" line="103"/>
         <source>Your Email</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/ui/widget/feedbackdialog.cpp" line="108"/>
+        <location filename="../../../../QTfrontend/ui/widget/feedbackdialog.cpp" line="111"/>
         <source>Summary</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/ui/widget/feedbackdialog.cpp" line="118"/>
+        <location filename="../../../../QTfrontend/ui/widget/feedbackdialog.cpp" line="121"/>
         <source>Send system information</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/ui/widget/feedbackdialog.cpp" line="133"/>
+        <location filename="../../../../QTfrontend/ui/widget/feedbackdialog.cpp" line="136"/>
         <source>Description</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/ui/widget/feedbackdialog.cpp" line="161"/>
+        <location filename="../../../../QTfrontend/ui/widget/feedbackdialog.cpp" line="164"/>
         <source>Type the security code:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/ui/page/pageoptions.cpp" line="652"/>
+        <location filename="../../../../QTfrontend/ui/page/pageoptions.cpp" line="660"/>
         <source>Format</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/ui/page/pageoptions.cpp" line="672"/>
+        <location filename="../../../../QTfrontend/ui/page/pageoptions.cpp" line="680"/>
         <source>Audio codec</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/ui/page/pageoptions.cpp" line="697"/>
+        <location filename="../../../../QTfrontend/ui/page/pageoptions.cpp" line="705"/>
         <source>Video codec</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/ui/page/pageoptions.cpp" line="738"/>
+        <location filename="../../../../QTfrontend/ui/page/pageoptions.cpp" line="746"/>
         <source>Framerate</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/ui/page/pageoptions.cpp" line="752"/>
+        <location filename="../../../../QTfrontend/ui/page/pageoptions.cpp" line="760"/>
         <source>Bitrate (Kbps)</source>
         <translation type="unfinished"></translation>
     </message>
@@ -2400,7 +2446,7 @@
 <context>
     <name>QLineEdit</name>
     <message>
-        <location filename="../../../../QTfrontend/hwform.cpp" line="933"/>
+        <location filename="../../../../QTfrontend/hwform.cpp" line="952"/>
         <source>unnamed</source>
         <translation type="unfinished"></translation>
     </message>
@@ -2411,7 +2457,7 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/ui/page/pageoptions.cpp" line="501"/>
+        <location filename="../../../../QTfrontend/ui/page/pageoptions.cpp" line="503"/>
         <source>anonymous</source>
         <translation type="unfinished"></translation>
     </message>
@@ -2442,82 +2488,82 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/hwform.cpp" line="962"/>
+        <location filename="../../../../QTfrontend/hwform.cpp" line="981"/>
         <location filename="../../../../QTfrontend/ui/page/pagescheme.cpp" line="500"/>
         <source>Cannot delete default scheme &apos;%1&apos;!</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/hwform.cpp" line="988"/>
+        <location filename="../../../../QTfrontend/hwform.cpp" line="1007"/>
         <source>Please select a record from the list</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/hwform.cpp" line="1083"/>
+        <location filename="../../../../QTfrontend/hwform.cpp" line="1102"/>
         <source>Hedgewars - Nick not registered</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/hwform.cpp" line="1474"/>
+        <location filename="../../../../QTfrontend/hwform.cpp" line="1498"/>
         <source>Unable to start server</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/hwform.cpp" line="1535"/>
+        <location filename="../../../../QTfrontend/hwform.cpp" line="1559"/>
         <source>Connection to server is lost</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/hwform.cpp" line="2021"/>
+        <location filename="../../../../QTfrontend/hwform.cpp" line="2082"/>
         <source>Not all players are ready</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/hwform.cpp" line="2022"/>
+        <location filename="../../../../QTfrontend/hwform.cpp" line="2083"/>
         <source>Are you sure you want to start this game?
 Not all players are ready.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/ui/widget/feedbackdialog.cpp" line="347"/>
+        <location filename="../../../../QTfrontend/ui/widget/feedbackdialog.cpp" line="352"/>
         <location filename="../../../../QTfrontend/util/MessageDialog.cpp" line="24"/>
         <source>Hedgewars - Error</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/ui/widget/feedbackdialog.cpp" line="357"/>
+        <location filename="../../../../QTfrontend/ui/widget/feedbackdialog.cpp" line="362"/>
         <source>System Information Preview</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/ui/widget/feedbackdialog.cpp" line="372"/>
-        <location filename="../../../../QTfrontend/ui/widget/feedbackdialog.cpp" line="383"/>
+        <location filename="../../../../QTfrontend/ui/widget/feedbackdialog.cpp" line="377"/>
+        <location filename="../../../../QTfrontend/ui/widget/feedbackdialog.cpp" line="388"/>
         <source>Failed to generate captcha</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/ui/widget/feedbackdialog.cpp" line="400"/>
+        <location filename="../../../../QTfrontend/ui/widget/feedbackdialog.cpp" line="405"/>
         <source>Failed to download captcha</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/ui/widget/feedbackdialog.cpp" line="464"/>
+        <location filename="../../../../QTfrontend/ui/widget/feedbackdialog.cpp" line="469"/>
         <source>Please fill out all fields. Email is optional.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/hwform.cpp" line="1963"/>
-        <location filename="../../../../QTfrontend/ui/widget/feedbackdialog.cpp" line="434"/>
+        <location filename="../../../../QTfrontend/hwform.cpp" line="1985"/>
+        <location filename="../../../../QTfrontend/ui/widget/feedbackdialog.cpp" line="439"/>
         <source>Hedgewars - Success</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/hwform.cpp" line="1964"/>
+        <location filename="../../../../QTfrontend/hwform.cpp" line="1986"/>
         <source>All file associations have been set</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/hwform.cpp" line="1969"/>
+        <location filename="../../../../QTfrontend/hwform.cpp" line="1991"/>
         <source>File association failed.</source>
         <translation type="unfinished"></translation>
     </message>
@@ -2595,22 +2641,22 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/ui/page/pageroomslist.cpp" line="546"/>
+        <location filename="../../../../QTfrontend/ui/page/pageroomslist.cpp" line="560"/>
         <source>Room Name - Error</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/ui/page/pageroomslist.cpp" line="547"/>
+        <location filename="../../../../QTfrontend/ui/page/pageroomslist.cpp" line="561"/>
         <source>Please select room from the list</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/ui/page/pageroomslist.cpp" line="582"/>
+        <location filename="../../../../QTfrontend/ui/page/pageroomslist.cpp" line="596"/>
         <source>Room Name - Are you sure?</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/ui/page/pageroomslist.cpp" line="583"/>
+        <location filename="../../../../QTfrontend/ui/page/pageroomslist.cpp" line="597"/>
         <source>The game you are trying to join has started.
 Do you still want to join the room?</source>
         <translation type="unfinished"></translation>
@@ -2659,7 +2705,7 @@
     <message>
         <location filename="../../../../QTfrontend/ui/widget/drawmapwidget.cpp" line="101"/>
         <location filename="../../../../QTfrontend/ui/widget/drawmapwidget.cpp" line="121"/>
-        <location filename="../../../../QTfrontend/ui/widget/mapContainer.cpp" line="891"/>
+        <location filename="../../../../QTfrontend/ui/widget/mapContainer.cpp" line="896"/>
         <source>File error</source>
         <translation type="unfinished"></translation>
     </message>
@@ -2670,7 +2716,7 @@
     </message>
     <message>
         <location filename="../../../../QTfrontend/ui/widget/drawmapwidget.cpp" line="122"/>
-        <location filename="../../../../QTfrontend/ui/widget/mapContainer.cpp" line="892"/>
+        <location filename="../../../../QTfrontend/ui/widget/mapContainer.cpp" line="897"/>
         <source>Cannot open &apos;%1&apos; for reading</source>
         <translation type="unfinished"></translation>
     </message>
@@ -2776,17 +2822,17 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/ui/page/pagenetserver.cpp" line="89"/>
+        <location filename="../../../../QTfrontend/ui/page/pagenetserver.cpp" line="99"/>
         <source>Start</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/ui/page/pagenetserver.cpp" line="90"/>
+        <location filename="../../../../QTfrontend/ui/page/pagenetserver.cpp" line="100"/>
         <source>Start private server</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/ui/page/pageoptions.cpp" line="608"/>
+        <location filename="../../../../QTfrontend/ui/page/pageoptions.cpp" line="616"/>
         <source>Associate file extensions</source>
         <translation type="unfinished"></translation>
     </message>
@@ -2819,12 +2865,12 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/ui/page/pageoptions.cpp" line="765"/>
+        <location filename="../../../../QTfrontend/ui/page/pageoptions.cpp" line="773"/>
         <source>Set default options</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/ui/page/pageoptions.cpp" line="766"/>
+        <location filename="../../../../QTfrontend/ui/page/pageoptions.cpp" line="774"/>
         <source>Restore default coding parameters</source>
         <translation type="unfinished"></translation>
     </message>
@@ -3022,7 +3068,7 @@
 <context>
     <name>TeamSelWidget</name>
     <message>
-        <location filename="../../../../QTfrontend/ui/widget/teamselect.cpp" line="260"/>
+        <location filename="../../../../QTfrontend/ui/widget/teamselect.cpp" line="264"/>
         <source>At least two teams are required to play!</source>
         <translation type="unfinished"></translation>
     </message>
@@ -3421,7 +3467,7 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/util/DataManager.cpp" line="156"/>
+        <location filename="../../../../QTfrontend/util/DataManager.cpp" line="158"/>
         <source>Keyboard</source>
         <translation type="unfinished"></translation>
     </message>
@@ -3781,147 +3827,4 @@
         <translation type="unfinished"></translation>
     </message>
 </context>
-<context>
-    <name>server</name>
-    <message>
-        <location filename="../../../../QTfrontend/servermessages.h" line="2"/>
-        <source>Not room master</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../../../../QTfrontend/servermessages.h" line="3"/>
-        <source>Corrupted hedgehogs info</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../../../../QTfrontend/servermessages.h" line="4"/>
-        <source>too many teams</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../../../../QTfrontend/servermessages.h" line="5"/>
-        <source>too many hedgehogs</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../../../../QTfrontend/servermessages.h" line="6"/>
-        <source>There&apos;s already a team with same name in the list</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../../../../QTfrontend/servermessages.h" line="7"/>
-        <source>round in progress</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../../../../QTfrontend/servermessages.h" line="8"/>
-        <source>restricted</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../../../../QTfrontend/servermessages.h" line="9"/>
-        <source>REMOVE_TEAM: no such team</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../../../../QTfrontend/servermessages.h" line="10"/>
-        <source>Not team owner!</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../../../../QTfrontend/servermessages.h" line="11"/>
-        <source>Less than two clans!</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../../../../QTfrontend/servermessages.h" line="12"/>
-        <source>Room with such name already exists</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../../../../QTfrontend/servermessages.h" line="13"/>
-        <source>Nickname already chosen</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../../../../QTfrontend/servermessages.h" line="14"/>
-        <source>Illegal nickname</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../../../../QTfrontend/servermessages.h" line="15"/>
-        <source>Protocol already known</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../../../../QTfrontend/servermessages.h" line="16"/>
-        <source>Bad number</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../../../../QTfrontend/servermessages.h" line="17"/>
-        <source>Nickname is already in use</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../../../../QTfrontend/servermessages.h" line="18"/>
-        <source>No checker rights</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../../../../QTfrontend/servermessages.h" line="19"/>
-        <source>Authentication failed</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../../../../QTfrontend/servermessages.h" line="20"/>
-        <source>60 seconds cooldown after kick</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../../../../QTfrontend/servermessages.h" line="21"/>
-        <source>kicked</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../../../../QTfrontend/servermessages.h" line="22"/>
-        <source>Ping timeout</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../../../../QTfrontend/servermessages.h" line="23"/>
-        <source>bye</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../../../../QTfrontend/servermessages.h" line="24"/>
-        <source>Illegal room name</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../../../../QTfrontend/servermessages.h" line="25"/>
-        <source>No such room</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../../../../QTfrontend/servermessages.h" line="26"/>
-        <source>Joining restricted</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../../../../QTfrontend/servermessages.h" line="27"/>
-        <source>Registered users only</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../../../../QTfrontend/servermessages.h" line="28"/>
-        <source>You are banned in this room</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../../../../QTfrontend/servermessages.h" line="29"/>
-        <source>Empty config entry</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
 </TS>
--- a/share/hedgewars/Data/Locale/hedgewars_ms.ts	Thu Apr 04 14:37:19 2013 +0200
+++ b/share/hedgewars/Data/Locale/hedgewars_ms.ts	Tue Jun 04 22:28:12 2013 +0200
@@ -97,7 +97,7 @@
 <context>
     <name>DataManager</name>
     <message>
-        <location filename="../../../../QTfrontend/util/DataManager.cpp" line="149"/>
+        <location filename="../../../../QTfrontend/util/DataManager.cpp" line="151"/>
         <source>Use Default</source>
         <translation type="unfinished"></translation>
     </message>
@@ -105,37 +105,37 @@
 <context>
     <name>FeedbackDialog</name>
     <message>
-        <location filename="../../../../QTfrontend/ui/widget/feedbackdialog.cpp" line="87"/>
-        <source>Please give us feedback!</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../../../../QTfrontend/ui/widget/feedbackdialog.cpp" line="88"/>
+        <location filename="../../../../QTfrontend/ui/widget/feedbackdialog.cpp" line="91"/>
         <source>We are always happy about suggestions, ideas, or bug reports.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/ui/widget/feedbackdialog.cpp" line="89"/>
-        <source>If you found a bug, you can see if it&apos;s already known here (english): </source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <location filename="../../../../QTfrontend/ui/widget/feedbackdialog.cpp" line="90"/>
-        <source>Your email address is optional, but we may want to contact you.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../../../../QTfrontend/ui/widget/feedbackdialog.cpp" line="121"/>
+        <source>Send us feedback!</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../../../QTfrontend/ui/widget/feedbackdialog.cpp" line="92"/>
+        <source>If you found a bug, you can see if it&apos;s already been reported here: </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../../../QTfrontend/ui/widget/feedbackdialog.cpp" line="93"/>
+        <source>Your email address is optional, but necessary if you want us to get back at you.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../../../QTfrontend/ui/widget/feedbackdialog.cpp" line="124"/>
         <source>View</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/ui/widget/feedbackdialog.cpp" line="147"/>
+        <location filename="../../../../QTfrontend/ui/widget/feedbackdialog.cpp" line="150"/>
         <source>Cancel</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/ui/widget/feedbackdialog.cpp" line="175"/>
+        <location filename="../../../../QTfrontend/ui/widget/feedbackdialog.cpp" line="178"/>
         <source>Send Feedback</source>
         <translation type="unfinished"></translation>
     </message>
@@ -255,52 +255,67 @@
 <context>
     <name>HWChatWidget</name>
     <message>
-        <location filename="../../../../QTfrontend/ui/widget/chatwidget.cpp" line="641"/>
+        <location filename="../../../../QTfrontend/ui/widget/chatwidget.cpp" line="502"/>
+        <source>%1 has joined</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../../../QTfrontend/ui/widget/chatwidget.cpp" line="523"/>
+        <source>%1 has left</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../../../QTfrontend/ui/widget/chatwidget.cpp" line="525"/>
+        <source>%1 has left (%2)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../../../QTfrontend/ui/widget/chatwidget.cpp" line="652"/>
         <source>%1 has been removed from your ignore list</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/ui/widget/chatwidget.cpp" line="651"/>
+        <location filename="../../../../QTfrontend/ui/widget/chatwidget.cpp" line="662"/>
         <source>%1 has been added to your ignore list</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/ui/widget/chatwidget.cpp" line="681"/>
+        <location filename="../../../../QTfrontend/ui/widget/chatwidget.cpp" line="692"/>
         <source>%1 has been removed from your friends list</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/ui/widget/chatwidget.cpp" line="690"/>
+        <location filename="../../../../QTfrontend/ui/widget/chatwidget.cpp" line="701"/>
         <source>%1 has been added to your friends list</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/ui/widget/chatwidget.cpp" line="756"/>
+        <location filename="../../../../QTfrontend/ui/widget/chatwidget.cpp" line="767"/>
         <source>Stylesheet imported from %1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/ui/widget/chatwidget.cpp" line="757"/>
+        <location filename="../../../../QTfrontend/ui/widget/chatwidget.cpp" line="768"/>
         <source>Enter %1 if you want to use the current StyleSheet in future, enter %2 to reset!</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/ui/widget/chatwidget.cpp" line="765"/>
+        <location filename="../../../../QTfrontend/ui/widget/chatwidget.cpp" line="776"/>
         <source>Couldn&apos;t read %1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/ui/widget/chatwidget.cpp" line="773"/>
+        <location filename="../../../../QTfrontend/ui/widget/chatwidget.cpp" line="784"/>
         <source>StyleSheet discarded</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/ui/widget/chatwidget.cpp" line="797"/>
+        <location filename="../../../../QTfrontend/ui/widget/chatwidget.cpp" line="808"/>
         <source>StyleSheet saved to %1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/ui/widget/chatwidget.cpp" line="800"/>
+        <location filename="../../../../QTfrontend/ui/widget/chatwidget.cpp" line="811"/>
         <source>Failed to save StyleSheet to %1</source>
         <translation type="unfinished"></translation>
     </message>
@@ -318,17 +333,17 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/hwform.cpp" line="632"/>
+        <location filename="../../../../QTfrontend/hwform.cpp" line="636"/>
         <source>Game aborted</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/hwform.cpp" line="1056"/>
+        <location filename="../../../../QTfrontend/hwform.cpp" line="1075"/>
         <source>Hedgewars - Nick registered</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/hwform.cpp" line="1057"/>
+        <location filename="../../../../QTfrontend/hwform.cpp" line="1076"/>
         <source>This nick is registered, and you haven&apos;t specified a password.
 
 If this nick isn&apos;t yours, please register your own nick at www.hedgewars.org
@@ -337,107 +352,112 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/hwform.cpp" line="1085"/>
+        <location filename="../../../../QTfrontend/hwform.cpp" line="1104"/>
         <source>Your nickname is not registered.
 To prevent someone else from using it,
 please register it at www.hedgewars.org</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/hwform.cpp" line="1090"/>
+        <location filename="../../../../QTfrontend/hwform.cpp" line="1109"/>
         <source>
 
 Your password wasn&apos;t saved either.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/hwform.cpp" line="1102"/>
+        <location filename="../../../../QTfrontend/hwform.cpp" line="1121"/>
         <source>Nickname</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/hwform.cpp" line="1102"/>
+        <location filename="../../../../QTfrontend/hwform.cpp" line="1121"/>
         <source>Someone already uses your nickname %1 on the server.
 Please pick another nickname:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/hwform.cpp" line="1107"/>
-        <location filename="../../../../QTfrontend/hwform.cpp" line="1400"/>
+        <location filename="../../../../QTfrontend/hwform.cpp" line="1126"/>
+        <location filename="../../../../QTfrontend/hwform.cpp" line="1435"/>
         <source>No nickname supplied.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/hwform.cpp" line="1107"/>
-        <location filename="../../../../QTfrontend/hwform.cpp" line="1400"/>
+        <location filename="../../../../QTfrontend/hwform.cpp" line="1126"/>
+        <location filename="../../../../QTfrontend/hwform.cpp" line="1435"/>
         <source>Hedgewars - Empty nickname</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/hwform.cpp" line="1133"/>
+        <location filename="../../../../QTfrontend/hwform.cpp" line="1152"/>
         <source>Hedgewars - Wrong password</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/hwform.cpp" line="1133"/>
+        <location filename="../../../../QTfrontend/hwform.cpp" line="1152"/>
         <source>You entered a wrong password.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/hwform.cpp" line="1154"/>
+        <location filename="../../../../QTfrontend/hwform.cpp" line="1173"/>
         <source>Try Again</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/hwform.cpp" line="1515"/>
+        <location filename="../../../../QTfrontend/hwform.cpp" line="1539"/>
         <source>Hedgewars - Connection error</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/hwform.cpp" line="1515"/>
+        <location filename="../../../../QTfrontend/hwform.cpp" line="1539"/>
         <source>You reconnected too fast.
 Please wait a few seconds and try again.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/hwform.cpp" line="1672"/>
-        <location filename="../../../../QTfrontend/hwform.cpp" line="1993"/>
+        <location filename="../../../../QTfrontend/hwform.cpp" line="1696"/>
+        <location filename="../../../../QTfrontend/hwform.cpp" line="2015"/>
         <source>Cannot save record to file %1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/hwform.cpp" line="1923"/>
+        <location filename="../../../../QTfrontend/hwform.cpp" line="1945"/>
         <source>Hedgewars Demo File</source>
         <comment>File Types</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/hwform.cpp" line="1924"/>
+        <location filename="../../../../QTfrontend/hwform.cpp" line="1946"/>
         <source>Hedgewars Save File</source>
         <comment>File Types</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/hwform.cpp" line="1985"/>
+        <location filename="../../../../QTfrontend/hwform.cpp" line="2007"/>
         <source>Demo name</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/hwform.cpp" line="1985"/>
+        <location filename="../../../../QTfrontend/hwform.cpp" line="2007"/>
         <source>Demo name:</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <location filename="../../../../QTfrontend/hwform.cpp" line="2075"/>
+        <source>This page requires an internet connection.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>HWGame</name>
     <message>
-        <location filename="../../../../QTfrontend/game.cpp" line="374"/>
+        <location filename="../../../../QTfrontend/game.cpp" line="386"/>
         <location filename="../../../../QTfrontend/net/recorder.cpp" line="112"/>
         <source>en.txt</source>
         <translation>ms.txt</translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/game.cpp" line="415"/>
+        <location filename="../../../../QTfrontend/game.cpp" line="427"/>
         <source>Cannot open demofile %1</source>
         <translation type="unfinished"></translation>
     </message>
@@ -445,158 +465,158 @@
 <context>
     <name>HWMapContainer</name>
     <message>
-        <location filename="../../../../QTfrontend/ui/widget/mapContainer.cpp" line="93"/>
+        <location filename="../../../../QTfrontend/ui/widget/mapContainer.cpp" line="94"/>
         <source>Map type:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/ui/widget/mapContainer.cpp" line="96"/>
-        <source>Image map</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <location filename="../../../../QTfrontend/ui/widget/mapContainer.cpp" line="97"/>
-        <source>Mission map</source>
+        <source>Image map</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../../../../QTfrontend/ui/widget/mapContainer.cpp" line="98"/>
-        <source>Hand-drawn</source>
+        <source>Mission map</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../../../../QTfrontend/ui/widget/mapContainer.cpp" line="99"/>
-        <source>Randomly generated</source>
+        <source>Hand-drawn</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../../../../QTfrontend/ui/widget/mapContainer.cpp" line="100"/>
+        <source>Randomly generated</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../../../QTfrontend/ui/widget/mapContainer.cpp" line="101"/>
         <source>Random maze</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/ui/widget/mapContainer.cpp" line="110"/>
+        <location filename="../../../../QTfrontend/ui/widget/mapContainer.cpp" line="111"/>
         <source>Random</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/ui/widget/mapContainer.cpp" line="133"/>
+        <location filename="../../../../QTfrontend/ui/widget/mapContainer.cpp" line="135"/>
         <source>Map preview:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/ui/widget/mapContainer.cpp" line="185"/>
+        <location filename="../../../../QTfrontend/ui/widget/mapContainer.cpp" line="188"/>
         <source>Load map drawing</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/ui/widget/mapContainer.cpp" line="191"/>
+        <location filename="../../../../QTfrontend/ui/widget/mapContainer.cpp" line="194"/>
         <source>Edit map drawing</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/ui/widget/mapContainer.cpp" line="204"/>
-        <source>All</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../../../../QTfrontend/ui/widget/mapContainer.cpp" line="205"/>
-        <source>Small</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../../../../QTfrontend/ui/widget/mapContainer.cpp" line="206"/>
-        <source>Medium</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <location filename="../../../../QTfrontend/ui/widget/mapContainer.cpp" line="207"/>
-        <source>Large</source>
+        <source>All</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../../../../QTfrontend/ui/widget/mapContainer.cpp" line="208"/>
-        <source>Cavern</source>
+        <source>Small</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../../../../QTfrontend/ui/widget/mapContainer.cpp" line="209"/>
+        <source>Medium</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../../../QTfrontend/ui/widget/mapContainer.cpp" line="210"/>
+        <source>Large</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../../../QTfrontend/ui/widget/mapContainer.cpp" line="211"/>
+        <source>Cavern</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../../../QTfrontend/ui/widget/mapContainer.cpp" line="212"/>
         <source>Wacky</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/ui/widget/mapContainer.cpp" line="219"/>
-        <source>Large tunnels</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../../../../QTfrontend/ui/widget/mapContainer.cpp" line="220"/>
-        <source>Small islands</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../../../../QTfrontend/ui/widget/mapContainer.cpp" line="221"/>
-        <source>Medium islands</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <location filename="../../../../QTfrontend/ui/widget/mapContainer.cpp" line="222"/>
+        <source>Large tunnels</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../../../QTfrontend/ui/widget/mapContainer.cpp" line="223"/>
+        <source>Small islands</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../../../QTfrontend/ui/widget/mapContainer.cpp" line="224"/>
+        <source>Medium islands</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../../../QTfrontend/ui/widget/mapContainer.cpp" line="225"/>
         <source>Large islands</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/ui/widget/mapContainer.cpp" line="705"/>
+        <location filename="../../../../QTfrontend/ui/widget/mapContainer.cpp" line="710"/>
         <source>Map size:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/ui/widget/mapContainer.cpp" line="712"/>
+        <location filename="../../../../QTfrontend/ui/widget/mapContainer.cpp" line="717"/>
         <source>Maze style:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/ui/widget/mapContainer.cpp" line="725"/>
+        <location filename="../../../../QTfrontend/ui/widget/mapContainer.cpp" line="730"/>
         <source>Mission:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/ui/widget/mapContainer.cpp" line="735"/>
+        <location filename="../../../../QTfrontend/ui/widget/mapContainer.cpp" line="740"/>
         <source>Map:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/ui/widget/mapContainer.cpp" line="799"/>
-        <location filename="../../../../QTfrontend/ui/widget/mapContainer.cpp" line="930"/>
-        <source>Theme: </source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../../../../QTfrontend/ui/widget/mapContainer.cpp" line="881"/>
+        <location filename="../../../../QTfrontend/ui/widget/mapContainer.cpp" line="804"/>
+        <location filename="../../../../QTfrontend/ui/widget/mapContainer.cpp" line="935"/>
+        <source>Theme: %1</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../../../QTfrontend/ui/widget/mapContainer.cpp" line="886"/>
         <source>Load drawn map</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/ui/widget/mapContainer.cpp" line="881"/>
+        <location filename="../../../../QTfrontend/ui/widget/mapContainer.cpp" line="886"/>
         <source>Drawn Maps</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/ui/widget/mapContainer.cpp" line="881"/>
+        <location filename="../../../../QTfrontend/ui/widget/mapContainer.cpp" line="886"/>
         <source>All files</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/ui/widget/mapContainer.cpp" line="217"/>
+        <location filename="../../../../QTfrontend/ui/widget/mapContainer.cpp" line="220"/>
         <source>Small tunnels</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/ui/widget/mapContainer.cpp" line="218"/>
+        <location filename="../../../../QTfrontend/ui/widget/mapContainer.cpp" line="221"/>
         <source>Medium tunnels</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/ui/widget/mapContainer.cpp" line="124"/>
+        <location filename="../../../../QTfrontend/ui/widget/mapContainer.cpp" line="126"/>
         <source>Seed</source>
         <translation type="unfinished"></translation>
     </message>
@@ -622,7 +642,7 @@
 <context>
     <name>HWNewNet</name>
     <message>
-        <location filename="../../../../QTfrontend/hwform.cpp" line="1535"/>
+        <location filename="../../../../QTfrontend/hwform.cpp" line="1559"/>
         <source>Quit reason: </source>
         <translation type="unfinished"></translation>
     </message>
@@ -652,35 +672,28 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/net/newnetclient.cpp" line="470"/>
+        <location filename="../../../../QTfrontend/net/newnetclient.cpp" line="484"/>
         <source>You got kicked</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/net/newnetclient.cpp" line="495"/>
-        <source>%1 *** %2 has joined</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../../../../QTfrontend/net/newnetclient.cpp" line="544"/>
-        <location filename="../../../../QTfrontend/net/newnetclient.cpp" line="788"/>
+        <location filename="../../../../QTfrontend/net/newnetclient.cpp" line="797"/>
         <source>%1 *** %2 has left</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/net/newnetclient.cpp" line="546"/>
-        <location filename="../../../../QTfrontend/net/newnetclient.cpp" line="790"/>
+        <location filename="../../../../QTfrontend/net/newnetclient.cpp" line="799"/>
         <source>%1 *** %2 has left (%3)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/net/newnetclient.cpp" line="641"/>
-        <location filename="../../../../QTfrontend/net/newnetclient.cpp" line="773"/>
+        <location filename="../../../../QTfrontend/net/newnetclient.cpp" line="651"/>
+        <location filename="../../../../QTfrontend/net/newnetclient.cpp" line="782"/>
         <source>%1 *** %2 has joined the room</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/net/newnetclient.cpp" line="697"/>
+        <location filename="../../../../QTfrontend/net/newnetclient.cpp" line="707"/>
         <source>Room destroyed</source>
         <translation type="unfinished"></translation>
     </message>
@@ -890,6 +903,19 @@
     </message>
 </context>
 <context>
+    <name>PageDataDownload</name>
+    <message>
+        <location filename="../../../../QTfrontend/ui/page/pagedata.cpp" line="66"/>
+        <source>Loading, please wait.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../../../QTfrontend/ui/page/pagedata.cpp" line="126"/>
+        <source>This page requires an internet connection.</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
     <name>PageDrawMap</name>
     <message>
         <location filename="../../../../QTfrontend/ui/page/pagedrawmap.cpp" line="32"/>
@@ -1010,47 +1036,57 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/ui/page/pagegamestats.cpp" line="174"/>
+        <location filename="../../../../QTfrontend/ui/page/pagegamestats.cpp" line="113"/>
+        <source>Play again</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../../../QTfrontend/ui/page/pagegamestats.cpp" line="118"/>
+        <source>Save</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../../../QTfrontend/ui/page/pagegamestats.cpp" line="193"/>
         <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>
     </message>
     <message numerus="yes">
-        <location filename="../../../../QTfrontend/ui/page/pagegamestats.cpp" line="182"/>
+        <location filename="../../../../QTfrontend/ui/page/pagegamestats.cpp" line="201"/>
         <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>
         <translation type="unfinished">
             <numerusform></numerusform>
         </translation>
     </message>
     <message numerus="yes">
-        <location filename="../../../../QTfrontend/ui/page/pagegamestats.cpp" line="189"/>
+        <location filename="../../../../QTfrontend/ui/page/pagegamestats.cpp" line="208"/>
         <source>A total of &lt;b&gt;%1&lt;/b&gt; hedgehog(s) were killed during this round.</source>
         <translation type="unfinished">
             <numerusform></numerusform>
         </translation>
     </message>
     <message numerus="yes">
-        <location filename="../../../../QTfrontend/ui/page/pagegamestats.cpp" line="253"/>
+        <location filename="../../../../QTfrontend/ui/page/pagegamestats.cpp" line="272"/>
         <source>(%1 kill)</source>
         <translation type="unfinished">
             <numerusform></numerusform>
         </translation>
     </message>
     <message numerus="yes">
-        <location filename="../../../../QTfrontend/ui/page/pagegamestats.cpp" line="264"/>
+        <location filename="../../../../QTfrontend/ui/page/pagegamestats.cpp" line="283"/>
         <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>
         </translation>
     </message>
     <message numerus="yes">
-        <location filename="../../../../QTfrontend/ui/page/pagegamestats.cpp" line="272"/>
+        <location filename="../../../../QTfrontend/ui/page/pagegamestats.cpp" line="291"/>
         <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>
         </translation>
     </message>
     <message numerus="yes">
-        <location filename="../../../../QTfrontend/ui/page/pagegamestats.cpp" line="280"/>
+        <location filename="../../../../QTfrontend/ui/page/pagegamestats.cpp" line="299"/>
         <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>
@@ -1149,12 +1185,12 @@
 <context>
     <name>PageMultiplayer</name>
     <message>
-        <location filename="../../../../QTfrontend/ui/page/pagemultiplayer.cpp" line="52"/>
+        <location filename="../../../../QTfrontend/ui/page/pagemultiplayer.cpp" line="50"/>
         <source>Edit game preferences</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/ui/page/pagemultiplayer.cpp" line="64"/>
+        <location filename="../../../../QTfrontend/ui/page/pagemultiplayer.cpp" line="62"/>
         <source>Start</source>
         <translation type="unfinished"></translation>
     </message>
@@ -1185,7 +1221,12 @@
 <context>
     <name>PageNetServer</name>
     <message>
-        <location filename="../../../../QTfrontend/ui/page/pagenetserver.cpp" line="128"/>
+        <location filename="../../../../QTfrontend/ui/page/pagenetserver.cpp" line="87"/>
+        <source>Click here for details</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../../../QTfrontend/ui/page/pagenetserver.cpp" line="138"/>
         <source>Insert your address here</source>
         <translation type="unfinished"></translation>
     </message>
@@ -1309,97 +1350,97 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/ui/page/pageoptions.cpp" line="369"/>
+        <location filename="../../../../QTfrontend/ui/page/pageoptions.cpp" line="371"/>
         <source>Frontend</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/ui/page/pageoptions.cpp" line="386"/>
+        <location filename="../../../../QTfrontend/ui/page/pageoptions.cpp" line="388"/>
         <source>Custom colors</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/ui/page/pageoptions.cpp" line="416"/>
+        <location filename="../../../../QTfrontend/ui/page/pageoptions.cpp" line="418"/>
         <source>Reset to default colors</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/ui/page/pageoptions.cpp" line="429"/>
+        <location filename="../../../../QTfrontend/ui/page/pageoptions.cpp" line="431"/>
         <source>Game audio</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/ui/page/pageoptions.cpp" line="467"/>
+        <location filename="../../../../QTfrontend/ui/page/pageoptions.cpp" line="469"/>
         <source>Frontend audio</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/ui/page/pageoptions.cpp" line="490"/>
+        <location filename="../../../../QTfrontend/ui/page/pageoptions.cpp" line="492"/>
         <source>Account</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/ui/page/pageoptions.cpp" line="516"/>
+        <location filename="../../../../QTfrontend/ui/page/pageoptions.cpp" line="518"/>
         <source>Proxy settings</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/ui/page/pageoptions.cpp" line="522"/>
-        <source>Proxy host</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../../../../QTfrontend/ui/page/pageoptions.cpp" line="523"/>
-        <source>Proxy port</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <location filename="../../../../QTfrontend/ui/page/pageoptions.cpp" line="524"/>
-        <source>Proxy login</source>
+        <source>Proxy host</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../../../../QTfrontend/ui/page/pageoptions.cpp" line="525"/>
+        <source>Proxy port</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../../../QTfrontend/ui/page/pageoptions.cpp" line="526"/>
+        <source>Proxy login</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../../../QTfrontend/ui/page/pageoptions.cpp" line="527"/>
         <source>Proxy password</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/ui/page/pageoptions.cpp" line="538"/>
-        <source>No proxy</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../../../../QTfrontend/ui/page/pageoptions.cpp" line="539"/>
-        <source>System proxy settings</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <location filename="../../../../QTfrontend/ui/page/pageoptions.cpp" line="540"/>
-        <source>Socks5 proxy</source>
+        <source>No proxy</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../../../../QTfrontend/ui/page/pageoptions.cpp" line="541"/>
+        <source>System proxy settings</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../../../QTfrontend/ui/page/pageoptions.cpp" line="542"/>
+        <source>Socks5 proxy</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../../../QTfrontend/ui/page/pageoptions.cpp" line="543"/>
         <source>HTTP proxy</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/ui/page/pageoptions.cpp" line="576"/>
+        <location filename="../../../../QTfrontend/ui/page/pageoptions.cpp" line="578"/>
         <source>Miscellaneous</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/ui/page/pageoptions.cpp" line="616"/>
+        <location filename="../../../../QTfrontend/ui/page/pageoptions.cpp" line="624"/>
         <source>Updates</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/ui/page/pageoptions.cpp" line="629"/>
+        <location filename="../../../../QTfrontend/ui/page/pageoptions.cpp" line="637"/>
         <source>Check for updates</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/ui/page/pageoptions.cpp" line="643"/>
+        <location filename="../../../../QTfrontend/ui/page/pageoptions.cpp" line="651"/>
         <source>Video recording options</source>
         <translation type="unfinished"></translation>
     </message>
@@ -1420,52 +1461,52 @@
 <context>
     <name>PageRoomsList</name>
     <message>
-        <location filename="../../../../QTfrontend/ui/page/pageroomslist.cpp" line="63"/>
+        <location filename="../../../../QTfrontend/ui/page/pageroomslist.cpp" line="64"/>
         <source>Search for a room:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/ui/page/pageroomslist.cpp" line="90"/>
+        <location filename="../../../../QTfrontend/ui/page/pageroomslist.cpp" line="91"/>
         <source>Create room</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/ui/page/pageroomslist.cpp" line="94"/>
+        <location filename="../../../../QTfrontend/ui/page/pageroomslist.cpp" line="95"/>
         <source>Join room</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/ui/page/pageroomslist.cpp" line="141"/>
+        <location filename="../../../../QTfrontend/ui/page/pageroomslist.cpp" line="153"/>
         <source>Room state</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/ui/page/pageroomslist.cpp" line="165"/>
+        <location filename="../../../../QTfrontend/ui/page/pageroomslist.cpp" line="177"/>
         <source>Rules:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/ui/page/pageroomslist.cpp" line="179"/>
+        <location filename="../../../../QTfrontend/ui/page/pageroomslist.cpp" line="191"/>
         <source>Weapons:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/ui/page/pageroomslist.cpp" line="190"/>
+        <location filename="../../../../QTfrontend/ui/page/pageroomslist.cpp" line="202"/>
         <source>Clear filters</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/ui/page/pageroomslist.cpp" line="208"/>
+        <location filename="../../../../QTfrontend/ui/page/pageroomslist.cpp" line="220"/>
         <source>Admin features</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/ui/page/pageroomslist.cpp" line="210"/>
+        <location filename="../../../../QTfrontend/ui/page/pageroomslist.cpp" line="222"/>
         <source>Open server administration page</source>
         <translation type="unfinished"></translation>
     </message>
     <message numerus="yes">
-        <location filename="../../../../QTfrontend/ui/page/pageroomslist.cpp" line="595"/>
+        <location filename="../../../../QTfrontend/ui/page/pageroomslist.cpp" line="609"/>
         <source>%1 players online</source>
         <translation type="unfinished">
             <numerusform></numerusform>
@@ -1790,33 +1831,33 @@
     </message>
     <message>
         <location filename="../../../../QTfrontend/ui/widget/chatwidget.cpp" line="269"/>
-        <location filename="../../../../QTfrontend/ui/widget/chatwidget.cpp" line="874"/>
+        <location filename="../../../../QTfrontend/ui/widget/chatwidget.cpp" line="885"/>
         <source>Ignore</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../../../../QTfrontend/ui/widget/chatwidget.cpp" line="273"/>
-        <location filename="../../../../QTfrontend/ui/widget/chatwidget.cpp" line="886"/>
+        <location filename="../../../../QTfrontend/ui/widget/chatwidget.cpp" line="897"/>
         <source>Add friend</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/ui/widget/chatwidget.cpp" line="869"/>
+        <location filename="../../../../QTfrontend/ui/widget/chatwidget.cpp" line="880"/>
         <source>Unignore</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/ui/widget/chatwidget.cpp" line="881"/>
+        <location filename="../../../../QTfrontend/ui/widget/chatwidget.cpp" line="892"/>
         <source>Remove friend</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/ui/page/pageroomslist.cpp" line="150"/>
+        <location filename="../../../../QTfrontend/ui/page/pageroomslist.cpp" line="162"/>
         <source>Show games in lobby</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/ui/page/pageroomslist.cpp" line="153"/>
+        <location filename="../../../../QTfrontend/ui/page/pageroomslist.cpp" line="165"/>
         <source>Show games in-progress</source>
         <translation type="unfinished"></translation>
     </message>
@@ -1825,7 +1866,7 @@
     <name>QCheckBox</name>
     <message>
         <location filename="../../../../QTfrontend/ui/dialog/input_password.cpp" line="55"/>
-        <location filename="../../../../QTfrontend/ui/page/pageoptions.cpp" line="507"/>
+        <location filename="../../../../QTfrontend/ui/page/pageoptions.cpp" line="509"/>
         <source>Save password</source>
         <translation type="unfinished"></translation>
     </message>
@@ -1840,79 +1881,79 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/ui/page/pageoptions.cpp" line="622"/>
+        <location filename="../../../../QTfrontend/ui/page/pageoptions.cpp" line="630"/>
         <source>Check for updates at startup</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/ui/page/pageoptions.cpp" line="375"/>
+        <location filename="../../../../QTfrontend/ui/page/pageoptions.cpp" line="377"/>
         <source>Fullscreen</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/ui/page/pageoptions.cpp" line="358"/>
+        <location filename="../../../../QTfrontend/ui/page/pageoptions.cpp" line="360"/>
         <source>Alternative damage show</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/ui/page/pageoptions.cpp" line="347"/>
+        <location filename="../../../../QTfrontend/ui/page/pageoptions.cpp" line="349"/>
         <source>Show FPS</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/ui/page/pageoptions.cpp" line="364"/>
+        <location filename="../../../../QTfrontend/ui/page/pageoptions.cpp" line="366"/>
         <source>Show ammo menu tooltips</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/ui/page/pageoptions.cpp" line="381"/>
+        <location filename="../../../../QTfrontend/ui/page/pageoptions.cpp" line="383"/>
         <source>Visual effects</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/ui/page/pageoptions.cpp" line="454"/>
-        <location filename="../../../../QTfrontend/ui/page/pageoptions.cpp" line="471"/>
+        <location filename="../../../../QTfrontend/ui/page/pageoptions.cpp" line="456"/>
+        <location filename="../../../../QTfrontend/ui/page/pageoptions.cpp" line="473"/>
         <source>Sound</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/ui/page/pageoptions.cpp" line="455"/>
+        <location filename="../../../../QTfrontend/ui/page/pageoptions.cpp" line="457"/>
         <source>In-game sound effects</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/ui/page/pageoptions.cpp" line="461"/>
-        <location filename="../../../../QTfrontend/ui/page/pageoptions.cpp" line="476"/>
+        <location filename="../../../../QTfrontend/ui/page/pageoptions.cpp" line="463"/>
+        <location filename="../../../../QTfrontend/ui/page/pageoptions.cpp" line="478"/>
         <source>Music</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/ui/page/pageoptions.cpp" line="462"/>
+        <location filename="../../../../QTfrontend/ui/page/pageoptions.cpp" line="464"/>
         <source>In-game music</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/ui/page/pageoptions.cpp" line="472"/>
+        <location filename="../../../../QTfrontend/ui/page/pageoptions.cpp" line="474"/>
         <source>Frontend sound effects</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/ui/page/pageoptions.cpp" line="477"/>
+        <location filename="../../../../QTfrontend/ui/page/pageoptions.cpp" line="479"/>
         <source>Frontend music</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/ui/page/pageoptions.cpp" line="602"/>
+        <location filename="../../../../QTfrontend/ui/page/pageoptions.cpp" line="610"/>
         <source>Append date and time to record file name</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/ui/page/pageoptions.cpp" line="683"/>
+        <location filename="../../../../QTfrontend/ui/page/pageoptions.cpp" line="691"/>
         <source>Record audio</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/ui/page/pageoptions.cpp" line="732"/>
+        <location filename="../../../../QTfrontend/ui/page/pageoptions.cpp" line="740"/>
         <source>Use game resolution</source>
         <translation type="unfinished"></translation>
     </message>
@@ -1935,88 +1976,88 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/ui/page/pageoptions.cpp" line="588"/>
+        <location filename="../../../../QTfrontend/ui/page/pageoptions.cpp" line="590"/>
         <source>(System default)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/ui/page/pageoptions.cpp" line="311"/>
-        <source>Disabled</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../../../../QTfrontend/ui/page/pageoptions.cpp" line="312"/>
-        <source>Red/Cyan</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <location filename="../../../../QTfrontend/ui/page/pageoptions.cpp" line="313"/>
-        <source>Cyan/Red</source>
+        <source>Disabled</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../../../../QTfrontend/ui/page/pageoptions.cpp" line="314"/>
-        <source>Red/Blue</source>
+        <source>Red/Cyan</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../../../../QTfrontend/ui/page/pageoptions.cpp" line="315"/>
-        <source>Blue/Red</source>
+        <source>Cyan/Red</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../../../../QTfrontend/ui/page/pageoptions.cpp" line="316"/>
-        <source>Red/Green</source>
+        <source>Red/Blue</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../../../../QTfrontend/ui/page/pageoptions.cpp" line="317"/>
+        <source>Blue/Red</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../../../QTfrontend/ui/page/pageoptions.cpp" line="318"/>
+        <source>Red/Green</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../../../QTfrontend/ui/page/pageoptions.cpp" line="319"/>
         <source>Green/Red</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
+        <location filename="../../../../QTfrontend/ui/page/pageoptions.cpp" line="326"/>
+        <source>Side-by-side</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../../../QTfrontend/ui/page/pageoptions.cpp" line="327"/>
+        <source>Top-Bottom</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../../../QTfrontend/ui/page/pageoptions.cpp" line="320"/>
+        <source>Red/Cyan grayscale</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../../../QTfrontend/ui/page/pageoptions.cpp" line="321"/>
+        <source>Cyan/Red grayscale</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../../../QTfrontend/ui/page/pageoptions.cpp" line="322"/>
+        <source>Red/Blue grayscale</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../../../QTfrontend/ui/page/pageoptions.cpp" line="323"/>
+        <source>Blue/Red grayscale</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
         <location filename="../../../../QTfrontend/ui/page/pageoptions.cpp" line="324"/>
-        <source>Side-by-side</source>
+        <source>Red/Green grayscale</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../../../../QTfrontend/ui/page/pageoptions.cpp" line="325"/>
-        <source>Top-Bottom</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../../../../QTfrontend/ui/page/pageoptions.cpp" line="318"/>
-        <source>Red/Cyan grayscale</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../../../../QTfrontend/ui/page/pageoptions.cpp" line="319"/>
-        <source>Cyan/Red grayscale</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../../../../QTfrontend/ui/page/pageoptions.cpp" line="320"/>
-        <source>Red/Blue grayscale</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../../../../QTfrontend/ui/page/pageoptions.cpp" line="321"/>
-        <source>Blue/Red grayscale</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../../../../QTfrontend/ui/page/pageoptions.cpp" line="322"/>
-        <source>Red/Green grayscale</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../../../../QTfrontend/ui/page/pageoptions.cpp" line="323"/>
         <source>Green/Red grayscale</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/ui/page/pageroomslist.cpp" line="199"/>
-        <location filename="../../../../QTfrontend/ui/page/pageroomslist.cpp" line="272"/>
+        <location filename="../../../../QTfrontend/ui/page/pageroomslist.cpp" line="211"/>
+        <location filename="../../../../QTfrontend/ui/page/pageroomslist.cpp" line="286"/>
         <source>Any</source>
         <translation type="unfinished"></translation>
     </message>
@@ -2064,7 +2105,7 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/ui/widget/teamselect.cpp" line="255"/>
+        <location filename="../../../../QTfrontend/ui/widget/teamselect.cpp" line="259"/>
         <source>Playing teams</source>
         <translation type="unfinished"></translation>
     </message>
@@ -2144,27 +2185,27 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/ui/widget/feedbackdialog.cpp" line="100"/>
+        <location filename="../../../../QTfrontend/ui/widget/feedbackdialog.cpp" line="103"/>
         <source>Your Email</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/ui/widget/feedbackdialog.cpp" line="108"/>
+        <location filename="../../../../QTfrontend/ui/widget/feedbackdialog.cpp" line="111"/>
         <source>Summary</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/ui/widget/feedbackdialog.cpp" line="118"/>
+        <location filename="../../../../QTfrontend/ui/widget/feedbackdialog.cpp" line="121"/>
         <source>Send system information</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/ui/widget/feedbackdialog.cpp" line="133"/>
+        <location filename="../../../../QTfrontend/ui/widget/feedbackdialog.cpp" line="136"/>
         <source>Description</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/ui/widget/feedbackdialog.cpp" line="161"/>
+        <location filename="../../../../QTfrontend/ui/widget/feedbackdialog.cpp" line="164"/>
         <source>Type the security code:</source>
         <translation type="unfinished"></translation>
     </message>
@@ -2194,22 +2235,27 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/ui/page/pageoptions.cpp" line="582"/>
+        <location filename="../../../../QTfrontend/ui/page/pageoptions.cpp" line="584"/>
         <source>Locale</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/ui/page/pageoptions.cpp" line="496"/>
+        <location filename="../../../../QTfrontend/ui/page/pageoptions.cpp" line="498"/>
         <source>Nickname</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/ui/page/pageoptions.cpp" line="708"/>
+        <location filename="../../../../QTfrontend/ui/page/pageoptions.cpp" line="599"/>
+        <source>This setting will be effective at next restart.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../../../QTfrontend/ui/page/pageoptions.cpp" line="716"/>
         <source>Resolution</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/ui/page/pageoptions.cpp" line="293"/>
+        <location filename="../../../../QTfrontend/ui/page/pageoptions.cpp" line="295"/>
         <source>Quality</source>
         <translation type="unfinished"></translation>
     </message>
@@ -2229,17 +2275,17 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/ui/page/pageoptions.cpp" line="307"/>
+        <location filename="../../../../QTfrontend/ui/page/pageoptions.cpp" line="309"/>
         <source>Stereo rendering</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/ui/page/pageoptions.cpp" line="437"/>
+        <location filename="../../../../QTfrontend/ui/page/pageoptions.cpp" line="439"/>
         <source>Initial sound volume</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/ui/page/pageoptions.cpp" line="338"/>
+        <location filename="../../../../QTfrontend/ui/page/pageoptions.cpp" line="340"/>
         <source>FPS limit</source>
         <translation type="unfinished"></translation>
     </message>
@@ -2324,27 +2370,27 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/ui/page/pageoptions.cpp" line="652"/>
+        <location filename="../../../../QTfrontend/ui/page/pageoptions.cpp" line="660"/>
         <source>Format</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/ui/page/pageoptions.cpp" line="672"/>
+        <location filename="../../../../QTfrontend/ui/page/pageoptions.cpp" line="680"/>
         <source>Audio codec</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/ui/page/pageoptions.cpp" line="697"/>
+        <location filename="../../../../QTfrontend/ui/page/pageoptions.cpp" line="705"/>
         <source>Video codec</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/ui/page/pageoptions.cpp" line="738"/>
+        <location filename="../../../../QTfrontend/ui/page/pageoptions.cpp" line="746"/>
         <source>Framerate</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/ui/page/pageoptions.cpp" line="752"/>
+        <location filename="../../../../QTfrontend/ui/page/pageoptions.cpp" line="760"/>
         <source>Bitrate (Kbps)</source>
         <translation type="unfinished"></translation>
     </message>
@@ -2372,7 +2418,7 @@
 <context>
     <name>QLineEdit</name>
     <message>
-        <location filename="../../../../QTfrontend/hwform.cpp" line="933"/>
+        <location filename="../../../../QTfrontend/hwform.cpp" line="952"/>
         <source>unnamed</source>
         <translation type="unfinished"></translation>
     </message>
@@ -2383,7 +2429,7 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/ui/page/pageoptions.cpp" line="501"/>
+        <location filename="../../../../QTfrontend/ui/page/pageoptions.cpp" line="503"/>
         <source>anonymous</source>
         <translation type="unfinished"></translation>
     </message>
@@ -2414,82 +2460,82 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/hwform.cpp" line="962"/>
+        <location filename="../../../../QTfrontend/hwform.cpp" line="981"/>
         <location filename="../../../../QTfrontend/ui/page/pagescheme.cpp" line="500"/>
         <source>Cannot delete default scheme &apos;%1&apos;!</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/hwform.cpp" line="988"/>
+        <location filename="../../../../QTfrontend/hwform.cpp" line="1007"/>
         <source>Please select a record from the list</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/hwform.cpp" line="1083"/>
+        <location filename="../../../../QTfrontend/hwform.cpp" line="1102"/>
         <source>Hedgewars - Nick not registered</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/hwform.cpp" line="1474"/>
+        <location filename="../../../../QTfrontend/hwform.cpp" line="1498"/>
         <source>Unable to start server</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/hwform.cpp" line="1535"/>
+        <location filename="../../../../QTfrontend/hwform.cpp" line="1559"/>
         <source>Connection to server is lost</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/hwform.cpp" line="2021"/>
+        <location filename="../../../../QTfrontend/hwform.cpp" line="2082"/>
         <source>Not all players are ready</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/hwform.cpp" line="2022"/>
+        <location filename="../../../../QTfrontend/hwform.cpp" line="2083"/>
         <source>Are you sure you want to start this game?
 Not all players are ready.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/ui/widget/feedbackdialog.cpp" line="347"/>
+        <location filename="../../../../QTfrontend/ui/widget/feedbackdialog.cpp" line="352"/>
         <location filename="../../../../QTfrontend/util/MessageDialog.cpp" line="24"/>
         <source>Hedgewars - Error</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/ui/widget/feedbackdialog.cpp" line="357"/>
+        <location filename="../../../../QTfrontend/ui/widget/feedbackdialog.cpp" line="362"/>
         <source>System Information Preview</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/ui/widget/feedbackdialog.cpp" line="372"/>
-        <location filename="../../../../QTfrontend/ui/widget/feedbackdialog.cpp" line="383"/>
+        <location filename="../../../../QTfrontend/ui/widget/feedbackdialog.cpp" line="377"/>
+        <location filename="../../../../QTfrontend/ui/widget/feedbackdialog.cpp" line="388"/>
         <source>Failed to generate captcha</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/ui/widget/feedbackdialog.cpp" line="400"/>
+        <location filename="../../../../QTfrontend/ui/widget/feedbackdialog.cpp" line="405"/>
         <source>Failed to download captcha</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/ui/widget/feedbackdialog.cpp" line="464"/>
+        <location filename="../../../../QTfrontend/ui/widget/feedbackdialog.cpp" line="469"/>
         <source>Please fill out all fields. Email is optional.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/hwform.cpp" line="1963"/>
-        <location filename="../../../../QTfrontend/ui/widget/feedbackdialog.cpp" line="434"/>
+        <location filename="../../../../QTfrontend/hwform.cpp" line="1985"/>
+        <location filename="../../../../QTfrontend/ui/widget/feedbackdialog.cpp" line="439"/>
         <source>Hedgewars - Success</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/hwform.cpp" line="1964"/>
+        <location filename="../../../../QTfrontend/hwform.cpp" line="1986"/>
         <source>All file associations have been set</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/hwform.cpp" line="1969"/>
+        <location filename="../../../../QTfrontend/hwform.cpp" line="1991"/>
         <source>File association failed.</source>
         <translation type="unfinished"></translation>
     </message>
@@ -2557,22 +2603,22 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/ui/page/pageroomslist.cpp" line="546"/>
+        <location filename="../../../../QTfrontend/ui/page/pageroomslist.cpp" line="560"/>
         <source>Room Name - Error</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/ui/page/pageroomslist.cpp" line="547"/>
+        <location filename="../../../../QTfrontend/ui/page/pageroomslist.cpp" line="561"/>
         <source>Please select room from the list</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/ui/page/pageroomslist.cpp" line="582"/>
+        <location filename="../../../../QTfrontend/ui/page/pageroomslist.cpp" line="596"/>
         <source>Room Name - Are you sure?</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/ui/page/pageroomslist.cpp" line="583"/>
+        <location filename="../../../../QTfrontend/ui/page/pageroomslist.cpp" line="597"/>
         <source>The game you are trying to join has started.
 Do you still want to join the room?</source>
         <translation type="unfinished"></translation>
@@ -2619,7 +2665,7 @@
     <message>
         <location filename="../../../../QTfrontend/ui/widget/drawmapwidget.cpp" line="101"/>
         <location filename="../../../../QTfrontend/ui/widget/drawmapwidget.cpp" line="121"/>
-        <location filename="../../../../QTfrontend/ui/widget/mapContainer.cpp" line="891"/>
+        <location filename="../../../../QTfrontend/ui/widget/mapContainer.cpp" line="896"/>
         <source>File error</source>
         <translation type="unfinished"></translation>
     </message>
@@ -2630,7 +2676,7 @@
     </message>
     <message>
         <location filename="../../../../QTfrontend/ui/widget/drawmapwidget.cpp" line="122"/>
-        <location filename="../../../../QTfrontend/ui/widget/mapContainer.cpp" line="892"/>
+        <location filename="../../../../QTfrontend/ui/widget/mapContainer.cpp" line="897"/>
         <source>Cannot open &apos;%1&apos; for reading</source>
         <translation type="unfinished"></translation>
     </message>
@@ -2751,17 +2797,17 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/ui/page/pagenetserver.cpp" line="89"/>
+        <location filename="../../../../QTfrontend/ui/page/pagenetserver.cpp" line="99"/>
         <source>Start</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/ui/page/pagenetserver.cpp" line="90"/>
+        <location filename="../../../../QTfrontend/ui/page/pagenetserver.cpp" line="100"/>
         <source>Start private server</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/ui/page/pageoptions.cpp" line="608"/>
+        <location filename="../../../../QTfrontend/ui/page/pageoptions.cpp" line="616"/>
         <source>Associate file extensions</source>
         <translation type="unfinished"></translation>
     </message>
@@ -2789,12 +2835,12 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/ui/page/pageoptions.cpp" line="765"/>
+        <location filename="../../../../QTfrontend/ui/page/pageoptions.cpp" line="773"/>
         <source>Set default options</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/ui/page/pageoptions.cpp" line="766"/>
+        <location filename="../../../../QTfrontend/ui/page/pageoptions.cpp" line="774"/>
         <source>Restore default coding parameters</source>
         <translation type="unfinished"></translation>
     </message>
@@ -2992,7 +3038,7 @@
 <context>
     <name>TeamSelWidget</name>
     <message>
-        <location filename="../../../../QTfrontend/ui/widget/teamselect.cpp" line="260"/>
+        <location filename="../../../../QTfrontend/ui/widget/teamselect.cpp" line="264"/>
         <source>At least two teams are required to play!</source>
         <translation type="unfinished"></translation>
     </message>
@@ -3709,7 +3755,7 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/util/DataManager.cpp" line="156"/>
+        <location filename="../../../../QTfrontend/util/DataManager.cpp" line="158"/>
         <source>Keyboard</source>
         <translation type="unfinished"></translation>
     </message>
@@ -3751,147 +3797,4 @@
         <translation type="unfinished"></translation>
     </message>
 </context>
-<context>
-    <name>server</name>
-    <message>
-        <location filename="../../../../QTfrontend/servermessages.h" line="2"/>
-        <source>Not room master</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../../../../QTfrontend/servermessages.h" line="3"/>
-        <source>Corrupted hedgehogs info</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../../../../QTfrontend/servermessages.h" line="4"/>
-        <source>too many teams</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../../../../QTfrontend/servermessages.h" line="5"/>
-        <source>too many hedgehogs</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../../../../QTfrontend/servermessages.h" line="6"/>
-        <source>There&apos;s already a team with same name in the list</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../../../../QTfrontend/servermessages.h" line="7"/>
-        <source>round in progress</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../../../../QTfrontend/servermessages.h" line="8"/>
-        <source>restricted</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../../../../QTfrontend/servermessages.h" line="9"/>
-        <source>REMOVE_TEAM: no such team</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../../../../QTfrontend/servermessages.h" line="10"/>
-        <source>Not team owner!</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../../../../QTfrontend/servermessages.h" line="11"/>
-        <source>Less than two clans!</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../../../../QTfrontend/servermessages.h" line="12"/>
-        <source>Room with such name already exists</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../../../../QTfrontend/servermessages.h" line="13"/>
-        <source>Nickname already chosen</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../../../../QTfrontend/servermessages.h" line="14"/>
-        <source>Illegal nickname</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../../../../QTfrontend/servermessages.h" line="15"/>
-        <source>Protocol already known</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../../../../QTfrontend/servermessages.h" line="16"/>
-        <source>Bad number</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../../../../QTfrontend/servermessages.h" line="17"/>
-        <source>Nickname is already in use</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../../../../QTfrontend/servermessages.h" line="18"/>
-        <source>No checker rights</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../../../../QTfrontend/servermessages.h" line="19"/>
-        <source>Authentication failed</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../../../../QTfrontend/servermessages.h" line="20"/>
-        <source>60 seconds cooldown after kick</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../../../../QTfrontend/servermessages.h" line="21"/>
-        <source>kicked</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../../../../QTfrontend/servermessages.h" line="22"/>
-        <source>Ping timeout</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../../../../QTfrontend/servermessages.h" line="23"/>
-        <source>bye</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../../../../QTfrontend/servermessages.h" line="24"/>
-        <source>Illegal room name</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../../../../QTfrontend/servermessages.h" line="25"/>
-        <source>No such room</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../../../../QTfrontend/servermessages.h" line="26"/>
-        <source>Joining restricted</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../../../../QTfrontend/servermessages.h" line="27"/>
-        <source>Registered users only</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../../../../QTfrontend/servermessages.h" line="28"/>
-        <source>You are banned in this room</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../../../../QTfrontend/servermessages.h" line="29"/>
-        <source>Empty config entry</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
 </TS>
--- a/share/hedgewars/Data/Locale/hedgewars_nl.ts	Thu Apr 04 14:37:19 2013 +0200
+++ b/share/hedgewars/Data/Locale/hedgewars_nl.ts	Tue Jun 04 22:28:12 2013 +0200
@@ -99,19 +99,19 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Please give us feedback!</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>We are always happy about suggestions, ideas, or bug reports.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>If you found a bug, you can see if it&apos;s already known here (english): </source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Your email address is optional, but we may want to contact you.</source>
+        <source>Send us feedback!</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>If you found a bug, you can see if it&apos;s already been reported here: </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Your email address is optional, but necessary if you want us to get back at you.</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
@@ -254,6 +254,18 @@
         <source>Failed to save StyleSheet to %1</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source>%1 has joined</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>%1 has left</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>%1 has left (%2)</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>HWForm</name>
@@ -353,6 +365,10 @@
 Please wait a few seconds and try again.</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source>This page requires an internet connection.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>HWGame</name>
@@ -472,10 +488,6 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Theme: </source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>Load drawn map</source>
         <translation type="unfinished"></translation>
     </message>
@@ -491,6 +503,10 @@
         <source>Large tunnels</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source>Theme: %1</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>HWNetServersModel</name>
@@ -534,10 +550,6 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>%1 *** %2 has joined</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>%1 *** %2 has left (%3)</source>
         <translation type="unfinished"></translation>
     </message>
@@ -729,6 +741,17 @@
     </message>
 </context>
 <context>
+    <name>PageDataDownload</name>
+    <message>
+        <source>Loading, please wait.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>This page requires an internet connection.</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
     <name>PageDrawMap</name>
     <message>
         <source>Undo</source>
@@ -870,6 +893,14 @@
             <numerusform></numerusform>
         </translation>
     </message>
+    <message>
+        <source>Play again</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Save</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>PageInGame</name>
@@ -977,6 +1008,10 @@
 <context>
     <name>PageNetServer</name>
     <message>
+        <source>Click here for details</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
         <source>Insert your address here</source>
         <translation type="unfinished"></translation>
     </message>
@@ -1929,6 +1964,10 @@
         <source>This program is distributed under the %1</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source>This setting will be effective at next restart.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>QLineEdit</name>
@@ -3022,119 +3061,4 @@
         <translation type="unfinished"></translation>
     </message>
 </context>
-<context>
-    <name>server</name>
-    <message>
-        <source>Not room master</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Corrupted hedgehogs info</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>too many teams</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>too many hedgehogs</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>There&apos;s already a team with same name in the list</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>round in progress</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>restricted</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>REMOVE_TEAM: no such team</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Not team owner!</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Less than two clans!</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Room with such name already exists</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Nickname already chosen</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Illegal nickname</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Protocol already known</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Bad number</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Nickname is already in use</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>No checker rights</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Authentication failed</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>60 seconds cooldown after kick</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>kicked</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Ping timeout</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>bye</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Illegal room name</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>No such room</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Joining restricted</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Registered users only</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>You are banned in this room</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Empty config entry</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
 </TS>
--- a/share/hedgewars/Data/Locale/hedgewars_pl.ts	Thu Apr 04 14:37:19 2013 +0200
+++ b/share/hedgewars/Data/Locale/hedgewars_pl.ts	Tue Jun 04 22:28:12 2013 +0200
@@ -5,7 +5,7 @@
     <name>About</name>
     <message>
         <source>Unknown Compiler</source>
-        <translation type="unfinished"></translation>
+        <translation>Nieznany kompilator</translation>
     </message>
 </context>
 <context>
@@ -30,89 +30,89 @@
     <name>BanDialog</name>
     <message>
         <source>IP</source>
-        <translation type="unfinished">IP</translation>
+        <translation>IP</translation>
     </message>
     <message>
         <source>Nick</source>
-        <translation type="unfinished"></translation>
+        <translation>Nick</translation>
     </message>
     <message>
         <source>IP/Nick</source>
-        <translation type="unfinished"></translation>
+        <translation>IP/Nick</translation>
     </message>
     <message>
         <source>Reason</source>
-        <translation type="unfinished"></translation>
+        <translation>Powód</translation>
     </message>
     <message>
         <source>Duration</source>
-        <translation type="unfinished"></translation>
+        <translation>Czas trwania</translation>
     </message>
     <message>
         <source>Ok</source>
-        <translation type="unfinished"></translation>
+        <translation>Ok</translation>
     </message>
     <message>
         <source>Cancel</source>
-        <translation type="unfinished">Anuluj</translation>
+        <translation>Anuluj</translation>
     </message>
     <message>
         <source>you know why</source>
-        <translation type="unfinished"></translation>
+        <translation>Wiesz za co</translation>
     </message>
     <message>
         <source>Warning</source>
-        <translation type="unfinished"></translation>
+        <translation>Ostrzeżenie</translation>
     </message>
     <message>
         <source>Please, specify %1</source>
-        <translation type="unfinished"></translation>
+        <translation type="unfinished">Proszę, opisz %1</translation>
     </message>
     <message>
         <source>nickname</source>
-        <translation type="unfinished"></translation>
+        <translation>ksywka</translation>
     </message>
     <message>
         <source>permanent</source>
-        <translation type="unfinished"></translation>
+        <translation>dożywotni</translation>
     </message>
 </context>
 <context>
     <name>DataManager</name>
     <message>
         <source>Use Default</source>
-        <translation type="unfinished"></translation>
+        <translation>Użyj domyślnych</translation>
     </message>
 </context>
 <context>
     <name>FeedbackDialog</name>
     <message>
         <source>View</source>
-        <translation type="unfinished"></translation>
+        <translation>Pokaż</translation>
     </message>
     <message>
         <source>Cancel</source>
-        <translation type="unfinished">Anuluj</translation>
+        <translation>Anuluj</translation>
     </message>
     <message>
         <source>Send Feedback</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Please give us feedback!</source>
-        <translation type="unfinished"></translation>
+        <translation>Wyśłij opinię</translation>
     </message>
     <message>
         <source>We are always happy about suggestions, ideas, or bug reports.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>If you found a bug, you can see if it&apos;s already known here (english): </source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Your email address is optional, but we may want to contact you.</source>
-        <translation type="unfinished"></translation>
+        <translation>Jesteśmy wdzięczni za sugestie, pomysły i znalezione błędy.</translation>
+    </message>
+    <message>
+        <source>Send us feedback!</source>
+        <translation>Wyślij swoją opinię!</translation>
+    </message>
+    <message>
+        <source>If you found a bug, you can see if it&apos;s already been reported here: </source>
+        <translation>Jeśli znalazłeś błąd, możesz sprawdzić czy został już zgłoszony w tym miejscu: </translation>
+    </message>
+    <message>
+        <source>Your email address is optional, but necessary if you want us to get back at you.</source>
+        <translation>E-mail jest opcjonalny chyba, że chcesz byśmy się z tobą skontaktowali.</translation>
     </message>
 </context>
 <context>
@@ -146,73 +146,80 @@
     </message>
     <message>
         <source>Game scheme will auto-select a weapon</source>
-        <translation type="unfinished"></translation>
+        <translation type="unfinished">Schemat gry automatycznie wybierze uzbrojenie</translation>
     </message>
     <message>
         <source>Map</source>
-        <translation type="unfinished">Mapa</translation>
+        <translation>Mapa</translation>
     </message>
     <message>
         <source>Game options</source>
-        <translation type="unfinished"></translation>
+        <translation>Ustawienia gry</translation>
+    </message>
+</context>
+<context>
+    <name>GameUIConfig</name>
+    <message>
+        <source>Guest</source>
+        <translation>Gość</translation>
     </message>
 </context>
 <context>
     <name>HWApplication</name>
     <message numerus="yes">
         <source>%1 minutes</source>
-        <translation type="unfinished">
-            <numerusform></numerusform>
-            <numerusform></numerusform>
-            <numerusform></numerusform>
+        <translation>
+            <numerusform>%1 minuta</numerusform>
+            <numerusform>%1 minuty</numerusform>
+            <numerusform>%1 minut</numerusform>
         </translation>
     </message>
     <message numerus="yes">
         <source>%1 hour</source>
-        <translation type="unfinished">
-            <numerusform></numerusform>
-            <numerusform></numerusform>
-            <numerusform></numerusform>
+        <translation>
+            <numerusform>%1 godzina</numerusform>
+            <numerusform>%1 godziny</numerusform>
+            <numerusform>%1 godzin</numerusform>
         </translation>
     </message>
     <message numerus="yes">
         <source>%1 hours</source>
-        <translation type="unfinished">
-            <numerusform></numerusform>
-            <numerusform></numerusform>
-            <numerusform></numerusform>
+        <translation>
+            <numerusform>%1 godziny</numerusform>
+            <numerusform>%1 godziny</numerusform>
+            <numerusform>%1 godzin</numerusform>
         </translation>
     </message>
     <message numerus="yes">
         <source>%1 day</source>
-        <translation type="unfinished">
-            <numerusform></numerusform>
-            <numerusform></numerusform>
-            <numerusform></numerusform>
+        <translation>
+            <numerusform>%1 dzień</numerusform>
+            <numerusform>%1 dni</numerusform>
+            <numerusform>%1 dni</numerusform>
         </translation>
     </message>
     <message numerus="yes">
         <source>%1 days</source>
-        <translation type="unfinished">
-            <numerusform></numerusform>
-            <numerusform></numerusform>
-            <numerusform></numerusform>
+        <translation>
+            <numerusform>%1 dni</numerusform>
+            <numerusform>%1 dni</numerusform>
+            <numerusform>%1 dni</numerusform>
         </translation>
     </message>
     <message>
         <source>Scheme &apos;%1&apos; not supported</source>
-        <translation type="unfinished"></translation>
+        <translation>Shemat &apos;%1&apos; nie jest wspierany</translation>
     </message>
     <message>
         <source>Cannot create directory %1</source>
-        <translation type="unfinished">Nie można utworzyć katalogu %1</translation>
+        <translation>Nie można utworzyć katalogu %1</translation>
     </message>
     <message>
         <source>Failed to open data directory:
 %1
 
 Please check your installation!</source>
-        <translation type="unfinished">Nie można otworzyć katalogu z danymi:
+        <translation>Nie można otworzyć katalogu z danymi:
 %1
 
 Sprawdź poprawność instalacji!</translation>
@@ -267,6 +274,18 @@
         <source>Failed to save StyleSheet to %1</source>
         <translation>Nie można było zapisać arkusza stylów jako %1</translation>
     </message>
+    <message>
+        <source>%1 has joined</source>
+        <translation>%1 dołączył</translation>
+    </message>
+    <message>
+        <source>%1 has left</source>
+        <translation>%1 wyszedł</translation>
+    </message>
+    <message>
+        <source>%1 has left (%2)</source>
+        <translation>%1 wyszedł (%2)</translation>
+    </message>
 </context>
 <context>
     <name>HWForm</name>
@@ -316,11 +335,11 @@
     </message>
     <message>
         <source>%1&apos;s Team</source>
-        <translation type="unfinished"></translation>
+        <translation>Zespół %1</translation>
     </message>
     <message>
         <source>Hedgewars - Nick registered</source>
-        <translation type="unfinished"></translation>
+        <translation>Hedgewars - Zarejestrowany nick</translation>
     </message>
     <message>
         <source>This nick is registered, and you haven&apos;t specified a password.
@@ -328,44 +347,61 @@
 If this nick isn&apos;t yours, please register your own nick at www.hedgewars.org
 
 Password:</source>
-        <translation type="unfinished"></translation>
+        <translation>Ten nick jest zarejestrowany i musisz podać hasło.
+
+Jeżeli ten nick nie jest twój, zarejestrój własny na www.hedgewars.org
+
+Hasło:</translation>
     </message>
     <message>
         <source>Your nickname is not registered.
 To prevent someone else from using it,
 please register it at www.hedgewars.org</source>
-        <translation type="unfinished"></translation>
+        <translation>Twój nick nie jest zarejestrowany.
+By zapobiec używania go przez kogoś innego
+zarejestruj go na www.hedgewars.org</translation>
     </message>
     <message>
         <source>
 
 Your password wasn&apos;t saved either.</source>
-        <translation type="unfinished"></translation>
+        <translation>
+
+Twoje hasło nie zostało zapisane.</translation>
     </message>
     <message>
         <source>Hedgewars - Empty nickname</source>
-        <translation type="unfinished"></translation>
+        <translation>Hedgewars - Brak nicku</translation>
     </message>
     <message>
         <source>Hedgewars - Wrong password</source>
-        <translation type="unfinished"></translation>
+        <translation>Hedgewars - Złe hasło</translation>
     </message>
     <message>
         <source>You entered a wrong password.</source>
-        <translation type="unfinished"></translation>
+        <translation>Wpisałeś złe hasło.</translation>
     </message>
     <message>
         <source>Try Again</source>
-        <translation type="unfinished"></translation>
+        <translation>Spróbuj ponownie</translation>
     </message>
     <message>
         <source>Hedgewars - Connection error</source>
-        <translation type="unfinished"></translation>
+        <translation>Hedgewars - Błąd połączenia</translation>
     </message>
     <message>
         <source>You reconnected too fast.
 Please wait a few seconds and try again.</source>
-        <translation type="unfinished"></translation>
+        <translation>Za szybko połączyłes się ponownie.
+Poczekaj kilka sekund i spróbuj ponownie.</translation>
+    </message>
+    <message>
+        <source>This page requires an internet connection.</source>
+        <translation>Ta strona wymaga połączenia z internetem.</translation>
+    </message>
+    <message>
+        <source>Guest</source>
+        <translation>Gość</translation>
     </message>
 </context>
 <context>
@@ -419,91 +455,91 @@
     </message>
     <message>
         <source>Map type:</source>
-        <translation type="unfinished"></translation>
+        <translation>Typ mapy:</translation>
     </message>
     <message>
         <source>Image map</source>
-        <translation type="unfinished"></translation>
+        <translation type="unfinished">Mapa z obrazka</translation>
     </message>
     <message>
         <source>Mission map</source>
-        <translation type="unfinished"></translation>
+        <translation>Misja</translation>
     </message>
     <message>
         <source>Hand-drawn</source>
-        <translation type="unfinished">Rys. ręcznie</translation>
+        <translation>Rysowana ręcznie</translation>
     </message>
     <message>
         <source>Randomly generated</source>
-        <translation type="unfinished"></translation>
+        <translation>Losowa mapa</translation>
     </message>
     <message>
         <source>Random maze</source>
-        <translation type="unfinished"></translation>
+        <translation>Losowe labirynty</translation>
     </message>
     <message>
         <source>Random</source>
-        <translation type="unfinished">Losowo</translation>
+        <translation>Losowo</translation>
     </message>
     <message>
         <source>Map preview:</source>
-        <translation type="unfinished"></translation>
+        <translation>Podgląd:</translation>
     </message>
     <message>
         <source>Load map drawing</source>
-        <translation type="unfinished"></translation>
+        <translation>Wczytaj rysowana mapę</translation>
     </message>
     <message>
         <source>Edit map drawing</source>
-        <translation type="unfinished"></translation>
+        <translation>Edytuj mapę</translation>
     </message>
     <message>
         <source>Small islands</source>
-        <translation type="unfinished"></translation>
+        <translation>Małe wyspy</translation>
     </message>
     <message>
         <source>Medium islands</source>
-        <translation type="unfinished"></translation>
+        <translation>Średnie wyspy</translation>
     </message>
     <message>
         <source>Large islands</source>
-        <translation type="unfinished"></translation>
+        <translation>Duże wyspy</translation>
     </message>
     <message>
         <source>Map size:</source>
-        <translation type="unfinished"></translation>
+        <translation>Rozmiar mapy:</translation>
     </message>
     <message>
         <source>Maze style:</source>
-        <translation type="unfinished"></translation>
+        <translation>Styl labiryntu:</translation>
     </message>
     <message>
         <source>Mission:</source>
-        <translation type="unfinished"></translation>
+        <translation>Misja:</translation>
     </message>
     <message>
         <source>Map:</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Theme: </source>
-        <translation type="unfinished"></translation>
+        <translation>Mapa:</translation>
     </message>
     <message>
         <source>Load drawn map</source>
-        <translation type="unfinished">Załaduj mapę</translation>
+        <translation>Załaduj mapę</translation>
     </message>
     <message>
         <source>Drawn Maps</source>
-        <translation type="unfinished">Narysowane mapy</translation>
+        <translation>Narysowane mapy</translation>
     </message>
     <message>
         <source>All files</source>
-        <translation type="unfinished">Wszystkie pliki</translation>
+        <translation>Wszystkie pliki</translation>
     </message>
     <message>
         <source>Large tunnels</source>
-        <translation type="unfinished"></translation>
+        <translation>Duże tunele</translation>
+    </message>
+    <message>
+        <source>Theme: %1</source>
+        <translation>Motyw: %1</translation>
     </message>
 </context>
 <context>
@@ -549,7 +585,7 @@
     </message>
     <message>
         <source>%1 *** %2 has joined</source>
-        <translation>%1 *** %2 dołączył</translation>
+        <translation type="obsolete">%1 *** %2 dołączył</translation>
     </message>
     <message>
         <source>%1 *** %2 has left (%3)</source>
@@ -576,22 +612,25 @@
     <name>HWPasswordDialog</name>
     <message>
         <source>Login</source>
-        <translation type="unfinished"></translation>
+        <translation>Login</translation>
     </message>
     <message>
         <source>To connect to the server, please log in.
 
 If you don&apos;t have an account on www.hedgewars.org,
 just enter your nickname.</source>
-        <translation type="unfinished"></translation>
+        <translation>Zaloguj się by połączyć się z serwerem.
+
+Jeśli nie masz konta na www.hedgewars.org,
+po prostu wpisz swój nick.</translation>
     </message>
     <message>
         <source>Nickname:</source>
-        <translation type="unfinished"></translation>
+        <translation>Nick:</translation>
     </message>
     <message>
         <source>Password:</source>
-        <translation type="unfinished"></translation>
+        <translation>Hasło:</translation>
     </message>
 </context>
 <context>
@@ -609,22 +648,22 @@
     <name>HatButton</name>
     <message>
         <source>Change hat (%1)</source>
-        <translation type="unfinished"></translation>
+        <translation>Zmień czapkę (%1)</translation>
     </message>
 </context>
 <context>
     <name>HatPrompt</name>
     <message>
         <source>Cancel</source>
-        <translation type="unfinished">Anuluj</translation>
+        <translation>Anuluj</translation>
     </message>
     <message>
         <source>Use selected hat</source>
-        <translation type="unfinished"></translation>
+        <translation>Użyj wybranej czapki</translation>
     </message>
     <message>
         <source>Search for a hat:</source>
-        <translation type="unfinished"></translation>
+        <translation>Szukaj czapki:</translation>
     </message>
 </context>
 <context>
@@ -638,7 +677,7 @@
     <name>KeyBinder</name>
     <message>
         <source>Category</source>
-        <translation type="unfinished"></translation>
+        <translation>Kategoria</translation>
     </message>
 </context>
 <context>
@@ -646,30 +685,30 @@
     <message>
         <source>Duration: %1m %2s
 </source>
-        <translation type="unfinished">Długość: %1m %2s </translation>
+        <translation>Długość: %1m %2s </translation>
     </message>
     <message>
         <source>Video: %1x%2, </source>
-        <translation type="unfinished">Wideo: %1x%2, </translation>
+        <translation>Wideo: %1x%2, </translation>
     </message>
     <message>
         <source>%1 fps, </source>
-        <translation type="unfinished">%1 kl/s, </translation>
+        <translation>%1 kl/s, </translation>
     </message>
     <message>
         <source>Audio: </source>
-        <translation type="unfinished">Audio: </translation>
+        <translation>Audio: </translation>
     </message>
     <message>
         <source>unknown</source>
-        <translation type="unfinished"></translation>
+        <translation>nieznany</translation>
     </message>
 </context>
 <context>
     <name>MapModel</name>
     <message>
         <source>No description available.</source>
-        <translation type="unfinished"></translation>
+        <translation>Brak opisu.</translation>
     </message>
 </context>
 <context>
@@ -704,35 +743,35 @@
     </message>
     <message>
         <source>General</source>
-        <translation type="unfinished">Ogólne</translation>
+        <translation>Ogólne</translation>
     </message>
     <message>
         <source>Bans</source>
-        <translation type="unfinished"></translation>
+        <translation>Bany</translation>
     </message>
     <message>
         <source>IP/Nick</source>
-        <translation type="unfinished"></translation>
+        <translation>IP/Nick</translation>
     </message>
     <message>
         <source>Expiration</source>
-        <translation type="unfinished"></translation>
+        <translation>Wygaśnie</translation>
     </message>
     <message>
         <source>Reason</source>
-        <translation type="unfinished"></translation>
+        <translation>Powód</translation>
     </message>
     <message>
         <source>Refresh</source>
-        <translation type="unfinished"></translation>
+        <translation>Odśwież</translation>
     </message>
     <message>
         <source>Add</source>
-        <translation type="unfinished"></translation>
+        <translation>Dodaj</translation>
     </message>
     <message>
         <source>Remove</source>
-        <translation type="unfinished"></translation>
+        <translation>Usuń</translation>
     </message>
 </context>
 <context>
@@ -743,6 +782,17 @@
     </message>
 </context>
 <context>
+    <name>PageDataDownload</name>
+    <message>
+        <source>Loading, please wait.</source>
+        <translation>Ładowanie, proszę czekać.</translation>
+    </message>
+    <message>
+        <source>This page requires an internet connection.</source>
+        <translation>Ta strona wymaga połączenia z internetem.</translation>
+    </message>
+</context>
+<context>
     <name>PageDrawMap</name>
     <message>
         <source>Undo</source>
@@ -789,39 +839,39 @@
     </message>
     <message>
         <source>Select an action to choose a custom key bind for this team</source>
-        <translation type="unfinished"></translation>
+        <translation>Wybierz czynność by przypisać klawisz dla tego zespołu</translation>
     </message>
     <message>
         <source>Use my default</source>
-        <translation type="unfinished"></translation>
+        <translation>Użyj domyślnych</translation>
     </message>
     <message>
         <source>Reset all binds</source>
-        <translation type="unfinished"></translation>
+        <translation>Zresetuj przypisania</translation>
     </message>
     <message>
         <source>Custom Controls</source>
-        <translation type="unfinished"></translation>
+        <translation>Własne ustawienia</translation>
     </message>
     <message>
         <source>Hat</source>
-        <translation type="unfinished">Grzybek</translation>
+        <translation>Czapka</translation>
     </message>
     <message>
         <source>Name</source>
-        <translation type="unfinished">Nazwa</translation>
+        <translation>Nazwa</translation>
     </message>
     <message>
         <source>This hedgehog&apos;s name</source>
-        <translation type="unfinished"></translation>
+        <translation>Imię jeża</translation>
     </message>
     <message>
         <source>Randomize this hedgehog&apos;s name</source>
-        <translation type="unfinished"></translation>
+        <translation>Losuj imię</translation>
     </message>
     <message>
         <source>Random Team</source>
-        <translation type="unfinished">Losowa Drużyna</translation>
+        <translation>Losowa Drużyna</translation>
     </message>
 </context>
 <context>
@@ -890,6 +940,14 @@
             <numerusform>&lt;b&gt;%1&lt;/b&gt; trząsł portkami i opuścił turę &lt;b&gt;%2&lt;/b&gt; razy.</numerusform>
         </translation>
     </message>
+    <message>
+        <source>Play again</source>
+        <translation>Zagraj ponownie</translation>
+    </message>
+    <message>
+        <source>Save</source>
+        <translation>Zapisz</translation>
+    </message>
 </context>
 <context>
     <name>PageInGame</name>
@@ -945,23 +1003,23 @@
     </message>
     <message>
         <source>Play a game across a local area network</source>
-        <translation type="unfinished"></translation>
+        <translation>Zagraj poprzez sieć lokalną</translation>
     </message>
     <message>
         <source>Play a game on an official server</source>
-        <translation type="unfinished"></translation>
+        <translation>Zagraj na oficjalnym serwerze</translation>
     </message>
     <message>
         <source>Feedback</source>
-        <translation type="unfinished"></translation>
+        <translation>Twoja opinia</translation>
     </message>
     <message>
         <source>Play local network game</source>
-        <translation type="unfinished"></translation>
+        <translation>Zagraj poprzez LAN</translation>
     </message>
     <message>
         <source>Play official network game</source>
-        <translation type="unfinished"></translation>
+        <translation>Zagraj na oficjalnym serwerze</translation>
     </message>
 </context>
 <context>
@@ -972,7 +1030,7 @@
     </message>
     <message>
         <source>Edit game preferences</source>
-        <translation type="unfinished">Zmień ustawienia gry</translation>
+        <translation>Zmień ustawienia gry</translation>
     </message>
 </context>
 <context>
@@ -983,26 +1041,30 @@
     </message>
     <message>
         <source>Edit game preferences</source>
-        <translation type="unfinished">Zmień ustawienia gry</translation>
+        <translation>Zmień ustawienia gry</translation>
     </message>
     <message>
         <source>Start</source>
-        <translation type="unfinished">Start</translation>
+        <translation>Start</translation>
     </message>
     <message>
         <source>Update</source>
-        <translation type="unfinished"></translation>
+        <translation>Aktualizuj</translation>
     </message>
     <message>
         <source>Room controls</source>
-        <translation type="unfinished"></translation>
+        <translation>Ustawienia pokoju</translation>
     </message>
 </context>
 <context>
     <name>PageNetServer</name>
     <message>
+        <source>Click here for details</source>
+        <translation>Pokaż szczegóły</translation>
+    </message>
+    <message>
         <source>Insert your address here</source>
-        <translation type="unfinished"></translation>
+        <translation>Wprowadź adres</translation>
     </message>
 </context>
 <context>
@@ -1089,91 +1151,91 @@
     </message>
     <message>
         <source>Select an action to change what key controls it</source>
-        <translation type="unfinished"></translation>
+        <translation type="unfinished">Wybierz czynność by przypisać do niej klawisz</translation>
     </message>
     <message>
         <source>Reset to default</source>
-        <translation type="unfinished"></translation>
+        <translation>Przywróć domyślne</translation>
     </message>
     <message>
         <source>Reset all binds</source>
-        <translation type="unfinished"></translation>
+        <translation>Zresetuj klawisze</translation>
     </message>
     <message>
         <source>Game</source>
-        <translation type="unfinished"></translation>
+        <translation>Gra</translation>
     </message>
     <message>
         <source>Graphics</source>
-        <translation type="unfinished"></translation>
+        <translation>Grafika</translation>
     </message>
     <message>
         <source>Audio</source>
-        <translation type="unfinished"></translation>
+        <translation>Dźwięk</translation>
     </message>
     <message>
         <source>Controls</source>
-        <translation type="unfinished"></translation>
+        <translation>Sterowanie</translation>
     </message>
     <message>
         <source>Video Recording</source>
-        <translation type="unfinished"></translation>
+        <translation>Nagrywanie wideo</translation>
     </message>
     <message>
         <source>Network</source>
-        <translation type="unfinished"></translation>
+        <translation>Sieć</translation>
     </message>
     <message>
         <source>Teams</source>
-        <translation type="unfinished">Drużyny</translation>
+        <translation>Drużyny</translation>
     </message>
     <message>
         <source>Schemes</source>
-        <translation type="unfinished"></translation>
+        <translation>Schematy</translation>
     </message>
     <message>
         <source>Weapons</source>
-        <translation type="unfinished">Uzbrojenie</translation>
+        <translation>Uzbrojenie</translation>
     </message>
     <message>
         <source>Frontend</source>
-        <translation type="unfinished"></translation>
+        <translation>Interfejs</translation>
     </message>
     <message>
         <source>Custom colors</source>
-        <translation type="unfinished">Własne kolory</translation>
+        <translation>Własne kolory</translation>
     </message>
     <message>
         <source>Game audio</source>
-        <translation type="unfinished"></translation>
+        <translation>Dźwięki w grze</translation>
     </message>
     <message>
         <source>Frontend audio</source>
-        <translation type="unfinished"></translation>
+        <translation>Dźwięki interfejsu</translation>
     </message>
     <message>
         <source>Account</source>
-        <translation type="unfinished"></translation>
+        <translation>Konto</translation>
     </message>
     <message>
         <source>Proxy settings</source>
-        <translation type="unfinished">Ustawienia proxy</translation>
+        <translation>Ustawienia proxy</translation>
     </message>
     <message>
         <source>Miscellaneous</source>
-        <translation type="unfinished">Różne</translation>
+        <translation>Różne</translation>
     </message>
     <message>
         <source>Updates</source>
-        <translation type="unfinished"></translation>
+        <translation>Aktualizacja</translation>
     </message>
     <message>
         <source>Check for updates</source>
-        <translation type="unfinished"></translation>
+        <translation>Sprawdź aktualizacje</translation>
     </message>
     <message>
         <source>Video recording options</source>
-        <translation type="unfinished">Ustawienia nagrywania</translation>
+        <translation>Ustawienia nagrywania</translation>
     </message>
 </context>
 <context>
@@ -1231,27 +1293,27 @@
     </message>
     <message>
         <source>Search for a room:</source>
-        <translation type="unfinished"></translation>
+        <translation>Szukaj pokoju:</translation>
     </message>
     <message>
         <source>Create room</source>
-        <translation type="unfinished"></translation>
+        <translation>Stwórz pokój</translation>
     </message>
     <message>
         <source>Join room</source>
-        <translation type="unfinished"></translation>
+        <translation>Dołącz do gry</translation>
     </message>
     <message>
         <source>Room state</source>
-        <translation type="unfinished"></translation>
+        <translation>Stan gry</translation>
     </message>
     <message>
         <source>Clear filters</source>
-        <translation type="unfinished"></translation>
+        <translation>Usuń filtry</translation>
     </message>
     <message>
         <source>Open server administration page</source>
-        <translation type="unfinished"></translation>
+        <translation>Otwórz ustawienia admina</translation>
     </message>
 </context>
 <context>
@@ -1374,7 +1436,7 @@
     </message>
     <message>
         <source>Add an indestructible border along the bottom</source>
-        <translation>&gt;Dodaje niezniszczalną ramkę u dołu mapy</translation>
+        <translation>Dodaje niezniszczalną ramkę u dołu mapy</translation>
     </message>
 </context>
 <context>
@@ -1475,12 +1537,12 @@
     <message>
         <source>Date: %1
 </source>
-        <translation type="unfinished"></translation>
+        <translation>Data: %1</translation>
     </message>
     <message>
         <source>Size: %1
 </source>
-        <translation type="unfinished"></translation>
+        <translation>Rozmiar: %1</translation>
     </message>
 </context>
 <context>
@@ -1531,15 +1593,15 @@
     </message>
     <message>
         <source>Restrict Unregistered Players Join</source>
-        <translation type="unfinished"></translation>
+        <translation>Blokuj niezarejestrowanych graczy</translation>
     </message>
     <message>
         <source>Show games in lobby</source>
-        <translation type="unfinished"></translation>
+        <translation>Pokaż nierozpoczęte gry</translation>
     </message>
     <message>
         <source>Show games in-progress</source>
-        <translation type="unfinished"></translation>
+        <translation>Pokaż trwające gry</translation>
     </message>
 </context>
 <context>
@@ -1590,31 +1652,31 @@
     </message>
     <message>
         <source>Visual effects</source>
-        <translation type="unfinished"></translation>
+        <translation>Efekty wizualne</translation>
     </message>
     <message>
         <source>Sound</source>
-        <translation type="unfinished"></translation>
+        <translation>Dźwięk</translation>
     </message>
     <message>
         <source>In-game sound effects</source>
-        <translation type="unfinished"></translation>
+        <translation>Efekty dźwiękowe w grze</translation>
     </message>
     <message>
         <source>Music</source>
-        <translation type="unfinished"></translation>
+        <translation>Muzyka</translation>
     </message>
     <message>
         <source>In-game music</source>
-        <translation type="unfinished"></translation>
+        <translation>Muzyka w grze</translation>
     </message>
     <message>
         <source>Frontend sound effects</source>
-        <translation type="unfinished"></translation>
+        <translation>Efekty dźwiękowe w menu</translation>
     </message>
     <message>
         <source>Frontend music</source>
-        <translation type="unfinished"></translation>
+        <translation>Muzyka w menu</translation>
     </message>
 </context>
 <context>
@@ -1959,43 +2021,47 @@
     </message>
     <message>
         <source>This development build is &apos;work in progress&apos; and may not be compatible with other versions of the game, while some features might be broken or incomplete!</source>
-        <translation type="unfinished"></translation>
+        <translation>Ta wersja deweloperska nie jest końcową wersją gry i może być niekompatybilna z innymi wersjami i niektóre funkcje mogą być niekompletne lub nie działać w ogóle!</translation>
     </message>
     <message>
         <source>Fullscreen</source>
-        <translation type="unfinished">Pełny ekran</translation>
+        <translation>Pełny ekran</translation>
     </message>
     <message>
         <source>Fullscreen Resolution</source>
-        <translation type="unfinished"></translation>
+        <translation>Rozdzielczość</translation>
     </message>
     <message>
         <source>Windowed Resolution</source>
-        <translation type="unfinished"></translation>
+        <translation>Rozmiar okna</translation>
     </message>
     <message>
         <source>Your Email</source>
-        <translation type="unfinished"></translation>
+        <translation>Twój e-mail</translation>
     </message>
     <message>
         <source>Summary</source>
-        <translation type="unfinished"></translation>
+        <translation>Krótki opis</translation>
     </message>
     <message>
         <source>Send system information</source>
-        <translation type="unfinished"></translation>
+        <translation>Wyśłij informacje o systemie</translation>
     </message>
     <message>
         <source>Type the security code:</source>
-        <translation type="unfinished"></translation>
+        <translation>Wpisz litery z obrazka:</translation>
     </message>
     <message>
         <source>Revision</source>
-        <translation type="unfinished"></translation>
+        <translation>Wersja</translation>
     </message>
     <message>
         <source>This program is distributed under the %1</source>
-        <translation type="unfinished"></translation>
+        <translation>Ten program jest rozpowszechniany na licencji %1</translation>
+    </message>
+    <message>
+        <source>This setting will be effective at next restart.</source>
+        <translation>Ustawienia zadziałają po restarcie gry.</translation>
     </message>
 </context>
 <context>
@@ -2021,7 +2087,7 @@
     </message>
     <message>
         <source>-r%1 (%2)</source>
-        <translation type="unfinished"></translation>
+        <translation>-r%1 (%2)</translation>
     </message>
 </context>
 <context>
@@ -2238,40 +2304,41 @@
     </message>
     <message>
         <source>Hedgewars - Nick not registered</source>
-        <translation type="unfinished"></translation>
+        <translation>Hedgewars - Niezarejestrowany nick</translation>
     </message>
     <message>
         <source>System Information Preview</source>
-        <translation type="unfinished"></translation>
+        <translation>Podgląd informacji o systemie</translation>
     </message>
     <message>
         <source>Failed to generate captcha</source>
-        <translation type="unfinished"></translation>
+        <translation>Nie udało się wygenerować captchy</translation>
     </message>
     <message>
         <source>Failed to download captcha</source>
-        <translation type="unfinished"></translation>
+        <translation>Nie udało się pobrać captchy</translation>
     </message>
     <message>
         <source>Please fill out all fields. Email is optional.</source>
-        <translation type="unfinished"></translation>
+        <translation>Wypełnij wszystkie pola. E-mail nie jest wymagany.</translation>
     </message>
     <message>
         <source>Hedgewars - Warning</source>
-        <translation type="unfinished"></translation>
+        <translation>Hedgewars - Ostrzeżenie</translation>
     </message>
     <message>
         <source>Hedgewars - Information</source>
-        <translation type="unfinished"></translation>
+        <translation>Hedgewars - Informacja</translation>
     </message>
     <message>
         <source>Not all players are ready</source>
-        <translation type="unfinished"></translation>
+        <translation>Nie wszyscy gracze są gotowi</translation>
     </message>
     <message>
         <source>Are you sure you want to start this game?
 Not all players are ready.</source>
-        <translation type="unfinished"></translation>
+        <translation>Jesteś pewien, że chcesz rozpocząc grę?
+Nie wszyscy gracze są gotowi.</translation>
     </message>
 </context>
 <context>
@@ -2338,7 +2405,7 @@
     </message>
     <message>
         <source>Set default options</source>
-        <translation>Zapisz jako domyśłne ustawienia</translation>
+        <translation>Przywróć domyślne ustawienia</translation>
     </message>
     <message>
         <source>Open videos directory</source>
@@ -2358,58 +2425,58 @@
     </message>
     <message>
         <source>Restore default coding parameters</source>
-        <translation type="unfinished"></translation>
+        <translation>Przywróć domyślne ustawienia</translation>
     </message>
     <message>
         <source>Open the video directory in your system</source>
-        <translation type="unfinished"></translation>
+        <translation>Otwórz katalog z filmami</translation>
     </message>
     <message>
         <source>Play this video</source>
-        <translation type="unfinished"></translation>
+        <translation>Odtwórz wideo</translation>
     </message>
     <message>
         <source>Delete this video</source>
-        <translation type="unfinished"></translation>
+        <translation>Usuń wideo</translation>
     </message>
     <message>
         <source>Upload this video to your Youtube account</source>
-        <translation type="unfinished"></translation>
+        <translation>Wyślij to wideo na konto Youtube</translation>
     </message>
     <message>
         <source>Reset</source>
-        <translation type="unfinished"></translation>
+        <translation>Zresetuj</translation>
     </message>
     <message>
         <source>Set the default server port for Hedgewars</source>
-        <translation type="unfinished"></translation>
+        <translation>Ustaw domyślny port serwera Hedgewars</translation>
     </message>
     <message>
         <source>Invite your friends to your server in just 1 click!</source>
-        <translation type="unfinished"></translation>
+        <translation>Zaproś swoich znajomych jednym kliknięciem!</translation>
     </message>
     <message>
         <source>Click to copy your unique server URL in your clipboard. Send this link to your friends ands and they will be able to join you.</source>
-        <translation type="unfinished"></translation>
+        <translation>Kliknij by skopiować unikalny link twojego serwera do schowka. Wyślij link swoim znajomym aby mogli dołączyć do gry.</translation>
     </message>
     <message>
         <source>Start private server</source>
-        <translation type="unfinished"></translation>
+        <translation>Uruchom prywatny serwer</translation>
     </message>
 </context>
 <context>
     <name>RoomNamePrompt</name>
     <message>
         <source>Enter a name for your room.</source>
-        <translation type="unfinished"></translation>
+        <translation>Wprowadź nazwę pokoju.</translation>
     </message>
     <message>
         <source>Cancel</source>
-        <translation type="unfinished">Anuluj</translation>
+        <translation>Anuluj</translation>
     </message>
     <message>
         <source>Create room</source>
-        <translation type="unfinished"></translation>
+        <translation>Stwórz pokój</translation>
     </message>
 </context>
 <context>
@@ -2463,19 +2530,19 @@
     <name>SeedPrompt</name>
     <message>
         <source>The map seed is the basis for all random values generated by the game.</source>
-        <translation type="unfinished"></translation>
+        <translation>Ziarno jest podstawą wszystkich losowych wartości tworzynych przez grę.</translation>
     </message>
     <message>
         <source>Cancel</source>
-        <translation type="unfinished">Anuluj</translation>
+        <translation>Anuluj</translation>
     </message>
     <message>
         <source>Set seed</source>
-        <translation type="unfinished"></translation>
+        <translation>Ustaw ziarno</translation>
     </message>
     <message>
         <source>Close</source>
-        <translation type="unfinished"></translation>
+        <translation>Zamknij</translation>
     </message>
 </context>
 <context>
@@ -2509,41 +2576,42 @@
     <name>TCPBase</name>
     <message>
         <source>Unable to start server at %1.</source>
-        <translation type="unfinished"></translation>
+        <translation>Nie można uruchomić serwera na %1.</translation>
     </message>
     <message>
         <source>Unable to run engine at %1
 Error code: %2</source>
-        <translation type="unfinished"></translation>
+        <translation>Nie można uruchomić silnika na %1
+Kod błędu: %2</translation>
     </message>
 </context>
 <context>
     <name>TeamSelWidget</name>
     <message>
         <source>At least two teams are required to play!</source>
-        <translation type="unfinished"></translation>
+        <translation>Do rozpoczęcia gry potrzeba dwóch druzyn!</translation>
     </message>
 </context>
 <context>
     <name>TeamShowWidget</name>
     <message>
         <source>%1&apos;s team</source>
-        <translation type="unfinished"></translation>
+        <translation>Drużyna %1</translation>
     </message>
 </context>
 <context>
     <name>ThemePrompt</name>
     <message>
         <source>Cancel</source>
-        <translation type="unfinished">Anuluj</translation>
+        <translation>Anuluj</translation>
     </message>
     <message>
         <source>Search for a theme:</source>
-        <translation type="unfinished"></translation>
+        <translation>Szukaj motywu:</translation>
     </message>
     <message>
         <source>Use selected theme</source>
-        <translation type="unfinished"></translation>
+        <translation>Użyj wybranego motywu</translation>
     </message>
 </context>
 <context>
@@ -2714,26 +2782,26 @@
     </message>
     <message>
         <source>hedgehog info</source>
-        <translation type="unfinished"></translation>
+        <translation>informacje o jeżu</translation>
     </message>
 </context>
 <context>
     <name>binds (categories)</name>
     <message>
         <source>Movement</source>
-        <translation type="unfinished"></translation>
+        <translation>Ruch</translation>
     </message>
     <message>
         <source>Weapons</source>
-        <translation type="unfinished">Uzbrojenie</translation>
+        <translation>Uzbrojenie</translation>
     </message>
     <message>
         <source>Camera</source>
-        <translation type="unfinished"></translation>
+        <translation>Kamera</translation>
     </message>
     <message>
         <source>Miscellaneous</source>
-        <translation type="unfinished">Różne</translation>
+        <translation>Różne</translation>
     </message>
 </context>
 <context>
@@ -2804,7 +2872,7 @@
     </message>
     <message>
         <source>Hedgehog movement</source>
-        <translation type="unfinished"></translation>
+        <translation>Poruszanie się jeżem</translation>
     </message>
 </context>
 <context>
@@ -3126,119 +3194,4 @@
         <translation>DPad</translation>
     </message>
 </context>
-<context>
-    <name>server</name>
-    <message>
-        <source>Not room master</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Corrupted hedgehogs info</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>too many teams</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>too many hedgehogs</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>There&apos;s already a team with same name in the list</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>round in progress</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>restricted</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>REMOVE_TEAM: no such team</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Not team owner!</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Less than two clans!</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Room with such name already exists</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Nickname already chosen</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Illegal nickname</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Protocol already known</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Bad number</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Nickname is already in use</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>No checker rights</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Authentication failed</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>60 seconds cooldown after kick</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>kicked</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Ping timeout</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>bye</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Illegal room name</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>No such room</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Joining restricted</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Registered users only</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>You are banned in this room</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Empty config entry</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
 </TS>
--- a/share/hedgewars/Data/Locale/hedgewars_pt_BR.ts	Thu Apr 04 14:37:19 2013 +0200
+++ b/share/hedgewars/Data/Locale/hedgewars_pt_BR.ts	Tue Jun 04 22:28:12 2013 +0200
@@ -99,19 +99,19 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Please give us feedback!</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>We are always happy about suggestions, ideas, or bug reports.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>If you found a bug, you can see if it&apos;s already known here (english): </source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Your email address is optional, but we may want to contact you.</source>
+        <source>Send us feedback!</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>If you found a bug, you can see if it&apos;s already been reported here: </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Your email address is optional, but necessary if you want us to get back at you.</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
@@ -254,6 +254,18 @@
         <source>Failed to save StyleSheet to %1</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source>%1 has joined</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>%1 has left</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>%1 has left (%2)</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>HWForm</name>
@@ -353,6 +365,10 @@
 Please wait a few seconds and try again.</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source>This page requires an internet connection.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>HWGame</name>
@@ -473,10 +489,6 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Theme: </source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>Load drawn map</source>
         <translation type="unfinished">Carregar mapa</translation>
     </message>
@@ -492,6 +504,10 @@
         <source>Large tunnels</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source>Theme: %1</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>HWNetServersModel</name>
@@ -536,7 +552,7 @@
     </message>
     <message>
         <source>%1 *** %2 has joined</source>
-        <translation>%1 *** %2 entrou</translation>
+        <translation type="obsolete">%1 *** %2 entrou</translation>
     </message>
     <message>
         <source>%1 *** %2 has left (%3)</source>
@@ -730,6 +746,17 @@
     </message>
 </context>
 <context>
+    <name>PageDataDownload</name>
+    <message>
+        <source>Loading, please wait.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>This page requires an internet connection.</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
     <name>PageDrawMap</name>
     <message>
         <source>Undo</source>
@@ -871,6 +898,14 @@
             <numerusform>&lt;b&gt;%1&lt;/b&gt; estava assustado e passou o turno &lt;b&gt;%2&lt;/b&gt; vezes.&lt;/p&gt;.</numerusform>
         </translation>
     </message>
+    <message>
+        <source>Play again</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Save</source>
+        <translation type="unfinished">Salvar</translation>
+    </message>
 </context>
 <context>
     <name>PageInGame</name>
@@ -982,6 +1017,10 @@
 <context>
     <name>PageNetServer</name>
     <message>
+        <source>Click here for details</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
         <source>Insert your address here</source>
         <translation type="unfinished"></translation>
     </message>
@@ -1970,6 +2009,10 @@
         <source>This program is distributed under the %1</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source>This setting will be effective at next restart.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>QLineEdit</name>
@@ -3078,119 +3121,4 @@
         <translation>DPad</translation>
     </message>
 </context>
-<context>
-    <name>server</name>
-    <message>
-        <source>Not room master</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Corrupted hedgehogs info</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>too many teams</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>too many hedgehogs</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>There&apos;s already a team with same name in the list</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>round in progress</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>restricted</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>REMOVE_TEAM: no such team</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Not team owner!</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Less than two clans!</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Room with such name already exists</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Nickname already chosen</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Illegal nickname</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Protocol already known</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Bad number</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Nickname is already in use</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>No checker rights</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Authentication failed</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>60 seconds cooldown after kick</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>kicked</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Ping timeout</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>bye</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Illegal room name</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>No such room</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Joining restricted</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Registered users only</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>You are banned in this room</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Empty config entry</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
 </TS>
--- a/share/hedgewars/Data/Locale/hedgewars_pt_PT.ts	Thu Apr 04 14:37:19 2013 +0200
+++ b/share/hedgewars/Data/Locale/hedgewars_pt_PT.ts	Tue Jun 04 22:28:12 2013 +0200
@@ -5,14 +5,14 @@
     <name>About</name>
     <message>
         <source>Unknown Compiler</source>
-        <translation type="unfinished"></translation>
+        <translation>Compilador Desconhecido</translation>
     </message>
 </context>
 <context>
     <name>AbstractPage</name>
     <message>
         <source>Go back</source>
-        <translation>Retrodecer</translation>
+        <translation>Retroceder</translation>
     </message>
 </context>
 <context>
@@ -23,96 +23,96 @@
     </message>
     <message>
         <source>copy of</source>
-        <translation>copia de</translation>
+        <translation>cópia de</translation>
     </message>
 </context>
 <context>
     <name>BanDialog</name>
     <message>
         <source>IP</source>
-        <translation type="unfinished">IP</translation>
+        <translation>IP</translation>
     </message>
     <message>
         <source>Nick</source>
-        <translation type="unfinished"></translation>
+        <translation>Utilizador</translation>
     </message>
     <message>
         <source>IP/Nick</source>
-        <translation type="unfinished"></translation>
+        <translation>IP/Utilizador</translation>
     </message>
     <message>
         <source>Reason</source>
-        <translation type="unfinished"></translation>
+        <translation>Motivo</translation>
     </message>
     <message>
         <source>Duration</source>
-        <translation type="unfinished"></translation>
+        <translation>Duração</translation>
     </message>
     <message>
         <source>Ok</source>
-        <translation type="unfinished"></translation>
+        <translation>Ok</translation>
     </message>
     <message>
         <source>Cancel</source>
-        <translation type="unfinished">Cancelar</translation>
+        <translation>Cancelar</translation>
     </message>
     <message>
         <source>you know why</source>
-        <translation type="unfinished"></translation>
+        <translation>tu sabes porquê</translation>
     </message>
     <message>
         <source>Warning</source>
-        <translation type="unfinished"></translation>
+        <translation>Aviso</translation>
     </message>
     <message>
         <source>Please, specify %1</source>
-        <translation type="unfinished"></translation>
+        <translation>Por favor, especifica %1</translation>
     </message>
     <message>
         <source>nickname</source>
-        <translation type="unfinished"></translation>
+        <translation>utilizador</translation>
     </message>
     <message>
         <source>permanent</source>
-        <translation type="unfinished"></translation>
+        <translation>permanente</translation>
     </message>
 </context>
 <context>
     <name>DataManager</name>
     <message>
         <source>Use Default</source>
-        <translation type="unfinished"></translation>
+        <translation>Utilizar configuração por omissão</translation>
     </message>
 </context>
 <context>
     <name>FeedbackDialog</name>
     <message>
         <source>View</source>
-        <translation type="unfinished"></translation>
+        <translation>Ver</translation>
     </message>
     <message>
         <source>Cancel</source>
-        <translation type="unfinished">Cancelar</translation>
+        <translation>Cancelar</translation>
     </message>
     <message>
         <source>Send Feedback</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Please give us feedback!</source>
-        <translation type="unfinished"></translation>
+        <translation>Enviar Feedback</translation>
     </message>
     <message>
         <source>We are always happy about suggestions, ideas, or bug reports.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>If you found a bug, you can see if it&apos;s already known here (english): </source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Your email address is optional, but we may want to contact you.</source>
-        <translation type="unfinished"></translation>
+        <translation>Estamos sempre abertos a novas sugestões, ideias, ou submissões de bugs encontrados.</translation>
+    </message>
+    <message>
+        <source>Send us feedback!</source>
+        <translation>Envia-nos feedback!</translation>
+    </message>
+    <message>
+        <source>If you found a bug, you can see if it&apos;s already been reported here: </source>
+        <translation>Se encontraste um bug, podes verificar se já foi submetido aqui: </translation>
+    </message>
+    <message>
+        <source>Your email address is optional, but necessary if you want us to get back at you.</source>
+        <translation>O teu e-mail é opcional, mas necessário se quiseres que te contactemos de volta.</translation>
     </message>
 </context>
 <context>
@@ -145,68 +145,68 @@
     </message>
     <message>
         <source>Game scheme will auto-select a weapon</source>
-        <translation type="unfinished"></translation>
+        <translation>O esquema de jogo irá auto-selecionar uma arma</translation>
     </message>
     <message>
         <source>Map</source>
-        <translation type="unfinished">Mapa</translation>
+        <translation>Mapa</translation>
     </message>
     <message>
         <source>Game options</source>
-        <translation type="unfinished"></translation>
+        <translation>Opções de jogo</translation>
     </message>
 </context>
 <context>
     <name>HWApplication</name>
     <message numerus="yes">
         <source>%1 minutes</source>
-        <translation type="unfinished">
-            <numerusform></numerusform>
-            <numerusform></numerusform>
+        <translation>
+            <numerusform>%1 minuto</numerusform>
+            <numerusform>%1 minutos</numerusform>
         </translation>
     </message>
     <message numerus="yes">
         <source>%1 hour</source>
-        <translation type="unfinished">
-            <numerusform></numerusform>
-            <numerusform></numerusform>
+        <translation>
+            <numerusform>%1 hora</numerusform>
+            <numerusform>%1 horas</numerusform>
         </translation>
     </message>
     <message numerus="yes">
         <source>%1 hours</source>
-        <translation type="unfinished">
-            <numerusform></numerusform>
-            <numerusform></numerusform>
+        <translation>
+            <numerusform>%1 hora</numerusform>
+            <numerusform>%1 horas</numerusform>
         </translation>
     </message>
     <message numerus="yes">
         <source>%1 day</source>
-        <translation type="unfinished">
-            <numerusform></numerusform>
-            <numerusform></numerusform>
+        <translation>
+            <numerusform>%1 dia</numerusform>
+            <numerusform>%1 dias</numerusform>
         </translation>
     </message>
     <message numerus="yes">
         <source>%1 days</source>
-        <translation type="unfinished">
-            <numerusform></numerusform>
-            <numerusform></numerusform>
+        <translation>
+            <numerusform>%1 dia</numerusform>
+            <numerusform>%1 dias</numerusform>
         </translation>
     </message>
     <message>
         <source>Scheme &apos;%1&apos; not supported</source>
-        <translation type="unfinished"></translation>
+        <translation>Esquema &apos;%1&apos; não suportado</translation>
     </message>
     <message>
         <source>Cannot create directory %1</source>
-        <translation type="unfinished">Não foi possível criar o diretório %1</translation>
+        <translation>Não foi possível criar o diretório %1</translation>
     </message>
     <message>
         <source>Failed to open data directory:
 %1
 
 Please check your installation!</source>
-        <translation type="unfinished">Erro ao abrir o diretório:
+        <translation>Erro ao abrir o diretório:
 %1
 
 Por favor verifica a tua instalação!</translation>
@@ -247,7 +247,7 @@
     </message>
     <message>
         <source>Couldn&apos;t read %1</source>
-        <translation>Não foi possivel carregar %1</translation>
+        <translation>Não foi possível carregar %1</translation>
     </message>
     <message>
         <source>StyleSheet discarded</source>
@@ -261,6 +261,18 @@
         <source>Failed to save StyleSheet to %1</source>
         <translation>Não foi possível gravar o StyleSheet em %1</translation>
     </message>
+    <message>
+        <source>%1 has joined</source>
+        <translation>%1 entrou</translation>
+    </message>
+    <message>
+        <source>%1 has left</source>
+        <translation>%1 saíu</translation>
+    </message>
+    <message>
+        <source>%1 has left (%2)</source>
+        <translation>%1 saíu (%2)</translation>
+    </message>
 </context>
 <context>
     <name>HWForm</name>
@@ -305,16 +317,16 @@
     <message>
         <source>Someone already uses your nickname %1 on the server.
 Please pick another nickname:</source>
-        <translation>Alguem já está a utilizar o teu nome de utilizador %1 no servidor.
+        <translation>Alguém já está a utilizar o teu nome de utilizador %1 no servidor.
 Por favor escolhe outro nome de utilizador:</translation>
     </message>
     <message>
         <source>%1&apos;s Team</source>
-        <translation type="unfinished"></translation>
+        <translation>Equipa de %1</translation>
     </message>
     <message>
         <source>Hedgewars - Nick registered</source>
-        <translation type="unfinished"></translation>
+        <translation>Hedgewars - Utilizador registado</translation>
     </message>
     <message>
         <source>This nick is registered, and you haven&apos;t specified a password.
@@ -322,44 +334,57 @@
 If this nick isn&apos;t yours, please register your own nick at www.hedgewars.org
 
 Password:</source>
-        <translation type="unfinished"></translation>
+        <translation>Este utilizador está registado, e não foi especificada uma palavra-passe.
+		
+Se este utilizador não te pertence, acede a www.hedgewars.org e regista o teu próprio utilizador.
+
+Palavra-passe:</translation>
     </message>
     <message>
         <source>Your nickname is not registered.
 To prevent someone else from using it,
 please register it at www.hedgewars.org</source>
-        <translation type="unfinished"></translation>
+        <translation>O teu nome de utilizador não está registado.
+De forma a prevenir que alguém o utilize,
+por favor regista-o em www.hedgewars.org</translation>
     </message>
     <message>
         <source>
 
 Your password wasn&apos;t saved either.</source>
-        <translation type="unfinished"></translation>
+        <translation>
+
+A tua palavra-passe também não foi gravada.</translation>
     </message>
     <message>
         <source>Hedgewars - Empty nickname</source>
-        <translation type="unfinished"></translation>
+        <translation>Hedgewars - Utilizador vazio</translation>
     </message>
     <message>
         <source>Hedgewars - Wrong password</source>
-        <translation type="unfinished"></translation>
+        <translation>Hedgewars - Palavra-passe incorreta</translation>
     </message>
     <message>
         <source>You entered a wrong password.</source>
-        <translation type="unfinished"></translation>
+        <translation>Introduziste a palavra-passe errada.</translation>
     </message>
     <message>
         <source>Try Again</source>
-        <translation type="unfinished"></translation>
+        <translation>Tenta Novamente</translation>
     </message>
     <message>
         <source>Hedgewars - Connection error</source>
-        <translation type="unfinished"></translation>
+        <translation>Hedgewars - Erro na ligação</translation>
     </message>
     <message>
         <source>You reconnected too fast.
 Please wait a few seconds and try again.</source>
-        <translation type="unfinished"></translation>
+        <translation>Tentás-te voltar ao servidor num espaço de tempo demasiado curto.
+Por favor, aguarda alguns segundos e tenta novamente.</translation>
+    </message>
+    <message>
+        <source>This page requires an internet connection.</source>
+        <translation>Esta página requer ligação à internet</translation>
     </message>
 </context>
 <context>
@@ -401,11 +426,11 @@
     </message>
     <message>
         <source>Small tunnels</source>
-        <translation>Túneis pequenos</translation>
+        <translation>Túneis estreitos</translation>
     </message>
     <message>
         <source>Medium tunnels</source>
-        <translation>Túneis medios</translation>
+        <translation>Túneis médios</translation>
     </message>
     <message>
         <source>Seed</source>
@@ -413,91 +438,95 @@
     </message>
     <message>
         <source>Map type:</source>
-        <translation type="unfinished"></translation>
+        <translation>Mapa:</translation>
     </message>
     <message>
         <source>Image map</source>
-        <translation type="unfinished"></translation>
+        <translation>Imagem</translation>
     </message>
     <message>
         <source>Mission map</source>
-        <translation type="unfinished"></translation>
+        <translation>Missão</translation>
     </message>
     <message>
         <source>Hand-drawn</source>
-        <translation type="unfinished">Desenhado à mão</translation>
+        <translation>Desenhado à mão</translation>
     </message>
     <message>
         <source>Randomly generated</source>
-        <translation type="unfinished"></translation>
+        <translation>Aleatoriamente gerado</translation>
     </message>
     <message>
         <source>Random maze</source>
-        <translation type="unfinished"></translation>
+        <translation>Labirinto aleatório</translation>
     </message>
     <message>
         <source>Random</source>
-        <translation type="unfinished">Aleatório</translation>
+        <translation>Aleatório</translation>
     </message>
     <message>
         <source>Map preview:</source>
-        <translation type="unfinished"></translation>
+        <translation>Pré-visualização do mapa:</translation>
     </message>
     <message>
         <source>Load map drawing</source>
-        <translation type="unfinished"></translation>
+        <translation>Carregar mapa desenhado</translation>
     </message>
     <message>
         <source>Edit map drawing</source>
-        <translation type="unfinished"></translation>
+        <translation>Editar mapa desenhado</translation>
+    </message>
+    <message>
+        <source>Large tunnels</source>
+        <translation>Túneis largos</translation>
     </message>
     <message>
         <source>Small islands</source>
-        <translation type="unfinished"></translation>
+        <translation>Ilhas pequenas</translation>
     </message>
     <message>
         <source>Medium islands</source>
-        <translation type="unfinished"></translation>
+        <translation>Ilhas médias</translation>
     </message>
     <message>
         <source>Large islands</source>
-        <translation type="unfinished"></translation>
+        <translation>Ilhas grandes</translation>
     </message>
     <message>
         <source>Map size:</source>
-        <translation type="unfinished"></translation>
+        <translation>Tamanho do mapa:</translation>
     </message>
     <message>
         <source>Maze style:</source>
-        <translation type="unfinished"></translation>
+        <translation>Estilo de labirinto:</translation>
     </message>
     <message>
         <source>Mission:</source>
-        <translation type="unfinished"></translation>
+        <translation>Missão:</translation>
     </message>
     <message>
         <source>Map:</source>
-        <translation type="unfinished"></translation>
+        <translation>Mapa:</translation>
     </message>
     <message>
         <source>Theme: </source>
-        <translation type="unfinished"></translation>
+        <translation type="obsolete">Tema: </translation>
     </message>
     <message>
         <source>Load drawn map</source>
-        <translation type="unfinished">Carregar mapa desenhado</translation>
+        <translation>Carregar mapa desenhado</translation>
     </message>
     <message>
         <source>Drawn Maps</source>
-        <translation type="unfinished">Mapas Desenhados</translation>
+        <translation>Mapas Desenhados</translation>
     </message>
     <message>
         <source>All files</source>
-        <translation type="unfinished">Todos os ficheiros</translation>
-    </message>
-    <message>
-        <source>Large tunnels</source>
-        <translation type="unfinished"></translation>
+        <translation>Todos os ficheiros</translation>
+    </message>
+    <message>
+        <source>Theme: %1</source>
+        <translation>Tema: %1</translation>
     </message>
 </context>
 <context>
@@ -535,7 +564,7 @@
     </message>
     <message>
         <source>You got kicked</source>
-        <translation>Foi expulso</translation>
+        <translation>Foste expulso</translation>
     </message>
     <message>
         <source>%1 *** %2 has joined the room</source>
@@ -543,7 +572,7 @@
     </message>
     <message>
         <source>%1 *** %2 has joined</source>
-        <translation>%1 *** %2 juntou-se</translation>
+        <translation type="obsolete">%1 *** %2 entrou</translation>
     </message>
     <message>
         <source>%1 *** %2 has left (%3)</source>
@@ -570,22 +599,25 @@
     <name>HWPasswordDialog</name>
     <message>
         <source>Login</source>
-        <translation type="unfinished"></translation>
+        <translation>Login</translation>
     </message>
     <message>
         <source>To connect to the server, please log in.
 
 If you don&apos;t have an account on www.hedgewars.org,
 just enter your nickname.</source>
-        <translation type="unfinished"></translation>
+        <translation>Por favor faz login para aceder ao servidor.
+		
+Se ainda não tens uma conta em www.hedgewars.org,
+simplesmente insere o teu nome de utilizador.</translation>
     </message>
     <message>
         <source>Nickname:</source>
-        <translation type="unfinished"></translation>
+        <translation>Utilizador:</translation>
     </message>
     <message>
         <source>Password:</source>
-        <translation type="unfinished"></translation>
+        <translation>Password:</translation>
     </message>
 </context>
 <context>
@@ -603,36 +635,36 @@
     <name>HatButton</name>
     <message>
         <source>Change hat (%1)</source>
-        <translation type="unfinished"></translation>
+        <translation>Trocar chapéu (%1)</translation>
     </message>
 </context>
 <context>
     <name>HatPrompt</name>
     <message>
         <source>Cancel</source>
-        <translation type="unfinished">Cancelar</translation>
+        <translation>Cancelar</translation>
     </message>
     <message>
         <source>Use selected hat</source>
-        <translation type="unfinished"></translation>
+        <translation>Utiliza o chapéu selecionado</translation>
     </message>
     <message>
         <source>Search for a hat:</source>
-        <translation type="unfinished"></translation>
+        <translation>Procurar:</translation>
     </message>
 </context>
 <context>
     <name>KB</name>
     <message>
         <source>SDL_ttf returned error while rendering text, most propably it is related to the bug in freetype2. It&apos;s recommended to update your freetype lib.</source>
-        <translation>SDL_ttf retornou um erro ao renderizar o texto, muito provavelmente está relacionado com o bug no freetype2. É recomendado actualizar a sua lib freetype.</translation>
+        <translation>SDL_ttf retornou um erro ao renderizar o texto, muito provavelmente está relacionado com o bug no freetype2. É recomendado atualizar a sua lib freetype.</translation>
     </message>
 </context>
 <context>
     <name>KeyBinder</name>
     <message>
         <source>Category</source>
-        <translation type="unfinished"></translation>
+        <translation>Categoria</translation>
     </message>
 </context>
 <context>
@@ -653,18 +685,18 @@
     </message>
     <message>
         <source>Audio: </source>
-        <translation>Audio: </translation>
+        <translation>Áudio: </translation>
     </message>
     <message>
         <source>unknown</source>
-        <translation type="unfinished"></translation>
+        <translation>desconhecido</translation>
     </message>
 </context>
 <context>
     <name>MapModel</name>
     <message>
         <source>No description available.</source>
-        <translation type="unfinished"></translation>
+        <translation>Nenhuma descrição disponível.</translation>
     </message>
 </context>
 <context>
@@ -699,35 +731,35 @@
     </message>
     <message>
         <source>General</source>
-        <translation type="unfinished">Geral</translation>
+        <translation>Geral</translation>
     </message>
     <message>
         <source>Bans</source>
-        <translation type="unfinished"></translation>
+        <translation>Expulsões</translation>
     </message>
     <message>
         <source>IP/Nick</source>
-        <translation type="unfinished"></translation>
+        <translation>IP/Utilizador</translation>
     </message>
     <message>
         <source>Expiration</source>
-        <translation type="unfinished"></translation>
+        <translation>Expiração</translation>
     </message>
     <message>
         <source>Reason</source>
-        <translation type="unfinished"></translation>
+        <translation>Motivo</translation>
     </message>
     <message>
         <source>Refresh</source>
-        <translation type="unfinished"></translation>
+        <translation>Atualizar</translation>
     </message>
     <message>
         <source>Add</source>
-        <translation type="unfinished"></translation>
+        <translation>Adicionar</translation>
     </message>
     <message>
         <source>Remove</source>
-        <translation type="unfinished"></translation>
+        <translation>Remover</translation>
     </message>
 </context>
 <context>
@@ -738,6 +770,17 @@
     </message>
 </context>
 <context>
+    <name>PageDataDownload</name>
+    <message>
+        <source>Loading, please wait.</source>
+        <translation>A carregar, aguarda por favor.</translation>
+    </message>
+    <message>
+        <source>This page requires an internet connection.</source>
+        <translation>Esta página requer ligação à internet.</translation>
+    </message>
+</context>
+<context>
     <name>PageDrawMap</name>
     <message>
         <source>Undo</source>
@@ -784,39 +827,39 @@
     </message>
     <message>
         <source>Select an action to choose a custom key bind for this team</source>
-        <translation type="unfinished"></translation>
+        <translation>Seleciona uma ação para personalizar uma tecla com esta equipa</translation>
     </message>
     <message>
         <source>Use my default</source>
-        <translation type="unfinished"></translation>
+        <translation>Configuração por omissão</translation>
     </message>
     <message>
         <source>Reset all binds</source>
-        <translation type="unfinished"></translation>
+        <translation>Repor todos os valores</translation>
     </message>
     <message>
         <source>Custom Controls</source>
-        <translation type="unfinished"></translation>
+        <translation>Controlos Personalizados</translation>
     </message>
     <message>
         <source>Hat</source>
-        <translation type="unfinished">Chapéu</translation>
+        <translation>Chapéu</translation>
     </message>
     <message>
         <source>Name</source>
-        <translation type="unfinished">Nome</translation>
+        <translation>Nome</translation>
     </message>
     <message>
         <source>This hedgehog&apos;s name</source>
-        <translation type="unfinished"></translation>
+        <translation>Nome deste ouriço</translation>
     </message>
     <message>
         <source>Randomize this hedgehog&apos;s name</source>
-        <translation type="unfinished"></translation>
+        <translation>Escolhe um nome para este ouriço aleatoriamente</translation>
     </message>
     <message>
         <source>Random Team</source>
-        <translation type="unfinished">Equipa aleatória</translation>
+        <translation>Gerar Equipa Aleatória</translation>
     </message>
 </context>
 <context>
@@ -879,6 +922,14 @@
             <numerusform>&lt;b&gt;%1&lt;/b&gt; estava tão amedrontado que passou &lt;b&gt;%2&lt;/b&gt; turnos.</numerusform>
         </translation>
     </message>
+    <message>
+        <source>Play again</source>
+        <translation>Jogar novamente</translation>
+    </message>
+    <message>
+        <source>Save</source>
+        <translation>Gravar</translation>
+    </message>
 </context>
 <context>
     <name>PageInGame</name>
@@ -910,7 +961,7 @@
     </message>
     <message>
         <source>Read about who is behind the Hedgewars Project</source>
-        <translation>Lê sobre quem está por trás do Projecto Hedgewars</translation>
+        <translation>Descobre quem está por trás do Projecto Hedgewars</translation>
     </message>
     <message>
         <source>Leave a feedback here reporting issues, suggesting features or just saying how you like Hedgewars</source>
@@ -930,27 +981,27 @@
     </message>
     <message>
         <source>Edit game preferences</source>
-        <translation>Editar as preferencias de jogo</translation>
+        <translation>Editar as preferências de jogo</translation>
     </message>
     <message>
         <source>Play a game across a local area network</source>
-        <translation type="unfinished"></translation>
+        <translation>Joga na rede local</translation>
     </message>
     <message>
         <source>Play a game on an official server</source>
-        <translation type="unfinished"></translation>
+        <translation>Joga num servidor oficial</translation>
     </message>
     <message>
         <source>Feedback</source>
-        <translation type="unfinished"></translation>
+        <translation>Feedback</translation>
     </message>
     <message>
         <source>Play local network game</source>
-        <translation type="unfinished"></translation>
+        <translation>Jogar na rede local</translation>
     </message>
     <message>
         <source>Play official network game</source>
-        <translation type="unfinished"></translation>
+        <translation>Jogar no servidor oficial</translation>
     </message>
 </context>
 <context>
@@ -961,37 +1012,37 @@
     </message>
     <message>
         <source>Edit game preferences</source>
-        <translation type="unfinished">Editar as preferencias de jogo</translation>
+        <translation>Editar preferências de jogo</translation>
     </message>
 </context>
 <context>
     <name>PageNetGame</name>
     <message>
-        <source>Control</source>
-        <translation type="obsolete">Controlo</translation>
-    </message>
-    <message>
         <source>Edit game preferences</source>
-        <translation type="unfinished">Editar as preferencias de jogo</translation>
+        <translation>Editar preferências de jogo</translation>
     </message>
     <message>
         <source>Start</source>
-        <translation type="unfinished">Iniciar</translation>
+        <translation>Iniciar</translation>
     </message>
     <message>
         <source>Update</source>
-        <translation type="unfinished">Actualizar</translation>
+        <translation>Atualizar</translation>
     </message>
     <message>
         <source>Room controls</source>
-        <translation type="unfinished"></translation>
+        <translation>Restrições</translation>
     </message>
 </context>
 <context>
     <name>PageNetServer</name>
     <message>
+        <source>Click here for details</source>
+        <translation>Clica aqui para detalhes</translation>
+    </message>
+    <message>
         <source>Insert your address here</source>
-        <translation type="unfinished"></translation>
+        <translation>Insere aqui o teu endereço</translation>
     </message>
 </context>
 <context>
@@ -1042,7 +1093,7 @@
     </message>
     <message>
         <source>Reset to default colors</source>
-        <translation>Repor cores por omisão</translation>
+        <translation>Repor cores por omissão</translation>
     </message>
     <message>
         <source>Proxy host</source>
@@ -1078,91 +1129,91 @@
     </message>
     <message>
         <source>Select an action to change what key controls it</source>
-        <translation type="unfinished"></translation>
+        <translation>Seleciona uma ação para alterar a tecla que a controla</translation>
     </message>
     <message>
         <source>Reset to default</source>
-        <translation type="unfinished"></translation>
+        <translation>Repor valor por omissão</translation>
     </message>
     <message>
         <source>Reset all binds</source>
-        <translation type="unfinished"></translation>
+        <translation>Repor todos os valores</translation>
     </message>
     <message>
         <source>Game</source>
-        <translation type="unfinished"></translation>
+        <translation>Jogo</translation>
     </message>
     <message>
         <source>Graphics</source>
-        <translation type="unfinished"></translation>
+        <translation>Gráficos</translation>
     </message>
     <message>
         <source>Audio</source>
-        <translation type="unfinished"></translation>
+        <translation>Áudio</translation>
     </message>
     <message>
         <source>Controls</source>
-        <translation type="unfinished"></translation>
+        <translation>Controlos</translation>
     </message>
     <message>
         <source>Video Recording</source>
-        <translation type="unfinished"></translation>
+        <translation>Vídeo Gravação</translation>
     </message>
     <message>
         <source>Network</source>
-        <translation type="unfinished"></translation>
+        <translation>Rede</translation>
     </message>
     <message>
         <source>Teams</source>
-        <translation type="unfinished">Equipas</translation>
+        <translation>Equipas</translation>
     </message>
     <message>
         <source>Schemes</source>
-        <translation type="unfinished"></translation>
+        <translation>Esquemas</translation>
     </message>
     <message>
         <source>Weapons</source>
-        <translation type="unfinished"></translation>
+        <translation>Armamento</translation>
     </message>
     <message>
         <source>Frontend</source>
-        <translation type="unfinished"></translation>
+        <translation>Frontend</translation>
     </message>
     <message>
         <source>Custom colors</source>
-        <translation type="unfinished">Cores personalizadas</translation>
+        <translation>Cores personalizadas</translation>
     </message>
     <message>
         <source>Game audio</source>
-        <translation type="unfinished"></translation>
+        <translation>Áudio de jogo</translation>
     </message>
     <message>
         <source>Frontend audio</source>
-        <translation type="unfinished"></translation>
+        <translation>Áudio do frontend</translation>
     </message>
     <message>
         <source>Account</source>
-        <translation type="unfinished"></translation>
+        <translation>Conta</translation>
     </message>
     <message>
         <source>Proxy settings</source>
-        <translation type="unfinished">Definições do Proxy</translation>
+        <translation>Definições do Proxy</translation>
     </message>
     <message>
         <source>Miscellaneous</source>
-        <translation type="unfinished">Outras opções</translation>
+        <translation>Outras opções</translation>
     </message>
     <message>
         <source>Updates</source>
-        <translation type="unfinished"></translation>
+        <translation>Atualizações</translation>
     </message>
     <message>
         <source>Check for updates</source>
-        <translation type="unfinished"></translation>
+        <translation>Procurar atualizações</translation>
     </message>
     <message>
         <source>Video recording options</source>
-        <translation type="unfinished">Opções de criação de vídeo</translation>
+        <translation>Opções de criação de vídeo</translation>
     </message>
 </context>
 <context>
@@ -1179,22 +1230,10 @@
 <context>
     <name>PageRoomsList</name>
     <message>
-        <source>Create</source>
-        <translation type="obsolete">Criar</translation>
-    </message>
-    <message>
-        <source>Join</source>
-        <translation type="obsolete">Entrar</translation>
-    </message>
-    <message>
         <source>Admin features</source>
         <translation>Recursos de administrador</translation>
     </message>
     <message>
-        <source>Room Name:</source>
-        <translation type="obsolete">Nome da Sala:</translation>
-    </message>
-    <message>
         <source>Rules:</source>
         <translation>Regras:</translation>
     </message>
@@ -1202,14 +1241,6 @@
         <source>Weapons:</source>
         <translation>Armamento:</translation>
     </message>
-    <message>
-        <source>Search:</source>
-        <translation type="obsolete">Pesquisa:</translation>
-    </message>
-    <message>
-        <source>Clear</source>
-        <translation type="obsolete">Limpar</translation>
-    </message>
     <message numerus="yes">
         <source>%1 players online</source>
         <translation>
@@ -1219,27 +1250,27 @@
     </message>
     <message>
         <source>Search for a room:</source>
-        <translation type="unfinished"></translation>
+        <translation>Procurar sala:</translation>
     </message>
     <message>
         <source>Create room</source>
-        <translation type="unfinished"></translation>
+        <translation>Criar sala</translation>
     </message>
     <message>
         <source>Join room</source>
-        <translation type="unfinished"></translation>
+        <translation>Entrar no jogo</translation>
     </message>
     <message>
         <source>Room state</source>
-        <translation type="unfinished"></translation>
+        <translation>Estado da sala</translation>
     </message>
     <message>
         <source>Clear filters</source>
-        <translation type="unfinished"></translation>
+        <translation>Limpar filtros</translation>
     </message>
     <message>
         <source>Open server administration page</source>
-        <translation type="unfinished"></translation>
+        <translation>Abrir menu de administração do servidor</translation>
     </message>
 </context>
 <context>
@@ -1278,7 +1309,7 @@
     </message>
     <message>
         <source>Your hogs are unable to move, put your artillery skills to the test</source>
-        <translation>Os teus ouriços serão impossibilidados de se mover, testa as tuas capacidades no modo artilharia</translation>
+        <translation>Os teus ouriços serão impossibilitados de se mover, testa as tuas capacidades no modo artilharia</translation>
     </message>
     <message>
         <source>Random</source>
@@ -1310,15 +1341,15 @@
     </message>
     <message>
         <source>Ammo is shared between all teams that share a colour.</source>
-        <translation>As armas são partilhadas entre todas as equipas da mesma cor.</translation>
+        <translation>O armamento é partilhado entre todas as equipas da mesma cor.</translation>
     </message>
     <message>
         <source>Disable girders when generating random maps.</source>
-        <translation>Desactivar vigas em mapas gerados aleatoriamente.</translation>
+        <translation>Desativar vigas em mapas gerados aleatoriamente.</translation>
     </message>
     <message>
         <source>Disable land objects when generating random maps.</source>
-        <translation>Não adicionar objectos no terreno ao gerar mapas aleatórios.</translation>
+        <translation>Não adicionar objetos no terreno ao gerar mapas aleatórios.</translation>
     </message>
     <message>
         <source>AI respawns on death.</source>
@@ -1346,7 +1377,7 @@
     </message>
     <message>
         <source>Wind will affect almost everything.</source>
-        <translation>O vento afecta praticamente tudo.</translation>
+        <translation>O vento afeta praticamente tudo.</translation>
     </message>
     <message>
         <source>Copy</source>
@@ -1419,7 +1450,7 @@
     </message>
     <message>
         <source>Select a mission!</source>
-        <translation>Selecciona uma missão!</translation>
+        <translation>Seleciona uma missão!</translation>
     </message>
     <message>
         <source>Pick the mission or training to play</source>
@@ -1462,12 +1493,14 @@
     <message>
         <source>Date: %1
 </source>
-        <translation type="unfinished"></translation>
+        <translation>Data: %1
+</translation>
     </message>
     <message>
         <source>Size: %1
 </source>
-        <translation type="unfinished"></translation>
+        <translation>Tamanho: %1
+</translation>
     </message>
 </context>
 <context>
@@ -1482,11 +1515,11 @@
     </message>
     <message>
         <source>Restrict Joins</source>
-        <translation>Restringir entradas</translation>
+        <translation>Impedir a entrada de novos utilizadores</translation>
     </message>
     <message>
         <source>Restrict Team Additions</source>
-        <translation>Restringir adição de equipas</translation>
+        <translation>Trancar a adição de equipas</translation>
     </message>
     <message>
         <source>Ban</source>
@@ -1513,27 +1546,23 @@
         <translation>Remover amigo</translation>
     </message>
     <message>
-        <source>Update</source>
-        <translation type="obsolete">Actualizar</translation>
-    </message>
-    <message>
         <source>Restrict Unregistered Players Join</source>
-        <translation type="unfinished"></translation>
+        <translation>Impedir a entrada de utilizadores não registados</translation>
     </message>
     <message>
         <source>Show games in lobby</source>
-        <translation type="unfinished"></translation>
+        <translation>Mostrar jogos a aguardar jogadores</translation>
     </message>
     <message>
         <source>Show games in-progress</source>
-        <translation type="unfinished"></translation>
+        <translation>Mostrar jogos em progresso</translation>
     </message>
 </context>
 <context>
     <name>QCheckBox</name>
     <message>
         <source>Check for updates at startup</source>
-        <translation>Verificar por actualizações no arranque</translation>
+        <translation>Verificar por atualizações no arranque</translation>
     </message>
     <message>
         <source>Fullscreen</source>
@@ -1553,7 +1582,7 @@
     </message>
     <message>
         <source>Show ammo menu tooltips</source>
-        <translation>Mostrar a ajuda no menu das armas</translation>
+        <translation>Mostrar a ajuda no menu de armamento</translation>
     </message>
     <message>
         <source>Save password</source>
@@ -1569,7 +1598,7 @@
     </message>
     <message>
         <source>Record audio</source>
-        <translation>Gravar audio</translation>
+        <translation>Gravar áudio</translation>
     </message>
     <message>
         <source>Use game resolution</source>
@@ -1577,31 +1606,31 @@
     </message>
     <message>
         <source>Visual effects</source>
-        <translation type="unfinished"></translation>
+        <translation>Efeitos visuais</translation>
     </message>
     <message>
         <source>Sound</source>
-        <translation type="unfinished"></translation>
+        <translation>Som</translation>
     </message>
     <message>
         <source>In-game sound effects</source>
-        <translation type="unfinished"></translation>
+        <translation>Efeitos sonoros durante o jogo</translation>
     </message>
     <message>
         <source>Music</source>
-        <translation type="unfinished"></translation>
+        <translation>Musica</translation>
     </message>
     <message>
         <source>In-game music</source>
-        <translation type="unfinished"></translation>
+        <translation>Musica durante o jogo</translation>
     </message>
     <message>
         <source>Frontend sound effects</source>
-        <translation type="unfinished"></translation>
+        <translation>Efeitos sonoros no frontend</translation>
     </message>
     <message>
         <source>Frontend music</source>
-        <translation type="unfinished"></translation>
+        <translation>Musica no frontend</translation>
     </message>
 </context>
 <context>
@@ -1627,16 +1656,8 @@
         <translation>Qualquer</translation>
     </message>
     <message>
-        <source>In lobby</source>
-        <translation type="obsolete">No lobby</translation>
-    </message>
-    <message>
-        <source>In progress</source>
-        <translation type="obsolete">Em progresso</translation>
-    </message>
-    <message>
         <source>Disabled</source>
-        <translation>Desactivado</translation>
+        <translation>Desativado</translation>
     </message>
     <message>
         <source>Red/Cyan</source>
@@ -1745,12 +1766,8 @@
         <translation>Minas</translation>
     </message>
     <message>
-        <source>Version</source>
-        <translation type="obsolete">Versão</translation>
-    </message>
-    <message>
         <source>Weapons</source>
-        <translation>Armas</translation>
+        <translation>Armamento</translation>
     </message>
     <message>
         <source>Host:</source>
@@ -1854,7 +1871,7 @@
     </message>
     <message>
         <source>Sudden Death Water Rise</source>
-        <translation>Súbida da Água durante Morte Súbita</translation>
+        <translation>Subida da Água durante Morte Súbita</translation>
     </message>
     <message>
         <source>Sudden Death Health Decrease</source>
@@ -1881,14 +1898,10 @@
         <translation>% Tempo Para Retirar</translation>
     </message>
     <message>
-        <source>This program is distributed under the GNU General Public License v2</source>
-        <translation type="obsolete">Esta aplicação é distribuída sob a GNU General Public License v2</translation>
-    </message>
-    <message>
         <source>There are videos that are currently being processed.
 Exiting now will abort them.
 Do you really want to quit?</source>
-        <translation>Existem vídeos a serem currentemente processados.
+        <translation>Existem vídeos a serem correntemente processados.
 Sair irá cancela-los.
 Deseja mesmo sair?</translation>
     </message>
@@ -1930,7 +1943,7 @@
     </message>
     <message>
         <source>Audio codec</source>
-        <translation>Codec de Audio</translation>
+        <translation>Codec de Áudio</translation>
     </message>
     <message>
         <source>Video codec</source>
@@ -1946,43 +1959,47 @@
     </message>
     <message>
         <source>This development build is &apos;work in progress&apos; and may not be compatible with other versions of the game, while some features might be broken or incomplete!</source>
-        <translation type="unfinished"></translation>
+        <translation>Esta versão de desenvolvimento demonstra um &quot;trabalho em progresso&quot; o qual pode não ser compatível com outras versões do jogo, enquanto algumas funcionalidades podem estar inutilizáveis ou incompletas!</translation>
     </message>
     <message>
         <source>Fullscreen</source>
-        <translation type="unfinished">Ecrã completo</translation>
+        <translation>Ecrã completo</translation>
     </message>
     <message>
         <source>Fullscreen Resolution</source>
-        <translation type="unfinished"></translation>
+        <translation>Resolução Ecrã Completo</translation>
     </message>
     <message>
         <source>Windowed Resolution</source>
-        <translation type="unfinished"></translation>
+        <translation>Resolução da Janela</translation>
     </message>
     <message>
         <source>Your Email</source>
-        <translation type="unfinished"></translation>
+        <translation>E-mail</translation>
     </message>
     <message>
         <source>Summary</source>
-        <translation type="unfinished"></translation>
+        <translation>Sumário</translation>
     </message>
     <message>
         <source>Send system information</source>
-        <translation type="unfinished"></translation>
+        <translation>Enviar informações de sistema</translation>
     </message>
     <message>
         <source>Type the security code:</source>
-        <translation type="unfinished"></translation>
+        <translation>Digita o código de segurança:</translation>
     </message>
     <message>
         <source>Revision</source>
-        <translation type="unfinished"></translation>
+        <translation>Revisão</translation>
     </message>
     <message>
         <source>This program is distributed under the %1</source>
-        <translation type="unfinished"></translation>
+        <translation>Este programa é distribuído sob a %1</translation>
+    </message>
+    <message>
+        <source>This setting will be effective at next restart.</source>
+        <translation>Esta opção entrará em efeito quando o jogo for reiniciado.</translation>
     </message>
 </context>
 <context>
@@ -2008,7 +2025,7 @@
     </message>
     <message>
         <source>-r%1 (%2)</source>
-        <translation type="unfinished"></translation>
+        <translation>-r%1 (%2)</translation>
     </message>
 </context>
 <context>
@@ -2023,7 +2040,7 @@
     </message>
     <message>
         <source>File association failed.</source>
-        <translation>Não foi possivel associar os ficheiros.</translation>
+        <translation>Não foi possível associar os ficheiros.</translation>
     </message>
     <message>
         <source>Error while authenticating at google.com:
@@ -2051,7 +2068,7 @@
     </message>
     <message>
         <source>Cannot delete default scheme &apos;%1&apos;!</source>
-        <translation>Não é possivel apagar o esquema por omisão &apos;%1&apos;!</translation>
+        <translation>Não é possível apagar o esquema por omissão &apos;%1&apos;!</translation>
     </message>
     <message>
         <source>Please select a record from the list</source>
@@ -2101,7 +2118,7 @@
     </message>
     <message>
         <source>Unable to run engine at </source>
-        <translation type="obsolete">Não foi possivel lançar o motor de jogo em </translation>
+        <translation type="obsolete">Não foi possível lançar o motor de jogo em </translation>
     </message>
     <message>
         <source>Error code: %1</source>
@@ -2129,15 +2146,15 @@
     </message>
     <message>
         <source>Please select record from the list</source>
-        <translation>Por favor selecciona uma gravação da lista</translation>
+        <translation>Por favor seleciona uma gravação da lista</translation>
     </message>
     <message>
         <source>Cannot rename to </source>
-        <translation>Não é possivel renomear para </translation>
+        <translation>Não é possível renomear para </translation>
     </message>
     <message>
         <source>Cannot delete file </source>
-        <translation>Não é possivel apagar o ficheiro </translation>
+        <translation>Não é possível apagar o ficheiro </translation>
     </message>
     <message>
         <source>Room Name - Error</source>
@@ -2145,7 +2162,7 @@
     </message>
     <message>
         <source>Please select room from the list</source>
-        <translation>Por favor selecciona uma sala da lista</translation>
+        <translation>Por favor seleciona uma sala da lista</translation>
     </message>
     <message>
         <source>Room Name - Are you sure?</source>
@@ -2194,31 +2211,31 @@
     </message>
     <message>
         <source>Cannot open &apos;%1&apos; for writing</source>
-        <translation>Impossivel abrir &apos;%1&apos; para escrita</translation>
+        <translation>Impossível abrir &apos;%1&apos; para escrita</translation>
     </message>
     <message>
         <source>Cannot open &apos;%1&apos; for reading</source>
-        <translation>Impossivel abrir &apos;%1&apos; para leitura</translation>
+        <translation>Impossível abrir &apos;%1&apos; para leitura</translation>
     </message>
     <message>
         <source>Cannot use the ammo &apos;%1&apos;!</source>
-        <translation>Impossivel utilizar as munições &apos;%1&apos;!</translation>
+        <translation>Impossível utilizar as munições &apos;%1&apos;!</translation>
     </message>
     <message>
         <source>Weapons - Warning</source>
-        <translation>Armas - Aviso</translation>
+        <translation>Armamento - Aviso</translation>
     </message>
     <message>
         <source>Cannot overwrite default weapon set &apos;%1&apos;!</source>
-        <translation>Não é possivel substituir o esquema de armas &apos;%1&apos;!</translation>
+        <translation>Não é possível substituir o esquema de armas &apos;%1&apos;!</translation>
     </message>
     <message>
         <source>Cannot delete default weapon set &apos;%1&apos;!</source>
-        <translation>Não é possivel apagar o esquema de armas por omisão &apos;%1&apos;!</translation>
+        <translation>Não é possível apagar o esquema de armas por omissão &apos;%1&apos;!</translation>
     </message>
     <message>
         <source>Weapons - Are you sure?</source>
-        <translation>Armas - Tens a certeza?</translation>
+        <translation>Armamento - Tens a certeza?</translation>
     </message>
     <message>
         <source>Do you really want to delete the weapon set &apos;%1&apos;?</source>
@@ -2226,40 +2243,45 @@
     </message>
     <message>
         <source>Hedgewars - Nick not registered</source>
-        <translation type="unfinished"></translation>
+        <translation>Hedgewars - Utilizador não registado</translation>
     </message>
     <message>
         <source>System Information Preview</source>
-        <translation type="unfinished"></translation>
+        <translation>Pré-visualizar Informação do Sistema</translation>
     </message>
     <message>
         <source>Failed to generate captcha</source>
-        <translation type="unfinished"></translation>
+        <translation>Não foi possível gerar o captcha</translation>
     </message>
     <message>
         <source>Failed to download captcha</source>
-        <translation type="unfinished"></translation>
+        <translation>Não foi possível descarregar o captcha</translation>
     </message>
     <message>
         <source>Please fill out all fields. Email is optional.</source>
-        <translation type="unfinished"></translation>
+        <translation>Por favor preenche todos os campos. O e-mail é opcional.</translation>
     </message>
     <message>
         <source>Hedgewars - Warning</source>
-        <translation type="unfinished"></translation>
+        <translation>Hedgewars - Aviso</translation>
     </message>
     <message>
         <source>Hedgewars - Information</source>
-        <translation type="unfinished"></translation>
+        <translation>Hedgewars - Informação</translation>
+    </message>
+    <message>
+        <source>Hedgewars</source>
+        <translation type="obsolete">Hedgewars</translation>
     </message>
     <message>
         <source>Not all players are ready</source>
-        <translation type="unfinished"></translation>
+        <translation>Nem todos os jogadores se encontram prontos</translation>
     </message>
     <message>
         <source>Are you sure you want to start this game?
 Not all players are ready.</source>
-        <translation type="unfinished"></translation>
+        <translation>Tens a certeza que queres iniciar este jogo?
+Nem todos os jogadores estão prontos.</translation>
     </message>
 </context>
 <context>
@@ -2286,7 +2308,7 @@
     </message>
     <message>
         <source>Update</source>
-        <translation>Actualizar</translation>
+        <translation>Atualizar</translation>
     </message>
     <message>
         <source>Specify</source>
@@ -2326,7 +2348,7 @@
     </message>
     <message>
         <source>Set default options</source>
-        <translation>Restaurar opções por omisão</translation>
+        <translation>Restaurar opções por omissão</translation>
     </message>
     <message>
         <source>Open videos directory</source>
@@ -2346,7 +2368,7 @@
     </message>
     <message>
         <source>Restore default coding parameters</source>
-        <translation>Restaurar os parametros de conversão por omisão</translation>
+        <translation>Restaurar os parâmetros de conversão por omissão</translation>
     </message>
     <message>
         <source>Open the video directory in your system</source>
@@ -2366,38 +2388,38 @@
     </message>
     <message>
         <source>Reset</source>
-        <translation type="unfinished"></translation>
+        <translation>Repor</translation>
     </message>
     <message>
         <source>Set the default server port for Hedgewars</source>
-        <translation type="unfinished"></translation>
+        <translation>Define a porta por omisão do servidor Hedgewars</translation>
     </message>
     <message>
         <source>Invite your friends to your server in just 1 click!</source>
-        <translation type="unfinished"></translation>
+        <translation>Convida os teus amigos para o teu servidor com apenas 1 click!</translation>
     </message>
     <message>
         <source>Click to copy your unique server URL in your clipboard. Send this link to your friends ands and they will be able to join you.</source>
-        <translation type="unfinished"></translation>
+        <translation>Clica para copiar o URL do teu servidor. Partilha este link com os teus amigos para que se possam juntar a ti.</translation>
     </message>
     <message>
         <source>Start private server</source>
-        <translation type="unfinished"></translation>
+        <translation>Iniciar o servidor privado</translation>
     </message>
 </context>
 <context>
     <name>RoomNamePrompt</name>
     <message>
         <source>Enter a name for your room.</source>
-        <translation type="unfinished"></translation>
+        <translation>Introduz um nome para a tua sala de jogo.</translation>
     </message>
     <message>
         <source>Cancel</source>
-        <translation type="unfinished">Cancelar</translation>
+        <translation>Cancelar</translation>
     </message>
     <message>
         <source>Create room</source>
-        <translation type="unfinished"></translation>
+        <translation>Criar sala</translation>
     </message>
 </context>
 <context>
@@ -2451,19 +2473,19 @@
     <name>SeedPrompt</name>
     <message>
         <source>The map seed is the basis for all random values generated by the game.</source>
-        <translation type="unfinished"></translation>
+        <translation>A semente do mapa é a base de todos os valores aleatórios gerados pelo jogo.</translation>
     </message>
     <message>
         <source>Cancel</source>
-        <translation type="unfinished">Cancelar</translation>
+        <translation>Cancelar</translation>
     </message>
     <message>
         <source>Set seed</source>
-        <translation type="unfinished"></translation>
+        <translation>Definir semente</translation>
     </message>
     <message>
         <source>Close</source>
-        <translation type="unfinished"></translation>
+        <translation>Fechar</translation>
     </message>
 </context>
 <context>
@@ -2478,7 +2500,7 @@
     </message>
     <message>
         <source>Ammo in boxes</source>
-        <translation>Caixas de armas</translation>
+        <translation>Munições por caixa</translation>
     </message>
     <message>
         <source>Delays</source>
@@ -2497,41 +2519,42 @@
     <name>TCPBase</name>
     <message>
         <source>Unable to start server at %1.</source>
-        <translation type="unfinished"></translation>
+        <translation>Não foi possível iniciar o servidor em %1.</translation>
     </message>
     <message>
         <source>Unable to run engine at %1
 Error code: %2</source>
-        <translation type="unfinished"></translation>
+        <translation>Não foi possível iniciar o motor de jogo em %1
+Código de erro:: %2</translation>
     </message>
 </context>
 <context>
     <name>TeamSelWidget</name>
     <message>
         <source>At least two teams are required to play!</source>
-        <translation type="unfinished"></translation>
+        <translation>São necessárias pelo menos 2 equipas (para jogar)!</translation>
     </message>
 </context>
 <context>
     <name>TeamShowWidget</name>
     <message>
         <source>%1&apos;s team</source>
-        <translation type="unfinished"></translation>
+        <translation>Equipa de %1</translation>
     </message>
 </context>
 <context>
     <name>ThemePrompt</name>
     <message>
         <source>Cancel</source>
-        <translation type="unfinished">Cancelar</translation>
+        <translation>Cancelar</translation>
     </message>
     <message>
         <source>Search for a theme:</source>
-        <translation type="unfinished"></translation>
+        <translation>Procurar:</translation>
     </message>
     <message>
         <source>Use selected theme</source>
-        <translation type="unfinished"></translation>
+        <translation>Utilizar o tema selecionado</translation>
     </message>
 </context>
 <context>
@@ -2574,7 +2597,7 @@
     </message>
     <message>
         <source>ammo menu</source>
-        <translation>menu de armas</translation>
+        <translation>menu de armamento</translation>
     </message>
     <message>
         <source>slot 1</source>
@@ -2694,7 +2717,7 @@
     </message>
     <message>
         <source>mute audio</source>
-        <translation>Silenciar audio</translation>
+        <translation>silenciar áudio</translation>
     </message>
     <message>
         <source>record</source>
@@ -2702,65 +2725,65 @@
     </message>
     <message>
         <source>hedgehog info</source>
-        <translation type="unfinished"></translation>
+        <translation>informação do ouriço</translation>
     </message>
 </context>
 <context>
     <name>binds (categories)</name>
     <message>
         <source>Movement</source>
-        <translation type="unfinished"></translation>
+        <translation>Movimento</translation>
     </message>
     <message>
         <source>Weapons</source>
-        <translation type="unfinished"></translation>
+        <translation>Armamento</translation>
     </message>
     <message>
         <source>Camera</source>
-        <translation type="unfinished"></translation>
+        <translation>Câmara</translation>
     </message>
     <message>
         <source>Miscellaneous</source>
-        <translation type="unfinished">Outras opções</translation>
+        <translation>Outras opções</translation>
     </message>
 </context>
 <context>
     <name>binds (descriptions)</name>
     <message>
         <source>Traverse gaps and obstacles by jumping:</source>
-        <translation>Ultrapassar fendas e obstaculos saltando:</translation>
+        <translation>Ultrapassar fendas e obstáculos:</translation>
     </message>
     <message>
         <source>Fire your selected weapon or trigger an utility item:</source>
-        <translation>Disparar a arma currentemente seleccionada ou utilizar um utilitario:</translation>
+        <translation>Disparar a arma correntemente selecionada ou utilizar um utilitario:</translation>
     </message>
     <message>
         <source>Pick a weapon or a target location under the cursor:</source>
-        <translation>Seleccionar uma arma ou escolher um alvo com o cursor:</translation>
+        <translation>Selecionar uma arma ou escolher um alvo com o cursor:</translation>
     </message>
     <message>
         <source>Switch your currently active hog (if possible):</source>
-        <translation>Trocar de ouriço currentemente seleccionado (se possivel):</translation>
+        <translation>Trocar de ouriço correntemente selecionado (se possível):</translation>
     </message>
     <message>
         <source>Pick a weapon or utility item:</source>
-        <translation>Apanhar armas ou utilitarios:</translation>
+        <translation>Selecionar armas ou utilitários:</translation>
     </message>
     <message>
         <source>Set the timer on bombs and timed weapons:</source>
-        <translation>Escolher o tempo nas bombas e outras armas temporizadas:</translation>
+        <translation>Definir o temporizador nas bombas e em outras armas temporizadas:</translation>
     </message>
     <message>
         <source>Move the camera to the active hog:</source>
-        <translation>Mover a camara para o ouriço currentemente activo:</translation>
+        <translation>Mover a câmara para o ouriço correntemente activo:</translation>
     </message>
     <message>
         <source>Move the cursor or camera without using the mouse:</source>
-        <translation>Mover o cursor ou camara sem usar o rato:</translation>
+        <translation>Mover o cursor ou câmara sem utilizar o rato:</translation>
     </message>
     <message>
         <source>Modify the camera&apos;s zoom level:</source>
-        <translation>Modificar o nível de zoom da camara:</translation>
+        <translation>Modificar o nível de zoom da câmara:</translation>
     </message>
     <message>
         <source>Talk to your team or all participants:</source>
@@ -2776,7 +2799,7 @@
     </message>
     <message>
         <source>Toggle fullscreen mode:</source>
-        <translation>Alterar para modo de ecrã inteiro:</translation>
+        <translation>Ativar ou desativar o modo ecrã inteiro:</translation>
     </message>
     <message>
         <source>Take a screenshot:</source>
@@ -2792,7 +2815,7 @@
     </message>
     <message>
         <source>Hedgehog movement</source>
-        <translation type="unfinished"></translation>
+        <translation>Movimentar ouriço</translation>
     </message>
 </context>
 <context>
@@ -3118,115 +3141,115 @@
     <name>server</name>
     <message>
         <source>Not room master</source>
-        <translation type="unfinished"></translation>
+        <translation type="obsolete">Não és o anfitrião da sala</translation>
     </message>
     <message>
         <source>Corrupted hedgehogs info</source>
-        <translation type="unfinished"></translation>
+        <translation type="obsolete">Informação dos ouriços corrompida</translation>
     </message>
     <message>
         <source>too many teams</source>
-        <translation type="unfinished"></translation>
+        <translation type="obsolete">demasiadas equipas</translation>
     </message>
     <message>
         <source>too many hedgehogs</source>
-        <translation type="unfinished"></translation>
+        <translation type="obsolete">demasiados ouriços</translation>
     </message>
     <message>
         <source>There&apos;s already a team with same name in the list</source>
-        <translation type="unfinished"></translation>
+        <translation type="obsolete">Já existe uma equipa com o mesmo nome na lista</translation>
     </message>
     <message>
         <source>round in progress</source>
-        <translation type="unfinished"></translation>
+        <translation type="obsolete">partida em progresso</translation>
     </message>
     <message>
         <source>restricted</source>
-        <translation type="unfinished"></translation>
+        <translation type="obsolete">limitada</translation>
     </message>
     <message>
         <source>REMOVE_TEAM: no such team</source>
-        <translation type="unfinished"></translation>
+        <translation type="obsolete">REMOVE_TEAM: equipa inexistente</translation>
     </message>
     <message>
         <source>Not team owner!</source>
-        <translation type="unfinished"></translation>
+        <translation type="obsolete">A equipa não te pertence!</translation>
     </message>
     <message>
         <source>Less than two clans!</source>
-        <translation type="unfinished"></translation>
+        <translation type="obsolete">Menos de 2 clãs!</translation>
     </message>
     <message>
         <source>Room with such name already exists</source>
-        <translation type="unfinished"></translation>
+        <translation type="obsolete">Já existe uma sala com esse nome</translation>
     </message>
     <message>
         <source>Nickname already chosen</source>
-        <translation type="unfinished"></translation>
+        <translation type="obsolete">Utilizador já em uso</translation>
     </message>
     <message>
         <source>Illegal nickname</source>
-        <translation type="unfinished"></translation>
+        <translation type="obsolete">Nome de utilizador ilegal</translation>
     </message>
     <message>
         <source>Protocol already known</source>
-        <translation type="unfinished"></translation>
+        <translation type="obsolete">Protocolo já conhecido</translation>
     </message>
     <message>
         <source>Bad number</source>
-        <translation type="unfinished"></translation>
+        <translation type="obsolete">Número inválido</translation>
     </message>
     <message>
         <source>Nickname is already in use</source>
-        <translation type="unfinished"></translation>
+        <translation type="obsolete">Nome de utilizador já em uso</translation>
     </message>
     <message>
         <source>No checker rights</source>
-        <translation type="unfinished"></translation>
+        <translation type="obsolete">Não possui permissões para verificar</translation>
     </message>
     <message>
         <source>Authentication failed</source>
-        <translation type="unfinished"></translation>
+        <translation type="obsolete">A autenticação falhou</translation>
     </message>
     <message>
         <source>60 seconds cooldown after kick</source>
-        <translation type="unfinished"></translation>
+        <translation type="obsolete">É necessário aguardar 60 segundos após uma expulsão</translation>
     </message>
     <message>
         <source>kicked</source>
-        <translation type="unfinished"></translation>
+        <translation type="obsolete">expulso</translation>
     </message>
     <message>
         <source>Ping timeout</source>
-        <translation type="unfinished"></translation>
+        <translation type="obsolete">Ping timeout</translation>
     </message>
     <message>
         <source>bye</source>
-        <translation type="unfinished"></translation>
+        <translation type="obsolete">tchau (bye)</translation>
     </message>
     <message>
         <source>Illegal room name</source>
-        <translation type="unfinished"></translation>
+        <translation type="obsolete">Nome da sala ilegal</translation>
     </message>
     <message>
         <source>No such room</source>
-        <translation type="unfinished"></translation>
+        <translation type="obsolete">Sala inexistente</translation>
     </message>
     <message>
         <source>Joining restricted</source>
-        <translation type="unfinished"></translation>
+        <translation type="obsolete">Entrada restrita</translation>
     </message>
     <message>
         <source>Registered users only</source>
-        <translation type="unfinished"></translation>
+        <translation type="obsolete">Apenas utilizadores registados</translation>
     </message>
     <message>
         <source>You are banned in this room</source>
-        <translation type="unfinished"></translation>
+        <translation type="obsolete">Estás banido desta sala</translation>
     </message>
     <message>
         <source>Empty config entry</source>
-        <translation type="unfinished"></translation>
+        <translation type="obsolete">Campo vazio na configuração</translation>
     </message>
 </context>
 </TS>
--- a/share/hedgewars/Data/Locale/hedgewars_ro.ts	Thu Apr 04 14:37:19 2013 +0200
+++ b/share/hedgewars/Data/Locale/hedgewars_ro.ts	Tue Jun 04 22:28:12 2013 +0200
@@ -99,19 +99,19 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Please give us feedback!</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>We are always happy about suggestions, ideas, or bug reports.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>If you found a bug, you can see if it&apos;s already known here (english): </source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Your email address is optional, but we may want to contact you.</source>
+        <source>Send us feedback!</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>If you found a bug, you can see if it&apos;s already been reported here: </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Your email address is optional, but necessary if you want us to get back at you.</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
@@ -260,6 +260,18 @@
         <source>Failed to save StyleSheet to %1</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source>%1 has joined</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>%1 has left</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>%1 has left (%2)</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>HWForm</name>
@@ -359,6 +371,10 @@
 Please wait a few seconds and try again.</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source>This page requires an internet connection.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>HWGame</name>
@@ -478,10 +494,6 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Theme: </source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>Load drawn map</source>
         <translation type="unfinished"></translation>
     </message>
@@ -497,6 +509,10 @@
         <source>Large tunnels</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source>Theme: %1</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>HWNetServersModel</name>
@@ -541,7 +557,7 @@
     </message>
     <message>
         <source>%1 *** %2 has joined</source>
-        <translation>%1 *** %2 has joined</translation>
+        <translation type="obsolete">%1 *** %2 has joined</translation>
     </message>
     <message>
         <source>%1 *** %2 has left (%3)</source>
@@ -735,6 +751,17 @@
     </message>
 </context>
 <context>
+    <name>PageDataDownload</name>
+    <message>
+        <source>Loading, please wait.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>This page requires an internet connection.</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
     <name>PageDrawMap</name>
     <message>
         <source>Undo</source>
@@ -882,6 +909,14 @@
             <numerusform></numerusform>
         </translation>
     </message>
+    <message>
+        <source>Play again</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Save</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>PageInGame</name>
@@ -993,6 +1028,10 @@
 <context>
     <name>PageNetServer</name>
     <message>
+        <source>Click here for details</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
         <source>Insert your address here</source>
         <translation type="unfinished"></translation>
     </message>
@@ -1967,6 +2006,10 @@
         <source>This program is distributed under the %1</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source>This setting will be effective at next restart.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>QLineEdit</name>
@@ -3070,119 +3113,4 @@
         <translation type="unfinished"></translation>
     </message>
 </context>
-<context>
-    <name>server</name>
-    <message>
-        <source>Not room master</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Corrupted hedgehogs info</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>too many teams</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>too many hedgehogs</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>There&apos;s already a team with same name in the list</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>round in progress</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>restricted</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>REMOVE_TEAM: no such team</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Not team owner!</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Less than two clans!</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Room with such name already exists</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Nickname already chosen</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Illegal nickname</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Protocol already known</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Bad number</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Nickname is already in use</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>No checker rights</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Authentication failed</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>60 seconds cooldown after kick</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>kicked</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Ping timeout</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>bye</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Illegal room name</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>No such room</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Joining restricted</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Registered users only</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>You are banned in this room</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Empty config entry</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
 </TS>
--- a/share/hedgewars/Data/Locale/hedgewars_ru.ts	Thu Apr 04 14:37:19 2013 +0200
+++ b/share/hedgewars/Data/Locale/hedgewars_ru.ts	Tue Jun 04 22:28:12 2013 +0200
@@ -5,7 +5,7 @@
     <name>About</name>
     <message>
         <source>Unknown Compiler</source>
-        <translation type="unfinished"></translation>
+        <translation>Неизвестный компилятор</translation>
     </message>
 </context>
 <context>
@@ -30,31 +30,31 @@
     <name>BanDialog</name>
     <message>
         <source>IP</source>
-        <translation type="unfinished">IP</translation>
+        <translation>IP</translation>
     </message>
     <message>
         <source>Nick</source>
-        <translation type="unfinished"></translation>
+        <translation>Псевдоним</translation>
     </message>
     <message>
         <source>IP/Nick</source>
-        <translation type="unfinished"></translation>
+        <translation>IP/Псевдоним</translation>
     </message>
     <message>
         <source>Reason</source>
-        <translation type="unfinished"></translation>
+        <translation>Причина</translation>
     </message>
     <message>
         <source>Duration</source>
-        <translation type="unfinished"></translation>
+        <translation>Длительность</translation>
     </message>
     <message>
         <source>Ok</source>
-        <translation type="unfinished"></translation>
+        <translation>ОК</translation>
     </message>
     <message>
         <source>Cancel</source>
-        <translation type="unfinished">Отмена</translation>
+        <translation>Отмена</translation>
     </message>
     <message>
         <source>you know why</source>
@@ -62,57 +62,57 @@
     </message>
     <message>
         <source>Warning</source>
-        <translation type="unfinished"></translation>
+        <translation>Предупреждение</translation>
     </message>
     <message>
         <source>Please, specify %1</source>
-        <translation type="unfinished"></translation>
+        <translation>Пожалуйста, укажите %1</translation>
     </message>
     <message>
         <source>nickname</source>
-        <translation type="unfinished"></translation>
+        <translation>псевдоним</translation>
     </message>
     <message>
         <source>permanent</source>
-        <translation type="unfinished"></translation>
+        <translation>постоянный</translation>
     </message>
 </context>
 <context>
     <name>DataManager</name>
     <message>
         <source>Use Default</source>
-        <translation type="unfinished"></translation>
+        <translation>Использовать значение по умолчанию</translation>
     </message>
 </context>
 <context>
     <name>FeedbackDialog</name>
     <message>
         <source>View</source>
-        <translation type="unfinished"></translation>
+        <translation>Вид</translation>
     </message>
     <message>
         <source>Cancel</source>
-        <translation type="unfinished">Отмена</translation>
+        <translation>Отмена</translation>
     </message>
     <message>
         <source>Send Feedback</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Please give us feedback!</source>
-        <translation type="unfinished"></translation>
+        <translation>Отослать отзыв</translation>
     </message>
     <message>
         <source>We are always happy about suggestions, ideas, or bug reports.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>If you found a bug, you can see if it&apos;s already known here (english): </source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Your email address is optional, but we may want to contact you.</source>
-        <translation type="unfinished"></translation>
+        <translation>Мы всегда рады новым предложениям, идям или сообщениям об ошибках.</translation>
+    </message>
+    <message>
+        <source>Send us feedback!</source>
+        <translation>Пришлите нам отзыв!</translation>
+    </message>
+    <message>
+        <source>If you found a bug, you can see if it&apos;s already been reported here: </source>
+        <translation>Если вы нашли ошибку, можете проверить, не было ли уже сообщения о ней здесь:</translation>
+    </message>
+    <message>
+        <source>Your email address is optional, but necessary if you want us to get back at you.</source>
+        <translation>Адрес e-mail необязателен, но необходим, если вы хотите получить ответ.</translation>
     </message>
 </context>
 <context>
@@ -146,73 +146,76 @@
     </message>
     <message>
         <source>Game scheme will auto-select a weapon</source>
-        <translation type="unfinished"></translation>
+        <translation>Схема игры определяет набор оружия</translation>
     </message>
     <message>
         <source>Map</source>
-        <translation type="unfinished">Карта</translation>
+        <translation>Карта</translation>
     </message>
     <message>
         <source>Game options</source>
-        <translation type="unfinished"></translation>
+        <translation>Настройки игры</translation>
     </message>
 </context>
 <context>
     <name>HWApplication</name>
     <message numerus="yes">
         <source>%1 minutes</source>
-        <translation type="unfinished">
-            <numerusform></numerusform>
-            <numerusform></numerusform>
-            <numerusform></numerusform>
+        <translation>
+            <numerusform>%1 минута</numerusform>
+            <numerusform>%1 минуты</numerusform>
+            <numerusform>%1 минут</numerusform>
         </translation>
     </message>
     <message numerus="yes">
         <source>%1 hour</source>
-        <translation type="unfinished">
-            <numerusform></numerusform>
-            <numerusform></numerusform>
-            <numerusform></numerusform>
+        <translation>
+            <numerusform>%1 час</numerusform>
+            <numerusform>%1 часа</numerusform>
+            <numerusform>%1 часов</numerusform>
         </translation>
     </message>
     <message numerus="yes">
         <source>%1 hours</source>
-        <translation type="unfinished">
-            <numerusform></numerusform>
-            <numerusform></numerusform>
-            <numerusform></numerusform>
+        <translation>
+            <numerusform>%1 час</numerusform>
+            <numerusform>%1 часа</numerusform>
+            <numerusform>%1 часов</numerusform>
         </translation>
     </message>
     <message numerus="yes">
         <source>%1 day</source>
-        <translation type="unfinished">
-            <numerusform></numerusform>
-            <numerusform></numerusform>
-            <numerusform></numerusform>
+        <translation>
+            <numerusform>%1 день</numerusform>
+            <numerusform>%1 дня</numerusform>
+            <numerusform>%1 дней</numerusform>
         </translation>
     </message>
     <message numerus="yes">
         <source>%1 days</source>
-        <translation type="unfinished">
-            <numerusform></numerusform>
-            <numerusform></numerusform>
-            <numerusform></numerusform>
+        <translation>
+            <numerusform>%1 день</numerusform>
+            <numerusform>%1 дня</numerusform>
+            <numerusform>%1 дней</numerusform>
         </translation>
     </message>
     <message>
         <source>Scheme &apos;%1&apos; not supported</source>
-        <translation type="unfinished"></translation>
+        <translation>Схема &quot;%1&quot; не поддерживается</translation>
     </message>
     <message>
         <source>Cannot create directory %1</source>
-        <translation type="unfinished">Не могу создать папку %1</translation>
+        <translation>Не могу создать папку %1</translation>
     </message>
     <message>
         <source>Failed to open data directory:
 %1
 
 Please check your installation!</source>
-        <translation type="unfinished"></translation>
+        <translation>Не могу открыть папку:
+%1
+
+Пожалуйста, проверьте установку приложения!</translation>
     </message>
 </context>
 <context>
@@ -264,6 +267,18 @@
         <source>Failed to save StyleSheet to %1</source>
         <translation>Ошибка при сохранении стиля в %1</translation>
     </message>
+    <message>
+        <source>%1 has joined</source>
+        <translation>%1 вошёл</translation>
+    </message>
+    <message>
+        <source>%1 has left</source>
+        <translation>%1 вышел</translation>
+    </message>
+    <message>
+        <source>%1 has left (%2)</source>
+        <translation>%1 вышел (%2)</translation>
+    </message>
 </context>
 <context>
     <name>HWForm</name>
@@ -313,7 +328,7 @@
     </message>
     <message>
         <source>%1&apos;s Team</source>
-        <translation type="unfinished"></translation>
+        <translation>Команда %1</translation>
     </message>
     <message>
         <source>Hedgewars - Nick registered</source>
@@ -362,6 +377,11 @@
     <message>
         <source>You reconnected too fast.
 Please wait a few seconds and try again.</source>
+        <translation>Вы переподключились слишком быстро.
+Пожалуйста, попробуйте снова через несколько секунд.</translation>
+    </message>
+    <message>
+        <source>This page requires an internet connection.</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
@@ -416,91 +436,91 @@
     </message>
     <message>
         <source>Map type:</source>
-        <translation type="unfinished"></translation>
+        <translation>Тип карты:</translation>
     </message>
     <message>
         <source>Image map</source>
-        <translation type="unfinished"></translation>
+        <translation>Изображение</translation>
     </message>
     <message>
         <source>Mission map</source>
-        <translation type="unfinished"></translation>
+        <translation>Миссия</translation>
     </message>
     <message>
         <source>Hand-drawn</source>
-        <translation type="unfinished">Рисованная карта</translation>
+        <translation>Рисованная карта</translation>
     </message>
     <message>
         <source>Randomly generated</source>
-        <translation type="unfinished"></translation>
+        <translation>Случайно сгенерированная</translation>
     </message>
     <message>
         <source>Random maze</source>
-        <translation type="unfinished"></translation>
+        <translation>Случайный лабиринт</translation>
     </message>
     <message>
         <source>Random</source>
-        <translation type="unfinished">Случайно</translation>
+        <translation>Случайно</translation>
     </message>
     <message>
         <source>Map preview:</source>
-        <translation type="unfinished"></translation>
+        <translation>Предпросмотр карты:</translation>
     </message>
     <message>
         <source>Load map drawing</source>
-        <translation type="unfinished"></translation>
+        <translation>Загрузить рисованную карту</translation>
     </message>
     <message>
         <source>Edit map drawing</source>
-        <translation type="unfinished"></translation>
+        <translation>Редактировать рисованную карту</translation>
     </message>
     <message>
         <source>Small islands</source>
-        <translation type="unfinished"></translation>
+        <translation>Маленькие острова</translation>
     </message>
     <message>
         <source>Medium islands</source>
-        <translation type="unfinished"></translation>
+        <translation>Средние острова</translation>
     </message>
     <message>
         <source>Large islands</source>
-        <translation type="unfinished"></translation>
+        <translation>Большие острова</translation>
     </message>
     <message>
         <source>Map size:</source>
-        <translation type="unfinished"></translation>
+        <translation>Размер карты:</translation>
     </message>
     <message>
         <source>Maze style:</source>
-        <translation type="unfinished"></translation>
+        <translation>Стиль лабиринта:</translation>
     </message>
     <message>
         <source>Mission:</source>
-        <translation type="unfinished"></translation>
+        <translation>Миссия:</translation>
     </message>
     <message>
         <source>Map:</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Theme: </source>
-        <translation type="unfinished"></translation>
+        <translation>Карта:</translation>
     </message>
     <message>
         <source>Load drawn map</source>
-        <translation type="unfinished">Загрузить рисованную карту</translation>
+        <translation>Загрузить рисованную карту</translation>
     </message>
     <message>
         <source>Drawn Maps</source>
-        <translation type="unfinished">Рисованные карты</translation>
+        <translation>Рисованные карты</translation>
     </message>
     <message>
         <source>All files</source>
-        <translation type="unfinished">Все файлы</translation>
+        <translation>Все файлы</translation>
     </message>
     <message>
         <source>Large tunnels</source>
-        <translation type="unfinished"></translation>
+        <translation>Большие туннели</translation>
+    </message>
+    <message>
+        <source>Theme: %1</source>
+        <translation>Тема: %1</translation>
     </message>
 </context>
 <context>
@@ -546,7 +566,7 @@
     </message>
     <message>
         <source>%1 *** %2 has joined</source>
-        <translation>%1 *** %2 вошёл</translation>
+        <translation type="obsolete">%1 *** %2 вошёл</translation>
     </message>
     <message>
         <source>%1 *** %2 has left (%3)</source>
@@ -584,11 +604,11 @@
     </message>
     <message>
         <source>Nickname:</source>
-        <translation type="unfinished"></translation>
+        <translation>Псевдоним:</translation>
     </message>
     <message>
         <source>Password:</source>
-        <translation type="unfinished"></translation>
+        <translation>Пароль:</translation>
     </message>
 </context>
 <context>
@@ -606,22 +626,22 @@
     <name>HatButton</name>
     <message>
         <source>Change hat (%1)</source>
-        <translation type="unfinished"></translation>
+        <translation>Сменить шляпу (%1)</translation>
     </message>
 </context>
 <context>
     <name>HatPrompt</name>
     <message>
         <source>Cancel</source>
-        <translation type="unfinished">Отмена</translation>
+        <translation>Отмена</translation>
     </message>
     <message>
         <source>Use selected hat</source>
-        <translation type="unfinished"></translation>
+        <translation>Использовать выбранную шляпу</translation>
     </message>
     <message>
         <source>Search for a hat:</source>
-        <translation type="unfinished"></translation>
+        <translation>Поиск по шляпам:</translation>
     </message>
 </context>
 <context>
@@ -635,7 +655,7 @@
     <name>KeyBinder</name>
     <message>
         <source>Category</source>
-        <translation type="unfinished"></translation>
+        <translation>Категория</translation>
     </message>
 </context>
 <context>
@@ -643,30 +663,30 @@
     <message>
         <source>Duration: %1m %2s
 </source>
-        <translation type="unfinished">Длительность: %1мин %2сек</translation>
+        <translation>Длительность: %1мин %2сек</translation>
     </message>
     <message>
         <source>Video: %1x%2, </source>
-        <translation type="unfinished">Видео: %1x%2, </translation>
+        <translation>Видео: %1x%2, </translation>
     </message>
     <message>
         <source>%1 fps, </source>
-        <translation type="unfinished">%1 кадров/сек,</translation>
+        <translation>%1 кадров/сек,</translation>
     </message>
     <message>
         <source>Audio: </source>
-        <translation type="unfinished">Аудио: </translation>
+        <translation>Аудио: </translation>
     </message>
     <message>
         <source>unknown</source>
-        <translation type="unfinished"></translation>
+        <translation>неизвестно</translation>
     </message>
 </context>
 <context>
     <name>MapModel</name>
     <message>
         <source>No description available.</source>
-        <translation type="unfinished"></translation>
+        <translation>Описание отсутствует.</translation>
     </message>
 </context>
 <context>
@@ -701,35 +721,35 @@
     </message>
     <message>
         <source>General</source>
-        <translation type="unfinished">Основные настройки</translation>
+        <translation>Основные настройки</translation>
     </message>
     <message>
         <source>Bans</source>
-        <translation type="unfinished"></translation>
+        <translation>Баны</translation>
     </message>
     <message>
         <source>IP/Nick</source>
-        <translation type="unfinished"></translation>
+        <translation>IP/Псевдоним</translation>
     </message>
     <message>
         <source>Expiration</source>
-        <translation type="unfinished"></translation>
+        <translation>Окончание</translation>
     </message>
     <message>
         <source>Reason</source>
-        <translation type="unfinished"></translation>
+        <translation>Причина</translation>
     </message>
     <message>
         <source>Refresh</source>
-        <translation type="unfinished"></translation>
+        <translation>Обновить</translation>
     </message>
     <message>
         <source>Add</source>
-        <translation type="unfinished"></translation>
+        <translation>Добавить</translation>
     </message>
     <message>
         <source>Remove</source>
-        <translation type="unfinished"></translation>
+        <translation>Удалить</translation>
     </message>
 </context>
 <context>
@@ -740,6 +760,17 @@
     </message>
 </context>
 <context>
+    <name>PageDataDownload</name>
+    <message>
+        <source>Loading, please wait.</source>
+        <translation>Идёт загрузка пожалуйста, подождите.</translation>
+    </message>
+    <message>
+        <source>This page requires an internet connection.</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
     <name>PageDrawMap</name>
     <message>
         <source>Undo</source>
@@ -790,35 +821,35 @@
     </message>
     <message>
         <source>Use my default</source>
-        <translation type="unfinished"></translation>
+        <translation>Использовать мои настройки по умолчанию</translation>
     </message>
     <message>
         <source>Reset all binds</source>
-        <translation type="unfinished"></translation>
+        <translation>Сбросить все привязки</translation>
     </message>
     <message>
         <source>Custom Controls</source>
-        <translation type="unfinished"></translation>
+        <translation>Настройка управления</translation>
     </message>
     <message>
         <source>Hat</source>
-        <translation type="unfinished">Шляпа</translation>
+        <translation>Шляпа</translation>
     </message>
     <message>
         <source>Name</source>
-        <translation type="unfinished">Название</translation>
+        <translation>Название</translation>
     </message>
     <message>
         <source>This hedgehog&apos;s name</source>
-        <translation type="unfinished"></translation>
+        <translation>Имя этого ежа</translation>
     </message>
     <message>
         <source>Randomize this hedgehog&apos;s name</source>
-        <translation type="unfinished"></translation>
+        <translation>Выбрать случайное имя для этого ежа</translation>
     </message>
     <message>
         <source>Random Team</source>
-        <translation type="unfinished">Случайная команда</translation>
+        <translation>Случайная команда</translation>
     </message>
 </context>
 <context>
@@ -887,6 +918,14 @@
             <numerusform>&lt;b&gt;%1&lt;/b&gt; испугался и пропустил &lt;b&gt;%2&lt;/b&gt; ходов.</numerusform>
         </translation>
     </message>
+    <message>
+        <source>Play again</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Save</source>
+        <translation type="unfinished">Сохранить</translation>
+    </message>
 </context>
 <context>
     <name>PageInGame</name>
@@ -942,23 +981,23 @@
     </message>
     <message>
         <source>Play a game across a local area network</source>
-        <translation type="unfinished"></translation>
+        <translation>Играть по локальной сети</translation>
     </message>
     <message>
         <source>Play a game on an official server</source>
-        <translation type="unfinished"></translation>
+        <translation>Играть на официальном сервере</translation>
     </message>
     <message>
         <source>Feedback</source>
-        <translation type="unfinished"></translation>
+        <translation>Отзыв</translation>
     </message>
     <message>
         <source>Play local network game</source>
-        <translation type="unfinished"></translation>
+        <translation>Играть по локальной сети</translation>
     </message>
     <message>
         <source>Play official network game</source>
-        <translation type="unfinished"></translation>
+        <translation>Играть на официальном сервере</translation>
     </message>
 </context>
 <context>
@@ -969,7 +1008,7 @@
     </message>
     <message>
         <source>Edit game preferences</source>
-        <translation type="unfinished">Редактировать настройки игры</translation>
+        <translation>Редактировать настройки игры</translation>
     </message>
 </context>
 <context>
@@ -980,24 +1019,28 @@
     </message>
     <message>
         <source>Edit game preferences</source>
-        <translation type="unfinished">Редактировать настройки игры</translation>
+        <translation>Редактировать настройки игры</translation>
     </message>
     <message>
         <source>Start</source>
-        <translation type="unfinished">Старт</translation>
+        <translation>Старт</translation>
     </message>
     <message>
         <source>Update</source>
-        <translation type="unfinished">Обновить</translation>
+        <translation>Обновить</translation>
     </message>
     <message>
         <source>Room controls</source>
-        <translation type="unfinished"></translation>
+        <translation>Управление комнатой</translation>
     </message>
 </context>
 <context>
     <name>PageNetServer</name>
     <message>
+        <source>Click here for details</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
         <source>Insert your address here</source>
         <translation type="unfinished"></translation>
     </message>
@@ -1090,47 +1133,47 @@
     </message>
     <message>
         <source>Reset to default</source>
-        <translation type="unfinished"></translation>
+        <translation>Сбросить на значения по умолчанию</translation>
     </message>
     <message>
         <source>Reset all binds</source>
-        <translation type="unfinished"></translation>
+        <translation>Сбросить все привязки</translation>
     </message>
     <message>
         <source>Game</source>
-        <translation type="unfinished"></translation>
+        <translation>Игра</translation>
     </message>
     <message>
         <source>Graphics</source>
-        <translation type="unfinished"></translation>
+        <translation>Графика</translation>
     </message>
     <message>
         <source>Audio</source>
-        <translation type="unfinished"></translation>
+        <translation>Звук</translation>
     </message>
     <message>
         <source>Controls</source>
-        <translation type="unfinished"></translation>
+        <translation>Управление</translation>
     </message>
     <message>
         <source>Video Recording</source>
-        <translation type="unfinished"></translation>
+        <translation>Запись видео</translation>
     </message>
     <message>
         <source>Network</source>
-        <translation type="unfinished"></translation>
+        <translation>Сеть</translation>
     </message>
     <message>
         <source>Teams</source>
-        <translation type="unfinished">Команды</translation>
+        <translation>Команды</translation>
     </message>
     <message>
         <source>Schemes</source>
-        <translation type="unfinished"></translation>
+        <translation>Схемы</translation>
     </message>
     <message>
         <source>Weapons</source>
-        <translation type="unfinished">Оружие</translation>
+        <translation>Оружие</translation>
     </message>
     <message>
         <source>Frontend</source>
@@ -1138,7 +1181,7 @@
     </message>
     <message>
         <source>Custom colors</source>
-        <translation type="unfinished">Свои цвета</translation>
+        <translation>Свои цвета</translation>
     </message>
     <message>
         <source>Game audio</source>
@@ -1154,23 +1197,23 @@
     </message>
     <message>
         <source>Proxy settings</source>
-        <translation type="unfinished">Настройки прокси</translation>
+        <translation>Настройки прокси</translation>
     </message>
     <message>
         <source>Miscellaneous</source>
-        <translation type="unfinished">Разное</translation>
+        <translation>Разное</translation>
     </message>
     <message>
         <source>Updates</source>
-        <translation type="unfinished"></translation>
+        <translation>Обновления</translation>
     </message>
     <message>
         <source>Check for updates</source>
-        <translation type="unfinished"></translation>
+        <translation>Проверить обновления</translation>
     </message>
     <message>
         <source>Video recording options</source>
-        <translation type="unfinished">Настройки видео</translation>
+        <translation>Настройки видео</translation>
     </message>
 </context>
 <context>
@@ -1228,27 +1271,27 @@
     </message>
     <message>
         <source>Search for a room:</source>
-        <translation type="unfinished"></translation>
+        <translation>Искать комнату:</translation>
     </message>
     <message>
         <source>Create room</source>
-        <translation type="unfinished"></translation>
+        <translation>Создать комнату</translation>
     </message>
     <message>
         <source>Join room</source>
-        <translation type="unfinished"></translation>
+        <translation>Войти в комнату</translation>
     </message>
     <message>
         <source>Room state</source>
-        <translation type="unfinished"></translation>
+        <translation>Состояние комнаты</translation>
     </message>
     <message>
         <source>Clear filters</source>
-        <translation type="unfinished"></translation>
+        <translation>Очистить фильтры</translation>
     </message>
     <message>
         <source>Open server administration page</source>
-        <translation type="unfinished"></translation>
+        <translation>Открыть страницу администрирования сервера</translation>
     </message>
 </context>
 <context>
@@ -1472,12 +1515,12 @@
     <message>
         <source>Date: %1
 </source>
-        <translation type="unfinished"></translation>
+        <translation>Дата: %1</translation>
     </message>
     <message>
         <source>Size: %1
 </source>
-        <translation type="unfinished"></translation>
+        <translation>Размер: %1</translation>
     </message>
 </context>
 <context>
@@ -1528,7 +1571,7 @@
     </message>
     <message>
         <source>Restrict Unregistered Players Join</source>
-        <translation type="unfinished"></translation>
+        <translation>Запретить вход незарегистрированным игрокам</translation>
     </message>
     <message>
         <source>Show games in lobby</source>
@@ -1536,7 +1579,7 @@
     </message>
     <message>
         <source>Show games in-progress</source>
-        <translation type="unfinished"></translation>
+        <translation>Показать текущие игры</translation>
     </message>
 </context>
 <context>
@@ -1587,11 +1630,11 @@
     </message>
     <message>
         <source>Visual effects</source>
-        <translation type="unfinished"></translation>
+        <translation>Визуальные эффекты</translation>
     </message>
     <message>
         <source>Sound</source>
-        <translation type="unfinished"></translation>
+        <translation>Звук</translation>
     </message>
     <message>
         <source>In-game sound effects</source>
@@ -1599,7 +1642,7 @@
     </message>
     <message>
         <source>Music</source>
-        <translation type="unfinished"></translation>
+        <translation>Музыка</translation>
     </message>
     <message>
         <source>In-game music</source>
@@ -1960,15 +2003,15 @@
     </message>
     <message>
         <source>Fullscreen</source>
-        <translation type="unfinished">Полный экран</translation>
+        <translation>Полный экран</translation>
     </message>
     <message>
         <source>Fullscreen Resolution</source>
-        <translation type="unfinished"></translation>
+        <translation>Разрешение в полноэкранном режиме</translation>
     </message>
     <message>
         <source>Windowed Resolution</source>
-        <translation type="unfinished"></translation>
+        <translation>Разрешение в оконном режиме</translation>
     </message>
     <message>
         <source>Your Email</source>
@@ -1994,6 +2037,10 @@
         <source>This program is distributed under the %1</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source>This setting will be effective at next restart.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>QLineEdit</name>
@@ -2237,12 +2284,13 @@
     </message>
     <message>
         <source>Not all players are ready</source>
-        <translation type="unfinished"></translation>
+        <translation>Не все игроки готовы</translation>
     </message>
     <message>
         <source>Are you sure you want to start this game?
 Not all players are ready.</source>
-        <translation type="unfinished"></translation>
+        <translation>Вы действительно хотите запустить игру?
+Не все игроки готовы.</translation>
     </message>
 </context>
 <context>
@@ -2372,15 +2420,15 @@
     <name>RoomNamePrompt</name>
     <message>
         <source>Enter a name for your room.</source>
-        <translation type="unfinished"></translation>
+        <translation>Введите название для вашей комнаты.</translation>
     </message>
     <message>
         <source>Cancel</source>
-        <translation type="unfinished">Отмена</translation>
+        <translation>Отмена</translation>
     </message>
     <message>
         <source>Create room</source>
-        <translation type="unfinished"></translation>
+        <translation>Создать комнату</translation>
     </message>
 </context>
 <context>
@@ -2434,19 +2482,19 @@
     <name>SeedPrompt</name>
     <message>
         <source>The map seed is the basis for all random values generated by the game.</source>
-        <translation type="unfinished"></translation>
+        <translation>Зерно карты - это основа для всех псведослучайных значений, используемых в игре.</translation>
     </message>
     <message>
         <source>Cancel</source>
-        <translation type="unfinished">Отмена</translation>
+        <translation>Отмена</translation>
     </message>
     <message>
         <source>Set seed</source>
-        <translation type="unfinished"></translation>
+        <translation>Установить зерно</translation>
     </message>
     <message>
         <source>Close</source>
-        <translation type="unfinished"></translation>
+        <translation>Закрыть</translation>
     </message>
 </context>
 <context>
@@ -2492,29 +2540,29 @@
     <name>TeamSelWidget</name>
     <message>
         <source>At least two teams are required to play!</source>
-        <translation type="unfinished"></translation>
+        <translation>Для игры нужны как минимум две команды!</translation>
     </message>
 </context>
 <context>
     <name>TeamShowWidget</name>
     <message>
         <source>%1&apos;s team</source>
-        <translation type="unfinished"></translation>
+        <translation>Команда %1</translation>
     </message>
 </context>
 <context>
     <name>ThemePrompt</name>
     <message>
         <source>Cancel</source>
-        <translation type="unfinished">Отмена</translation>
+        <translation>Отмена</translation>
     </message>
     <message>
         <source>Search for a theme:</source>
-        <translation type="unfinished"></translation>
+        <translation>Искать тему:</translation>
     </message>
     <message>
         <source>Use selected theme</source>
-        <translation type="unfinished"></translation>
+        <translation>Использовать выбранную тему</translation>
     </message>
 </context>
 <context>
@@ -2685,26 +2733,26 @@
     </message>
     <message>
         <source>hedgehog info</source>
-        <translation type="unfinished"></translation>
+        <translation>информация о еже</translation>
     </message>
 </context>
 <context>
     <name>binds (categories)</name>
     <message>
         <source>Movement</source>
-        <translation type="unfinished"></translation>
+        <translation>Передвижение</translation>
     </message>
     <message>
         <source>Weapons</source>
-        <translation type="unfinished">Оружие</translation>
+        <translation>Оружие</translation>
     </message>
     <message>
         <source>Camera</source>
-        <translation type="unfinished"></translation>
+        <translation>Камера</translation>
     </message>
     <message>
         <source>Miscellaneous</source>
-        <translation type="unfinished">Разное</translation>
+        <translation>Разное</translation>
     </message>
 </context>
 <context>
@@ -2775,7 +2823,7 @@
     </message>
     <message>
         <source>Hedgehog movement</source>
-        <translation type="unfinished"></translation>
+        <translation>Движение ежа</translation>
     </message>
 </context>
 <context>
@@ -3097,119 +3145,4 @@
         <translation type="unfinished"></translation>
     </message>
 </context>
-<context>
-    <name>server</name>
-    <message>
-        <source>Not room master</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Corrupted hedgehogs info</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>too many teams</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>too many hedgehogs</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>There&apos;s already a team with same name in the list</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>round in progress</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>restricted</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>REMOVE_TEAM: no such team</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Not team owner!</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Less than two clans!</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Room with such name already exists</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Nickname already chosen</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Illegal nickname</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Protocol already known</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Bad number</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Nickname is already in use</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>No checker rights</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Authentication failed</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>60 seconds cooldown after kick</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>kicked</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Ping timeout</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>bye</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Illegal room name</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>No such room</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Joining restricted</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Registered users only</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>You are banned in this room</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Empty config entry</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
 </TS>
--- a/share/hedgewars/Data/Locale/hedgewars_sk.ts	Thu Apr 04 14:37:19 2013 +0200
+++ b/share/hedgewars/Data/Locale/hedgewars_sk.ts	Tue Jun 04 22:28:12 2013 +0200
@@ -99,19 +99,19 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Please give us feedback!</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>We are always happy about suggestions, ideas, or bug reports.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>If you found a bug, you can see if it&apos;s already known here (english): </source>
+        <source>Send us feedback!</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Your email address is optional, but we may want to contact you.</source>
+        <source>If you found a bug, you can see if it&apos;s already been reported here: </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Your email address is optional, but necessary if you want us to get back at you.</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
@@ -267,6 +267,18 @@
         <source>Failed to save StyleSheet to %1</source>
         <translation>Nepodarilo sa uložiť súbor so štýlom do %1</translation>
     </message>
+    <message>
+        <source>%1 has joined</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>%1 has left</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>%1 has left (%2)</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>HWForm</name>
@@ -366,6 +378,10 @@
 Please wait a few seconds and try again.</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source>This page requires an internet connection.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>HWGame</name>
@@ -485,10 +501,6 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Theme: </source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>Load drawn map</source>
         <translation type="unfinished">Načítať nakreslenú mapu</translation>
     </message>
@@ -504,6 +516,10 @@
         <source>Large tunnels</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source>Theme: %1</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>HWNetServersModel</name>
@@ -548,7 +564,7 @@
     </message>
     <message>
         <source>%1 *** %2 has joined</source>
-        <translation>%1 *** %2 sa pridal</translation>
+        <translation type="obsolete">%1 *** %2 sa pridal</translation>
     </message>
     <message>
         <source>%1 *** %2 has left (%3)</source>
@@ -742,6 +758,17 @@
     </message>
 </context>
 <context>
+    <name>PageDataDownload</name>
+    <message>
+        <source>Loading, please wait.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>This page requires an internet connection.</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
     <name>PageDrawMap</name>
     <message>
         <source>Undo</source>
@@ -889,6 +916,14 @@
             <numerusform>&lt;b&gt;%1&lt;/b&gt; sa zľakol a preskočil ťah &lt;b&gt;%2&lt;/b&gt;krát.</numerusform>
         </translation>
     </message>
+    <message>
+        <source>Play again</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Save</source>
+        <translation type="unfinished">Uložiť</translation>
+    </message>
 </context>
 <context>
     <name>PageInGame</name>
@@ -1000,6 +1035,10 @@
 <context>
     <name>PageNetServer</name>
     <message>
+        <source>Click here for details</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
         <source>Insert your address here</source>
         <translation type="unfinished"></translation>
     </message>
@@ -1994,6 +2033,10 @@
         <source>This program is distributed under the %1</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source>This setting will be effective at next restart.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>QLineEdit</name>
@@ -3123,119 +3166,4 @@
         <translation>Pravý joystick (Doľava)</translation>
     </message>
 </context>
-<context>
-    <name>server</name>
-    <message>
-        <source>Not room master</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Corrupted hedgehogs info</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>too many teams</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>too many hedgehogs</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>There&apos;s already a team with same name in the list</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>round in progress</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>restricted</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>REMOVE_TEAM: no such team</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Not team owner!</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Less than two clans!</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Room with such name already exists</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Nickname already chosen</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Illegal nickname</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Protocol already known</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Bad number</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Nickname is already in use</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>No checker rights</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Authentication failed</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>60 seconds cooldown after kick</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>kicked</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Ping timeout</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>bye</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Illegal room name</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>No such room</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Joining restricted</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Registered users only</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>You are banned in this room</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Empty config entry</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
 </TS>
--- a/share/hedgewars/Data/Locale/hedgewars_sv.ts	Thu Apr 04 14:37:19 2013 +0200
+++ b/share/hedgewars/Data/Locale/hedgewars_sv.ts	Tue Jun 04 22:28:12 2013 +0200
@@ -99,19 +99,19 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Please give us feedback!</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>We are always happy about suggestions, ideas, or bug reports.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>If you found a bug, you can see if it&apos;s already known here (english): </source>
+        <source>Send us feedback!</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Your email address is optional, but we may want to contact you.</source>
+        <source>If you found a bug, you can see if it&apos;s already been reported here: </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Your email address is optional, but necessary if you want us to get back at you.</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
@@ -258,6 +258,18 @@
         <source>Failed to save StyleSheet to %1</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source>%1 has joined</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>%1 has left</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>%1 has left (%2)</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>HWForm</name>
@@ -357,6 +369,10 @@
 Please wait a few seconds and try again.</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source>This page requires an internet connection.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>HWGame</name>
@@ -476,10 +492,6 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Theme: </source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>Load drawn map</source>
         <translation type="unfinished">Läs in ritad karta</translation>
     </message>
@@ -495,6 +507,10 @@
         <source>Large tunnels</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source>Theme: %1</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>HWNetServersModel</name>
@@ -539,7 +555,7 @@
     </message>
     <message>
         <source>%1 *** %2 has joined</source>
-        <translation>%1 *** %2 har gått med</translation>
+        <translation type="obsolete">%1 *** %2 har gått med</translation>
     </message>
     <message>
         <source>%1 *** %2 has left (%3)</source>
@@ -733,6 +749,17 @@
     </message>
 </context>
 <context>
+    <name>PageDataDownload</name>
+    <message>
+        <source>Loading, please wait.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>This page requires an internet connection.</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
     <name>PageDrawMap</name>
     <message>
         <source>Undo</source>
@@ -874,6 +901,14 @@
             <numerusform>&lt;b&gt;%1&lt;/b&gt; var rädd och hoppade över turer &lt;b&gt;%2&lt;/b&gt; gånger.</numerusform>
         </translation>
     </message>
+    <message>
+        <source>Play again</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Save</source>
+        <translation type="unfinished">Spara</translation>
+    </message>
 </context>
 <context>
     <name>PageInGame</name>
@@ -985,6 +1020,10 @@
 <context>
     <name>PageNetServer</name>
     <message>
+        <source>Click here for details</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
         <source>Insert your address here</source>
         <translation type="unfinished"></translation>
     </message>
@@ -1973,6 +2012,10 @@
         <source>This program is distributed under the %1</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source>This setting will be effective at next restart.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>QLineEdit</name>
@@ -3075,119 +3118,4 @@
         <translation>Styrkors</translation>
     </message>
 </context>
-<context>
-    <name>server</name>
-    <message>
-        <source>Not room master</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Corrupted hedgehogs info</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>too many teams</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>too many hedgehogs</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>There&apos;s already a team with same name in the list</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>round in progress</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>restricted</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>REMOVE_TEAM: no such team</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Not team owner!</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Less than two clans!</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Room with such name already exists</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Nickname already chosen</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Illegal nickname</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Protocol already known</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Bad number</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Nickname is already in use</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>No checker rights</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Authentication failed</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>60 seconds cooldown after kick</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>kicked</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Ping timeout</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>bye</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Illegal room name</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>No such room</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Joining restricted</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Registered users only</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>You are banned in this room</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Empty config entry</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
 </TS>
--- a/share/hedgewars/Data/Locale/hedgewars_tr_TR.ts	Thu Apr 04 14:37:19 2013 +0200
+++ b/share/hedgewars/Data/Locale/hedgewars_tr_TR.ts	Tue Jun 04 22:28:12 2013 +0200
@@ -5,14 +5,14 @@
     <name>About</name>
     <message>
         <source>Unknown Compiler</source>
-        <translation>Bilinmeyen Derleyici</translation>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
     <name>AbstractPage</name>
     <message>
         <source>Go back</source>
-        <translation>Geri Dön</translation>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
@@ -23,83 +23,79 @@
     </message>
     <message>
         <source>copy of</source>
-        <translation>kopya</translation>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
     <name>BanDialog</name>
     <message>
         <source>IP</source>
-        <translation>IP</translation>
+        <translation type="unfinished">IP</translation>
     </message>
     <message>
         <source>Nick</source>
-        <translation>Takma Ad</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>IP/Nick</source>
-        <translation>IP</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>Reason</source>
-        <translation>Sebep</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>Duration</source>
-        <translation>Süre</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>Ok</source>
-        <translation>Tamam</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>Cancel</source>
-        <translation>İptal</translation>
+        <translation type="unfinished">İptal</translation>
     </message>
     <message>
         <source>you know why</source>
-        <translation>biliyor musunuz</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>Warning</source>
-        <translation>Uyarı</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>Please, specify %1</source>
-        <translation>Lütfen %1 belirtin</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>nickname</source>
-        <translation>takmaad</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>permanent</source>
-        <translation>kalıcı</translation>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
     <name>DataManager</name>
     <message>
         <source>Use Default</source>
-        <translation>Varsayılanı Kullan</translation>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
     <name>FeedbackDialog</name>
     <message>
         <source>View</source>
-        <translation>Göster</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>Cancel</source>
-        <translation>İptal</translation>
+        <translation type="unfinished">İptal</translation>
     </message>
     <message>
         <source>Send Feedback</source>
-        <translation>Geribildirim Gönder</translation>
-    </message>
-    <message>
-        <source>Please give us feedback!</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
@@ -107,11 +103,15 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>If you found a bug, you can see if it&apos;s already known here (english): </source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Your email address is optional, but we may want to contact you.</source>
+        <source>Send us feedback!</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>If you found a bug, you can see if it&apos;s already been reported here: </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Your email address is optional, but necessary if you want us to get back at you.</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
@@ -119,12 +119,12 @@
     <name>FreqSpinBox</name>
     <message>
         <source>Never</source>
-        <translation>Asla</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message numerus="yes">
         <source>Every %1 turn</source>
-        <translation>
-            <numerusform>Her %1 turda</numerusform>
+        <translation type="unfinished">
+            <numerusform></numerusform>
         </translation>
     </message>
 </context>
@@ -140,47 +140,47 @@
     </message>
     <message>
         <source>Game scheme will auto-select a weapon</source>
-        <translation>Oyun planı otomatik bir silah seçecek</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>Map</source>
-        <translation>Harita</translation>
+        <translation type="unfinished">Harita</translation>
     </message>
     <message>
         <source>Game options</source>
-        <translation>Oyun seçenekleri</translation>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
     <name>HWApplication</name>
     <message numerus="yes">
         <source>%1 minutes</source>
-        <translation>
-            <numerusform>%1 dakika</numerusform>
+        <translation type="unfinished">
+            <numerusform></numerusform>
         </translation>
     </message>
     <message numerus="yes">
         <source>%1 hour</source>
-        <translation>
-            <numerusform>%1 saat</numerusform>
+        <translation type="unfinished">
+            <numerusform></numerusform>
         </translation>
     </message>
     <message numerus="yes">
         <source>%1 hours</source>
-        <translation>
-            <numerusform>%1 saat</numerusform>
+        <translation type="unfinished">
+            <numerusform></numerusform>
         </translation>
     </message>
     <message numerus="yes">
         <source>%1 day</source>
-        <translation>
-            <numerusform>%1 gün</numerusform>
+        <translation type="unfinished">
+            <numerusform></numerusform>
         </translation>
     </message>
     <message numerus="yes">
         <source>%1 days</source>
-        <translation>
-            <numerusform>%1 gün</numerusform>
+        <translation type="unfinished">
+            <numerusform></numerusform>
         </translation>
     </message>
     <message>
@@ -196,63 +196,68 @@
 %1
 
 Please check your installation!</source>
-        <translation type="unfinished">Veri dizini açılamadı:
-%1
-
-Lütfen kurulumunuzu denetleyin!</translation>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
     <name>HWAskQuitDialog</name>
     <message>
         <source>Do you really want to quit?</source>
-        <translation>Gerçekten çıkmak istiyor musunuz?</translation>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
     <name>HWChatWidget</name>
     <message>
         <source>%1 has been removed from your ignore list</source>
-        <translation>%1 yoksayma listenizden kaldırıldı</translation>
-    </message>
-    <message>
-        <source>%1 has been added toINCOMPLETE your ignore list</source>
-        <translation type="obsolete">%1 yoksayma listenize eklendi</translation>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>%1 has been added to your ignore list</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>%1 has been removed from your friends list</source>
-        <translation>%1 arkadaş listenizden kaldırıldı</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>%1 has been added to your friends list</source>
-        <translation>%1 arkadaş listenize eklendi</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>Stylesheet imported from %1</source>
-        <translation>%1 biçembelgesi aktarıldı</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>Enter %1 if you want to use the current StyleSheet in future, enter %2 to reset!</source>
-        <translation>Geçerli BiçemBelgesini ileride kullanmak için %1, sıfırlamak için %3 girin!</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>Couldn&apos;t read %1</source>
-        <translation>%1 okunamadı</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>StyleSheet discarded</source>
-        <translation>BiçemBelgesi silindi</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>StyleSheet saved to %1</source>
-        <translation>BiçemBelgesi %1 konumuna kaydedildi</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>Failed to save StyleSheet to %1</source>
-        <translation>BiçemBelgesi %1 konumuna kaydedilemedi</translation>
-    </message>
-    <message>
-        <source>%1 has been added to your ignore list</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>%1 has joined</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>%1 has left</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>%1 has left (%2)</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
@@ -264,50 +269,50 @@
     </message>
     <message>
         <source>DefaultTeam</source>
-        <translation>VarsayılanTakım</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>Hedgewars Demo File</source>
         <comment>File Types</comment>
-        <translation>Hedgewars Gösteri Dosyası</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>Hedgewars Save File</source>
         <comment>File Types</comment>
-        <translation>Hedgewars Kayıt Dosyası</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>Demo name</source>
-        <translation type="unfinished">Gösteri adı</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>Demo name:</source>
-        <translation type="unfinished">Gösteri adı:</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>Game aborted</source>
-        <translation>Oyun sonlandı</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>Nickname</source>
-        <translation>Takma ad</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>No nickname supplied.</source>
-        <translation>Takma ad girilmedi.</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>Someone already uses your nickname %1 on the server.
 Please pick another nickname:</source>
-        <translation>Sunucuda başka biri %1 takma adını kullanıyor. Başka bir isim girin:</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>%1&apos;s Team</source>
-        <translation>%1 Oyuncusunun Takımı</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>Hedgewars - Nick registered</source>
-        <translation>Hedgewars - Takma ad kayıtlı</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>This nick is registered, and you haven&apos;t specified a password.
@@ -315,53 +320,48 @@
 If this nick isn&apos;t yours, please register your own nick at www.hedgewars.org
 
 Password:</source>
-        <translation>Bu takma ad kayıtlı ve bir parola belirtmediniz.
-
-Bu takma ad sizin değilse, lütfen kendi takma adınızı www.hedgewars.org adresinden kaydedin.
-
-Parola:</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>Your nickname is not registered.
 To prevent someone else from using it,
 please register it at www.hedgewars.org</source>
-        <translation>Takma adınız kayıtlı değil.
-Başkasının kullanmaması için lütfen,
-www.hedgewars.org sitesinde kaydedin</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>
 
 Your password wasn&apos;t saved either.</source>
-        <translation>
-        
-Parolanız da kaydedilmedi.</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>Hedgewars - Empty nickname</source>
-        <translation>Hedgewars - Boş takma ad</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>Hedgewars - Wrong password</source>
-        <translation>Hedgewars - Hatalı parola</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>You entered a wrong password.</source>
-        <translation>Hatalı parola girdiniz.</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>Try Again</source>
-        <translation>Tekrar Dene</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>Hedgewars - Connection error</source>
-        <translation>Hedgewars - Bağlantı hatası</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>You reconnected too fast.
 Please wait a few seconds and try again.</source>
-        <translation>Çok hızlı yeniden bağlandınız.
-Birkaç saniye bekleyin ve yeniden deneyin.</translation>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>This page requires an internet connection.</source>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
@@ -403,103 +403,103 @@
     </message>
     <message>
         <source>Small tunnels</source>
-        <translation>Küçük tüneller</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>Medium tunnels</source>
-        <translation>Orta tüneller</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>Seed</source>
-        <translation>Besleme</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>Map type:</source>
-        <translation>Harita türü:</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>Image map</source>
-        <translation>Resim haritası</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>Mission map</source>
-        <translation>Görev haritası</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>Hand-drawn</source>
-        <translation>El çizimi</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>Randomly generated</source>
-        <translation>Rastgele oluşturulmuş</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>Random maze</source>
-        <translation>Rastgele labirent</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>Random</source>
-        <translation>Rastgele</translation>
+        <translation type="unfinished">Rastgele</translation>
     </message>
     <message>
         <source>Map preview:</source>
-        <translation>Harita önizleme:</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>Load map drawing</source>
-        <translation>Yerel harita çizimi</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>Edit map drawing</source>
-        <translation>Harita çizimini düzenle</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>Small islands</source>
-        <translation>Küçük adalar</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>Medium islands</source>
-        <translation>Orta adalar</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>Large islands</source>
-        <translation>Büyük adalar</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>Map size:</source>
-        <translation>Harita boyutu:</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>Maze style:</source>
-        <translation>Labirent biçemi:</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>Mission:</source>
-        <translation>Görev:</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>Map:</source>
-        <translation>Harita:</translation>
-    </message>
-    <message>
-        <source>Theme: </source>
-        <translation>Tema:</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>Load drawn map</source>
-        <translation>Çizili harita yükle</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>Drawn Maps</source>
-        <translation>Çizili Haritalar</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>All files</source>
-        <translation>Tüm dosyalar</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>Large tunnels</source>
-        <translation>Büyük tüneller</translation>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Theme: %1</source>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
@@ -533,7 +533,7 @@
     </message>
     <message>
         <source>Quit reason: </source>
-        <translation>Çıkma sebebi: </translation>
+        <translation>Çıkma sebebi:</translation>
     </message>
     <message>
         <source>You got kicked</source>
@@ -541,38 +541,34 @@
     </message>
     <message>
         <source>%1 *** %2 has joined the room</source>
-        <translation>%1 *** %2 odaya katıldı</translation>
-    </message>
-    <message>
-        <source>%1 *** %2 has joined</source>
-        <translation>%1 *** %2 katıldı</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>%1 *** %2 has left</source>
-        <translation>%1 *** %2 ayrıldı</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>%1 *** %2 has left (%3)</source>
-        <translation>%1 *** %2 ayrıldı (%3)</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>User quit</source>
-        <translation>Kullanıcı çıktı</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>Remote host has closed connection</source>
-        <translation>Uzak sunucu bağlantıyı kapattı</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>The server is too old. Disconnecting now.</source>
-        <translation>Sunucu çok eski. Bağlantı kesiliyor.</translation>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
     <name>HWPasswordDialog</name>
     <message>
         <source>Login</source>
-        <translation>Oturum aç</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>To connect to the server, please log in.
@@ -594,33 +590,33 @@
     <name>HWUploadVideoDialog</name>
     <message>
         <source>Upload video</source>
-        <translation>Video yükle</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>Upload</source>
-        <translation>Yükle</translation>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
     <name>HatButton</name>
     <message>
         <source>Change hat (%1)</source>
-        <translation>Şapkayı değiştir (%1)</translation>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
     <name>HatPrompt</name>
     <message>
         <source>Cancel</source>
-        <translation>İptal</translation>
+        <translation type="unfinished">İptal</translation>
     </message>
     <message>
         <source>Use selected hat</source>
-        <translation>Seçili şapkayı kullan</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>Search for a hat:</source>
-        <translation>Şapka ara:</translation>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
@@ -634,7 +630,7 @@
     <name>KeyBinder</name>
     <message>
         <source>Category</source>
-        <translation>Kategori</translation>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
@@ -642,94 +638,93 @@
     <message>
         <source>Duration: %1m %2s
 </source>
-        <translation>Süre: %1d %2s
-</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>Video: %1x%2, </source>
-        <translation>Video: %1x%2, </translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>%1 fps, </source>
-        <translation>%1 fps, </translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>Audio: </source>
-        <translation>Ses: </translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>unknown</source>
-        <translation>bilinmiyor</translation>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
     <name>MapModel</name>
     <message>
         <source>No description available.</source>
-        <translation>Kullanılabilir açıklama yok.</translation>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
     <name>PageAdmin</name>
     <message>
         <source>Clear Accounts Cache</source>
-        <translation>Hesap Belleğini Temizle</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>Fetch data</source>
-        <translation>Veri getir</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>Server message for latest version:</source>
-        <translation type="unfinished">Son sürüm için sunucu iletisi:</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>Server message for previous versions:</source>
-        <translation>Önceki sürümler için sunucu iletisi:</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>Latest version protocol number:</source>
-        <translation>En son sürüm protokol numarası:</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>MOTD preview:</source>
-        <translation>MOTD önizleme:</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>Set data</source>
-        <translation>Veri ayarla</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>General</source>
-        <translation>Genel</translation>
+        <translation type="unfinished">Genel</translation>
     </message>
     <message>
         <source>Bans</source>
-        <translation>Engellemeler</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>IP/Nick</source>
-        <translation>IP/Takma Ad</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>Expiration</source>
-        <translation>Dolum</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>Reason</source>
-        <translation>Sebep</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>Refresh</source>
-        <translation>Yenile</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>Add</source>
-        <translation>Ekle</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>Remove</source>
-        <translation>Kaldır</translation>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
@@ -740,42 +735,53 @@
     </message>
 </context>
 <context>
+    <name>PageDataDownload</name>
+    <message>
+        <source>Loading, please wait.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>This page requires an internet connection.</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
     <name>PageDrawMap</name>
     <message>
         <source>Undo</source>
-        <translation>Geri al</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>Clear</source>
-        <translation>Temizle</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>Load</source>
-        <translation>Yükle</translation>
+        <translation type="unfinished">Yükle</translation>
     </message>
     <message>
         <source>Save</source>
-        <translation>Kaydet</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>Load drawn map</source>
-        <translation>Çizili harita yükle</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>Save drawn map</source>
-        <translation>Çizili haritayı kaydet</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>Drawn Maps</source>
-        <translation>Çizili Haritalar</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>All files</source>
-        <translation>Tüm dosyalar</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>Eraser</source>
-        <translation>Silgi</translation>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
@@ -786,167 +792,175 @@
     </message>
     <message>
         <source>Select an action to choose a custom key bind for this team</source>
-        <translation>Bu takıma özel tuş ataması için bir eylem seçin</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>Use my default</source>
-        <translation>Varsayılanı kullan</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>Reset all binds</source>
-        <translation>Tüm atamaları sıfırla</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>Custom Controls</source>
-        <translation>Özel Denetimler</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>Hat</source>
-        <translation>Şapka</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>Name</source>
-        <translation>İsim</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>This hedgehog&apos;s name</source>
-        <translation>Bu kirpinin adı</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>Randomize this hedgehog&apos;s name</source>
-        <translation>Kirpi adını rastgele ata</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>Random Team</source>
-        <translation>Rastgele Takım</translation>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
     <name>PageGameStats</name>
     <message>
         <source>Details</source>
-        <translation>Ayrıntılar</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>Health graph</source>
-        <translation>Sağlık Grafiği</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>Ranking</source>
-        <translation>Sıralama</translation>
+        <translation type="unfinished"></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>En iyi atış ödülü: &lt;b&gt;%2&lt;/b&gt; puanla &lt;b&gt;%1&lt;/b&gt;</translation>
+        <translation type="unfinished"></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>
-        <translation>
-            <numerusform>En iyi öldürücü: &lt;b&gt;%1&lt;/b&gt; bir turda &lt;b&gt;%2&lt;/b&gt; öldürme.</numerusform>
+        <translation type="unfinished">
+            <numerusform></numerusform>
         </translation>
     </message>
     <message numerus="yes">
         <source>A total of &lt;b&gt;%1&lt;/b&gt; hedgehog(s) were killed during this round.</source>
-        <translation>
-            <numerusform>Bu turda toplam &lt;b&gt;%1&lt;/b&gt; kirpi öldürüldü.</numerusform>
+        <translation type="unfinished">
+            <numerusform></numerusform>
         </translation>
     </message>
     <message numerus="yes">
         <source>(%1 kill)</source>
-        <translation>
-            <numerusform>(%1 öldürme)</numerusform>
+        <translation type="unfinished">
+            <numerusform></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>
-            <numerusform>&lt;b&gt;%1&lt;/b&gt; kendi kirpilerini &lt;b&gt;%2&lt;/b&gt; puanla vurmanın güzel olduğunu düşündü</numerusform>
+        <translation type="unfinished">
+            <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>
-            <numerusform>&lt;b&gt;%1&lt;/b&gt; kendi &lt;b&gt;%2&lt;/b&gt; kirpisini öldürdü</numerusform>
+        <translation type="unfinished">
+            <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>
-            <numerusform>&lt;b&gt;%1&lt;/b&gt; korktu ve &lt;b&gt;%2&lt;/b&gt; kez turu pas geçti.</numerusform>
+        <translation type="unfinished">
+            <numerusform></numerusform>
         </translation>
     </message>
+    <message>
+        <source>Play again</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Save</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>PageInGame</name>
     <message>
         <source>In game...</source>
-        <translation>Oyunda...</translation>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
     <name>PageInfo</name>
     <message>
         <source>Open the snapshot folder</source>
-        <translation>Ekran görüntü klasörünü aç</translation>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
     <name>PageMain</name>
     <message>
         <source>Downloadable Content</source>
-        <translation>İndirilebilir İçerik</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>Play a game on a single computer</source>
-        <translation>Tek bir bilgisayarda oyna</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>Play a game across a network</source>
-        <translation>Ağ üzerinde oyna</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>Read about who is behind the Hedgewars Project</source>
-        <translation>Hedgewars Projesinin arkasında kimlerin olduğunu göster</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>Leave a feedback here reporting issues, suggesting features or just saying how you like Hedgewars</source>
-        <translation>Sorunları bildirme, özellik önerme veya Hedgewars oyununu ne kadar sevdiğinizi söylemek için geri bildirim bırakın</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>Access the user created content downloadable from our website</source>
-        <translation>Websitemizden kullanıcılar tarafından oluşturulmuş indirilebilir içeriğe bakın</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>Exit game</source>
-        <translation>Oyundan çık</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>Manage videos recorded from game</source>
-        <translation>Oyunda kayıtlı videolarınızı yönetin</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>Edit game preferences</source>
-        <translation>Oyun tercihlerini düzenle</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>Play a game across a local area network</source>
-        <translation>Yerel ağda bir oyun oyna</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>Play a game on an official server</source>
-        <translation>Resmi bir sunucuda oyun oyna</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>Feedback</source>
-        <translation>Geri Bildirim</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>Play local network game</source>
-        <translation>Yerel ağ oyunu oyna</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>Play official network game</source>
-        <translation>Resmi ağ oyunu oyna</translation>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
@@ -957,35 +971,39 @@
     </message>
     <message>
         <source>Edit game preferences</source>
-        <translation>Oyun tercihlerini düzenle</translation>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
     <name>PageNetGame</name>
     <message>
         <source>Control</source>
-        <translation type="obsolete">Denetim</translation>
+        <translation type="obsolete">Kontrol</translation>
     </message>
     <message>
         <source>Edit game preferences</source>
-        <translation>Oyun tercihlerini düzenle</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>Start</source>
-        <translation>Başla</translation>
+        <translation type="unfinished">Başla</translation>
     </message>
     <message>
         <source>Update</source>
-        <translation>Güncelle</translation>
+        <translation type="unfinished">Güncelle</translation>
     </message>
     <message>
         <source>Room controls</source>
-        <translation>Oda denetimleri</translation>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
     <name>PageNetServer</name>
     <message>
+        <source>Click here for details</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
         <source>Insert your address here</source>
         <translation type="unfinished"></translation>
     </message>
@@ -1002,111 +1020,111 @@
     </message>
     <message>
         <source>Delete team</source>
-        <translation>Takımı sil</translation>
+        <translation type="unfinished"></translation>
     </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>Takım seçiminden takımları düzenleyemezsiniz. Takım eklemek, düzenlemek ve silmek için ana menüye dönün.</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>New scheme</source>
-        <translation>Yeni plan</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>Edit scheme</source>
-        <translation>Planı düzenle</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>Delete scheme</source>
-        <translation>Planı sil</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>New weapon set</source>
-        <translation>Yeni silah seti</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>Edit weapon set</source>
-        <translation>Silah setini düzenle</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>Delete weapon set</source>
-        <translation>Silah setini sil</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>Advanced</source>
-        <translation>Gelişmiş</translation>
+        <translation type="unfinished">Gelişmiş</translation>
     </message>
     <message>
         <source>Reset to default colors</source>
-        <translation type="unfinished">Varsayılan renklere sıfırla</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>Proxy host</source>
-        <translation type="unfinished">Vekil sunucusu</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>Proxy port</source>
-        <translation type="unfinished">Vekil portu</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>Proxy login</source>
-        <translation type="unfinished">Vekil kullanıcı adı</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>Proxy password</source>
-        <translation type="unfinished">Vekil parolası</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>No proxy</source>
-        <translation type="unfinished">Vekil sunucu yok</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>Socks5 proxy</source>
-        <translation type="unfinished">Socks5 vekil sunucusu</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>HTTP proxy</source>
-        <translation type="unfinished">HTTp vekil sunucusu</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>System proxy settings</source>
-        <translation type="unfinished">Sistem vekil ayarları</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>Select an action to change what key controls it</source>
-        <translation type="unfinished">Denetimi kullanan tuşu değiştirmek için bir eylem seçin</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>Reset to default</source>
-        <translation type="unfinished">Varsayılana sıfırla</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>Reset all binds</source>
-        <translation type="unfinished">Tüm atamaları sıfırla</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>Game</source>
-        <translation type="unfinished">Oyun</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>Graphics</source>
-        <translation type="unfinished">Grafik</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>Audio</source>
-        <translation type="unfinished">Ses</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>Controls</source>
-        <translation type="unfinished">Denetimler</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>Video Recording</source>
-        <translation type="unfinished">Video Kaydı</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>Network</source>
-        <translation type="unfinished">Ağ</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>Teams</source>
@@ -1114,7 +1132,7 @@
     </message>
     <message>
         <source>Schemes</source>
-        <translation type="unfinished">Planlar</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>Weapons</source>
@@ -1122,43 +1140,43 @@
     </message>
     <message>
         <source>Frontend</source>
-        <translation type="unfinished">Ön Uç</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>Custom colors</source>
-        <translation type="unfinished">Özel renkler</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>Game audio</source>
-        <translation type="unfinished">Oyun sesi</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>Frontend audio</source>
-        <translation type="unfinished">Ön uç sesi</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>Account</source>
-        <translation type="unfinished">Hesap</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>Proxy settings</source>
-        <translation type="unfinished">Vekil sunucu ayarları</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>Miscellaneous</source>
-        <translation type="unfinished">Çeşitli</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>Updates</source>
-        <translation type="unfinished">Güncellemeler</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>Check for updates</source>
-        <translation type="unfinished">Güncellemeleri Denetle</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>Video recording options</source>
-        <translation type="unfinished">Video kayıt seçenekleri</translation>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
@@ -1188,41 +1206,41 @@
     </message>
     <message>
         <source>Rules:</source>
-        <translation type="unfinished">Kurallar:</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>Weapons:</source>
-        <translation type="unfinished">Silahlar:</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message numerus="yes">
         <source>%1 players online</source>
         <translation type="unfinished">
-            <numerusform>%1 oyuncu çevrimiçi</numerusform>
+            <numerusform></numerusform>
         </translation>
     </message>
     <message>
         <source>Search for a room:</source>
-        <translation type="unfinished">Bir oda ara:</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>Create room</source>
-        <translation type="unfinished">Oda oluştur</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>Join room</source>
-        <translation type="unfinished">Odaya katıl</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>Room state</source>
-        <translation type="unfinished">Oda durumu</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>Clear filters</source>
-        <translation type="unfinished">Süzgeçleri temizle</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>Open server administration page</source>
-        <translation type="unfinished">Sunucu yönetim sayfasını aç</translation>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
@@ -1233,7 +1251,7 @@
     </message>
     <message>
         <source>Teams will start on opposite sides of the terrain, two team colours max!</source>
-        <translation>Takımlar bölgenin farklı taraflarında başlarlar, en fazla iki takım rengi!</translation>
+        <translation>Takımlar bölgenin faklı taraflarında başlarlar, en fazla iki takım rengi!</translation>
     </message>
     <message>
         <source>Land can not be destroyed!</source>
@@ -1253,7 +1271,7 @@
     </message>
     <message>
         <source>Gain 80% of the damage you do back in health</source>
-        <translation>Verdiğin hasarın %80&apos;ini sağlık olarak kazan</translation>
+        <translation>Verdiğin hasarın %%80&apos;ini sağlık olarak kazan</translation>
     </message>
     <message>
         <source>Share your opponents pain, share their damage</source>
@@ -1281,63 +1299,63 @@
     </message>
     <message>
         <source>Order of play is random instead of in room order.</source>
-        <translation type="unfinished">Oda sırası yerine oynama sırası rastgeledir.</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>Play with a King. If he dies, your side dies.</source>
-        <translation type="unfinished">Bir Kralla oyna. O ölürse takımın ölür.</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>Take turns placing your hedgehogs before the start of play.</source>
-        <translation type="unfinished">Oyuna başlamadan önce kirpileri sırayla yerleştirin.</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>Ammo is shared between all teams that share a colour.</source>
-        <translation type="unfinished">Aynı rengi paylaşan tüm takımlar cephaneyi paylaşır.</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>Disable girders when generating random maps.</source>
-        <translation type="unfinished">Rastgele haritalar oluştururken kirişleri devre dışı bırak.</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>Disable land objects when generating random maps.</source>
-        <translation type="unfinished">Rastgele haritalar oluştururken zemin nesnelerini devre dışı bırak.</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>AI respawns on death.</source>
-        <translation type="unfinished">Yapay zeka, öldükten sonra yeniden doğar</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>All (living) hedgehogs are fully restored at the end of turn</source>
-        <translation type="unfinished">Tüm (yaşayan) kirpiler tur sonunda eski haline gelir</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>Attacking does not end your turn.</source>
-        <translation type="unfinished">Saldırmak sıranı bitirmez.</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>Weapons are reset to starting values each turn.</source>
-        <translation type="unfinished">Silahlar her turda başlangıç değerlerine sıfırlanır.</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>Each hedgehog has its own ammo. It does not share with the team.</source>
-        <translation type="unfinished">Her kirpinin kendi cephanesi olur. Takımla paylaşmaz.</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>You will not have to worry about wind anymore.</source>
-        <translation type="unfinished">Artık rüzgarı dert etmen gerekmiyor.</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>Wind will affect almost everything.</source>
-        <translation type="unfinished">Rüzgar neredeyse her şeyi etkiler.</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>Copy</source>
-        <translation type="unfinished">Kopyala</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>Teams in each clan take successive turns sharing their turn time.</source>
-        <translation type="unfinished">Her klandaki takımlar kendi sıralarındaki zamanı paylaşarak değişirler.</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>Add an indestructible border around the terrain</source>
@@ -1345,14 +1363,14 @@
     </message>
     <message>
         <source>Add an indestructible border along the bottom</source>
-        <translation type="unfinished">Alta yok edilemez bir sınır ekle</translation>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
     <name>PageSelectWeapon</name>
     <message>
         <source>Default</source>
-        <translation>Varsayılan</translation>
+        <translation>Öntanımlı</translation>
     </message>
     <message>
         <source>Delete</source>
@@ -1364,94 +1382,92 @@
     </message>
     <message>
         <source>Copy</source>
-        <translation type="unfinished">Kopyala</translation>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
     <name>PageSinglePlayer</name>
     <message>
         <source>Play a quick game against the computer with random settings</source>
-        <translation type="unfinished">Rastgele ayarlarla bilgisayara karşı hızlı bir oyun oyna</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>Play a hotseat game against your friends, or AI teams</source>
-        <translation type="unfinished">Arkadaşlarınla veya Yapay Zeka takımlarıyla ayarlanmış bir oyun oyna</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>Campaign Mode</source>
-        <translation type="unfinished">Mücadele Kipi</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>Practice your skills in a range of training missions</source>
-        <translation type="unfinished">Yeteneklerini çeşitli eğitim görevleri ile geliştir</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>Watch recorded demos</source>
-        <translation type="unfinished">Kayıtlı gösterileri izle</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>Load a previously saved game</source>
-        <translation type="unfinished">Önceden kayıtlı bir oyun yükle</translation>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
     <name>PageTraining</name>
     <message>
         <source>No description available</source>
-        <translation type="unfinished">Kullanılabilir açıklama yok</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>Select a mission!</source>
-        <translation type="unfinished">Bir görev seç!</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>Pick the mission or training to play</source>
-        <translation type="unfinished">Oynamak üzere bir görev veya eğitim seç</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>Start fighting</source>
-        <translation type="unfinished">Dövüşe başla</translation>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
     <name>PageVideos</name>
     <message>
         <source>Name</source>
-        <translation type="unfinished">İsim</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>Size</source>
-        <translation type="unfinished">Boyut</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message numerus="yes">
         <source>%1 bytes</source>
         <translation type="unfinished">
-            <numerusform>%1 bayt</numerusform>
+            <numerusform></numerusform>
         </translation>
     </message>
     <message>
         <source>(in progress...)</source>
-        <translation type="unfinished">(yapım aşamasında...)</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>encoding</source>
-        <translation type="unfinished">kodlanıyor</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>uploading</source>
-        <translation type="unfinished">yükleniyor</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>Date: %1
 </source>
-        <translation type="unfinished">Tarih: %1
-</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>Size: %1
 </source>
-        <translation type="unfinished">Boyut: %1
-</translation>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
@@ -1478,23 +1494,23 @@
     </message>
     <message>
         <source>Follow</source>
-        <translation type="unfinished">Takip Et</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>Ignore</source>
-        <translation type="unfinished">Yoksay</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>Add friend</source>
-        <translation type="unfinished">Arkadaş ekle</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>Unignore</source>
-        <translation type="unfinished">Yoksaymayı kapat</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>Remove friend</source>
-        <translation type="unfinished">Arkadaş kaldır</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>Update</source>
@@ -1502,15 +1518,15 @@
     </message>
     <message>
         <source>Restrict Unregistered Players Join</source>
-        <translation type="unfinished">Kayıtsız Oyuncuların Katılmasını Kısıtla</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>Show games in lobby</source>
-        <translation type="unfinished">Lobideki oyunları göster</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>Show games in-progress</source>
-        <translation type="unfinished">Süren oyunları göster</translation>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
@@ -1533,59 +1549,59 @@
     </message>
     <message>
         <source>Check for updates at startup</source>
-        <translation type="unfinished">Başlangıçta güncellemeleri denetle</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>Show ammo menu tooltips</source>
-        <translation type="unfinished">Cephane menüsü araç ipuçlarını göster</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>Save password</source>
-        <translation type="unfinished">Parolayı kaydet</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>Save account name and password</source>
-        <translation type="unfinished">Hesap adı ve parolasını kaydet</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>Video is private</source>
-        <translation type="unfinished">Video özel</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>Record audio</source>
-        <translation type="unfinished">Sesi kaydet</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>Use game resolution</source>
-        <translation type="unfinished">Oyun çözünürlüğünü kullan</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>Visual effects</source>
-        <translation type="unfinished">Görsel efektler</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>Sound</source>
-        <translation type="unfinished">Ses</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>In-game sound effects</source>
-        <translation type="unfinished">Oyun ses efektleri</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>Music</source>
-        <translation type="unfinished">Müzik</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>In-game music</source>
-        <translation type="unfinished">Oyun içi müzik</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>Frontend sound effects</source>
-        <translation type="unfinished">Ön uç ses efektleri</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>Frontend music</source>
-        <translation type="unfinished">Ön uç müziği</translation>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
@@ -1596,79 +1612,79 @@
     </message>
     <message>
         <source>Level</source>
-        <translation>Seviye</translation>
+        <translation>Bilgisayar</translation>
     </message>
     <message>
         <source>(System default)</source>
-        <translation type="unfinished">(Sistem varsayılanı)</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>Community</source>
-        <translation type="unfinished">Topluluk</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>Any</source>
-        <translation type="unfinished">Herhangi</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>Disabled</source>
-        <translation type="unfinished">Kapalı</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>Red/Cyan</source>
-        <translation type="unfinished">Kırmızı/Camgöbeği</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>Cyan/Red</source>
-        <translation type="unfinished">Camgöbeği/Kırmızı</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>Red/Blue</source>
-        <translation type="unfinished">Kırmızı/Mavi</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>Blue/Red</source>
-        <translation type="unfinished">Mavi/Kırmızı</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>Red/Green</source>
-        <translation type="unfinished">Kırmızı/Yeşil</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>Green/Red</source>
-        <translation type="unfinished">Yeşil/Kırmızı</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>Side-by-side</source>
-        <translation type="unfinished">Yan yana</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>Top-Bottom</source>
-        <translation type="unfinished">Üst-Alt</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>Red/Cyan grayscale</source>
-        <translation type="unfinished">Kırmızı/Camgöbeği gri</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>Cyan/Red grayscale</source>
-        <translation type="unfinished">Camgöbeği/Kırmızı gri</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>Red/Blue grayscale</source>
-        <translation type="unfinished">Kırmızı/Mavi gri</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>Blue/Red grayscale</source>
-        <translation type="unfinished">Mavi/Kırmızı gri</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>Red/Green grayscale</source>
-        <translation type="unfinished">Kırmızı/Yeşil gri</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>Green/Red grayscale</source>
-        <translation type="unfinished">Yeşil/Kırmızı gri</translation>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
@@ -1699,15 +1715,15 @@
     </message>
     <message>
         <source>Team Settings</source>
-        <translation type="unfinished">Takım ayarları</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>Videos</source>
-        <translation type="unfinished">Videolar</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>Description</source>
-        <translation type="unfinished">Açıklama</translation>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
@@ -1782,143 +1798,141 @@
     </message>
     <message>
         <source>% Dud Mines</source>
-        <translation type="unfinished">Sahte Mayın %</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>Name</source>
-        <translation type="unfinished">İsim</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>Type</source>
-        <translation type="unfinished">Tür</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>Grave</source>
-        <translation type="unfinished">Mezar taşı</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>Flag</source>
-        <translation type="unfinished">Bayrak</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>Voice</source>
-        <translation type="unfinished">Ses</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>Locale</source>
-        <translation type="unfinished">Dil</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>Explosives</source>
-        <translation type="unfinished">Patlayıcılar</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>Tip: </source>
-        <translation type="unfinished">İpucu: </translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>Quality</source>
-        <translation type="unfinished">Kalite</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>% Health Crates</source>
-        <translation type="unfinished">Sağlık Sandık %&apos;si</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>Health in Crates</source>
-        <translation type="unfinished">Sandıklardaki Sağlık</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>Sudden Death Water Rise</source>
-        <translation type="unfinished">Ani Ölüm Su Yükselmesi</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>Sudden Death Health Decrease</source>
-        <translation type="unfinished">Ani Ölüm Sağlık Azaltması</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>% Rope Length</source>
-        <translation type="unfinished">Halat Uzunluk %&apos;si</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>Stereo rendering</source>
-        <translation type="unfinished">Stereo hazırlama</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>Style</source>
-        <translation type="unfinished">Biçem</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>Scheme</source>
-        <translation type="unfinished">Plan</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>% Get Away Time</source>
-        <translation type="unfinished">Uzakta Zamanı %&apos;si</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>There are videos that are currently being processed.
 Exiting now will abort them.
 Do you really want to quit?</source>
-        <translation type="unfinished">Şu anda işlenen videolar var.
-Çıkmak bu işlemi sonlandıracak.
-Gerçekten çıkmak istiyor musunuz?</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>Please provide either the YouTube account name or the email address associated with the Google Account.</source>
-        <translation type="unfinished">Lütfen YouTube hesap adını veya Google Hesabınız ile ilişkilendirmiş e-posta adresinizi girin.</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>Account name (or email): </source>
-        <translation type="unfinished">Hesap adı (veya e-posta): </translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>Password: </source>
-        <translation type="unfinished">Parola: </translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>Video title: </source>
-        <translation type="unfinished">Video başlığı: </translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>Video description: </source>
-        <translation type="unfinished">Video açıklaması: </translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>Tags (comma separated): </source>
-        <translation type="unfinished">Etiketler (virgülle ayrılmış): </translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>Description</source>
-        <translation type="unfinished">Açıklama</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>Nickname</source>
-        <translation type="unfinished">Takma ad</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>Format</source>
-        <translation type="unfinished">Biçim</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>Audio codec</source>
-        <translation type="unfinished">Ses kodlayıcı</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>Video codec</source>
-        <translation type="unfinished">Video kodlayıcı</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>Framerate</source>
-        <translation type="unfinished">Kare oranı</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>Bitrate (Kbps)</source>
-        <translation type="unfinished">Bit oranı (Kbps)</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>This development build is &apos;work in progress&apos; and may not be compatible with other versions of the game, while some features might be broken or incomplete!</source>
-        <translation type="unfinished">Bu geliştirme derlemesi &apos;yapım aşamasındadır&apos; ve oyunun diğer sürümleri ile uyumlu olmayabilir; bazı özellikler bozuk veya tamamlanmamış olabilir!</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>Fullscreen</source>
@@ -1926,35 +1940,39 @@
     </message>
     <message>
         <source>Fullscreen Resolution</source>
-        <translation type="unfinished">Tam Ekran Çözünürlüğü</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>Windowed Resolution</source>
-        <translation type="unfinished">Pencere Çözünürlüğü</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>Your Email</source>
-        <translation type="unfinished">E-postanız</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>Summary</source>
-        <translation type="unfinished">Özet</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>Send system information</source>
-        <translation type="unfinished">Sistem bilgisi gönder</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>Type the security code:</source>
-        <translation type="unfinished">Güvenlik kodunu yaz:</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>Revision</source>
-        <translation type="unfinished">Gözden Geçirme</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>This program is distributed under the %1</source>
-        <translation type="unfinished">Bu program %1 altında dağıtılmaktadır</translation>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>This setting will be effective at next restart.</source>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
@@ -1965,11 +1983,11 @@
     </message>
     <message>
         <source>hedgehog %1</source>
-        <translation type="unfinished">kirpi %1</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>anonymous</source>
-        <translation type="unfinished">anonim</translation>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
@@ -1980,7 +1998,7 @@
     </message>
     <message>
         <source>-r%1 (%2)</source>
-        <translation type="unfinished">-r%1 (%2)</translation>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
@@ -1995,95 +2013,73 @@
     </message>
     <message>
         <source>File association failed.</source>
-        <translation type="unfinished">Dosya ilişkilendirme başarısız.</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>Error while authenticating at google.com:
 </source>
-        <translation type="unfinished">Google.com ile kimlik açma başarısız</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>Login or password is incorrect</source>
-        <translation type="unfinished">Kullanıcı adı veya parolası yanlış</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>Error while sending metadata to youtube.com:
 </source>
-        <translation type="unfinished">Youtube.com üst verisi gönderilirken hata</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>Teams - Are you sure?</source>
-        <translation type="unfinished">Takımlar - Emin misiniz?</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>Do you really want to delete the team &apos;%1&apos;?</source>
-        <translation type="unfinished">&apos;%1&apos; takımını gerçekten silmek istiyor musunuz?</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>Cannot delete default scheme &apos;%1&apos;!</source>
-        <translation type="unfinished">Varsayılan &apos;%1&apos; planı silinemez</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>Please select a record from the list</source>
-        <translation type="unfinished">Lütfen listeden bir kayıt seçin</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>Unable to start server</source>
-        <translation type="unfinished">Sunucu başlatılamadı</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>Hedgewars - Error</source>
-        <translation type="unfinished">Hedgewars - Hata</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>Hedgewars - Success</source>
-        <translation type="unfinished">Hedgewars - Başarılı</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>All file associations have been set</source>
-        <translation type="unfinished">Tüm dosya ilişkilendirmeleri ayarlandı</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>Cannot create directory %1</source>
         <translation type="obsolete">%1 dizini oluşturulamadı</translation>
     </message>
     <message>
-        <source>Failed to open data directory:
-%1
-
-Please check your installation!</source>
-        <translation type="obsolete">Veri dizini açılamadı:
-%1
-
-Lütfen kurulumunuzu denetleyin!</translation>
-    </message>
-    <message>
-        <source>TCP - Error</source>
-        <translation type="obsolete">TCP - Hata</translation>
-    </message>
-    <message>
         <source>Unable to start the server: %1.</source>
         <translation type="obsolete">Sunucu başlatılamadı: %1.</translation>
     </message>
     <message>
-        <source>Unable to run engine at </source>
-        <translation type="obsolete">Motor şurada başlatılamadı: </translation>
-    </message>
-    <message>
-        <source>Error code: %1</source>
-        <translation type="obsolete">Hata kodu: %1</translation>
-    </message>
-    <message>
         <source>Video upload - Error</source>
-        <translation type="unfinished">Video yükleme - Hata</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>Netgame - Error</source>
-        <translation type="unfinished">Ağ oyunu - Hata</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>Please select a server from the list</source>
-        <translation type="unfinished">Lütfen listeden bir sunucu seçin</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>Please enter room name</source>
@@ -2091,7 +2087,7 @@
     </message>
     <message>
         <source>Record Play - Error</source>
-        <translation type="unfinished">Oyunu Kaydet - Hata</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>Please select record from the list</source>
@@ -2099,15 +2095,15 @@
     </message>
     <message>
         <source>Cannot rename to </source>
-        <translation type="unfinished">Adlandırma başarısız: </translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>Cannot delete file </source>
-        <translation type="unfinished">Dosya silinemedi: </translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>Room Name - Error</source>
-        <translation type="unfinished">Oda Adı - Hata</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>Please select room from the list</source>
@@ -2115,128 +2111,122 @@
     </message>
     <message>
         <source>Room Name - Are you sure?</source>
-        <translation type="unfinished">Oda Adı - Emin misiniz?</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>The game you are trying to join has started.
 Do you still want to join the room?</source>
-        <translation type="unfinished">Katılmaya çalıştığınız oyun başlamış.
-Hala odaya katılmak istiyor musunuz?</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>Schemes - Warning</source>
-        <translation type="unfinished">Planlar - Uyarı</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>Schemes - Are you sure?</source>
-        <translation type="unfinished">Planlar - Emin misiniz?</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>Do you really want to delete the game scheme &apos;%1&apos;?</source>
-        <translation type="unfinished">Gerçekten &apos;%1&apos; oyun planını silmek istiyor musunuz?</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>Videos - Are you sure?</source>
-        <translation type="unfinished">Videolar - Emin misiniz?</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>Do you really want to delete the video &apos;%1&apos;?</source>
-        <translation type="unfinished">Gerçekten &apos;%1&apos; videosunu silmek istiyor musunuz?</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message numerus="yes">
         <source>Do you really want to remove %1 file(s)?</source>
         <translation type="unfinished">
-            <numerusform>Gerçekten %1 dosyayı kaldırmak istiyor musunuz?</numerusform>
+            <numerusform></numerusform>
         </translation>
     </message>
     <message>
         <source>Do you really want to cancel uploading %1?</source>
-        <translation type="unfinished">Gerçekten %1 yüklemesini iptal etmek istiyor musunuz?</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>File error</source>
-        <translation type="unfinished">Dosya hatası</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>Cannot open &apos;%1&apos; for writing</source>
-        <translation type="unfinished">&apos;%1&apos; yazmak için açılamıyor</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>Cannot open &apos;%1&apos; for reading</source>
-        <translation type="unfinished">&apos;%1&apos; okumak için açılamıyor</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>Cannot use the ammo &apos;%1&apos;!</source>
-        <translation type="unfinished">&apos;%1&apos; cephanesi kullanılamıyor!</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>Weapons - Warning</source>
-        <translation type="unfinished">Silahlar - Uyarı</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>Cannot overwrite default weapon set &apos;%1&apos;!</source>
-        <translation type="unfinished">Varsayılan &apos;%1&apos; silah setinin üzerine yazılamaz!</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>Cannot delete default weapon set &apos;%1&apos;!</source>
-        <translation type="unfinished">Varsayılan &apos;%1&apos; silah seti silinemez!</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>Weapons - Are you sure?</source>
-        <translation type="unfinished">Silahlar - Emin misiniz?</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>Do you really want to delete the weapon set &apos;%1&apos;?</source>
-        <translation type="unfinished">Gerçekten &apos;%1&apos; silah setini silmek istiyor musunuz?</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>Hedgewars - Nick not registered</source>
-        <translation type="unfinished">Hedgewars - Takma ad kayıtlı değil</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>System Information Preview</source>
-        <translation type="unfinished">Sistem Bilgi Önizlemesi</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>Failed to generate captcha</source>
-        <translation type="unfinished">Captcha oluşturulamadı</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>Failed to download captcha</source>
-        <translation type="unfinished">Captcha indirilemedi</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>Please fill out all fields. Email is optional.</source>
-        <translation type="unfinished">Lütfen tüm alanları doldurun. E-posta isteğe bağlıdır.</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>Hedgewars - Warning</source>
-        <translation type="unfinished">Hedgewars - Uyarı</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>Hedgewars - Information</source>
-        <translation type="unfinished">Hedgewars - Bilgi</translation>
-    </message>
-    <message>
-        <source>Hedgewars</source>
-        <translation type="obsolete">Hedgewars</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>Not all players are ready</source>
-        <translation type="unfinished">Tüm oyuncular hazır değil</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>Are you sure you want to start this game?
 Not all players are ready.</source>
-        <translation type="unfinished">Oyunu başlatmak istiyor musunuz?
-Tüm oyuncular hazır değil.</translation>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
     <name>QPushButton</name>
     <message>
         <source>default</source>
-        <translation>varsayılan</translation>
+        <translation>öntanımlı</translation>
     </message>
     <message>
         <source>OK</source>
@@ -2288,51 +2278,51 @@
     </message>
     <message>
         <source>Associate file extensions</source>
-        <translation type="unfinished">Dosya uzantılarını ilişkilendir</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>More info</source>
-        <translation type="unfinished">Daha fazla bilgi</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>Set default options</source>
-        <translation type="unfinished">Varsayılan seçenekleri ayarla</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>Open videos directory</source>
-        <translation type="unfinished">Video dizinini aç</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>Play</source>
-        <translation type="unfinished">Oynat</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>Upload to YouTube</source>
-        <translation type="unfinished">YouTube&apos;a Yükle</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>Cancel uploading</source>
-        <translation type="unfinished">Yüklemeyi iptal et</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>Restore default coding parameters</source>
-        <translation type="unfinished">Varsayılan kodlama parametrelerini geri al</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>Open the video directory in your system</source>
-        <translation type="unfinished">Sisteminizdeki video dizinini aç</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>Play this video</source>
-        <translation type="unfinished">Bu videoyu oynat</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>Delete this video</source>
-        <translation type="unfinished">Bu videoyu sil</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>Upload this video to your Youtube account</source>
-        <translation type="unfinished">Bu videoyu Youtube hesabınıza yükle</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>Reset</source>
@@ -2359,7 +2349,7 @@
     <name>RoomNamePrompt</name>
     <message>
         <source>Enter a name for your room.</source>
-        <translation type="unfinished">Odanız için bir ad girin.</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>Cancel</source>
@@ -2367,30 +2357,30 @@
     </message>
     <message>
         <source>Create room</source>
-        <translation type="unfinished">Oda oluştur</translation>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
     <name>RoomsListModel</name>
     <message>
         <source>In progress</source>
-        <translation type="unfinished">Sürüyor</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>Room Name</source>
-        <translation type="unfinished">Oda Adı</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>C</source>
-        <translation type="unfinished">K</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>T</source>
-        <translation type="unfinished">T</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>Owner</source>
-        <translation type="unfinished">Sahip</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>Map</source>
@@ -2398,7 +2388,7 @@
     </message>
     <message>
         <source>Rules</source>
-        <translation type="unfinished">Kurallar</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>Weapons</source>
@@ -2406,22 +2396,22 @@
     </message>
     <message>
         <source>Random Map</source>
-        <translation type="unfinished">Rastgele Harita</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>Random Maze</source>
-        <translation type="unfinished">Rastgele Labirent</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>Hand-drawn</source>
-        <translation type="unfinished">El Çizimi</translation>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
     <name>SeedPrompt</name>
     <message>
         <source>The map seed is the basis for all random values generated by the game.</source>
-        <translation type="unfinished">Harita beslemesi, oyun tarafından oluşturulan tüm rastgele değerler için bir tabandır.</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>Cancel</source>
@@ -2429,30 +2419,30 @@
     </message>
     <message>
         <source>Set seed</source>
-        <translation type="unfinished">Besleme ayarla</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>Close</source>
-        <translation type="unfinished">Kapat</translation>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
     <name>SelWeaponWidget</name>
     <message>
         <source>Weapon set</source>
-        <translation type="unfinished">Silah seti</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>Probabilities</source>
-        <translation type="unfinished">Olasılıklar</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>Ammo in boxes</source>
-        <translation type="unfinished">Kutulardaki cephane</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>Delays</source>
-        <translation type="unfinished">Gecikmeler</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>new</source>
@@ -2460,7 +2450,7 @@
     </message>
     <message>
         <source>copy of</source>
-        <translation type="unfinished">kopya</translation>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
@@ -2486,7 +2476,7 @@
     <name>TeamShowWidget</name>
     <message>
         <source>%1&apos;s team</source>
-        <translation type="unfinished">%1 takımı</translation>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
@@ -2497,11 +2487,11 @@
     </message>
     <message>
         <source>Search for a theme:</source>
-        <translation type="unfinished">Tema arayın:</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>Use selected theme</source>
-        <translation type="unfinished">Seçili temayı kullan</translation>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
@@ -2628,7 +2618,7 @@
     </message>
     <message>
         <source>change mode</source>
-        <translation>kipi değiştir</translation>
+        <translation>modu değiştir</translation>
     </message>
     <message>
         <source>capture</source>
@@ -2640,23 +2630,23 @@
     </message>
     <message>
         <source>long jump</source>
-        <translation type="unfinished">uzun zıplama</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>high jump</source>
-        <translation type="unfinished">yüksek zıplama</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>zoom in</source>
-        <translation type="unfinished">yakınlaştırma</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>zoom out</source>
-        <translation type="unfinished">uzaklaştırma</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>reset zoom</source>
-        <translation type="unfinished">yakınlaştırmayı sıfırla</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>slot 10</source>
@@ -2664,22 +2654,22 @@
     </message>
     <message>
         <source>mute audio</source>
-        <translation type="unfinished">sesi kapat</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>record</source>
-        <translation type="unfinished">kaydet</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>hedgehog info</source>
-        <translation type="unfinished">kirpi bilgisi</translation>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
     <name>binds (categories)</name>
     <message>
         <source>Movement</source>
-        <translation type="unfinished">Hareket</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>Weapons</source>
@@ -2687,117 +2677,117 @@
     </message>
     <message>
         <source>Camera</source>
-        <translation type="unfinished">Kamera</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>Miscellaneous</source>
-        <translation type="unfinished">Çeşitli</translation>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
     <name>binds (descriptions)</name>
     <message>
         <source>Traverse gaps and obstacles by jumping:</source>
-        <translation type="unfinished">Boşluklardan ve engellerden zıplayarak kaçın:</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>Fire your selected weapon or trigger an utility item:</source>
-        <translation type="unfinished">Seçili silahını ateşle veya bir yardımcı öge tetikle:</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>Pick a weapon or a target location under the cursor:</source>
-        <translation type="unfinished">Bir silah seç veya imleç altında konum işaretle</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>Switch your currently active hog (if possible):</source>
-        <translation type="unfinished">Geçerli kirpiyi değiştir (mümkünse):</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>Pick a weapon or utility item:</source>
-        <translation type="unfinished">Bir silah veya yardımcı öge al:</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>Set the timer on bombs and timed weapons:</source>
-        <translation type="unfinished">Bombalarda ve zamanlı silahlarda zamanlayıcıyı ayarla:</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>Move the camera to the active hog:</source>
-        <translation type="unfinished">Kamerayı etkin kirpiye götür:</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>Move the cursor or camera without using the mouse:</source>
-        <translation type="unfinished">Kamera veya imleci fare kullanmadan hareket ettir</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>Modify the camera&apos;s zoom level:</source>
-        <translation type="unfinished">Kamera yakınlaştırma seviyesini değiştir:</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>Talk to your team or all participants:</source>
-        <translation type="unfinished">Takımla veya tüm katılanlarla konuş</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>Pause, continue or leave your game:</source>
-        <translation type="unfinished">Oyunu beklet, devam et veya oyundan ayrıl</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>Modify the game&apos;s volume while playing:</source>
-        <translation type="unfinished">Oynarken oyunun sesini değiştir:</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>Toggle fullscreen mode:</source>
-        <translation type="unfinished">Tam ekran kipini değiştir:</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>Take a screenshot:</source>
-        <translation type="unfinished">Ekran görüntüsü al:</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>Toggle labels above hedgehogs:</source>
-        <translation type="unfinished">Kirpilerin üzerindeki etiketleri aç/kapat</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>Record video:</source>
-        <translation type="unfinished">Video kaydet:</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>Hedgehog movement</source>
-        <translation type="unfinished">Kirpi hareketi</translation>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
     <name>binds (keys)</name>
     <message>
         <source>Axis</source>
-        <translation type="unfinished">Eksen</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>(Up)</source>
-        <translation type="unfinished">(Yukarı)</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>(Down)</source>
-        <translation type="unfinished">(Aşağı)</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>Hat</source>
-        <translation type="unfinished">Şapka</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>(Left)</source>
-        <translation type="unfinished">(Sol)</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>(Right)</source>
-        <translation type="unfinished">(Sağ)</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>Button</source>
-        <translation type="unfinished">Düğme</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>Keyboard</source>
-        <translation type="unfinished">Klavye</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>Delete</source>
@@ -2805,398 +2795,283 @@
     </message>
     <message>
         <source>Mouse: Left button</source>
-        <translation type="unfinished">Fare: Sol düğme</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>Mouse: Middle button</source>
-        <translation type="unfinished">Fare: Orta düğme</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>Mouse: Right button</source>
-        <translation type="unfinished">Fare: Sağ düğme</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>Mouse: Wheel up</source>
-        <translation type="unfinished">Fare: Tekerlek yukarı</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>Mouse: Wheel down</source>
-        <translation type="unfinished">Fare: Tekerlek aşağı</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>Backspace</source>
-        <translation type="unfinished">Backspace</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>Tab</source>
-        <translation type="unfinished">Sekme</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>Clear</source>
-        <translation type="unfinished">Temizle</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>Return</source>
-        <translation type="unfinished">Enter</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>Pause</source>
-        <translation type="unfinished">Pause</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>Escape</source>
-        <translation type="unfinished">Escape</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>Space</source>
-        <translation type="unfinished">Boşluk</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>Numpad 0</source>
-        <translation type="unfinished">Nümerik 0</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>Numpad 1</source>
-        <translation type="unfinished">Nümerik 1</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>Numpad 2</source>
-        <translation type="unfinished">Nümerik 2</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>Numpad 3</source>
-        <translation type="unfinished">Nümerik 3</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>Numpad 4</source>
-        <translation type="unfinished">Nümerik 4</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>Numpad 5</source>
-        <translation type="unfinished">Nümerik 5</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>Numpad 6</source>
-        <translation type="unfinished">Nümerik 6</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>Numpad 7</source>
-        <translation type="unfinished">Nümerik 7</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>Numpad 8</source>
-        <translation type="unfinished">Nümerik 8</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>Numpad 9</source>
-        <translation type="unfinished">Nümerik 9</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>Numpad .</source>
-        <translation type="unfinished">Nümerik .</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>Numpad /</source>
-        <translation type="unfinished">Nümerik /</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>Numpad *</source>
-        <translation type="unfinished">Nümerik *</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>Numpad -</source>
-        <translation type="unfinished">Nümerik -</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>Numpad +</source>
-        <translation type="unfinished">Nümerik +</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>Enter</source>
-        <translation type="unfinished">Enter</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>Equals</source>
-        <translation type="unfinished">Eşittir</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>Up</source>
-        <translation type="unfinished">Yukarı</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>Down</source>
-        <translation type="unfinished">Aşağı</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>Right</source>
-        <translation type="unfinished">Sağ</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>Left</source>
-        <translation type="unfinished">Sol</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>Insert</source>
-        <translation type="unfinished">Ekle</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>Home</source>
-        <translation type="unfinished">Ev</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>End</source>
-        <translation type="unfinished">Son</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>Page up</source>
-        <translation type="unfinished">Sayfa yukarı</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>Page down</source>
-        <translation type="unfinished">Sayfa aşağı</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>Num lock</source>
-        <translation type="unfinished">Nümerik kilit</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>Caps lock</source>
-        <translation type="unfinished">Büyük harf</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>Scroll lock</source>
-        <translation type="unfinished">Kaydırma kilidi</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>Right shift</source>
-        <translation type="unfinished">Sağ üst karakter</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>Left shift</source>
-        <translation type="unfinished">Sol üst karakter</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>Right ctrl</source>
-        <translation type="unfinished">Sağ kontrol</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>Left ctrl</source>
-        <translation type="unfinished">Sol kontrol</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>Right alt</source>
-        <translation type="unfinished">Sağ alt</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>Left alt</source>
-        <translation type="unfinished">Sol alt</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>Right meta</source>
-        <translation type="unfinished">Sağ meta</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>Left meta</source>
-        <translation type="unfinished">Sol meta</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>A button</source>
-        <translation type="unfinished">A düğmesi</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>B button</source>
-        <translation type="unfinished">B düğmesi</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>X button</source>
-        <translation type="unfinished">X düğmesi</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>Y button</source>
-        <translation type="unfinished">Y düğmesi</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>LB button</source>
-        <translation type="unfinished">LB düğmesi</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>RB button</source>
-        <translation type="unfinished">RB düğmesi</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>Back button</source>
-        <translation type="unfinished">Geri düğmesi</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>Start button</source>
-        <translation type="unfinished">Start düğmesi</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>Left stick</source>
-        <translation type="unfinished">Sol çubuk</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>Right stick</source>
-        <translation type="unfinished">Sağ çubuk</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>Left stick (Right)</source>
-        <translation type="unfinished">Sol çubuk (Sağ)</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>Left stick (Left)</source>
-        <translation type="unfinished">Sol çubuk (Sol)</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>Left stick (Down)</source>
-        <translation type="unfinished">Sol çubuk (Aşağı)</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>Left stick (Up)</source>
-        <translation type="unfinished">Sol çubuk (Yukarı)</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>Left trigger</source>
-        <translation type="unfinished">Sol tetik</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>Right trigger</source>
-        <translation type="unfinished">Sağ tetik</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>Right stick (Down)</source>
-        <translation type="unfinished">Sağ çubuk (Aşağı)</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>Right stick (Up)</source>
-        <translation type="unfinished">Sağ çubuk (Yukarı)</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>Right stick (Right)</source>
-        <translation type="unfinished">Sağ çubuk (Sağ)</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>Right stick (Left)</source>
-        <translation type="unfinished">Sağ çubuk (Sol)</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>DPad</source>
-        <translation type="unfinished">DPad</translation>
-    </message>
-</context>
-<context>
-    <name>server</name>
-    <message>
-        <source>Not room master</source>
-        <translation type="unfinished">Oda uzmanı değil</translation>
-    </message>
-    <message>
-        <source>Corrupted hedgehogs info</source>
-        <translation type="unfinished">Bozuk kirpi bilgisi</translation>
-    </message>
-    <message>
-        <source>too many teams</source>
-        <translation type="unfinished">çok fazla takım</translation>
-    </message>
-    <message>
-        <source>too many hedgehogs</source>
-        <translation type="unfinished">çok fazla kirpi</translation>
-    </message>
-    <message>
-        <source>There&apos;s already a team with same name in the list</source>
-        <translation type="unfinished">Listede aynı isimde başka bir takım var</translation>
-    </message>
-    <message>
-        <source>round in progress</source>
-        <translation type="unfinished">tur sürüyor</translation>
-    </message>
-    <message>
-        <source>restricted</source>
-        <translation type="unfinished">kısıtlı</translation>
-    </message>
-    <message>
-        <source>REMOVE_TEAM: no such team</source>
-        <translation type="unfinished">REMOVE_TEAM: böyle bir takım yok</translation>
-    </message>
-    <message>
-        <source>Not team owner!</source>
-        <translation type="unfinished">Takım sahibi değil!</translation>
-    </message>
-    <message>
-        <source>Less than two clans!</source>
-        <translation type="unfinished">İki klandan daha az!</translation>
-    </message>
-    <message>
-        <source>Room with such name already exists</source>
-        <translation type="unfinished">Oda adı zaten mevcut</translation>
-    </message>
-    <message>
-        <source>Nickname already chosen</source>
-        <translation type="unfinished">Takma ad zaten seçilmiş</translation>
-    </message>
-    <message>
-        <source>Illegal nickname</source>
-        <translation type="unfinished">Geçersiz takma ad</translation>
-    </message>
-    <message>
-        <source>Protocol already known</source>
-        <translation type="unfinished">Protokol zaten biliniyor</translation>
-    </message>
-    <message>
-        <source>Bad number</source>
-        <translation type="unfinished">Hatalı sayı</translation>
-    </message>
-    <message>
-        <source>Nickname is already in use</source>
-        <translation type="unfinished">Takma ad zaten kullanımda</translation>
-    </message>
-    <message>
-        <source>No checker rights</source>
-        <translation type="unfinished">Denetim hakları yok</translation>
-    </message>
-    <message>
-        <source>Authentication failed</source>
-        <translation type="unfinished">Kimlik doğrulama başarısız</translation>
-    </message>
-    <message>
-        <source>60 seconds cooldown after kick</source>
-        <translation type="unfinished">Kovulduktan sonra 60 saniye sakinleşme</translation>
-    </message>
-    <message>
-        <source>kicked</source>
-        <translation type="unfinished">kovuldu</translation>
-    </message>
-    <message>
-        <source>Ping timeout</source>
-        <translation type="unfinished">Ping zaman aşımı</translation>
-    </message>
-    <message>
-        <source>bye</source>
-        <translation type="unfinished">hoşça kal</translation>
-    </message>
-    <message>
-        <source>Illegal room name</source>
-        <translation type="unfinished">Geçersiz oda adı</translation>
-    </message>
-    <message>
-        <source>No such room</source>
-        <translation type="unfinished">Böyle bir oda yok</translation>
-    </message>
-    <message>
-        <source>Joining restricted</source>
-        <translation type="unfinished">Katılma kısıtlı</translation>
-    </message>
-    <message>
-        <source>Registered users only</source>
-        <translation type="unfinished">Sadece kayıtlı kullanıcılar</translation>
-    </message>
-    <message>
-        <source>You are banned in this room</source>
-        <translation type="unfinished">Bu odadan engellendiniz</translation>
-    </message>
-    <message>
-        <source>Empty config entry</source>
-        <translation type="unfinished">Boş yapılandırma girdisi</translation>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 </TS>
--- a/share/hedgewars/Data/Locale/hedgewars_uk.ts	Thu Apr 04 14:37:19 2013 +0200
+++ b/share/hedgewars/Data/Locale/hedgewars_uk.ts	Tue Jun 04 22:28:12 2013 +0200
@@ -99,19 +99,19 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Please give us feedback!</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>We are always happy about suggestions, ideas, or bug reports.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>If you found a bug, you can see if it&apos;s already known here (english): </source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Your email address is optional, but we may want to contact you.</source>
+        <source>Send us feedback!</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>If you found a bug, you can see if it&apos;s already been reported here: </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Your email address is optional, but necessary if you want us to get back at you.</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
@@ -264,6 +264,18 @@
         <source>Failed to save StyleSheet to %1</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source>%1 has joined</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>%1 has left</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>%1 has left (%2)</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>HWForm</name>
@@ -363,6 +375,10 @@
 Please wait a few seconds and try again.</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source>This page requires an internet connection.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>HWGame</name>
@@ -482,10 +498,6 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Theme: </source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>Load drawn map</source>
         <translation type="unfinished">Завантажити намальовану мапу</translation>
     </message>
@@ -501,6 +513,10 @@
         <source>Large tunnels</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source>Theme: %1</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>HWNetServersModel</name>
@@ -545,7 +561,7 @@
     </message>
     <message>
         <source>%1 *** %2 has joined</source>
-        <translation>%1 *** %2 приєднався</translation>
+        <translation type="obsolete">%1 *** %2 приєднався</translation>
     </message>
     <message>
         <source>%1 *** %2 has left (%3)</source>
@@ -739,6 +755,17 @@
     </message>
 </context>
 <context>
+    <name>PageDataDownload</name>
+    <message>
+        <source>Loading, please wait.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>This page requires an internet connection.</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
     <name>PageDrawMap</name>
     <message>
         <source>Undo</source>
@@ -886,6 +913,14 @@
             <numerusform></numerusform>
         </translation>
     </message>
+    <message>
+        <source>Play again</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Save</source>
+        <translation type="unfinished">Зберегти</translation>
+    </message>
 </context>
 <context>
     <name>PageInGame</name>
@@ -997,6 +1032,10 @@
 <context>
     <name>PageNetServer</name>
     <message>
+        <source>Click here for details</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
         <source>Insert your address here</source>
         <translation type="unfinished"></translation>
     </message>
@@ -1987,6 +2026,10 @@
         <source>This program is distributed under the %1</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source>This setting will be effective at next restart.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>QLineEdit</name>
@@ -3090,119 +3133,4 @@
         <translation type="unfinished"></translation>
     </message>
 </context>
-<context>
-    <name>server</name>
-    <message>
-        <source>Not room master</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Corrupted hedgehogs info</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>too many teams</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>too many hedgehogs</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>There&apos;s already a team with same name in the list</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>round in progress</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>restricted</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>REMOVE_TEAM: no such team</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Not team owner!</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Less than two clans!</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Room with such name already exists</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Nickname already chosen</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Illegal nickname</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Protocol already known</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Bad number</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Nickname is already in use</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>No checker rights</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Authentication failed</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>60 seconds cooldown after kick</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>kicked</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Ping timeout</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>bye</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Illegal room name</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>No such room</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Joining restricted</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Registered users only</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>You are banned in this room</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Empty config entry</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
 </TS>
--- a/share/hedgewars/Data/Locale/hedgewars_zh_CN.ts	Thu Apr 04 14:37:19 2013 +0200
+++ b/share/hedgewars/Data/Locale/hedgewars_zh_CN.ts	Tue Jun 04 22:28:12 2013 +0200
@@ -97,7 +97,7 @@
 <context>
     <name>DataManager</name>
     <message>
-        <location filename="../../../../QTfrontend/util/DataManager.cpp" line="149"/>
+        <location filename="../../../../QTfrontend/util/DataManager.cpp" line="151"/>
         <source>Use Default</source>
         <translation type="unfinished"></translation>
     </message>
@@ -105,37 +105,37 @@
 <context>
     <name>FeedbackDialog</name>
     <message>
-        <location filename="../../../../QTfrontend/ui/widget/feedbackdialog.cpp" line="87"/>
-        <source>Please give us feedback!</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../../../../QTfrontend/ui/widget/feedbackdialog.cpp" line="88"/>
+        <location filename="../../../../QTfrontend/ui/widget/feedbackdialog.cpp" line="91"/>
         <source>We are always happy about suggestions, ideas, or bug reports.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/ui/widget/feedbackdialog.cpp" line="89"/>
-        <source>If you found a bug, you can see if it&apos;s already known here (english): </source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <location filename="../../../../QTfrontend/ui/widget/feedbackdialog.cpp" line="90"/>
-        <source>Your email address is optional, but we may want to contact you.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../../../../QTfrontend/ui/widget/feedbackdialog.cpp" line="121"/>
+        <source>Send us feedback!</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../../../QTfrontend/ui/widget/feedbackdialog.cpp" line="92"/>
+        <source>If you found a bug, you can see if it&apos;s already been reported here: </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../../../QTfrontend/ui/widget/feedbackdialog.cpp" line="93"/>
+        <source>Your email address is optional, but necessary if you want us to get back at you.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../../../QTfrontend/ui/widget/feedbackdialog.cpp" line="124"/>
         <source>View</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/ui/widget/feedbackdialog.cpp" line="147"/>
+        <location filename="../../../../QTfrontend/ui/widget/feedbackdialog.cpp" line="150"/>
         <source>Cancel</source>
         <translation type="unfinished">取消</translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/ui/widget/feedbackdialog.cpp" line="175"/>
+        <location filename="../../../../QTfrontend/ui/widget/feedbackdialog.cpp" line="178"/>
         <source>Send Feedback</source>
         <translation type="unfinished"></translation>
     </message>
@@ -255,52 +255,67 @@
 <context>
     <name>HWChatWidget</name>
     <message>
-        <location filename="../../../../QTfrontend/ui/widget/chatwidget.cpp" line="641"/>
+        <location filename="../../../../QTfrontend/ui/widget/chatwidget.cpp" line="502"/>
+        <source>%1 has joined</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../../../QTfrontend/ui/widget/chatwidget.cpp" line="523"/>
+        <source>%1 has left</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../../../QTfrontend/ui/widget/chatwidget.cpp" line="525"/>
+        <source>%1 has left (%2)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../../../QTfrontend/ui/widget/chatwidget.cpp" line="652"/>
         <source>%1 has been removed from your ignore list</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/ui/widget/chatwidget.cpp" line="651"/>
+        <location filename="../../../../QTfrontend/ui/widget/chatwidget.cpp" line="662"/>
         <source>%1 has been added to your ignore list</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/ui/widget/chatwidget.cpp" line="681"/>
+        <location filename="../../../../QTfrontend/ui/widget/chatwidget.cpp" line="692"/>
         <source>%1 has been removed from your friends list</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/ui/widget/chatwidget.cpp" line="690"/>
+        <location filename="../../../../QTfrontend/ui/widget/chatwidget.cpp" line="701"/>
         <source>%1 has been added to your friends list</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/ui/widget/chatwidget.cpp" line="756"/>
+        <location filename="../../../../QTfrontend/ui/widget/chatwidget.cpp" line="767"/>
         <source>Stylesheet imported from %1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/ui/widget/chatwidget.cpp" line="757"/>
+        <location filename="../../../../QTfrontend/ui/widget/chatwidget.cpp" line="768"/>
         <source>Enter %1 if you want to use the current StyleSheet in future, enter %2 to reset!</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/ui/widget/chatwidget.cpp" line="765"/>
+        <location filename="../../../../QTfrontend/ui/widget/chatwidget.cpp" line="776"/>
         <source>Couldn&apos;t read %1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/ui/widget/chatwidget.cpp" line="773"/>
+        <location filename="../../../../QTfrontend/ui/widget/chatwidget.cpp" line="784"/>
         <source>StyleSheet discarded</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/ui/widget/chatwidget.cpp" line="797"/>
+        <location filename="../../../../QTfrontend/ui/widget/chatwidget.cpp" line="808"/>
         <source>StyleSheet saved to %1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/ui/widget/chatwidget.cpp" line="800"/>
+        <location filename="../../../../QTfrontend/ui/widget/chatwidget.cpp" line="811"/>
         <source>Failed to save StyleSheet to %1</source>
         <translation type="unfinished"></translation>
     </message>
@@ -318,17 +333,17 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/hwform.cpp" line="632"/>
+        <location filename="../../../../QTfrontend/hwform.cpp" line="636"/>
         <source>Game aborted</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/hwform.cpp" line="1056"/>
+        <location filename="../../../../QTfrontend/hwform.cpp" line="1075"/>
         <source>Hedgewars - Nick registered</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/hwform.cpp" line="1057"/>
+        <location filename="../../../../QTfrontend/hwform.cpp" line="1076"/>
         <source>This nick is registered, and you haven&apos;t specified a password.
 
 If this nick isn&apos;t yours, please register your own nick at www.hedgewars.org
@@ -337,93 +352,98 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/hwform.cpp" line="1085"/>
+        <location filename="../../../../QTfrontend/hwform.cpp" line="1104"/>
         <source>Your nickname is not registered.
 To prevent someone else from using it,
 please register it at www.hedgewars.org</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/hwform.cpp" line="1090"/>
+        <location filename="../../../../QTfrontend/hwform.cpp" line="1109"/>
         <source>
 
 Your password wasn&apos;t saved either.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/hwform.cpp" line="1102"/>
+        <location filename="../../../../QTfrontend/hwform.cpp" line="1121"/>
         <source>Nickname</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/hwform.cpp" line="1102"/>
+        <location filename="../../../../QTfrontend/hwform.cpp" line="1121"/>
         <source>Someone already uses your nickname %1 on the server.
 Please pick another nickname:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/hwform.cpp" line="1107"/>
-        <location filename="../../../../QTfrontend/hwform.cpp" line="1400"/>
+        <location filename="../../../../QTfrontend/hwform.cpp" line="1126"/>
+        <location filename="../../../../QTfrontend/hwform.cpp" line="1435"/>
         <source>No nickname supplied.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/hwform.cpp" line="1107"/>
-        <location filename="../../../../QTfrontend/hwform.cpp" line="1400"/>
+        <location filename="../../../../QTfrontend/hwform.cpp" line="1126"/>
+        <location filename="../../../../QTfrontend/hwform.cpp" line="1435"/>
         <source>Hedgewars - Empty nickname</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/hwform.cpp" line="1133"/>
+        <location filename="../../../../QTfrontend/hwform.cpp" line="1152"/>
         <source>Hedgewars - Wrong password</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/hwform.cpp" line="1133"/>
+        <location filename="../../../../QTfrontend/hwform.cpp" line="1152"/>
         <source>You entered a wrong password.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/hwform.cpp" line="1154"/>
+        <location filename="../../../../QTfrontend/hwform.cpp" line="1173"/>
         <source>Try Again</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/hwform.cpp" line="1515"/>
+        <location filename="../../../../QTfrontend/hwform.cpp" line="1539"/>
         <source>Hedgewars - Connection error</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/hwform.cpp" line="1515"/>
+        <location filename="../../../../QTfrontend/hwform.cpp" line="1539"/>
         <source>You reconnected too fast.
 Please wait a few seconds and try again.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/hwform.cpp" line="1923"/>
+        <location filename="../../../../QTfrontend/hwform.cpp" line="1945"/>
         <source>Hedgewars Demo File</source>
         <comment>File Types</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/hwform.cpp" line="1924"/>
+        <location filename="../../../../QTfrontend/hwform.cpp" line="1946"/>
         <source>Hedgewars Save File</source>
         <comment>File Types</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/hwform.cpp" line="1985"/>
+        <location filename="../../../../QTfrontend/hwform.cpp" line="2007"/>
         <source>Demo name</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/hwform.cpp" line="1985"/>
+        <location filename="../../../../QTfrontend/hwform.cpp" line="2007"/>
         <source>Demo name:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/hwform.cpp" line="1672"/>
-        <location filename="../../../../QTfrontend/hwform.cpp" line="1993"/>
+        <location filename="../../../../QTfrontend/hwform.cpp" line="2075"/>
+        <source>This page requires an internet connection.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../../../QTfrontend/hwform.cpp" line="1696"/>
+        <location filename="../../../../QTfrontend/hwform.cpp" line="2015"/>
         <source>Cannot save record to file %1</source>
         <translation>无法录入文件 %1</translation>
     </message>
@@ -431,13 +451,13 @@
 <context>
     <name>HWGame</name>
     <message>
-        <location filename="../../../../QTfrontend/game.cpp" line="374"/>
+        <location filename="../../../../QTfrontend/game.cpp" line="386"/>
         <location filename="../../../../QTfrontend/net/recorder.cpp" line="112"/>
         <source>en.txt</source>
         <translation>zh_CN.txt</translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/game.cpp" line="415"/>
+        <location filename="../../../../QTfrontend/game.cpp" line="427"/>
         <source>Cannot open demofile %1</source>
         <translation>DEMO %1 打不开</translation>
     </message>
@@ -445,158 +465,158 @@
 <context>
     <name>HWMapContainer</name>
     <message>
-        <location filename="../../../../QTfrontend/ui/widget/mapContainer.cpp" line="217"/>
+        <location filename="../../../../QTfrontend/ui/widget/mapContainer.cpp" line="220"/>
         <source>Small tunnels</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/ui/widget/mapContainer.cpp" line="218"/>
+        <location filename="../../../../QTfrontend/ui/widget/mapContainer.cpp" line="221"/>
         <source>Medium tunnels</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/ui/widget/mapContainer.cpp" line="124"/>
+        <location filename="../../../../QTfrontend/ui/widget/mapContainer.cpp" line="126"/>
         <source>Seed</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/ui/widget/mapContainer.cpp" line="93"/>
+        <location filename="../../../../QTfrontend/ui/widget/mapContainer.cpp" line="94"/>
         <source>Map type:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/ui/widget/mapContainer.cpp" line="96"/>
-        <source>Image map</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <location filename="../../../../QTfrontend/ui/widget/mapContainer.cpp" line="97"/>
-        <source>Mission map</source>
+        <source>Image map</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../../../../QTfrontend/ui/widget/mapContainer.cpp" line="98"/>
-        <source>Hand-drawn</source>
+        <source>Mission map</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../../../../QTfrontend/ui/widget/mapContainer.cpp" line="99"/>
-        <source>Randomly generated</source>
+        <source>Hand-drawn</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../../../../QTfrontend/ui/widget/mapContainer.cpp" line="100"/>
+        <source>Randomly generated</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../../../QTfrontend/ui/widget/mapContainer.cpp" line="101"/>
         <source>Random maze</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/ui/widget/mapContainer.cpp" line="110"/>
+        <location filename="../../../../QTfrontend/ui/widget/mapContainer.cpp" line="111"/>
         <source>Random</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/ui/widget/mapContainer.cpp" line="133"/>
+        <location filename="../../../../QTfrontend/ui/widget/mapContainer.cpp" line="135"/>
         <source>Map preview:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/ui/widget/mapContainer.cpp" line="185"/>
+        <location filename="../../../../QTfrontend/ui/widget/mapContainer.cpp" line="188"/>
         <source>Load map drawing</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/ui/widget/mapContainer.cpp" line="191"/>
+        <location filename="../../../../QTfrontend/ui/widget/mapContainer.cpp" line="194"/>
         <source>Edit map drawing</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/ui/widget/mapContainer.cpp" line="204"/>
-        <source>All</source>
-        <translation>全部</translation>
-    </message>
-    <message>
-        <location filename="../../../../QTfrontend/ui/widget/mapContainer.cpp" line="205"/>
-        <source>Small</source>
-        <translation>小型</translation>
-    </message>
-    <message>
-        <location filename="../../../../QTfrontend/ui/widget/mapContainer.cpp" line="206"/>
-        <source>Medium</source>
-        <translation>中型</translation>
-    </message>
-    <message>
         <location filename="../../../../QTfrontend/ui/widget/mapContainer.cpp" line="207"/>
-        <source>Large</source>
-        <translation>大型</translation>
+        <source>All</source>
+        <translation>全部</translation>
     </message>
     <message>
         <location filename="../../../../QTfrontend/ui/widget/mapContainer.cpp" line="208"/>
-        <source>Cavern</source>
-        <translation>洞穴</translation>
+        <source>Small</source>
+        <translation>小型</translation>
     </message>
     <message>
         <location filename="../../../../QTfrontend/ui/widget/mapContainer.cpp" line="209"/>
+        <source>Medium</source>
+        <translation>中型</translation>
+    </message>
+    <message>
+        <location filename="../../../../QTfrontend/ui/widget/mapContainer.cpp" line="210"/>
+        <source>Large</source>
+        <translation>大型</translation>
+    </message>
+    <message>
+        <location filename="../../../../QTfrontend/ui/widget/mapContainer.cpp" line="211"/>
+        <source>Cavern</source>
+        <translation>洞穴</translation>
+    </message>
+    <message>
+        <location filename="../../../../QTfrontend/ui/widget/mapContainer.cpp" line="212"/>
         <source>Wacky</source>
         <translation>曲折</translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/ui/widget/mapContainer.cpp" line="219"/>
-        <source>Large tunnels</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../../../../QTfrontend/ui/widget/mapContainer.cpp" line="220"/>
-        <source>Small islands</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../../../../QTfrontend/ui/widget/mapContainer.cpp" line="221"/>
-        <source>Medium islands</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <location filename="../../../../QTfrontend/ui/widget/mapContainer.cpp" line="222"/>
+        <source>Large tunnels</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../../../QTfrontend/ui/widget/mapContainer.cpp" line="223"/>
+        <source>Small islands</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../../../QTfrontend/ui/widget/mapContainer.cpp" line="224"/>
+        <source>Medium islands</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../../../QTfrontend/ui/widget/mapContainer.cpp" line="225"/>
         <source>Large islands</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/ui/widget/mapContainer.cpp" line="705"/>
+        <location filename="../../../../QTfrontend/ui/widget/mapContainer.cpp" line="710"/>
         <source>Map size:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/ui/widget/mapContainer.cpp" line="712"/>
+        <location filename="../../../../QTfrontend/ui/widget/mapContainer.cpp" line="717"/>
         <source>Maze style:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/ui/widget/mapContainer.cpp" line="725"/>
+        <location filename="../../../../QTfrontend/ui/widget/mapContainer.cpp" line="730"/>
         <source>Mission:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/ui/widget/mapContainer.cpp" line="735"/>
+        <location filename="../../../../QTfrontend/ui/widget/mapContainer.cpp" line="740"/>
         <source>Map:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/ui/widget/mapContainer.cpp" line="799"/>
-        <location filename="../../../../QTfrontend/ui/widget/mapContainer.cpp" line="930"/>
-        <source>Theme: </source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../../../../QTfrontend/ui/widget/mapContainer.cpp" line="881"/>
+        <location filename="../../../../QTfrontend/ui/widget/mapContainer.cpp" line="804"/>
+        <location filename="../../../../QTfrontend/ui/widget/mapContainer.cpp" line="935"/>
+        <source>Theme: %1</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../../../QTfrontend/ui/widget/mapContainer.cpp" line="886"/>
         <source>Load drawn map</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/ui/widget/mapContainer.cpp" line="881"/>
+        <location filename="../../../../QTfrontend/ui/widget/mapContainer.cpp" line="886"/>
         <source>Drawn Maps</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/ui/widget/mapContainer.cpp" line="881"/>
+        <location filename="../../../../QTfrontend/ui/widget/mapContainer.cpp" line="886"/>
         <source>All files</source>
         <translation type="unfinished"></translation>
     </message>
@@ -647,40 +667,33 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/net/newnetclient.cpp" line="495"/>
-        <source>%1 *** %2 has joined</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../../../../QTfrontend/net/newnetclient.cpp" line="544"/>
-        <location filename="../../../../QTfrontend/net/newnetclient.cpp" line="788"/>
+        <location filename="../../../../QTfrontend/net/newnetclient.cpp" line="797"/>
         <source>%1 *** %2 has left</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/net/newnetclient.cpp" line="546"/>
-        <location filename="../../../../QTfrontend/net/newnetclient.cpp" line="790"/>
+        <location filename="../../../../QTfrontend/net/newnetclient.cpp" line="799"/>
         <source>%1 *** %2 has left (%3)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/net/newnetclient.cpp" line="641"/>
-        <location filename="../../../../QTfrontend/net/newnetclient.cpp" line="773"/>
+        <location filename="../../../../QTfrontend/net/newnetclient.cpp" line="651"/>
+        <location filename="../../../../QTfrontend/net/newnetclient.cpp" line="782"/>
         <source>%1 *** %2 has joined the room</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/hwform.cpp" line="1535"/>
+        <location filename="../../../../QTfrontend/hwform.cpp" line="1559"/>
         <source>Quit reason: </source>
         <translation>退出原因:</translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/net/newnetclient.cpp" line="697"/>
+        <location filename="../../../../QTfrontend/net/newnetclient.cpp" line="707"/>
         <source>Room destroyed</source>
         <translation>房间损坏</translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/net/newnetclient.cpp" line="470"/>
+        <location filename="../../../../QTfrontend/net/newnetclient.cpp" line="484"/>
         <source>You got kicked</source>
         <translation>被踢出</translation>
     </message>
@@ -890,6 +903,19 @@
     </message>
 </context>
 <context>
+    <name>PageDataDownload</name>
+    <message>
+        <location filename="../../../../QTfrontend/ui/page/pagedata.cpp" line="66"/>
+        <source>Loading, please wait.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../../../QTfrontend/ui/page/pagedata.cpp" line="126"/>
+        <source>This page requires an internet connection.</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
     <name>PageDrawMap</name>
     <message>
         <location filename="../../../../QTfrontend/ui/page/pagedrawmap.cpp" line="32"/>
@@ -1010,47 +1036,57 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/ui/page/pagegamestats.cpp" line="174"/>
+        <location filename="../../../../QTfrontend/ui/page/pagegamestats.cpp" line="113"/>
+        <source>Play again</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../../../QTfrontend/ui/page/pagegamestats.cpp" line="118"/>
+        <source>Save</source>
+        <translation type="unfinished">保存</translation>
+    </message>
+    <message>
+        <location filename="../../../../QTfrontend/ui/page/pagegamestats.cpp" line="193"/>
         <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>
     </message>
     <message numerus="yes">
-        <location filename="../../../../QTfrontend/ui/page/pagegamestats.cpp" line="182"/>
+        <location filename="../../../../QTfrontend/ui/page/pagegamestats.cpp" line="201"/>
         <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>
         <translation type="unfinished">
             <numerusform></numerusform>
         </translation>
     </message>
     <message numerus="yes">
-        <location filename="../../../../QTfrontend/ui/page/pagegamestats.cpp" line="189"/>
+        <location filename="../../../../QTfrontend/ui/page/pagegamestats.cpp" line="208"/>
         <source>A total of &lt;b&gt;%1&lt;/b&gt; hedgehog(s) were killed during this round.</source>
         <translation type="unfinished">
             <numerusform></numerusform>
         </translation>
     </message>
     <message numerus="yes">
-        <location filename="../../../../QTfrontend/ui/page/pagegamestats.cpp" line="253"/>
+        <location filename="../../../../QTfrontend/ui/page/pagegamestats.cpp" line="272"/>
         <source>(%1 kill)</source>
         <translation type="unfinished">
             <numerusform></numerusform>
         </translation>
     </message>
     <message numerus="yes">
-        <location filename="../../../../QTfrontend/ui/page/pagegamestats.cpp" line="264"/>
+        <location filename="../../../../QTfrontend/ui/page/pagegamestats.cpp" line="283"/>
         <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>
         </translation>
     </message>
     <message numerus="yes">
-        <location filename="../../../../QTfrontend/ui/page/pagegamestats.cpp" line="272"/>
+        <location filename="../../../../QTfrontend/ui/page/pagegamestats.cpp" line="291"/>
         <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>
         </translation>
     </message>
     <message numerus="yes">
-        <location filename="../../../../QTfrontend/ui/page/pagegamestats.cpp" line="280"/>
+        <location filename="../../../../QTfrontend/ui/page/pagegamestats.cpp" line="299"/>
         <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>
@@ -1149,12 +1185,12 @@
 <context>
     <name>PageMultiplayer</name>
     <message>
-        <location filename="../../../../QTfrontend/ui/page/pagemultiplayer.cpp" line="52"/>
+        <location filename="../../../../QTfrontend/ui/page/pagemultiplayer.cpp" line="50"/>
         <source>Edit game preferences</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/ui/page/pagemultiplayer.cpp" line="64"/>
+        <location filename="../../../../QTfrontend/ui/page/pagemultiplayer.cpp" line="62"/>
         <source>Start</source>
         <translation>开始</translation>
     </message>
@@ -1189,7 +1225,12 @@
 <context>
     <name>PageNetServer</name>
     <message>
-        <location filename="../../../../QTfrontend/ui/page/pagenetserver.cpp" line="128"/>
+        <location filename="../../../../QTfrontend/ui/page/pagenetserver.cpp" line="87"/>
+        <source>Click here for details</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../../../QTfrontend/ui/page/pagenetserver.cpp" line="138"/>
         <source>Insert your address here</source>
         <translation type="unfinished"></translation>
     </message>
@@ -1313,97 +1354,97 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/ui/page/pageoptions.cpp" line="369"/>
+        <location filename="../../../../QTfrontend/ui/page/pageoptions.cpp" line="371"/>
         <source>Frontend</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/ui/page/pageoptions.cpp" line="386"/>
+        <location filename="../../../../QTfrontend/ui/page/pageoptions.cpp" line="388"/>
         <source>Custom colors</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/ui/page/pageoptions.cpp" line="416"/>
+        <location filename="../../../../QTfrontend/ui/page/pageoptions.cpp" line="418"/>
         <source>Reset to default colors</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/ui/page/pageoptions.cpp" line="429"/>
+        <location filename="../../../../QTfrontend/ui/page/pageoptions.cpp" line="431"/>
         <source>Game audio</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/ui/page/pageoptions.cpp" line="467"/>
+        <location filename="../../../../QTfrontend/ui/page/pageoptions.cpp" line="469"/>
         <source>Frontend audio</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/ui/page/pageoptions.cpp" line="490"/>
+        <location filename="../../../../QTfrontend/ui/page/pageoptions.cpp" line="492"/>
         <source>Account</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/ui/page/pageoptions.cpp" line="516"/>
+        <location filename="../../../../QTfrontend/ui/page/pageoptions.cpp" line="518"/>
         <source>Proxy settings</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/ui/page/pageoptions.cpp" line="522"/>
-        <source>Proxy host</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../../../../QTfrontend/ui/page/pageoptions.cpp" line="523"/>
-        <source>Proxy port</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <location filename="../../../../QTfrontend/ui/page/pageoptions.cpp" line="524"/>
-        <source>Proxy login</source>
+        <source>Proxy host</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../../../../QTfrontend/ui/page/pageoptions.cpp" line="525"/>
+        <source>Proxy port</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../../../QTfrontend/ui/page/pageoptions.cpp" line="526"/>
+        <source>Proxy login</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../../../QTfrontend/ui/page/pageoptions.cpp" line="527"/>
         <source>Proxy password</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/ui/page/pageoptions.cpp" line="538"/>
-        <source>No proxy</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../../../../QTfrontend/ui/page/pageoptions.cpp" line="539"/>
-        <source>System proxy settings</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <location filename="../../../../QTfrontend/ui/page/pageoptions.cpp" line="540"/>
-        <source>Socks5 proxy</source>
+        <source>No proxy</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../../../../QTfrontend/ui/page/pageoptions.cpp" line="541"/>
+        <source>System proxy settings</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../../../QTfrontend/ui/page/pageoptions.cpp" line="542"/>
+        <source>Socks5 proxy</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../../../QTfrontend/ui/page/pageoptions.cpp" line="543"/>
         <source>HTTP proxy</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/ui/page/pageoptions.cpp" line="576"/>
+        <location filename="../../../../QTfrontend/ui/page/pageoptions.cpp" line="578"/>
         <source>Miscellaneous</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/ui/page/pageoptions.cpp" line="616"/>
+        <location filename="../../../../QTfrontend/ui/page/pageoptions.cpp" line="624"/>
         <source>Updates</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/ui/page/pageoptions.cpp" line="629"/>
+        <location filename="../../../../QTfrontend/ui/page/pageoptions.cpp" line="637"/>
         <source>Check for updates</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/ui/page/pageoptions.cpp" line="643"/>
+        <location filename="../../../../QTfrontend/ui/page/pageoptions.cpp" line="651"/>
         <source>Video recording options</source>
         <translation type="unfinished"></translation>
     </message>
@@ -1424,42 +1465,42 @@
 <context>
     <name>PageRoomsList</name>
     <message>
-        <location filename="../../../../QTfrontend/ui/page/pageroomslist.cpp" line="63"/>
+        <location filename="../../../../QTfrontend/ui/page/pageroomslist.cpp" line="64"/>
         <source>Search for a room:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/ui/page/pageroomslist.cpp" line="90"/>
+        <location filename="../../../../QTfrontend/ui/page/pageroomslist.cpp" line="91"/>
         <source>Create room</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/ui/page/pageroomslist.cpp" line="94"/>
+        <location filename="../../../../QTfrontend/ui/page/pageroomslist.cpp" line="95"/>
         <source>Join room</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/ui/page/pageroomslist.cpp" line="141"/>
+        <location filename="../../../../QTfrontend/ui/page/pageroomslist.cpp" line="153"/>
         <source>Room state</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/ui/page/pageroomslist.cpp" line="165"/>
+        <location filename="../../../../QTfrontend/ui/page/pageroomslist.cpp" line="177"/>
         <source>Rules:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/ui/page/pageroomslist.cpp" line="179"/>
+        <location filename="../../../../QTfrontend/ui/page/pageroomslist.cpp" line="191"/>
         <source>Weapons:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/ui/page/pageroomslist.cpp" line="190"/>
+        <location filename="../../../../QTfrontend/ui/page/pageroomslist.cpp" line="202"/>
         <source>Clear filters</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/ui/page/pageroomslist.cpp" line="210"/>
+        <location filename="../../../../QTfrontend/ui/page/pageroomslist.cpp" line="222"/>
         <source>Open server administration page</source>
         <translation type="unfinished"></translation>
     </message>
@@ -1472,14 +1513,14 @@
         <translation type="obsolete">加入</translation>
     </message>
     <message numerus="yes">
-        <location filename="../../../../QTfrontend/ui/page/pageroomslist.cpp" line="595"/>
+        <location filename="../../../../QTfrontend/ui/page/pageroomslist.cpp" line="609"/>
         <source>%1 players online</source>
         <translation type="unfinished">
             <numerusform></numerusform>
         </translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/ui/page/pageroomslist.cpp" line="208"/>
+        <location filename="../../../../QTfrontend/ui/page/pageroomslist.cpp" line="220"/>
         <source>Admin features</source>
         <translation>管理员功能</translation>
     </message>
@@ -1806,33 +1847,33 @@
     </message>
     <message>
         <location filename="../../../../QTfrontend/ui/widget/chatwidget.cpp" line="269"/>
-        <location filename="../../../../QTfrontend/ui/widget/chatwidget.cpp" line="874"/>
+        <location filename="../../../../QTfrontend/ui/widget/chatwidget.cpp" line="885"/>
         <source>Ignore</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../../../../QTfrontend/ui/widget/chatwidget.cpp" line="273"/>
-        <location filename="../../../../QTfrontend/ui/widget/chatwidget.cpp" line="886"/>
+        <location filename="../../../../QTfrontend/ui/widget/chatwidget.cpp" line="897"/>
         <source>Add friend</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/ui/widget/chatwidget.cpp" line="869"/>
+        <location filename="../../../../QTfrontend/ui/widget/chatwidget.cpp" line="880"/>
         <source>Unignore</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/ui/widget/chatwidget.cpp" line="881"/>
+        <location filename="../../../../QTfrontend/ui/widget/chatwidget.cpp" line="892"/>
         <source>Remove friend</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/ui/page/pageroomslist.cpp" line="150"/>
+        <location filename="../../../../QTfrontend/ui/page/pageroomslist.cpp" line="162"/>
         <source>Show games in lobby</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/ui/page/pageroomslist.cpp" line="153"/>
+        <location filename="../../../../QTfrontend/ui/page/pageroomslist.cpp" line="165"/>
         <source>Show games in-progress</source>
         <translation type="unfinished"></translation>
     </message>
@@ -1840,75 +1881,75 @@
 <context>
     <name>QCheckBox</name>
     <message>
-        <location filename="../../../../QTfrontend/ui/page/pageoptions.cpp" line="375"/>
+        <location filename="../../../../QTfrontend/ui/page/pageoptions.cpp" line="377"/>
         <source>Fullscreen</source>
         <translation>游戏全屏幕</translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/ui/page/pageoptions.cpp" line="347"/>
+        <location filename="../../../../QTfrontend/ui/page/pageoptions.cpp" line="349"/>
         <source>Show FPS</source>
         <translation>显示帧率 (FPS)</translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/ui/page/pageoptions.cpp" line="358"/>
+        <location filename="../../../../QTfrontend/ui/page/pageoptions.cpp" line="360"/>
         <source>Alternative damage show</source>
         <translation>另一种伤害显示方式</translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/ui/page/pageoptions.cpp" line="381"/>
+        <location filename="../../../../QTfrontend/ui/page/pageoptions.cpp" line="383"/>
         <source>Visual effects</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/ui/page/pageoptions.cpp" line="454"/>
-        <location filename="../../../../QTfrontend/ui/page/pageoptions.cpp" line="471"/>
+        <location filename="../../../../QTfrontend/ui/page/pageoptions.cpp" line="456"/>
+        <location filename="../../../../QTfrontend/ui/page/pageoptions.cpp" line="473"/>
         <source>Sound</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/ui/page/pageoptions.cpp" line="455"/>
+        <location filename="../../../../QTfrontend/ui/page/pageoptions.cpp" line="457"/>
         <source>In-game sound effects</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/ui/page/pageoptions.cpp" line="461"/>
-        <location filename="../../../../QTfrontend/ui/page/pageoptions.cpp" line="476"/>
+        <location filename="../../../../QTfrontend/ui/page/pageoptions.cpp" line="463"/>
+        <location filename="../../../../QTfrontend/ui/page/pageoptions.cpp" line="478"/>
         <source>Music</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/ui/page/pageoptions.cpp" line="462"/>
+        <location filename="../../../../QTfrontend/ui/page/pageoptions.cpp" line="464"/>
         <source>In-game music</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/ui/page/pageoptions.cpp" line="472"/>
+        <location filename="../../../../QTfrontend/ui/page/pageoptions.cpp" line="474"/>
         <source>Frontend sound effects</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/ui/page/pageoptions.cpp" line="477"/>
+        <location filename="../../../../QTfrontend/ui/page/pageoptions.cpp" line="479"/>
         <source>Frontend music</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/ui/page/pageoptions.cpp" line="622"/>
+        <location filename="../../../../QTfrontend/ui/page/pageoptions.cpp" line="630"/>
         <source>Check for updates at startup</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/ui/page/pageoptions.cpp" line="364"/>
+        <location filename="../../../../QTfrontend/ui/page/pageoptions.cpp" line="366"/>
         <source>Show ammo menu tooltips</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/ui/page/pageoptions.cpp" line="602"/>
+        <location filename="../../../../QTfrontend/ui/page/pageoptions.cpp" line="610"/>
         <source>Append date and time to record file name</source>
         <translation>记录名称中包含具体时间日期</translation>
     </message>
     <message>
         <location filename="../../../../QTfrontend/ui/dialog/input_password.cpp" line="55"/>
-        <location filename="../../../../QTfrontend/ui/page/pageoptions.cpp" line="507"/>
+        <location filename="../../../../QTfrontend/ui/page/pageoptions.cpp" line="509"/>
         <source>Save password</source>
         <translation type="unfinished"></translation>
     </message>
@@ -1923,12 +1964,12 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/ui/page/pageoptions.cpp" line="683"/>
+        <location filename="../../../../QTfrontend/ui/page/pageoptions.cpp" line="691"/>
         <source>Record audio</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/ui/page/pageoptions.cpp" line="732"/>
+        <location filename="../../../../QTfrontend/ui/page/pageoptions.cpp" line="740"/>
         <source>Use game resolution</source>
         <translation type="unfinished"></translation>
     </message>
@@ -1951,88 +1992,88 @@
         <translation>Lv 级别</translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/ui/page/pageoptions.cpp" line="588"/>
+        <location filename="../../../../QTfrontend/ui/page/pageoptions.cpp" line="590"/>
         <source>(System default)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/ui/page/pageoptions.cpp" line="311"/>
-        <source>Disabled</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../../../../QTfrontend/ui/page/pageoptions.cpp" line="312"/>
-        <source>Red/Cyan</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <location filename="../../../../QTfrontend/ui/page/pageoptions.cpp" line="313"/>
-        <source>Cyan/Red</source>
+        <source>Disabled</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../../../../QTfrontend/ui/page/pageoptions.cpp" line="314"/>
-        <source>Red/Blue</source>
+        <source>Red/Cyan</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../../../../QTfrontend/ui/page/pageoptions.cpp" line="315"/>
-        <source>Blue/Red</source>
+        <source>Cyan/Red</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../../../../QTfrontend/ui/page/pageoptions.cpp" line="316"/>
-        <source>Red/Green</source>
+        <source>Red/Blue</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../../../../QTfrontend/ui/page/pageoptions.cpp" line="317"/>
+        <source>Blue/Red</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../../../QTfrontend/ui/page/pageoptions.cpp" line="318"/>
+        <source>Red/Green</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../../../QTfrontend/ui/page/pageoptions.cpp" line="319"/>
         <source>Green/Red</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
+        <location filename="../../../../QTfrontend/ui/page/pageoptions.cpp" line="326"/>
+        <source>Side-by-side</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../../../QTfrontend/ui/page/pageoptions.cpp" line="327"/>
+        <source>Top-Bottom</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../../../QTfrontend/ui/page/pageoptions.cpp" line="320"/>
+        <source>Red/Cyan grayscale</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../../../QTfrontend/ui/page/pageoptions.cpp" line="321"/>
+        <source>Cyan/Red grayscale</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../../../QTfrontend/ui/page/pageoptions.cpp" line="322"/>
+        <source>Red/Blue grayscale</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../../../QTfrontend/ui/page/pageoptions.cpp" line="323"/>
+        <source>Blue/Red grayscale</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
         <location filename="../../../../QTfrontend/ui/page/pageoptions.cpp" line="324"/>
-        <source>Side-by-side</source>
+        <source>Red/Green grayscale</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../../../../QTfrontend/ui/page/pageoptions.cpp" line="325"/>
-        <source>Top-Bottom</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../../../../QTfrontend/ui/page/pageoptions.cpp" line="318"/>
-        <source>Red/Cyan grayscale</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../../../../QTfrontend/ui/page/pageoptions.cpp" line="319"/>
-        <source>Cyan/Red grayscale</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../../../../QTfrontend/ui/page/pageoptions.cpp" line="320"/>
-        <source>Red/Blue grayscale</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../../../../QTfrontend/ui/page/pageoptions.cpp" line="321"/>
-        <source>Blue/Red grayscale</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../../../../QTfrontend/ui/page/pageoptions.cpp" line="322"/>
-        <source>Red/Green grayscale</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../../../../QTfrontend/ui/page/pageoptions.cpp" line="323"/>
         <source>Green/Red grayscale</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/ui/page/pageroomslist.cpp" line="199"/>
-        <location filename="../../../../QTfrontend/ui/page/pageroomslist.cpp" line="272"/>
+        <location filename="../../../../QTfrontend/ui/page/pageroomslist.cpp" line="211"/>
+        <location filename="../../../../QTfrontend/ui/page/pageroomslist.cpp" line="286"/>
         <source>Any</source>
         <translation type="unfinished"></translation>
     </message>
@@ -2055,7 +2096,7 @@
         <translation>城堡模式</translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/ui/widget/teamselect.cpp" line="255"/>
+        <location filename="../../../../QTfrontend/ui/widget/teamselect.cpp" line="259"/>
         <source>Playing teams</source>
         <translation>玩家队伍</translation>
     </message>
@@ -2088,22 +2129,27 @@
 <context>
     <name>QLabel</name>
     <message>
-        <location filename="../../../../QTfrontend/ui/page/pageoptions.cpp" line="582"/>
+        <location filename="../../../../QTfrontend/ui/page/pageoptions.cpp" line="584"/>
         <source>Locale</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/ui/page/pageoptions.cpp" line="496"/>
+        <location filename="../../../../QTfrontend/ui/page/pageoptions.cpp" line="498"/>
         <source>Nickname</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/ui/page/pageoptions.cpp" line="708"/>
+        <location filename="../../../../QTfrontend/ui/page/pageoptions.cpp" line="599"/>
+        <source>This setting will be effective at next restart.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../../../QTfrontend/ui/page/pageoptions.cpp" line="716"/>
         <source>Resolution</source>
         <translation>分辨率</translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/ui/page/pageoptions.cpp" line="293"/>
+        <location filename="../../../../QTfrontend/ui/page/pageoptions.cpp" line="295"/>
         <source>Quality</source>
         <translation type="unfinished"></translation>
     </message>
@@ -2123,12 +2169,12 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/ui/page/pageoptions.cpp" line="307"/>
+        <location filename="../../../../QTfrontend/ui/page/pageoptions.cpp" line="309"/>
         <source>Stereo rendering</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/ui/page/pageoptions.cpp" line="338"/>
+        <location filename="../../../../QTfrontend/ui/page/pageoptions.cpp" line="340"/>
         <source>FPS limit</source>
         <translation>FPS 上限</translation>
     </message>
@@ -2172,7 +2218,7 @@
         <translation type="obsolete">版本</translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/ui/page/pageoptions.cpp" line="437"/>
+        <location filename="../../../../QTfrontend/ui/page/pageoptions.cpp" line="439"/>
         <source>Initial sound volume</source>
         <translation>初始音量</translation>
     </message>
@@ -2319,27 +2365,27 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/ui/widget/feedbackdialog.cpp" line="100"/>
+        <location filename="../../../../QTfrontend/ui/widget/feedbackdialog.cpp" line="103"/>
         <source>Your Email</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/ui/widget/feedbackdialog.cpp" line="108"/>
+        <location filename="../../../../QTfrontend/ui/widget/feedbackdialog.cpp" line="111"/>
         <source>Summary</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/ui/widget/feedbackdialog.cpp" line="118"/>
+        <location filename="../../../../QTfrontend/ui/widget/feedbackdialog.cpp" line="121"/>
         <source>Send system information</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/ui/widget/feedbackdialog.cpp" line="133"/>
+        <location filename="../../../../QTfrontend/ui/widget/feedbackdialog.cpp" line="136"/>
         <source>Description</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/ui/widget/feedbackdialog.cpp" line="161"/>
+        <location filename="../../../../QTfrontend/ui/widget/feedbackdialog.cpp" line="164"/>
         <source>Type the security code:</source>
         <translation type="unfinished"></translation>
     </message>
@@ -2354,27 +2400,27 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/ui/page/pageoptions.cpp" line="652"/>
+        <location filename="../../../../QTfrontend/ui/page/pageoptions.cpp" line="660"/>
         <source>Format</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/ui/page/pageoptions.cpp" line="672"/>
+        <location filename="../../../../QTfrontend/ui/page/pageoptions.cpp" line="680"/>
         <source>Audio codec</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/ui/page/pageoptions.cpp" line="697"/>
+        <location filename="../../../../QTfrontend/ui/page/pageoptions.cpp" line="705"/>
         <source>Video codec</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/ui/page/pageoptions.cpp" line="738"/>
+        <location filename="../../../../QTfrontend/ui/page/pageoptions.cpp" line="746"/>
         <source>Framerate</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/ui/page/pageoptions.cpp" line="752"/>
+        <location filename="../../../../QTfrontend/ui/page/pageoptions.cpp" line="760"/>
         <source>Bitrate (Kbps)</source>
         <translation type="unfinished"></translation>
     </message>
@@ -2392,7 +2438,7 @@
 <context>
     <name>QLineEdit</name>
     <message>
-        <location filename="../../../../QTfrontend/hwform.cpp" line="933"/>
+        <location filename="../../../../QTfrontend/hwform.cpp" line="952"/>
         <source>unnamed</source>
         <translation>无名</translation>
     </message>
@@ -2403,7 +2449,7 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/ui/page/pageoptions.cpp" line="501"/>
+        <location filename="../../../../QTfrontend/ui/page/pageoptions.cpp" line="503"/>
         <source>anonymous</source>
         <translation type="unfinished"></translation>
     </message>
@@ -2444,82 +2490,82 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/hwform.cpp" line="962"/>
+        <location filename="../../../../QTfrontend/hwform.cpp" line="981"/>
         <location filename="../../../../QTfrontend/ui/page/pagescheme.cpp" line="500"/>
         <source>Cannot delete default scheme &apos;%1&apos;!</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/hwform.cpp" line="988"/>
+        <location filename="../../../../QTfrontend/hwform.cpp" line="1007"/>
         <source>Please select a record from the list</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/hwform.cpp" line="1083"/>
+        <location filename="../../../../QTfrontend/hwform.cpp" line="1102"/>
         <source>Hedgewars - Nick not registered</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/hwform.cpp" line="1474"/>
+        <location filename="../../../../QTfrontend/hwform.cpp" line="1498"/>
         <source>Unable to start server</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/hwform.cpp" line="1535"/>
+        <location filename="../../../../QTfrontend/hwform.cpp" line="1559"/>
         <source>Connection to server is lost</source>
         <translation>服务器连接丢失</translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/hwform.cpp" line="2021"/>
+        <location filename="../../../../QTfrontend/hwform.cpp" line="2082"/>
         <source>Not all players are ready</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/hwform.cpp" line="2022"/>
+        <location filename="../../../../QTfrontend/hwform.cpp" line="2083"/>
         <source>Are you sure you want to start this game?
 Not all players are ready.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/ui/widget/feedbackdialog.cpp" line="347"/>
+        <location filename="../../../../QTfrontend/ui/widget/feedbackdialog.cpp" line="352"/>
         <location filename="../../../../QTfrontend/util/MessageDialog.cpp" line="24"/>
         <source>Hedgewars - Error</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/ui/widget/feedbackdialog.cpp" line="357"/>
+        <location filename="../../../../QTfrontend/ui/widget/feedbackdialog.cpp" line="362"/>
         <source>System Information Preview</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/ui/widget/feedbackdialog.cpp" line="372"/>
-        <location filename="../../../../QTfrontend/ui/widget/feedbackdialog.cpp" line="383"/>
+        <location filename="../../../../QTfrontend/ui/widget/feedbackdialog.cpp" line="377"/>
+        <location filename="../../../../QTfrontend/ui/widget/feedbackdialog.cpp" line="388"/>
         <source>Failed to generate captcha</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/ui/widget/feedbackdialog.cpp" line="400"/>
+        <location filename="../../../../QTfrontend/ui/widget/feedbackdialog.cpp" line="405"/>
         <source>Failed to download captcha</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/ui/widget/feedbackdialog.cpp" line="464"/>
+        <location filename="../../../../QTfrontend/ui/widget/feedbackdialog.cpp" line="469"/>
         <source>Please fill out all fields. Email is optional.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/hwform.cpp" line="1963"/>
-        <location filename="../../../../QTfrontend/ui/widget/feedbackdialog.cpp" line="434"/>
+        <location filename="../../../../QTfrontend/hwform.cpp" line="1985"/>
+        <location filename="../../../../QTfrontend/ui/widget/feedbackdialog.cpp" line="439"/>
         <source>Hedgewars - Success</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/hwform.cpp" line="1964"/>
+        <location filename="../../../../QTfrontend/hwform.cpp" line="1986"/>
         <source>All file associations have been set</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/hwform.cpp" line="1969"/>
+        <location filename="../../../../QTfrontend/hwform.cpp" line="1991"/>
         <source>File association failed.</source>
         <translation type="unfinished"></translation>
     </message>
@@ -2587,22 +2633,22 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/ui/page/pageroomslist.cpp" line="546"/>
+        <location filename="../../../../QTfrontend/ui/page/pageroomslist.cpp" line="560"/>
         <source>Room Name - Error</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/ui/page/pageroomslist.cpp" line="547"/>
+        <location filename="../../../../QTfrontend/ui/page/pageroomslist.cpp" line="561"/>
         <source>Please select room from the list</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/ui/page/pageroomslist.cpp" line="582"/>
+        <location filename="../../../../QTfrontend/ui/page/pageroomslist.cpp" line="596"/>
         <source>Room Name - Are you sure?</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/ui/page/pageroomslist.cpp" line="583"/>
+        <location filename="../../../../QTfrontend/ui/page/pageroomslist.cpp" line="597"/>
         <source>The game you are trying to join has started.
 Do you still want to join the room?</source>
         <translation type="unfinished"></translation>
@@ -2649,7 +2695,7 @@
     <message>
         <location filename="../../../../QTfrontend/ui/widget/drawmapwidget.cpp" line="101"/>
         <location filename="../../../../QTfrontend/ui/widget/drawmapwidget.cpp" line="121"/>
-        <location filename="../../../../QTfrontend/ui/widget/mapContainer.cpp" line="891"/>
+        <location filename="../../../../QTfrontend/ui/widget/mapContainer.cpp" line="896"/>
         <source>File error</source>
         <translation type="unfinished"></translation>
     </message>
@@ -2660,7 +2706,7 @@
     </message>
     <message>
         <location filename="../../../../QTfrontend/ui/widget/drawmapwidget.cpp" line="122"/>
-        <location filename="../../../../QTfrontend/ui/widget/mapContainer.cpp" line="892"/>
+        <location filename="../../../../QTfrontend/ui/widget/mapContainer.cpp" line="897"/>
         <source>Cannot open &apos;%1&apos; for reading</source>
         <translation type="unfinished"></translation>
     </message>
@@ -2741,12 +2787,12 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/ui/page/pagenetserver.cpp" line="89"/>
+        <location filename="../../../../QTfrontend/ui/page/pagenetserver.cpp" line="99"/>
         <source>Start</source>
         <translation>开始</translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/ui/page/pagenetserver.cpp" line="90"/>
+        <location filename="../../../../QTfrontend/ui/page/pagenetserver.cpp" line="100"/>
         <source>Start private server</source>
         <translation type="unfinished"></translation>
     </message>
@@ -2804,17 +2850,17 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/ui/page/pageoptions.cpp" line="608"/>
+        <location filename="../../../../QTfrontend/ui/page/pageoptions.cpp" line="616"/>
         <source>Associate file extensions</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/ui/page/pageoptions.cpp" line="765"/>
+        <location filename="../../../../QTfrontend/ui/page/pageoptions.cpp" line="773"/>
         <source>Set default options</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/ui/page/pageoptions.cpp" line="766"/>
+        <location filename="../../../../QTfrontend/ui/page/pageoptions.cpp" line="774"/>
         <source>Restore default coding parameters</source>
         <translation type="unfinished"></translation>
     </message>
@@ -3012,7 +3058,7 @@
 <context>
     <name>TeamSelWidget</name>
     <message>
-        <location filename="../../../../QTfrontend/ui/widget/teamselect.cpp" line="260"/>
+        <location filename="../../../../QTfrontend/ui/widget/teamselect.cpp" line="264"/>
         <source>At least two teams are required to play!</source>
         <translation type="unfinished"></translation>
     </message>
@@ -3729,7 +3775,7 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../../QTfrontend/util/DataManager.cpp" line="156"/>
+        <location filename="../../../../QTfrontend/util/DataManager.cpp" line="158"/>
         <source>Keyboard</source>
         <translation type="unfinished"></translation>
     </message>
@@ -3771,147 +3817,4 @@
         <translation type="unfinished"></translation>
     </message>
 </context>
-<context>
-    <name>server</name>
-    <message>
-        <location filename="../../../../QTfrontend/servermessages.h" line="2"/>
-        <source>Not room master</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../../../../QTfrontend/servermessages.h" line="3"/>
-        <source>Corrupted hedgehogs info</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../../../../QTfrontend/servermessages.h" line="4"/>
-        <source>too many teams</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../../../../QTfrontend/servermessages.h" line="5"/>
-        <source>too many hedgehogs</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../../../../QTfrontend/servermessages.h" line="6"/>
-        <source>There&apos;s already a team with same name in the list</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../../../../QTfrontend/servermessages.h" line="7"/>
-        <source>round in progress</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../../../../QTfrontend/servermessages.h" line="8"/>
-        <source>restricted</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../../../../QTfrontend/servermessages.h" line="9"/>
-        <source>REMOVE_TEAM: no such team</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../../../../QTfrontend/servermessages.h" line="10"/>
-        <source>Not team owner!</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../../../../QTfrontend/servermessages.h" line="11"/>
-        <source>Less than two clans!</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../../../../QTfrontend/servermessages.h" line="12"/>
-        <source>Room with such name already exists</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../../../../QTfrontend/servermessages.h" line="13"/>
-        <source>Nickname already chosen</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../../../../QTfrontend/servermessages.h" line="14"/>
-        <source>Illegal nickname</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../../../../QTfrontend/servermessages.h" line="15"/>
-        <source>Protocol already known</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../../../../QTfrontend/servermessages.h" line="16"/>
-        <source>Bad number</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../../../../QTfrontend/servermessages.h" line="17"/>
-        <source>Nickname is already in use</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../../../../QTfrontend/servermessages.h" line="18"/>
-        <source>No checker rights</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../../../../QTfrontend/servermessages.h" line="19"/>
-        <source>Authentication failed</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../../../../QTfrontend/servermessages.h" line="20"/>
-        <source>60 seconds cooldown after kick</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../../../../QTfrontend/servermessages.h" line="21"/>
-        <source>kicked</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../../../../QTfrontend/servermessages.h" line="22"/>
-        <source>Ping timeout</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../../../../QTfrontend/servermessages.h" line="23"/>
-        <source>bye</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../../../../QTfrontend/servermessages.h" line="24"/>
-        <source>Illegal room name</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../../../../QTfrontend/servermessages.h" line="25"/>
-        <source>No such room</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../../../../QTfrontend/servermessages.h" line="26"/>
-        <source>Joining restricted</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../../../../QTfrontend/servermessages.h" line="27"/>
-        <source>Registered users only</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../../../../QTfrontend/servermessages.h" line="28"/>
-        <source>You are banned in this room</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../../../../QTfrontend/servermessages.h" line="29"/>
-        <source>Empty config entry</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
 </TS>
--- a/share/hedgewars/Data/Locale/hedgewars_zh_TW.ts	Thu Apr 04 14:37:19 2013 +0200
+++ b/share/hedgewars/Data/Locale/hedgewars_zh_TW.ts	Tue Jun 04 22:28:12 2013 +0200
@@ -99,19 +99,19 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Please give us feedback!</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>We are always happy about suggestions, ideas, or bug reports.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>If you found a bug, you can see if it&apos;s already known here (english): </source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Your email address is optional, but we may want to contact you.</source>
+        <source>Send us feedback!</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>If you found a bug, you can see if it&apos;s already been reported here: </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Your email address is optional, but necessary if you want us to get back at you.</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
@@ -248,6 +248,18 @@
         <source>Failed to save StyleSheet to %1</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source>%1 has joined</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>%1 has left</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>%1 has left (%2)</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>HWForm</name>
@@ -347,6 +359,10 @@
 Please wait a few seconds and try again.</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source>This page requires an internet connection.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>HWGame</name>
@@ -466,10 +482,6 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Theme: </source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>Load drawn map</source>
         <translation type="unfinished"></translation>
     </message>
@@ -485,6 +497,10 @@
         <source>Large tunnels</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source>Theme: %1</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>HWNetServersModel</name>
@@ -529,7 +545,7 @@
     </message>
     <message>
         <source>%1 *** %2 has joined</source>
-        <translation>%1***%2已經進入</translation>
+        <translation type="obsolete">%1***%2已經進入</translation>
     </message>
     <message>
         <source>%1 *** %2 has left (%3)</source>
@@ -723,6 +739,17 @@
     </message>
 </context>
 <context>
+    <name>PageDataDownload</name>
+    <message>
+        <source>Loading, please wait.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>This page requires an internet connection.</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
     <name>PageDrawMap</name>
     <message>
         <source>Undo</source>
@@ -858,6 +885,14 @@
             <numerusform></numerusform>
         </translation>
     </message>
+    <message>
+        <source>Play again</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Save</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>PageInGame</name>
@@ -969,6 +1004,10 @@
 <context>
     <name>PageNetServer</name>
     <message>
+        <source>Click here for details</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
         <source>Insert your address here</source>
         <translation type="unfinished"></translation>
     </message>
@@ -1943,6 +1982,10 @@
         <source>This program is distributed under the %1</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source>This setting will be effective at next restart.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>QLineEdit</name>
@@ -3043,119 +3086,4 @@
         <translation type="unfinished"></translation>
     </message>
 </context>
-<context>
-    <name>server</name>
-    <message>
-        <source>Not room master</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Corrupted hedgehogs info</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>too many teams</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>too many hedgehogs</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>There&apos;s already a team with same name in the list</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>round in progress</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>restricted</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>REMOVE_TEAM: no such team</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Not team owner!</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Less than two clans!</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Room with such name already exists</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Nickname already chosen</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Illegal nickname</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Protocol already known</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Bad number</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Nickname is already in use</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>No checker rights</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Authentication failed</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>60 seconds cooldown after kick</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>kicked</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Ping timeout</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>bye</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Illegal room name</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>No such room</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Joining restricted</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Registered users only</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>You are banned in this room</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Empty config entry</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
 </TS>
--- a/share/hedgewars/Data/Locale/hu.txt	Thu Apr 04 14:37:19 2013 +0200
+++ b/share/hedgewars/Data/Locale/hu.txt	Tue Jun 04 22:28:12 2013 +0200
@@ -146,7 +146,6 @@
 02:01=%1 Eccot, a delfint játssza
 02:01=%1 meglátogatja Aquaria-t
 02:01=%1 meglelte Atlantiszt
-02:01=%1 a Bioshock 3 főszerepére vágyik
 02:01=A kutyaúszásod még nem tőkéletes, %1
 02:01=%1 hozhatott volna jet ski-t is
 02:01=%1 nem szereti a vízisportokat
--- a/share/hedgewars/Data/Locale/it.txt	Thu Apr 04 14:37:19 2013 +0200
+++ b/share/hedgewars/Data/Locale/it.txt	Tue Jun 04 22:28:12 2013 +0200
@@ -56,7 +56,7 @@
 00:53=Macchina Spazio-Temporale
 ; 00:54=Attrezzi da Costruzione
 00:54=Terreno Spray
-00:55=Congelatore
+00:55=Raggio Congelatore
 00:56=Mannarino
 
 01:00=Combattiamo!
@@ -451,10 +451,10 @@
 03:51=Terreno al 100%
 03:52=NON USATO
 03:53=TARDIS Modello 40
-03:54=(Arma in sviluppo)
-03:55=Utilità di costruzione
-03:56=(Arma in sviluppo)
-03:57=Ecco il grande chef!
+;03:54=(Arma in sviluppo)
+03:54=Utilità di costruzione
+03:55=Arma di ibernazione di massa
+03:56=Ecco il grande chef!
 
 ; Weapon Descriptions (use | as line breaks)
 04:00=Attacca i tuoi nemici con una semplice granata.|Esploderà quando il timer arriverà a zero secondi.|1-5: Imposta il timer della granata|Attacco: Tieni premuto per lanciare con più forza|Mirino di Precisione + 1-5: Imposta livello di rimbalzo
@@ -511,10 +511,10 @@
 04:51=Spingete i nemici in acqua o sopra le mine!|Questa semplice arma non farà molti danni ma|spingerà con forza i nemici che colpisce!|Nei temi Snow e Christmas è una palla di neve!|Attacco: Tieni premuto per lanciare con più forza
 04:52=NON USATO
 04:53=Parti per un'avventura unica attraverso spazio e tempo,|lasciando i tuoi compagni da soli a combattere.|Preparati a ritornare in qualsiasi momento,|o per il Sudden Death o se sei l'ultimo sopravvissuto.|Attenzione! Non è utilizzabile durante il Sudden Death,|se sei rimasto da solo, o se sei il Re.|Attacco: Inzia la tua avventura nello spazio-tempo!
-04:54=DESCRIZIONE NON DISPONIBILE (arma ancora in sviluppo)
-04:55=Con questo terreno spray non ti mancherà mai la terra |sotto ai piedi. Utilissimo per costruire ponti, |seppellire nemici e sigillare tunnel.|Ma fai attenzione a non usarlo a tuo svantaggio!|Attacco: Attiva|Su/Giù: Continua a mirare|Sinistra/Destra: Modifica la potenza di fuoriuscita del terreno
-04:56=DESCRIZIONE NON DISPONIBILE (arma ancora in sviluppo)
-04:57=Lancia due mannarini da cucina verso i tuoi nemici, se |lanciati con potenza possono rappresentare una... tagliente sorpresa!|Ricorda che rimarranno sul terreno dopo averli lanciati!|Attacco: Tieni premuto per lanciare con più forza
+;04:54=DESCRIZIONE NON DISPONIBILE (arma ancora in sviluppo)
+04:54=Con questo terreno spray non ti mancherà mai la terra |sotto ai piedi. Utilissimo per costruire ponti, |seppellire nemici e sigillare tunnel.|Ma fai attenzione a non usarlo a tuo svantaggio!|Attacco: Attiva|Su/Giù: Continua a mirare|Sinistra/Destra: Modifica la potenza di fuoriuscita del terreno
+04:55=L'era glaciale non è mai stata così imminente!|Con questo potente raggio potrai congelare i ricci nemici,|rendere il terreno scivoloso e salvarti dalle cadute|in acqua trasformando il mare in una distesa di ghiaccio!|Attacco: Attiva|Su/Giù: Continua a mirare
+04:56=Lancia due mannarini da cucina verso i tuoi nemici, se |lanciati con potenza possono rappresentare una... tagliente sorpresa!|Ricorda che rimarranno sul terreno dopo averli lanciati!|Attacco: Tieni premuto per lanciare con più forza
 
 ; Game goal strings
 05:00=Modalità di Gioco
--- a/share/hedgewars/Data/Locale/ja.txt	Thu Apr 04 14:37:19 2013 +0200
+++ b/share/hedgewars/Data/Locale/ja.txt	Tue Jun 04 22:28:12 2013 +0200
@@ -177,7 +177,6 @@
 02:01=%1はエコーザのイルカを再生したい
 02:01=%1は水族館を訪問してしまった
 02:01=%1がアトランティスの失われた都市を発見した
-02:01=%1でBioshock3の先導的な役割を目指して
 02:01=あなたの犬のパドルは、少し作業は、%1を使用することができます
 02:01=%1はジェットスキーを持っている必要があります
 02:01=%1はウォータースポーツが好きではありません。
@@ -466,8 +465,8 @@
 03:51=地上で発見
 03:52=UNUSED
 03:53=タイプ40
-03:54=何かを構築
-03:55=ユーティリティ
+;03:54=何かを構築
+03:54=ユーティリティ
 
 ; Weapon Descriptions (use | as line breaks)
 04:00=シンプルな手榴弾を使って敵を攻撃。|そのタイマーがゼロに達するとそれが爆発する。|1-5:セットグレネードのタイマー攻撃:より多くの電力をスローするようにホールド
@@ -524,8 +523,8 @@
 04:51=泥のボールを投げつけることによって自由なショットで取得します。|刺されは、ビット、豚をバックノックする。
 04:52=UNUSED
 04:53=あなたの仲間が単独で戦うために残しながら、時間と空間を介して冒険に出る。|いつでも返すように準備する、または突然死の場合、または、それらはすべて敗北しています。|免責事項。|あなたは一人である場合は、突然死で機能するか、キングである場合ではありません。
-04:54=INCOMPLETE
-04:55=スティッキーフレークのストリームをスプレー。|トンネルを封鎖、敵を埋める、ブリッジを構築します。|あなたが上の任意のを取得しないように注意してください!
+;04:54=INCOMPLETE
+04:54=スティッキーフレークのストリームをスプレー。|トンネルを封鎖、敵を埋める、ブリッジを構築します。|あなたが上の任意のを取得しないように注意してください!
 
 ; Game goal strings
 05:00=ゲームモード
--- a/share/hedgewars/Data/Locale/lt.txt	Thu Apr 04 14:37:19 2013 +0200
+++ b/share/hedgewars/Data/Locale/lt.txt	Tue Jun 04 22:28:12 2013 +0200
@@ -175,7 +175,6 @@
 02:01=%1 nori žaisti delfinus
 02:01=%1 nuejo i Aquaria
 02:01=%1 rado prarasta atlantijos miesta
-02:01=%1 bando pajimti pagrindini vaidmeni Bioshock 3
 02:01=Tavo šuniuko stylius galėtu panaudoti šiek tiek daugiau praktikos, %1
 02:01=%1 galėjo atsinešti laiva
 02:01=%1 nepatinka vandens sportas
@@ -447,7 +446,7 @@
 03:51=Rastas Ant Žemės
 03:52=UNUSED
 03:53=Tipas 40
-03:54=Pastatyk Ka Nors
+;03:54=Pastatyk Ka Nors
 
 ; Weapon Descriptions (use | as line breaks)
 04:00=Atakuok savo priešus su paprasta granata.|Ji sprogs kaip jos laikmatis pasieks nuli.|1-5: Nustatyk granatos laikmati|Ataka: Laikyk kad mestum stipriau
--- a/share/hedgewars/Data/Locale/missions_en.txt	Thu Apr 04 14:37:19 2013 +0200
+++ b/share/hedgewars/Data/Locale/missions_en.txt	Tue Jun 04 22:28:12 2013 +0200
@@ -43,8 +43,11 @@
 User_Mission_-_Rope_Knock_Challenge.name=Challenge: Rope Knocking
 User_Mission_-_Rope_Knock_Challenge.desc="Look behind you!"
 
+User_Mission_-_Nobody_Laugh.name=Mission: Nobody Laugh
+User_Mission_-_Nobody_Laugh.desc="This ain't no joke."
+
 User_Mission_-_RCPlane_Challenge.name=Challenge: RC Plane
 User_Mission_-_RCPlane_Challenge.desc="Feeling pretty confident, eh, flyboy?"
 
-portal.name= Mission: Portal training mission
+portal.name=Mission: Portal Mind Challenge
 portal.desc="Use the portal to move fast and far, use it to kill, use it with caution!"
--- a/share/hedgewars/Data/Locale/missions_fr.txt	Thu Apr 04 14:37:19 2013 +0200
+++ b/share/hedgewars/Data/Locale/missions_fr.txt	Tue Jun 04 22:28:12 2013 +0200
@@ -13,7 +13,7 @@
 Basic_Training_-_Sniper_Rifle.name=Initiation au Sniper
 Basic_Training_-_Sniper_Rifle.desc="Pan ! En pleine tête !"
 
-Basic_Training_-_Rope.name=Initiation à la Corde Ninja
+Basic_Training_-_Rope.name=Initiation au Grappin
 Basic_Training_-_Rope.desc="Bouge de là et Balance toi !"
 
 User_Mission_-_Dangerous_Ducklings.name=Mission: Canards dangereux
@@ -40,8 +40,11 @@
 User_Mission_-_The_Great_Escape.name=Mission: La grande évasion
 User_Mission_-_The_Great_Escape.desc="Tu pense que tu peux me capturer ?!"
 
-User_Mission_-_Rope_Knock_Challenge.name=Challenge: A coup de Corde Ninja
+User_Mission_-_Rope_Knock_Challenge.name=Challenge: A coup de Grappin
 User_Mission_-_Rope_Knock_Challenge.desc="Regarde derrière toi !"
 
 User_Mission_-_RCPlane_Challenge.name=Challenge: Avion télécommandé
-User_Mission_-_RCPlane_Challenge.desc="Plutôt confiant, hein, aviateur ?"
\ No newline at end of file
+User_Mission_-_RCPlane_Challenge.desc="Plutôt confiant, hein, aviateur ?"
+
+portal.name=Portal Casse Tête
+portal.desc="Utilisez le fusil à portail pour voyager loin et rapidemment ou pour tuer ! Utiliser avec prudence !"
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/share/hedgewars/Data/Locale/missions_pt.txt	Tue Jun 04 22:28:12 2013 +0200
@@ -0,0 +1,50 @@
+Basic_Training_-_Bazooka.name=Treino Básico com Bazuca
+Basic_Training_-_Bazooka.desc="Saber utilizar o vento para tua vantagem é a chave!"
+
+Basic_Training_-_Grenade.name=Treino Básico com Granada
+Basic_Training_-_Grenade.desc="Lembra-te, tens de retirar a cavilha E ATIRAR!"
+
+Basic_Training_-_Cluster_Bomb.name=Treino Básico com Bomba de Fragmentos
+Basic_Training_-_Cluster_Bomb.desc="Alguem está a precisar de um duche bem quente!"
+
+Basic_Training_-_Shotgun.name=Treino Básico com Caçadeira
+Basic_Training_-_Shotgun.desc="Dispara primeiro, questiona depois!"
+
+Basic_Training_-_Sniper_Rifle.name=Treino Básico com Sniper
+Basic_Training_-_Sniper_Rifle.desc="Boom, headshot!"
+
+Basic_Training_-_Rope.name=Treino Básico com Corda
+Basic_Training_-_Rope.desc="Get out there and swing!"
+
+User_Mission_-_Dangerous_Ducklings.name=Missão: Dangerous Ducklings
+User_Mission_-_Dangerous_Ducklings.desc="Alright, rookie! Time to put what we learned in Basic Training into practice!"
+
+User_Mission_-_Diver.name=Missão: Diver
+User_Mission_-_Diver.desc="Esta coisa do 'assalto anfíbio' é mais difícil do que parece..."
+
+User_Mission_-_Teamwork.name=Missão: Teamwork
+User_Mission_-_Teamwork.desc="Por vezes, o amor doi."
+
+User_Mission_-_Spooky_Tree.name=Missão: Spooky Tree
+User_Mission_-_Spooky_Tree.desc="Imensas caixas por todo o lado. Só espero que este pássaro não se esteja a sentir com fome."
+
+User_Mission_-_Bamboo_Thicket.name=Missão: Bamboo Thicket
+User_Mission_-_Bamboo_Thicket.desc="Death comes from above."
+
+User_Mission_-_That_Sinking_Feeling.name=Missão: That Sinking Feeling
+User_Mission_-_That_Sinking_Feeling.desc="A água está a subir rapidamente e o tempo é limitado. Muitos tentaram e falharam. Consegues salvá-los todos?"
+
+User_Mission_-_Newton_and_the_Hammock.name=Missão: Newton and the Hammock
+User_Mission_-_Newton_and_the_Hammock.desc="Remember hoglets: The velocity of a body remains constant unless the body is acted upon by an external force!"
+
+User_Mission_-_The_Great_Escape.name=Missão: The Great Escape
+User_Mission_-_The_Great_Escape.desc="Pensas que me consegues enjaular!?"
+
+User_Mission_-_Rope_Knock_Challenge.name=Desafio: Rope Knocking
+User_Mission_-_Rope_Knock_Challenge.desc="Look behind you!"
+
+User_Mission_-_RCPlane_Challenge.name=Desafio: Avião Telecomandado
+User_Mission_-_RCPlane_Challenge.desc="Feeling pretty confident, eh, flyboy?"
+
+portal.name=Missão: Treino com Portais
+portal.desc="Use the portal to move fast and far, use it to kill, use it with caution!"
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/share/hedgewars/Data/Locale/missions_tr.txt	Tue Jun 04 22:28:12 2013 +0200
@@ -0,0 +1,50 @@
+Basic_Training_-_Bazooka.name=Temel Roketatar Eğitimi
+Basic_Training_-_Bazooka.desc="Rüzgarı yararına kullanmak bir anahtar!"
+
+Basic_Training_-_Grenade.name=Temel Bomba Eğitimi
+Basic_Training_-_Grenade.desc="Unutma, pimi çek VE at!"
+
+Basic_Training_-_Cluster_Bomb.name=Temel Parça Tesirli Bomba Eğitimi
+Basic_Training_-_Cluster_Bomb.desc="Birinin sıcak duşa ihtiyacı var!"
+
+Basic_Training_-_Shotgun.name=Temel Tüfek Eğitimi
+Basic_Training_-_Shotgun.desc="Önce atış yap, soruları sonra sor!"
+
+Basic_Training_-_Sniper_Rifle.name=Temel Keskin Nişancı Tüfeği Eğitimi
+Basic_Training_-_Sniper_Rifle.desc="Bum, kafadan!"
+
+Basic_Training_-_Rope.name=Temel Halat Eğitimi
+Basic_Training_-_Rope.desc="Ordan çık ve sallan!"
+
+User_Mission_-_Dangerous_Ducklings.name=Görev: Tehlikeli Ördek Yavruları
+User_Mission_-_Dangerous_Ducklings.desc="Peki acemi! Şimdi Temel Eğitimde öğrendiklerini uygulamanın zamanı!"
+
+User_Mission_-_Diver.name=Görev: Dalıcı
+User_Mission_-_Diver.desc="Bu 'iki yönlü saldırı' göründüğünden daha zor..."
+
+User_Mission_-_Teamwork.name=Görev: Takım Çalışması
+User_Mission_-_Teamwork.desc="Bazen, aşk acıtır."
+
+User_Mission_-_Spooky_Tree.name=Görev: Korkak Ağaç
+User_Mission_-_Spooky_Tree.desc="Burada çok fazla kasa var. Eminim bu kuş aç değildir."
+
+User_Mission_-_Bamboo_Thicket.name=Görev: Bambu Ormanı
+User_Mission_-_Bamboo_Thicket.desc="Ölüm yukardan gelir."
+
+User_Mission_-_That_Sinking_Feeling.name=Görev: Batıyormuş Hissi
+User_Mission_-_That_Sinking_Feeling.desc="Su hızlıca yükseliyor ve zaman kısıtlı. Çoğu denedi ve kaybetti. Hepsini kurtarabilecek misin?"
+
+User_Mission_-_Newton_and_the_Hammock.name=Görev: Newton ve Hamak
+User_Mission_-_Newton_and_the_Hammock.desc="Kirpişleri unutma: Bir vücudun hızı harici bir kuvvetle itilmedikçe sabit kalır!"
+
+User_Mission_-_The_Great_Escape.name=Görev: Büyük Kaçış
+User_Mission_-_The_Great_Escape.desc="Beni hapsedebileceğini mi sanıyorsun!?"
+
+User_Mission_-_Rope_Knock_Challenge.name=Mücadele: Halat Vuruşu
+User_Mission_-_Rope_Knock_Challenge.desc="Arkana bak!"
+
+User_Mission_-_RCPlane_Challenge.name=Mücadele: RC Uçağı
+User_Mission_-_RCPlane_Challenge.desc="Çok emin görünüyorsun değil mi, uçan çocuk?"
+
+portal.name= Görev: Portal eğitim görevi
+portal.desc="Hızlı ve uzak yerlere hareket için portalı kullan, öldürmek için kullan, dikkatli kullan!"
--- a/share/hedgewars/Data/Locale/nl.txt	Thu Apr 04 14:37:19 2013 +0200
+++ b/share/hedgewars/Data/Locale/nl.txt	Tue Jun 04 22:28:12 2013 +0200
@@ -164,7 +164,6 @@
 02:01=%1 wants to play Ecco the dolphin
 02:01=%1 has gone to visit Aquaria
 02:01=%1 has found the lost city of Atlantis
-02:01=%1 aims for the lead role in Bioshock 3
 02:01=Your doggy paddle could use a little work, %1
 02:01=%1 should have brought a jet ski
 02:01=%1 doesn't like watersports
--- a/share/hedgewars/Data/Locale/pl.txt	Thu Apr 04 14:37:19 2013 +0200
+++ b/share/hedgewars/Data/Locale/pl.txt	Tue Jun 04 22:28:12 2013 +0200
@@ -174,7 +174,7 @@
 02:01=%1 śpi z rybami
 02:01=%1 uważa, że fizyka płynów w tej grze jest do bani!
 02:01=%1 wygląda na spragnionego
-02:01=Morze Ciebie wzywa, %1
+02:01=Morze Cię wzywa, %1
 02:01=%1 zaginął na morzu
 02:01=%1 powinien przynieść zestaw do nurkowania
 02:01=%1 ma pogrzeb na morzu
@@ -193,7 +193,6 @@
 02:01=%1 będzie grał w "Uwolnić Orkę"
 02:01=%1 szuka rybek do akwarium!
 02:01=%1 odnalazł Atlantydę!
-02:01=%1 chce być główną postacią w Bioshock 3
 02:01=Trzeba było się uczyć pływać...
 02:01=%1 powinien ze sobą zabrać narty wodne
 02:01=%1 nie lubi sportów wodnych
@@ -287,7 +286,7 @@
 02:05=Dobre życie... w formie skrzyneczki!
 02:05=Ktoś dzwonił po doktora?
 02:05=Świeże bandaże!
-02:05=To pomoże poczuć się Tobie lepiej
+02:05=Po tym poczujesz sie lepiej!
 02:05=Pomniejszy Eliksir Żywotności! Eeee... To chyba nie ta nazwa.
 02:05=Zbierz mnie!
 02:05=Zbierz to!
@@ -310,6 +309,7 @@
 02:05=W Hedgewars opieka zdrowotna naprawdę wymiata!
 02:05=Na zdrowie!
 02:05=Szczepionka!
+02:05=Ostatnio coś niewyraźnie wyglądasz. Weź tę apteczkę!
 
 ; New ammo crate
 02:06=Więcej broni!
@@ -540,8 +540,10 @@
 03:51=Znalezione na ziemi
 03:52=UNUSED
 03:53=Typ 40
-03:54=Zbuduj coś przydatnego
-03:55=Narzędzie
+;03:54=Zbuduj coś przydatnego
+03:54=Narzędzie
+03:55=Przełammy lody!
+03:56=Nie przytnij sobie igieł!
 
 ; Weapon Descriptions (use | as line breaks)
 04:00=Atakuj przeciwników zwykłym granatem.|Wybuchnie kiedy zapalnik skończy odliczanie.|1-5: Ustawia zapalnik|Atak: Przytrzymaj by rzucić z większą siłą
@@ -598,8 +600,10 @@
 04:51=Obrzuć kogoś błotem! Broń ta nie zadaje dużych|obrażeń ale może Gogol zepchnąć z krawędzi!|Atak: Przytrzymaj by strzelić z większą siłą
 04:52=UNUSED
 04:53=Wybierz się na podróż w czasie i przestrzeni|zostawiając inne jeże na polu walki.|Bądź przygotowany na powrót w dowolnym momencie.|Gdy rozpocznie się|Nagła Śmierć lub większość jeży zostanie wybita.|Uwaga. Nie zadziała podczas Nagłej Śmierci,|gdy jesteś sam lub jeśli jesteś Królem.
-04:54=INCOMPLETE
-04:55=Wystrzel strumień kleistej mazi.|Buduj mosty, zasypuj wrogów, zatykaj tunele.|Uważaj by nie zasypać samego siebie!
+;04:54=INCOMPLETE
+04:54=Wystrzel strumień kleistej mazi.|Buduj mosty, zasypuj wrogów, zatykaj tunele.|Uważaj by nie zasypać samego siebie!
+04:55=Epoka lodowcowa powraca!!|Zamroź jeże, uczyń podłoże śliskim lub zapobiegnij|utonięciu zamrażając wodę.|Atak: Strzał
+04:56=Rzuć w przeciwnika dwoma tasakami i zablokuj mu |drogę lub użyj ich do wspinaczki! Jednak uważaj! |Te tasaki są naprawdę ostre!|Atak: Przytrzymaj by rzucić z większą siłą (dwukrotnie)
 
 ; Game goal strings
 05:00=Ustawienia gry
--- a/share/hedgewars/Data/Locale/pt_BR.txt	Thu Apr 04 14:37:19 2013 +0200
+++ b/share/hedgewars/Data/Locale/pt_BR.txt	Tue Jun 04 22:28:12 2013 +0200
@@ -328,8 +328,8 @@
 03:51=Encontrei no chão
 03:52=Sem uso
 03:53=Tipo 40
-03:54=Constrói algo
-03:55=Utilidade
+;03:54=Constrói algo
+03:54=Utilidade
 
 
 ; Weapon Descriptions (use | as line breaks)
@@ -392,8 +392,8 @@
 04:51=Ganhe um tiro de graça, atirando uma bola de barro.|Fará com que o inimigo saia voando|e arde a vista.
 04:52=Sem Uso
 04:53=Viage através do tempo e espaço,|deixando seus camaradas na mão.|Esteja preparado para retornar a qualquer momento,|ou para a Morte Súbita se todos os aliados foram mortos.|Aviso. Não funciona na Morte Súbita,|se você estiversozinho, ou se você for o Rei.
-04:54=INCOMPLETO
-04:55=Atira um jorro de barro pegajoso.|Constrói pontes, enterra inimigos, sela túneis.|Cuidado para que não pegue em você!
+;04:54=INCOMPLETO
+04:54=Atira um jorro de barro pegajoso.|Constrói pontes, enterra inimigos, sela túneis.|Cuidado para que não pegue em você!
 
 ; Game goal strings
 05:00=Modos de Jogo
--- a/share/hedgewars/Data/Locale/pt_PT.lua	Thu Apr 04 14:37:19 2013 +0200
+++ b/share/hedgewars/Data/Locale/pt_PT.lua	Tue Jun 04 22:28:12 2013 +0200
@@ -5,19 +5,19 @@
 	["011101000"] = "011101000", -- A_Classic_Fairytale:dragon
 	["011101001"] = "011101001", -- A_Classic_Fairytale:backstab, A_Classic_Fairytale:dragon, A_Classic_Fairytale:enemy, A_Classic_Fairytale:family, A_Classic_Fairytale:journey, A_Classic_Fairytale:queen, A_Classic_Fairytale:shadow, A_Classic_Fairytale:united
 	["30 minutes later..."] = "30 minutos depois...", -- A_Classic_Fairytale:shadow
---      ["About a month ago, a cyborg came and told us that you're the cannibals!"] = "ácerca de\aproximadamente um mês atrás, um cyborg veio e disse-nos que voces é que eram os cabinais!", -- A_Classic_Fairytale:enemy
+	["About a month ago, a cyborg came and told us that you're the cannibals!"] = "À volta de um mês atrás, apareceu um cyborg e disse-nos que voces é que eram os cabinais!", -- A_Classic_Fairytale:enemy
 	["Accuracy Bonus!"] = "Bónus de Precisão!",
 	["Ace"] = "Ás", -- User_Mission_-_RCPlane_Challenge, User_Mission_-_Rope_Knock_Challenge
 	["Achievement Unlocked"] = "Proeza Desbloqueada", -- User_Mission_-_Bamboo_Thicket, User_Mission_-_That_Sinking_Feeling, Tumbler
 	["???"] = "???", -- A_Classic_Fairytale:backstab
 	["A Classic Fairytale"] = "Um Clássico Conto de Fadas", -- A_Classic_Fairytale:first_blood
---      ["Actually, you aren't worthy of life! Take this..."] = "Pensando melhor, não mereçes viver\a vida que te foi dada\não mereces o ar que respiras! Toma\Pega isto...", -- A_Classic_Fairytale:shadow
+	["Actually, you aren't worthy of life! Take this..."] = "Pensando melhor, não mereçes viver! Toma isto...", -- A_Classic_Fairytale:shadow
 	["A cy-what?"] = "Um cy-quê?", -- A_Classic_Fairytale:enemy
 	["Adventurous"] = "Aventureiro", -- A_Classic_Fairytale:journey
 	["Africa"] = "África", -- Continental_supplies
---      ["After Leaks A Lot betrayed his tribe, he joined the cannibals..."] = "Depois do Leaks A Lot ter traido a sua tribo, ele juntou-se aos canibais...", -- A_Classic_Fairytale:first_blood
+	["After Leaks A Lot betrayed his tribe, he joined the cannibals..."] = "Depois do Leaks A Lot ter traído a sua tribo, ele juntou-se aos canibais...", -- A_Classic_Fairytale:first_blood
 	["After the shock caused by the enemy spy, Leaks A Lot and Dense Cloud went hunting to relax."] = "Depois do choque causado pelo espião inimigo, Leaks A Lot e Nuvem Densa foram caçar para relaxar.", -- A_Classic_Fairytale:shadow
---      ["Again with the 'cannibals' thing!"] = "Outra vez com a cena dos 'canibais'!", -- A_Classic_Fairytale:enemy
+	["Again with the 'cannibals' thing!"] = "Outra vez com a cena dos 'canibais'!", -- A_Classic_Fairytale:enemy
 	["a Hedgewars challenge"] = "um desafio Hedgewars", -- User_Mission_-_RCPlane_Challenge, User_Mission_-_Rope_Knock_Challenge
 	["a Hedgewars mini-game"] = "um mini-jogo Hedgewars", -- Space_Invasion, The_Specialists
 	["Aiming Practice"] = "Pratica a tua pontaria", --Bazooka, Shotgun, SniperRifle
@@ -31,27 +31,27 @@
 	["Ammo is reset at the end of your turn."] = "O armamento é reposto no fim do teu turno.",
 --      ["Ammo Maniac!"] = "",
 	["Ammo"] = "Munições",
---      ["And how am I alive?!"] = "E como (raio) estou eu ainda vivo?!", -- A_Classic_Fairytale:enemy
+	["And how am I alive?!"] = "E como raio estou eu vivo ainda?!", -- A_Classic_Fairytale:enemy
 --      ["And so happenned that Leaks A Lot failed to complete the challenge! He landed, pressured by shame..."] = "", -- A_Classic_Fairytale:first_blood
 	["And so it began..."] = "E assim começou...", -- A_Classic_Fairytale:first_blood
---      ["...and so the cyborgs took over the world..."] = "...e então os cyborgs tomaram conta\apoderaram-se do mundo...", -- A_Classic_Fairytale:shadow
---      ["And so they discovered that cyborgs weren't invulnerable..."] = "", -- A_Classic_Fairytale:journey
---      ["And where's all the weed?"] = "E onde está a erva toda?", -- A_Classic_Fairytale:dragon
---      ["And you believed me? Oh, god, that's cute!"] = "E tu acreditaste em mim? Ai Jesus, tão fofo!", -- A_Classic_Fairytale:journey
+	["...and so the cyborgs took over the world..."] = "...e então os cyborgs apoderaram-se do mundo...", -- A_Classic_Fairytale:shadow
+	["And so they discovered that cyborgs weren't invulnerable..."] = "E então descobriram que os cyborgs não eram invulneráveis...", -- A_Classic_Fairytale:journey
+	["And where's all the weed?"] = "E onde está a erva toda?", -- A_Classic_Fairytale:dragon
+	["And you believed me? Oh, god, that's cute!"] = "E tu acreditaste em mim? Ai meu deus, tão fofo!", -- A_Classic_Fairytale:journey
 --      ["Anno 1032: [The explosion will make a strong push ~ wide range, wont affect hogs close to the target]"] = "", -- Continental_supplies
 	["Antarctica"] = "Antártica", -- Continental_supplies
 	["Are we there yet?"] = "Já chegámos?", -- A_Classic_Fairytale:shadow
 --      ["Are you accusing me of something?"] = "Estás a acusar-me de alguma coisa?", -- A_Classic_Fairytale:backstab
 --      ["Are you saying that many of us have died for your entertainment?"] = "Estás a tentar dizer-me que estas quantidade de nós morreu para o teu entertenimento?", -- A_Classic_Fairytale:enemy
 --      ["Artur Detour"] = "", -- A_Classic_Fairytale:queen
---      ["As a reward for your performance, here's some new technology!"] = "", -- A_Classic_Fairytale:dragon
+	["As a reward for your performance, here's some new technology!"] = "De forma a recompensar o teu desempenho, aqui tens alguma nova tecnologia!", -- A_Classic_Fairytale:dragon
 	["a shoppa minigame"] = "um minijogo shoppa", -- WxW
 	["Asia"] = "Ásia", -- Continental_supplies
 --      ["Assault Team"] = "", -- A_Classic_Fairytale:backstab
---      ["As the ammo is sparse, you might want to reuse ropes while mid-air.|"] = "Como o armamento\munições é escaço, podes querer re-usar as cordas enquanto no ar.|", -- A_Classic_Fairytale:dragon
+	["As the ammo is sparse, you might want to reuse ropes while mid-air.|"] = "Como o armamento está muito disperso, podes querer reutilizar a corda enquanto no ar.|", -- A_Classic_Fairytale:dragon
 --      ["As the challenge was completed, Leaks A Lot set foot on the ground..."] = "", -- A_Classic_Fairytale:first_blood
---      ["As you can see, there is no way to get on the other side!"] = "", -- A_Classic_Fairytale:dragon
---      ["Attack From Rope"] = "", -- WxW
+	["As you can see, there is no way to get on the other side!"] = "Como podes ver, não existe forma de passarmos para o outro lado!", -- A_Classic_Fairytale:dragon
+	["Attack From Rope"] = "Ataca Da Corda", -- WxW
 	["Australia"] = "Austrália", -- Continental_supplies
 --      ["Available points remaining: "] = "Pontos activos restantes: ",
 --      ["Back Breaker"] = "Parte Costas", -- A_Classic_Fairytale:backstab
@@ -136,7 +136,7 @@
 --      ["Corpse Thrower"] = "", -- A_Classic_Fairytale:epil
 --      ["Crates Left:"] = "", -- User_Mission_-_RCPlane_Challenge
 	["Cybernetic Empire"] = "Império Cibernético",
---      ["Cyborg. It's what the aliens call themselves."] = "Cyborg. É o que os extra terrestres se chamam a eles mesmos(errrr)", -- A_Classic_Fairytale:enemy
+--      ["Cyborg. It's what the aliens call themselves."] = "Cyborg. É o que os extra terrestres se chamam a eles mesmos(errrr)\autointitulam", -- A_Classic_Fairytale:enemy
 --      ["Dahmer"] = "", -- A_Classic_Fairytale:backstab
 --      ["DAMMIT, ROOKIE!"] = "",
 --      ["DAMMIT, ROOKIE! GET OFF MY HEAD!"] = "",
@@ -147,7 +147,7 @@
 --      ["Defeat the cannibals!|Grenade hint: set the timer with [1-5], aim with [Up]/[Down] and hold [Space] to set power"] = "", -- A_Classic_Fairytale:shadow
 --      ["Defeat the cyborgs!"] = "", -- A_Classic_Fairytale:enemy
 --      ["Defend yourself!|Hint: You can get tips on using weapons by moving your mouse over them in the weapon selection menu"] = "", -- A_Classic_Fairytale:shadow
---      ["Demolition is fun!"] = "Demolir é divertido!",
+	["Demolition is fun!"] = "Demolir é divertido!",
 	["Dense Cloud"] = "Nuvem Densa", -- A_Classic_Fairytale:backstab, A_Classic_Fairytale:dragon, A_Classic_Fairytale:enemy, A_Classic_Fairytale:epil, A_Classic_Fairytale:family, A_Classic_Fairytale:journey, A_Classic_Fairytale:queen, A_Classic_Fairytale:shadow, A_Classic_Fairytale:united
 	["Dense Cloud must have already told them everything..."] = "O Nuvem Densa já lhes deve ter dito tudo...", -- A_Classic_Fairytale:shadow
 --      ["Depleted Kamikaze!"] = "",
@@ -155,10 +155,10 @@
 --      ["Destroy invaders to score points."] = "",
 --      ["Destroy the targets!|Hint: Select the Shoryuken and hit [Space]|P.S. You can use it mid-air."] = "", -- A_Classic_Fairytale:first_blood
 --      ["Destroy the targets!|Hint: [Up], [Down] to aim, [Space] to shoot"] = "", -- A_Classic_Fairytale:first_blood
---      ["Did anyone follow you?"] = "", -- A_Classic_Fairytale:united
+	["Did anyone follow you?"] = "Foste seguido por alguém?", -- A_Classic_Fairytale:united
 --      ["Did you see him coming?"] = "", -- A_Classic_Fairytale:shadow
---      ["Did you warn the village?"] = "", -- A_Classic_Fairytale:shadow
---      ["Die, die, die!"] = "", -- A_Classic_Fairytale:dragon
+	["Did you warn the village?"] = "Avisaste a aldeia?", -- A_Classic_Fairytale:shadow
+	["Die, die, die!"] = "Morre, morre, morre!", -- A_Classic_Fairytale:dragon
 --      ["Disguise as a Rockhopper Penguin: [Swap place with a random enemy hog in the circle]"] = "", -- Continental_supplies
 --      ["Dist: "] = "", -- Space_Invasion
 --      ["Do not laugh, inexperienced one, for he speaks the truth!"] = "", -- A_Classic_Fairytale:backstab
@@ -324,11 +324,11 @@
 --      ["Hint: you might want to stay out of sight and take all the crates...|"] = "", -- A_Classic_Fairytale:journey
 --      ["His arms are so strong!"] = "Os braços dele são tão fortes!", -- A_Classic_Fairytale:first_blood
 --      ["Hit Combo!"] = "",
---      ["Hmmm...actually...I didn't either."] = "", -- A_Classic_Fairytale:enemy
+	["Hmmm...actually...I didn't either."] = "Hmmm...na verdade...uu também não fazia ideia.", -- A_Classic_Fairytale:enemy
 	["Hmmm..."] = "Hmmm...",
 --      ["Hmmm, I'll have to find some way of moving him off this anti-portal surface..."] = "", -- portal
 	["Hmmm...it's a draw. How unfortunate!"] = "Hmmm...é um empate. Que azar!", -- A_Classic_Fairytale:enemy
---      ["Hmmm...perhaps a little more time will help."] = "", -- A_Classic_Fairytale:first_blood
+	["Hmmm...perhaps a little more time will help."] = "Hmmm...talvez um pouco mais de tempo ajude.", -- A_Classic_Fairytale:first_blood
 --      ["Hogminator"] = "", -- A_Classic_Fairytale:family
 --      ["Hogs in sight!"] = "", -- Continental_supplies
 --      ["HOLY SHYTE!"] = "", -- Mutant
@@ -337,7 +337,7 @@
 --      ["Hostage Situation"] = "", -- A_Classic_Fairytale:family
 --      ["How can I ever repay you for saving my life?"] = "Como posso eu (possivelmente) recompensar-te por teres salvo a minha vida?", -- A_Classic_Fairytale:journey
 --      ["How come in a village full of warriors, it's up to me to save it?"] = "", -- A_Classic_Fairytale:dragon
---      ["How difficult would you like it to be?"] = "", -- A_Classic_Fairytale:first_blood
+	["How difficult would you like it to be?"] = "Quão difícil gostarias que fosse?", -- A_Classic_Fairytale:first_blood
 --      ["HOW DO THEY KNOW WHERE WE ARE???"] = "", -- A_Classic_Fairytale:united
 --      ["However, if you fail to do so, she dies a most violent death, just like your friend! Muahahaha!"] = "", -- A_Classic_Fairytale:journey
 --      ["However, if you fail to do so, she dies a most violent death! Muahahaha!"] = "", -- A_Classic_Fairytale:journey
@@ -779,7 +779,7 @@
 	["TIME: "] = "TEMPO: ",
 --      ["Tip: The rope physics are different than in the real world, |use it to your advantage!"] = "", -- Basic_Training_-_Rope
 	["Toggle Shield"] = "Ligar\Desligar Escudo",
---      ["To help you, of course!"] = "", -- A_Classic_Fairytale:journey
+	["To help you, of course!"] = "Para te ajudar claro!", -- A_Classic_Fairytale:journey
 --      ["To place a girder, select it, use [Left] and [Right] to select angle and length, place with [Left Click]"] = "", -- A_Classic_Fairytale:shadow
 --      ["Torn Muscle"] = "", -- A_Classic_Fairytale:journey
 --      [" to save the village."] = "", -- A_Classic_Fairytale:dragon
@@ -848,14 +848,14 @@
 --      ["We have to unite and defeat those cylergs!"] = "Temos de nos unir e derrotar estes ciber-pernudos!", -- A_Classic_Fairytale:enemy
 	["Welcome, Leaks A Lot!"] = "Bem vindo, Leaks a Lot!", -- A_Classic_Fairytale:journey
 	["Well done."] = "Bom trabalho.",
---      ["We'll give you a problem then!"] = "", -- A_Classic_Fairytale:enemy
+	["We'll give you a problem then!"] = "Nós arranjamos-te um problema então!", -- A_Classic_Fairytale:enemy
 --      ["We'll spare your life for now!"] = "Vamos poupar a tua vida para ja!", -- A_Classic_Fairytale:backstab
 --      ["Well, that was a waste of time."] = "Bem, isto foi um desperdicio de tempo.", -- A_Classic_Fairytale:dragon
---      ["Well, well! Isn't that the cutest thing you've ever seen?"] = "", -- A_Classic_Fairytale:journey
---      ["Well, yes. This was a cyborg television show."] = "Bem, claro. Isto era um programa de televisão para cyborgs.", -- A_Classic_Fairytale:enemy
---      ["We made sure noone followed us!"] = "Certificamo-nos que ninguem nos seguiu!", -- A_Classic_Fairytale:backstab
---      ["We need to move!"] = "Temos de nos mover!", -- A_Classic_Fairytale:united
---      ["We need to prevent their arrival!"] = "Temos de prevenir que cheguem!", -- A_Classic_Fairytale:backstab
+--      ["Well, well! Isn't that the cutest thing you've ever seen?"] = "Bem, bem! Não isto é coisa mais fofa que já alguma vez viste?", -- A_Classic_Fairytale:journey
+	["Well, yes. This was a cyborg television show."] = "Bem, claro. Isto era um programa de televisão para cyborgs.", -- A_Classic_Fairytale:enemy
+	["We made sure noone followed us!"] = "Certificá-mo-nos que ninguém nos seguiu! que ninguem nos seguiu!", -- A_Classic_Fairytale:backstab
+	["We need to move!"] = "Temos de ir!", -- A_Classic_Fairytale:united
+--      ["We need to prevent their arrival!"] = "Temos de prevenir a sua chegada!", -- A_Classic_Fairytale:backstab
 	["We need to warn the village."] = "Temos de avisar a aldeia.", -- A_Classic_Fairytale:shadow
 --      ["We should head back to the village now."] = "", -- A_Classic_Fairytale:shadow
 --      ["We were trying to save her and we got lost."] = "Estavamos a tentar salva-la e acabamos por nos perder.", -- A_Classic_Fairytale:family
@@ -863,18 +863,18 @@
 --      ["What?! A cannibal? Here? There is no time to waste! Come, you are prepared."] = "O quê? Um canibal? Aqui? Não ha tempo a perder! Vem, estás preparado.", -- A_Classic_Fairytale:first_blood
 	["What a douche!"] = "Que otário!", -- A_Classic_Fairytale:enemy
 --      ["What am I gonna...eat, yo?"] = "", -- A_Classic_Fairytale:family
---      ["What are you doing at a distance so great, young one?"] = "O que estás a tão grande distancia, jovem?", -- A_Classic_Fairytale:first_blood
+--      ["What are you doing at a distance so great, young one?"] = "O que estás a fazer a tão grande distancia, jovem?", -- A_Classic_Fairytale:first_blood
 --      ["What are you doing? Let her go!"] = "Que estás a fazer? Larga-a!", -- A_Classic_Fairytale:journey
 	["What a ride!"] = "Que viagem!", -- A_Classic_Fairytale:shadow
 	["What a strange cave!"] = "Que caverna estranha!", -- A_Classic_Fairytale:dragon
---      ["What a strange feeling!"] = "", -- A_Classic_Fairytale:backstab
+--      ["What a strange feeling!"] = "Tenho um mau persentimento!", -- A_Classic_Fairytale:backstab
 	["What do my faulty eyes observe? A spy!"] = "O que vêm observam os meus defeituoso olhos? Um espião!", -- A_Classic_Fairytale:first_blood
 --      ["Whatever floats your boat..."] = "O que quer que seja que faz o teu barco flutuar... (preciso melhor expressão verdadeiramente portuguesa)", -- A_Classic_Fairytale:shadow
 	[" What !! For all of this struggle i just win some ... TIME o0"] = " O quê !! Por todo este esforço tudo o que ganho é ... TEMPO o0", -- portal
 --      ["What has "] = "Foi aquilo ", -- A_Classic_Fairytale:backstab
 	["What? Here? How did they find us?!"] = "O quê? Aqui? Como raio nos encontraram?!", -- A_Classic_Fairytale:backstab
 --      ["What is this place?"] = "O que é este sitio?\Que (raio de) sitio é este?", -- A_Classic_Fairytale:dragon, A_Classic_Fairytale:enemy
---      ["What shall we do with the traitor?"] = "O que fazemos com o traidor?", -- A_Classic_Fairytale:backstab
+	["What shall we do with the traitor?"] = "O que fazemos com o traidor?", -- A_Classic_Fairytale:backstab
 --      ["WHAT?! You're the ones attacking us!"] = "O QUÊ?! Voces é que nos atacaram\estão a atacar!", -- A_Classic_Fairytale:enemy
 	["When?"] = "Quando?", -- A_Classic_Fairytale:enemy
 	["When I find it..."] = "Quando o encontrar...", -- A_Classic_Fairytale:dragon
--- a/share/hedgewars/Data/Locale/pt_PT.txt	Thu Apr 04 14:37:19 2013 +0200
+++ b/share/hedgewars/Data/Locale/pt_PT.txt	Tue Jun 04 22:28:12 2013 +0200
@@ -78,7 +78,7 @@
 01:16=Pouco
 01:17=Normal
 01:18=Muito
-01:19=Excessivo
+01:19=Imenso
 01:20=Ressalto: %1
 01:21=Áudio Silenciado
 
@@ -178,7 +178,6 @@
 02:01=%1 foi brincar com os golfinhos
 02:01=%1 foi visitar o Oceanário
 02:01=%1 encontrou a Atlântida perdida
-02:01=%1 inscreve-se no papel principal do Bioshock 3
 02:01=O teu pato insuflável ficou triste %1
 02:01=%1 devia ter comprado uma mota de água
 02:01=%1 não gosta de desportos náuticos
@@ -450,8 +449,8 @@
 03:51=Encontrado no chão
 03:52=UNUSED
 03:53=Modelo 40
-03:54=Constroi qualquer coisa
-03:55=Utilitário
+;03:54=Constroi qualquer coisa
+03:54=Utilitário
 
 ; Weapon Descriptions (use | as line breaks)
 04:00=Ataca os teus inimigos usando uma simples granada.|Explodirá quando o tempo chegar a zero.|1-5: Define o temporizador da granada|Ataque: Deixa premido para lançar com mais força
@@ -508,8 +507,8 @@
 04:51=Empurra um ouriço sem perder o turno|criando uma bola de lama tu mesmo!
 04:52=UNUSED
 04:53=Parte numa aventura pelo tempo e espaço,|deixando os teus colegas para se defenderem sozinhos.|Está preparado para regressar a qualquer altura,|para Morte Súbita ou se todos forem derrotados.|Atenção: Não funciona em Morte Súbita,|se estiveres sozinho, ou se fores o Rei.
-04:54=INCOMPLETO
-04:55=Aplica estas particulas de terreno em spray onde quiseres.|Constroi pontes, enterra inimigos ou fecha túneis.|Tem apenas cuidado, não o uses em ti proprio!
+;04:54=INCOMPLETO
+04:54=Aplica estas particulas de terreno em spray onde quiseres.|Constroi pontes, enterra inimigos ou fecha túneis.|Tem apenas cuidado, não o uses em ti proprio!
 
 ; Game goal strings
 05:00=Modos de Jogo
--- a/share/hedgewars/Data/Locale/ro.txt	Thu Apr 04 14:37:19 2013 +0200
+++ b/share/hedgewars/Data/Locale/ro.txt	Tue Jun 04 22:28:12 2013 +0200
@@ -175,7 +175,6 @@
 02:01=%1 wants to play Ecco the dolphin
 02:01=%1 has gone to visit Aquaria
 02:01=%1 has found the lost city of Atlantis
-02:01=%1 aims for the lead role in Bioshock 3
 02:01=Your doggy paddle could use a little work, %1
 02:01=%1 should have brought a jet ski
 02:01=%1 doesn't like watersports
@@ -447,8 +446,8 @@
 03:51=Found on the ground
 03:52=UNUSED
 03:53=Type 40
-03:54=Build something
-03:55=Utility
+;03:54=Build something
+03:54=Utility
 
 ; Weapon Descriptions (use | as line breaks)
 04:00=Attack your enemies using a simple grenade.|It will explode once its timer reaches zero.|1-5: Set grenade's timer|Attack: Hold to throw with more power
@@ -505,8 +504,8 @@
 04:51=Get in a free shot by hurling a ball of mud.|Stings a bit, and knocks hogs back.
 04:52=UNUSED
 04:53=Go on an adventure through time and space,|while leaving your comrades to fight on alone.|Be prepared to return at any time,|or for Sudden Death or if they are all defeated.|Disclaimer. Does not function in Sudden Death,|if you are alone, or if you are a King.
-04:54=INCOMPLETE
-04:55=Spray a stream of sticky flakes.|Build bridges, bury enemies, seal off tunnels.|Be careful you don't get any on you!
+;04:54=INCOMPLETE
+04:54=Spray a stream of sticky flakes.|Build bridges, bury enemies, seal off tunnels.|Be careful you don't get any on you!
 
 ; Game goal strings
 05:00=Game Modes
--- a/share/hedgewars/Data/Locale/ru.txt	Thu Apr 04 14:37:19 2013 +0200
+++ b/share/hedgewars/Data/Locale/ru.txt	Tue Jun 04 22:28:12 2013 +0200
@@ -177,7 +177,6 @@
 02:01=%1 хочет поиграть в Ecco the Dolphin
 02:01=%1 пошел посмотреть аквариум
 02:01=%1 нашёл потерянный город Атлантиды
-02:01=%1 стремится к главной роли в игре Bioshock 3
 02:01=Твое плаванье по-собачьи принесло мало пользы, %1
 02:01=%1 забыл взять гидроцикл
 02:01=%1 не любит водный спорт
@@ -450,8 +449,8 @@
 03:51=Найденный на земле
 03:52=Не используется
 03:53=Модель 40
-03:54=Построй что нибудь
-03:55=Полезная вещь
+;03:54=Построй что нибудь
+03:54=Полезная вещь
 
 ; Weapon Descriptions (use | as line breaks)
 04:00=Атакуй своих врагов обычной гранатой.|Она взорвется сразу, как только таймер|достигнет нуля.|1-5: Установить таймер гранаты|Атака: Удерживай для более дальнего броска
--- a/share/hedgewars/Data/Locale/sk.txt	Thu Apr 04 14:37:19 2013 +0200
+++ b/share/hedgewars/Data/Locale/sk.txt	Tue Jun 04 22:28:12 2013 +0200
@@ -269,8 +269,8 @@
 03:51=Nájdené na zemi
 03:52=NEPOUŽÍVANÉ
 03:53=Typ 40
-03:54=Postavte niečo
-03:55=Pomôcka
+;03:54=Postavte niečo
+03:54=Pomôcka
 
 ; Popis zbraní (ako oddeľovač riadkov použite |)
 04:00=Zaútočte na vašich nepriateľov obyčajným granátom.|Vybuchne vtedy, keď vyprší časomiera.|1‐5: Nastavenie časovača granátu|Útok: Držanie tlačidla zvyšuje silu hodu|
@@ -327,8 +327,8 @@
 04:51=Nemíňajte muníciu - hod blatom je zdarma.|Trošku štípe a dokáže ježka zhodiť.
 04:52=NEPOUŽITÉ
 04:53=Vyberte sa na cestu časom a priestorom|a nechajte vašich priateľov bojovať bez vás.|Buďte pripravený vrátiť sa kedykoľvek,|buď pri Náhlej smrti alebo keď sú všetci porazení.|Poznámka: Nefunguje počas Náhlej smrti,|ak ste sám alebo ak ste kráľom.
-04:54=NEKOMPLETNÉ
-04:55=Rozprášte prúd lepkavej hliny.|Postavte mosty, pochovajte nepriateľov,|zapečaťte tunely. Buďte|však opatrný a nezašpinte sa|od nej aj vy.
+;04:54=NEKOMPLETNÉ
+04:54=Rozprášte prúd lepkavej hliny.|Postavte mosty, pochovajte nepriateľov,|zapečaťte tunely. Buďte|však opatrný a nezašpinte sa|od nej aj vy.
 
 
 ; Reťazce pre ciele hry
--- a/share/hedgewars/Data/Locale/sv.txt	Thu Apr 04 14:37:19 2013 +0200
+++ b/share/hedgewars/Data/Locale/sv.txt	Tue Jun 04 22:28:12 2013 +0200
@@ -180,7 +180,6 @@
 02:01=%1 vill leka Ecco the dolphin
 02:01=%1 har gått för att besöka Aquaria
 02:01=%1 har funnit den förlorade staden Atlantis
-02:01=%1 siktar på huvudrollen i Bioshock 3
 02:01=Du borde träna på ditt hundsim, %1
 02:01=%1 skulle ha tagit med sig vattenskidor
 02:01=%1 gillar inte vattensporter
@@ -477,8 +476,8 @@
 03:51=Upphittad på marken
 03:52=UNUSED
 03:53=Typ 40
-03:54=Bygg något
-03:55=Verktyg
+;03:54=Bygg något
+03:54=Verktyg
 
 ; Weapon Descriptions (use | as line breaks)
 04:00=Attackera fienden med en enkel granat.|Exploderar när tiden når noll.|1-5: Ställ in granatens tid|Attack: Håll ner för att kasta med mer kraft
@@ -535,8 +534,8 @@
 04:51=Få till en gratisträff genom att kasta en boll med|jord. Känns lite gran, och knuffar tillbaka|igelkottar.
 04:52=UNUSED
 04:53=Åk på ett äventyr genom tid och rymd, medan dina|kamrater blir kvar själva att slåss. Var beredd|att komma tillbaka när som helst, eller till|Sudden Death eller om de andra blir besegrade.|Varning. Fungerar inte under Sudden Death, om du|är ensam, eller om du är en kung.
-04:54=INCOMPLETE
-04:55=Spruta en ström av fästande jord.|Bygg broar, gräv ner fienden, stäng igen tunnlar.|Var försiktig så att du inte får något på dig!
+;04:54=INCOMPLETE
+04:54=Spruta en ström av fästande jord.|Bygg broar, gräv ner fienden, stäng igen tunnlar.|Var försiktig så att du inte får något på dig!
 
 ; Game goal strings
 05:00=Spellägen
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/share/hedgewars/Data/Locale/tr.lua	Tue Jun 04 22:28:12 2013 +0200
@@ -0,0 +1,989 @@
+locale = {
+--      [":("] = "",
+--      ["!!!"] = "",
+--      ["..."] = "",
+--      ["011101000"] = "", -- A_Classic_Fairytale:dragon
+--      ["011101001"] = "", -- A_Classic_Fairytale:backstab, A_Classic_Fairytale:dragon, A_Classic_Fairytale:enemy, A_Classic_Fairytale:family, A_Classic_Fairytale:journey, A_Classic_Fairytale:queen, A_Classic_Fairytale:shadow, A_Classic_Fairytale:united
+	["30 minutes later..."] = "30 dakika sonra...", -- A_Classic_Fairytale:shadow
+--      ["About a month ago, a cyborg came and told us that you're the cannibals!"] = "", -- A_Classic_Fairytale:enemy
+	["Accuracy Bonus!"] = "Güzel Nişan Bonusu!",
+--      ["Ace"] = "", -- User_Mission_-_RCPlane_Challenge, User_Mission_-_Rope_Knock_Challenge
+--      ["Achievement Unlocked"] = "", -- User_Mission_-_Bamboo_Thicket, User_Mission_-_That_Sinking_Feeling, Tumbler
+--      ["A Classic Fairytale"] = "", -- A_Classic_Fairytale:first_blood
+--      ["???"] = "", -- A_Classic_Fairytale:backstab
+--      ["Actually, you aren't worthy of life! Take this..."] = "", -- A_Classic_Fairytale:shadow
+--      ["A cy-what?"] = "", -- A_Classic_Fairytale:enemy
+--      ["Adventurous"] = "", -- A_Classic_Fairytale:journey
+--      ["Africa"] = "", -- Continental_supplies
+--      ["After Leaks A Lot betrayed his tribe, he joined the cannibals..."] = "", -- A_Classic_Fairytale:first_blood
+--      ["After the shock caused by the enemy spy, Leaks A Lot and Dense Cloud went hunting to relax."] = "", -- A_Classic_Fairytale:shadow
+--      ["Again with the 'cannibals' thing!"] = "", -- A_Classic_Fairytale:enemy
+--      ["a Hedgewars challenge"] = "", -- User_Mission_-_RCPlane_Challenge, User_Mission_-_Rope_Knock_Challenge
+	["a Hedgewars mini-game"] = "Hedgewars mini oyunu", -- Space_Invasion, The_Specialists
+	["Aiming Practice"] = "Atış Eğitimi", --Bazooka, Shotgun, SniperRifle
+--      ["A leap in a leap"] = "", -- A_Classic_Fairytale:first_blood
+--      ["A little gift from the cyborgs"] = "", -- A_Classic_Fairytale:shadow
+--      ["All gone...everything!"] = "", -- A_Classic_Fairytale:enemy
+--      ["All right, we just need to get to the other side of the island!"] = "", -- A_Classic_Fairytale:journey
+--      ["All walls touched!"] = "", -- WxW
+	["Ammo Depleted!"] = "Munition erschöpft!",
+	["ammo extended!"] = "Munition aufgestockt!",
+	["Ammo is reset at the end of your turn."] = "Munition wird am Ende des Spielzuges zurückgesetzt.",
+	["Ammo Maniac!"] = "Munitionsverrückter!",
+	["Ammo"] = "Mermi",
+--      ["And how am I alive?!"] = "", -- A_Classic_Fairytale:enemy
+--      ["And so happenned that Leaks A Lot failed to complete the challenge! He landed, pressured by shame..."] = "", -- A_Classic_Fairytale:first_blood
+--      ["And so it began..."] = "", -- A_Classic_Fairytale:first_blood
+--      ["...and so the cyborgs took over the world..."] = "", -- A_Classic_Fairytale:shadow
+--      ["And so they discovered that cyborgs weren't invulnerable..."] = "", -- A_Classic_Fairytale:journey
+--      ["And where's all the weed?"] = "", -- A_Classic_Fairytale:dragon
+--      ["And you believed me? Oh, god, that's cute!"] = "", -- A_Classic_Fairytale:journey
+--      ["Anno 1032: [The explosion will make a strong push ~ wide range, wont affect hogs close to the target]"] = "", -- Continental_supplies
+--      ["Antarctica"] = "", -- Continental_supplies
+--      ["Are we there yet?"] = "", -- A_Classic_Fairytale:shadow
+--      ["Are you accusing me of something?"] = "", -- A_Classic_Fairytale:backstab
+--      ["Are you saying that many of us have died for your entertainment?"] = "", -- A_Classic_Fairytale:enemy
+--      ["Artur Detour"] = "", -- A_Classic_Fairytale:queen
+--      ["As a reward for your performance, here's some new technology!"] = "", -- A_Classic_Fairytale:dragon
+--      ["a shoppa minigame"] = "", -- WxW
+--      ["Asia"] = "", -- Continental_supplies
+--      ["Assault Team"] = "", -- A_Classic_Fairytale:backstab
+--      ["As the ammo is sparse, you might want to reuse ropes while mid-air.|"] = "", -- A_Classic_Fairytale:dragon
+--      ["As the challenge was completed, Leaks A Lot set foot on the ground..."] = "", -- A_Classic_Fairytale:first_blood
+--      ["As you can see, there is no way to get on the other side!"] = "", -- A_Classic_Fairytale:dragon
+--      ["Attack From Rope"] = "", -- WxW
+--      ["Australia"] = "", -- Continental_supplies
+	["Available points remaining: "] = "Verfügbare Punkte verbleibend:",
+--      ["Back Breaker"] = "", -- A_Classic_Fairytale:backstab
+--      ["Back in the village, after telling the villagers about the threat..."] = "", -- A_Classic_Fairytale:united
+--      ["[Backspace]"] = "",
+--      ["Backstab"] = "", -- A_Classic_Fairytale:backstab
+--      ["Bad Team"] = "", -- User_Mission_-_The_Great_Escape
+--      ["Bamboo Thicket"] = "",
+	["Barrel Eater!"] = "Fassfresser!",
+	["Barrel Launcher"] = "Fasswerfer",
+--      ["Baseballbat"] = "", -- Continental_supplies
+	["Bat balls at your enemies and|push them into the sea!"] = "Schlage Bälle auf deine Widersacher|und lass sie ins Meer fallen!",
+	["Bat your opponents through the|baskets and out of the map!"] = "Schlage deine Widersacher durch|die Körbe und aus der Karte hinaus!",
+	["Bazooka Training"] = "Bazooka-Training",
+--      ["Beep Loopers"] = "", -- A_Classic_Fairytale:queen
+	["Best laps per team: "] = "Beste Rundenzeiten pro Team: ",
+	["Best Team Times: "] = "Beste Team-Zeiten: ",
+--      ["Beware, though! If you are slow, you die!"] = "", -- A_Classic_Fairytale:dragon
+--      ["Biomechanic Team"] = "", -- A_Classic_Fairytale:family
+--      ["Blender"] = "", -- A_Classic_Fairytale:family
+--      ["Bloodpie"] = "", -- A_Classic_Fairytale:backstab
+--      ["Bloodrocutor"] = "", -- A_Classic_Fairytale:shadow
+--      ["Bloodsucker"] = "", -- A_Classic_Fairytale:shadow
+	["Bloody Rookies"] = "Blutige Anfänger", -- 01#Boot_Camp, User_Mission_-_Dangerous_Ducklings, User_Mission_-_Diver, User_Mission_-_Spooky_Tree
+--      ["Bone Jackson"] = "", -- A_Classic_Fairytale:backstab
+--      ["Bonely"] = "", -- A_Classic_Fairytale:shadow
+	["Boom!"] = "Bumm!",
+	["BOOM!"] = "KABUMM!",
+	["Boss defeated!"] = "Boss wurde besiegt!",
+	["Boss Slayer!"] = "Boss-Töter!",
+--      ["Brain Blower"] = "", -- A_Classic_Fairytale:journey
+--      ["Brainiac"] = "", -- A_Classic_Fairytale:epil, A_Classic_Fairytale:first_blood, A_Classic_Fairytale:shadow
+--      ["Brainila"] = "", -- A_Classic_Fairytale:united
+--      ["Brain Stu"] = "", -- A_Classic_Fairytale:united
+--      ["Brain Teaser"] = "", -- A_Classic_Fairytale:backstab
+--      ["Brutal Lily"] = "", -- A_Classic_Fairytale:enemy, A_Classic_Fairytale:epil
+--      ["Brutus"] = "", -- A_Classic_Fairytale:backstab
+    ["Build a track and race."] = "Konstruiere eine Strecke und mach ein Wettrennen.",
+--      ["Bullseye"] = "", -- A_Classic_Fairytale:dragon
+--      ["But it proved to be no easy task!"] = "", -- A_Classic_Fairytale:dragon
+--      ["But that's impossible!"] = "", -- A_Classic_Fairytale:backstab
+--      ["But the ones alive are stronger in their heart!"] = "", -- A_Classic_Fairytale:enemy
+--      ["But...we died!"] = "", -- A_Classic_Fairytale:backstab
+--      ["But where can we go?"] = "", -- A_Classic_Fairytale:united
+--      ["But why would they help us?"] = "", -- A_Classic_Fairytale:backstab
+--      ["But you're cannibals. It's what you do."] = "", -- A_Classic_Fairytale:enemy
+--      ["But you said you'd let her go!"] = "", -- A_Classic_Fairytale:journey
+--      ["Call me Beep! Well, 'cause I'm such a nice...person!"] = "", -- A_Classic_Fairytale:family
+--      ["Cannibals"] = "", -- A_Classic_Fairytale:enemy, A_Classic_Fairytale:epil, A_Classic_Fairytale:first_blood
+--      ["Cannibal Sentry"] = "", -- A_Classic_Fairytale:journey
+--      ["Cannibals?! You're the cannibals!"] = "", -- A_Classic_Fairytale:enemy
+	["CAPTURE THE FLAG"] = "EROBERE DIE FAHNE",
+	["Careless"] = "Achtlos",
+--      ["Carol"] = "", -- A_Classic_Fairytale:family
+--      ["CHALLENGE COMPLETE"] = "", -- User_Mission_-_RCPlane_Challenge
+	["Change Weapon"] = "Waffenwechsel",
+--      ["Choose your side! If you want to join the strange man, walk up to him.|Otherwise, walk away from him. If you decide to att...nevermind..."] = "", -- A_Classic_Fairytale:shadow
+	["Clumsy"] = "Hoppla",
+--      ["Cluster Bomb MASTER!"] = "", -- Basic_Training_-_Cluster_Bomb
+--      ["Cluster Bomb Training"] = "", -- Basic_Training_-_Cluster_Bomb
+	["Codename: Teamwork"] = "Code-Name: Teamwork",
+--      ["Collateral Damage"] = "", -- A_Classic_Fairytale:journey
+--      ["Collateral Damage II"] = "", -- A_Classic_Fairytale:journey
+--      ["Collect all the crates, but remember, our time in this life is limited!"] = "", -- A_Classic_Fairytale:first_blood
+--      ["Collect or destroy all the health crates."] = "", -- User_Mission_-_RCPlane_Challenge
+--      ["Collect the crate on the right.|Hint: Select the rope, [Up] or [Down] to aim, [Space] to fire, directional keys to move.|Ropes can be fired again in the air!"] = "", -- A_Classic_Fairytale:first_blood
+--      ["Collect the crates within the time limit!|If you fail, you'll have to try again."] = "", -- A_Classic_Fairytale:first_blood
+--      ["Come closer, so that your training may continue!"] = "", -- A_Classic_Fairytale:first_blood
+--      ["Compete to use as few planes as possible!"] = "", -- User_Mission_-_RCPlane_Challenge
+	["Complete the track as fast as you can!"] = "Durchlaufe die Strecke so schnell du kannst!",
+--      ["COMPLETION TIME"] = "", -- User_Mission_-_Rope_Knock_Challenge
+--      ["Configuration accepted."] = "", -- WxW
+--      ["Congratulations"] = "", -- Basic_Training_-_Rope
+	["Congratulations!"] = "Gratulation!",
+--      ["Congratulations! You needed only half of time|to eliminate all targets."] = "", -- Basic_Training_-_Cluster_Bomb
+--      ["Congratulations! You've completed the Rope tutorial! |- Tutorial ends in 10 seconds!"] = "", -- Basic_Training_-_Rope
+	["Congratulations! You've eliminated all targets|within the allowed time frame."] = "Gratulation! Du hast alle Ziele innerhalb der|verfügbaren Zeit ausgeschaltet.", --Bazooka, Shotgun, SniperRifle
+--      ["Continental supplies"] = "", -- Continental_supplies
+	["Control pillars to score points."] = "Kontrolliere die Säulen um Punkte zu erhalten.",
+--      ["Corporationals"] = "", -- A_Classic_Fairytale:queen
+--      ["Corpsemonger"] = "", -- A_Classic_Fairytale:shadow
+--      ["Corpse Thrower"] = "", -- A_Classic_Fairytale:epil
+--      ["Crates Left:"] = "", -- User_Mission_-_RCPlane_Challenge
+	["Cybernetic Empire"] = "Kybernetisches Imperium",
+--      ["Cyborg. It's what the aliens call themselves."] = "", -- A_Classic_Fairytale:enemy
+--      ["Dahmer"] = "", -- A_Classic_Fairytale:backstab
+	["DAMMIT, ROOKIE! GET OFF MY HEAD!"] = "VERDAMMT, REKRUT! RUNTER VON MEINEM KOPF!",
+	["DAMMIT, ROOKIE!"] = "VERDAMMT, REKRUT!",
+--      ["Dangerous Ducklings"] = "",
+	["Deadweight"] = "Gravitus",
+--      ["Defeat the cannibals"] = "", -- A_Classic_Fairytale:backstab
+--      ["Defeat the cannibals!|"] = "", -- A_Classic_Fairytale:united
+--      ["Defeat the cannibals!|Grenade hint: set the timer with [1-5], aim with [Up]/[Down] and hold [Space] to set power"] = "", -- A_Classic_Fairytale:shadow
+--      ["Defeat the cyborgs!"] = "", -- A_Classic_Fairytale:enemy
+--      ["Defend yourself!|Hint: You can get tips on using weapons by moving your mouse over them in the weapon selection menu"] = "", -- A_Classic_Fairytale:shadow
+	["Demolition is fun!"] = "Zerstörung macht Spaß!",
+--      ["Dense Cloud"] = "", -- A_Classic_Fairytale:backstab, A_Classic_Fairytale:dragon, A_Classic_Fairytale:enemy, A_Classic_Fairytale:epil, A_Classic_Fairytale:family, A_Classic_Fairytale:journey, A_Classic_Fairytale:queen, A_Classic_Fairytale:shadow, A_Classic_Fairytale:united
+--      ["Dense Cloud must have already told them everything..."] = "", -- A_Classic_Fairytale:shadow
+	["Depleted Kamikaze!"] = "Munitionsloses Kamikaze!",
+--      ["Destroy him, Leaks A Lot! He is responsible for the deaths of many of us!"] = "", -- A_Classic_Fairytale:first_blood
+	["Destroy invaders to score points."] = "Zerstöre die Angreifer um Punkte zu erhalten.",
+--      ["Destroy the targets!|Hint: Select the Shoryuken and hit [Space]|P.S. You can use it mid-air."] = "", -- A_Classic_Fairytale:first_blood
+--      ["Destroy the targets!|Hint: [Up], [Down] to aim, [Space] to shoot"] = "", -- A_Classic_Fairytale:first_blood
+--      ["Did anyone follow you?"] = "", -- A_Classic_Fairytale:united
+--      ["Did you see him coming?"] = "", -- A_Classic_Fairytale:shadow
+--      ["Did you warn the village?"] = "", -- A_Classic_Fairytale:shadow
+--      ["Die, die, die!"] = "", -- A_Classic_Fairytale:dragon
+--      ["Disguise as a Rockhopper Penguin: [Swap place with a random enemy hog in the circle]"] = "", -- Continental_supplies
+--      ["Dist: "] = "", -- Space_Invasion
+--      ["Do not laugh, inexperienced one, for he speaks the truth!"] = "", -- A_Classic_Fairytale:backstab
+--      ["Do not let his words fool you, young one! He will stab you in the back as soon as you turn away!"] = "", -- A_Classic_Fairytale:first_blood
+--      ["Do the deed"] = "", -- A_Classic_Fairytale:first_blood
+--      ["Double Kill!"] = "",
+--      ["DOUBLE KILL"] = "", -- Mutant
+--      ["Do you have any idea how valuable grass is?"] = "", -- A_Classic_Fairytale:enemy
+--      ["Do you think you're some kind of god?"] = "", -- A_Classic_Fairytale:enemy
+--      ["Dragon's Lair"] = "", -- A_Classic_Fairytale:dragon
+--      ["Drills"] = "", -- A_Classic_Fairytale:backstab
+--      ["Drone Hunter!"] = "",
+--      ["Drop a bomb: [drop some heroic wind that will turn into a bomb on impact]"] = "", -- Continental_supplies
+	["Drowner"] = "Absäufer",
+--      ["Dude, all the plants are gone!"] = "", -- A_Classic_Fairytale:family
+--      ["Dude, can you see Ramon and Spiky?"] = "", -- A_Classic_Fairytale:journey
+--      ["Dude, that's so cool!"] = "", -- A_Classic_Fairytale:backstab
+--      ["Dude, we really need a new shaman..."] = "", -- A_Classic_Fairytale:shadow
+--      ["Dude, what's this place?!"] = "", -- A_Classic_Fairytale:dragon
+--      ["Dude, where are we?"] = "", -- A_Classic_Fairytale:backstab
+--      ["Dude, wow! I just had the weirdest high!"] = "", -- A_Classic_Fairytale:backstab
+--      ["Duration"] = "", -- Continental_supplies
+--      ["Dust storm: [Deals 20 damage to all enemies in the circle]"] = "", -- Continental_supplies
+	["Each turn you get 1-3 random weapons"] = "Du bekommst jede Runde 1-3 zufällig gewählte Waffen",
+	["Each turn you get one random weapon"] = "Du bekommst jede Runde eine zufällig gewählte Waffe.",
+--      ["Eagle Eye"] = "", -- A_Classic_Fairytale:backstab
+--      ["Eagle Eye: [Blink to the impact ~ one shot]"] = "", -- Continental_supplies
+--      ["Ear Sniffer"] = "", -- A_Classic_Fairytale:backstab, A_Classic_Fairytale:epil
+--      ["Elderbot"] = "", -- A_Classic_Fairytale:family
+--      ["Elimate your captor."] = "", -- User_Mission_-_The_Great_Escape
+	["Eliminate all enemies"] = "Vernichte alle Gegner",
+	["Eliminate all targets before your time runs out.|You have unlimited ammo for this mission."] = "Eliminiere alle Ziele bevor die Zeit ausläuft.|Du hast in dieser Mission unbegrenzte Munition.", --Bazooka, Shotgun, SniperRifle
+--      ["Eliminate enemy hogs and take their weapons."] = "", -- Highlander
+	["Eliminate Poison before the time runs out"] = "Neutralisiere das Gift bevor die Zeit abgelaufen ist",
+	["Eliminate the Blue Team"] = "Lösche das Blaue Team aus",
+	["Eliminate the enemy before the time runs out"] = "Vernichte den Feind bevor die Zeit abgelaufen ist", -- User_Mission_-_Bamboo_Thicket, User_Mission_-_Newton_and_the_Hammock
+	["Eliminate the enemy hogs to win."] = "Vernichte alle gegnerischen Igel um zu gewinnen",
+	["Eliminate the enemy specialists."] = "Vernichte die gegnerischen Spezialisten",
+	["- Eliminate Unit 3378 |- Feeble Resistance must survive"] = "- Vernichte Einheit 3378 |  Kraftloser Widerstand muss überleben",
+--      ["Elmo"] = "", -- A_Classic_Fairytale:dragon, A_Classic_Fairytale:family, A_Classic_Fairytale:queen
+--      ["Energetic Engineer"] = "",
+	["Enjoy the swim..."] = "Viel Spaß beim Schwimmen...",
+--      ["[Enter]"] = "",
+--      ["Europe"] = "", -- Continental_supplies
+--      [" ever done to you?!"] = "", -- A_Classic_Fairytale:backstab
+--      ["Everyone knows this."] = "", -- A_Classic_Fairytale:enemy
+--      ["Every single time!"] = "", -- A_Classic_Fairytale:dragon
+--      ["Everything looks OK..."] = "", -- A_Classic_Fairytale:enemy
+--      ["Exactly, man! That was my dream."] = "", -- A_Classic_Fairytale:backstab
+--      ["Eye Chewer"] = "", -- A_Classic_Fairytale:journey
+--      ["INSANITY"] = "", -- Mutant
+--      ["Family Reunion"] = "", -- A_Classic_Fairytale:family
+	["Fastest lap: "] = "Schnellste Runde: ",
+	["Feeble Resistance"] = "Kraftloser Widerstand",
+--      ["Fell From Grace"] = "", -- A_Classic_Fairytale:backstab, A_Classic_Fairytale:dragon, A_Classic_Fairytale:enemy, A_Classic_Fairytale:epil, A_Classic_Fairytale:family, A_Classic_Fairytale:queen
+--      ["Fell From Heaven"] = "", -- A_Classic_Fairytale:enemy, A_Classic_Fairytale:epil, A_Classic_Fairytale:family, A_Classic_Fairytale:first_blood, A_Classic_Fairytale:journey, A_Classic_Fairytale:queen
+--      ["Fell From Heaven is the best! Fell From Heaven is the greatest!"] = "", -- A_Classic_Fairytale:family
+--      ["Femur Lover"] = "", -- A_Classic_Fairytale:shadow
+--      ["Fierce Competition!"] = "", -- Space_Invasion
+--      ["Fiery Water"] = "", -- A_Classic_Fairytale:backstab, A_Classic_Fairytale:dragon, A_Classic_Fairytale:enemy, A_Classic_Fairytale:epil, A_Classic_Fairytale:family, A_Classic_Fairytale:queen, A_Classic_Fairytale:united
+--      ["Find your tribe!|Cross the lake!"] = "", -- A_Classic_Fairytale:dragon
+--      ["Finish your training|Hint: Animations can be skipped with the [Precise] key."] = "", -- A_Classic_Fairytale:first_blood
+--      ["Fire a mine: [Does what it says ~ Cant be dropped close to an enemy ~ 1 sec]"] = "", -- Continental_supplies
+	["Fire"] = "Feuer",
+--      ["First aid kits?!"] = "", -- A_Classic_Fairytale:united
+--      ["First Blood"] = "", -- A_Classic_Fairytale:first_blood
+--      ["FIRST BLOOD MUTATES"] = "", -- Mutant
+--      ["First Steps"] = "", -- A_Classic_Fairytale:first_blood
+	["Flag captured!"] = "Fahne erobert!",
+	["Flag respawned!"] = "Fahne wieder erschienen!",
+	["Flag returned!"] = "Fahne zurückgebracht!",
+	["Flags, and their home base will be placed where each team ends their first turn."] = "Fahnen und deren Heimatstandort werden dort plaziert wo jedes Team deren ersten Zug beendet.",
+--      ["Flamer"] = "",
+--      ["Flaming Worm"] = "", -- A_Classic_Fairytale:backstab
+--      ["Flare: [fire up some bombs depending on hogs depending on hogs in the circle"] = "", -- Continental_supplies
+--      ["Flesh for Brainz"] = "", -- A_Classic_Fairytale:journey
+--      ["For improved features/stability, play 0.9.18+"] = "", -- WxW
+--      ["Free Dense Cloud and continue the mission!"] = "", -- A_Classic_Fairytale:journey
+--      ["Friendly Fire!"] = "",
+	["fuel extended!"] = "Treibstoff aus!",
+	["GAME BEGUN!!!"] = "SPIEL GESTARTET!!!",
+--      ["Game Modifiers: "] = "", -- The_Specialists
+	["GAME OVER!"] = "SPIEL ZU ENDE!",
+	["Game Started!"] = "Spiel Gestartet!]",
+--      ["Game? Was this a game to you?!"] = "", -- A_Classic_Fairytale:enemy
+--      ["GasBomb"] = "", -- Continental_supplies
+--      ["Gas Gargler"] = "", -- A_Classic_Fairytale:queen
+--      ["Get Dense Cloud out of the pit!"] = "", -- A_Classic_Fairytale:journey
+	["Get on over there and take him out!"] = "Mach, dass du hinüber kommst und schalte ihn aus!",
+--      ["Get on the head of the mole"] = "", -- A_Classic_Fairytale:first_blood
+--      ["Get out of there!"] = "", -- User_Mission_-_The_Great_Escape
+--      ["Get that crate!"] = "", -- A_Classic_Fairytale:first_blood
+--      ["Get the crate on the other side of the island!|"] = "", -- A_Classic_Fairytale:journey
+--      ["Get to the target using your rope! |Controls: Left & Right to swing the rope - Up & Down to Contract and Expand!"] = "", -- Basic_Training_-_Rope
+--      ["Get your teammates out of their natural prison and save the princess!|Hint: Drilling holes should solve everything.|Hint: It might be a good idea to place a girder before starting to drill. Just saying.|Hint: All your hedgehogs need to be above the marked height!|Hint: Leaks A Lot needs to get really close to the princess!"] = "", -- A_Classic_Fairytale:family
+--      ["GG!"] = "", -- User_Mission_-_Rope_Knock_Challenge
+--      ["Gimme Bones"] = "", -- A_Classic_Fairytale:backstab
+--      ["Glark"] = "", -- A_Classic_Fairytale:shadow
+	["Goal"] = "Ziel",
+	["GO! GO! GO!"] = "Bewegung, Bewegung, Bewegung!",
+	["Good birdy......"] = "Braver Vogel......",
+--      ["Good Dude"] = "", -- User_Mission_-_The_Great_Escape
+--      ["Good idea, they'll never find us there!"] = "", -- A_Classic_Fairytale:united
+--      ["Good luck...or else!"] = "", -- A_Classic_Fairytale:journey
+	["Good luck out there!"] = "Viel Glück da draußen!",
+	["Good so far!"] = "Gut soweit!",
+	["Good to go!"] = "Startklar!",
+--      ["Go on top of the flower"] = "", -- A_Classic_Fairytale:first_blood
+--      ["Go, quick!"] = "", -- A_Classic_Fairytale:backstab
+--      ["Gorkij"] = "", -- A_Classic_Fairytale:journey
+--      ["Go surf!"] = "", -- WxW
+	["GOTCHA!"] = "ERWISCHT!",
+	["Grab Mines/Explosives"] = "Sammle Minen/Fässer",
+--      ["Great choice, Steve! Mind if I call you that?"] = "", -- A_Classic_Fairytale:shadow
+--      ["Great work! Now hit it with your Baseball Bat! |Tip: You can change weapon with 'Right Click'!"] = "", -- Basic_Training_-_Rope
+--      ["Great! You will be contacted soon for assistance."] = "", -- A_Classic_Fairytale:shadow
+--      ["Green lipstick bullet: [Is poisonous]"] = "", -- Continental_supplies
+--      ["Greetings, "] = "", -- A_Classic_Fairytale:dragon
+--      ["Greetings, cloudy one!"] = "", -- A_Classic_Fairytale:shadow
+--      ["Grenade Training"] = "", -- Basic_Training_-_Grenade
+--      ["Grenadiers"] = "", -- Basic_Training_-_Grenade
+--      ["Guys, do you think there's more of them?"] = "", -- A_Classic_Fairytale:backstab
+--      ["HAHA!"] = "", -- A_Classic_Fairytale:enemy
+--      ["Haha!"] = "", -- A_Classic_Fairytale:united
+--      ["Hahahaha!"] = "",
+	["Haha, now THAT would be something!"] = "Haha, na DAS wär ja was!",
+--      ["Hannibal"] = "", -- A_Classic_Fairytale:epil
+	["Hapless Hogs"] = "Glücklose Igel",
+	[" Hapless Hogs left!"] = " Glücklose Igel verbleibend!",
+
+--      [" HAS MUTATED"] = "", -- Mutant
+--      ["Hatless Jerry"] = "", -- A_Classic_Fairytale:queen
+--      ["Have no illusions, your tribe is dead, indifferent of your choice."] = "", -- A_Classic_Fairytale:shadow
+--      ["Have we ever attacked you first?"] = "", -- A_Classic_Fairytale:enemy
+	["Health crates extend your time."] = "Medipacks verlängern deine Zeit.",
+--      ["Heavy Cannfantry"] = "", -- A_Classic_Fairytale:united
+	["Heavy"] = "Schwierig",
+--      ["Hedge-cogs"] = "", -- A_Classic_Fairytale:enemy
+--      ["Hedgehog projectile: [fire your hog like a Sticky Bomb]"] = "", -- Continental_supplies
+	["Hedgewars-Basketball"] = "Hedgewars-Basketball",
+	["Hedgewars-Knockball"] = "Hedgewars-Knockball",
+--      ["Hedgibal Lecter"] = "", -- A_Classic_Fairytale:backstab
+	["Heh, it's not that bad."] = "Hehe, so schlimm ist es nicht.",
+--      ["Hello again, "] = "", -- A_Classic_Fairytale:family
+--      ["Help me, Leaks!"] = "", -- A_Classic_Fairytale:journey
+--      ["Help me, please!!!"] = "", -- A_Classic_Fairytale:journey
+--      ["Help me, please!"] = "", -- A_Classic_Fairytale:journey
+--      ["He moves like an eagle in the sky."] = "", -- A_Classic_Fairytale:first_blood
+--      ["He must be in the village already."] = "", -- A_Classic_Fairytale:journey
+--      ["Here, let me help you!"] = "", -- A_Classic_Fairytale:backstab
+--      ["Here, let me help you save her!"] = "", -- A_Classic_Fairytale:family
+--      ["Here...pick your weapon!"] = "", -- A_Classic_Fairytale:first_blood
+--      ["Hero Team"] = "", -- User_Mission_-_The_Great_Escape
+--      ["He's so brave..."] = "", -- A_Classic_Fairytale:first_blood
+--      ["He won't be selling us out anymore!"] = "", -- A_Classic_Fairytale:backstab
+--      ["Hey, guys!"] = "", -- A_Classic_Fairytale:backstab
+--      ["Hey guys!"] = "", -- A_Classic_Fairytale:united
+--      ["Hey! This is cheating!"] = "", -- A_Classic_Fairytale:journey
+--      ["HIGHLANDER"] = "", -- Highlander
+--      ["Hightime"] = "", -- A_Classic_Fairytale:first_blood
+--      ["Hint: Double Jump - Press [Backspace] twice"] = "", -- A_Classic_Fairytale:first_blood
+--      ["Hint: Select the BlowTorch, aim and press [Fire]. Press [Fire] again to stop.|Don't blow up the crate."] = "", -- A_Classic_Fairytale:journey
+--      ["Hint: Select the LowGravity and press [Fire]."] = "", -- A_Classic_Fairytale:journey
+--      ["Hint: you might want to stay out of sight and take all the crates...|"] = "", -- A_Classic_Fairytale:journey
+--      ["His arms are so strong!"] = "", -- A_Classic_Fairytale:first_blood
+--      ["Hit Combo!"] = "",
+--      ["Hmmm..."] = "",
+--      ["Hmmm...actually...I didn't either."] = "", -- A_Classic_Fairytale:enemy
+--      ["Hmmm, I'll have to find some way of moving him off this anti-portal surface..."] = "", -- portal
+--      ["Hmmm...it's a draw. How unfortunate!"] = "", -- A_Classic_Fairytale:enemy
+--      ["Hmmm...perhaps a little more time will help."] = "", -- A_Classic_Fairytale:first_blood
+--      ["Hogminator"] = "", -- A_Classic_Fairytale:family
+--      ["Hogs in sight!"] = "", -- Continental_supplies
+--      ["HOLY SHYTE!"] = "", -- Mutant
+--      ["Honest Lee"] = "", -- A_Classic_Fairytale:enemy
+	["Hooray!"] = "Hurra!",
+--      ["Hostage Situation"] = "", -- A_Classic_Fairytale:family
+--      ["How can I ever repay you for saving my life?"] = "", -- A_Classic_Fairytale:journey
+--      ["How come in a village full of warriors, it's up to me to save it?"] = "", -- A_Classic_Fairytale:dragon
+--      ["How difficult would you like it to be?"] = "", -- A_Classic_Fairytale:first_blood
+--      ["HOW DO THEY KNOW WHERE WE ARE???"] = "", -- A_Classic_Fairytale:united
+--      ["However, if you fail to do so, she dies a most violent death, just like your friend! Muahahaha!"] = "", -- A_Classic_Fairytale:journey
+--      ["However, if you fail to do so, she dies a most violent death! Muahahaha!"] = "", -- A_Classic_Fairytale:journey
+--      ["However, my mates don't agree with me on letting you go..."] = "", -- A_Classic_Fairytale:dragon
+--      [" HP"] = "", -- Mutant
+	["Hunter"] = "Jäger", --Bazooka, Shotgun, SniperRifle
+--      ["I believe there's more of them."] = "", -- A_Classic_Fairytale:backstab
+--      ["I can see you have been training diligently."] = "", -- A_Classic_Fairytale:first_blood
+--      ["I can't believe it worked!"] = "", -- A_Classic_Fairytale:shadow
+--      ["I can't believe this!"] = "", -- A_Classic_Fairytale:enemy
+--      ["I can't believe what I'm hearing!"] = "", -- A_Classic_Fairytale:backstab
+--      ["I can't wait any more, I have to save myself!"] = "", -- A_Classic_Fairytale:shadow
+--      ["I could just teleport myself there..."] = "", -- A_Classic_Fairytale:family
+--      ["I'd better get going myself."] = "", -- A_Classic_Fairytale:journey
+--      ["I didn't until about a month ago."] = "", -- A_Classic_Fairytale:enemy
+--      ["I don't know how you did that.. But good work! |The next one should be easy as cake for you!"] = "", -- Basic_Training_-_Rope
+--      ["I feel something...a place! They will arrive near the circles!"] = "", -- A_Classic_Fairytale:backstab
+--      ["If only I had a way..."] = "", -- A_Classic_Fairytale:backstab
+--      ["If only I were given a chance to explain my being here..."] = "", -- A_Classic_Fairytale:first_blood
+--      ["I forgot that she's the daughter of the chief, too..."] = "", -- A_Classic_Fairytale:backstab
+--      ["If they try coming here, they can have a taste of my delicious knuckles!"] = "", -- A_Classic_Fairytale:united
+--      ["If you agree to provide the information we need, you will be spared!"] = "", -- A_Classic_Fairytale:shadow
+--      ["If you can get that crate fast enough, your beloved \"princess\" may go free."] = "", -- A_Classic_Fairytale:journey
+--      ["If you decide to help us, though, we will no longer need to find a new governor for the island."] = "", -- A_Classic_Fairytale:shadow
+--      ["If you get stuck, use your Desert Eagle or restart the mission!|"] = "", -- A_Classic_Fairytale:journey
+--      ["If you know what I mean..."] = "", -- A_Classic_Fairytale:shadow
+--      ["If you say so..."] = "", -- A_Classic_Fairytale:shadow
+
+--      ["I guess you'll have to kill them."] = "", -- A_Classic_Fairytale:dragon
+--      ["I have come to make you an offering..."] = "", -- A_Classic_Fairytale:shadow
+--      ["I have no idea where that mole disappeared...Can you see it?"] = "", -- A_Classic_Fairytale:shadow
+--      ["I have to follow that alien."] = "", -- A_Classic_Fairytale:backstab
+--      ["I have to get back to the village!"] = "", -- A_Classic_Fairytale:shadow
+--      ["I hope you are prepared for a small challenge, young one."] = "", -- A_Classic_Fairytale:first_blood
+--      ["I just don't want to sink to your level."] = "", -- A_Classic_Fairytale:backstab
+--      ["I just found out that they have captured your princess!"] = "", -- A_Classic_Fairytale:family
+--      ["I just wonder where Ramon and Spiky disappeared..."] = "", -- A_Classic_Fairytale:journey
+--      ["I'll hold them off while you return to the village!"] = "", -- A_Classic_Fairytale:shadow
+--      ["Imagine those targets are the wolves that killed your parents! Take your anger out on them!"] = "", -- A_Classic_Fairytale:first_blood
+--      ["I'm...alive? How? Why?"] = "", -- A_Classic_Fairytale:backstab
+--      ["I'm a ninja."] = "", -- A_Classic_Fairytale:dragon
+--      ["I marked the place of their arrival. You're welcome!"] = "", -- A_Classic_Fairytale:backstab
+--      ["I'm certain that this is a misunderstanding, fellow hedgehogs!"] = "", -- A_Classic_Fairytale:first_blood
+--      ["I mean, none of you ceased to live."] = "", -- A_Classic_Fairytale:enemy
+--      ["I'm getting old for this!"] = "", -- A_Classic_Fairytale:family
+--      ["I'm getting thirsty..."] = "", -- A_Classic_Fairytale:family
+--      ["I'm here to help you rescue her."] = "", -- A_Classic_Fairytale:family
+--      ["I'm not sure about that!"] = "", -- A_Classic_Fairytale:united
+--      ["Impressive...you are still dry as the corpse of a hawk after a week in the desert..."] = "", -- A_Classic_Fairytale:first_blood
+--      ["I'm so scared!"] = "", -- A_Classic_Fairytale:united
+--      ["Incredible..."] = "", -- A_Classic_Fairytale:shadow
+--      ["I need to find the others!"] = "", -- A_Classic_Fairytale:backstab
+--      ["I need to get to the other side of this island, fast!"] = "", -- A_Classic_Fairytale:journey
+--      ["I need to move the tribe!"] = "", -- A_Classic_Fairytale:united
+--      ["I need to prevent their arrival!"] = "", -- A_Classic_Fairytale:backstab
+--      ["I need to warn the others."] = "", -- A_Classic_Fairytale:backstab
+--      ["In fact, you are the only one that's been acting strangely."] = "", -- A_Classic_Fairytale:backstab
+--      ["In order to get to the other side, you need to collect the crates first.|"] = "", -- A_Classic_Fairytale:dragon
+	["Instructor"] = "Ausbilder", -- 01#Boot_Camp, User_Mission_-_Dangerous_Ducklings
+--      ["Interesting idea, haha!"] = "", -- A_Classic_Fairytale:enemy
+--      ["Interesting! Last time you said you killed a cannibal!"] = "", -- A_Classic_Fairytale:backstab
+--      ["In the meantime, take these and return to your \"friend\"!"] = "", -- A_Classic_Fairytale:shadow
+	["invaders destroyed"] = "Angreifer zerstört",
+--      ["Invasion"] = "", -- A_Classic_Fairytale:united
+--      ["I saw it with my own eyes!"] = "", -- A_Classic_Fairytale:shadow
+--      ["I see..."] = "", -- A_Classic_Fairytale:shadow
+--      ["I see you have already taken the leap of faith."] = "", -- A_Classic_Fairytale:first_blood
+--      ["I see you would like his punishment to be more...personal..."] = "", -- A_Classic_Fairytale:first_blood
+--      ["I sense another wave of cannibals heading my way!"] = "", -- A_Classic_Fairytale:backstab
+--      ["I sense another wave of cannibals heading our way!"] = "", -- A_Classic_Fairytale:backstab
+--      ["I shouldn't have drunk that last pint."] = "", -- A_Classic_Fairytale:dragon
+--      ["Is this place in my head?"] = "", -- A_Classic_Fairytale:dragon
+--      ["It doesn't matter. I won't let that alien hurt my daughter!"] = "", -- A_Classic_Fairytale:dragon
+--      ["I think we are safe here."] = "", -- A_Classic_Fairytale:backstab
+--      ["I thought their shaman died when he tried our medicine!"] = "", -- A_Classic_Fairytale:shadow
+--      ["It is called 'Hogs of Steel'."] = "", -- A_Classic_Fairytale:enemy
+--      ["It is time to practice your fighting skills."] = "", -- A_Classic_Fairytale:first_blood
+--      ["It must be a childhood trauma..."] = "", -- A_Classic_Fairytale:family
+--      ["It must be the aliens!"] = "", -- A_Classic_Fairytale:backstab
+--      ["It must be the aliens' deed."] = "", -- A_Classic_Fairytale:backstab
+--      ["It must be the cyborgs again!"] = "", -- A_Classic_Fairytale:enemy
+--      ["I told you, I just found them."] = "", -- A_Classic_Fairytale:backstab
+	["It's a good thing SUDDEN DEATH is 99 turns away..."] = "Gut, dass SUDDEN DEATH noch 99 Runden entfernt ist...",
+--      ["It's always up to women to clear up the mess men created!"] = "", -- A_Classic_Fairytale:dragon
+--      ["It's a shame, I forgot how to do that!"] = "", -- A_Classic_Fairytale:family
+--      ["It's impossible to communicate with the spirits without a shaman."] = "", -- A_Classic_Fairytale:shadow
+--      ["It's over..."] = "", -- A_Classic_Fairytale:shadow
+--      ["It's time you learned that your actions have consequences!"] = "", -- A_Classic_Fairytale:journey
+--      ["It's worth more than wood!"] = "", -- A_Classic_Fairytale:enemy
+--      ["It wants our brains!"] = "", -- A_Classic_Fairytale:shadow
+--      ["It was not a dream, unwise one!"] = "", -- A_Classic_Fairytale:backstab
+--      ["I've seen this before. They just appear out of thin air."] = "", -- A_Classic_Fairytale:united
+--      ["I want to play a game..."] = "", -- A_Classic_Fairytale:journey
+--      ["I want to see how it handles this!"] = "", -- A_Classic_Fairytale:backstab
+--      ["I wish to help you, "] = "", -- A_Classic_Fairytale:dragon
+--      ["I wonder where Dense Cloud is..."] = "", -- A_Classic_Fairytale:journey, A_Classic_Fairytale:shadow
+--      ["I wonder why I'm so angry all the time..."] = "", -- A_Classic_Fairytale:family
+--      ["I won't let you kill her!"] = "", -- A_Classic_Fairytale:journey
+--      ["Jack"] = "", -- A_Classic_Fairytale:dragon, A_Classic_Fairytale:family, A_Classic_Fairytale:queen
+--      ["Jeremiah"] = "", -- A_Classic_Fairytale:dragon
+--      ["John"] = "", -- A_Classic_Fairytale:journey
+--      ["Judas"] = "", -- A_Classic_Fairytale:backstab
+	["Jumping is disabled"] = "Sprünge sind deaktiviert!",
+--      ["Just kidding, none of you have died!"] = "", -- A_Classic_Fairytale:enemy
+--      ["Just on a walk."] = "", -- A_Classic_Fairytale:united
+--      ["Just wait till I get my hands on that trauma! ARGH!"] = "", -- A_Classic_Fairytale:family
+	["Kamikaze Expert!"] = "Kamikazeexperte!",
+	["Keep it up!"] = "Weiter so!",
+--      ["Kerguelen"] = "", -- Continental_supplies
+	["Killing spree!"] = "Blutrausch!",
+--      ["KILL IT!"] = "", -- A_Classic_Fairytale:first_blood
+--      ["KILLS"] = "",
+--      ["Kill the aliens!"] = "", -- A_Classic_Fairytale:dragon
+--      ["Kill the cannibal!"] = "", -- A_Classic_Fairytale:first_blood
+--      ["Kill the traitor...or spare his life!|Kill him or press [Precise]!"] = "", -- A_Classic_Fairytale:backstab
+	["Last Target!"] = "Letzte Zielscheibe!",
+--      ["Leader"] = "", -- A_Classic_Fairytale:enemy
+--      ["Leaderbot"] = "", -- A_Classic_Fairytale:queen
+--      ["Leaks A Lot"] = "", -- A_Classic_Fairytale:backstab, A_Classic_Fairytale:dragon, A_Classic_Fairytale:enemy, A_Classic_Fairytale:epil, A_Classic_Fairytale:family, A_Classic_Fairytale:first_blood, A_Classic_Fairytale:journey, A_Classic_Fairytale:queen, A_Classic_Fairytale:shadow, A_Classic_Fairytale:united
+--      ["Leaks A Lot, depressed for killing his loved one, failed to save the village..."] = "", -- A_Classic_Fairytale:journey
+--      ["Leaks A Lot gave his life for his tribe! He should have survived!"] = "", -- A_Classic_Fairytale:first_blood
+--      ["Leaks A Lot must survive!"] = "", -- A_Classic_Fairytale:journey
+--      ["Led Heart"] = "", -- A_Classic_Fairytale:queen
+--      ["Lee"] = "", -- A_Classic_Fairytale:dragon, A_Classic_Fairytale:family, A_Classic_Fairytale:queen
+--      ["[Left Shift]"] = "",
+--      ["Let a Continent provide your weapons!"] = "", -- Continental_supplies
+--      ["Let me test your skills a little, will you?"] = "", -- A_Classic_Fairytale:journey
+--      ["Let's go home!"] = "", -- A_Classic_Fairytale:journey
+--      ["Let's head back to the village!"] = "", -- A_Classic_Fairytale:shadow
+--      ["Let's see what your comrade does now!"] = "", -- A_Classic_Fairytale:journey
+--      ["Let's show those cannibals what we're made of!"] = "", -- A_Classic_Fairytale:backstab
+--      ["Let them have a taste of my fury!"] = "", -- A_Classic_Fairytale:backstab
+--      ["Let us help, too!"] = "", -- A_Classic_Fairytale:backstab
+--      ["Light Cannfantry"] = "", -- A_Classic_Fairytale:united
+	["Listen up, maggot!!"] = "Aufgepasst, du Made!!",
+--      ["Little did they know that this hunt will mark them forever..."] = "", -- A_Classic_Fairytale:shadow
+--      ["Lively Lifeguard"] = "",
+--      ["Lonely Cries: [Rise the water if no hog is in the circle and deal 1 damage to all hogs]"] = "", -- Continental_supplies
+--      ["Look, I had no choice!"] = "", -- A_Classic_Fairytale:backstab
+--      ["Look out! There's more of them!"] = "", -- A_Classic_Fairytale:backstab
+--      ["Look out! We're surrounded by cannibals!"] = "", -- A_Classic_Fairytale:enemy
+--      ["Looks like the whole world is falling apart!"] = "", -- A_Classic_Fairytale:enemy
+--      ["Luckily, I've managed to snatch some of them."] = "", -- A_Classic_Fairytale:united
+--      ["LUDICROUS KILL"] = "", -- Mutant
+--      ["May the spirits aid you in all your quests!"] = "", -- A_Classic_Fairytale:backstab
+--      ["Medicine: [Fire some exploding medicine that will heal all hogs effected by the explosion]"] = "", -- Continental_supplies
+--      ["MEGA KILL"] = "", -- Mutant
+--      ["Meiwes"] = "", -- A_Classic_Fairytale:backstab
+--      ["Mindy"] = "", -- A_Classic_Fairytale:united
+	["Mine Deployer"] = "Minenleger",
+	["Mine Eater!"] = "Minenfresser!",
+	["|- Mines Time:"] = "| - Minenzündzeit: ", -- User_Mission_-_Diver, User_Mission_-_Spooky_Tree, User_Mission_-_Teamwork
+	["MISSION FAILED"] = "MISSION GESCHEITERT", -- User_Mission_-_Dangerous_Ducklings, User_Mission_-_Diver, User_Mission_-_Spooky_Tree, User_Mission_-_Teamwork
+	["MISSION SUCCESSFUL"] = "MISSION ERFOLGREICH", -- User_Mission_-_Diver, User_Mission_-_Spooky_Tree, User_Mission_-_Teamwork
+	["MISSION SUCCESS"] = "MISSIONSERFOLG",
+--      ["Molotov"] = "", -- Continental_supplies
+--      ["MONSTER KILL"] = "", -- Mutant
+--      ["More Natives"] = "", -- A_Classic_Fairytale:epil
+	["Movement: [Up], [Down], [Left], [Right]"] = "Bewegung: [Hoch], [Runter], [Links], [Rechts]",
+--      ["Multi-shot!"] = "",
+	["Munition!"] = "Munition erschöpft!",
+--      ["Muriel"] = "", -- A_Classic_Fairytale:backstab, A_Classic_Fairytale:dragon, A_Classic_Fairytale:family, A_Classic_Fairytale:queen
+--      ["Muscle Dissolver"] = "", -- A_Classic_Fairytale:shadow
+--      ["-------"] = "", -- Mutant
+--      ["Nade Boy"] = "", -- Basic_Training_-_Grenade
+--      ["Name"] = "", -- A_Classic_Fairytale:queen
+	["Nameless Heroes"] = "Namenlose Helden",
+--      ["Nancy Screw"] = "", -- A_Classic_Fairytale:enemy, A_Classic_Fairytale:queen
+--      ["Napalm rocket: [Fire a bomb with napalm!]"] = "", -- Continental_supplies
+--      ["Natives"] = "", -- A_Classic_Fairytale:backstab, A_Classic_Fairytale:dragon, A_Classic_Fairytale:enemy, A_Classic_Fairytale:epil, A_Classic_Fairytale:family, A_Classic_Fairytale:first_blood, A_Classic_Fairytale:journey, A_Classic_Fairytale:queen, A_Classic_Fairytale:shadow, A_Classic_Fairytale:united
+	["New Barrels Per Turn"] = "Neue Fässer jede Runde",
+	["NEW CLAN RECORD: "] = "NEUER KLAN-REKORD",
+	["NEW fastest lap: "] = "NEUE schnellste Runde: ",
+	["New Mines Per Turn"] = "Neue Minen jede Runde",
+	["NEW RACE RECORD: "] = "NEUER RENNREKORD: ",
+--      ["Newton's Hammock"] = "",
+--      ["Nicely done, meatbags!"] = "", -- A_Classic_Fairytale:enemy
+--      ["Nice work, "] = "", -- A_Classic_Fairytale:dragon
+--      ["Nice work!"] = "", -- A_Classic_Fairytale:enemy
+--      ["Nilarian"] = "", -- A_Classic_Fairytale:queen
+--      ["No, I came back to help you out..."] = "", -- A_Classic_Fairytale:shadow
+--      ["No...I wonder where they disappeared?!"] = "", -- A_Classic_Fairytale:journey
+--      ["Nom-Nom"] = "", -- A_Classic_Fairytale:journey
+--      ["NomNom"] = "", -- A_Classic_Fairytale:united
+--      ["Nope. It was one fast mole, that's for sure."] = "", -- A_Classic_Fairytale:shadow
+--      ["No! Please, help me!"] = "", -- A_Classic_Fairytale:journey
+--      ["NORMAL"] = "", -- Continental_supplies
+--      ["North America"] = "", -- Continental_supplies
+--      ["Not all hogs are born equal."] = "", -- Highlander
+	["NOT ENOUGH WAYPOINTS"] = "NICHT GENUG WEGPUNKTE",
+--      ["Not now, Fiery Water!"] = "", -- A_Classic_Fairytale:backstab
+	["Not So Friendly Match"] = "Kein-so-Freundschaftsspiel", -- Basketball, Knockball
+--      ["Not you again! My head still hurts from last time!"] = "", -- A_Classic_Fairytale:shadow
+--      ["No, we made sure of that!"] = "", -- A_Classic_Fairytale:united
+--      ["Now find the next target! |Tip: Normally you lose health by falling down, so be careful!"] = "", -- Basic_Training_-_Rope
+--      ["No! What have I done?! What have YOU done?!"] = "", -- A_Classic_Fairytale:journey
+--      ["No. Where did he come from?"] = "", -- A_Classic_Fairytale:shadow
+--      ["Now how do I get on the other side?!"] = "", -- A_Classic_Fairytale:dragon
+--      ["No. You and the rest of the tribe are safer there!"] = "", -- A_Classic_Fairytale:backstab
+--      ["Obliterate them!|Hint: You might want to take cover..."] = "", -- A_Classic_Fairytale:shadow
+--      ["Obstacle course"] = "", -- A_Classic_Fairytale:dragon
+--      ["Of course I have to save her. What did I expect?!"] = "", -- A_Classic_Fairytale:family
+--      ["OH, COME ON!"] = "", -- A_Classic_Fairytale:journey
+--      ["Oh, my!"] = "", -- A_Classic_Fairytale:first_blood
+--      ["Oh, my! This is even more entertaining than I've expected!"] = "", -- A_Classic_Fairytale:backstab
+	["Oh no! Just try again!"] = "Oh nein! Versuch's nochmal!", -- User_Mission_-_Diver, User_Mission_-_Spooky_Tree, User_Mission_-_Teamwork
+--      ["Oh no, not "] = "", -- A_Classic_Fairytale:backstab, A_Classic_Fairytale:united
+	["Oh no! Time's up! Just try again."] = "Oh nein! Die Zeit ist um! Versuche es nochmal.", --Bazooka, Shotgun, SniperRifle
+--      ["Oh no! You failed! Just try again."] = "", -- Basic_Training_-_Cluster_Bomb
+--      ["Oh, silly me! I forgot that I'm the shaman."] = "", -- A_Classic_Fairytale:backstab
+--      ["Olive"] = "", -- A_Classic_Fairytale:united
+--      ["Omnivore"] = "", -- A_Classic_Fairytale:first_blood
+--      ["Once upon a time, on an island with great natural resources, lived two tribes in heated conflict..."] = "", -- A_Classic_Fairytale:first_blood
+--      ["ONE HOG PER TEAM! KILLING EXCESS HEDGES"] = "", -- Mutant
+--      ["One tribe was peaceful, spending their time hunting and training, enjoying the small pleasures of life..."] = "", -- A_Classic_Fairytale:first_blood
+--      ["Oops...I dropped them."] = "", -- A_Classic_Fairytale:united
+--      ["Open that crate and we will continue!"] = "", -- A_Classic_Fairytale:first_blood
+--      ["Operation Diver"] = "",
+	["Opposing Team: "] = "Gegnerisches Team: ",
+--      ["Orlando Boom!"] = "", -- A_Classic_Fairytale:queen
+--      ["Ouch!"] = "", -- User_Mission_-_Rope_Knock_Challenge
+--      ["Our tribe, our beautiful island!"] = "", -- A_Classic_Fairytale:enemy
+--      ["Parachute"] = "", -- Continental_supplies
+	["Pathetic Hog #%d"] = "Erbärmlicher Igel #%d",
+	["Pathetic Resistance"] = "Erbärmlicher Widerstand", -- User_Mission_-_Bamboo_Thicket, User_Mission_-_Newton_and_the_Hammock
+--      ["Perfect! Now try to get the next crate without hurting yourself!"] = "", -- A_Classic_Fairytale:first_blood
+	["Per-Hog Ammo"] = "Munition pro Igel",
+--      ["- Per team weapons|- 9 weaponschemes|- Unique new weapons| |Select continent first round with the Weapon Menu or by ([switch/tab]=Increase,[precise/left shift]=Decrease) on Skip|Some weapons have a second option. Find them with [switch/tab]"] = "", -- Continental_supplies
+
+--      ["Pfew! That was close!"] = "", -- A_Classic_Fairytale:shadow
+--      ["Piñata bullet: [Contains some sweet candy!]"] = "", -- Continental_supplies
+--      ["Pings left:"] = "", -- Space_Invasion
+
+	["Place more waypoints using the 'Air Attack' weapon."] = "Platziere mehr Wegpunkte durch Verwenden der 'Luftangriff'-Waffe",
+--      ["Planes Used:"] = "", -- User_Mission_-_RCPlane_Challenge
+--      ["Planes Used"] = "", -- User_Mission_-_RCPlane_Challenge
+--      ["Play with me!"] = "", -- A_Classic_Fairytale:shadow
+--      ["Please place the way-point further from the waterline."] = "", -- Racer
+--      ["Please place the way-point in the open, within the map boundaries."] = "", -- Racer
+--      ["Please, stop releasing your \"smoke signals\"!"] = "", -- A_Classic_Fairytale:shadow
+--      ["Point Blank Combo!"] = "", -- Space_Invasion
+	["points"] = "Punkte", -- Control, CTF_Blizzard, Basic_Training_-_Bazooka, Basic_Training_-_Shotgun, Basic_Training_-_Sniper_Rifle
+	["Poison"] = "Gift",
+--      ["Portal hint: one goes to the destination, and one is the entrance.|"] = "", -- A_Classic_Fairytale:dragon
+--      ["Portal mission"] = "", -- portal
+	["Power Remaining"] = "Verbleibende Energie",
+	["Prepare yourself"] = "Mach dich bereit",
+--      ["Press [Enter] to accept this configuration."] = "", -- WxW
+--      ["Press [Left] or [Right] to move around, [Enter] to jump"] = "", -- A_Classic_Fairytale:first_blood
+--      ["Press [Precise] to skip intro"] = "",
+--      ["Private Novak"] = "", -- Basic_Training_-_Cluster_Bomb
+--      ["Protect yourselves!|Grenade hint: set the timer with [1-5], aim with [Up]/[Down] and hold [Space] to set power"] = "", -- A_Classic_Fairytale:shadow
+	["PUNKTESTAND"] = "",
+	["Race complexity limit reached."] = "Rennkomplexitätslimit erreicht.",
+--      ["RACER"] = "",
+--      ["Rachel"] = "", -- A_Classic_Fairytale:dragon, A_Classic_Fairytale:family, A_Classic_Fairytale:queen
+--      ["Radar Ping"] = "", -- Space_Invasion
+--      ["Raging Buffalo"] = "", -- A_Classic_Fairytale:backstab, A_Classic_Fairytale:dragon, A_Classic_Fairytale:enemy, A_Classic_Fairytale:epil, A_Classic_Fairytale:family, A_Classic_Fairytale:queen, A_Classic_Fairytale:united
+--      ["Ramon"] = "", -- A_Classic_Fairytale:enemy, A_Classic_Fairytale:epil, A_Classic_Fairytale:family, A_Classic_Fairytale:queen, A_Classic_Fairytale:shadow
+--      ["RC PLANE TRAINING"] = "", -- User_Mission_-_RCPlane_Challenge
+--      ["Really?! You thought you could harm me with your little toys?"] = "", -- A_Classic_Fairytale:shadow
+--      ["Regurgitator"] = "", -- A_Classic_Fairytale:backstab
+--      ["Reinforcements"] = "", -- A_Classic_Fairytale:backstab
+--      ["Remember: The rope only bend around objects, |if it doesn't hit anything it's always stright!"] = "", -- Basic_Training_-_Rope
+--      ["Remember this, pathetic animal: when the day comes, you will regret your blind loyalty!"] = "", -- A_Classic_Fairytale:shadow
+	[" - Return the enemy flag to your base to score | - First team to 3 captures wins | - You may only score when your flag is in your base | - Hogs will drop the flag if killed, or drowned | - Dropped flags may be returned or recaptured | - Hogs respawn when killed"] = " - Bringe die gegnerische Flagge zu deiner Heimatbasis um zu punkten. | - Das Team das zuerst 3 Flaggen erobert gewinnt. | - Du kannst nur punkten wenn deine eigene Flagge in deiner Basis ist | - Igel lassen die Flagge fallen wenn sie sterben oder ertrinken | - Fallen gelassene Flaggen können zurückgebracht oder wieder gestohlen werden | - Igel tauchen nach ihrem Tod wieder auf",
+--      ["Return to Leaks A Lot! If you get stuck, press [Precise] to try again!"] = "", -- A_Classic_Fairytale:shadow
+--      ["Righteous Beard"] = "", -- A_Classic_Fairytale:backstab, A_Classic_Fairytale:dragon, A_Classic_Fairytale:enemy, A_Classic_Fairytale:epil, A_Classic_Fairytale:family, A_Classic_Fairytale:first_blood, A_Classic_Fairytale:queen, A_Classic_Fairytale:united
+--      ["ROPE-KNOCKING"] = "", -- User_Mission_-_Rope_Knock_Challenge
+--      ["Rope Training"] = "", -- Basic_Training_-_Rope
+--      ["Rot Molester"] = "", -- A_Classic_Fairytale:shadow
+--      ["Round Limit:"] = "",
+	["Round Limit"] = "Rundenbegrenzung",
+--      ["Rounds Complete: "] = "",
+	["Rounds Complete"] = "Runden Gespielt",
+	["RULES OF THE GAME [Press ESC to view]"] = "SPIEL REGELN (Drücke ESC zum Anzeigen)",
+--      ["Rusty Joe"] = "", -- A_Classic_Fairytale:queen
+--      ["s|"] = "",
+--      ["Sabotage: [Sabotage all hogs in the circle and deal ~10 dmg]"] = "", -- Continental_supplies
+--      ["Salivaslurper"] = "", -- A_Classic_Fairytale:united
+--      ["Salvation"] = "", -- A_Classic_Fairytale:family
+--      ["Salvation was one step closer now..."] = "", -- A_Classic_Fairytale:dragon
+	["Save as many hapless hogs as possible!"] = "Rette so viele glücklose Igel als möglich!",
+--      ["Save Fell From Heaven!"] = "", -- A_Classic_Fairytale:journey
+--      ["Save Leaks A Lot!|Hint: The Switch utility might be of help to you."] = "", -- A_Classic_Fairytale:shadow
+--      ["Save the princess! All your hogs must survive!|Hint: Kill the cyborgs first! Use the ammo very carefully!|Hint: You might want to spare a girder for cover!"] = "", -- A_Classic_Fairytale:family
+--      ["Save the princess by collecting the crate in under 12 turns!"] = "", -- A_Classic_Fairytale:journey
+--      ["Scalp Muncher"] = "", -- A_Classic_Fairytale:backstab
+--      ["Score"] = "", -- Mutant
+--      ["SCORE"] = "", -- Space_Invasion
+--      ["Scream from a Walrus: [Deal 20 damage + 10% of your hogs health to all hogs around you and get half back]"] = "", -- Continental_supplies
+--      ["sec"] = "", -- CTF_Blizzard, TrophyRace, Basic_Training_-_Bazooka, Basic_Training_-_Shotgun, Basic_Training_-_Sniper_Rifle, User_Mission_-_Diver, User_Mission_-_Spooky_Tree, User_Mission_-_Teamwork, Capture_the_Flag
+--      ["Seduction"] = "", -- Continental_supplies
+--      ["Seems like every time you take a \"walk\", the enemy find us!"] = "", -- A_Classic_Fairytale:backstab
+--      ["See that crate farther on the right?"] = "", -- A_Classic_Fairytale:first_blood
+	["See ya!"] = "Mach's gut!",
+--      ["Segmentation Paul"] = "", -- A_Classic_Fairytale:dragon
+--      ["Select continent!"] = "", -- Continental_supplies
+--      ["Select difficulty: [Left] - easier or [Right] - harder"] = "", -- A_Classic_Fairytale:first_blood
+	["selected!"] = "ausgewählt!",
+--      ["s"] = "", -- GaudyRacer, Space_Invasion
+--      ["... share your beauty with the world every morning, my princess!"] = "", -- A_Classic_Fairytale:journey
+--      ["She's behind that tall thingy."] = "", -- A_Classic_Fairytale:family
+	["Shield boosted! +30 power"] = "Schild verstärkt! +30 Energie",
+	["Shield Depleted"] = "Schild aufgebraucht!",
+	["Shield is fully recharged!"] = "Schild vollständig aufgeladen!",
+	["Shield Master!"] = "Schildmeister!",
+	["Shield Miser!"] = "Schildgieriger",
+	["Shield OFF:"] = "Schild AUS:",
+	["Shield ON:"] = "Schild AN:",
+	["Shield Seeker!"] = "Schildsucher!",
+--      ["Shotgun"] = "", -- Continental_supplies
+	["Shotgun Team"] = "Schrotflinten-Team",
+	["Shotgun Training"] = "Schrotflinten-Training",
+	["shots remaining."] = "Schüsse übrig",
+	["Silly"] = "Doofi",
+	["Sinky"] = "Blubb",
+--      ["Sirius Lee"] = "", -- A_Classic_Fairytale:enemy
+	["%s is out and Team %d|scored a penalty!| |Score:"] = "%s ist draußen und Team %d|erhält eine Strafe!| |Punktestand:", -- Basketball, Knockball
+	["%s is out and Team %d|scored a point!| |Score:"] = "%s ist draußen und Team %d|erhält einen Punkt!| |Punktestand:", -- Basketball, Knockball
+--      ["Slippery"] = "", -- A_Classic_Fairytale:journey
+--      ["Smith 0.97"] = "", -- A_Classic_Fairytale:enemy
+--      ["Smith 0.98"] = "", -- A_Classic_Fairytale:enemy
+--      ["Smith 0.99a"] = "", -- A_Classic_Fairytale:enemy
+--      ["Smith 0.99b"] = "", -- A_Classic_Fairytale:enemy
+--      ["Smith 0.99f"] = "", -- A_Classic_Fairytale:enemy
+--      ["Smith 1.0"] = "", -- A_Classic_Fairytale:enemy
+--      ["Sniper Rifle"] = "", -- Continental_supplies
+--      ["Sniper!"] = "", -- Space_Invasion
+	["Sniper Training"] = "Scharfschützen-Training",
+	["Sniperz"] = "Heckenschützen",
+--      ["So humiliating..."] = "", -- A_Classic_Fairytale:first_blood
+--      ["South America"] = "", -- Continental_supplies
+--      ["So? What will it be?"] = "", -- A_Classic_Fairytale:shadow
+--      ["Spawn the crate, and attack!"] = "", -- WxW
+--      ["Special Weapons:"] = "", -- Continental_supplies
+	["Spielmodifikatoren: "] = "",
+--      ["Spiky Cheese"] = "", -- A_Classic_Fairytale:enemy, A_Classic_Fairytale:epil, A_Classic_Fairytale:family, A_Classic_Fairytale:queen, A_Classic_Fairytale:shadow
+--      ["Spleenlover"] = "", -- A_Classic_Fairytale:united
+	["Sponge"] = "Schwamm",
+--      ["Spooky Tree"] = "",
+--      ["STATUS UPDATE"] = "", -- GaudyRacer, Space_Invasion
+--      ["Steel Eye"] = "", -- A_Classic_Fairytale:queen
+--      ["Step By Step"] = "", -- A_Classic_Fairytale:first_blood
+--      ["Steve"] = "", -- A_Classic_Fairytale:dragon, A_Classic_Fairytale:family, A_Classic_Fairytale:queen
+--      ["Sticky Mine"] = "", -- Continental_supplies
+--      ["Stronglings"] = "", -- A_Classic_Fairytale:shadow
+--      ["Structure"] = "", -- Continental_supplies
+--      ["Super Weapons"] = "", -- WxW
+--      ["Surf Before Crate"] = "", -- WxW
+--      ["Surfer! +15 points!"] = "", -- Space_Invasion
+--      ["Surfer!"] = "", -- WxW
+--      ["Survive!|Hint: Cinematics can be skipped with the [Precise] key."] = "", -- A_Classic_Fairytale:shadow
+--      ["Swing, Leaks A Lot, on the wings of the wind!"] = "", -- A_Classic_Fairytale:first_blood
+	["Switched to "] = "Gewechselt zu ",
+--      ["Syntax Errol"] = "", -- A_Classic_Fairytale:dragon
+--      ["Talk about mixed signals..."] = "", -- A_Classic_Fairytale:dragon
+--	["Team %d: "] = "",
+	["Team Scores"] = "Teampunktestand", -- Control, Space_Invasion
+--      ["Teleport hint: just use the mouse to select the destination!"] = "", -- A_Classic_Fairytale:dragon
+--      ["Thanks!"] = "", -- A_Classic_Fairytale:family
+--      ["Thank you, my hero!"] = "", -- A_Classic_Fairytale:family
+--      ["Thank you, oh, thank you, Leaks A Lot!"] = "", -- A_Classic_Fairytale:journey
+--      ["Thank you, oh, thank you, my heroes!"] = "", -- A_Classic_Fairytale:journey
+--      ["That is, indeed, very weird..."] = "", -- A_Classic_Fairytale:united
+--      ["That makes it almost invaluable!"] = "", -- A_Classic_Fairytale:enemy
+--      ["That ought to show them!"] = "", -- A_Classic_Fairytale:backstab
+--      ["That's for my father!"] = "", -- A_Classic_Fairytale:backstab
+--      ["That shaman sure knows what he's doing!"] = "", -- A_Classic_Fairytale:shadow
+--      ["That Sinking Feeling"] = "",
+--      ["That's not our problem!"] = "", -- A_Classic_Fairytale:enemy
+--      ["That's typical of you!"] = "", -- A_Classic_Fairytale:family
+--      ["That was just mean!"] = "", -- A_Classic_Fairytale:backstab, A_Classic_Fairytale:united
+	["That was pointless."] = "Das war sinnlos.",
+--      ["The answer is...entertaintment. You'll see what I mean."] = "", -- A_Classic_Fairytale:backstab
+--      ["The anti-portal zone is all over the floor, and I have nothing to kill him...Droping something could hurt him enough to kill him..."] = "", -- portal
+--      ["The Bull's Eye"] = "", -- A_Classic_Fairytale:first_blood
+--      ["The caves are well hidden, they won't find us there!"] = "", -- A_Classic_Fairytale:united
+--      ["The Crate Frenzy"] = "", -- A_Classic_Fairytale:first_blood
+--      ["The Dilemma"] = "", -- A_Classic_Fairytale:shadow
+--      ["The enemy can't move but it might be a good idea to stay out of sight!|"] = "", -- A_Classic_Fairytale:dragon
+	["The enemy is hiding out on yonder ducky!"] = "Der Feind versteckt sich auf dem Entlein dort drüben!",
+--      ["The Enemy Of My Enemy"] = "", -- A_Classic_Fairytale:enemy
+--      ["The First Blood"] = "", -- A_Classic_Fairytale:first_blood
+--      ["The First Encounter"] = "", -- A_Classic_Fairytale:shadow
+	["The flag will respawn next round."] = "Die Fahne wird nächste Runde wieder auftauchen.",
+--      ["The food bites back"] = "", -- A_Classic_Fairytale:backstab
+--      ["The giant umbrella from the last crate should help break the fall."] = "", -- A_Classic_Fairytale:first_blood
+--      ["The Great Escape"] = "", -- User_Mission_-_The_Great_Escape
+--      ["The guardian"] = "", -- A_Classic_Fairytale:shadow
+--      ["The Individualist"] = "", -- A_Classic_Fairytale:shadow
+--      ["Their buildings were very primitive back then, even for an uncivilised island."] = "", -- A_Classic_Fairytale:united
+--      ["The Journey Back"] = "", -- A_Classic_Fairytale:journey
+--      ["The Leap of Faith"] = "", -- A_Classic_Fairytale:first_blood
+--      ["The Moonwalk"] = "", -- A_Classic_Fairytale:journey
+	["The Nameless One"] = "Der Namenlose",
+--      ["The next one is pretty hard! |Tip: You have to do multiple swings!"] = "", -- Basic_Training_-_Rope
+--      ["Then how do they keep appearing?"] = "", -- A_Classic_Fairytale:shadow
+--      ["The other one were all cannibals, spending their time eating the organs of fellow hedgehogs..."] = "", -- A_Classic_Fairytale:first_blood
+--      ["There must be a spy among us!"] = "", -- A_Classic_Fairytale:backstab
+--      ["There's more of them? When did they become so hungry?"] = "", -- A_Classic_Fairytale:backstab, A_Classic_Fairytale:united
+--      ["There's nothing more satisfying for me than seeing you share your beauty with the world every morning, my princess!"] = "", -- A_Classic_Fairytale:journey
+--      ["There's nothing more satisfying to us than seeing you share your beauty..."] = "", -- A_Classic_Fairytale:journey
+--      ["There's nothing more satisfying to us than seeing you share your beauty with the world every morning, my princess!"] = "", -- A_Classic_Fairytale:journey
+--      ["The Rising"] = "", -- A_Classic_Fairytale:first_blood
+--      ["The Savior"] = "", -- A_Classic_Fairytale:journey
+--      ["These primitive people are so funny!"] = "", -- A_Classic_Fairytale:backstab
+--      ["The Shadow Falls"] = "", -- A_Classic_Fairytale:shadow
+--      ["The Showdown"] = "", -- A_Classic_Fairytale:shadow
+--      ["The Slaughter"] = "", -- A_Classic_Fairytale:dragon, A_Classic_Fairytale:first_blood
+	["THE SPECIALISTS"] = "DIE SPEZIALISTEN",
+--      ["The spirits of the ancerstors are surely pleased, Leaks A Lot."] = "", -- A_Classic_Fairytale:first_blood
+--      ["The Torment"] = "", -- A_Classic_Fairytale:first_blood
+--      ["The Tunnel Maker"] = "", -- A_Classic_Fairytale:journey
+--      ["The Ultimate Weapon"] = "", -- A_Classic_Fairytale:first_blood
+--      ["The Union"] = "", -- A_Classic_Fairytale:enemy
+--      ["The village, unprepared, was destroyed by the cyborgs..."] = "", -- A_Classic_Fairytale:journey
+--      ["The walk of Fame"] = "", -- A_Classic_Fairytale:shadow
+--      ["The wasted youth"] = "", -- A_Classic_Fairytale:first_blood
+--      ["The weapon in that last crate was bestowed upon us by the ancients!"] = "", -- A_Classic_Fairytale:first_blood
+--      ["The what?!"] = "", -- A_Classic_Fairytale:dragon
+--      ["The wind whispers that you are ready to become familiar with tools, now..."] = "", -- A_Classic_Fairytale:first_blood
+--      ["They are all waiting back in the village, haha."] = "", -- A_Classic_Fairytale:enemy
+--      ["They Call Me Bullseye!"] = "", -- Space_Invasion
+--      ["They have weapons we've never seen before!"] = "", -- A_Classic_Fairytale:united
+--      ["They keep appearing like this. It's weird!"] = "", -- A_Classic_Fairytale:united
+--      ["They killed "] = "", -- A_Classic_Fairytale:backstab, A_Classic_Fairytale:united
+--      ["They must be trying to weaken us!"] = "", -- A_Classic_Fairytale:enemy
+--      ["They never learn"] = "", -- A_Classic_Fairytale:journey
+--      ["They told us to wear these clothes. They said that this is the newest trend."] = "", -- A_Classic_Fairytale:enemy
+--      ["They've been manipulating us all this time!"] = "", -- A_Classic_Fairytale:enemy
+--      ["Thighlicker"] = "", -- A_Classic_Fairytale:united
+--      ["This is it! It's time to make Fell From Heaven fall for me..."] = "", -- A_Classic_Fairytale:first_blood
+--      ["This island is the only place left on Earth with grass on it!"] = "", -- A_Classic_Fairytale:enemy
+--      ["This is typical!"] = "", -- A_Classic_Fairytale:dragon
+--      ["This must be some kind of sorcery!"] = "", -- A_Classic_Fairytale:shadow
+--      ["This must be the caves!"] = "", -- A_Classic_Fairytale:backstab
+	["This one's tricky."] = "Der hier ist knifflig.",
+	["This rain is really something..."] = "Das nenne ich mal einen Regenschauer...",
+--      ["This will be fun!"] = "", -- A_Classic_Fairytale:enemy
+--      ["Those aliens are destroying the island!"] = "", -- A_Classic_Fairytale:family
+	["Timed Kamikaze!"] = "Pünktliches Kamikaze!",
+	["Time Extended!"] = "Zeit verlängert!",
+	["Time Extension"] = "Zeitverlängerung",
+	["Time Left: "] = "Verbleibende Zeit",
+	["TIME: "] = "ZEIT: ",
+--      ["Tip: The rope physics are different than in the real world, |use it to your advantage!"] = "", -- Basic_Training_-_Rope
+	["Toggle Shield"] = "Schild ein/aus",
+--      ["To help you, of course!"] = "", -- A_Classic_Fairytale:journey
+--      ["To place a girder, select it, use [Left] and [Right] to select angle and length, place with [Left Click]"] = "", -- A_Classic_Fairytale:shadow
+--      ["Torn Muscle"] = "", -- A_Classic_Fairytale:journey
+--      [" to save the village."] = "", -- A_Classic_Fairytale:dragon
+--      ["To the caves..."] = "", -- A_Classic_Fairytale:united
+	["Toxic Team"] = "Giftige Gegner", -- User_Mission_-_Diver, User_Mission_-_Spooky_Tree, User_Mission_-_Teamwork
+	["TRACK COMPLETED"] = "STRECKENLAUF BEENDET",
+	["TRACK FAILED!"] = "STRECKENLAUF GESCHEITERT",
+--      ["training"] = "", -- portal
+--      ["Traitors"] = "", -- A_Classic_Fairytale:epil
+--      ["Tribe"] = "", -- A_Classic_Fairytale:backstab
+--	["TrophyRace"] = "",
+--      ["Try to protect the chief! You won't lose if he dies, but it is advised that he survives."] = "", -- A_Classic_Fairytale:united
+--      ["T_T"] = "",
+	["Tumbling Time Extended!"] = "Purzelzeit verlängert!",
+--      ["Turns until Sudden Death: "] = "", -- A_Classic_Fairytale:dragon
+--      [" turns until Sudden Death! Better hurry!"] = "", -- A_Classic_Fairytale:dragon
+	["Turn Time"] = "Zeit pro Zug",
+--      ["Two little hogs cooperating, getting past obstacles..."] = "", -- A_Classic_Fairytale:journey
+--      ["Uhm...I met one of them and took his weapons."] = "", -- A_Classic_Fairytale:shadow
+--      ["Uhmm...ok no."] = "", -- A_Classic_Fairytale:enemy
+--      ["ULTRA KILL"] = "", -- Mutant
+--      ["Under Construction"] = "", -- A_Classic_Fairytale:shadow
+--      ["Unexpected Igor"] = "", -- A_Classic_Fairytale:dragon
+--      ["Unit 0x0007"] = "", -- A_Classic_Fairytale:family
+--      ["Unit 334a$7%;.*"] = "", -- A_Classic_Fairytale:backstab, A_Classic_Fairytale:dragon, A_Classic_Fairytale:enemy, A_Classic_Fairytale:family, A_Classic_Fairytale:queen, A_Classic_Fairytale:united
+	["Unit 3378"] = "Einheit 3378",
+	["Unit 835"] = "Einheit 3378",
+--      ["United We Stand"] = "", -- A_Classic_Fairytale:united
+	["Unit"] = "Einheit",
+	["Unlimited Attacks"] = "Unbegrenzte Angriffe",
+--      ["Unlucky Sods"] = "", -- User_Mission_-_Rope_Knock_Challenge
+	["Unstoppable!"] = "Unaufhaltbar!",
+--      ["Unsuspecting Louts"] = "", -- User_Mission_-_Rope_Knock_Challenge
+--      ["[Up], [Down] to aim, [Space] to shoot!"] = "", -- A_Classic_Fairytale:first_blood
+--      ["Use it wisely!"] = "", -- A_Classic_Fairytale:dragon
+--      ["Use it with precaution!"] = "", -- A_Classic_Fairytale:first_blood
+--      ["User Challenge"] = "",
+
+--      ["Use the portal gun to get to the next crate, then use the new gun to get to the final destination!|"] = "", -- A_Classic_Fairytale:dragon
+--      ["Use the rope to get on the head of the mole, young one!"] = "", -- A_Classic_Fairytale:first_blood
+--      ["Use the rope to knock your enemies to their doom."] = "", -- User_Mission_-_Rope_Knock_Challenge
+	["Use your rope to get from start to finish as fast as you can!"] = "Nutze das Seil um von Start zu Ziel zu gelangen - so schnell du kannst!",
+--      ["Vedgies"] = "", -- A_Classic_Fairytale:journey
+--      ["Vegan Jack"] = "", -- A_Classic_Fairytale:enemy
+--      ["Victory!"] = "", -- Basic_Training_-_Rope
+	["Victory for the "] = "Sieg für ", -- CTF_Blizzard, Capture_the_Flag
+--      ["Violence is not the answer to your problems!"] = "", -- A_Classic_Fairytale:first_blood
+--      ["Walls Left"] = "", -- WxW
+--      ["Walls Required"] = "", -- WxW
+--      ["WALL TO WALL"] = "", -- WxW
+--      ["Wannabe Flyboys"] = "", -- User_Mission_-_RCPlane_Challenge
+--      ["Wannabe Shoppsta"] = "", -- User_Mission_-_Rope_Knock_Challenge
+--      ["Watch your steps, young one!"] = "", -- A_Classic_Fairytale:first_blood
+	["Waypoint placed."] = "Wegpunkt gesetzt",
+	["Way-Points Remaining"] = "Wegpunkte verbleibend",
+--      ["Weaklings"] = "", -- A_Classic_Fairytale:shadow
+--      ["We all know what happens when you get frightened..."] = "", -- A_Classic_Fairytale:first_blood
+--      ["Weapons reset."] = "", -- Highlander
+	["Weapons Reset"] = "Waffenzurücksetzung",
+--      ["We are indeed."] = "", -- A_Classic_Fairytale:backstab
+--      ["We can't defeat them!"] = "", -- A_Classic_Fairytale:shadow
+--      ["We can't hold them up much longer!"] = "", -- A_Classic_Fairytale:united
+--      ["We can't let them take over our little island!"] = "", -- A_Classic_Fairytale:enemy
+--      ["We have no time to waste..."] = "", -- A_Classic_Fairytale:journey
+--      ["We have nowhere else to live!"] = "", -- A_Classic_Fairytale:enemy
+--      ["We have to protect the village!"] = "", -- A_Classic_Fairytale:united
+--      ["We have to unite and defeat those cylergs!"] = "", -- A_Classic_Fairytale:enemy
+--      ["Welcome, Leaks A Lot!"] = "", -- A_Classic_Fairytale:journey
+	["Well done."] = "Gut gemacht.",
+--      ["We'll give you a problem then!"] = "", -- A_Classic_Fairytale:enemy
+--      ["We'll spare your life for now!"] = "", -- A_Classic_Fairytale:backstab
+--      ["Well, that was a waste of time."] = "", -- A_Classic_Fairytale:dragon
+--      ["Well, well! Isn't that the cutest thing you've ever seen?"] = "", -- A_Classic_Fairytale:journey
+--      ["Well, yes. This was a cyborg television show."] = "", -- A_Classic_Fairytale:enemy
+--      ["We made sure noone followed us!"] = "", -- A_Classic_Fairytale:backstab
+--      ["We need to move!"] = "", -- A_Classic_Fairytale:united
+--      ["We need to prevent their arrival!"] = "", -- A_Classic_Fairytale:backstab
+--      ["We need to warn the village."] = "", -- A_Classic_Fairytale:shadow
+--      ["We should head back to the village now."] = "", -- A_Classic_Fairytale:shadow
+--      ["We were trying to save her and we got lost."] = "", -- A_Classic_Fairytale:family
+--      ["We won't let you hurt her!"] = "", -- A_Classic_Fairytale:journey
+--      ["What?! A cannibal? Here? There is no time to waste! Come, you are prepared."] = "", -- A_Classic_Fairytale:first_blood
+--      ["What a douche!"] = "", -- A_Classic_Fairytale:enemy
+--      ["What am I gonna...eat, yo?"] = "", -- A_Classic_Fairytale:family
+--      ["What are you doing at a distance so great, young one?"] = "", -- A_Classic_Fairytale:first_blood
+--      ["What are you doing? Let her go!"] = "", -- A_Classic_Fairytale:journey
+--      ["What a ride!"] = "", -- A_Classic_Fairytale:shadow
+--      ["What a strange cave!"] = "", -- A_Classic_Fairytale:dragon
+--      ["What a strange feeling!"] = "", -- A_Classic_Fairytale:backstab
+--      ["What do my faulty eyes observe? A spy!"] = "", -- A_Classic_Fairytale:first_blood
+--      ["Whatever floats your boat..."] = "", -- A_Classic_Fairytale:shadow
+--      [" What !! For all of this struggle i just win some ... TIME o0"] = "", -- portal
+--      ["What has "] = "", -- A_Classic_Fairytale:backstab
+--      ["What? Here? How did they find us?!"] = "", -- A_Classic_Fairytale:backstab
+--      ["What is this place?"] = "", -- A_Classic_Fairytale:dragon, A_Classic_Fairytale:enemy
+--      ["What shall we do with the traitor?"] = "", -- A_Classic_Fairytale:backstab
+--      ["WHAT?! You're the ones attacking us!"] = "", -- A_Classic_Fairytale:enemy
+--      ["When?"] = "", -- A_Classic_Fairytale:enemy
+--      ["When I find it..."] = "", -- A_Classic_Fairytale:dragon
+--      ["Where are all these crates coming from?!"] = "", -- A_Classic_Fairytale:shadow
+--      ["Where are they?!"] = "", -- A_Classic_Fairytale:backstab
+--      ["Where did that alien run?"] = "", -- A_Classic_Fairytale:dragon
+--      ["Where did you get the exploding apples?"] = "", -- A_Classic_Fairytale:shadow
+--      ["Where did you get the exploding apples and the magic bow that shoots many arrows?"] = "", -- A_Classic_Fairytale:shadow
+--      ["Where did you get the magic bow that shoots many arrows?"] = "", -- A_Classic_Fairytale:shadow
+--      ["Where did you get the weapons in the forest, Dense Cloud?"] = "", -- A_Classic_Fairytale:backstab
+--      ["Where do you get that?!"] = "", -- A_Classic_Fairytale:enemy
+--      ["Where have you been?!"] = "", -- A_Classic_Fairytale:backstab
+--      ["Where have you been?"] = "", -- A_Classic_Fairytale:united
+--      ["? Why?"] = "", -- A_Classic_Fairytale:backstab
+--      ["Why "] = "", -- A_Classic_Fairytale:backstab
+--      ["! Why?!"] = "", -- A_Classic_Fairytale:backstab, A_Classic_Fairytale:united
+--      ["Why are you doing this?"] = "", -- A_Classic_Fairytale:journey
+--      ["Why are you helping us, uhm...?"] = "", -- A_Classic_Fairytale:family
+--      ["Why can't he just let her go?!"] = "", -- A_Classic_Fairytale:family
+--      ["Why do men keep hurting me?"] = "", -- A_Classic_Fairytale:first_blood
+--      ["Why do you not like me?"] = "", -- A_Classic_Fairytale:shadow
+--      ["Why do you want to take over our island?"] = "", -- A_Classic_Fairytale:enemy
+--      ["Why me?!"] = "", -- A_Classic_Fairytale:backstab
+--      ["Why would they do this?"] = "", -- A_Classic_Fairytale:backstab
+--      ["- Will Get 1-3 random weapons"] = "", -- Continental_supplies
+--      ["- Will refresh Parachute each turn."] = "", -- Continental_supplies
+--      ["- Will refresh portalgun each turn."] = "", -- Continental_supplies
+	["Will this ever end?"] = "Bu sona erecek mi?",
+--      ["WINNER IS "] = "", -- Mutant
+	["WINNING TIME: "] = "KAZANMA SÜRESİ: ",
+--      ["Wise Oak"] = "", -- A_Classic_Fairytale:backstab, A_Classic_Fairytale:dragon, A_Classic_Fairytale:enemy, A_Classic_Fairytale:epil, A_Classic_Fairytale:family, A_Classic_Fairytale:queen
+--      ["With Dense Cloud on the land of shadows, I'm the village's only hope..."] = "", -- A_Classic_Fairytale:journey
+--      ["With the rest of the tribe gone, it was up to "] = "", -- A_Classic_Fairytale:dragon
+--      ["Worry not, for it is a peaceful animal! There is no reason to be afraid..."] = "", -- A_Classic_Fairytale:first_blood
+--      ["Wow, what a dream!"] = "", -- A_Classic_Fairytale:backstab
+--      ["Y3K1337"] = "", -- A_Classic_Fairytale:journey, A_Classic_Fairytale:shadow
+--      ["Yay, we won!"] = "", -- A_Classic_Fairytale:enemy
+--      ["Y Chwiliad"] = "", -- A_Classic_Fairytale:dragon
+--      ["Yeah...I think it's a 'he', lol."] = "", -- A_Classic_Fairytale:shadow
+--      ["Yeah, sure! I died. Hillarious!"] = "", -- A_Classic_Fairytale:backstab
+--      ["Yeah, take that!"] = "", -- A_Classic_Fairytale:dragon
+--      ["Yeah? Watcha gonna do? Cry?"] = "", -- A_Classic_Fairytale:journey
+--      ["Yes!"] = "", -- A_Classic_Fairytale:enemy
+--      ["Yes, yeees! You are now ready to enter the real world!"] = "", -- A_Classic_Fairytale:first_blood
+--      ["Yo, dude, we're here, too!"] = "", -- A_Classic_Fairytale:family
+--      ["You are given the chance to turn your life around..."] = "", -- A_Classic_Fairytale:shadow
+--      ["You are playing with our lives here!"] = "", -- A_Classic_Fairytale:enemy
+--      ["! You bastards!"] = "", -- A_Classic_Fairytale:backstab, A_Classic_Fairytale:united
+--      ["You bear impressive skills, "] = "", -- A_Classic_Fairytale:dragon
+--      ["You can't fire a portal on the blue surface"] = "", -- portal
+--      ["You couldn't possibly believe that after refusing my offer I'd just let you go!"] = "", -- A_Classic_Fairytale:journey
+	["You'd almost swear the water was rising!"] = "Suyun yükseldiğine yemin edebilirdin!",
+--      ["You'd better watch your steps..."] = "", -- A_Classic_Fairytale:journey
+--      ["You did not make it in time, try again!"] = "", -- Basic_Training_-_Rope
+--      ["You have 7 turns until the next wave arrives.|Make sure the arriving cannibals are greeted appropriately!|If the hog dies, the cause is lost.|Hint: you might want to use some mines..."] = "", -- A_Classic_Fairytale:backstab
+--      ["You have "] = "", -- A_Classic_Fairytale:dragon
+--      ["You have been giving us out to the enemy, haven't you!"] = "", -- A_Classic_Fairytale:backstab
+--      ["You have been respawned, at your last checkpoint!"] = "", -- Basic_Training_-_Rope
+--      ["You have been respawned, be more carefull next time!"] = "", -- Basic_Training_-_Rope
+--      ["You have chosen the perfect moment to leave."] = "", -- A_Classic_Fairytale:united
+--      ["You have failed to complete your task, young one!"] = "", -- A_Classic_Fairytale:journey
+--      ["You have failed to save the tribe!"] = "", -- A_Classic_Fairytale:backstab
+--      ["You have finally figured it out!"] = "", -- A_Classic_Fairytale:enemy
+--      ["You have kidnapped our whole tribe!"] = "", -- A_Classic_Fairytale:enemy
+--      ["You have killed an innocent hedgehog!"] = "", -- A_Classic_Fairytale:backstab
+--      ["You have proven yourself worthy to see our most ancient secret!"] = "", -- A_Classic_Fairytale:first_blood
+--      ["You have proven yourselves worthy!"] = "", -- A_Classic_Fairytale:enemy
+	["You have SCORED!!"] = "VURDUN!",
+--      ["You have to destroy 12 targets in 180 seconds"] = "", -- Basic_Training_-_Cluster_Bomb
+--      ["You have won the game by proving true cooperative skills!"] = "", -- A_Classic_Fairytale:enemy
+--      ["You just appeared out of thin air!"] = "", -- A_Classic_Fairytale:backstab
+--      ["You just committed suicide..."] = "", -- A_Classic_Fairytale:shadow
+--      ["You killed my father, you monster!"] = "", -- A_Classic_Fairytale:backstab
+--      ["You know...taking a stroll."] = "", -- A_Classic_Fairytale:backstab
+--      ["You know what? I don't even regret anything!"] = "", -- A_Classic_Fairytale:backstab
+--      ["You'll see what I mean!"] = "", -- A_Classic_Fairytale:enemy
+--      ["You may only attack from a rope!"] = "", -- WxW
+--      ["You meatbags are pretty slow, you know!"] = "", -- A_Classic_Fairytale:enemy
+--      ["You might want to find a way to instantly kill arriving cannibals!"] = "", -- A_Classic_Fairytale:backstab
+--      ["Young one, you are telling us that they can instantly change location without a shaman?"] = "", -- A_Classic_Fairytale:united
+--      ["You probably know what to do next..."] = "", -- A_Classic_Fairytale:first_blood
+--      ["Your deaths will be avenged, cannibals!"] = "", -- A_Classic_Fairytale:enemy
+--      ["Your death will not be in vain, Dense Cloud!"] = "", -- A_Classic_Fairytale:shadow
+--      ["You're...alive!? But we saw you die!"] = "", -- A_Classic_Fairytale:backstab
+--      ["You're a pathetic liar!"] = "", -- A_Classic_Fairytale:backstab
+--      ["You're funny!"] = "", -- A_Classic_Fairytale:journey
+--      ["You're getting pretty good! |Tip: When you shorten you rope you move faster! |and when you lengthen it you move slower"] = "", -- Basic_Training_-_Rope
+--      ["You're pathetic! You are not worthy of my attention..."] = "", -- A_Classic_Fairytale:shadow
+--      ["You're probably wondering why I bought you back..."] = "", -- A_Classic_Fairytale:backstab
+--      ["You're terrorizing the forest...We won't catch anything like this!"] = "", -- A_Classic_Fairytale:shadow
+--      ["Your hogs must survive!"] = "", -- A_Classic_Fairytale:journey
+--      ["Your movement skills will be evaluated now."] = "", -- A_Classic_Fairytale:first_blood
+	["You saved"] = "Kurtarılan: ",
+--      ["You've been assaulting us, we have been just defending ourselves!"] = "", -- A_Classic_Fairytale:enemy
+	["You've failed. Try again."] = "Başaramadın. Yeniden dene!",
+	["You've reached the goal!| |Time: "] = "Hedefe ulaştın!| |Süre: ",
+--      ["You will be avenged!"] = "", -- A_Classic_Fairytale:shadow
+--      ["You won't believe what happened to me!"] = "", -- A_Classic_Fairytale:backstab
+--      ["Yuck! I bet they'll keep worshipping her even after I save the village!"] = "", -- A_Classic_Fairytale:family
+--      ["Zealandia"] = "", -- Continental_supplies
+	["'Zooka Team"] = "Roketatar Takımı",
+--      ["Zork"] = "", -- A_Classic_Fairytale:dragon, A_Classic_Fairytale:family, A_Classic_Fairytale:queen
+    }
--- a/share/hedgewars/Data/Locale/tr.txt	Thu Apr 04 14:37:19 2013 +0200
+++ b/share/hedgewars/Data/Locale/tr.txt	Tue Jun 04 22:28:12 2013 +0200
@@ -2,7 +2,7 @@
 
 00:00=El Bombası
 00:01=Parça Tesirli Bomba
-00:02=Bazuka
+00:02=Roketatar
 00:03=UFO
 00:04=Pompalı Tüfek
 00:05=Kompresör
@@ -12,7 +12,7 @@
 00:09=Çöl Kartalı
 00:10=Dinamit
 00:11=Beyzbol Sopası
-00:12=Shoryuken
+00:12=Yükselen Ejderha
 00:13=san
 00:14=Paraşüt
 00:15=Hava Saldırısı
@@ -37,34 +37,501 @@
 00:34=Ölümsüzlük
 00:35=Arttırılmış Zaman
 00:36=Lazer Görüşü
-00:37=Vampirism
-00:38=Sniper Rifle
-00:39=Flying Saucer
-00:40=Molotov Cocktail
+00:37=Vampirleşme
+00:38=Keskin Nişansı Tüfeği
+00:39=Uçan Daire
+00:40=Molotof Kokteyli
+00:41=Kuşçuk
+00:42=Taşınabilir Portal Aygıtı
+00:43=Piano Vuruşu
+00:44=Eski Limburger
+00:45=Sinüs Tabancası (beta)
+00:46=Alev Püskürtücü
+00:47=Yapışkan Mayın
+00:48=Çekiç
+00:49=Yeniden Doğuş
+00:50=Matkap Vuruşu
+00:51=Çamur Topu
+00:52=Silah Seçilmedi
+00:53=Zaman Kutusu
+; 00:54=Yapı
+00:54=Zemin Spreyi
+00:55=Dondurucu
+00:56=Satır
 
 01:00=Savaş başlasın!
 01:01=Beraberlik
 01:02=%1 kazandı!
-01:03=Bölüm %1%
+01:03=Bölüm %%1
 01:04=Duraklatıldı
 01:05=Çıkılsın mı (Y/Esc)?
 01:06=Ani ölüm!
-01:07=%1 Remaining
-01:08=Fuel
+01:07=%1 Kaldı
+01:08=Yakıt
+01:09=Eşzamanlanıyor...
+01:10=Bu yardımcıyı kullanmak sıranı bitirmeyecek!
+01:11=Bu silah veya yardımcı henüz kullanılamıyor!
+01:12=Ani Ölüm için son tur!
+01:13=Ani Ölüme %1 tur kaldı!
+01:14=Hazırlan, %1!
+01:15=Az
+01:16=Düşük
+01:17=Normal
+01:18=Yüksek
+01:19=En Yüksek
+01:20=%1 Sekmesi
+01:21=Ses Kapalı
+
 
 ; Event messages
 ; Hog (%1) died
-02:00=%1 has kicked the bucket!
-02:00=%1 has seen the light!
-02:00=%1 never saw that comming!
+02:00=%1 sepeti boyladı!
+02:00=%1 ışığı gördü!
+02:00=%1 bunun geldiğini farketmemişti!
+02:00=%1 baş baş yapıyor!
+02:00=%1 daha iyi bir yere gitti!
+02:00=%1 yapan ile buluşuyor!
+02:00=%1 daha fazla dayanamıyor!
+02:00=%1 görevini yaptı!
+02:00=%1 mükemmel fedakarlık yapıyor!
+02:00=%1 havan sarımını ateşliyor!
+02:00=%1 ağaç olup ayrılıyor!
+02:00=%1 zaman aşımına uğradı!
+02:00=%1 dünya barışı istiyor!
+02:00=%1 sevgiyle hatırlanacak!
+02:00=%1 damar genişlemesi başladı!
+02:00=%1 arkasında gözü yaşlı eş ve çocuk bırakıyor
+02:00=%1 son roketatarını fırlattı
+02:00=%1 son el bombasını fırlattı
+02:00=%1 son pastasını pişirdi
+02:00=%1 son halatında sallandı
+02:00=%1 son hava saldırısını çağırdı
+02:00=%1 son tüfeğini ateşledi
+02:00=%1 son karpuzunu attı
+02:00=%1 son çizimini yaptı
+02:00=%1 bir atışı çok kez aldı
+02:00=%1 gerçekten bir sağlık sandığı kullanabilirdi
+02:00=%1 daha iyi bir oyun oynamak için gitti
+02:00=%1 hayata kaçtı
+02:00=%1 başarısız oldu
+02:00=Zavallı %1...
+02:00=%1 wormux'u tercih ediyor
+02:00=%1 yüzüyle vuruşları engelliyordu
+02:00=%1 bana göre bir kahraman...hımmm...kirpi
+02:00=%1 kendi yerini Valhalla'da buldu
+02:00=%1 binayı terketti
+02:00=%1 dinazorların yanına gidiyor
+02:00=%1 kirpileri nesillerini tüketmeye bir adım daha yaklaştırdı
+02:00=%1 gözlerimi yaşarttı
+02:00=%1 eskiden bir kirpiydi
+02:00=%1 papatya ekiyor
+02:00=%1 artık yok
+02:00=%1 için bir veda yapalım
+02:00=%1 ümidi kesildi
+02:00=%1 son perdeyi kapattı
+02:00=Varsa iç bir tane %1
+02:00=%1 Anlık Yoğun Varlık Sorunu çekiyor
+02:00=%1 hayata veda etti
+02:00=%1 kaya gibi öldü
+02:00=%1 artık yok
+02:00=%1 son kullanma tarihi doldu
+02:00=Yaşamdan yoksun, %1 huzur içinde yatsın
+02:00=%1 görünmezler korosuna katıldı
+02:00=Hoşça kal %1, seni iyi bilirdik!
+02:00=%1 vurulmaya çok az dayanabildi
+02:00=%1 ek bir can kullanabilirdi
+02:00=Evde bir doktor var mı?
+
 ; Hog (%1) drowned
-02:01=%1 plays submarine!
-02:01=%1 mimics the Titanic!
-02:01=%1 swims like a stone!
-; Match starts
-02:02=Let's fight!
-02:02=Armed and ready!
+02:01=%1 deniz altı oynuyor!
+02:01=%1 Titanik'i taklit ediyor!
+02:01=%1 kaya gibi yüzüyor!
+02:01=%1 tuğla gibi havada kaldı!
+02:01=%1 derin dibi kontrol ediyor
+02:01=%1 bir şey diyor: "gulu gulu gulu"
+02:01=%1 atlama yapıyor
+02:01=%1 kolluklarını unuttu
+02:01=%1 gerçekten yüzme dersi almalıydı
+02:01=%1 sörf tahtasını evde bırakmış
+02:01=%1 yıkanıyor
+02:01=%1 ıslak bir kirpi
+02:01=%1 can yeleğini getirmeyi unuttu
+02:01=%1 bıcı bıcıya gidiyor
+02:01=%1 balıklarla yüzüyor
+02:01=%1 oyundaki su fiziğinin berbat olduğunu düşünüyor
+02:01=%1 susamış görünüyor
+02:01=Deniz seni istiyor %1
+02:01=%1 denizde kayboldu
+02:01=%1 dalış takımını getirmeliydi
+02:01=%1 denizde gömülüyor
+02:01=%1 batıyor gibi hissediyor
+02:01=%1 sırtüstü yüzme denemesi yapıyor
+02:01=%1 Titanik'i aramaya gidiyor
+02:01=%1 bu sefer güldürmedi
+02:01=%1 Nemo'yu arıyor
+02:01=%1 su alıyor
+02:01=Aşağıda kaç kirpi var bir bilsen
+02:01=%1 okyanus seviyesini yükseltiyor
+02:01=%1 orduya katılmamıştı
+02:01=%1 ölü balık taklidi yapıyor
+02:01=En azından tuvalette boğulmadın, %1
+02:01=Sonic yüzemezdi %1 de öyle
+02:01=%1 Ecco the dolphin oyunu oynamak istiyor
+02:01=%1 Akvaryum ziyaretine gitti
+02:01=%1 kayıp şehir Atlantis'i buldu
+02:01=%1 Bioshock 3'te baş rolü oynamaya gidiyor
+02:01=Patilerin biraz çalışabilirdi, %1
+02:01=%1 bir jet ski getirmeliydi
+02:01=%1 su sporlarını sevmiyor
+02:01=%1 sonsuza kadar baloncuk çıkarıyor
+02:01=%1 bir sala ihtiyaç duyuyor
+02:01=%1 tuzlu suyun cilt için iyi geldiğini düşünüyor
+02:01=%1 yarasına tuz basıyor
+02:01=%1 tahtada yürüdü
+02:01=%1 bir banyoya sahip
+02:01=%1 artık ıslak ıslak ıslak
+02:01=%1 tüylerini ıslattı
+02:01=O, %1 için bir Davy Jones dolabı
+
+; Round starts
+02:02=Savaş başlasın!
+02:02=Hazır ve nazır!
+02:02=Haykırmaya hazır ol!
+02:02=Hadi başlayalım!
+02:02=Artık parti başlasın
+02:02=Son kalan kirpi kazansın
+02:02=Hadi gidelim!
+02:02=Başlayalım!
+02:02=Bastır!
+02:02=Başlıyor...
+02:02=Bu büyük şeyin bir başlangıcı
+02:02=Hedgewars'a Hoş Geldin
+02:02=Sınır hattına hoş geldin
+02:02=Düşmanını ez!
+02:02=En iyi kirpi kazansın
+02:02=Zafer ya da ölüm
+02:02=Zafer ganimettir
+02:02=Kaybetmek bir seçenek değil
+02:02=Ağla tahribat! Kirpi savaşı başlasın!
+02:02=Hedgewars, Hedgewars.org tarafından sağlandı
+02:02=GL HF
+02:02=Şansın varmış Tiyuri'ye karşı oynamıyorsun
+02:02=Şansın varmış C0Rr'e karşı oynamıyorsunun
+02:02=Şansın varmış Nemo'ya karşı oynamıyorsun
+02:02=Şansın varmış Smaxx'e karşı oynamıyorsun
+02:02=Şansın varmış Jessor'e karşı oynamıyorsun
+02:02=Her şeyi ortaya koy!
+02:02=Kaybeden bulaşıkları yıkar!
+02:02=Binyıl dövüşü başlasın
+02:02=Yüzyıl dövüşü başlasın
+02:02=Onyıl dövüşü başlasın
+02:02=Yılın dövüşü başlasın
+02:02=Ayın dövüşü başlasın
+02:02=Haftanın dövüşü başlasın
+02:02=Günün dövüşü başlasın
+02:02=Saatin dövüşü başlasın
+02:02=Elinden geleni yap!
+02:02=Düşmanı yok et!
+02:02=İyi şanslar
+02:02=İyi eğlenceler
+02:02=İyi dövüş
+02:02=Pis dövüş
+02:02=Onura dövüş
+02:02=Pes etme
+02:02=Asla teslim olma
+02:02=Yen ve parçala!
+02:02=Parçalama festivali başlasın!
+02:02=Umarım mücadeleye hazırsın!
+02:02=Hadi Hadi Hadi!
+02:02=Hedgehogs devam!
+02:02=Göster onlara!
+02:02=Asla korkma!
+02:02=Cesur ol ve fethet
+
+; Round ends (win; unused atm)
+02:03=...
+
+; Round ends (draw; unused atm)
+02:04=...
+
+; New health crate
+02:05=Yardım geliyor!
+02:05=İlkyardım!
+02:05=Göklerden ilkyardım!
+02:05=Size bir sağlık paketi
+02:05=İyi sağlık... kutu biçiminde!
+02:05=Doktor çağırıyor
+02:05=Taze yara bantları!
+02:05=Bu daha iyi hissetmeni sağlayacak
+02:05=Büyük iksir! Aaa, yanlış oyun
+02:05=Bir beni-al!
+02:05=Yakala
+02:05=Sağlıklı bir atıştırmalık
+02:05=Acıya tedavi
+02:05=Kullanım dozu: bulabildiğin kadar çok!
+02:05=Acele posta
+02:05=Emanetler!
+
+; New ammo crate
+02:06=Daha çok silah!
+02:06=Destek geliyor!
+02:06=Kilitlen ve bırak!
+02:06=Acaba içinde hangi silah var?
+02:06=Tedarikler!
+02:06=İçinde ne olabilir?
+02:06=Hedgewars'ta yılbaşı erken geliyor
+02:06=Bir hediye!
+02:06=Özel posta!
+02:06=Bunu gümrükten geçirmek bir kabustu
+02:06=Cennetten yok edici oyuncaklar
+02:06=Uyarı! Uçucu İçerik
+02:06=Kaldır veya havaya uçur, seçim senin
+02:06=Eşyalar!
+02:06=Hım hım Cephane
+02:06=Yok edici güç kutusu
+02:06=Uçak postası!
+02:06=Bu kutuda ne varsa pizza olmadığı kesin
+02:06=Al şunu!
+02:06=Silah bırakılıyor
+02:06=Düşmanın bunu almasın!
+02:06=Yeni parlak oyuncaklar!
+02:06=Gizemli bir kutu!
+
+; New utility crate
+02:07=Araç zamanı!
+02:07=Bu işe yarayabilir...
+02:07=Araçlar!
+02:07=Bu kutudan yararlan
+02:07=Dikkat et
+02:07=Daha fazla alet!
+02:07=Senin için alet!
+02:07=Bu güzel olmalı!
+02:07=Zekice kullan
+02:07=Off bu kutu da ağırmış
+02:07=Buna ihtiyacın olabilir
+
+; Hog (%1) skips his turn
+02:08=%1 çoook sıkıcı...
+02:08=%1 rahatsız olamazdı
+02:08=%1 tembel bir kirpi
+02:08=%1 düşüncesiz
+02:08=%1 pes etti
+02:08=Ertelersen kaybedersin, %1
+02:08=%1 utanmaksızın geçiyor
+02:08=%1 gerçekten tembel
+02:08=%1 daha fazla motivasyona ihtiyacın var
+02:08=%1 bir barışcı
+02:08=%1 bir mola alıyor
+02:08=%1 dinleniyor
+02:08=%1 moral bozmuyor
+02:08=%1 yeteneklerine inanmıyor
+02:08=%1 hiçbir şey yapmamaya karar veriyor
+02:08=%1 düşmanın kendisini yok etmesine izin veriyor
+02:08=%1 partilerde berbat olur
+02:08=%1 saklanıyor
+02:08=%1 bu fırsatı değerlendirmek istemedi
+02:08=%1 yapabileceği en iyi şeyin...hiçbir şey olduğuna karar verdi
+02:08=%1 koca bir korkak
+02:08=Gıt gıt gıdak, %1 bir tavuk
+02:08=%1 küçük bir sarı arıyor
+02:08=%1 bir ürkek!
+02:08=%1 ani ölümü bekliyor
+02:08=%1 dövüş istemiyor
+02:08=%1 hayattaki amacını tekrar düşünüyor
+02:08=%1 hiçbir zaman iyi bir atış yapamadı zaten
+02:08=%1 orduya da isteyerek katılmamıştı
+02:08=Zamanımızı boşa harcamayı kes, %1
+02:08=Beni hayal kırıklığına uğrattın, %1
+02:08=Hadi ama, bundan daha iyisini yapabilirsin %1
+02:08=%1 kalbi kırıldı
+02:08=Görünüyor ki %1 daha iyi yapacak şeylere sahip
+02:08=%1 korkak bir ölü
+02:08=%1 uyuya kaldı
+
+; Hog (%1) hurts himself only
+02:09=%1 atış çalışmalı!
+02:09=%1 kendinden nefret ediyor gibi görünüyor
+02:09=%1 yanlış tarafta duruyor!
+02:09=%1 emo gibi yapıyor
+02:09=%1 silahını yanlış yönde tutuyordu
+02:09=%1 sanki biraz sadist
+02:09=%1 bir mazoşist
+02:09=%1 kendini koruma iç güdüsüne sahip değil
+02:09=%1 batırdı
+02:09=%1 mahvetti
+02:09=Kötü bir atıştı, %1
+02:09=%1 tehlikeli silahlarla çok dikkatsiz
+02:09=%1 kariyerini değiştirmeyi düşünmeli
+02:09=Dünyadaki. En berbat. Atıştı!
+02:09=Yo yo yo %1, DÜŞMANA ateş etmelisin!
+02:09=%1 sadece düşmanı yok etmeli
+02:09=%1 intihara bir adım daha yaklaşıyor
+02:09=%1 düşmana yardım ediyor
+02:09=Bu aptalcaydı %1
+02:09=%1 "acı yok, kazanmak yok" deyimiyle yaşıyor
+02:09=%1, sanki kafan karışık
+02:09=%1 yanlışlıkla kendine zarar veriyor
+02:09=%1, kendini utandırmakta üstüne yok
+02:09=%1 bir saloz!
+02:09=Sakarsın %1
+02:09=%1 düşmana yeteneklerini gösteriyor
+02:09=%1 her zaman mükemmel olması beklenemez
+02:09=Sorun değil %1, hiç kimse mükemmel değildir
+02:09=%1 bunu kesinlikle bilerek yaptı
+02:09=Yapmazsan kimseye söylemem, %1
+02:09=Ne utanç verici ama!
+02:09=Eminim kimse bunu görmedi %1
+02:09=%1 kendi alan kılavuzunu gözden geçirmeli
+02:09=%1 silahında sorun vardı
+
 ; Hog shot an home run (using the bat and another hog)
-02:10=Home Run!
-02:10=A bird, a plane, ...
-02:10=That one is out!
+02:10=Tur Vuruşu!
+02:10=Bu bir kuş. Hayır uçak, ...
+02:10=Bu çıkar!
+
+; Hog (%1) has to leave (team is gone)
+02:11=%1 uyumaya gitmeli!
+02:11=%1 oynamak için çok meşgul görünüyor
+02:11=Ateşle onu, Scotty!
+02:11=%1 gitmeli
+
+; Weapon Categories
+03:00=Zamanlı El Bombası
+03:01=Zamanlı El Bombası
+03:02=Balistik Silah
+03:03=Kılavuzlu Silah
+03:04=Tabanca (çok atışlı)
+03:05=Kazma Aracı
+03:06=Eylem
+03:07=Taşıma Yardımcısı
+03:08=Yakınlık Bombası
+03:09=Tabanca (çok atışlı)
+03:10=BUM!
+03:11=Bum!
+03:12=Dövüş Sanatları
+03:13=KULLANILMIYOR
+03:14=Taşıma Yardımcısı
+03:15=Hava Saldırısı
+03:16=Hava Saldırısı
+03:17=Kazma Aracı
+03:18=Yardımcı
+03:19=Taşıma Yardımcısı
+03:20=Eylem
+03:21=Balistik Silah
+03:22=Bana Indiana de!
+03:23=(Gerçekten) Dövüş Sanatları
+03:24=Pasta yalan DEĞİL!
+03:25=Kostüm Seti
+03:26=Meyveli El Bombası
+03:27=Ateşli El Bombası
+03:28=Balistik Silah
+03:29=Balistik Silah
+03:30=Hava Saldırısı
+03:31=Uzaktan Kumandalı Bomba
+03:32=Geçici Etki
+03:33=Geçici Etki
+03:34=Geçici Etki
+03:35=Geçici Etki
+03:36=Geçici Etki
+03:37=Geçici Etki
+03:38=Tabanca (çok atışlı)
+03:39=Taşıma Yardımcısı
+03:40=Yakıcı El Bombası
+03:41=Cıvıldamaların büyük fanı
+03:42=Burada bir şey demek istiyorum...
+; the misspelled "Beethoven" is intentional (-> to beat)
+03:43=Beathoven'ın ölümcül sonatasını gösteriyor
+03:44=Son kullanma tarihi: 1923
+03:45=Bilimin gücü
+03:46=Sıcak Sıcak Sıcak!
+03:47=Bunları kullanışlı bir yere yapıştır!
+03:48=Çekiç zamanı!
+03:49=Tahmin ettiğin şeyi yapıyor
+03:50=Köstebek fanı
+03:51=Zeminde bulunan
+03:52=KULLANILMIYOR
+03:53=Tür 40
+03:54=Bir şey inşa et
+03:55=Yardımcı
+
+; Weapon Descriptions (use | as line breaks)
+04:00=Düşmanlarına basit el bombası ile saldır.|Zamanlayıcı sıfır olduğunda patlayacak.|1-5: Bomba süresini ayarla|Saldır: Daha fazla güçte atmak için basılı tut
+04:01=Düğmanlarına parça tesirli bomba ile saldır.|Zamanlayıcı sıfır olduğunda daha küçük|bombalara dönüşür.|1-5: Bomba süresini ayarla|Saldır: Daha fazla güçte atmak için basılı tut
+04:02=Düşmanlarına rüzgardan etkilenebilecek|balistik mermi kullanarak saldır.|Saldır: Daha fazla güçle atış için basılı tut
+04:03=Seçili hedefe kilitlenecek patlayıcı bir arı|fırlat. Kesinliğini arttırmak için tam güçle|fırlatma.|İmleç: Hedef seç|Saldır: Daha fazla güçle atış için basılı tut
+04:04=Düşmanına iki atışla tüfek kullanarak saldır.|Yayılması sayesinde rakibine zarar vermen için|keskin vuruş yapman gerekmiyor.|Saldır: Ateş (çok kez)
+04:05=Yer altına hareket et! Çekici kullanarak|zemine bir delik kaz ve diğer yerlere ulaş.|Saldır: Kazmayı başlat ve durdur
+04:06=Sıkıldın mı? Saldıracak yer mi yok? Cephane mi |kurtarmak istiyorsun? Problem yok!|Pas geç korkak!|Saldır: Dövüşmeden turu atla
+04:07=İp kullanarak zamanlı atışlarla uzun mesafelere|bağlan. Diğer kirpilere doğru kaymak için|momentumunu kullan veya üzerlerine el bombası|ve diğer silahları at.|Saldır: At ve ipi bırak|Uzun Atlama: El bombası veya benzer silahları|bırak
+04:08=Küçük geçişlere veya ayaklarının yanına mayın|bırakarak düşmanı uzaklaştır. Kendin için|tetiklemediğinden emin ol!|Saldır: Ayağının yanına mayın bırak
+04:09=Hedefinden emin değil misin? Tabanca|kullanarak dört atışa kadar düşmanı vur.|Saldır: Ateş (çok kez)
+04:10=Zor kullanım her zaman bir seçenek. Bu klasik|patlayıcıyı düşmanının yanına koy ve çekil.|Saldır: Ayağının yanına dinamit bırak
+04:11=Düşman kirpilerden üzerlerine sopa ile vurarak|uzaklara veya suya düşür. Veya|arkadaşlarına birkaç mayın fırlatmak nasıl olurdu?|Saldır: Önündeki herşeye vurarak fırlat
+04:12=Yakınlaş ve neredeyse bu ölümcül dövüş sanatı|teknik gücünü ortaya çıkar.|Saldır: Muhteşem Yükselen Ejderha yap.
+04:13=KULLANILMIYOR
+04:14=Yükseklikten mi korkuyorsun? O zaman bir paraşüt|kullan.|Uzağa düşerken açılacak ve kirpinin düşme zararı|almasını engelleyecek|Saldır: Paraşütü aç|Uzun Atlama: El bombası veya benzeri silahlar bırak
+04:15=Bombalayıcı kulanarak uçakla düşmanlarına saldır.|Sol/Sağ: Saldırı yönünü belirle|İmleç: Hedef bölgeyi seç
+04:16=Hedef alana çeşitli mayın atacak bir uçak çağır.|Sol/Sağ: Saldırı yönünü belirle|İmleç: Hedef bölgeyi seç
+04:17=Korunak mı gerekiyor? Seni kaplayabilecek bir|tünel için kaynak makinesi kullan|Saldır: Kazmayı başlat/durdur
+04:18=Ek koruma mı gerekiyor? Yoksa geçilemez|zemini mi geçmek istiyorsun? İstediğin kadar|merdiven koy|Sol/Sağ: Yerleştilecek merdiveni seç|İmleç: Geçerli yere merdiven yerleştir
+04:19=Doğru yerde kullanıldığında ışınlanma tüm|silahlardan daha güçlü olabilir. Kirpileri|saniyeler içerisinde tehlikeli durumlardan|kurtarır.|İmleç: Hedef bölgeyi seç
+04:20=Geçerli turu başka bir kirpiyle oynamanı|sağlar.|Saldır: Kirpi değiştirmeyi etkinleştir
+04:21=El bombasına benzer bir füze fırlatır ve|çarpma sonrası çok sayıda bombaya dönüşür.|Saldır: Tam güçte fırlat
+04:22=Sadece Indiana Jones için değil! Kamçı|çoğu durumda çok kullanışlı bir silahtır.|Özellikle birini yamaçtan uçurmak için.|Saldır: Önündeki her şeye vur
+04:23=Eğer kaybedecek hiçbir şeyin yoksa, bu|kullanışlı olabilir. Kirpini özel bir yönde|başlatarak feda et ve önündeki her şeye|zarar verip sonunda patlamasını sağla.|Saldır: Şiddetli ve ölümcül bir saldırı başlat
+04:24=Mutlu Yıllar! Bu keki çalıştır, düşmanının yanına|yürümesine izin ver ve patlayan bir parti yapmalarını|sağla. Kek neredeyse tüm zeminlerden geçebilir|fakat yolun ortasında patlayabilir.|Saldır: Keki başlat ve durdurup patlat
+04:25=Bu kiti kullanarak düşmanlarının kirpine doğru zıplamasını|sağla (ve bir boşluk veya deliğe).|Saldır: Kiti kullan ve diğer kirpiyi etkile
+04:26=Bu sulu karpuzu düşmanına at. Zaman dolduğunda|çok sayıda patlayıcı parçaya ayrılacaktır.|1-5: Karpuz zaanlayıcısını ayarla.|Saldır: Daha fazla güçle atış için basılı tut
+04:27=Bu zalim patlayıcıyı kullanarak rakibini cehennem|ateş yağmuruna tut. Küçük ateşler daha|uzun süreceğinden yakın olmamaya dikkat et.|Saldır: Daha fazla güçle atış için basılı tut
+04:28=Bu roketi fırlattıktan kısa süre sonra katı zemini|kazmaya başlayacak ve tekrar yüzeye çıktığında|veya süresi dolduğunda patlayacak.|Saldır: Daha fazla güçle atış için basılı tut
+04:29=Bu küçük çocuklar için değil! Top tabancası patlayıcı|dolu tonlarca küçük renkli top fırlatır.|Saldır: Tam güçte atış yap|Yukarı/Aşağı: Nişan al
+04:30=Muhteşem napalm atışı için bir uçak çağır.|Doğru nişan ile bu saldırı zeminin büyük bölümünü|yok edebilir ve tabii ki şansız kirpileri de.|Sol/Sağ: Saldırı yönünü belirle|İmleç: Hedef bölgeyi seç
+04:31=RC uçağı sandıkları toplamak veya uzaktaki kirpilere|saldırmak için kullanışlı bir silahtır.|Doğrudan düşmanlara çarp veya ilk olarak bomba bırak.|Saldır: Uçağı başlat veya bomba bırak|Uzun Zıplama: Valkrie'lerin savaşa gelmelerini sağla|Sol/Sağ: Uçağı kontrol et
+04:32=Düşük yer çekimi diğer tüm diyetlerden daha etkilidir!|Daha yukarı ve büyük uzaklıklara zıpla|veya düşmanının daha uzağa uçmasını sağla|Saldır: Etkinleştir
+04:33=Bazen daha fazla zarar vermek için bu küçük ek güce|ihtiyacın olabilir.|Saldır: Etkinleştir
+04:34=Bana dokunamazsın!|Saldır: Etkinleştir
+04:35=Bazen zaman su gibi akıp geçiyor. Saldırını bitirmek|için ek saniye al.|Saldır: Etkinleştir
+04:36=Aslında bazen hedef tutturmada çok kötüsün. Modern|teknoloji kullanarak biraz yardım al.|Saldır: Etkinleştir
+04:37=Gün ışığından korkma. Sadece bir tur sürecek fakat|Diğer kirpilere verdiğin zararı emmeni sağlayacak.|Saldır: Etkinleştir
+04:38=Keskin nişancı tüfeği birliğindeki en zarar verici silah|olabilir ancak yakın mesafede etkisi azdır.|Hasar, hedef uzak oldukça daha çok artar.|Saldır: Ateş et (iki kez)
+04:39=Haritanın diğer yerlerine uçan daire ile uç.|Bu uzmanlaşmak için zaman gerektirir ve|alışana kadar savaş alanında her yere|götürebilir.|Saldır: Etkinleştir|Yukarı/Sol/Sağ: Bir yöne güç uygula|Uzun Atlama: El bombası veya|benzer silahlar bırak
+04:40=Set some ground on fire using this bottle filled|with (soon to be) burning liquid.|Saldır: Daha fazla güçle atış için basılı tut
+04:41=Doğa uçan dairenin üzerinde de olabilir|Kuşçuk kirpini taşıyabilir ve|düşmanlarına yumurta bırakabilir!|Hızlı ol, çünkü Kuşçuğu kullanmak |zamanını tüketir!|Saldır: Etkinleştir ve yumurta bırak|Yukarı/Sol/Sağ: Bir yöne kanat çırp
+04:42=Bu taşınabilir portal aygıtı seni, düşmanlarını|veya bir silahını zemindeki iki nokta arasında|hemen taşıma yeteneğine|sahip.|Zekice kullan ve maceran bir... BAŞARIYA|DÖNÜŞSÜN!|Saldır: Bir portal ateş et|Değiştir: Portal renkleri arasında geçiş yap
+04:43=Müzikal kariyerine başarılı bir patlamayla başla!|Cennetten bir piyano düşür, fakat dikkat et...|birinin çalması gerekiyor ve|bu senin hayatın olmasın.|İmleç: Hedef bölgeyi seç|F1-F9: Piyanoyu çal
+04:44=Bu sadece bir peynir değil, bir biyolojik silah!|Zamanlayıcı sıfır olduğunda koca bir hasar|vermenin yanında, kokuya dokunan şanssız|herkesi de zehirleyecek!|1-5: Bombanın zamanını ayarla|Saldır: Daha fazla güç ile fırlatmak için tut
+04:45=Sonunda fizik dersleri işe yaradı.|Düşmanlarına kocaman bir sinüs dalgası at.|Dikkatli ol, bu silah oldukça büyük bir vuruşa sahip|(Bu silah bitmedi)|Saldır: Ateş et
+04:46=Düşmanlarını sızan akışkan alevle kapla|Kalp ısıtıcı!|Saldır: Etkinleştir|Yukarı/Aşağı: Hedef almaya devam et|Sol/Sağ: Fışkırtma gücünü değiştir
+04:47=Dikenli, sinsi, yapışkan mayınlarla çifte zevk!|Zincirleme reaksiyon ayarla veya kendini koru (veya ikisi de!)|Saldır: Daha fazla güçle atış için basılı tut (iki kez)
+04:48=Niçin köstebeklere kötü davranılsın?|Bir kirpi de zevk için dövülebilir! Bu|çekicin iyi bir yanı kirpinin canının |üçte birini alması ve yer altına sokması.|Saldır: Etkinleştir
+04:49=Arkadaşlarını yeniden canlandır!|Fakat dikkatli ol, bu ayrıca düşmanlarını da|canlandırır.|Saldır: Yavaşça canlandırmak için saldırma|düğmesini basılı tut|Yukarı: Canlandırmayı hızlandır
+04:50=Biri altta mı saklanıyor?|Matkap saldırısı ile kaz!|Zamanlayıcı ne kadar kazılacağını denetler.
+04:51=Bir çamur topu fırlatarak ücretsiz bir atış kap.|Biraz kokar ancak kirpileri geri sektirir.
+04:52=KULLANILMIYOR
+04:53=Arkadaşlarını savaşta yalnız bırakarak|zaman ve uzaya seyahat et.|Herhangi bir an, Ani Ölüm veya tümü|ölmüşse geri gelmeye hazır ol.|Yadsıma: Ani Ölüm kipinde, tek isen veya|Kralsan çalışmaz.
+04:54=TAM DEĞİL
+04:55=Yapışkan tanecikler püskürt.|Köprü yap, düşmanı göm, tünelleri kapat.|Dikkatli ol sana gelmesin!
+
+; Game goal strings
+05:00=Oyun Kipleri
+05:01=Aşağıdaki kurallar uygulanır
+05:02=Kaleler: Kaleni savun; düşmanlarını alt et!
+05:03=Düşük Yer Çekimi: Adımına dikkat et
+05:04=Dayanıklılık: Kirpiler (neredeyse) zarar görmezler
+05:05=Vampirleşme: Verilen hasar kirpileri iyileştirir
+05:06=Karma: Verilen hasar kirpilere zarar verir
+05:07=Kralı Koru: Kralın ölmesine izin verme!|Kralı Yerleştir: Kralın için korunaklı bir başlangıç noktası seç
+05:08=Kirpileri Yerleştir: Kirpilerini oyun başlamadan önce yerleştir
+05:09=Ağır Sınıf: Kirpiler hareket etmek için yer değiştiremezler
+05:10=Yıkılmaz Zemin: Çoğu silah zemine zarar veremez
+05:11=Paylaşılan Cephane: Aynı renkteki tüm takımlar cephaneyi paylaşır
+05:12=Mayın Zamanlayıcı: Mayınlar %1 saniye sonra patlayacak
+05:13=Mayın Zamanlayıcı: Mayınlar hemen patlayacak
+05:14=Mayın Zamanlayıcı: Mayınlar 0 - 5 saniye içinde patlayacak
+05:15=Hasar Değiştirici: Tüm silahlar %%1 hasar verecek
+05:16=Tur sonunda tüm kirpilerin sağlığı sıfırlanacak
+05:17=Yapay zeka kirpileri öldükten sonra yeniden doğar
+05:18=Sınırsız Saldırı
+05:19=Silahlar her tur sonunda sıfırlanır
+05:20=Silahlar kirpiler arasında paylaşılmaz
+05:21=Takımları Etiketle: Klandaki takımlar başarılı turlar alır|Paylaşılan Zaman: Klandaki takımlar tur zamanını paylaşırlar
--- a/share/hedgewars/Data/Locale/uk.txt	Thu Apr 04 14:37:19 2013 +0200
+++ b/share/hedgewars/Data/Locale/uk.txt	Tue Jun 04 22:28:12 2013 +0200
@@ -286,8 +286,8 @@
 03:51=Знайдено на землі
 03:52=UNUSED
 03:53=Тип 40
-03:54=Збудуй щось
-03:55=Утиліта
+;03:54=Збудуй щось
+03:54=Утиліта
 
 ; Weapon Descriptions (use | as line breaks)
 04:00=Атакуй ворогів використовуючи просту гранату.|Вона вибухне як тільки її таймер доходить до нуля.|1-5: Вистав таймер гранати|Атака: Утримуй щоб метнути сильніше
@@ -344,8 +344,8 @@
 04:51=Здійсни халявний удар, шпурни грудку багна.|Трохи пече і відкидає їжака назад.
 04:52=UNUSED
 04:53=Здійсни подорож крізь час та простір,|залишивши товаришів битись далі самим.|Будь готовий повернутись в кожну мить,|або до Раптової смерті або до їх поразки.|Відмова. Не працює в Раптовій Смерті,|якщо ти один, або якщо ти Король.
-04:54=НЕЗАВЕРШЕНО
-04:55=Розпили потік лепких пластівців.|будуй мости, хорони ворогів, перекривай тунелі.|Стеж щоб на тебе не впала жодна з них!
+;04:54=НЕЗАВЕРШЕНО
+04:54=Розпили потік лепких пластівців.|будуй мости, хорони ворогів, перекривай тунелі.|Стеж щоб на тебе не впала жодна з них!
 
 ; Game goal strings
 05:00=Режими Гри
--- a/share/hedgewars/Data/Locale/zh_TW.txt	Thu Apr 04 14:37:19 2013 +0200
+++ b/share/hedgewars/Data/Locale/zh_TW.txt	Tue Jun 04 22:28:12 2013 +0200
@@ -237,8 +237,6 @@
 02:01=%1 去水族館報到了
 ;02:01=%1 has found the lost city of Atlantis
 02:01=%1 找到了傳說中的亞特蘭蒂斯城
-;02:01=%1 aims for the lead role in Bioshock 3
-02:01=%1 的目的是為了在生化危機3中起帶頭作用
 ;02:01=Your doggy paddle could use a little work, %1
 02:01=狗爬式會有用的, %1
 ;02:01=%1 should have brought a jet ski
--- a/share/hedgewars/Data/Maps/Basketball/map.lua	Thu Apr 04 14:37:19 2013 +0200
+++ b/share/hedgewars/Data/Maps/Basketball/map.lua	Tue Jun 04 22:28:12 2013 +0200
@@ -1,6 +1,6 @@
 -- Hedgewars - Basketball for 2+ Players
 
-HedgewarsScriptLoad("Scripts/Locale.lua")()
+HedgewarsScriptLoad("/Scripts/Locale.lua")
 
 local score = {[0] = 0, [1] = 0, [2] = 0, [3] = 0, [4] = 0, [5] = 0}
 
--- a/share/hedgewars/Data/Maps/CMakeLists.txt	Thu Apr 04 14:37:19 2013 +0200
+++ b/share/hedgewars/Data/Maps/CMakeLists.txt	Tue Jun 04 22:28:12 2013 +0200
@@ -33,6 +33,14 @@
     portal
     Ropes
     Ruler
+    SB_Bones
+    SB_Crystal
+    SB_Grassy
+    SB_Grove
+    SB_Haunty
+    SB_Oaks
+    SB_Shrooms
+    SB_Tentacles
     Sheep
     ShoppaKing
     Sticks
--- a/share/hedgewars/Data/Maps/CTF_Blizzard/map.lua	Thu Apr 04 14:37:19 2013 +0200
+++ b/share/hedgewars/Data/Maps/CTF_Blizzard/map.lua	Tue Jun 04 22:28:12 2013 +0200
@@ -91,7 +91,7 @@
 -- add support for more players
 -- re-enable sudden death, but set water rise to 0
 
-HedgewarsScriptLoad("Scripts/Locale.lua")()
+HedgewarsScriptLoad("/Scripts/Locale.lua")
 
 ---------------------------------------------------------------
 ----------lots of bad variables and things
--- a/share/hedgewars/Data/Maps/Control/map.lua	Thu Apr 04 14:37:19 2013 +0200
+++ b/share/hedgewars/Data/Maps/Control/map.lua	Tue Jun 04 22:28:12 2013 +0200
@@ -49,7 +49,7 @@
 --script begins
 -----------------
 
-HedgewarsScriptLoad("Scripts/Locale.lua")()
+HedgewarsScriptLoad("/Scripts/Locale.lua")
 
 ---------------------------------------------------------------
 ----------lots of bad variables and things
Binary file share/hedgewars/Data/Maps/Eyes/preview.png has changed
--- a/share/hedgewars/Data/Maps/Knockball/map.lua	Thu Apr 04 14:37:19 2013 +0200
+++ b/share/hedgewars/Data/Maps/Knockball/map.lua	Tue Jun 04 22:28:12 2013 +0200
@@ -1,6 +1,6 @@
 -- Hedgewars - Knockball for 2+ Players
 
-HedgewarsScriptLoad("Scripts/Locale.lua")()
+HedgewarsScriptLoad("/Scripts/Locale.lua")
 
 local score = {[0] = 0, [1] = 0, [2] = 0, [3] = 0, [4] = 0, [5] = 0}
 
Binary file share/hedgewars/Data/Maps/Octorama/preview.png has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/share/hedgewars/Data/Maps/SB_Bones/CMakeLists.txt	Tue Jun 04 22:28:12 2013 +0200
@@ -0,0 +1,5 @@
+install(FILES
+    map.png
+    map.cfg
+    preview.png
+    DESTINATION ${SHAREPATH}Data/Maps/SB_Bones)
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/share/hedgewars/Data/Maps/SB_Bones/map.cfg	Tue Jun 04 22:28:12 2013 +0200
@@ -0,0 +1,2 @@
+Desert
+48
Binary file share/hedgewars/Data/Maps/SB_Bones/map.png has changed
Binary file share/hedgewars/Data/Maps/SB_Bones/preview.png has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/share/hedgewars/Data/Maps/SB_Crystal/CMakeLists.txt	Tue Jun 04 22:28:12 2013 +0200
@@ -0,0 +1,6 @@
+install(FILES
+    map.png
+    mask.png
+    map.cfg
+    preview.png
+    DESTINATION ${SHAREPATH}Data/Maps/SB_Crystal)
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/share/hedgewars/Data/Maps/SB_Crystal/map.cfg	Tue Jun 04 22:28:12 2013 +0200
@@ -0,0 +1,2 @@
+Cave
+32
Binary file share/hedgewars/Data/Maps/SB_Crystal/map.png has changed
Binary file share/hedgewars/Data/Maps/SB_Crystal/mask.png has changed
Binary file share/hedgewars/Data/Maps/SB_Crystal/preview.png has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/share/hedgewars/Data/Maps/SB_Grassy/CMakeLists.txt	Tue Jun 04 22:28:12 2013 +0200
@@ -0,0 +1,6 @@
+install(FILES
+    map.png
+    mask.png
+    map.cfg
+    preview.png
+    DESTINATION ${SHAREPATH}Data/Maps/SB_Grassy)
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/share/hedgewars/Data/Maps/SB_Grassy/map.cfg	Tue Jun 04 22:28:12 2013 +0200
@@ -0,0 +1,2 @@
+Castle
+40
Binary file share/hedgewars/Data/Maps/SB_Grassy/map.png has changed
Binary file share/hedgewars/Data/Maps/SB_Grassy/mask.png has changed
Binary file share/hedgewars/Data/Maps/SB_Grassy/preview.png has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/share/hedgewars/Data/Maps/SB_Grove/CMakeLists.txt	Tue Jun 04 22:28:12 2013 +0200
@@ -0,0 +1,6 @@
+install(FILES
+    map.png
+    mask.png
+    map.cfg
+    preview.png
+    DESTINATION ${SHAREPATH}Data/Maps/SB_Grove)
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/share/hedgewars/Data/Maps/SB_Grove/map.cfg	Tue Jun 04 22:28:12 2013 +0200
@@ -0,0 +1,2 @@
+Nature
+48
Binary file share/hedgewars/Data/Maps/SB_Grove/map.png has changed
Binary file share/hedgewars/Data/Maps/SB_Grove/mask.png has changed
Binary file share/hedgewars/Data/Maps/SB_Grove/preview.png has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/share/hedgewars/Data/Maps/SB_Haunty/CMakeLists.txt	Tue Jun 04 22:28:12 2013 +0200
@@ -0,0 +1,6 @@
+install(FILES
+    map.png
+    mask.png
+    map.cfg
+    preview.png
+    DESTINATION ${SHAREPATH}Data/Maps/SB_Haunty)
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/share/hedgewars/Data/Maps/SB_Haunty/map.cfg	Tue Jun 04 22:28:12 2013 +0200
@@ -0,0 +1,2 @@
+Halloween
+24
Binary file share/hedgewars/Data/Maps/SB_Haunty/map.png has changed
Binary file share/hedgewars/Data/Maps/SB_Haunty/mask.png has changed
Binary file share/hedgewars/Data/Maps/SB_Haunty/preview.png has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/share/hedgewars/Data/Maps/SB_Oaks/CMakeLists.txt	Tue Jun 04 22:28:12 2013 +0200
@@ -0,0 +1,6 @@
+install(FILES
+    map.png
+    mask.png
+    map.cfg
+    preview.png
+    DESTINATION ${SHAREPATH}Data/Maps/SB_Oaks)
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/share/hedgewars/Data/Maps/SB_Oaks/map.cfg	Tue Jun 04 22:28:12 2013 +0200
@@ -0,0 +1,2 @@
+Nature
+48
Binary file share/hedgewars/Data/Maps/SB_Oaks/map.png has changed
Binary file share/hedgewars/Data/Maps/SB_Oaks/mask.png has changed
Binary file share/hedgewars/Data/Maps/SB_Oaks/preview.png has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/share/hedgewars/Data/Maps/SB_Shrooms/CMakeLists.txt	Tue Jun 04 22:28:12 2013 +0200
@@ -0,0 +1,6 @@
+install(FILES
+    map.png
+    mask.png
+    map.cfg
+    preview.png
+    DESTINATION ${SHAREPATH}Data/Maps/SB_Shrooms)
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/share/hedgewars/Data/Maps/SB_Shrooms/map.cfg	Tue Jun 04 22:28:12 2013 +0200
@@ -0,0 +1,2 @@
+Nature
+48
Binary file share/hedgewars/Data/Maps/SB_Shrooms/map.png has changed
Binary file share/hedgewars/Data/Maps/SB_Shrooms/mask.png has changed
Binary file share/hedgewars/Data/Maps/SB_Shrooms/preview.png has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/share/hedgewars/Data/Maps/SB_Tentacles/CMakeLists.txt	Tue Jun 04 22:28:12 2013 +0200
@@ -0,0 +1,6 @@
+install(FILES
+    map.png
+    mask.png
+    map.cfg
+    preview.png
+    DESTINATION ${SHAREPATH}Data/Maps/SB_Tentacles)
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/share/hedgewars/Data/Maps/SB_Tentacles/map.cfg	Tue Jun 04 22:28:12 2013 +0200
@@ -0,0 +1,2 @@
+Hell
+40
Binary file share/hedgewars/Data/Maps/SB_Tentacles/map.png has changed
Binary file share/hedgewars/Data/Maps/SB_Tentacles/mask.png has changed
Binary file share/hedgewars/Data/Maps/SB_Tentacles/preview.png has changed
--- a/share/hedgewars/Data/Maps/TrophyRace/map.lua	Thu Apr 04 14:37:19 2013 +0200
+++ b/share/hedgewars/Data/Maps/TrophyRace/map.lua	Tue Jun 04 22:28:12 2013 +0200
@@ -1,6 +1,6 @@
 -- Hedgewars - Roperace for 2+ Players
 
-HedgewarsScriptLoad("Scripts/Locale.lua")()
+HedgewarsScriptLoad("/Scripts/Locale.lua")
 
 -- store number of hedgehogs
 local numhhs = 0
--- a/share/hedgewars/Data/Missions/Campaign/A Classic Fairytale/CMakeLists.txt	Thu Apr 04 14:37:19 2013 +0200
+++ b/share/hedgewars/Data/Missions/Campaign/A Classic Fairytale/CMakeLists.txt	Tue Jun 04 22:28:12 2013 +0200
@@ -1,7 +1,9 @@
 file(GLOB Config *.ini)
 file(GLOB Missions *.lua)
+file(GLOB Packs *.hwp)
 
 install(FILES
     ${Config}
     ${Missions}
+    ${Packs}
     DESTINATION "${SHAREPATH}Data/Missions/Campaign/A Classic Fairytale")
--- a/share/hedgewars/Data/Missions/Campaign/A Classic Fairytale/backstab.lua	Thu Apr 04 14:37:19 2013 +0200
+++ b/share/hedgewars/Data/Missions/Campaign/A Classic Fairytale/backstab.lua	Tue Jun 04 22:28:12 2013 +0200
@@ -760,7 +760,9 @@
     SaveCampaignVar("M5ChiefDead", "0")
   end
   SaveCampaignVar("M5Choice", "" .. choice)
-  SaveCampaignVar("Progress", "5")
+  if progress and progress<5 then
+    SaveCampaignVar("Progress", "5")
+  end
 
   for i = 1, 7 do 
     if natives[i] == deployedHog then
@@ -814,6 +816,7 @@
 end
 
 function GetVariables()
+  progress = tonumber(GetCampaignVar("Progress"))
   m2DenseDead = tonumber(GetCampaignVar("M2DenseDead"))
   m2Choice = tonumber(GetCampaignVar("M2Choice"))
   m4DenseDead = tonumber(GetCampaignVar("M4DenseDead"))
--- a/share/hedgewars/Data/Missions/Campaign/A Classic Fairytale/dragon.lua	Thu Apr 04 14:37:19 2013 +0200
+++ b/share/hedgewars/Data/Missions/Campaign/A Classic Fairytale/dragon.lua	Tue Jun 04 22:28:12 2013 +0200
@@ -399,8 +399,11 @@
 
 function DoMissionFinished()
   AddCaption(loc("Salvation was one step closer now..."))
-  SaveCampaignVar("Progress", "6")
-  ParseCommand("teamgone " .. loc("011101001"))
+  if progress and progress<6 then
+    SaveCampaignVar("Progress", "6")
+  end
+  RestoreHedge(cyborg)
+  DeleteGear(cyborg)
   TurnTimeLeft = 0
 end
 
@@ -419,8 +422,8 @@
 end
 
 function EndMission()
-  ParseCommand("teamgone " .. loc("Natives"))
-  ParseCommand("teamgone " .. loc("011101001"))
+  RestoreHedge(cyborg)
+  DeleteGear(cyborg)
   TurnTimeLeft = 0
 end
 
@@ -451,6 +454,7 @@
 end
 
 function GetVariables()
+  progress = tonumber(GetCampaignVar("Progress"))
   m5DeployedNum = tonumber(GetCampaignVar("M5DeployedNum"))
 end
 
--- a/share/hedgewars/Data/Missions/Campaign/A Classic Fairytale/enemy.lua	Thu Apr 04 14:37:19 2013 +0200
+++ b/share/hedgewars/Data/Missions/Campaign/A Classic Fairytale/enemy.lua	Tue Jun 04 22:28:12 2013 +0200
@@ -400,7 +400,9 @@
 end
 
 function WinMission()
-  SaveCampaignVar("Progress", "9")
+  if progress and progress<9 then
+    SaveCampaignVar("Progress", "9")
+  end
   ParseCommand("teamgone " .. loc("011101001"))
   TurnTimeLeft = 0
 end
@@ -420,6 +422,7 @@
 end
 
 function GetVariables()
+  progress = tonumber(GetCampaignVar("Progress"))
   m5DeployedNum = tonumber(GetCampaignVar("M5DeployedNum"))
   m2Choice = tonumber(GetCampaignVar("M2Choice"))
   m5Choice = tonumber(GetCampaignVar("M5Choice"))
--- a/share/hedgewars/Data/Missions/Campaign/A Classic Fairytale/family.lua	Thu Apr 04 14:37:19 2013 +0200
+++ b/share/hedgewars/Data/Missions/Campaign/A Classic Fairytale/family.lua	Tue Jun 04 22:28:12 2013 +0200
@@ -284,7 +284,9 @@
 
 function DoPrincessFreed()
   AnimSay(princess, loc("Thank you, my hero!"), SAY_SAY, 0)
-  SaveCampaignVar("Progress", "7")
+  if progress and progress<7 then
+    SaveCampaignVar("Progress", "7")
+  end
   ParseCommand("teamgone " .. loc("011101001"))
   TurnTimeLeft = 0
 end
@@ -390,6 +392,7 @@
 end
 
 function GetVariables()
+  progress = tonumber(GetCampaignVar("Progress"))
   m5DeployedNum = tonumber(GetCampaignVar("M5DeployedNum"))
   m2Choice = tonumber(GetCampaignVar("M2Choice"))
   m5Choice = tonumber(GetCampaignVar("M5Choice"))
Binary file share/hedgewars/Data/Missions/Campaign/A Classic Fairytale/first_blood.hwp has changed
--- a/share/hedgewars/Data/Missions/Campaign/A Classic Fairytale/first_blood.lua	Thu Apr 04 14:37:19 2013 +0200
+++ b/share/hedgewars/Data/Missions/Campaign/A Classic Fairytale/first_blood.lua	Tue Jun 04 22:28:12 2013 +0200
@@ -56,6 +56,7 @@
 canKilled = false
 desertTaken = false
 challengeFailed = false
+deleteCrate = false
 difficultyChoice = false
 princessFace = "Left"
 elderFace = "Left"
@@ -220,6 +221,9 @@
 end
 -----------------------------Events------------------------------------
 function CheckNeedToTurn(gear)
+  if youngKilled then
+    return false
+  end
   if gear == princess then
     if princessKilled ~= true then
       if (GetX(princess) > GetX(youngh) and princessFace == "Right")
@@ -466,6 +470,7 @@
 
 function DoTimesUp()
   challengeFailed = true
+  deleteCrate = true
   DeleteGear(crates[1])
   TurnTimeLeft = -1
   AddCaption(loc("And so happenned that Leaks A Lot failed to complete the challenge! He landed, pressured by shame..."))
@@ -538,7 +543,9 @@
 
 function DoCannibalKilled()
   AddAnim(cannKilledAnim)
-  SaveCampaignVar("Progress", "1")
+  if not progress then
+    SaveCampaignVar("Progress", "1")
+  end
 end
 
 function DoCannibalKilledEarly()
@@ -603,9 +610,7 @@
 	MinesTime = 3000
 	Explosives = 0
 	Delay = 10 
-	MapGen = 0
-  TemplateFilter = 6
-  TemplateNumber = 33
+	Map = "A_Classic_Fairytale_first_blood"
 	Theme = "Nature"
 
 
@@ -630,6 +635,7 @@
 end
 
 function onGameStart()
+  progress = tonumber(GetCampaignVar("Progress"))
   TurnTimeLeft = -1
   FollowGear(youngh)
 	ShowMission(loc("A Classic Fairytale"), loc("First Blood"), loc("Finish your training|Hint: Animations can be skipped with the [Precise] key."), -amSkip, 0)
@@ -664,6 +670,8 @@
     rope2Taken = true
   elseif gear == ropeCrate3 then
     rope3Taken = true
+  elseif gear == crates[1] and deleteCrate == true then
+    deleteCrate = false
   elseif gear == crates[1] and challengeFailed == false then
     crates[1] = nil
     cratesCollected = cratesCollected + 1
Binary file share/hedgewars/Data/Missions/Campaign/A Classic Fairytale/journey.hwp has changed
--- a/share/hedgewars/Data/Missions/Campaign/A Classic Fairytale/journey.lua	Thu Apr 04 14:37:19 2013 +0200
+++ b/share/hedgewars/Data/Missions/Campaign/A Classic Fairytale/journey.lua	Tue Jun 04 22:28:12 2013 +0200
@@ -903,7 +903,9 @@
 end
 
 function DoWon()
-  SaveCampaignVar("Progress", "3")
+  if progress and progress<3 then
+    SaveCampaignVar("Progress", "3")
+  end
   AddAnim(winAnim)
   AddFunction({func = FinishWon, args = {}})
 end
@@ -939,11 +941,10 @@
 	MinesTime = 3000
 	Explosives = 0
 	Delay = 5
-	MapGen = 0
-  TemplateFilter = 6
-  TemplateNumber = 27
-	Theme = "Nature"
-  SuddenDeathTurns = 3000
+    Map = "A_Classic_Fairytale_journey"
+    Theme = "Nature"
+
+    SuddenDeathTurns = 3000
 
 	AddTeam(loc("Natives"), 29439, "Bone", "Island", "HillBilly", "cm_birdy")
 	leaks = AddHog(loc("Leaks A Lot"), 0, 100, "Rambo")
@@ -974,6 +975,7 @@
 end
 
 function onGameStart()
+  progress = tonumber(GetCampaignVar("Progress"))
   m2Choice = tonumber(GetCampaignVar("M2Choice"))
   m2DenseDead = tonumber(GetCampaignVar("M2DenseDead"))
   m2RamonDead = tonumber(GetCampaignVar("M2RamonDead"))
--- a/share/hedgewars/Data/Missions/Campaign/A Classic Fairytale/queen.lua	Thu Apr 04 14:37:19 2013 +0200
+++ b/share/hedgewars/Data/Missions/Campaign/A Classic Fairytale/queen.lua	Tue Jun 04 22:28:12 2013 +0200
@@ -575,6 +575,7 @@
 end
 
 function GetVariables()
+  progress = tonumber(GetCampaignVar("Progress"))
   m5DeployedNum = tonumber(GetCampaignVar("M5DeployedNum"))
   m2Choice = tonumber(GetCampaignVar("M2Choice"))
   m5Choice = tonumber(GetCampaignVar("M5Choice"))
@@ -606,7 +607,9 @@
   SaveCampaignVar("M8PrincessLeader", princessLeader)
   SaveCampaignVar("M8EnemyFled", enemyFled)
   SaveCampaignVar("M8Scene", "" .. scene)
-  SaveCampaignVar("Progress", "8")
+  if progress and progress<8 then
+    SaveCampaignVar("Progress", "8")
+  end
 end
 
 function SetupPlace()
Binary file share/hedgewars/Data/Missions/Campaign/A Classic Fairytale/shadow.hwp has changed
--- a/share/hedgewars/Data/Missions/Campaign/A Classic Fairytale/shadow.lua	Thu Apr 04 14:37:19 2013 +0200
+++ b/share/hedgewars/Data/Missions/Campaign/A Classic Fairytale/shadow.lua	Tue Jun 04 22:28:12 2013 +0200
@@ -761,7 +761,9 @@
   SaveCampaignVar("M2RamonDead", "0")
   SaveCampaignVar("M2SpikyDead", "0")
   AddFunction({func = KillCyborg, args = {}})
-  SaveCampaignVar("Progress", "2")
+  if progress and progress<2 then
+    SaveCampaignVar("Progress", "2")
+  end
   SaveCampaignVar("M2Choice", "" .. choice)
 end
 
@@ -783,7 +785,9 @@
   end
   AddAnim(refusedFinalAnim)
   AddFunction({func = KillCyborg, args = {}})
-  SaveCampaignVar("Progress", "2")
+  if progress and progress<2 then
+    SaveCampaignVar("Progress", "2")
+  end
   SaveCampaignVar("M2Choice", "" .. choice)
 end
 
@@ -791,7 +795,9 @@
   SaveCampaignVar("M2DenseDead", "1")
   SaveCampaignVar("M2RamonDead", "0")
   SaveCampaignVar("M2SpikyDead", "0")
-  SaveCampaignVar("Progress", "2")
+  if progress and progress<2 then
+    SaveCampaignVar("Progress", "2")
+  end
   SaveCampaignVar("M2Choice", "" .. choice)
   AddAnim(attackedFinalAnim)
   AddFunction({func = KillCyborg, args = {}})
@@ -839,11 +845,9 @@
 	MinesTime = 3000
 	Explosives = 0
 	Delay = 10 
-	MapGen = 0
-  TemplateFilter = 6
-  TemplateNumber = 22
+	Map = "A_Classic_Fairytale_shadow"
 	Theme = "Nature"
-  SuddenDeathTurns = 3000
+    SuddenDeathTurns = 3000
 
   AddHogs()
   PlaceHogs()
@@ -854,6 +858,7 @@
 end
 
 function onGameStart()
+  progress = tonumber(GetCampaignVar("Progress"))
   HideHogs()
   AddAmmo(leaks, amSwitch, 100)
   AddAmmo(dense, amSwitch, 100)
--- a/share/hedgewars/Data/Missions/Campaign/A Classic Fairytale/united.lua	Thu Apr 04 14:37:19 2013 +0200
+++ b/share/hedgewars/Data/Missions/Campaign/A Classic Fairytale/united.lua	Tue Jun 04 22:28:12 2013 +0200
@@ -109,7 +109,9 @@
   else
     SaveCampaignVar("M4DenseDead", "0")
   end
-  SaveCampaignVar("Progress", "4")
+  if progress and progress<4 then
+    SaveCampaignVar("Progress", "4")
+  end
   ParseCommand("teamgone " .. loc("011101001"))
   TurnTimeLeft = 0
 end
@@ -416,6 +418,7 @@
 end
 
 function onGameStart()
+  progress = tonumber(GetCampaignVar("Progress"))
   GetVariables()
   SetupAmmo()
   SetupPlace()
--- a/share/hedgewars/Data/Missions/Training/User_Mission_-_Dangerous_Ducklings.lua	Thu Apr 04 14:37:19 2013 +0200
+++ b/share/hedgewars/Data/Missions/Training/User_Mission_-_Dangerous_Ducklings.lua	Tue Jun 04 22:28:12 2013 +0200
@@ -1,11 +1,9 @@
 
 HedgewarsScriptLoad("/Scripts/Locale.lua")
 
-
 local player = nil -- This variable will point to the hog's gear
 local instructor = nil
 local enemy = nil
---local givenSpeech = false
 
 local speechStage = 0
 
@@ -33,22 +31,18 @@
 
 	AddTeam(loc("Bloody Rookies"), 14483456, "Simple", "Island", "Default")
 	player = AddHog(loc("Hunter"), 0, 1, "NoHat")
+	instructor = AddHog(loc("Instructor"), 0, 100, "sf_vega")
 
-	--AddTeam("Instructors", 14483456, "Simple", "Island", "Default")
-	instructor = AddHog(loc("Instructor"), 1, 1, "sf_vega")
-
-	AddTeam("Blue Team", 29439, "Simple", "Island", "Default")
-	enemy = AddHog("Filthy Blue", 1, 100, "Skull")
+	AddTeam(loc("Blue Team"), 29439, "Simple", "Island", "Default")
+	enemy = AddHog(loc("Filthy Blue"), 1, 100, "Skull")
 
 	SetGearPosition(player,146,902)
 	SetGearPosition(instructor,317,902)
 	SetGearPosition(enemy,1918,837)
 
-
 	HogSay(player, ".............................", SAY_THINK)
 	HogTurnLeft(instructor, true)
 
-
 end
 
 
@@ -59,15 +53,7 @@
 
 	FollowGear(player)
 
-	--spawnTarget()
-
-	-- Show some nice mission goals.
-	-- Parameters are: caption, sub caption, description,
-	-- extra text, icon and time to show.
-	-- A negative icon parameter (-n) represents the n-th weapon icon
-	-- A positive icon paramter (n) represents the (n+1)-th mission icon
-	-- A timeframe of 0 is replaced with the default time to show.
-	ShowMission(loc("Dangerous Ducklings"), "", loc("Eliminate the Blue Team"), -amRope, 1);
+	ShowMission(loc("Dangerous Ducklings"), "", loc("Eliminate the Blue Team"), -amRope, 5000);
 
 end
 
@@ -101,15 +87,14 @@
 
 	end
 
-
 	-- if player falls in water or if player ignores speech
 	if (CurrentHedgehog ~= nil) and (CurrentHedgehog == player) then
-		if (GetY(player) > 2060) and (gameLost == false) then
+		if (GetY(player) > WaterLine) and (gameLost == false) then
 			HogSay(instructor, loc("DAMMIT, ROOKIE!"), SAY_SHOUT)
 			gameLost = true
 		end
 
-		if (GetX(player) > 1324) and (GetY(player) > 1908) and (notListening == false) and (speechStage < 3) then
+		if (GetX(player) > 300) and (GetY(player) > 880) and (notListening == false) and (speechStage < 3) then
 			HogSay(instructor, loc("DAMMIT, ROOKIE! GET OFF MY HEAD!"), SAY_SHOUT)
 			notListening = true
 		end
@@ -126,10 +111,11 @@
 		endTimer = endTimer + 1
 		if (CurrentHedgehog ~= nil) and (CurrentHedgehog == instructor) then
 			if endTimer >= 3000 then
-				SetHealth(instructor,0)
-				TurnTimeLeft = 0
+				--SetHealth(instructor,0)
+				TurnTimeLeft = 1
+				ParseCommand("teamgone " .. loc("Bloody Rookies"))
 			end
-			ShowMission(loc("MISSION FAILED"), loc(":("), loc("You've failed. Try again."), -amRope, 1);
+			ShowMission(loc("MISSION FAILED"), loc(":("), loc("You've failed. Try again."), -amRope, 5000);
 		end
 	end
 
@@ -146,9 +132,12 @@
 	if GetGearType(gear) == gtHedgehog then
 		if gear == player then
 			gameLost = true
-		elseif gear == instructor then
+		elseif (gear == instructor) and (GetY(gear) > WaterLine) then
 			HogSay(player, loc("See ya!"), SAY_THINK)
 			TurnTimeLeft = 3000
+			AddCaption(loc("Achievement Unlocked") .. ": " .. loc("Naughty Ninja"),0xffba00ff,capgrpMessage2)
+			ParseCommand("teamgone " .. loc("Blue Team"))
+			gameWon = true
 		elseif gear == enemy then
 			HogSay(player, loc("Enjoy the swim..."), SAY_THINK)
 			gameWon = true
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/share/hedgewars/Data/Missions/Training/User_Mission_-_Nobody_Laugh.lua	Tue Jun 04 22:28:12 2013 +0200
@@ -0,0 +1,130 @@
+--------------------------------------
+-- NOBODY LAUGH
+-- a hilarious (not really) adventure
+--------------------------------------
+
+HedgewarsScriptLoad("/Scripts/Locale.lua")
+HedgewarsScriptLoad("/Scripts/Tracker.lua")
+
+local hhs = {}
+
+function onGameInit()
+
+	Seed = 0
+	GameFlags = gfInfAttack + gfPerHogAmmo +gfDisableWind
+	SuddenDeathTurns = 9999
+	TurnTime = 180000
+	CaseFreq = 0
+	MinesNum = 0
+	Explosives = 0
+	Map = "Bath"
+	Theme = "Nature"
+
+	AddTeam(loc("Nameless Heroes"), 14483456, "eyecross", "Wood", "HillBilly", "cm_birdy")
+	hhs[1] = AddHog(loc( "Hunter" ), 0, 1, "Skull")
+	SetGearPosition(hhs[1], 1267, 451)
+	hhs[2] = AddHog(loc("Drowner"), 0, 31, "mp3")
+	SetGearPosition(hhs[2], 1332, 451)
+
+	AddTeam(loc("Clowns"), 1175851, "Duck2", "Tank", "Mobster", "cm_spider")
+	hhs[3] = AddHog("Poison", 5, 100, "WhySoSerious")
+	SetGearPosition(hhs[3], 1133, 446)
+	hhs[4] = AddHog("Bobo", 5, 100, "clown")
+	SetGearPosition(hhs[4], 1215, 553)
+	hhs[5] = AddHog("Copper", 5, 10, "clown-copper")
+	SetGearPosition(hhs[5], 414, 376)
+	hhs[6] = AddHog("Derp", 5, 100, "clown-crossed")
+	SetGearPosition(hhs[6], 1590, 886)
+	hhs[7] = AddHog("Eckles", 5, 100, "clown-copper")
+	SetGearPosition(hhs[7], 772, 754)
+	hhs[8] = AddHog("Frank", 5, 50, "clown-copper")
+	SetGearPosition(hhs[8], 1688, 714)
+	hhs[9] = AddHog("Harry", 5, 50, "clown-copper")
+	SetGearPosition(hhs[9], 1932, 837)
+	hhs[10] = AddHog("Igmund", 5, 50, "WhySoSerious")
+	SetGearPosition(hhs[10], 1601, 733)
+
+end
+
+function onGameStart()
+
+	AddAmmo(enemy, amAirAttack, 100)
+
+	ShowMission(	loc("Nobody Laugh"),
+					loc("User Challenge"),
+					loc("Eliminate the enemy before the time runs out")
+					, 0, 0
+				)
+
+	-- GIRDERS
+	PlaceGirder(1212, 710, 7)
+	PlaceGirder(1215, 570, 4)
+	PlaceGirder(1288, 520, 2)
+	PlaceGirder(1184, 468, 4)
+	PlaceGirder(1344, 468, 4)
+	PlaceGirder(1247, 346, 4)
+
+	PlaceGirder(667, 438, 4)
+	PlaceGirder(507, 438, 4)
+	PlaceGirder(434, 487, 2)
+	PlaceGirder(505, 537, 4)
+	PlaceGirder(665, 537, 4)
+	PlaceGirder(737, 487, 2)
+
+	PlaceGirder(416, 465, 6)
+	PlaceGirder(1415, 378, 6)
+	PlaceGirder(1300, 625, 3)
+	PlaceGirder(1359, 566, 3)
+	PlaceGirder(1436, 538, 0)
+	PlaceGirder(1505, 468, 4)
+
+	------ AMMO CRATE LIST ------
+	tempG = SpawnAmmoCrate(1242, 315, amBaseballBat)
+	tempG = SpawnAmmoCrate(1309, 315, amAirAttack)
+	tempG = SpawnAmmoCrate(144, 895, amAirAttack)
+	tempG = SpawnAmmoCrate(664, 699, amIceGun)
+	tempG = SpawnAmmoCrate(1572, 444, amFirePunch)
+	tempG = SpawnAmmoCrate(1574, 382, amDynamite)
+
+	------ UTIL CRATE LIST ------
+	tempG = SpawnUtilityCrate(654, 513, amParachute)
+	tempG = SpawnUtilityCrate(1569, 413, amParachute)
+
+	-- HOG AMMO
+	AddAmmo(hhs[1],amParachute,1)
+	AddAmmo(hhs[1],amHammer,1)
+	AddAmmo(hhs[2],amWhip,1)
+
+	for i = 3, 10 do
+		AddAmmo(hhs[i], amDeagle, 100)
+		AddAmmo(hhs[i], amShotgun, 100)
+		AddAmmo(hhs[i], amGrenade, 100)
+		AddAmmo(hhs[i], amBazooka, 100)
+		AddAmmo(hhs[i], amDrill, 100)
+	end
+
+end
+
+function onNewTurn()
+	SetWind(100)
+end
+
+function onAmmoStoreInit()
+
+	SetAmmo(amBaseballBat, 0, 0, 0, 1)
+	SetAmmo(amAirAttack, 0, 0, 0, 1)
+	SetAmmo(amFirePunch, 0, 0, 0, 1)
+	SetAmmo(amDynamite, 0, 0, 0, 1)
+	SetAmmo(amHammer, 0, 0, 0, 1)
+	SetAmmo(amIceGun, 0, 0, 0, 1)
+
+	SetAmmo(amParachute, 0, 0, 0, 1)
+
+	SetAmmo(amSwitch, 9, 0, 0, 0)
+	SetAmmo(amSkip, 9, 0, 0, 0)
+
+end
+
+------------------------------
+--                  I'm in         whitesppaaaaaaaaaacceeeee           :D
+------------------------------
--- a/share/hedgewars/Data/Missions/Training/User_Mission_-_RCPlane_Challenge.lua	Thu Apr 04 14:37:19 2013 +0200
+++ b/share/hedgewars/Data/Missions/Training/User_Mission_-_RCPlane_Challenge.lua	Tue Jun 04 22:28:12 2013 +0200
@@ -20,7 +20,7 @@
 	Explosives = 0
 
 	AddTeam(loc("Wannabe Flyboys"), 14483456, "Simple", "Island", "Default", "Hedgewars")
-	player = AddHog(loc("Ace"), 0, 80, "Gasmask") --NoHat
+	player = AddHog(loc("Ace"), 0, 80, "Gasmask")
 	SetGearPosition(player, 1380, 1500)
 
 end
@@ -314,6 +314,10 @@
 
 		if cratesLeft == 0 then
 
+			if planesUsed == 1 then
+				AddCaption(loc("Achievement Unlocked") .. ": " .. loc("Prestigious Pilot"),0xffba00ff,capgrpMessage2)
+			end
+
 			ShowMission     (
                                 loc("CHALLENGE COMPLETE"),
                                 loc("Congratulations!"),
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/share/hedgewars/Data/Scripts/Multiplayer/Frenzy.cfg	Tue Jun 04 22:28:12 2013 +0200
@@ -0,0 +1,2 @@
+Default
+locked
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/share/hedgewars/Data/Scripts/Multiplayer/Frenzy.lua	Tue Jun 04 22:28:12 2013 +0200
@@ -0,0 +1,142 @@
+-------------------------------------------
+-- FRENZY
+-- a hedgewars mode inspired by Hysteria
+-------------------------------------------
+
+HedgewarsScriptLoad("/Scripts/Locale.lua")
+HedgewarsScriptLoad("/Scripts/Tracker.lua")
+
+local cTimer = 0
+local cn = 0
+
+function initialSetup(gear)
+	SetHealth(gear, 75) -- official is 80, but that assumes bazookas/grenades that do 50 damage
+end
+
+function showStartingInfo()
+
+	ruleSet = "" ..
+	loc("RULES") .. ": " .. "|" ..
+	loc("Each turn is only ONE SECOND!") .. "|" ..
+	loc("Use your ready time to think.") .. "|" ..
+	loc("Slot keys save time! (F1-F10 by default)") .. "|" ..
+	" |" ..
+	loc("SLOTS") .. ": " .. "|" ..
+	loc("Slot") .. " 1 - " .. loc("Bazooka") .. "|" ..
+	loc("Slot") .. " 2 - " .. loc("Grenade") .. "|" ..
+	loc("Slot") .. " 3 - " .. loc("Shotgun") .. "|" ..
+	loc("Slot") .. " 4 - " .. loc("Shoryuken") .. "|" ..
+	loc("Slot") .. " 5 - " .. loc("Mine") .. "|" ..
+	loc("Slot") .. " 6 - " .. loc("Teleport") .. "|" ..
+	loc("Slot") .. " 7 - " .. loc("Blowtorch") .. "|" ..
+	loc("Slot") .. " 8 - " .. loc("Flying Saucer") .. "|" ..
+	loc("Slot") .. " 9 - " .. loc("Molotov") .. "|" ..
+	loc("Slot") .. " 10 - " .. loc("Low Gravity")
+
+	ShowMission(loc("FRENZY"),
+                loc("a frenetic Hedgewars mini-game"),
+                ruleSet, 0, 4000)
+
+end
+
+function onGameInit()
+
+	if TurnTime > 10001 then
+		Ready = 8000
+	else
+		Ready = TurnTime
+	end
+
+	TurnTime = 1000
+
+	--These are the official settings, but I think I prefer allowing customization in this regard
+	--MinesNum = 8
+	--MinesTime = 3000
+	--MinesDudPercent = 30
+	--Explosives = 0
+
+	--Supposedly official settings
+	HealthCaseProb = 0
+	CrateFreq = 0
+
+	--Approximation of Official Settings
+	--SuddenDeathTurns = 10
+	--WaterRise = 47
+	--HealthDecrease = 0
+
+end
+
+function onGameStart()
+	showStartingInfo()
+	runOnHogs(initialSetup)
+end
+
+function onSlot(sln)
+	cTimer = 8
+	cn = sln
+end
+
+function onGameTick()
+	if cTimer ~= 0 then
+		cTimer = cTimer -1
+		if cTimer == 1 then
+			ChangeWep(cn)
+			cn = 0
+			cTimer = 0
+		end
+	end
+end
+
+function ChangeWep(s)
+
+	if s == 0 then
+		ParseCommand("setweap " .. string.char(amBazooka))
+	elseif s == 1 then
+		ParseCommand("setweap " .. string.char(amGrenade))
+	elseif s == 2 then
+		ParseCommand("setweap " .. string.char(amShotgun))
+	elseif s == 3 then
+		ParseCommand("setweap " .. string.char(amFirePunch))
+	elseif s == 4 then
+		ParseCommand("setweap " .. string.char(amMine))
+	elseif s == 5 then
+		ParseCommand("setweap " .. string.char(amTeleport))
+	elseif s == 6 then
+		ParseCommand("setweap " .. string.char(amBlowTorch))
+	elseif s == 7 then
+		ParseCommand("setweap " .. string.char(amJetpack))
+	elseif s == 8 then
+		ParseCommand("setweap " .. string.char(amMolotov))
+	elseif s == 9 then
+		ParseCommand("setweap " .. string.char(amLowGravity))
+	end
+
+end
+
+function onGearAdd(gear)
+	if GetGearType(gear) == gtHedgehog then
+		trackGear(gear)
+	end
+end
+
+function onGearDelete(gear)
+	if GetGearType(gear) == gtHedgehog then
+		trackDeletion(gear)
+	end
+end
+
+function onAmmoStoreInit()
+	SetAmmo(amBazooka, 9, 0, 0, 0)
+	SetAmmo(amGrenade, 9, 0, 0, 0)
+	SetAmmo(amMolotov, 9, 0, 0, 0)
+	SetAmmo(amShotgun, 9, 0, 0, 0)
+	--SetAmmo(amFlamethrower, 9, 0, 0, 0) -- this was suggested on hw.org but it's not present on base
+	SetAmmo(amFirePunch, 9, 0, 0, 0)
+	SetAmmo(amMine, 9, 0, 0, 0)
+	--SetAmmo(amCake, 1, 0, 2, 0) -- maybe it's beefcake?
+	SetAmmo(amJetpack, 9, 0, 0, 0)
+	SetAmmo(amBlowTorch, 9, 0, 0, 0)
+	SetAmmo(amTeleport, 9, 0, 0, 0)
+	SetAmmo(amLowGravity, 9, 0, 0, 0)
+	--SetAmmo(amSkipGo, 9, 0, 0, 0) -- not needed with 1s turn time
+end
--- a/share/hedgewars/Data/Scripts/Multiplayer/Highlander.lua	Thu Apr 04 14:37:19 2013 +0200
+++ b/share/hedgewars/Data/Scripts/Multiplayer/Highlander.lua	Tue Jun 04 22:28:12 2013 +0200
@@ -1,6 +1,6 @@
 --------------------------------
 -- HIGHLANDER / HOGS OF WAR
--- version 0.4
+-- version 0.4b
 -- by mikade
 --------------------------------
 
@@ -63,10 +63,15 @@
 -- add more whitespace
 -- break everything
 
+-----------
+--0.4b
+-----------
+-- as per request, add ice-gun
+
 -------------------------
 -- ideas for the future
 -------------------------
--- add ice gun, structure
+-- add structure
 -- allow switcher, resurrector
 -- add abuse
 -- nerf teleport
@@ -90,7 +95,7 @@
 local atkArray = 	{
 					amBazooka, amBee, amMortar, amDrill, --[[amSnowball,]]
 					amGrenade, amClusterBomb, amMolotov, amWatermelon, amHellishBomb, amGasBomb,
-					amShotgun, amDEagle, amFlamethrower, amSniperRifle, amSineGun,
+					amShotgun, amDEagle, amFlamethrower, amSniperRifle, amSineGun, amIceGun,
 					amFirePunch, amWhip, amBaseballBat, --[[amKamikaze,]] amSeduction, --[[amHammer,]]
 					amMine, amDynamite, amCake, amBallgun, amRCPlane, amSMine,
 					amRCPlane, amSMine,
--- a/share/hedgewars/Data/Scripts/Multiplayer/Mutant.lua	Thu Apr 04 14:37:19 2013 +0200
+++ b/share/hedgewars/Data/Scripts/Multiplayer/Mutant.lua	Tue Jun 04 22:28:12 2013 +0200
@@ -1,625 +1,615 @@
-local MUTANT_VERSION = "v0.9.4"
-
---[[                  ___                   ___
-                    (   )                 (   )
-___ .-. .-. ___  ___ | |_    .---. ___ .-. | |_
-(   )   '   (   )(   (   __) / .-, (   )   (   __)
-|  .-.  .-. | |  | | | |   (__) ; ||  .-. .| |
-| |  | |  | | |  | | | | ___ .'`  || |  | || | ___
-| |  | |  | | |  | | | |(   / .'| || |  | || |(   )
-| |  | |  | | |  | | | | | | /  | || |  | || | | |
-| |  | |  | | |  ; ' | ' | ; |  ; || |  | || ' | |
-| |  | |  | ' `-'  / ' `-' ' `-'  || |  | |' `-' ;
-(___)(___)(___'.__.'   `.__.`.__.'_(___)(___)`.__.
-
-
-----  IMPORTANT!
-----
-----  You should save (press Ctrl+S) this script to:
-----  Program Files\Hedgewars\share\hedgewars\Data\Scripts\Multiplayer\Mutant.lua
-----     or (on Linux):
-----  ~/.hedgewars/Data/Scripts/Multiplayer/Mutant.lua
-----
-----  (or wherever scripts like Highlander.lua, Racer.lua are on your system)
-----
-----  Also, if you didn't have Mutant script yet, you need to restart Hedgewars for it to find the script file.
-----
-
-
-----  GAME RULES
-----
-----  Recommended settings:
-----    * one hedgehog per team
-----    * 'Small' one-island map
-----
-----  First one to kill anyone becomes Mutant. Mutant has super-weapons
-----  and a lot of health, which however depletes if he doesn't frag fast.
-----  Goal of Mutant is to use his weapons to hold his status for as long
-----  as he can.
-----  Goal of others is to hunt the Mutant down. The one who kills Mutant,
-----  becomes Mutant himself.
-----  The player with least points (or most deaths) is Bottom Feeder. He
-----  can gain points by killing anyone. Other normal players only get points
-----  for killing Mutant.
-----
-----  Points:
-----    +2 for becoming a Mutant
-----    +1 to a Mutant for killing anyone
-----    +1 to a Bottom Feeder for killing anyone
-----    -1 to anyone for a suicide
-----   other kills don't give you points.
-----
-
---]]
-
-HedgewarsScriptLoad("/Scripts/Locale.lua")
-HedgewarsScriptLoad("/Scripts/Tracker.lua")
-
---[[
-    MUTANT SCRIPT
-
-    To Do:  -Clean-up this fucking piece of code
-            -Debug
-            -Find a girlfriend
-            -Fix Sheepluva's hat  +[p]
-            -Cookies
-
------------------------]]
-
-local hhs = {}
-local numhhs = 0
-
-local gameOver=false
-
-local mutant = nil
-local mutant_base_health = 200
-local mutant_base_disease = 25
-local disease_timer = 2000
-
-local kill_reward = nil
-local mt_hurt=false
-
-local killsCounter = 0
-
-local team_fire_punishment = 3
-local mutant_kill_reward = 2
-
-local hh_weapons = { amBazooka, amGrenade, amShotgun, amMine}
-
-local mt_weapons = {amWatermelon, amHellishBomb, amBallgun, amRCPlane, amTeleport}
-
-local disease=0
-local timer=0
-
-local winScore = 15
-local hogsLimit = 1
-
-local teams = {}
-
-local circles = {}
-local circleFrame = -1
-
-function onGameInit()
-    TurnTime = 20000
-    WaterRise = 0
-    GameFlags = GameFlags + gfResetWeps + gfPerHogAmmo
-    HealthCaseProb=0
-    HealthCaseAmount=0
-    MinesTime=1000
-    CaseFreq = 2
-
-end
-
-
-function limitHogs(gear)
-    cnthhs = cnthhs + 1
-        if cnthhs > 1 then
-            hogLimitHit = true
-            SetEffect(gear, heResurrectable, false)
-            --SetHealth(gear, 0)
-            SetGearPosition(gear, -100,LAND_HEIGHT)
-        end
-end
-
-function onGameStart()
-    trackTeams()
-    teamScan()
-    runOnHogs(saveStuff)
-    --local str = "/say " .. MUTANT_VERSION
-    --ParseCommand(str)
-
-    hogLimitHit = false
-    for i=0 , TeamsCount - 1 do
-        cnthhs = 0
-        runOnHogsInTeam(limitHogs, teams[i])
-    end
-    if hogLimitHit then
-        AddCaption(loc("ONE HOG PER TEAM! KILLING EXCESS HEDGES"))
-    end
-end
-
-
-
-function giveWeapons(gear)
-
-    if gear == mutant then
-        AddAmmo(gear, amRope)
-        for i=1, #mt_weapons do
-            AddAmmo(gear, mt_weapons[i])
-        end
-
-    else
-        for i=1, #hh_weapons do
-            AddAmmo(gear,hh_weapons[i])
-        end
-    end
-end
-
-function onAmmoStoreInit()
-
-    SetAmmo(amSkip, 9, 0, 0, 0)
-    SetAmmo(amRope,0,1,0,5)
-    SetAmmo(amSnowball,0,1,0,1)
-
-    for i=1, #hh_weapons do
-        SetAmmo(hh_weapons[i], 0, 0, 0, 1)
-    end
-
-    for i=1, #mt_weapons do
-        SetAmmo(mt_weapons[i], 0, 3, 0, 1)
-    end
-
-end
-
-function drawCircles()
-    for i = 0, #hhs do
-        if circles[hhs[i]] ~= nil then
-            DeleteVisualGear(circles[hhs[i]])
-            circles[hhs[i]] = nil
-        end
-
-        if hhs[i] ~= CurrentHedgehog then
-            if mutant == nil then
-                circles[hhs[i]] = AddVisualGear(0, 0, vgtCircle, 0, false)
-                SetVisualGearValues(circles[hhs[i]], 0, 0, 0, 0, 0, 0, 0, 22, 5, 0xff000080)
-            elseif CurrentHedgehog == mutant then
-                circles[hhs[i]] = AddVisualGear(0, 0, vgtCircle, 0, false)
-                SetVisualGearValues(circles[hhs[i]], 0, 0, 0, 0, 0, 0, 0, 22, 3, 0xaa000070)
-            elseif getGearValue(CurrentHedgehog, "Feeder") and hhs[i] ~= mutant then
-                circles[hhs[i]] = AddVisualGear(0, 0, vgtCircle, 0, false)
-                SetVisualGearValues(circles[hhs[i]], 0, 0, 0, 0, 0, 0, 0, 22, 3, 0xaa000070)
-            elseif hhs[i] == mutant then
-                circles[hhs[i]] = AddVisualGear(0, 0, vgtCircle, 0, false)
-                SetVisualGearValues(circles[hhs[i]], 0, 0, 0, 0, 0, 0, 0, 22, 5, 0xff000080)
-            end
-        end
-    end
-    circleFrame = 0
-end
-
-function onNewTurn()
-
-    trackTeams()
-    killsCounter = 0
-
-    if mutant == nil then
-        AddCaption( loc("FIRST BLOOD MUTATES") )
-    end
-
-    checkScore()
-    giveWeapons(CurrentHedgehog)
-    drawCircles()
-    setAIHints()
-    kill_reward= numhhs*10
-
-    if CurrentHedgehog == mutant then
-        mt_hurt=true
-        disease= mutant_base_disease - numhhs
-    else
-        mt_hurt=false
-    end
-
-    setGearValue(CurrentHedgehog, "Alive", true)
-
-end
-
-function countBodies()
-        if killsCounter == 2 then
-            AddCaption(loc("DOUBLE KILL"))
-        elseif killsCounter == 3 then
-            AddCaption(loc("MEGA KILL"))
-            PlaySound(sndRegret)
-        elseif killsCounter == 4 then
-            AddCaption(loc("ULTRA KILL"))
-        elseif killsCounter == 5 then
-            AddCaption(loc("MONSTER KILL"))
-            PlaySound(sndIllGetYou)
-        elseif killsCounter == 6 then
-            AddCaption(loc("LUDICROUS KILL"))
-            PlaySound(sndNutter)
-        elseif killsCounter == 7 then
-            AddCaption(loc("HOLY SHYTE!"))
-            PlaySound(sndLaugh)
-        elseif killsCounter > 8 then
-            AddCaption(loc("INSANITY"))
-        end
-
-end
-
-function onGameTick()
-
-    if circleFrame > -1 then
-        for i = 0, #hhs do
-            if circles[hhs[i]] ~= nil and hhs[i]~= nil then
-                hhx, hhy = GetGearPosition(hhs[i])
-                X, Y, dX, dY, Angle, Frame, FrameTicks, State, Timer, Tint = GetVisualGearValues(circles[hhs[i]])
-                SetVisualGearValues(circles[hhs[i]], hhx + 1, hhy - 3, 0, 0, 0, 0, 0, 40 - (circleFrame % 25), Timer, Tint)
-            end
-        end
-
-        circleFrame = circleFrame + 0.06
-
-        if circleFrame >= 25 then
-            for i = 0, #hhs do
-                if circles[hhs[i]] ~= nil then
-                    DeleteVisualGear(circles[hhs[i]])
-                    circles[hhs[i]] = nil
-                end
-            end
-        end
-    end
-
-    if TurnTimeLeft==0 and mt_hurt then
-        mt_hurt = false
-    end
-
-    if mt_hurt and mutant~=nil then
-        timer = timer + 1
-            if timer > disease_timer then
-                timer = 0
-                SetHealth(mutant, GetHealth(mutant)-disease )
-                AddVisualGear(GetX(mutant), GetY(mutant)-5, vgtHealthTag, disease, true)
-                    if GetHealth(mutant)<=0 then
-                        SetHealth(mutant,0)
-                        mt_hurt= false
-                        setGearValue(mutant,"SelfDestruct",true)
-                        TurnTimeLeft = 0
-                    end
-            end
-    end
-end
-
-function saveStuff(gear)
-    setGearValue(gear,"Name",GetHogName(gear))
-    setGearValue(gear,"Hat",GetHogHat(gear))
-end
-
-function armageddon(gear)
-    SetState(gear, gstLoser)
-    SetEffect(gear, heResurrectable, false)
-    SetHealth(gear, 0)
-end
-
-function updateScore()
-local showScore = ""
-
-    for i=0, TeamsCount-1 do
-        if teams[i]~= nil then
-
-            local curr_score = getTeamValue(teams[i], "Score")
-            showScore = showScore .. teams[i] .. ": " .. curr_score .. " (deaths: " .. getTeamValue(teams[i], "DeadHogs") .. ") " .. "|"
-
-        end
-    end
-
-    ShowMission(loc("Score"),
-                "-------",
-                showScore, 0, 200)
-
-    HideMission()
-
-end
-
-function checkScore()
-local showScore = ""
-local lowest_score_team = nil
-local min_score=nil
-local winTeam = nil
-
-local only_low_score = true
-
-    for i=0, TeamsCount-1 do
-        if teams[i]~=nil then
-            local curr_score = getTeamValue(teams[i], "Score")
-
-            runOnHogsInTeam(removeFeeder, teams[i])
-
-            showScore = showScore .. teams[i] ..": " .. curr_score .. " (deaths: " .. getTeamValue(teams[i], "DeadHogs") .. ") " .. "|"
-
-            if curr_score >= winScore then
-                gameOver = true
-                winTeam = teams[i]
-            end
-
-            if min_score==nil then
-                min_score= curr_score
-                lowest_score_team = teams[i]
-            else
-                if curr_score <= min_score then
-                    if curr_score == min_score then
-                        if getTeamValue(teams[i], "DeadHogs") == getTeamValue(lowest_score_team, "DeadHogs") then
-                            only_low_score = false
-                        else
-                            if getTeamValue(teams[i], "DeadHogs") > getTeamValue(lowest_score_team, "DeadHogs") then
-                                lowest_score_team = teams[i]
-                            end
-                            only_low_score = true
-                        end
-
-                    else
-                        min_score= curr_score
-                        lowest_score_team = teams[i]
-                        only_low_score = true
-                    end
-                end
-            end
-        end
-    end
-
-    if gameOver then
-        TurnTimeLeft = 0
-        for i=0, #teams do
-            if teams[i]~=winTeam then
-                runOnHogsInTeam(armageddon, teams[i])
-            end
-        end
-
-    ShowMission(    loc("WINNER IS ") .. winTeam,
-                    "~~~~~~~~~~~~~~~~~~~~~~~~~",
-                    showScore, 0, 200)
-    else
-
-    if only_low_score then
-        runOnHogsInTeam(setFeeder, lowest_score_team)
-    end
-
-    ShowMission(    loc("Score"),
-                    loc("-------"),
-                    showScore, 0, 200)
-
-    end
-end
-
-function backToNormal(gear)
-
-    SetHogName(gear, getGearValue(gear,"Name"))
-    SetHogHat(gear, 'NoHat')
-    SetHogHat(gear, getGearValue(gear,"Hat"))
-    setGearValue(mutant,"SelfDestruct",false)
-    mt_hurt=false
-    mutant=nil
-end
-
-function setAIHints()
-    for i = 0, #hhs do
-        if mutant == nil or hhs[i] == mutant or CurrentHedgehog == mutant then
-            SetGearAIHints(hhs[i], aihUsual)
-        else
-            SetGearAIHints(hhs[i], aihDoesntMatter)
-        end
-    end
-end
-
-function removeFeeder(gear)
-
-    if gear~=nil then
-        setGearValue(gear,"Feeder",false)
-        if gear~= mutant then
-            SetHogName(gear, getGearValue(gear,"Name") )
-            SetHogHat(gear, 'NoHat')
-            SetHogHat(gear, getGearValue(gear,"Hat"))
-        end
-    end
-end
-
-function setFeeder(gear)
-
-    if gear~= mutant and gear~= nil then
-        SetHogName(gear,"BOTTOM FEEDER")
-        SetHogHat(gear, 'poke_slowpoke')
-        setGearValue(gear,"Feeder", true)
-    end
-end
-
-function setMutantStuff(gear)
-    mutant = gear
-
-    SetHogName(gear,"MUTANT")
-    SetHogHat(gear,'WhySoSerious')
-    SetHealth(gear, ( mutant_base_health + numhhs*25) )
-    SetEffect(gear, hePoisoned, 1)
-    setGearValue(mutant,"SelfDestruct",false)
-    setGearValue(gear, "Feeder", false)
-
-    AddCaption(getGearValue(gear, "Name") .. loc(" HAS MUTATED"))
-
-    TurnTimeLeft=0
-
-    AddVisualGear(GetX(gear), GetY(gear), vgtSmokeRing, 0, false)
-    AddVisualGear(GetX(gear), GetY(gear), vgtSmokeRing, 0, false)
-    AddVisualGear(GetX(gear), GetY(gear), vgtSmokeRing, 0, false)
-    AddVisualGear(GetX(gear), GetY(gear), vgtSmokeRing, 0, false)
-    AddVisualGear(GetX(gear), GetY(gear), vgtSmokeRing, 0, false)
-    PlaySound(sndSuddenDeath)
-end
-
-function teamScan()
-
-        for i=0, TeamsCount-1 do --nil filling
-        teams[i]=nil
-        end
-
-        for i=0, #hhs do
-            for j=0, TeamsCount-1 do
-                if teams[j] ==nil and hhs[i]~=nil then
-                teams[j] = GetHogTeamName(hhs[i])
-                setTeamValue(teams[j],"Score",0)
-                setTeamValue(teams[j], "DeadHogs",0)
-                break
-                end
-
-                if teams[j] == GetHogTeamName(hhs[i]) then
-                    break
-                end
-            end
-        end
-
-        ---***---
-end
-
-
-function onGearDamage(gear, dmg)
-
-end
-
-function set_Mutant_and_Score(gear)
-
-local curr_team = GetHogTeamName(CurrentHedgehog)
-
-    if gear == CurrentHedgehog then
-        if CurrentHedgehog == mutant then
-            PlaySound(sndHomerun)
-            if getGearValue(gear, "SelfDestruct")==false then
-                decreaseTeamValue(curr_team,"Score")
-            end
-            backToNormal(gear)
-        else
-            decreaseTeamValue(curr_team,"Score")
-        end
-
-    else
-            if gear == mutant then
-                    backToNormal(mutant)
-                    if curr_team ~=GetHogTeamName(gear) then
-                            if  getGearValue(CurrentHedgehog, "Alive") then
-                            setMutantStuff(CurrentHedgehog)
-                            setTeamValue(curr_team,"Score",(getTeamValue(curr_team,"Score") + mutant_kill_reward))
-                            end
-                    else
-                        setTeamValue(curr_team,"Score",(getTeamValue(curr_team,"Score") - team_fire_punishment))
-                    end
-            else
-                if mutant==nil then
-                        if curr_team ~=GetHogTeamName(gear) then
-                            if getGearValue(CurrentHedgehog, "Alive") then
-                                    setMutantStuff(CurrentHedgehog)
-                                    setTeamValue(curr_team,"Score",(getTeamValue(curr_team,"Score") + mutant_kill_reward))
-                            else
-                                increaseTeamValue(curr_team,"Score")
-                            end
-                        else
-                            setTeamValue(curr_team,"Score",(getTeamValue(curr_team,"Score") - team_fire_punishment))
-                        end
-                else
-                    if curr_team ~=GetHogTeamName(gear) then
-                        if CurrentHedgehog==mutant and getGearValue(mutant,"SelfDestruct")==false then
-                            SetHealth(CurrentHedgehog, GetHealth(CurrentHedgehog)+kill_reward)
-                            AddCaption("+" .. kill_reward .. loc(" HP") )
-                            increaseTeamValue(curr_team,"Score")
-                        end
-                        if getGearValue(CurrentHedgehog,"Feeder") then
-                            increaseTeamValue(curr_team,"Score")
-                        end
-                    else
-                        setTeamValue(curr_team,"Score",(getTeamValue(curr_team,"Score") - team_fire_punishment))
-                    end
-                end
-            end
-    end
-end
-
-function onGearResurrect(gear)
-if not gameOver then
-    if GetGearType(gear) == gtHedgehog then
-
-        increaseTeamValue(GetHogTeamName(gear), "DeadHogs")
-
-        if gear==CurrentHedgehog then
-            setGearValue(CurrentHedgehog, "Alive", false)
-        end
-        set_Mutant_and_Score(gear)
-        if gear~=CurrentHedgehog then
-            killsCounter = killsCounter + 1
-            countBodies()
-        end
-        AddVisualGear(GetX(gear), GetY(gear), vgtSmokeRing, 0, false)
-        PlaySound(sndWhack)
-        updateScore()
-    end
-end
-end
-
-function onGearAdd(gear)
-
-    -- Catch hedgehogs for the tracker
-    if GetGearType(gear) == gtHedgehog then
-        trackGear(gear)
-        hhs[numhhs] = gear
-        numhhs = numhhs + 1
-        SetEffect(gear, heResurrectable, 1)
-    end
-end
-
-function checkEmptyTeam (teamName)
-    for i=0 , #hhs do
-        if hhs[i]~=nil then
-            if teamName == GetHogTeamName(hhs[i]) then
-                return false
-            end
-        end
-    end
-    return true
-end
-
-function onGearDelete(gear)
-    -- Remove hogs that are gone
-    if GetGearType(gear) == gtHedgehog then
-        numhhs = numhhs - 1
-
-        local found
-        for i=0, #hhs do
-            if hhs[i] == gear then
-                found = i
-                break
-            end
-        end
-        for i = found, #hhs - 1 do
-            hhs[i] = hhs[i + 1]
-        end
-        hhs[#hhs] = nil
-
-        local t_name = GetHogTeamName(gear)
-        if checkEmptyTeam(t_name) then
-            for i = 0, TeamsCount - 1 do
-                if teams[i] == t_name then
-                    found = i
-                    break
-                end
-            end
-            for i = found, TeamsCount - 2 do
-                teams[i] = teams[i + 1]
-            end
-            teams[TeamsCount - 1] = nil
-            TeamsCount = TeamsCount - 1
-        end
-        AddVisualGear(GetX(gear), GetY(gear), vgtBigExplosion, 0, false)
-        trackDeletion(gear)
-    end
-end
-
---[[
-S T A R R I N G
-
-    prof - Coding, implementing and evangelism
-    vos  - Initial idea and script improvements
---]]
+local MUTANT_VERSION = "v0.9.5"
+
+--[[                  ___                   ___
+                    (   )                 (   )
+___ .-. .-. ___  ___ | |_    .---. ___ .-. | |_
+(   )   '   (   )(   (   __) / .-, (   )   (   __)
+|  .-.  .-. | |  | | | |   (__) ; ||  .-. .| |
+| |  | |  | | |  | | | | ___ .'`  || |  | || | ___
+| |  | |  | | |  | | | |(   / .'| || |  | || |(   )
+| |  | |  | | |  | | | | | | /  | || |  | || | | |
+| |  | |  | | |  ; ' | ' | ; |  ; || |  | || ' | |
+| |  | |  | ' `-'  / ' `-' ' `-'  || |  | |' `-' ;
+(___)(___)(___'.__.'   `.__.`.__.'_(___)(___)`.__.
+
+
+----  Recommended settings:
+----    * one hedgehog per team
+----    * 'Small' one-island map
+
+--]]
+
+HedgewarsScriptLoad("/Scripts/Locale.lua")
+HedgewarsScriptLoad("/Scripts/Tracker.lua")
+
+--[[
+    MUTANT SCRIPT
+
+    To Do:  -Clean-up this fucking piece of code
+            -Debug
+            -Find a girlfriend
+            -Fix Sheepluva's hat  +[p]
+            -Cookies
+-----------------------]]
+
+local hhs = {}
+local numhhs = 0
+local meh = false
+
+local gameOver=false
+
+local mutant = nil
+local mutant_base_health = 200
+local mutant_base_disease = 25
+local disease_timer = 2000
+
+local kill_reward = nil
+local mt_hurt=false
+
+local killsCounter = 0
+
+local team_fire_punishment = 3
+local mutant_kill_reward = 2
+
+local hh_weapons = { amBazooka, amGrenade, amShotgun, amMine}
+
+local mt_weapons = {amWatermelon, amHellishBomb, amBallgun, amRCPlane, amTeleport}
+
+local disease=0
+local timer=0
+
+local winScore = 15
+local hogsLimit = 1
+
+local teams = {}
+
+local circles = {}
+local circleFrame = -1
+
+function showStartingInfo()
+
+	ruleSet = loc("RULES") .. ": " ..
+	" |" .. --" |" ..
+	loc("The first player to kill someone becomes the Mutant.") .. "|" ..
+	loc("The Mutant has super-weapons and a lot of health.") .. "|" ..
+	loc("The Mutant loses health quickly if he doesn't keep scoring kills.") .. "|" ..
+	" |" ..
+	loc("Normal players can only score points by killing the mutant.") .. "|" ..
+	" |" .. "" ..
+	loc("The player with least points (or most deaths) becomes the Bottom Feeder.") .. "|" ..
+	loc("The Bottom Feeder can score points by killing anyone.") .. "|" ..
+	" |" ..
+	loc("POINTS") .. ": " ..
+	" |" ..
+	loc("+2 for becoming a Mutant") .. "|" ..
+	loc("+1 to a Mutant for killing anyone") .. "|" ..
+	loc("+1 to a Bottom Feeder for killing anyone") .. "|" ..
+	loc("-1 to anyone for a suicide") .. "|" ..
+	loc("Other kills don't give you points.")
+
+	ShowMission(loc("Mutant"),
+                loc("a Hedgewars tag game"),
+                ruleSet, 0, 5000)
+
+end
+
+function onGameInit()
+    TurnTime = 20000
+    WaterRise = 0
+    GameFlags = GameFlags + gfResetWeps + gfPerHogAmmo
+    HealthCaseProb=0
+    HealthCaseAmount=0
+    MinesTime=1000
+    CaseFreq = 2
+end
+
+
+function limitHogs(gear)
+    cnthhs = cnthhs + 1
+        if cnthhs > 1 then
+            hogLimitHit = true
+            SetEffect(gear, heResurrectable, false)
+            --SetHealth(gear, 0)
+            SetGearPosition(gear, -100,LAND_HEIGHT)
+        end
+end
+
+function onGameStart()
+    trackTeams()
+    teamScan()
+    runOnHogs(saveStuff)
+    --local str = "/say " .. MUTANT_VERSION
+    --ParseCommand(str)
+
+    hogLimitHit = false
+    for i=0 , TeamsCount - 1 do
+        cnthhs = 0
+        runOnHogsInTeam(limitHogs, teams[i])
+    end
+    if hogLimitHit then
+        AddCaption(loc("ONE HOG PER TEAM! KILLING EXCESS HEDGES"))
+    end
+    showStartingInfo()
+end
+
+
+
+function giveWeapons(gear)
+    if gear == mutant then
+        AddAmmo(gear, amRope)
+        for i=1, #mt_weapons do
+            AddAmmo(gear, mt_weapons[i])
+        end
+
+    else
+        for i=1, #hh_weapons do
+            AddAmmo(gear,hh_weapons[i])
+        end
+    end
+end
+
+function onAmmoStoreInit()
+
+    SetAmmo(amSkip, 9, 0, 0, 0)
+    SetAmmo(amRope,0,1,0,5)
+    SetAmmo(amSnowball,0,1,0,1)
+
+    for i=1, #hh_weapons do
+        SetAmmo(hh_weapons[i], 0, 0, 0, 1)
+    end
+
+    for i=1, #mt_weapons do
+        SetAmmo(mt_weapons[i], 0, 3, 0, 1)
+    end
+
+end
+
+function drawCircles()
+    for i = 0, #hhs do
+        if circles[hhs[i]] ~= nil then
+            DeleteVisualGear(circles[hhs[i]])
+            circles[hhs[i]] = nil
+        end
+
+        if hhs[i] ~= CurrentHedgehog then
+            if mutant == nil then
+                circles[hhs[i]] = AddVisualGear(0, 0, vgtCircle, 0, false)
+                SetVisualGearValues(circles[hhs[i]], 0, 0, 0, 0, 0, 0, 0, 22, 5, 0xff000080)
+            elseif CurrentHedgehog == mutant then
+                circles[hhs[i]] = AddVisualGear(0, 0, vgtCircle, 0, false)
+                SetVisualGearValues(circles[hhs[i]], 0, 0, 0, 0, 0, 0, 0, 22, 3, 0xaa000070)
+            elseif getGearValue(CurrentHedgehog, "Feeder") and hhs[i] ~= mutant then
+                circles[hhs[i]] = AddVisualGear(0, 0, vgtCircle, 0, false)
+                SetVisualGearValues(circles[hhs[i]], 0, 0, 0, 0, 0, 0, 0, 22, 3, 0xaa000070)
+            elseif hhs[i] == mutant then
+                circles[hhs[i]] = AddVisualGear(0, 0, vgtCircle, 0, false)
+                SetVisualGearValues(circles[hhs[i]], 0, 0, 0, 0, 0, 0, 0, 22, 5, 0xff000080)
+            end
+        end
+    end
+    circleFrame = 0
+end
+
+function onNewTurn()
+
+    trackTeams()
+    killsCounter = 0
+
+    if mutant == nil then
+        AddCaption( loc("FIRST BLOOD MUTATES") )
+    end
+
+    checkScore()
+    giveWeapons(CurrentHedgehog)
+    drawCircles()
+    setAIHints()
+    kill_reward= numhhs*10
+
+    if CurrentHedgehog == mutant then
+        mt_hurt=true
+        disease= mutant_base_disease - numhhs
+    else
+        mt_hurt=false
+    end
+
+    setGearValue(CurrentHedgehog, "Alive", true)
+
+end
+
+function countBodies()
+        if killsCounter == 2 then
+            AddCaption(loc("DOUBLE KILL"))
+        elseif killsCounter == 3 then
+            AddCaption(loc("MEGA KILL"))
+            PlaySound(sndRegret)
+        elseif killsCounter == 4 then
+            AddCaption(loc("ULTRA KILL"))
+        elseif killsCounter == 5 then
+            AddCaption(loc("MONSTER KILL"))
+            PlaySound(sndIllGetYou)
+        elseif killsCounter == 6 then
+            AddCaption(loc("LUDICROUS KILL"))
+            PlaySound(sndNutter)
+        elseif killsCounter == 7 then
+            AddCaption(loc("HOLY SHYTE!"))
+            PlaySound(sndLaugh)
+        elseif killsCounter > 8 then
+            AddCaption(loc("INSANITY"))
+        end
+end
+
+function onGameTick()
+
+    if circleFrame > -1 then
+        for i = 0, #hhs do
+            if circles[hhs[i]] ~= nil and hhs[i]~= nil then
+                hhx, hhy = GetGearPosition(hhs[i])
+                X, Y, dX, dY, Angle, Frame, FrameTicks, State, Timer, Tint = GetVisualGearValues(circles[hhs[i]])
+                SetVisualGearValues(circles[hhs[i]], hhx + 1, hhy - 3, 0, 0, 0, 0, 0, 40 - (circleFrame % 25), Timer, Tint)
+            end
+        end
+
+        circleFrame = circleFrame + 0.06
+
+        if circleFrame >= 25 then
+            for i = 0, #hhs do
+                if circles[hhs[i]] ~= nil then
+                    DeleteVisualGear(circles[hhs[i]])
+                    circles[hhs[i]] = nil
+                end
+            end
+        end
+    end
+
+    if TurnTimeLeft==0 and mt_hurt then
+        mt_hurt = false
+    end
+
+    if mt_hurt and mutant~=nil then
+        timer = timer + 1
+            if timer > disease_timer then
+                timer = 0
+                SetHealth(mutant, GetHealth(mutant)-disease )
+                AddVisualGear(GetX(mutant), GetY(mutant)-5, vgtHealthTag, disease, true)
+                    if GetHealth(mutant)<=0 then
+                        SetHealth(mutant,0)
+                        mt_hurt= false
+                        setGearValue(mutant,"SelfDestruct",true)
+                        TurnTimeLeft = 0
+                    end
+            end
+    end
+
+end
+
+function saveStuff(gear)
+    setGearValue(gear,"Name",GetHogName(gear))
+    setGearValue(gear,"Hat",GetHogHat(gear))
+end
+
+function armageddon(gear)
+    SetState(gear, gstLoser)
+    SetEffect(gear, heResurrectable, false)
+    SetHealth(gear, 0)
+end
+
+function updateScore()
+
+    local showScore = ""
+
+    for i=0, TeamsCount-1 do
+        if teams[i]~= nil then
+
+            local curr_score = getTeamValue(teams[i], "Score")
+            showScore = showScore .. teams[i] .. ": " .. curr_score .. " (deaths: " .. getTeamValue(teams[i], "DeadHogs") .. ") " .. "|"
+
+        end
+    end
+
+    ShowMission(loc("Score"),
+                "-------",
+                showScore, 0, 200)
+
+    HideMission()
+
+end
+
+function checkScore()
+local showScore = ""
+local lowest_score_team = nil
+local min_score=nil
+local winTeam = nil
+
+local only_low_score = true
+
+    for i=0, TeamsCount-1 do
+        if teams[i]~=nil then
+            local curr_score = getTeamValue(teams[i], "Score")
+
+            runOnHogsInTeam(removeFeeder, teams[i])
+
+            showScore = showScore .. teams[i] ..": " .. curr_score .. " (deaths: " .. getTeamValue(teams[i], "DeadHogs") .. ") " .. "|"
+
+            if curr_score >= winScore then
+                gameOver = true
+                winTeam = teams[i]
+            end
+
+            if min_score==nil then
+                min_score= curr_score
+                lowest_score_team = teams[i]
+            else
+                if curr_score <= min_score then
+                    if curr_score == min_score then
+                        if getTeamValue(teams[i], "DeadHogs") == getTeamValue(lowest_score_team, "DeadHogs") then
+                            only_low_score = false
+                        else
+                            if getTeamValue(teams[i], "DeadHogs") > getTeamValue(lowest_score_team, "DeadHogs") then
+                                lowest_score_team = teams[i]
+                            end
+                            only_low_score = true
+                        end
+
+                    else
+                        min_score= curr_score
+                        lowest_score_team = teams[i]
+                        only_low_score = true
+                    end
+                end
+            end
+        end
+    end
+
+    if gameOver then
+        TurnTimeLeft = 0
+        for i=0, #teams do
+            if teams[i]~=winTeam then
+                runOnHogsInTeam(armageddon, teams[i])
+            end
+        end
+
+    ShowMission(    loc("WINNER IS ") .. winTeam,
+                    "~~~~~~~~~~~~~~~~~~~~~~~~~",
+                    showScore, 0, 200)
+    else
+
+    if only_low_score then
+        runOnHogsInTeam(setFeeder, lowest_score_team)
+    end
+
+    if meh == false then
+		meh = true
+	else
+		ShowMission(    loc("Score"),
+                    loc("-------"),
+                    showScore, 0, 200)
+	end
+
+    end
+end
+
+function backToNormal(gear)
+    SetHogName(gear, getGearValue(gear,"Name"))
+    SetHogHat(gear, 'NoHat')
+    SetHogHat(gear, getGearValue(gear,"Hat"))
+    setGearValue(mutant,"SelfDestruct",false)
+    mt_hurt=false
+    mutant=nil
+end
+
+function setAIHints()
+    for i = 0, #hhs do
+        if mutant == nil or hhs[i] == mutant or CurrentHedgehog == mutant then
+            SetGearAIHints(hhs[i], aihUsual)
+        else
+            SetGearAIHints(hhs[i], aihDoesntMatter)
+        end
+    end
+end
+
+function removeFeeder(gear)
+    if gear~=nil then
+        setGearValue(gear,"Feeder",false)
+        if gear~= mutant then
+            SetHogName(gear, getGearValue(gear,"Name") )
+            SetHogHat(gear, 'NoHat')
+            SetHogHat(gear, getGearValue(gear,"Hat"))
+        end
+    end
+end
+
+function setFeeder(gear)
+    if gear~= mutant and gear~= nil then
+        SetHogName(gear,"BOTTOM FEEDER")
+        SetHogHat(gear, 'poke_slowpoke')
+        setGearValue(gear,"Feeder", true)
+    end
+end
+
+function setMutantStuff(gear)
+    mutant = gear
+
+    SetHogName(gear,"MUTANT")
+    SetHogHat(gear,'WhySoSerious')
+    SetHealth(gear, ( mutant_base_health + numhhs*25) )
+    SetEffect(gear, hePoisoned, 1)
+    setGearValue(mutant,"SelfDestruct",false)
+    setGearValue(gear, "Feeder", false)
+
+    AddCaption(getGearValue(gear, "Name") .. loc(" HAS MUTATED"))
+
+    TurnTimeLeft=0
+
+    AddVisualGear(GetX(gear), GetY(gear), vgtSmokeRing, 0, false)
+    AddVisualGear(GetX(gear), GetY(gear), vgtSmokeRing, 0, false)
+    AddVisualGear(GetX(gear), GetY(gear), vgtSmokeRing, 0, false)
+    AddVisualGear(GetX(gear), GetY(gear), vgtSmokeRing, 0, false)
+    AddVisualGear(GetX(gear), GetY(gear), vgtSmokeRing, 0, false)
+    PlaySound(sndSuddenDeath)
+end
+
+function teamScan()
+
+        for i=0, TeamsCount-1 do --nil filling
+        teams[i]=nil
+        end
+
+        for i=0, #hhs do
+            for j=0, TeamsCount-1 do
+                if teams[j] ==nil and hhs[i]~=nil then
+                teams[j] = GetHogTeamName(hhs[i])
+                setTeamValue(teams[j],"Score",0)
+                setTeamValue(teams[j], "DeadHogs",0)
+                break
+                end
+
+                if teams[j] == GetHogTeamName(hhs[i]) then
+                    break
+                end
+            end
+        end
+
+        ---***---
+end
+
+function set_Mutant_and_Score(gear)
+
+local curr_team = GetHogTeamName(CurrentHedgehog)
+
+    if gear == CurrentHedgehog then
+        if CurrentHedgehog == mutant then
+            PlaySound(sndHomerun)
+            if getGearValue(gear, "SelfDestruct")==false then
+                decreaseTeamValue(curr_team,"Score")
+            end
+            backToNormal(gear)
+        else
+            decreaseTeamValue(curr_team,"Score")
+        end
+
+    else
+            if gear == mutant then
+                    backToNormal(mutant)
+                    if curr_team ~=GetHogTeamName(gear) then
+                            if  getGearValue(CurrentHedgehog, "Alive") then
+                            setMutantStuff(CurrentHedgehog)
+                            setTeamValue(curr_team,"Score",(getTeamValue(curr_team,"Score") + mutant_kill_reward))
+                            end
+                    else
+                        setTeamValue(curr_team,"Score",(getTeamValue(curr_team,"Score") - team_fire_punishment))
+                    end
+            else
+                if mutant==nil then
+                        if curr_team ~=GetHogTeamName(gear) then
+                            if getGearValue(CurrentHedgehog, "Alive") then
+                                    setMutantStuff(CurrentHedgehog)
+                                    setTeamValue(curr_team,"Score",(getTeamValue(curr_team,"Score") + mutant_kill_reward))
+                            else
+                                increaseTeamValue(curr_team,"Score")
+                            end
+                        else
+                            setTeamValue(curr_team,"Score",(getTeamValue(curr_team,"Score") - team_fire_punishment))
+                        end
+                else
+                    if curr_team ~=GetHogTeamName(gear) then
+                        if CurrentHedgehog==mutant and getGearValue(mutant,"SelfDestruct")==false then
+                            SetHealth(CurrentHedgehog, GetHealth(CurrentHedgehog)+kill_reward)
+                            AddCaption("+" .. kill_reward .. loc(" HP") )
+                            increaseTeamValue(curr_team,"Score")
+                        end
+                        if getGearValue(CurrentHedgehog,"Feeder") then
+                            increaseTeamValue(curr_team,"Score")
+                        end
+                    else
+                        setTeamValue(curr_team,"Score",(getTeamValue(curr_team,"Score") - team_fire_punishment))
+                    end
+                end
+            end
+    end
+end
+
+function onGearResurrect(gear)
+if not gameOver then
+    if GetGearType(gear) == gtHedgehog then
+
+        increaseTeamValue(GetHogTeamName(gear), "DeadHogs")
+
+        if gear==CurrentHedgehog then
+            setGearValue(CurrentHedgehog, "Alive", false)
+        end
+        set_Mutant_and_Score(gear)
+        if gear~=CurrentHedgehog then
+            killsCounter = killsCounter + 1
+            countBodies()
+        end
+        AddVisualGear(GetX(gear), GetY(gear), vgtSmokeRing, 0, false)
+        PlaySound(sndWhack)
+        updateScore()
+    end
+end
+end
+
+function onGearAdd(gear)
+
+    -- Catch hedgehogs for the tracker
+    if GetGearType(gear) == gtHedgehog then
+        trackGear(gear)
+        hhs[numhhs] = gear
+        numhhs = numhhs + 1
+        SetEffect(gear, heResurrectable, 1)
+    end
+end
+
+function checkEmptyTeam (teamName)
+    for i=0 , #hhs do
+        if hhs[i]~=nil then
+            if teamName == GetHogTeamName(hhs[i]) then
+                return false
+            end
+        end
+    end
+    return true
+end
+
+function onGearDelete(gear)
+    -- Remove hogs that are gone
+    if GetGearType(gear) == gtHedgehog then
+        numhhs = numhhs - 1
+
+        local found
+        for i=0, #hhs do
+            if hhs[i] == gear then
+                found = i
+                break
+            end
+        end
+        for i = found, #hhs - 1 do
+            hhs[i] = hhs[i + 1]
+        end
+        hhs[#hhs] = nil
+
+        local t_name = GetHogTeamName(gear)
+        if checkEmptyTeam(t_name) then
+            for i = 0, TeamsCount - 1 do
+                if teams[i] == t_name then
+                    found = i
+                    break
+                end
+            end
+            for i = found, TeamsCount - 2 do
+                teams[i] = teams[i + 1]
+            end
+            teams[TeamsCount - 1] = nil
+            TeamsCount = TeamsCount - 1
+        end
+        AddVisualGear(GetX(gear), GetY(gear), vgtBigExplosion, 0, false)
+        trackDeletion(gear)
+    end
+end
+
+--[[
+S T A R R I N G
+    prof - Coding, implementing and evangelism
+    vos  - Initial idea and script improvements
+    mikade - Moving the `how to play` into the game so that people know `how to play`, and whitespace :D
+--]]
--- a/share/hedgewars/Data/Scripts/Multiplayer/Racer.lua	Thu Apr 04 14:37:19 2013 +0200
+++ b/share/hedgewars/Data/Scripts/Multiplayer/Racer.lua	Tue Jun 04 22:28:12 2013 +0200
@@ -1,700 +1,706 @@
-
-------------------------------------------
--- RACER 0.5
--- map-independant racing script
--- by mikade
------------------------------------------
-
------------------------------------
---0.1: took all the code from crazy racer and scrapped most of it
------------------------------------
-
--- Removed tumbler system
--- Removed extra adds like boosters etc
--- Added experimental waypoint placement system
--- More user feedback
--- Reduced race complexity limit to 5 waypoints
--- stop placement at complexity limit reached and end turn
--- guys dont keep racing after dying
--- invulnerable feasibility
--- reverted time keeping method
--- reduced feedback display time
--- colour-coded addcaptions
--- cleaned up code
--- support for more players properly added
--- tardis fix
--- remove airstrikes
-
--- i think the remainder 0 .456 sec of the tracktime isnt getting reset on newturn
-
--- update feedback
-
--------
--- 0.2
--------
-
--- allow gameflags
--- extend time to 90s
--- remove other air-attack based weps
--- turn off water rise for sd
-
--------
--- 0.3
--------
-
--- prevent WP being placed in land
--- prevent waypoints being placed outside border
-
--------
--- 0.4
--------
-
--- update user feedback
--- add more sounds
-
--------
--- 0.5
--------
-
--- fix ghost disappearing if hog falls in water or somehow dies
--- lengthen ghost tracking interval to improve performance on slower machines
--- increase waypoint limit to 8
--- allow for persistent showmission information
-
------------------------------
--- SCRIPT BEGINS
------------------------------
-
-HedgewarsScriptLoad("/Scripts/Locale.lua")
-
-------------------
--- Got Variables?
-------------------
-
-local fMod = 1000000 -- 1
-local roundLimit = 3
-local roundNumber = 0
-local firstClan = 10
-
-local fastX = {}
-local fastY = {}
-local fastCount = 0
-local fastIndex = 0
-local fastColour
-
-local currX = {}
-local currY = {}
-local currCount = 0
-
---------------------------
--- hog and team tracking variales
---------------------------
-
-local numhhs = 0 -- store number of hedgehogs
-local hhs = {} -- store hedgehog gears
-
-local numTeams --  store the number of teams in the game
-local teamNameArr = {}	-- store the list of teams
-local teamClan = {}
-local teamSize = {}	-- store how many hogs per team
-local teamIndex = {} -- at what point in the hhs{} does each team begin
-
-local teamComment = {}
-local teamScore = {}
-
--------
--- racer vars
---------
-
-local cGear = nil
-
-local bestClan = nil
-local bestTime = nil
-
-local gameBegun = false
-local gameOver = false
-local racerActive = false
-local trackTime = 0
-
-local wpCirc = {}
-local wpX = {}
-local wpY = {}
-local wpCol = {}
-local wpActive = {}
-local wpRad = 450 --75
-local wpCount = 0
-local wpLimit = 8
-
-local roundN
-local lastRound
-local RoundHasChanged
-
--------------------
--- general methods
--------------------
-
-function RebuildTeamInfo()
-
-
-	-- make a list of individual team names
-	for i = 0, (TeamsCount-1) do
-		teamNameArr[i] = " " -- = i
-		teamSize[i] = 0
-		teamIndex[i] = 0
-		teamScore[i] = 100000
-	end
-	numTeams = 0
-
-	for i = 0, (numhhs-1) do
-
-		z = 0
-		unfinished = true
-		while(unfinished == true) do
-
-			newTeam = true
-			tempHogTeamName = GetHogTeamName(hhs[i]) -- this is the new name
-
-			if tempHogTeamName == teamNameArr[z] then
-				newTeam = false
-				unfinished = false
-			end
-
-			z = z + 1
-
-			if z == TeamsCount then
-				unfinished = false
-				if newTeam == true then
-					teamNameArr[numTeams] = tempHogTeamName
-					numTeams = numTeams + 1
-				end
-			end
-
-		end
-
-	end
-
-	-- find out how many hogs per team, and the index of the first hog in hhs
-	for i = 0, (numTeams-1) do
-		for z = 0, (numhhs-1) do
-			if GetHogTeamName(hhs[z]) == teamNameArr[i] then
-				teamClan[i] = GetHogClan(hhs[z])
-				if teamSize[i] == 0 then
-					teamIndex[i] = z -- should give starting index
-				end
-				teamSize[i] = teamSize[i] + 1
-				--add a pointer so this hog appears at i in hhs
-			end
-		end
-
-	end
-
-end
-
-
------------------
--- RACER METHODS
------------------
-
-function CheckWaypoints()
-
-	trackFinished = true
-
-	for i = 0, (wpCount-1) do
-
-		g1X, g1Y = GetGearPosition(CurrentHedgehog)
-		g2X, g2Y = wpX[i], wpY[i]
-
-		g1X = g1X - g2X
-		g1Y = g1Y - g2Y
-		dist = (g1X*g1X) + (g1Y*g1Y)
-
-		--if i == 0 then
-		--	AddCaption(dist .. "/" .. (wpRad*wpRad) )
-		--end
-
-		NR = (48/100*wpRad)/2
-
-		if dist < (NR*NR) then
-		--if dist < (wpRad*wpRad) then
-			--AddCaption("howdy")
-			wpActive[i] = true
-			wpCol[i] = GetClanColor(GetHogClan(CurrentHedgehog)) -- new				--GetClanColor(1)
-			SetVisualGearValues(wpCirc[i], wpX[i], wpY[i], 20, 100, 1, 10, 0, wpRad, 5, wpCol[i])
-
-			wpRem = 0
-			for k = 0, (wpCount-1) do
-				if wpActive[k] == false then
-					wpRem = wpRem + 1
-				end
-			end
-
-			AddCaption(loc("Way-Points Remaining") .. ": " .. wpRem,0xffba00ff,capgrpAmmoinfo)
-
-		end
-
-		if wpActive[i] == false then
-			trackFinished = false
-		end
-
-	end
-
-	return(trackFinished)
-
-end
-
-function AdjustScores()
-
-	if bestTime == nil then
-		bestTime = 100000
-		bestClan = 10
-		bestTimeComment = "N/A"
-	end
-
-	newScore = false
-
-	-- update this clan's time if the new track is better
-	for i = 0, (numTeams-1) do
-		if teamClan[i] == GetHogClan(CurrentHedgehog) then
-			if trackTime < teamScore[i] then
-				teamScore[i] = trackTime
-				newScore = true
-			else
-				newScore = false
-			end
-		end
-	end
-
-	--bestTime = 100000
-	--bestClan = 10
-
-	-- find the best time out of those so far
-	for i = 0, (numTeams-1) do
-		if teamScore[i] < bestTime then
-			bestTime = teamScore[i]
-			bestClan = teamClan[i]
-		end
-	end
-
-	if bestTime ~= 100000 then
-		bestTimeComment = (bestTime/1000) ..loc("s")
-	end
-
-	if newScore == true then
-		if trackTime == bestTime then -- best time of the race
-			ShowMission(loc("RACER"),
-			loc("TRACK COMPLETED"),
-			loc("NEW RACE RECORD: ") .. (trackTime/1000) ..loc("s") .. "|" ..
-			loc("WINNING TIME: ") .. bestTimeComment, 0, 4000)
-			PlaySound(sndHomerun)
-		else	-- best time for the clan
-			ShowMission(loc("RACER"),
-			loc("TRACK COMPLETED"),
-			loc("NEW CLAN RECORD: ") .. (trackTime/1000) ..loc("s") .. "|" ..
-			loc("WINNING TIME: ") .. bestTimeComment, 4, 4000)
-		end
-	else -- not any kind of new score
-		ShowMission(loc("RACER"),
-		loc("TRACK COMPLETED"),
-		loc("TIME: ") .. (trackTime/1000) ..loc("s") .. "|" ..
-		loc("WINNING TIME: ") .. bestTimeComment, -amSkip, 4000)
-		PlaySound(sndHellish)
-	end
-
-
-	--------
-	--new
-	--------
-
-	if bestTime == trackTime then
-		--AddCaption("wooooooooooooooooooooooooooooo")
-
-		fastColour = GetClanColor(GetHogClan(CurrentHedgehog))
-
-		for i = 0, (currCount-1) do
-			fastX[i] = currX[i]
-			fastY[i] = currY[i]
-		end
-
-		fastCount = currCount
-		fastIndex = 0
-
-		--currCount = 0 -- is this needed?
-
-	else
-		currCount = 0
-		fastIndex = 0
-	end
-
-
-end
-
-function onNewRound()
-
-	roundNumber = roundNumber + 1
-
-	totalComment = ""
-	for i = 0, (TeamsCount-1) do
-			if teamNameArr[i] ~= " " then				-- teamScore[teamClan[i]]
-				teamComment[i] = teamNameArr[i] .. ": " .. (teamScore[i]/1000) .. loc("s|")
-				totalComment = totalComment .. teamComment[i]
-			elseif teamNameArr[i] == " " then
-				teamComment[i] = "|"
-			end
-	end
-
-	ShowMission(	loc("RACER"),
-					loc("STATUS UPDATE"),
-					loc("Rounds Complete: ") .. roundNumber .. "/" .. roundLimit .. "|" .. " " .. "|" ..
-					loc("Best Team Times: ") .. "|" .. totalComment, 0, 4000)
-
-	-- end game if its at round limit
-	if roundNumber == roundLimit then
-		for i = 0, (numhhs-1) do
-			if GetHogClan(hhs[i]) ~= bestClan then
-				SetEffect(hhs[i], heResurrectable, 0)
-				SetHealth(hhs[i],0)
-			end
-		end
-		gameOver = true
-		TurnTimeLeft = 1
-	end
-
-end
-
-function CheckForNewRound()
-
-	-------------
-	------ new
-	-------------
-
-	--[[turnN = turnN + 1
-	if gameBegun == false then
-		if turnN == 2 then
-			for i = 0, (numhhs-1) do
-				if hhs[i] ~= nil then
-					SetEffect(hhs[i], heResurrectable, 0)
-					SetHealth(hhs[i],0)
-				end
-			end
-			gameOver = true
-			TurnTimeLeft = 1
-		end
-	else
-
-
-	end]]
-
-	--[[if roundBegun == true then
-
-		if RoundHasChanged == true then
-			roundN = roundN + 1
-			RoundHasChanged = false
-			onNewRound()
-		end
-
-		if lastRound ~= TotalRounds then -- new round, but not really
-
-			if RoundHasChanged == false then
-				RoundHasChanged = true
-			end
-
-		end
-
-		AddCaption("RoundN:" .. roundN .. "; " .. "TR: " .. TotalRounds)
-
-		lastRound = TotalRounds
-
-	end]]
-
-	------------
-	----- old
-	------------
-
-	if GetHogClan(CurrentHedgehog) == firstClan then
-		onNewRound()
-	end
-
-end
-
-function DisableTumbler()
-	currCount = 0
-	fastIndex = 0
-	TurnTimeLeft = 0
-	racerActive = false -- newadd
-end
-
-function HandleGhost()
-
-	-- get the current xy of the racer at this point
-	currX[currCount] = GetX(CurrentHedgehog)
-	currY[currCount] = GetY(CurrentHedgehog)
-	currCount = currCount + 1
-
-	-- draw a ping of smoke where the fastest player was at this point
-	if (fastCount ~= 0) and (fastIndex < fastCount) then
-
-		fastIndex = fastIndex + 1
-
-		tempE = AddVisualGear(fastX[fastIndex], fastY[fastIndex], vgtSmoke, 0, false)
-		g1, g2, g3, g4, g5, g6, g7, g8, g9, g10 = GetVisualGearValues(tempE)
-		SetVisualGearValues(tempE, g1, g2, g3, g4, g5, g6, g7, g8, g9, fastColour )
-
-		--AddCaption("fC: " .. fastIndex .. " / " .. fastCount)
-
-	else
-
-		--AddCaption("excep fC: " .. fastIndex .. " / " .. fastCount)
-
-	end
-
-
-
-end
-
-----------------------------------
--- GAME METHODS / EVENT HANDLERS
-----------------------------------
-
-function onGameInit()
-	GameFlags = GameFlags + gfInfAttack + gfInvulnerable
-	CaseFreq = 0
-	TurnTime = 90000
-	WaterRise = 0
-end
-
-
-function onGameStart()
-
-	roundN = 0
-	lastRound = TotalRounds
-	RoundHasChanged = false -- true
-
-	RebuildTeamInfo()
-
-	ShowMission	(
-				loc("RACER"),
-				loc("a Hedgewars mini-game"),
-
-				loc("Build a track and race.") .. "|" ..
-				loc("Round Limit:") .. " " .. roundLimit .. "|" ..
-
-				"", 4, 4000
-				)
-end
-
-function PlaceWayPoint(x,y)
-
-	if (wpCount < wpLimit) then -- seems to not work with a hedgehog nil chek
-
-		wpX[wpCount] = x
-		wpY[wpCount] = y
-		wpCol[wpCount] = 0xffffffff
-		wpCirc[wpCount] = AddVisualGear(wpX[wpCount],wpY[wpCount],vgtCircle,0,true)
-																		--100
-		SetVisualGearValues(wpCirc[wpCount], wpX[wpCount], wpY[wpCount], 20, 100, 1, 10, 0, wpRad, 5, wpCol[wpCount])
-
-		wpCount = wpCount + 1
-
-		AddCaption(loc("Waypoint placed.") .. " " .. loc("Available points remaining: ") .. (wpLimit-wpCount))
-
-	end
-
-end
-
-function onNewTurn()
-
-	CheckForNewRound()
-
-	racerActive = false
-
-	trackTime = 0
-
-	currCount = 0 -- hopefully this solves problem
-	AddAmmo(CurrentHedgehog, amAirAttack, 0)
-	gTimer = 0
-
-	-- Set the waypoints to unactive on new round
-	for i = 0,(wpCount-1) do
-		wpActive[i] = false
-		wpCol[i] = 0xffffffff
-		SetVisualGearValues(wpCirc[i], wpX[i], wpY[i], 20, 100, 1, 10, 0, wpRad, 5, wpCol[i])
-	end
-
-	-- Handle Starting Stage of Game
-	if (gameOver == false) and (gameBegun == false) then
-		if wpCount >= 3 then
-			gameBegun = true
-			roundNumber = 0
-			firstClan = GetHogClan(CurrentHedgehog)
-			ShowMission(loc("RACER"),
-			loc("GAME BEGUN!!!"),
-			loc("Complete the track as fast as you can!"), 2, 4000)
-		else
-			ShowMission(loc("RACER"),
-			loc("NOT ENOUGH WAYPOINTS"),
-			loc("Place more waypoints using the 'Air Attack' weapon."), 2, 4000)
-			AddAmmo(CurrentHedgehog, amAirAttack, 4000)
-            ParseCommand("setweap " .. string.char(amAirAttack))
-		end
-	end
-
-	if gameOver == true then
-		gameBegun = false
-		racerActive = false -- newadd
-	end
-
-	AddAmmo(CurrentHedgehog, amTardis, 0)
-	AddAmmo(CurrentHedgehog, amDrillStrike, 0)
-	AddAmmo(CurrentHedgehog, amMineStrike, 0)
-	AddAmmo(CurrentHedgehog, amNapalm, 0)
-	AddAmmo(CurrentHedgehog, amPiano, 0)
-
-end
-
-function onGameTick20()
-
-	-- airstrike detected, convert this into a potential waypoint spot
-	if cGear ~= nil then
-		x,y = GetGearPosition(cGear)
-        if x > -9000 then
-            x,y = GetGearTarget(cGear)
-
-
-            if TestRectForObstacle(x-20, y-20, x+20, y+20, true) then
-                AddCaption(loc("Please place the way-point in the open, within the map boundaries."))
-                PlaySound(sndDenied)
-            elseif (y > WaterLine-50) then
-                AddCaption(loc("Please place the way-point further from the waterline."))
-                PlaySound(sndDenied)
-            else
-                PlaceWayPoint(x, y)
-                if wpCount == wpLimit then
-                    AddCaption(loc("Race complexity limit reached."))
-                    DisableTumbler()
-                end
-            end
-        else
-            DeleteGear(cGear)
-        end
-        SetGearPosition(cGear, -10000, 0)
-	end
-
-
-	-- start the player tumbling with a boom once their turn has actually begun
-	if racerActive == false then
-
-		if (TurnTimeLeft > 0) and (TurnTimeLeft ~= TurnTime) then
-
-			-- if the gamehas started put the player in the middle of the first
-			--waypoint that was placed
-			if gameBegun == true then
-				AddCaption(loc("Good to go!"))
-				racerActive = true
-				trackTime = 0
-
-				SetGearPosition(CurrentHedgehog, wpX[0], wpY[0])
-				AddGear(GetX(CurrentHedgehog), GetY(CurrentHedgehog), gtGrenade, 0, 0, 0, 1)
-				FollowGear(CurrentHedgehog)
-
-				HideMission()
-
-			else
-				-- still in placement mode
-			end
-
-		end
-	end
-
-
-
-	-- has the player started his tumbling spree?
-	if (CurrentHedgehog ~= nil) then
-
-		--airstrike conversion used to be here
-
-		-- if the RACE has started, show tracktimes and keep tabs on waypoints
-		if (racerActive == true) and (gameBegun == true) then
-
-			--ghost
-			if GameTime%40 == 0 then
-				HandleGhost()
-			end
-
-			trackTime = trackTime + 20
-
-			if GameTime%100 == 0 then
-                
-                if trackTime%1000 == 0 then
-                    AddCaption((trackTime/1000)..'.0',GetClanColor(GetHogClan(CurrentHedgehog)),capgrpMessage2)
-                else
-                    AddCaption(trackTime/1000,GetClanColor(GetHogClan(CurrentHedgehog)),capgrpMessage2)
-                end
-
-				if (CheckWaypoints() == true) then
-					AdjustScores()
-					racerActive = false
-					DisableTumbler()
-				end
-
-			end
-
-		end
-
-
-
-		-- if the player has expended his tunbling time, stop him tumbling
-		if TurnTimeLeft <= 20 then
-			DisableTumbler()
-		end
-
-	end
-
-end
-
-function onGearResurrect(gear)
-
-	AddVisualGear(GetX(gear), GetY(gear), vgtBigExplosion, 0, false)
-
-	if gear == CurrentHedgehog then
-		DisableTumbler()
-	end
-
-	-- if the player stops and "dies" or flies into water, stop him racing
-	--[[if gear == CurrentHedgehog then
-		DisableTumbler()
-		ShowMission(loc("RACER"),
-		loc("TRACK FAILED!"),
-		loc("WINNING TIME: ") .. bestTimeComment, -amSkip, 4000)
-	end]]
-
-end
-
-function onGearAdd(gear)
-
-	if GetGearType(gear) == gtHedgehog then
-		hhs[numhhs] = gear
-		numhhs = numhhs + 1
-		SetEffect(gear, heResurrectable, 1)
-	end
-
-	if GetGearType(gear) == gtAirAttack then
-		cGear = gear
-	end
-
-end
-
-function onGearDelete(gear)
-
-	if GetGearType(gear) == gtAirAttack then
-		cGear = nil
-	end
-
-end
-
---[[function onAmmoStoreInit()
-	SetAmmo(amRope, 9, 0, 0, 0)
-	SetAmmo(amJetpack, 9, 0, 0, 0)
-	SetAmmo(amSkip, 9, 0, 0, 0)
-end]]
-
-
+
+------------------------------------------
+-- RACER 0.6
+-- map-independant racing script
+-- by mikade
+-----------------------------------------
+
+-----------------------------------
+--0.1: took all the code from crazy racer and scrapped most of it
+-----------------------------------
+
+-- Removed tumbler system
+-- Removed extra adds like boosters etc
+-- Added experimental waypoint placement system
+-- More user feedback
+-- Reduced race complexity limit to 5 waypoints
+-- stop placement at complexity limit reached and end turn
+-- guys dont keep racing after dying
+-- invulnerable feasibility
+-- reverted time keeping method
+-- reduced feedback display time
+-- colour-coded addcaptions
+-- cleaned up code
+-- support for more players properly added
+-- tardis fix
+-- remove airstrikes
+
+-- i think the remainder 0 .456 sec of the tracktime isnt getting reset on newturn
+
+-- update feedback
+
+-------
+-- 0.2
+-------
+
+-- allow gameflags
+-- extend time to 90s
+-- remove other air-attack based weps
+-- turn off water rise for sd
+
+-------
+-- 0.3
+-------
+
+-- prevent WP being placed in land
+-- prevent waypoints being placed outside border
+
+-------
+-- 0.4
+-------
+
+-- update user feedback
+-- add more sounds
+
+-------
+-- 0.5
+-------
+
+-- fix ghost disappearing if hog falls in water or somehow dies
+-- lengthen ghost tracking interval to improve performance on slower machines
+-- increase waypoint limit to 8
+-- allow for persistent showmission information
+
+-------
+-- 0.6
+-------
+
+-- remove hogs from racing area as per request
+
+-----------------------------
+-- SCRIPT BEGINS
+-----------------------------
+
+HedgewarsScriptLoad("/Scripts/Locale.lua")
+
+------------------
+-- Got Variables?
+------------------
+
+local fMod = 1000000 -- 1
+local roundLimit = 3
+local roundNumber = 0
+local firstClan = 10
+
+local fastX = {}
+local fastY = {}
+local fastCount = 0
+local fastIndex = 0
+local fastColour
+
+local currX = {}
+local currY = {}
+local currCount = 0
+
+--------------------------
+-- hog and team tracking variales
+--------------------------
+
+local numhhs = 0 -- store number of hedgehogs
+local hhs = {} -- store hedgehog gears
+
+local numTeams --  store the number of teams in the game
+local teamNameArr = {}  -- store the list of teams
+local teamClan = {}
+local teamSize = {}     -- store how many hogs per team
+local teamIndex = {} -- at what point in the hhs{} does each team begin
+
+local teamComment = {}
+local teamScore = {}
+
+-------
+-- racer vars
+--------
+
+local cGear = nil
+
+local bestClan = nil
+local bestTime = nil
+
+local gameBegun = false
+local gameOver = false
+local racerActive = false
+local trackTime = 0
+
+local wpCirc = {}
+local wpX = {}
+local wpY = {}
+local wpCol = {}
+local wpActive = {}
+local wpRad = 450 --75
+local wpCount = 0
+local wpLimit = 8
+
+local roundN
+local lastRound
+local RoundHasChanged
+
+-------------------
+-- general methods
+-------------------
+
+function RebuildTeamInfo()
+
+
+        -- make a list of individual team names
+        for i = 0, (TeamsCount-1) do
+                teamNameArr[i] = " " -- = i
+                teamSize[i] = 0
+                teamIndex[i] = 0
+                teamScore[i] = 100000
+        end
+        numTeams = 0
+
+        for i = 0, (numhhs-1) do
+
+                z = 0
+                unfinished = true
+                while(unfinished == true) do
+
+                        newTeam = true
+                        tempHogTeamName = GetHogTeamName(hhs[i]) -- this is the new name
+
+                        if tempHogTeamName == teamNameArr[z] then
+                                newTeam = false
+                                unfinished = false
+                        end
+
+                        z = z + 1
+
+                        if z == TeamsCount then
+                                unfinished = false
+                                if newTeam == true then
+                                        teamNameArr[numTeams] = tempHogTeamName
+                                        numTeams = numTeams + 1
+                                end
+                        end
+
+                end
+
+        end
+
+        -- find out how many hogs per team, and the index of the first hog in hhs
+        for i = 0, (numTeams-1) do
+                for z = 0, (numhhs-1) do
+                        if GetHogTeamName(hhs[z]) == teamNameArr[i] then
+                                teamClan[i] = GetHogClan(hhs[z])
+                                if teamSize[i] == 0 then
+                                        teamIndex[i] = z -- should give starting index
+                                end
+                                teamSize[i] = teamSize[i] + 1
+                                --add a pointer so this hog appears at i in hhs
+                        end
+                end
+
+        end
+
+end
+
+
+-----------------
+-- RACER METHODS
+-----------------
+
+function CheckWaypoints()
+
+        trackFinished = true
+
+        for i = 0, (wpCount-1) do
+
+                g1X, g1Y = GetGearPosition(CurrentHedgehog)
+                g2X, g2Y = wpX[i], wpY[i]
+
+                g1X = g1X - g2X
+                g1Y = g1Y - g2Y
+                dist = (g1X*g1X) + (g1Y*g1Y)
+
+                --if i == 0 then
+                --      AddCaption(dist .. "/" .. (wpRad*wpRad) )
+                --end
+
+                NR = (48/100*wpRad)/2
+
+                if dist < (NR*NR) then
+                --if dist < (wpRad*wpRad) then
+                        --AddCaption("howdy")
+                        wpActive[i] = true
+                        wpCol[i] = GetClanColor(GetHogClan(CurrentHedgehog)) -- new                             --GetClanColor(1)
+                        SetVisualGearValues(wpCirc[i], wpX[i], wpY[i], 20, 100, 1, 10, 0, wpRad, 5, wpCol[i])
+
+                        wpRem = 0
+                        for k = 0, (wpCount-1) do
+                                if wpActive[k] == false then
+                                        wpRem = wpRem + 1
+                                end
+                        end
+
+                        AddCaption(loc("Way-Points Remaining") .. ": " .. wpRem,0xffba00ff,capgrpAmmoinfo)
+
+                end
+
+                if wpActive[i] == false then
+                        trackFinished = false
+                end
+
+        end
+
+        return(trackFinished)
+
+end
+
+function AdjustScores()
+
+        if bestTime == nil then
+                bestTime = 100000
+                bestClan = 10
+                bestTimeComment = "N/A"
+        end
+
+        newScore = false
+
+        -- update this clan's time if the new track is better
+        for i = 0, (numTeams-1) do
+                if teamClan[i] == GetHogClan(CurrentHedgehog) then
+                        if trackTime < teamScore[i] then
+                                teamScore[i] = trackTime
+                                newScore = true
+                        else
+                                newScore = false
+                        end
+                end
+        end
+
+        --bestTime = 100000
+        --bestClan = 10
+
+        -- find the best time out of those so far
+        for i = 0, (numTeams-1) do
+                if teamScore[i] < bestTime then
+                        bestTime = teamScore[i]
+                        bestClan = teamClan[i]
+                end
+        end
+
+        if bestTime ~= 100000 then
+                bestTimeComment = (bestTime/1000) ..loc("s")
+        end
+
+        if newScore == true then
+                if trackTime == bestTime then -- best time of the race
+                        ShowMission(loc("RACER"),
+                        loc("TRACK COMPLETED"),
+                        loc("NEW RACE RECORD: ") .. (trackTime/1000) ..loc("s") .. "|" ..
+                        loc("WINNING TIME: ") .. bestTimeComment, 0, 4000)
+                        PlaySound(sndHomerun)
+                else    -- best time for the clan
+                        ShowMission(loc("RACER"),
+                        loc("TRACK COMPLETED"),
+                        loc("NEW CLAN RECORD: ") .. (trackTime/1000) ..loc("s") .. "|" ..
+                        loc("WINNING TIME: ") .. bestTimeComment, 4, 4000)
+                end
+        else -- not any kind of new score
+                ShowMission(loc("RACER"),
+                loc("TRACK COMPLETED"),
+                loc("TIME: ") .. (trackTime/1000) ..loc("s") .. "|" ..
+                loc("WINNING TIME: ") .. bestTimeComment, -amSkip, 4000)
+                PlaySound(sndHellish)
+        end
+
+
+        --------
+        --new
+        --------
+
+        if bestTime == trackTime then
+                --AddCaption("wooooooooooooooooooooooooooooo")
+
+                fastColour = GetClanColor(GetHogClan(CurrentHedgehog))
+
+                for i = 0, (currCount-1) do
+                        fastX[i] = currX[i]
+                        fastY[i] = currY[i]
+                end
+
+                fastCount = currCount
+                fastIndex = 0
+
+                --currCount = 0 -- is this needed?
+
+        else
+                currCount = 0
+                fastIndex = 0
+        end
+
+
+end
+
+function onNewRound()
+
+        roundNumber = roundNumber + 1
+
+        totalComment = ""
+        for i = 0, (TeamsCount-1) do
+                        if teamNameArr[i] ~= " " then                           -- teamScore[teamClan[i]]
+                                teamComment[i] = teamNameArr[i] .. ": " .. (teamScore[i]/1000) .. loc("s|")
+                                totalComment = totalComment .. teamComment[i]
+                        elseif teamNameArr[i] == " " then
+                                teamComment[i] = "|"
+                        end
+        end
+
+        ShowMission(    loc("RACER"),
+                                        loc("STATUS UPDATE"),
+                                        loc("Rounds Complete: ") .. roundNumber .. "/" .. roundLimit .. "|" .. " " .. "|" ..
+                                        loc("Best Team Times: ") .. "|" .. totalComment, 0, 4000)
+
+        -- end game if its at round limit
+        if roundNumber == roundLimit then
+                for i = 0, (numhhs-1) do
+                        if GetHogClan(hhs[i]) ~= bestClan then
+                                SetEffect(hhs[i], heResurrectable, 0)
+                                SetHealth(hhs[i],0)
+                        end
+                end
+                gameOver = true
+                TurnTimeLeft = 1
+        end
+
+end
+
+function CheckForNewRound()
+
+        -------------
+        ------ new
+        -------------
+
+        --[[turnN = turnN + 1
+        if gameBegun == false then
+                if turnN == 2 then
+                        for i = 0, (numhhs-1) do
+                                if hhs[i] ~= nil then
+                                        SetEffect(hhs[i], heResurrectable, 0)
+                                        SetHealth(hhs[i],0)
+                                end
+                        end
+                        gameOver = true
+                        TurnTimeLeft = 1
+                end
+        else
+
+
+        end]]
+
+        --[[if roundBegun == true then
+
+                if RoundHasChanged == true then
+                        roundN = roundN + 1
+                        RoundHasChanged = false
+                        onNewRound()
+                end
+
+                if lastRound ~= TotalRounds then -- new round, but not really
+
+                        if RoundHasChanged == false then
+                                RoundHasChanged = true
+                        end
+
+                end
+
+                AddCaption("RoundN:" .. roundN .. "; " .. "TR: " .. TotalRounds)
+
+                lastRound = TotalRounds
+
+        end]]
+
+        ------------
+        ----- old
+        ------------
+
+        if GetHogClan(CurrentHedgehog) == firstClan then
+                onNewRound()
+        end
+
+end
+
+function DisableTumbler()
+        currCount = 0
+        fastIndex = 0
+        TurnTimeLeft = 0
+        racerActive = false -- newadd
+end
+
+function HandleGhost()
+
+        -- get the current xy of the racer at this point
+        currX[currCount] = GetX(CurrentHedgehog)
+        currY[currCount] = GetY(CurrentHedgehog)
+        currCount = currCount + 1
+
+        -- draw a ping of smoke where the fastest player was at this point
+        if (fastCount ~= 0) and (fastIndex < fastCount) then
+
+                fastIndex = fastIndex + 1
+
+                tempE = AddVisualGear(fastX[fastIndex], fastY[fastIndex], vgtSmoke, 0, false)
+                g1, g2, g3, g4, g5, g6, g7, g8, g9, g10 = GetVisualGearValues(tempE)
+                SetVisualGearValues(tempE, g1, g2, g3, g4, g5, g6, g7, g8, g9, fastColour )
+
+                --AddCaption("fC: " .. fastIndex .. " / " .. fastCount)
+
+        else
+
+                --AddCaption("excep fC: " .. fastIndex .. " / " .. fastCount)
+
+        end
+
+
+
+end
+
+function TryRepositionHogs()
+
+	if MapHasBorder() == true then
+
+		for i = 0, (numhhs-1) do
+			if hhs[i] ~= nil then
+				SetGearPosition(hhs[i],GetX(hhs[i]), TopY-10)
+			end
+		end
+
+	end
+
+end
+
+----------------------------------
+-- GAME METHODS / EVENT HANDLERS
+----------------------------------
+
+function onGameInit()
+        GameFlags = bor(GameFlags,gfInfAttack + gfInvulnerable)
+        CaseFreq = 0
+        TurnTime = 90000
+        WaterRise = 0
+end
+
+
+function onGameStart()
+
+        roundN = 0
+        lastRound = TotalRounds
+        RoundHasChanged = false -- true
+
+        RebuildTeamInfo()
+
+        ShowMission     (
+                                loc("RACER"),
+                                loc("a Hedgewars mini-game"),
+
+                                loc("Build a track and race.") .. "|" ..
+                                loc("Round Limit:") .. " " .. roundLimit .. "|" ..
+
+                                "", 4, 4000
+                                )
+
+	TryRepositionHogs()
+
+end
+
+function PlaceWayPoint(x,y)
+
+        if (wpCount < wpLimit) then -- seems to not work with a hedgehog nil chek
+
+                wpX[wpCount] = x
+                wpY[wpCount] = y
+                wpCol[wpCount] = 0xffffffff
+                wpCirc[wpCount] = AddVisualGear(wpX[wpCount],wpY[wpCount],vgtCircle,0,true)
+                                                                                                                                                --100
+                SetVisualGearValues(wpCirc[wpCount], wpX[wpCount], wpY[wpCount], 20, 100, 1, 10, 0, wpRad, 5, wpCol[wpCount])
+
+                wpCount = wpCount + 1
+
+                AddCaption(loc("Waypoint placed.") .. " " .. loc("Available points remaining: ") .. (wpLimit-wpCount))
+
+        end
+
+end
+
+function onNewTurn()
+
+        CheckForNewRound()
+	TryRepositionHogs()
+
+        racerActive = false
+
+        trackTime = 0
+
+        currCount = 0 -- hopefully this solves problem
+        AddAmmo(CurrentHedgehog, amAirAttack, 0)
+        gTimer = 0
+
+        -- Set the waypoints to unactive on new round
+        for i = 0,(wpCount-1) do
+                wpActive[i] = false
+                wpCol[i] = 0xffffffff
+                SetVisualGearValues(wpCirc[i], wpX[i], wpY[i], 20, 100, 1, 10, 0, wpRad, 5, wpCol[i])
+        end
+
+        -- Handle Starting Stage of Game
+        if (gameOver == false) and (gameBegun == false) then
+                if wpCount >= 3 then
+                        gameBegun = true
+                        roundNumber = 0
+                        firstClan = GetHogClan(CurrentHedgehog)
+                        ShowMission(loc("RACER"),
+                        loc("GAME BEGUN!!!"),
+                        loc("Complete the track as fast as you can!"), 2, 4000)
+                else
+                        ShowMission(loc("RACER"),
+                        loc("NOT ENOUGH WAYPOINTS"),
+                        loc("Place more waypoints using the 'Air Attack' weapon."), 2, 4000)
+                        AddAmmo(CurrentHedgehog, amAirAttack, 4000)
+            ParseCommand("setweap " .. string.char(amAirAttack))
+                end
+        end
+
+        if gameOver == true then
+                gameBegun = false
+                racerActive = false -- newadd
+        end
+
+        AddAmmo(CurrentHedgehog, amTardis, 0)
+        AddAmmo(CurrentHedgehog, amDrillStrike, 0)
+        AddAmmo(CurrentHedgehog, amMineStrike, 0)
+        AddAmmo(CurrentHedgehog, amNapalm, 0)
+        AddAmmo(CurrentHedgehog, amPiano, 0)
+
+end
+
+function onGameTick20()
+
+        -- airstrike detected, convert this into a potential waypoint spot
+        if cGear ~= nil then
+                x,y = GetGearPosition(cGear)
+        if x > -9000 then
+            x,y = GetGearTarget(cGear)
+
+
+            if TestRectForObstacle(x-20, y-20, x+20, y+20, true) then
+                AddCaption(loc("Please place the way-point in the open, within the map boundaries."))
+                PlaySound(sndDenied)
+            elseif (y > WaterLine-50) then
+                AddCaption(loc("Please place the way-point further from the waterline."))
+                PlaySound(sndDenied)
+            else
+                PlaceWayPoint(x, y)
+                if wpCount == wpLimit then
+                    AddCaption(loc("Race complexity limit reached."))
+                    DisableTumbler()
+                end
+            end
+        else
+            DeleteGear(cGear)
+        end
+        SetGearPosition(cGear, -10000, 0)
+        end
+
+
+        -- start the player tumbling with a boom once their turn has actually begun
+        if racerActive == false then
+
+                if (TurnTimeLeft > 0) and (TurnTimeLeft ~= TurnTime) then
+
+                        -- if the gamehas started put the player in the middle of the first
+                        --waypoint that was placed
+                        if gameBegun == true then
+                                AddCaption(loc("Good to go!"))
+                                racerActive = true
+                                trackTime = 0
+
+                                SetGearPosition(CurrentHedgehog, wpX[0], wpY[0])
+                                AddGear(GetX(CurrentHedgehog), GetY(CurrentHedgehog), gtGrenade, 0, 0, 0, 1)
+                                FollowGear(CurrentHedgehog)
+
+                                HideMission()
+
+                        else
+                                -- still in placement mode
+                        end
+
+                end
+        end
+
+
+
+        -- has the player started his tumbling spree?
+        if (CurrentHedgehog ~= nil) then
+
+                --airstrike conversion used to be here
+
+                -- if the RACE has started, show tracktimes and keep tabs on waypoints
+                if (racerActive == true) and (gameBegun == true) then
+
+                        --ghost
+                        if GameTime%40 == 0 then
+                                HandleGhost()
+                        end
+
+                        trackTime = trackTime + 20
+
+                        if GameTime%100 == 0 then
+
+                if trackTime%1000 == 0 then
+                    AddCaption((trackTime/1000)..'.0',GetClanColor(GetHogClan(CurrentHedgehog)),capgrpMessage2)
+                else
+                    AddCaption(trackTime/1000,GetClanColor(GetHogClan(CurrentHedgehog)),capgrpMessage2)
+                end
+
+                                if (CheckWaypoints() == true) then
+                                        AdjustScores()
+                                        racerActive = false
+                                        DisableTumbler()
+                                end
+
+                        end
+
+                end
+
+                -- if the player has expended his tunbling time, stop him tumbling
+                if TurnTimeLeft <= 20 then
+                        DisableTumbler()
+                end
+
+        end
+
+end
+
+function onGearResurrect(gear)
+
+        AddVisualGear(GetX(gear), GetY(gear), vgtBigExplosion, 0, false)
+
+        if gear == CurrentHedgehog then
+                DisableTumbler()
+        end
+
+end
+
+function onGearAdd(gear)
+
+        if GetGearType(gear) == gtHedgehog then
+                hhs[numhhs] = gear
+                numhhs = numhhs + 1
+                SetEffect(gear, heResurrectable, 1)
+        end
+
+        if GetGearType(gear) == gtAirAttack then
+                cGear = gear
+        end
+
+end
+
+function onGearDelete(gear)
+
+        if GetGearType(gear) == gtAirAttack then
+                cGear = nil
+        end
+
+end
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/share/hedgewars/Data/Scripts/Multiplayer/ShoppaMap.cfg	Tue Jun 04 22:28:12 2013 +0200
@@ -0,0 +1,2 @@
+Default
+Default
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/share/hedgewars/Data/Scripts/Multiplayer/ShoppaMap.lua	Tue Jun 04 22:28:12 2013 +0200
@@ -0,0 +1,450 @@
+ObjectList = {}
+PointsBuffer = ''  -- A string to accumulate points in
+
+-- Overall padding for roping freedom
+Padding = 430
+
+function AddPoint(x, y, width, erase)
+ PointsBuffer = PointsBuffer .. string.char(band(x,0xff00) / 256 , band(x,0xff) , band(y,0xff00) / 256 , band(y,0xff))
+ if width then
+     width = bor(width,0x80)
+     if erase then
+         width = bor(width,0x40)
+     end
+     PointsBuffer = PointsBuffer .. string.char(width)
+ else
+     PointsBuffer = PointsBuffer .. string.char(0)
+ end
+ if #PointsBuffer > 245 then
+     ParseCommand('draw '..PointsBuffer)
+     PointsBuffer = ''
+ end
+end
+function FlushPoints()
+ if #PointsBuffer > 0 then
+     ParseCommand('draw '..PointsBuffer)
+     PointsBuffer = ''
+ end
+end
+
+-- This could probably use less points and more precision
+-- 700x700 for object space
+function DrawStar(x, y, d, f)
+-- default scale is 700x700 or so
+    s = 700
+    if not(d == 1) then s = div(s,d) end
+    if NoOverlap(x,y,s,s) then
+        AddCollision(x,y,s,s)
+        if not(d == 1) then
+            i = 6-d
+            j = math.min(div(5,d),1)
+            -- centre
+            AddPoint(x,y,div(20,d))
+            -- arms
+            AddPoint(x-div(325,d),y-f*div(108,d),2)
+            AddPoint(x+div(325,d),y-f*div(108,d))
+            AddPoint(x-div(205,d),y+f*div(270,d))
+            AddPoint(x,y-f*div(345,d))
+            AddPoint(x+div(205,d),y+f*div(270,d))
+            AddPoint(x-div(325,d),y-f*div(108,d))
+            if d < 4 then
+            -- fill in arm 1
+            AddPoint(x-div(275,d),y-f*div(92,d),i)
+            AddPoint(x-div(50,d),y-f*div(92,d))
+            AddPoint(x-div(105,d),y+f*div(25,d))
+            AddPoint(x-div(250,d),y-f*div(80,d))
+            AddPoint(x-div(115,d),y-f*div(70,d))
+            AddPoint(x-div(130,d),y-f*div(25,d))
+            AddPoint(x-div(175,d),y-f*div(60,d))
+            -- fill in arm 2
+            AddPoint(x+div(275,d),y-f*div(92,d),i)
+            AddPoint(x+div(50,d),y-f*div(92,d))
+            AddPoint(x+div(105,d),y+f*div(25,d))
+            AddPoint(x+div(250,d),y-f*div(80,d))
+            AddPoint(x+div(115,d),y-f*div(70,d))
+            AddPoint(x+div(130,d),y-f*div(25,d))
+            AddPoint(x+div(175,d),y-f*div(60,d))
+            -- fill in arm 3
+            AddPoint(x-div(175,d),y+f*div(230,d),i)
+            AddPoint(x-div(110,d),y+f*div(60,d))
+            AddPoint(x,y+f*div(120,d))
+            AddPoint(x-div(155,d),y+f*div(215,d))
+            AddPoint(x-div(105,d),y+f*div(95,d))
+            AddPoint(x-div(60,d),y+f*div(130,d))
+            AddPoint(x-div(85,d),y+f*div(155,d),j)
+            -- fill in arm 4
+            AddPoint(x,y-f*div(300,d),3)
+            AddPoint(x+div(50,d),y-f*div(125,d))
+            AddPoint(x-div(50,d),y-f*div(125,d))
+            AddPoint(x,y-f*div(270,d))
+            AddPoint(x-div(40,d),y-f*div(160,d))
+            AddPoint(x+div(40,d),y-f*div(160,d))
+            AddPoint(x,y-f*div(195,d),j)
+            -- fill in arm 5
+            AddPoint(x+div(175,d),y+f*div(230,d),i)
+            AddPoint(x+div(110,d),y+f*div(60,d))
+            AddPoint(x,y+f*div(120,d))
+            AddPoint(x+div(155,d),y+f*div(215,d))
+            AddPoint(x+div(105,d),y+f*div(95,d))
+            AddPoint(x+div(60,d),y+f*div(130,d))
+            AddPoint(x+div(85,d),y+f*div(155,d),j)
+            end
+        else
+            -- centre
+            AddPoint(x,y,20)
+            -- arms
+            AddPoint(x-325,y-f*108,1)
+            AddPoint(x+325,y-f*108)
+            AddPoint(x-205,y+f*270)
+            AddPoint(x,y-f*345)
+            AddPoint(x+205,y+f*270)
+            AddPoint(x-325,y-f*108)
+            -- fill in arm 1
+            AddPoint(x-275,y-f*92,4)
+            AddPoint(x-50,y-f*92)
+            AddPoint(x-105,y+f*25)
+            AddPoint(x-250,y-f*80)
+            AddPoint(x-115,y-f*70)
+            AddPoint(x-130,y-f*25)
+            AddPoint(x-175,y-f*60)
+            -- fill in arm 2
+            AddPoint(x+275,y-f*92,4)
+            AddPoint(x+50,y-f*92)
+            AddPoint(x+105,y+f*25)
+            AddPoint(x+250,y-f*80)
+            AddPoint(x+115,y-f*70)
+            AddPoint(x+130,y-f*25)
+            AddPoint(x+175,y-f*60)
+            -- fill in arm 3
+            AddPoint(x-175,y+f*230,4)
+            AddPoint(x-110,y+f*60)
+            AddPoint(x-10,y+f*120)
+            AddPoint(x-155,y+f*215)
+            AddPoint(x-105,y+f*95)
+            AddPoint(x-60,y+f*130)
+            AddPoint(x-85,y+f*155,5)
+            -- fill in arm 4
+            AddPoint(x,y-f*300,3)
+            AddPoint(x+50,y-f*125)
+            AddPoint(x-50,y-f*125)
+            AddPoint(x,y-f*270)
+            AddPoint(x-40,y-f*160)
+            AddPoint(x+40,y-f*160)
+            AddPoint(x,y-f*195,5)
+            -- fill in arm 5
+            AddPoint(x+175,y+f*230,4)
+            AddPoint(x+110,y+f*60)
+            AddPoint(x+10,y+f*120)
+            AddPoint(x+155,y+f*215)
+            AddPoint(x+105,y+f*95)
+            AddPoint(x+60,y+f*130)
+            AddPoint(x+85,y+f*155,5)
+        end
+        return true
+    else
+        return false
+    end
+end
+
+-- well. this was easy
+function DrawCircle(x, y, w)
+    if NoOverlap(x,y,w*10+6,w*10+6) then
+        AddCollision(x,y,w*10+6,w*10+6)
+        AddPoint(x,y,w)
+        return true
+    else
+        return false
+    end
+end
+
+function DrawCrescent(x, y, w, s)
+    b = div(w*(GetRandom(4)+1)*10+6,6)
+    
+    if NoOverlap(x,y,w*10+6,w*10+6) then
+        AddCollision(x,y,w*10+6,w*10+6)
+        AddPoint(x,y,w)
+        if s then -- side
+            if GetRandom(1) == 0 then
+                b = b*-1
+            end
+            AddPoint(x-b,y,w,true)
+        else -- top
+            AddPoint(x,y-b,w,true)
+        end
+        return true
+    else
+        return false
+    end
+end
+
+function DrawCones(x,w,h,c)
+    y = 2048-h
+    hw = div(w,2)
+    if NoOverlap(x+div(w*c,2),y+div(h,2),w*c,h) then
+        AddCollision(x+div(w*c,2),y+div(h,2),w*c,h)
+        x = x + hw
+        for i = 1,c do -- I'm guessing outlining is slightly more efficient than fanning at 16px brush
+            AddPoint(x,y,1)
+            AddPoint(x-hw+8,2048)
+            AddPoint(x+hw-8,2048)
+            AddPoint(x,y)
+            for j = x-hw+25,x+hw,34 do
+                AddPoint(x,y+30,3)
+                AddPoint(j,2048)
+            end
+            if GetRandom(2)==0 then
+                AddPoint(x,y-20,8)
+            end
+            x = x + w
+        end
+    else
+        return false
+    end
+    
+end
+
+function DrawPlateau(x,y,l,t,b)
+    if NoOverlapXY(x-28,y-28,x+l+28,y+l+28) then
+        AddPoint(x,y,5)
+        AddPoint(x+l,y)
+
+        to = GetRandom(6)
+        if not(to==0) then
+            if GetRandom(2)==0 then
+                to = div(l,to)
+            else
+                to = l-div(l,to)
+            end
+        end
+        if t>0 and NoOverlapXY(x+to-28,y-t-28,x+to+28,y+28) then
+            AddPoint(x+to,y-t,5)
+            AddPoint(x+to,y)
+            if GetRandom(2)==0 then
+                AddPoint(x+to,y-t+75,20)
+            else -- square off
+                AddPoint(x+to-20,y-t,1)
+                AddPoint(x+to-20,y-t-20)
+                AddPoint(x+to+20,y-t-20)
+                AddPoint(x+to+20,y-t)
+            end
+            tSucc = true
+        end
+
+        if to > 120 and GetRandom(2)==0 then -- left bumper
+            AddPoint(x+15,y-20,9)
+        else -- square off
+            --AddPoint(x-50,y,2)
+            AddPoint(x,y+20,1)
+            AddPoint(x-20,y+20)
+            AddPoint(x-20,y-20)
+            AddPoint(x,y-20)
+        end
+        if to < (l-120) and GetRandom(2)==0 then -- right bumper
+            AddPoint(x+l-15,y-20,9)
+        else -- square off
+            --AddPoint(x+l+50,y,2)
+            AddPoint(x+l,y+20,1)
+            AddPoint(x+l+20,y+20)
+            AddPoint(x+l+20,y-20)
+            AddPoint(x+l,y-20)
+        end
+        bo = GetRandom(6)
+        if not(bo == 0) then
+            if GetRandom(2)==0 then
+                bo = div(l,bo)
+            else
+                bo = l-div(l,bo)
+            end
+        end
+        -- still consider a success even if we can't place this one.  Might need to return more than true/false
+        if b>0 and NoOverlapXY(x+bo-28,y-28,x+bo+28,y+b+28) then
+            AddPoint(x+bo,y,5)
+            AddPoint(x+bo,y+b)
+            if GetRandom(2)==0 then
+                AddPoint(x+bo,y+b-75,20)
+            else -- square off
+                AddPoint(x+bo-20,y+b,1)
+                AddPoint(x+bo-20,y+b+20)
+                AddPoint(x+bo+20,y+b+20)
+                AddPoint(x+bo+20,y+b)
+            end
+            bSucc = true
+        end
+        if bSucc then AddCollisionXY(x+bo-28,y-28,x+bo+28,y+b+28) end
+        if tSucc then AddCollisionXY(x+to-28,y-t-28,x+to+28,y+28) end
+        AddCollisionXY(x-28,y-28,x+l+28,y+28) 
+        return true
+    else
+        return false
+    end
+end
+
+function AddCollision(x,y,w,h)
+    table.insert(ObjectList,{x-div(w+Padding,2),
+                             y-div(h+Padding,2),
+                             x+div(w+Padding,2),
+                             y+div(h+Padding,2)})
+end
+
+function AddCollisionXY(x,y,x2,y2)
+    table.insert(ObjectList,{x-div(Padding,2),
+                             y-div(Padding,2),
+                             x2+div(Padding,2),
+                             y2+div(Padding,2)})
+end
+
+-- bounding box check
+function NoOverlap(x,y,w,h)
+    w = w
+    h = h
+    x = x-div(w,2)
+    y = y-div(h,2)
+    x2 = x+w
+    y2 = y+h
+    return NoOverlapXY(x,y,x2,y2)
+end
+function NoOverlapXY(x,y,x2,y2)
+    i=1
+    l=table.getn(ObjectList)
+    while i<=l do
+        ox = ObjectList[i][1]
+        oy = ObjectList[i][2]
+        ox2 = ObjectList[i][3]
+        oy2 = ObjectList[i][4]
+         --   WriteLnToConsole(ox..' '..oy..' '..ox2..' '..oy2..' - '..x..' '..y..' '..x2..' '..y2)
+        --if (math.abs(ox + ox2 -x - x2) <= (ox2 - ox + x2 - x)) and (math.abs(oy + oy2 - y - y2) <= (oy - oy2 + y - y2)) then
+        if x < ox2 and ox < x2 and y < oy2 and oy < y2 then
+            return false
+        end
+        i=i+1
+    end
+    return true
+end
+
+function dbg()
+    i=1
+    l=table.getn(ObjectList)
+    while i<=l do
+        ox = ObjectList[i][1]
+        oy = ObjectList[i][2]
+        ox2 = ObjectList[i][3]
+        oy2 = ObjectList[i][4]
+        AddPoint(ox,oy,1)
+        AddPoint(ox2,oy)
+        AddPoint(ox2,oy2)
+        AddPoint(ox,oy2)
+        AddPoint(ox,oy)
+        AddPoint(ox2,oy2)
+        i=i+1
+    end
+end
+
+function onGameInit()
+    MapGen = 2
+    TemplateFilter = 0
+    TotGen = 0
+    Tries = 0
+    if band(GameFlags,gfBottomBorder) == 0 and GetRandom(2) == 0 then
+        AddPoint(-50,2010,7)
+        AddPoint(4150,2010)
+        for i = 0,GetRandom(3) do
+            x = GetRandom(4096)
+            w = GetRandom(40)+10
+            AddPoint(x,2200,w,true)
+            AddPoint(x,1900)
+            table.insert(ObjectList,{x-div(w*9,2),
+                                     2010-div(100,2),
+                                     x+div(w*9,2),
+                                     2010+div(100,2)})
+        end
+    end
+        
+    if GetRandom(2) == 0 then
+        l = GetRandom(3)+1
+        w = GetRandom(200)+200
+        h = GetRandom(350)+200
+        x = GetRandom(4096-w*l)
+        DrawCones(x,w,h,l)
+        --if DrawCones(x,w,h,l) then TotGen = TotGen+1
+    end
+    if GetRandom(2) == 0 then
+        for i = 1,GetRandom(5)+1 do
+            w = GetRandom(35)+15
+            x = GetRandom(4096-w*12)+w
+	    if GetRandom(2)==0 then
+		y = 2048-GetRandom(w*10+6)
+	    else
+	    	y = 2048
+	    end
+           -- if AddPoint(x,y,w) then TotGetn = TotGen+1
+           DrawCircle(x,y,w)
+        end
+    end
+    if GetRandom(2)==0 then
+        x = GetRandom(3300)+350
+        y = GetRandom(1300)+350
+        if DrawStar(x,y, 1, 1+GetRandom(2)*-2) then
+            TotGen = TotGen+1
+        end
+    end
+
+    while (TotGen < 6) and (Tries < 100) do
+        l = GetRandom(1000-Tries*10)+300
+        x = GetRandom(3900-l)+100
+        y = GetRandom(1900)+100
+        if GetRandom(2)==0 then b = GetRandom(800)+300
+        else b = 0 end
+        if GetRandom(2)==0 then t = GetRandom(800)+300
+        else t = 0 end
+        if y-t < 50 then t = y - 50 end
+        if t < 200 then t = 0 end
+        if DrawPlateau(x,y,l,t,b) then
+            TotGen = TotGen+1
+        end
+        Tries = Tries + 1
+    end
+    Tries = 0
+    while (TotGen < 17) and (Tries < 1000) do
+        if Tries < 500 and GetRandom(2)==0 then
+            x = GetRandom(3300)+350
+            y = GetRandom(1300)+350
+            if DrawStar(x,y, 1, 1+GetRandom(2)*-2) then
+                TotGen = TotGen+1
+            end
+        else
+            if Tries > 500 then d = GetRandom(2)+3
+            else d = GetRandom(3)+2 end
+            x = GetRandom(4000-div(700,d))+div(700,d*2)
+            y = GetRandom(1300-div(700,d))+div(700,d*2)
+            if DrawStar(x,y, d, 1+GetRandom(2)*-2) then
+                TotGen = TotGen+1
+            end
+        end
+        w = GetRandom(35-div(Tries,29))+15
+        x = GetRandom(4050-w*20)+w*10
+        y = GetRandom(2000-w*20)+w*10
+        if DrawCircle(x,y,w) then
+            TotGen = TotGen+1
+        end
+        w = GetRandom(35-div(Tries,29))+5
+        x = GetRandom(4050-w*20)+w*10
+        y = GetRandom(2000-w*20)+w*10
+        if DrawCrescent(x,y,w,GetRandom(2)==0) then
+            TotGen = TotGen+1
+        end
+        Tries = Tries + 1
+    end
+--    Padding = div(Padding,2)
+--    Tries = 0
+--    while (TotGen < 21) and (Tries < 10000) do
+--        r = GetRandom(20-div(Tries,223))+5
+--        x = GetRandom(4050-r*20)+r*10
+--        y = GetRandom(2000-r*20)+r*10
+--        if DrawCircle(x,y,r) then
+--            TotGen = TotGen+1
+--        end
+--        Tries = Tries + 1
+--    end
+    --dbg()
+    FlushPoints()
+end 
Binary file share/hedgewars/Data/Sounds/frozen_hog_impact.ogg has changed
Binary file share/hedgewars/Data/Sounds/hog_freeze.ogg has changed
Binary file share/hedgewars/Data/Sounds/ice_beam.ogg has changed
Binary file share/hedgewars/Data/Sounds/voices/Default_uk/JustYouwait.ogg has changed
Binary file share/hedgewars/Data/Sounds/voices/Default_uk/Justyouwait.ogg has changed
Binary file share/hedgewars/Data/Themes/Bamboo/Flake.png has changed
Binary file share/hedgewars/Data/Themes/Blox/LandBackTex.png has changed
--- a/share/hedgewars/Data/Themes/CMakeLists.txt	Thu Apr 04 14:37:19 2013 +0200
+++ b/share/hedgewars/Data/Themes/CMakeLists.txt	Tue Jun 04 22:28:12 2013 +0200
@@ -9,14 +9,15 @@
     Castle
     Cheese
     Christmas
+    City
     Compost
+    CrazyMission
     Deepspace
     Desert
-    City
-    CrazyMission
     EarthRise
     Eyes
     Freeway
+    Fruit
     Golf
     Halloween
     Hell
Binary file share/hedgewars/Data/Themes/Cave/Stalactite.png has changed
Binary file share/hedgewars/Data/Themes/Cave/Stalactite_mask.png has changed
Binary file share/hedgewars/Data/Themes/Cave/Stalagmite01.png has changed
Binary file share/hedgewars/Data/Themes/Cave/Stalagmite01_mask.png has changed
Binary file share/hedgewars/Data/Themes/Cave/Stalagmite02.png has changed
Binary file share/hedgewars/Data/Themes/Cave/Stalagmite02_mask.png has changed
Binary file share/hedgewars/Data/Themes/Cheese/cheese.png has changed
Binary file share/hedgewars/Data/Themes/Cheese/cheese_mask.png has changed
Binary file share/hedgewars/Data/Themes/EarthRise/Chunk.png has changed
Binary file share/hedgewars/Data/Themes/EarthRise/Rock.png has changed
Binary file share/hedgewars/Data/Themes/EarthRise/RockShort.png has changed
Binary file share/hedgewars/Data/Themes/EarthRise/RockShort_mask.png has changed
Binary file share/hedgewars/Data/Themes/EarthRise/Rock_mask.png has changed
Binary file share/hedgewars/Data/Themes/EarthRise/horizontL.png has changed
Binary file share/hedgewars/Data/Themes/EarthRise/horizontR.png has changed
Binary file share/hedgewars/Data/Themes/EarthRise/icon.png has changed
Binary file share/hedgewars/Data/Themes/EarthRise/icon@2x.png has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/share/hedgewars/Data/Themes/Fruit/Banana.svg	Tue Jun 04 22:28:12 2013 +0200
@@ -0,0 +1,170 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   id="svg4227"
+   version="1.1"
+   inkscape:version="0.48.2 r9819"
+   width="188"
+   height="122"
+   sodipodi:docname="Banana.svg"
+   inkscape:export-filename="/home/alumno/Banana2.png"
+   inkscape:export-xdpi="90"
+   inkscape:export-ydpi="90">
+  <metadata
+     id="metadata4233">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+        <dc:title></dc:title>
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <defs
+     id="defs4231" />
+  <sodipodi:namedview
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1"
+     objecttolerance="10"
+     gridtolerance="10"
+     guidetolerance="10"
+     inkscape:pageopacity="0"
+     inkscape:pageshadow="2"
+     inkscape:window-width="1024"
+     inkscape:window-height="576"
+     id="namedview4229"
+     showgrid="false"
+     inkscape:zoom="1.4142136"
+     inkscape:cx="188.27075"
+     inkscape:cy="88.86354"
+     inkscape:window-x="0"
+     inkscape:window-y="24"
+     inkscape:window-maximized="1"
+     inkscape:current-layer="g3851" />
+  <rect
+     style="opacity:0;fill:#ba9d00;fill-opacity:1;fill-rule:evenodd;stroke:#ff73e1;stroke-width:0.6600787;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
+     id="rect2996"
+     width="199.33992"
+     height="199.33992"
+     x="-5.6699605"
+     y="-39.66996"
+     rx="7.4470072"
+     ry="0.11719175" />
+  <g
+     id="g3851"
+     transform="matrix(-1,0,0,1,189.2706,0)">
+    <g
+       id="g2999"
+       transform="matrix(-0.8235295,-0.56727344,-0.56727344,0.8235295,206.82408,64.339957)">
+      <rect
+         transform="matrix(-1,0,0,1,189.2706,0)"
+         ry="0.14342025"
+         rx="9.2296047"
+         y="-2.4507911"
+         x="-1.4142135"
+         height="128.69344"
+         width="193.04016"
+         id="rect3892"
+         style="fill:#ba9d00;fill-opacity:0;fill-rule:evenodd;stroke:none" />
+      <path
+         style="fill:#aeb800;fill-opacity:1;stroke:#c8af00;stroke-width:0.46497238;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+         d="m 173.22161,12.368156 c 0.38299,-1.254549 2.88882,-2.136399 5.31113,-2.136399 0.80919,0.197421 8.56261,0.719772 7.31308,4.737604 -2.73447,1.357662 -12.82099,0.135614 -12.62421,-2.601205 z"
+         id="path3763"
+         inkscape:connector-curvature="0"
+         sodipodi:nodetypes="cccc" />
+      <path
+         style="fill:#f6ee00;fill-opacity:1;stroke:#ba9d00;stroke-width:2.23267698;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+         d="m 174.72691,14.430121 c 3.68436,1.59464 6.76084,1.396765 10.53259,0.852596 3.16749,12.573215 -6.38409,38.106194 -11.05639,22.947806 -0.56544,-1.970698 1.04489,-7.745226 1.5155,-13.284104 0.38228,-4.499216 -0.30164,-8.900955 -0.9917,-10.516298 z"
+         id="path3759"
+         inkscape:connector-curvature="0"
+         sodipodi:nodetypes="cccsc" />
+      <path
+         style="fill:#f6ee00;fill-opacity:1;stroke:#ba9d00;stroke-width:2.86675739;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+         d="M 14.118276,98.012947 C 6.5242914,93.166946 2.9983654,84.741923 1.8511903,80.802314 1.5117082,79.636462 1.6496188,78.973436 1.6160582,78.77484 c 0,0 -0.7585206,-2.515724 0.8157026,-3.080172 37.5043142,-13.447416 79.3121062,2.84349 108.7990492,-7.238897 42.1655,-15.932764 67.15724,-40.596497 69.14144,-36.895025 0.87923,1.640186 1.60235,3.283492 2.18586,4.925062 4.87426,13.712407 1.19063,27.947485 -4.97935,37.929279 C 140.38936,134.58 70.667237,128.54467 14.290595,98.119144 c -0.05869,-0.03263 -0.115089,-0.07075 -0.172319,-0.106197 z"
+         id="path3755"
+         inkscape:connector-curvature="0"
+         sodipodi:nodetypes="cssscssscc" />
+      <path
+         style="fill:#f6d700;fill-opacity:1;stroke:none"
+         d="m 126.05682,97.959228 c 30.99402,-10.590639 51.90402,-42.860122 55.76745,-41.990571 4.6666,-1.178675 -5.68246,21.512754 -16.3621,32.394781 -22.4607,21.518362 -41.68714,33.775812 -88.869476,29.914632 -6.714536,-0.54948 -12.127377,-2.52613 -16.24804,-3.51148 -15.230481,-3.64199 -19.540632,-6.44601 -19.2136,-7.60165 21.074895,-6.16755 62.599736,-2.3449 84.925766,-9.205712 z"
+         id="path3755-8"
+         inkscape:connector-curvature="0"
+         sodipodi:nodetypes="cccsscc" />
+      <path
+         style="fill:#f6ee00;fill-opacity:1;stroke:none"
+         d="m 176.69271,18.470917 c 3.28193,1.594639 4.25223,0.117875 7.612,-0.426293 2.8215,12.573216 -7.75472,47.26985 -11.91666,32.11147 -0.50369,-1.970699 2.99871,-16.908889 3.41791,-22.447761 0.34053,-4.499223 1.50144,-7.622073 0.88675,-9.237416 z"
+         id="path3759-1"
+         inkscape:connector-curvature="0"
+         sodipodi:nodetypes="cccsc" />
+      <path
+         style="fill:#000000;fill-opacity:1;stroke:none"
+         d="m 185.22914,16.262035 c 0.3729,6.793985 -0.95213,14.4881 -3.35782,19.872777 0.43982,-2.493879 2.50799,-6.855983 2.99692,-19.508125 0.0193,-0.500018 0.36693,-0.187987 0.36098,-0.364652 z"
+         id="path3811"
+         inkscape:connector-curvature="0"
+         sodipodi:nodetypes="ccscc" />
+      <path
+         style="fill:#000000;fill-opacity:1;stroke:none"
+         d="m 184.04975,16.447571 c 0.3729,6.793979 -0.95213,14.488101 -3.35781,19.87277 0.43981,-2.493879 2.50799,-6.855976 2.99691,-19.508125 0.0193,-0.500018 0.36693,-0.187987 0.36098,-0.364645 z"
+         id="path3811-4"
+         inkscape:connector-curvature="0"
+         sodipodi:nodetypes="ccscc" />
+      <path
+         style="fill:#ffff00;fill-opacity:1;stroke:none"
+         d="m 46.396036,78.059476 c 9.61941,-0.782867 18.50776,0.447762 28.49952,0.400598 C 131.10109,71.001302 127.57596,62.608275 151.79818,50.65543 162.6647,67.30652 120.1764,81.050393 111.67801,82.77471 68.769756,90.815892 20.384966,88.60193 13.808626,86.848176 9.191806,85.616977 2.2070864,78.930403 3.4871764,78.177117 c 2.90155,-1.707452 29.0777996,0.36669 42.9088596,-0.117641 z"
+         id="path3938-0"
+         inkscape:connector-curvature="0"
+         sodipodi:nodetypes="ccccssc" />
+      <path
+         style="fill:#ebb000;fill-opacity:1;stroke:none"
+         d="m 178.34655,69.354915 c -1.03692,3.62674 -4.80002,9.760945 -8.75445,14.805148 -2.07159,2.642479 -4.51976,5.046467 -5.97744,6.482336 -6.73661,6.635803 -11.3907,10.605581 -18.39689,14.945561 -19.68708,12.19516 -40.18229,14.72677 -64.772767,12.90932 -8.039936,-0.30915 -24.115294,-3.44612 -34.95135,-8.30855 -1.57065,-0.92962 -0.49367,-1.64994 2.08257,-1.73924 6.45203,-0.22363 47.8998,6.01939 68.962127,0.53135 23.21067,-6.04783 43.20085,-21.762931 60.04973,-40.131212 0.41027,-0.44727 1.41173,-0.681808 1.75847,0.505287 z"
+         id="path3755-8-4"
+         inkscape:connector-curvature="0"
+         sodipodi:nodetypes="csssccsssc" />
+      <path
+         style="opacity:0.65591401;fill:#fffff4;fill-opacity:0.50965247;stroke:none"
+         d="m 63.141072,72.675461 c 9.34075,0.02053 13.86867,1.433303 22.55808,0.89946 5.39675,-0.331557 10.066969,-0.03862 19.666538,-1.532352 21.56711,-7.693615 34.5254,-14.683402 47.59194,-22.765952 4.44492,5.066169 -3.38161,11.38085 -16.63807,18.19416 -4.76161,2.447286 -9.90984,5.73305 -16.09555,7.385835 -6.81999,1.822262 -14.15651,4.734903 -22.034838,5.739436 C 55.958072,85.980763 0.5346416,79.992728 3.5135516,77.270766 23.441754,69.890694 39.153934,70.772391 63.141072,72.675461 z"
+         id="path3938"
+         inkscape:connector-curvature="0"
+         sodipodi:nodetypes="csccssscc" />
+      <path
+         style="opacity:0.17204303;fill:#808080;fill-opacity:1;stroke:none"
+         d="m 184.92002,19.005236 c 0.59659,6.950201 1.04615,8.860806 -2.99505,15.99138 -0.17966,0.317013 -1.10197,-0.231739 -1.33716,0.07181 0.0362,-1.570984 0.72315,-4.863702 1.22582,-8.631549 0.39707,-2.976307 0.80244,-6.125771 -0.17436,-9.81309 3.46833,-0.09551 3.12785,0.600195 3.28075,2.381442 z"
+         id="path3811-4-6-7"
+         inkscape:connector-curvature="0"
+         sodipodi:nodetypes="sscscs" />
+      <path
+         style="fill:#ba9d00;fill-opacity:1;fill-rule:evenodd;stroke:none"
+         d="m 1.854167,79.082528 0,-3.875 c 2.5833333,0 5.7228328,-1.144256 5.875,-0.75 0,0 2.457974,2.169987 2.40533,4.625 -0.08906,4.153477 -1.9276336,5.758883 -5.8169417,5.758883 l -2.375,-1 z"
+         id="path3781"
+         inkscape:connector-curvature="0"
+         sodipodi:nodetypes="ccssccc" />
+      <path
+         style="opacity:0.17204303;fill:#808080;fill-opacity:1;stroke:none"
+         d="m 176.45515,18.530647 c -0.59659,6.950201 -0.86937,10.982126 0.16662,16.698487 0.065,0.358542 1.10197,-0.231739 1.33716,0.07181 -0.0362,-1.570984 2.10528,-5.570809 1.60261,-9.338656 -0.39707,-2.976307 -0.80244,-6.125771 0.17436,-9.81309 -3.46833,-0.09551 -3.12785,0.600195 -3.28075,2.381449 z"
+         id="path3811-4-6-7-0"
+         inkscape:connector-curvature="0"
+         sodipodi:nodetypes="sscscs" />
+      <rect
+         style="opacity:0;fill:#ba9d00;fill-opacity:1;fill-rule:evenodd;stroke:none"
+         id="rect3835"
+         width="188.56349"
+         height="122.03048"
+         x="-189.2706"
+         y="-0.32947311"
+         rx="9.0267563"
+         ry="0.13948013"
+         transform="scale(-1,1)" />
+    </g>
+  </g>
+</svg>
Binary file share/hedgewars/Data/Themes/Fruit/Banana1.png has changed
Binary file share/hedgewars/Data/Themes/Fruit/Banana2.png has changed
Binary file share/hedgewars/Data/Themes/Fruit/BlueWater.png has changed
Binary file share/hedgewars/Data/Themes/Fruit/Border.png has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/share/hedgewars/Data/Themes/Fruit/Border.svg	Tue Jun 04 22:28:12 2013 +0200
@@ -0,0 +1,88 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   id="svg2"
+   version="1.1"
+   inkscape:version="0.48.2 r9819"
+   width="128"
+   height="32"
+   sodipodi:docname="Border.svg"
+   inkscape:export-filename="/home/alumno/Border.png"
+   inkscape:export-xdpi="90"
+   inkscape:export-ydpi="90">
+  <metadata
+     id="metadata8">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+        <dc:title></dc:title>
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <defs
+     id="defs6" />
+  <sodipodi:namedview
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1"
+     objecttolerance="10"
+     gridtolerance="10"
+     guidetolerance="10"
+     inkscape:pageopacity="0"
+     inkscape:pageshadow="2"
+     inkscape:window-width="1024"
+     inkscape:window-height="576"
+     id="namedview4"
+     showgrid="false"
+     inkscape:zoom="4.6875"
+     inkscape:cx="64"
+     inkscape:cy="18.499355"
+     inkscape:window-x="0"
+     inkscape:window-y="24"
+     inkscape:window-maximized="1"
+     inkscape:current-layer="svg2" />
+  <g
+     id="g3070"
+     transform="translate(0.2245075,0.10721314)">
+    <path
+       sodipodi:nodetypes="ccccccsssssccccscc"
+       inkscape:connector-curvature="0"
+       id="path2989"
+       d="m 128.00989,4.540193 0,-1.5555713 -63.918366,0.4002938 -64.16231572,-3.33453995 -0.13317,4.11842995 c 0,0 0.0416,5.4350374 0.25739,5.4450807 1.12729002,3.1826308 3.75077002,2.8905698 5.61735002,2.9254808 2.6968,0.05044 4.8541697,-0.05992 7.5499797,-0.224285 4.21062,-0.256723 8.4917,2.455958 12.66232,1.191102 1.90205,-0.576845 5.276394,0.04414 7.731429,-2.234525 2.759525,-2.5612649 5.552523,3.62746 8.388817,3.621123 4.79433,-0.01069 6.835152,-3.509979 10.711598,-3.291019 6.699636,2.456307 11.479518,0.607804 18.365457,1.247273 3.106412,0.193695 5.169745,-2.9922912 8.271262,-2.572101 9.382295,7.019144 17.230978,-1.9735465 24.547659,-0.7092611 6.60817,1.3665811 12.59694,0.4820161 17.35256,1.5555521 2.28252,0.515259 6.7314,-1.3747811 6.7314,-1.3747811 z"
+       style="fill:#008b00;fill-opacity:1;fill-rule:evenodd;stroke:none" />
+  </g>
+  <path
+     style="fill:#00a900;fill-opacity:1;fill-rule:evenodd;stroke:none"
+     d="m 0.37712361,5.1624845 0,-5.1618448348 10.89016439,-0.0794579952 31.077592,0.0980617 12.489991,-0.0813154 9.316134,0.10831885 28.825199,-0.11555165 13.102566,0.023414 22.19235,-0.00601 0.19966,5.33746513 C 125.73695,7.9109204 115.48311,5.1549724 105.04283,5.3825149 94.419613,9.6233867 80.886124,5.5266001 78.082063,4.7039006 74.041553,3.5184322 70.9642,7.6927091 66.691245,7.9211814 62.69452,5.9294814 55.788358,4.7432211 50.673272,5.2061815 44.476156,5.7670746 39.471408,7.6849911 34.688255,7.2617296 27.833951,6.655192 24.143873,4.2520626 18.722054,4.0892781 8.7898029,3.7910726 2.1851718,5.1308145 0.37712361,5.1624845 z"
+     id="path2991"
+     inkscape:connector-curvature="0"
+     sodipodi:nodetypes="cccccccccccsccccc" />
+  <g
+     id="g3070-0"
+     transform="matrix(1,0,0,-1,0.2245075,31.950753)"
+     style="fill:#004600;fill-opacity:1">
+    <path
+       sodipodi:nodetypes="ccccccsssssccccscc"
+       inkscape:connector-curvature="0"
+       id="path2989-1"
+       d="m 128.00989,4.540193 0,-1.5555713 -63.918366,0.4002938 -64.16231572,-3.33453995 -0.13317,4.11842995 c 0,0 0.0416,5.4350374 0.25739,5.4450807 1.12729002,3.1826308 3.75077002,2.8905698 5.61735002,2.9254808 2.6968,0.05044 4.8541697,-0.05992 7.5499797,-0.224285 4.21062,-0.256723 8.4917,2.455958 12.66232,1.191102 1.90205,-0.576845 5.276394,0.04414 7.731429,-2.234525 2.759525,-2.5612649 5.552523,3.62746 8.388817,3.621123 4.79433,-0.01069 6.835152,-3.509979 10.711598,-3.291019 6.699636,2.456307 11.479518,0.607804 18.365457,1.247273 3.106412,0.193695 5.169745,-2.9922912 8.271262,-2.572101 9.382295,7.019144 17.230978,-1.9735465 24.547659,-0.7092611 6.60817,1.3665811 12.59694,0.4820161 17.35256,1.5555521 2.28252,0.515259 6.7314,-1.3747811 6.7314,-1.3747811 z"
+       style="fill:#004600;fill-opacity:1;fill-rule:evenodd;stroke:none" />
+  </g>
+  <path
+     style="fill:#002d00;fill-opacity:1;fill-rule:evenodd;stroke:none"
+     d="M 0,26.758679 0,31.920541 10.890164,32 l 31.077592,-0.09807 12.489991,0.0813 9.316134,-0.108331 28.825199,0.115551 13.10257,-0.02342 22.19235,0.0059 0.19966,-5.337483 c -2.73383,-2.625369 -12.98767,0.130591 -23.42795,-0.09695 C 94.042489,22.29779 80.509,26.394591 77.704939,27.217291 73.664429,28.402766 70.587076,24.228474 66.314121,24 62.317396,25.991707 55.411234,27.177973 50.296148,26.715011 44.099032,26.154085 39.094284,24.236161 34.311131,24.659425 27.456827,25.265966 23.766749,27.669102 18.34493,27.831888 8.4126793,28.130095 1.8080482,26.790346 0,26.758679 z"
+     id="path2991-9"
+     inkscape:connector-curvature="0"
+     sodipodi:nodetypes="cccccccccccsccccc" />
+</svg>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/share/hedgewars/Data/Themes/Fruit/CMakeLists.txt	Tue Jun 04 22:28:12 2013 +0200
@@ -0,0 +1,6 @@
+file(GLOB images *.png)
+
+install(FILES
+    theme.cfg
+    ${images}
+    DESTINATION ${SHAREPATH}Data/Themes/Fruit)
Binary file share/hedgewars/Data/Themes/Fruit/Chunk.png has changed
Binary file share/hedgewars/Data/Themes/Fruit/Clouds.png has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/share/hedgewars/Data/Themes/Fruit/Clouds.svg	Tue Jun 04 22:28:12 2013 +0200
@@ -0,0 +1,141 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   id="svg2"
+   version="1.1"
+   inkscape:version="0.48.2 r9819"
+   width="256"
+   height="512"
+   sodipodi:docname="Clouds.svg"
+   inkscape:export-filename="/home/alumno/Clouds.png"
+   inkscape:export-xdpi="90"
+   inkscape:export-ydpi="90">
+  <metadata
+     id="metadata8">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+        <dc:title></dc:title>
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <defs
+     id="defs6">
+    <inkscape:perspective
+       sodipodi:type="inkscape:persp3d"
+       inkscape:vp_x="0 : 0.5 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_z="1 : 0.5 : 1"
+       inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+       id="perspective10" />
+  </defs>
+  <sodipodi:namedview
+     pagecolor="#081471"
+     bordercolor="#666666"
+     borderopacity="1"
+     objecttolerance="10"
+     gridtolerance="10"
+     guidetolerance="10"
+     inkscape:pageopacity="0"
+     inkscape:pageshadow="2"
+     inkscape:window-width="1024"
+     inkscape:window-height="576"
+     id="namedview4"
+     showgrid="false"
+     inkscape:zoom="0.5"
+     inkscape:cx="167.15145"
+     inkscape:cy="322.26631"
+     inkscape:window-x="0"
+     inkscape:window-y="24"
+     inkscape:window-maximized="1"
+     inkscape:current-layer="svg2" />
+  <path
+     style="fill:#d8320e;fill-opacity:1;stroke:#291c2e;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+     d="m 167.79628,429.90625 c 6.88621,-54.20506 -95.910233,-47.98209 -91.152321,6.33998 -36.780523,13.44756 -17.393783,55.60537 68.176851,45.15254 6.07372,5.86147 14.71644,7.1321 22.90295,4.54859 50.44072,0.35828 33.06824,-64.7277 0.0725,-56.04111 z"
+     id="path3628"
+     sodipodi:nodetypes="ccccc"
+     inkscape:connector-curvature="0" />
+  <path
+     style="fill:#fa4307;fill-opacity:1;stroke:none"
+     d="m 162.03744,441.25881 c -1.36319,-49.25801 -70.84174,-44.59276 -73.56421,-0.0256 -37.89558,0.67449 -29.98797,47.87467 57.17122,35.71956 6.0099,7.17251 13.2001,8.57757 21.7257,5.87623 43.45828,-5.64496 20.24934,-50.77328 -5.33271,-41.57015 z"
+     id="path3624"
+     sodipodi:nodetypes="ccccc" />
+  <path
+     style="fill:#d8320e;fill-opacity:1;stroke:none"
+     d="M 35.51038,60.826602 C 30.10945,5.369057 173.31939,8.812326 176.54237,56.135592 202.32043,49.47102 245.36426,58.660968 243.28372,83.01503 241.20317,107.36909 165.62848,112.01794 126.37288,101.9661 14.82644,110.79522 -9.11426,74.486646 35.51038,60.826602 z"
+     id="path2818"
+     sodipodi:nodetypes="cczcc" />
+  <path
+     style="fill:#fa4307;fill-opacity:1;stroke:none;opacity:1"
+     d="M 47.935121,67.693673 C 55.279955,21.727655 154.13261,20.419517 165.21999,67.471595 c 17.14098,-3.43759 63.50622,-0.561734 63.15549,20.35266 -0.35074,20.914395 -62.747,24.193685 -102.0026,14.141845 C 14.82644,110.79522 4.5308199,68.60796 47.935121,67.693673 z"
+     id="path3594"
+     sodipodi:nodetypes="cczcc" />
+  <path
+     sodipodi:nodetypes="cczcc"
+     id="path3592"
+     d="M 58.290041,72.487617 C 50.71962,34.11482 162.60753,34.981818 158.50847,75.525421 180.25962,71.545459 222.35333,78.028505 219.69751,92.027645 217.0417,106.02679 165.62848,112.01794 126.37288,101.9661 14.82644,110.79522 23.156926,71.503599 58.290041,72.487617 z"
+     style="fill:#fc7d01;fill-opacity:1;stroke:none;opacity:1" />
+  <path
+     sodipodi:nodetypes="cczcc"
+     id="path3596"
+     d="M 35.51038,60.826602 C 30.10945,5.3690574 173.31939,8.8123258 176.54237,56.135592 202.32043,49.47102 245.36426,58.660968 243.28372,83.015027 241.20317,107.36909 165.62848,112.01794 126.37288,101.9661 14.82644,110.79522 -9.11426,74.486646 35.51038,60.826602 z"
+     style="fill:none;fill-opacity:1;stroke:#291c2e;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
+  <path
+     style="fill:#d8320e;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;fill-opacity:1"
+     d="m 91.280324,186.44749 c -0.572532,-52.33401 78.269996,-60.0929 77.262046,6.50166 25.56939,18.81678 9.23638,58.58843 -50.30508,47.32204 -7.93005,7.2174 -19.934946,7.40328 -28.344387,4.54859 -50.462498,6.87804 -46.267598,-69.35997 1.387421,-58.37229 z"
+     id="path3598"
+     sodipodi:nodetypes="ccccc" />
+  <path
+     sodipodi:nodetypes="ccccc"
+     id="path3600"
+     d="m 97.00091,200.50411 c 2.307391,-48.17327 59.56702,-58.37674 63.55102,-0.2503 25.9859,2.78382 20.49274,49.59484 -42.32241,39.74083 -7.88081,7.17251 -19.811166,7.35723 -28.16839,4.5203 -41.903581,3.57537 -33.516057,-54.16312 6.93978,-44.01083 z"
+     style="fill:#fa4307;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;fill-opacity:1" />
+  <path
+     style="fill:#fc7d01;stroke:none;stroke-width:1px;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1;fill-opacity:1"
+     d="m 100.64431,209.90024 c 0.40908,-42.47835 53.97713,-52.6313 55.11368,-3.31842 20.0414,-0.66782 26.05371,40.96574 -37.52847,33.41282 -7.88081,7.17251 -19.811166,7.35723 -28.16839,4.5203 -36.344259,-0.62802 -24.042151,-43.27546 10.58318,-34.6147 z"
+     id="path3602"
+     sodipodi:nodetypes="ccccc" />
+  <path
+     sodipodi:nodetypes="ccccc"
+     id="path3604"
+     d="m 91.280324,186.44749 c -0.572532,-52.33401 78.269996,-60.0929 77.262046,6.50166 25.56939,18.81678 9.23638,58.58843 -50.30508,47.32204 -7.93005,7.2174 -19.934946,7.40328 -28.344387,4.54859 -50.462498,6.87804 -46.267598,-69.35997 1.387421,-58.37229 z"
+     style="fill:none;stroke:#291c2e;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1;fill-opacity:1;stroke-miterlimit:4;stroke-dasharray:none" />
+  <path
+     sodipodi:nodetypes="cczcc"
+     id="path3606"
+     d="m 200.66036,311.36124 c 3.82282,-50.33223 -108.617799,-46.47836 -110.791616,-3.53573 -20.29452,-5.91384 -54.028615,2.64179 -52.210845,24.72238 1.817778,22.08058 61.203712,25.91198 91.956301,16.59385 87.66707,7.43976 106.19423,-25.6173 71.04616,-37.7805 z"
+     style="fill:#d8320e;fill-opacity:1;stroke:none" />
+  <path
+     sodipodi:nodetypes="cczcc"
+     id="path3608"
+     d="m 190.95474,317.65364 c -6.11513,-41.6576 -83.75665,-42.33994 -92.108644,0.39683 -13.487225,-3.03075 -49.877382,-0.1856 -49.444047,18.78374 0.433343,18.96934 49.459562,21.62566 80.212151,12.30753 87.66707,7.43976 95.43399,-30.88016 61.34054,-31.4881 z"
+     style="fill:#fa4307;fill-opacity:1;stroke:none" />
+  <path
+     style="fill:#fc7d01;fill-opacity:1;stroke:none"
+     d="m 182.85893,322.05497 c 5.65555,-34.84599 -82.20648,-33.4888 -78.6813,3.26676 -17.111802,-3.4992 -50.120181,2.59619 -47.928803,15.28105 2.191368,12.68487 42.612784,17.85709 73.365373,8.53896 87.66707,7.43976 80.82828,-28.15856 53.24473,-27.08677 z"
+     id="path3610"
+     sodipodi:nodetypes="cczcc"
+     inkscape:connector-curvature="0" />
+  <path
+     style="fill:none;stroke:#291c2e;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+     d="m 200.66037,311.36125 c 3.82282,-50.33223 -108.617806,-46.47837 -110.791623,-3.53574 -20.29452,-5.91384 -54.028616,2.6418 -52.210846,24.72238 1.817778,22.08058 61.203715,25.91199 91.956299,16.59386 87.66708,7.43976 106.19424,-25.61731 71.04617,-37.7805 z"
+     id="path3612"
+     sodipodi:nodetypes="cczcc" />
+  <path
+     sodipodi:nodetypes="ccccc"
+     id="path3626"
+     d="m 159.62078,452.65494 c 2.4529,-46.81733 -66.020473,-42.32621 -62.612044,-3.5896 -29.498451,-3.1085 -38.604784,40.92719 48.134714,29.30647 8.04379,8.39285 14.92143,7.93815 21.27755,5.10122 35.16882,3.16859 20.7172,-41.91953 -6.80022,-30.81809 z"
+     style="fill:#fc7d01;fill-opacity:1;stroke:none"
+     inkscape:connector-curvature="0" />
+</svg>
Binary file share/hedgewars/Data/Themes/Fruit/Droplet.png has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/share/hedgewars/Data/Themes/Fruit/Droplet.svg	Tue Jun 04 22:28:12 2013 +0200
@@ -0,0 +1,478 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:xlink="http://www.w3.org/1999/xlink"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   id="svg2"
+   version="1.1"
+   inkscape:version="0.48.2 r9819"
+   width="16"
+   height="64"
+   sodipodi:docname="Droplet.svg"
+   inkscape:export-filename="/home/alumno/Droplet.png"
+   inkscape:export-xdpi="90"
+   inkscape:export-ydpi="90">
+  <metadata
+     id="metadata8">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+        <dc:title></dc:title>
+        <dc:creator>
+          <cc:Agent>
+            <dc:title>Carlos Vives B.</dc:title>
+          </cc:Agent>
+        </dc:creator>
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <defs
+     id="defs6">
+    <inkscape:perspective
+       sodipodi:type="inkscape:persp3d"
+       inkscape:vp_x="0 : 0.5 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_z="1 : 0.5 : 1"
+       inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+       id="perspective10" />
+    <linearGradient
+       y2="48"
+       x2="64"
+       y1="31.882462"
+       x1="64"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient3615"
+       xlink:href="#linearGradient3617"
+       inkscape:collect="always" />
+    <inkscape:perspective
+       sodipodi:type="inkscape:persp3d"
+       inkscape:vp_x="0 : 0.5 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_z="1 : 0.5 : 1"
+       inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+       id="perspective2851" />
+    <inkscape:perspective
+       sodipodi:type="inkscape:persp3d"
+       inkscape:vp_x="0 : 0.5 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_z="1 : 0.5 : 1"
+       inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+       id="perspective2837" />
+    <linearGradient
+       y2="48"
+       x2="64"
+       y1="39.058487"
+       x1="64"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient3743"
+       xlink:href="#linearGradient3718"
+       inkscape:collect="always" />
+    <linearGradient
+       y2="48"
+       x2="64"
+       y1="39.058487"
+       x1="64"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient3738"
+       xlink:href="#linearGradient3718"
+       inkscape:collect="always" />
+    <linearGradient
+       y2="48"
+       x2="64"
+       y1="39.058487"
+       x1="64"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient3733"
+       xlink:href="#linearGradient3718"
+       inkscape:collect="always" />
+    <linearGradient
+       y2="48"
+       x2="64"
+       y1="39.058487"
+       x1="64"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient3728"
+       xlink:href="#linearGradient3718"
+       inkscape:collect="always" />
+    <linearGradient
+       gradientUnits="userSpaceOnUse"
+       y2="48"
+       x2="64"
+       y1="31.882462"
+       x1="64"
+       id="linearGradient3724"
+       xlink:href="#linearGradient3605"
+       inkscape:collect="always" />
+    <inkscape:perspective
+       id="perspective10-6"
+       inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+       inkscape:vp_z="1 : 0.5 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_x="0 : 0.5 : 1"
+       sodipodi:type="inkscape:persp3d" />
+    <linearGradient
+       id="linearGradient3706">
+      <stop
+         id="stop3708"
+         offset="0"
+         style="stop-color:#9aa3dc;stop-opacity:1;" />
+      <stop
+         id="stop3710"
+         offset="1"
+         style="stop-color:#9aa3dc;stop-opacity:0;" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient3718">
+      <stop
+         id="stop3720"
+         offset="0"
+         style="stop-color:#545c9d;stop-opacity:1;" />
+      <stop
+         style="stop-color:#545c9d;stop-opacity:0.49803922;"
+         offset="0.5"
+         id="stop3603" />
+      <stop
+         id="stop3722"
+         offset="1"
+         style="stop-color:#545c9d;stop-opacity:0;" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient3605">
+      <stop
+         style="stop-color:#545c9d;stop-opacity:1;"
+         offset="0"
+         id="stop3607" />
+      <stop
+         style="stop-color:#545c9d;stop-opacity:0.24705882;"
+         offset="0.5907774"
+         id="stop3613" />
+      <stop
+         style="stop-color:#545c9d;stop-opacity:0;"
+         offset="1"
+         id="stop3611" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient3617">
+      <stop
+         id="stop3619"
+         offset="0"
+         style="stop-color:#545c9d;stop-opacity:1;" />
+      <stop
+         id="stop3621"
+         offset="0.52097768"
+         style="stop-color:#545c9d;stop-opacity:0.24705882;" />
+      <stop
+         id="stop3623"
+         offset="1"
+         style="stop-color:#545c9d;stop-opacity:0;" />
+    </linearGradient>
+    <inkscape:perspective
+       id="perspective2844"
+       inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+       inkscape:vp_z="1 : 0.5 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_x="0 : 0.5 : 1"
+       sodipodi:type="inkscape:persp3d" />
+    <inkscape:perspective
+       id="perspective3644"
+       inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+       inkscape:vp_z="1 : 0.5 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_x="0 : 0.5 : 1"
+       sodipodi:type="inkscape:persp3d" />
+    <linearGradient
+       gradientTransform="matrix(1,0,0,2.7977291,-2.1118922,-84.521709)"
+       gradientUnits="userSpaceOnUse"
+       y2="53.688095"
+       x2="67.920876"
+       y1="42.525238"
+       x1="67.903694"
+       id="linearGradient3780"
+       xlink:href="#linearGradient3774"
+       inkscape:collect="always" />
+    <linearGradient
+       id="linearGradient3774">
+      <stop
+         id="stop3776"
+         offset="0"
+         style="stop-color:#ff9300;stop-opacity:1;" />
+      <stop
+         style="stop-color:#ff9300;stop-opacity:0.99607843;"
+         offset="0.00048828"
+         id="stop3802" />
+      <stop
+         style="stop-color:#ff9300;stop-opacity:0.99607843;"
+         offset="0.00097656"
+         id="stop3800" />
+      <stop
+         style="stop-color:#44ab00;stop-opacity:0.99607843;"
+         offset="0.00195312"
+         id="stop3798" />
+      <stop
+         style="stop-color:#ff9300;stop-opacity:0.99607843;"
+         offset="0.00390625"
+         id="stop3796" />
+      <stop
+         style="stop-color:#ff9300;stop-opacity:0.99215686;"
+         offset="0.0078125"
+         id="stop3794" />
+      <stop
+         style="stop-color:#ff9300;stop-opacity:0.98431373;"
+         offset="0.015625"
+         id="stop3792" />
+      <stop
+         style="stop-color:#ff9300;stop-opacity:0.96862745;"
+         offset="0.03125"
+         id="stop3790" />
+      <stop
+         style="stop-color:#ff9300;stop-opacity:0.9372549;"
+         offset="0.0625"
+         id="stop3788" />
+      <stop
+         style="stop-color:#ff9300;stop-opacity:0.8745098;"
+         offset="0.17754041"
+         id="stop3786" />
+      <stop
+         style="stop-color:#ff9300;stop-opacity:0.74901961;"
+         offset="0.37418443"
+         id="stop3784" />
+      <stop
+         style="stop-color:#fedbf8;stop-opacity:0"
+         offset="0.5"
+         id="stop3782" />
+      <stop
+         id="stop3778"
+         offset="1"
+         style="stop-color:#ff9300;stop-opacity:0;" />
+    </linearGradient>
+    <linearGradient
+       y2="48"
+       x2="64"
+       y1="31.882462"
+       x1="64"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient3615-4"
+       xlink:href="#linearGradient3617-6"
+       inkscape:collect="always" />
+    <inkscape:perspective
+       sodipodi:type="inkscape:persp3d"
+       inkscape:vp_x="0 : 0.5 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_z="1 : 0.5 : 1"
+       inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+       id="perspective2851-5" />
+    <inkscape:perspective
+       sodipodi:type="inkscape:persp3d"
+       inkscape:vp_x="0 : 0.5 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_z="1 : 0.5 : 1"
+       inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+       id="perspective2837-2" />
+    <linearGradient
+       y2="48"
+       x2="64"
+       y1="39.058487"
+       x1="64"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient3743-0"
+       xlink:href="#linearGradient3718-5"
+       inkscape:collect="always" />
+    <linearGradient
+       y2="48"
+       x2="64"
+       y1="39.058487"
+       x1="64"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient3738-0"
+       xlink:href="#linearGradient3718-5"
+       inkscape:collect="always" />
+    <linearGradient
+       y2="48"
+       x2="64"
+       y1="39.058487"
+       x1="64"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient3733-4"
+       xlink:href="#linearGradient3718-5"
+       inkscape:collect="always" />
+    <linearGradient
+       y2="48"
+       x2="64"
+       y1="39.058487"
+       x1="64"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient3728-3"
+       xlink:href="#linearGradient3718-5"
+       inkscape:collect="always" />
+    <linearGradient
+       gradientUnits="userSpaceOnUse"
+       y2="48"
+       x2="64"
+       y1="31.882462"
+       x1="64"
+       id="linearGradient3724-3"
+       xlink:href="#linearGradient3605-3"
+       inkscape:collect="always" />
+    <inkscape:perspective
+       id="perspective10-4"
+       inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+       inkscape:vp_z="1 : 0.5 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_x="0 : 0.5 : 1"
+       sodipodi:type="inkscape:persp3d" />
+    <linearGradient
+       id="linearGradient3706-4">
+      <stop
+         id="stop3708-6"
+         offset="0"
+         style="stop-color:#9aa3dc;stop-opacity:1;" />
+      <stop
+         id="stop3710-0"
+         offset="1"
+         style="stop-color:#9aa3dc;stop-opacity:0;" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient3718-5">
+      <stop
+         id="stop3720-1"
+         offset="0"
+         style="stop-color:#545c9d;stop-opacity:1;" />
+      <stop
+         style="stop-color:#545c9d;stop-opacity:0.49803922;"
+         offset="0.5"
+         id="stop3603-9" />
+      <stop
+         id="stop3722-1"
+         offset="1"
+         style="stop-color:#545c9d;stop-opacity:0;" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient3605-3">
+      <stop
+         style="stop-color:#545c9d;stop-opacity:1;"
+         offset="0"
+         id="stop3607-9" />
+      <stop
+         style="stop-color:#545c9d;stop-opacity:0.24705882;"
+         offset="0.5907774"
+         id="stop3613-4" />
+      <stop
+         style="stop-color:#545c9d;stop-opacity:0;"
+         offset="1"
+         id="stop3611-7" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient3617-6">
+      <stop
+         id="stop3619-6"
+         offset="0"
+         style="stop-color:#ff6200;stop-opacity:1;" />
+      <stop
+         id="stop3621-4"
+         offset="0.52097768"
+         style="stop-color:#ff6200;stop-opacity:0.24705882;" />
+      <stop
+         id="stop3623-3"
+         offset="1"
+         style="stop-color:#ff6200;stop-opacity:0;" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient3617-6"
+       id="linearGradient3714"
+       gradientUnits="userSpaceOnUse"
+       x1="64"
+       y1="31.882462"
+       x2="64"
+       y2="48" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient3617-6"
+       id="linearGradient3717"
+       gradientUnits="userSpaceOnUse"
+       x1="64"
+       y1="31.882462"
+       x2="64"
+       y2="48"
+       gradientTransform="translate(-133.491,9.5795401)" />
+  </defs>
+  <sodipodi:namedview
+     pagecolor="#949ed6"
+     bordercolor="#666666"
+     borderopacity="1"
+     objecttolerance="10"
+     gridtolerance="10"
+     guidetolerance="10"
+     inkscape:pageopacity="0"
+     inkscape:pageshadow="2"
+     inkscape:window-width="1024"
+     inkscape:window-height="576"
+     id="namedview4"
+     showgrid="false"
+     inkscape:zoom="7.9999999"
+     inkscape:cx="-1.3666015"
+     inkscape:cy="38.637082"
+     inkscape:window-x="0"
+     inkscape:window-y="24"
+     inkscape:window-maximized="1"
+     inkscape:current-layer="svg2" />
+  <path
+     sodipodi:type="arc"
+     style="color:#000000;fill:#ff6600;fill-opacity:1;fill-rule:nonzero;stroke:#ffd42a;stroke-width:1.73254383000000001;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+     id="path2884"
+     sodipodi:cx="7.7661896"
+     sodipodi:cy="8.4255676"
+     sodipodi:rx="4.5063076"
+     sodipodi:ry="4.5063076"
+     d="m 12.272497,8.4255676 a 4.5063076,4.5063076 0 1 1 -9.012615,0 4.5063076,4.5063076 0 1 1 9.012615,0 z"
+     transform="matrix(0.57718597,0,0,0.57718597,3.5174643,51.136881)" />
+  <path
+     transform="matrix(0.48723869,0,0,0.48723869,4.2160119,35.894737)"
+     d="m 12.272497,8.4255676 a 4.5063076,4.5063076 0 1 1 -9.012615,0 4.5063076,4.5063076 0 1 1 9.012615,0 z"
+     sodipodi:ry="4.5063076"
+     sodipodi:rx="4.5063076"
+     sodipodi:cy="8.4255676"
+     sodipodi:cx="7.7661896"
+     id="path3630"
+     style="color:#000000;fill:#ff6600;fill-opacity:1;fill-rule:nonzero;stroke:#ffd42a;stroke-width:2.05238217000000001;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+     sodipodi:type="arc" />
+  <path
+     sodipodi:type="arc"
+     style="color:#000000;fill:#ff6600;fill-opacity:1;fill-rule:nonzero;stroke:#ffd42a;stroke-width:1.32086337000000009;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+     id="path3632"
+     sodipodi:cx="7.7661896"
+     sodipodi:cy="8.4255676"
+     sodipodi:rx="4.5063076"
+     sodipodi:ry="4.5063076"
+     d="m 12.272497,8.4255676 a 4.5063076,4.5063076 0 1 1 -9.012615,0 4.5063076,4.5063076 0 1 1 9.012615,0 z"
+     transform="matrix(0.75708055,0,0,0.75708055,2.1203692,17.621166)" />
+  <path
+     transform="matrix(0.43791409,0,0,0.43791409,4.5990761,4.3103248)"
+     d="m 12.272497,8.4255676 a 4.5063076,4.5063076 0 1 1 -9.012615,0 4.5063076,4.5063076 0 1 1 9.012615,0 z"
+     sodipodi:ry="4.5063076"
+     sodipodi:rx="4.5063076"
+     sodipodi:cy="8.4255676"
+     sodipodi:cx="7.7661896"
+     id="path3634"
+     style="color:#000000;fill:#ff6600;fill-opacity:1;fill-rule:nonzero;stroke:#ffd42a;stroke-width:2.28355289000000017;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+     sodipodi:type="arc" />
+  <rect
+     style="color:#000000;fill:#545c9d;fill-opacity:1;fill-rule:nonzero;stroke:#9aa3dc;stroke-width:0;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+     id="rect3603"
+     x="-38.614849"
+     y="21.853107"
+     width="0"
+     height="0"
+     rx="128"
+     ry="128" />
+</svg>
Binary file share/hedgewars/Data/Themes/Fruit/Flake.png has changed
Binary file share/hedgewars/Data/Themes/Fruit/Girder.png has changed
Binary file share/hedgewars/Data/Themes/Fruit/LandBackTex.png has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/share/hedgewars/Data/Themes/Fruit/LandBackTex.svg	Tue Jun 04 22:28:12 2013 +0200
@@ -0,0 +1,355 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   id="svg2"
+   version="1.1"
+   inkscape:version="0.48.2 r9819"
+   width="240"
+   height="240"
+   sodipodi:docname="LandBackTex.svg"
+   inkscape:export-filename="/home/alumno/LandTex.png"
+   inkscape:export-xdpi="180"
+   inkscape:export-ydpi="180">
+  <metadata
+     id="metadata8">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+        <dc:title></dc:title>
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <defs
+     id="defs6" />
+  <sodipodi:namedview
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1"
+     objecttolerance="10"
+     gridtolerance="10"
+     guidetolerance="10"
+     inkscape:pageopacity="0"
+     inkscape:pageshadow="2"
+     inkscape:window-width="1024"
+     inkscape:window-height="576"
+     id="namedview4"
+     showgrid="false"
+     inkscape:zoom="0.98333333"
+     inkscape:cx="2.4185786"
+     inkscape:cy="89.959001"
+     inkscape:window-x="0"
+     inkscape:window-y="24"
+     inkscape:window-maximized="1"
+     inkscape:current-layer="svg2" />
+  <rect
+     style="fill:#a00000;fill-opacity:1;fill-rule:evenodd;stroke:none"
+     id="rect6362-2"
+     width="245.06123"
+     height="240"
+     x="-0.82381439"
+     y="0" />
+  <path
+     style="fill:#a00000;fill-opacity:1;fill-rule:evenodd;stroke:none"
+     d="m -0.8238169,45.299127 0,-45.13296469 122.9694569,0 122.96946,0 0,45.13296469 c -32.5153,34.430713 -73.21598,9.738833 -104.79755,9.01344 -40.989815,0 -73.180476,35.557016 -102.164654,7.935503 C 26.990153,51.610128 -0.8238169,45.299127 -0.8238169,45.299127 z"
+     id="path8053-2"
+     inkscape:connector-curvature="0"
+     sodipodi:nodetypes="ccccccsc" />
+  <path
+     style="fill:#8e0000;fill-opacity:1;fill-rule:evenodd;stroke:none"
+     d="m -0.7839639,77.974368 0,-43.103353 1.7255681,0 c 0.9490608,0 5.6802538,1.564059 10.5137498,3.475687 11.928457,4.717653 20.698709,10.134467 27.219686,16.811829 5.25494,5.38095 11.234577,9.419576 16.095131,10.870589 1.743305,0.520428 5.484593,0.820972 9.605155,0.771601 8.522995,-0.102126 13.076477,-1.482101 33.822605,-10.250281 21.033349,-8.889575 30.596649,-11.541829 41.587409,-11.533722 6.32058,0.0048 10.94939,0.857754 30.50628,5.622335 19.50463,4.75185 24.43939,3.199429 35.03832,2.736834 10.58496,-0.461987 14.2368,-4.053646 22.51845,-9.136336 4.75027,-2.915379 5.15199,-2.503138 9.72367,-7.306932 1.94047,-2.038992 6.56319,-2.285711 6.7215,-2.285711 0.15831,0 0.4714,60.184143 0.4714,83.890982 0,0 -11.52851,-11.23072 -19.85007,-1.07116 -29.00312,35.40905 -68.50781,2.83973 -102.64905,3.61099 -36.863209,0.83275 -80.483557,27.25966 -110.589063,1.27434 -4.4934327,-3.87847 -9.7723273,3.15878 -11.5159686,-5.47155 -1.7640732,-8.73149 -0.9447723,-38.906142 -0.9447723,-38.906142 z"
+     id="path8825-2"
+     inkscape:connector-curvature="0"
+     sodipodi:nodetypes="ccsssssssssssscssssc" />
+  <path
+     style="fill:#7e0000;fill-opacity:1;fill-rule:evenodd;stroke:none"
+     d="m -1.0847357,106.17198 c 15.2834687,-5.81848 10.6054128,8.77873 34.7161807,14.75411 25.166073,6.23693 63.820796,-5.31895 84.613955,-5.25031 21.25889,0.0701 86.65679,-2.74298 112.65186,-8.32828 10.47951,-2.25163 12.90054,-1.70704 12.90054,-1.70704 l 0.18355,69.01918 c 0,0 -5.98471,-3.08321 -16.37315,4.67838 -25.76305,19.24849 -52.70289,9.29007 -93.33067,9.59254 -35.958875,0.26771 -67.699114,4.80055 -110.534816,-2.87936 -11.50153,-2.06207 -14.7175712,-12.47698 -24.1394709,-11.39156 0.3760056,-33.36102 -0.4090583,-52.79629 -0.687989,-68.48766 z"
+     id="path8829-7"
+     inkscape:connector-curvature="0"
+     sodipodi:nodetypes="csssccsssccc" />
+  <g
+     id="g3044"
+     style="fill:#000000"
+     transform="matrix(1.0210885,0,0,1,-1.0847459,0)">
+    <path
+       transform="matrix(0.54173473,-0.3954267,0.25709444,0.83322058,38.8411,-83.851215)"
+       d="m -74.745762,103.72881 c 0,2.52741 -1.024433,4.57627 -2.288135,4.57627 -1.263703,0 -2.288136,-2.04886 -2.288136,-4.57627 0,-2.5274 1.024433,-4.576268 2.288136,-4.576268 1.263702,0 2.288135,2.048868 2.288135,4.576268 z"
+       sodipodi:ry="4.5762715"
+       sodipodi:rx="2.2881358"
+       sodipodi:cy="103.72881"
+       sodipodi:cx="-77.033897"
+       id="path7309-0"
+       style="opacity:0.50879995;fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none"
+       sodipodi:type="arc" />
+    <path
+       transform="matrix(-0.54173473,-0.3954267,-0.25709444,0.83322058,41.55609,-94.925726)"
+       d="m -74.745762,103.72881 c 0,2.52741 -1.024433,4.57627 -2.288135,4.57627 -1.263703,0 -2.288136,-2.04886 -2.288136,-4.57627 0,-2.5274 1.024433,-4.576268 2.288136,-4.576268 1.263702,0 2.288135,2.048868 2.288135,4.576268 z"
+       sodipodi:ry="4.5762715"
+       sodipodi:rx="2.2881358"
+       sodipodi:cy="103.72881"
+       sodipodi:cx="-77.033897"
+       id="path7309-7-3"
+       style="opacity:0.50879995;fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none"
+       sodipodi:type="arc" />
+    <path
+       transform="matrix(-0.59238187,-0.43174056,-0.28113037,0.90973907,10.08477,24.974226)"
+       d="m -74.745762,103.72881 c 0,2.52741 -1.024433,4.57627 -2.288135,4.57627 -1.263703,0 -2.288136,-2.04886 -2.288136,-4.57627 0,-2.5274 1.024433,-4.576268 2.288136,-4.576268 1.263702,0 2.288135,2.048868 2.288135,4.576268 z"
+       sodipodi:ry="4.5762715"
+       sodipodi:rx="2.2881358"
+       sodipodi:cy="103.72881"
+       sodipodi:cx="-77.033897"
+       id="path7309-7-5-4"
+       style="opacity:0.50879995;fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none"
+       sodipodi:type="arc" />
+    <path
+       transform="matrix(0.54173473,-0.3954267,0.25709444,0.83322058,112.1639,58.32996)"
+       d="m -74.745762,103.72881 c 0,2.52741 -1.024433,4.57627 -2.288135,4.57627 -1.263703,0 -2.288136,-2.04886 -2.288136,-4.57627 0,-2.5274 1.024433,-4.576268 2.288136,-4.576268 1.263702,0 2.288135,2.048868 2.288135,4.576268 z"
+       sodipodi:ry="4.5762715"
+       sodipodi:rx="2.2881358"
+       sodipodi:cy="103.72881"
+       sodipodi:cx="-77.033897"
+       id="path7309-7-5-9-6"
+       style="opacity:0.50879995;fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none"
+       sodipodi:type="arc" />
+    <path
+       transform="matrix(-0.54173473,-0.3954267,-0.25709444,0.83322058,87.72489,-63.875755)"
+       d="m -74.745762,103.72881 c 0,2.52741 -1.024433,4.57627 -2.288135,4.57627 -1.263703,0 -2.288136,-2.04886 -2.288136,-4.57627 0,-2.5274 1.024433,-4.576268 2.288136,-4.576268 1.263702,0 2.288135,2.048868 2.288135,4.576268 z"
+       sodipodi:ry="4.5762715"
+       sodipodi:rx="2.2881358"
+       sodipodi:cy="103.72881"
+       sodipodi:cx="-77.033897"
+       id="path7309-7-5-9-5-3"
+       style="opacity:0.50879995;fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none"
+       sodipodi:type="arc" />
+    <path
+       transform="matrix(0.54173473,-0.3954267,0.25709444,0.83322058,151.98454,79.27951)"
+       d="m -74.745762,103.72881 c 0,2.52741 -1.024433,4.57627 -2.288135,4.57627 -1.263703,0 -2.288136,-2.04886 -2.288136,-4.57627 0,-2.5274 1.024433,-4.576268 2.288136,-4.576268 1.263702,0 2.288135,2.048868 2.288135,4.576268 z"
+       sodipodi:ry="4.5762715"
+       sodipodi:rx="2.2881358"
+       sodipodi:cy="103.72881"
+       sodipodi:cx="-77.033897"
+       id="path7309-7-5-9-5-2-6"
+       style="opacity:0.50879995;fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none"
+       sodipodi:type="arc" />
+    <path
+       transform="matrix(-0.54173473,-0.3954267,-0.25709444,0.83322058,132.40971,-22.248043)"
+       d="m -74.745762,103.72881 c 0,2.52741 -1.024433,4.57627 -2.288135,4.57627 -1.263703,0 -2.288136,-2.04886 -2.288136,-4.57627 0,-2.5274 1.024433,-4.576268 2.288136,-4.576268 1.263702,0 2.288135,2.048868 2.288135,4.576268 z"
+       sodipodi:ry="4.5762715"
+       sodipodi:rx="2.2881358"
+       sodipodi:cy="103.72881"
+       sodipodi:cx="-77.033897"
+       id="path7309-7-5-9-5-2-3-3"
+       style="opacity:0.50879995;fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none"
+       sodipodi:type="arc" />
+    <path
+       transform="matrix(0.54173473,-0.3954267,0.25709444,0.83322058,88.97635,16.973638)"
+       d="m -74.745762,103.72881 c 0,2.52741 -1.024433,4.57627 -2.288135,4.57627 -1.263703,0 -2.288136,-2.04886 -2.288136,-4.57627 0,-2.5274 1.024433,-4.576268 2.288136,-4.576268 1.263702,0 2.288135,2.048868 2.288135,4.576268 z"
+       sodipodi:ry="4.5762715"
+       sodipodi:rx="2.2881358"
+       sodipodi:cy="103.72881"
+       sodipodi:cx="-77.033897"
+       id="path7309-7-5-9-5-2-3-5-3"
+       style="opacity:0.50879995;fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none"
+       sodipodi:type="arc" />
+    <path
+       transform="matrix(-0.54173473,-0.3954267,-0.25709444,0.83322058,176.41453,29.407128)"
+       d="m -74.745762,103.72881 c 0,2.52741 -1.024433,4.57627 -2.288135,4.57627 -1.263703,0 -2.288136,-2.04886 -2.288136,-4.57627 0,-2.5274 1.024433,-4.576268 2.288136,-4.576268 1.263702,0 2.288135,2.048868 2.288135,4.576268 z"
+       sodipodi:ry="4.5762715"
+       sodipodi:rx="2.2881358"
+       sodipodi:cy="103.72881"
+       sodipodi:cx="-77.033897"
+       id="path7309-7-5-9-5-2-3-5-4-4"
+       style="opacity:0.50879995;fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none"
+       sodipodi:type="arc" />
+    <path
+       transform="matrix(0.54173473,-0.3954267,0.25709444,0.83322058,220.06267,-107.27773)"
+       d="m -74.745762,103.72881 c 0,2.52741 -1.024433,4.57627 -2.288135,4.57627 -1.263703,0 -2.288136,-2.04886 -2.288136,-4.57627 0,-2.5274 1.024433,-4.576268 2.288136,-4.576268 1.263702,0 2.288135,2.048868 2.288135,4.576268 z"
+       sodipodi:ry="4.5762715"
+       sodipodi:rx="2.2881358"
+       sodipodi:cy="103.72881"
+       sodipodi:cx="-77.033897"
+       id="path7309-7-5-9-5-2-3-5-4-3-4"
+       style="opacity:0.50879995;fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none"
+       sodipodi:type="arc" />
+    <path
+       transform="matrix(-0.54173473,-0.3954267,-0.25709444,0.83322058,131.33797,-105.77486)"
+       d="m -74.745762,103.72881 c 0,2.52741 -1.024433,4.57627 -2.288135,4.57627 -1.263703,0 -2.288136,-2.04886 -2.288136,-4.57627 0,-2.5274 1.024433,-4.576268 2.288136,-4.576268 1.263702,0 2.288135,2.048868 2.288135,4.576268 z"
+       sodipodi:ry="4.5762715"
+       sodipodi:rx="2.2881358"
+       sodipodi:cy="103.72881"
+       sodipodi:cx="-77.033897"
+       id="path7309-7-5-9-5-2-3-5-4-3-1-39"
+       style="opacity:0.50879995;fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none"
+       sodipodi:type="arc" />
+    <path
+       transform="matrix(-0.54173473,-0.3954267,-0.25709444,0.83322058,214.54084,-1.3396008)"
+       d="m -74.745762,103.72881 c 0,2.52741 -1.024433,4.57627 -2.288135,4.57627 -1.263703,0 -2.288136,-2.04886 -2.288136,-4.57627 0,-2.5274 1.024433,-4.576268 2.288136,-4.576268 1.263702,0 2.288135,2.048868 2.288135,4.576268 z"
+       sodipodi:ry="4.5762715"
+       sodipodi:rx="2.2881358"
+       sodipodi:cy="103.72881"
+       sodipodi:cx="-77.033897"
+       id="path7309-74-7"
+       style="opacity:0.50879995;fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none"
+       sodipodi:type="arc" />
+    <path
+       transform="matrix(0.54173473,-0.3954267,0.25709444,0.83322058,222.21373,-47.072616)"
+       d="m -74.745762,103.72881 c 0,2.52741 -1.024433,4.57627 -2.288135,4.57627 -1.263703,0 -2.288136,-2.04886 -2.288136,-4.57627 0,-2.5274 1.024433,-4.576268 2.288136,-4.576268 1.263702,0 2.288135,2.048868 2.288135,4.576268 z"
+       sodipodi:ry="4.5762715"
+       sodipodi:rx="2.2881358"
+       sodipodi:cy="103.72881"
+       sodipodi:cx="-77.033897"
+       id="path7309-7-1-2"
+       style="opacity:0.50879995;fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none"
+       sodipodi:type="arc" />
+    <path
+       transform="matrix(-0.54173473,-0.3954267,-0.25709444,0.83322058,156.05786,93.089866)"
+       d="m -74.745762,103.72881 c 0,2.52741 -1.024433,4.57627 -2.288135,4.57627 -1.263703,0 -2.288136,-2.04886 -2.288136,-4.57627 0,-2.5274 1.024433,-4.576268 2.288136,-4.576268 1.263702,0 2.288135,2.048868 2.288135,4.576268 z"
+       sodipodi:ry="4.5762715"
+       sodipodi:rx="2.2881358"
+       sodipodi:cy="103.72881"
+       sodipodi:cx="-77.033897"
+       id="path7309-7-5-9-8-58"
+       style="opacity:0.50879995;fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none"
+       sodipodi:type="arc" />
+    <path
+       transform="matrix(0.54173473,-0.3954267,0.25709444,0.83322058,184.94882,-47.600392)"
+       d="m -74.745762,103.72881 c 0,2.52741 -1.024433,4.57627 -2.288135,4.57627 -1.263703,0 -2.288136,-2.04886 -2.288136,-4.57627 0,-2.5274 1.024433,-4.576268 2.288136,-4.576268 1.263702,0 2.288135,2.048868 2.288135,4.576268 z"
+       sodipodi:ry="4.5762715"
+       sodipodi:rx="2.2881358"
+       sodipodi:cy="103.72881"
+       sodipodi:cx="-77.033897"
+       id="path7309-7-5-9-5-5-9"
+       style="opacity:0.50879995;fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none"
+       sodipodi:type="arc" />
+    <path
+       transform="matrix(-0.54173473,-0.3954267,-0.25709444,0.83322058,113.26926,114.8096)"
+       d="m -74.745762,103.72881 c 0,2.52741 -1.024433,4.57627 -2.288135,4.57627 -1.263703,0 -2.288136,-2.04886 -2.288136,-4.57627 0,-2.5274 1.024433,-4.576268 2.288136,-4.576268 1.263702,0 2.288135,2.048868 2.288135,4.576268 z"
+       sodipodi:ry="4.5762715"
+       sodipodi:rx="2.2881358"
+       sodipodi:cy="103.72881"
+       sodipodi:cx="-77.033897"
+       id="path7309-7-5-9-5-2-9-0"
+       style="opacity:0.50879995;fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none"
+       sodipodi:type="arc" />
+    <path
+       transform="matrix(0.54173473,-0.3954267,0.25709444,0.83322058,135.81205,14.052233)"
+       d="m -74.745762,103.72881 c 0,2.52741 -1.024433,4.57627 -2.288135,4.57627 -1.263703,0 -2.288136,-2.04886 -2.288136,-4.57627 0,-2.5274 1.024433,-4.576268 2.288136,-4.576268 1.263702,0 2.288135,2.048868 2.288135,4.576268 z"
+       sodipodi:ry="4.5762715"
+       sodipodi:rx="2.2881358"
+       sodipodi:cy="103.72881"
+       sodipodi:cx="-77.033897"
+       id="path7309-7-5-9-5-2-3-7-2"
+       style="opacity:0.50879995;fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none"
+       sodipodi:type="arc" />
+    <path
+       transform="matrix(-0.54173473,-0.3954267,-0.25709444,0.83322058,201.50517,80.230526)"
+       d="m -74.745762,103.72881 c 0,2.52741 -1.024433,4.57627 -2.288135,4.57627 -1.263703,0 -2.288136,-2.04886 -2.288136,-4.57627 0,-2.5274 1.024433,-4.576268 2.288136,-4.576268 1.263702,0 2.288135,2.048868 2.288135,4.576268 z"
+       sodipodi:ry="4.5762715"
+       sodipodi:rx="2.2881358"
+       sodipodi:cy="103.72881"
+       sodipodi:cx="-77.033897"
+       id="path7309-7-5-9-5-2-3-5-5-4"
+       style="opacity:0.50879995;fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none"
+       sodipodi:type="arc" />
+    <path
+       transform="matrix(0.54173473,-0.3954267,0.25709444,0.83322058,97.00118,80.340996)"
+       d="m -74.745762,103.72881 c 0,2.52741 -1.024433,4.57627 -2.288135,4.57627 -1.263703,0 -2.288136,-2.04886 -2.288136,-4.57627 0,-2.5274 1.024433,-4.576268 2.288136,-4.576268 1.263702,0 2.288135,2.048868 2.288135,4.576268 z"
+       sodipodi:ry="4.5762715"
+       sodipodi:rx="2.2881358"
+       sodipodi:cy="103.72881"
+       sodipodi:cx="-77.033897"
+       id="path7309-7-5-9-5-2-3-5-4-38-7"
+       style="opacity:0.50879995;fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none"
+       sodipodi:type="arc" />
+    <path
+       transform="matrix(-0.54173473,-0.3954267,-0.25709444,0.83322058,74.8708,-27.846868)"
+       d="m -74.745762,103.72881 c 0,2.52741 -1.024433,4.57627 -2.288135,4.57627 -1.263703,0 -2.288136,-2.04886 -2.288136,-4.57627 0,-2.5274 1.024433,-4.576268 2.288136,-4.576268 1.263702,0 2.288135,2.048868 2.288135,4.576268 z"
+       sodipodi:ry="4.5762715"
+       sodipodi:rx="2.2881358"
+       sodipodi:cy="103.72881"
+       sodipodi:cx="-77.033897"
+       id="path7309-7-5-9-5-2-3-5-4-3-8-6"
+       style="opacity:0.50879995;fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none"
+       sodipodi:type="arc" />
+    <path
+       transform="matrix(0.54173473,-0.3954267,0.25709444,0.83322058,125.75391,-93.350442)"
+       d="m -74.745762,103.72881 c 0,2.52741 -1.024433,4.57627 -2.288135,4.57627 -1.263703,0 -2.288136,-2.04886 -2.288136,-4.57627 0,-2.5274 1.024433,-4.576268 2.288136,-4.576268 1.263702,0 2.288135,2.048868 2.288135,4.576268 z"
+       sodipodi:ry="4.5762715"
+       sodipodi:rx="2.2881358"
+       sodipodi:cy="103.72881"
+       sodipodi:cx="-77.033897"
+       id="path7309-7-5-9-5-2-3-5-4-3-1-3-5"
+       style="opacity:0.50879995;fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none"
+       sodipodi:type="arc" />
+    <path
+       transform="matrix(-0.54173473,-0.3954267,-0.25709444,0.83322058,32.19821,75.374751)"
+       d="m -74.745762,103.72881 c 0,2.52741 -1.024433,4.57627 -2.288135,4.57627 -1.263703,0 -2.288136,-2.04886 -2.288136,-4.57627 0,-2.5274 1.024433,-4.576268 2.288136,-4.576268 1.263702,0 2.288135,2.048868 2.288135,4.576268 z"
+       sodipodi:ry="4.5762715"
+       sodipodi:rx="2.2881358"
+       sodipodi:cy="103.72881"
+       sodipodi:cx="-77.033897"
+       id="path7309-7-5-9-5-2-0-7"
+       style="opacity:0.50879995;fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none"
+       sodipodi:type="arc" />
+    <path
+       transform="matrix(0.54173473,-0.3954267,0.25709444,0.83322058,31.09286,89.955298)"
+       d="m -74.745762,103.72881 c 0,2.52741 -1.024433,4.57627 -2.288135,4.57627 -1.263703,0 -2.288136,-2.04886 -2.288136,-4.57627 0,-2.5274 1.024433,-4.576268 2.288136,-4.576268 1.263702,0 2.288135,2.048868 2.288135,4.576268 z"
+       sodipodi:ry="4.5762715"
+       sodipodi:rx="2.2881358"
+       sodipodi:cy="103.72881"
+       sodipodi:cx="-77.033897"
+       id="path7309-7-5-9-8-5-1"
+       style="opacity:0.50879995;fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none"
+       sodipodi:type="arc" />
+    <path
+       transform="matrix(0.54173473,-0.3954267,0.25709444,0.83322058,70.91349,110.90484)"
+       d="m -74.745762,103.72881 c 0,2.52741 -1.024433,4.57627 -2.288135,4.57627 -1.263703,0 -2.288136,-2.04886 -2.288136,-4.57627 0,-2.5274 1.024433,-4.576268 2.288136,-4.576268 1.263702,0 2.288135,2.048868 2.288135,4.576268 z"
+       sodipodi:ry="4.5762715"
+       sodipodi:rx="2.2881358"
+       sodipodi:cy="103.72881"
+       sodipodi:cx="-77.033897"
+       id="path7309-7-5-9-5-2-9-9-3"
+       style="opacity:0.50879995;fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none"
+       sodipodi:type="arc" />
+    <path
+       transform="matrix(-0.54173473,-0.3954267,-0.25709444,0.83322058,34.17129,-66.115345)"
+       d="m -74.745762,103.72881 c 0,2.52741 -1.024433,4.57627 -2.288135,4.57627 -1.263703,0 -2.288136,-2.04886 -2.288136,-4.57627 0,-2.5274 1.024433,-4.576268 2.288136,-4.576268 1.263702,0 2.288135,2.048868 2.288135,4.576268 z"
+       sodipodi:ry="4.5762715"
+       sodipodi:rx="2.2881358"
+       sodipodi:cy="103.72881"
+       sodipodi:cx="-77.033897"
+       id="path7309-7-5-9-5-2-3-5-4-3-0-3"
+       style="opacity:0.50879995;fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none"
+       sodipodi:type="arc" />
+    <path
+       transform="matrix(-0.54173473,-0.3954267,-0.25709444,0.83322058,5.30853,-49.040812)"
+       d="m -74.745762,103.72881 c 0,2.52741 -1.024433,4.57627 -2.288135,4.57627 -1.263703,0 -2.288136,-2.04886 -2.288136,-4.57627 0,-2.5274 1.024433,-4.576268 2.288136,-4.576268 1.263702,0 2.288135,2.048868 2.288135,4.576268 z"
+       sodipodi:ry="4.5762715"
+       sodipodi:rx="2.2881358"
+       sodipodi:cy="103.72881"
+       sodipodi:cx="-77.033897"
+       id="path7309-7-1-5-8"
+       style="opacity:0.50879995;fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none"
+       sodipodi:type="arc" />
+    <path
+       transform="matrix(-0.54173473,-0.3954267,-0.25709444,0.83322058,30.70157,-20.301408)"
+       d="m -74.745762,103.72881 c 0,2.52741 -1.024433,4.57627 -2.288135,4.57627 -1.263703,0 -2.288136,-2.04886 -2.288136,-4.57627 0,-2.5274 1.024433,-4.576268 2.288136,-4.576268 1.263702,0 2.288135,2.048868 2.288135,4.576268 z"
+       sodipodi:ry="4.5762715"
+       sodipodi:rx="2.2881358"
+       sodipodi:cy="103.72881"
+       sodipodi:cx="-77.033897"
+       id="path7309-7-5-9-5-5-0-5"
+       style="opacity:0.50879995;fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none"
+       sodipodi:type="arc" />
+  </g>
+</svg>
Binary file share/hedgewars/Data/Themes/Fruit/LandTex.png has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/share/hedgewars/Data/Themes/Fruit/LandTex.svg	Tue Jun 04 22:28:12 2013 +0200
@@ -0,0 +1,462 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   id="svg2"
+   version="1.1"
+   inkscape:version="0.48.3.1 r9886"
+   width="240"
+   height="240"
+   sodipodi:docname="LandTex.svg"
+   inkscape:export-filename="/home/ranitas/LandTex.png"
+   inkscape:export-xdpi="180"
+   inkscape:export-ydpi="180">
+  <metadata
+     id="metadata8">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+        <dc:title></dc:title>
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <defs
+     id="defs6" />
+  <sodipodi:namedview
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1"
+     objecttolerance="10"
+     gridtolerance="10"
+     guidetolerance="10"
+     inkscape:pageopacity="0"
+     inkscape:pageshadow="2"
+     inkscape:window-width="959"
+     inkscape:window-height="744"
+     id="namedview4"
+     showgrid="false"
+     inkscape:zoom="1.4142136"
+     inkscape:cx="197.60139"
+     inkscape:cy="139.98653"
+     inkscape:window-x="65"
+     inkscape:window-y="24"
+     inkscape:window-maximized="1"
+     inkscape:current-layer="svg2" />
+  <rect
+     style="fill:#007800;fill-opacity:1;fill-rule:evenodd;stroke:none"
+     id="rect6362-2"
+     width="242.12071"
+     height="240"
+     x="-2"
+     y="1.5258789e-05" />
+  <path
+     style="fill:#006900;fill-opacity:1;fill-rule:evenodd;stroke:none"
+     d="m -2,67.454553 0.1872007,-44.682327 1.7001611,0 c 0.9350872,0 5.5966192,1.621355 10.3589482,3.603012 11.752825,4.89047 20.393945,10.505717 26.818911,17.427682 5.177567,5.578068 11.069161,9.76464 15.85815,11.268806 1.717635,0.539489 5.40384,0.851047 9.463731,0.799867 8.397503,-0.105872 12.883942,-1.536394 33.324608,-10.625775 20.72365,-9.215217 30.14616,-11.964634 40.9751,-11.956226 6.2275,0.0049 10.78816,0.889173 30.0571,5.828293 19.21745,4.925924 24.07955,3.316632 34.52243,2.837087 10.4291,-0.478906 14.02718,-4.202139 22.18689,-9.471017 4.68033,-3.022177 5.07613,-2.594834 9.5805,-7.574602 1.91189,-2.113685 6.93102,-2.36944 7.08698,-2.36944 0.15599,0 0,62.388826 0,86.964117 0,0 -7.90828,-5.1699 -19.55779,-1.11041 -38.85174,13.53861 -67.84012,5.10113 -101.13767,6.66942 C 83.126555,116.77276 40.126713,140.39512 10.464473,113.4579 6.0372003,109.43735 0.1833992,116.73239 -1.5345691,107.78588 -1.8855187,94.859569 -2,67.454553 -2,67.454553 z"
+     id="path8825-2"
+     inkscape:connector-curvature="0"
+     sodipodi:nodetypes="ccsssssssssssccssscc" />
+  <path
+     style="fill:#005500;fill-opacity:1;fill-rule:evenodd;stroke:none"
+     d="m -1.9999898,104.11919 c 15.0997808,-6.400835 10.4779488,9.65741 34.2989348,16.23088 24.863609,6.86114 63.05375,-5.85136 83.596995,-5.77583 21.00341,0.077 85.61529,-3.01755 111.29794,-9.16188 10.35355,-2.47696 12.92683,-1.87786 12.92683,-1.87786 l 0,75.92721 c 0,0 -5.91279,-3.39184 -16.17637,5.1466 -25.45341,21.17505 -52.06946,10.2199 -92.20894,10.55268 -35.526705,0.29447 -66.885465,5.28102 -109.206335,-3.16757 C 11.165768,189.72493 7.3086609,178.26762 -2,179.46171 c 0.3714865,-36.7001 0.2755784,-58.08059 0,-75.34252 z"
+     id="path8829-7"
+     inkscape:connector-curvature="0"
+     sodipodi:nodetypes="csssccsssccc" />
+  <g
+     id="g4094"
+     transform="matrix(1.1298943,0,0,1,-17.696501,11.237427)">
+    <path
+       transform="matrix(0.07239434,-0.02732889,0.037041,0.1144023,26.89849,170.0357)"
+       sodipodi:open="true"
+       sodipodi:end="6.2714539"
+       sodipodi:start="0"
+       d="m 76.223709,211.41611 c 0,15.98502 -9.3365,28.94343 -20.853657,28.94343 -11.517156,0 -20.853656,-12.95841 -20.853656,-28.94343 0,-15.98502 9.3365,-28.94344 20.853656,-28.94344 11.421734,0 20.718232,12.75241 20.852222,28.6039"
+       sodipodi:ry="28.943438"
+       sodipodi:rx="20.853657"
+       sodipodi:cy="211.41611"
+       sodipodi:cx="55.370052"
+       id="path4642"
+       style="opacity:0.1971326;fill:#e6e6e6;fill-opacity:1;fill-rule:evenodd;stroke:#0a190d;stroke-width:5.79517746;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+       sodipodi:type="arc" />
+    <path
+       transform="matrix(-0.07239434,-0.02732889,-0.037041,0.1144023,96.00332,152.69877)"
+       sodipodi:open="true"
+       sodipodi:end="6.2714539"
+       sodipodi:start="0"
+       d="m 76.223709,211.41611 c 0,15.98502 -9.3365,28.94343 -20.853657,28.94343 -11.517156,0 -20.853656,-12.95841 -20.853656,-28.94343 0,-15.98502 9.3365,-28.94344 20.853656,-28.94344 11.421734,0 20.718232,12.75241 20.852222,28.6039"
+       sodipodi:ry="28.943438"
+       sodipodi:rx="20.853657"
+       sodipodi:cy="211.41611"
+       sodipodi:cx="55.370052"
+       id="path4642-2"
+       style="opacity:0.1971326;fill:#e6e6e6;fill-opacity:1;fill-rule:evenodd;stroke:#0a190d;stroke-width:5.79517746;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+       sodipodi:type="arc" />
+    <path
+       transform="matrix(0.02694078,-0.07343725,-0.11277764,-0.03757461,177.39469,123.4436)"
+       sodipodi:open="true"
+       sodipodi:end="6.2714539"
+       sodipodi:start="0"
+       d="m 76.223709,211.41611 c 0,15.98502 -9.3365,28.94343 -20.853657,28.94343 -11.517156,0 -20.853656,-12.95841 -20.853656,-28.94343 0,-15.98502 9.3365,-28.94344 20.853656,-28.94344 11.421734,0 20.718232,12.75241 20.852222,28.6039"
+       sodipodi:ry="28.943438"
+       sodipodi:rx="20.853657"
+       sodipodi:cy="211.41611"
+       sodipodi:cx="55.370052"
+       id="path4642-9"
+       style="opacity:0.1971326;fill:#e6e6e6;fill-opacity:1;fill-rule:evenodd;stroke:#0a190d;stroke-width:5.79517746;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+       sodipodi:type="arc" />
+    <path
+       transform="matrix(0.02694078,0.07343725,-0.11277764,0.03757461,131.96895,82.086464)"
+       sodipodi:open="true"
+       sodipodi:end="6.2714539"
+       sodipodi:start="0"
+       d="m 76.223709,211.41611 c 0,15.98502 -9.3365,28.94343 -20.853657,28.94343 -11.517156,0 -20.853656,-12.95841 -20.853656,-28.94343 0,-15.98502 9.3365,-28.94344 20.853656,-28.94344 11.421734,0 20.718232,12.75241 20.852222,28.6039"
+       sodipodi:ry="28.943438"
+       sodipodi:rx="20.853657"
+       sodipodi:cy="211.41611"
+       sodipodi:cx="55.370052"
+       id="path4642-2-8"
+       style="opacity:0.1971326;fill:#e6e6e6;fill-opacity:1;fill-rule:evenodd;stroke:#0a190d;stroke-width:5.79517746;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+       sodipodi:type="arc" />
+    <path
+       transform="matrix(-0.07239434,-0.02732889,-0.037041,0.1144023,186.20497,154.78254)"
+       sodipodi:open="true"
+       sodipodi:end="6.2714539"
+       sodipodi:start="0"
+       d="m 76.223709,211.41611 c 0,15.98502 -9.3365,28.94343 -20.853657,28.94343 -11.517156,0 -20.853656,-12.95841 -20.853656,-28.94343 0,-15.98502 9.3365,-28.94344 20.853656,-28.94344 11.421734,0 20.718232,12.75241 20.852222,28.6039"
+       sodipodi:ry="28.943438"
+       sodipodi:rx="20.853657"
+       sodipodi:cy="211.41611"
+       sodipodi:cx="55.370052"
+       id="path4642-9-6"
+       style="opacity:0.1971326;fill:#e6e6e6;fill-opacity:1;fill-rule:evenodd;stroke:#0a190d;stroke-width:5.79517746;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+       sodipodi:type="arc" />
+    <path
+       transform="matrix(0.07239434,-0.02732889,0.037041,0.1144023,117.10014,137.44561)"
+       sodipodi:open="true"
+       sodipodi:end="6.2714539"
+       sodipodi:start="0"
+       d="m 76.223709,211.41611 c 0,15.98502 -9.3365,28.94343 -20.853657,28.94343 -11.517156,0 -20.853656,-12.95841 -20.853656,-28.94343 0,-15.98502 9.3365,-28.94344 20.853656,-28.94344 11.421734,0 20.718232,12.75241 20.852222,28.6039"
+       sodipodi:ry="28.943438"
+       sodipodi:rx="20.853657"
+       sodipodi:cy="211.41611"
+       sodipodi:cx="55.370052"
+       id="path4642-2-8-8"
+       style="opacity:0.1971326;fill:#e6e6e6;fill-opacity:1;fill-rule:evenodd;stroke:#0a190d;stroke-width:5.79517746;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+       sodipodi:type="arc" />
+    <path
+       transform="matrix(0.02694078,-0.07343725,-0.11277764,-0.03757461,208.12515,43.269483)"
+       sodipodi:open="true"
+       sodipodi:end="6.2714539"
+       sodipodi:start="0"
+       d="m 76.223709,211.41611 c 0,15.98502 -9.3365,28.94343 -20.853657,28.94343 -11.517156,0 -20.853656,-12.95841 -20.853656,-28.94343 0,-15.98502 9.3365,-28.94344 20.853656,-28.94344 11.421734,0 20.718232,12.75241 20.852222,28.6039"
+       sodipodi:ry="28.943438"
+       sodipodi:rx="20.853657"
+       sodipodi:cy="211.41611"
+       sodipodi:cx="55.370052"
+       id="path4642-9-63"
+       style="opacity:0.1971326;fill:#e6e6e6;fill-opacity:1;fill-rule:evenodd;stroke:#0a190d;stroke-width:5.79517746;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+       sodipodi:type="arc" />
+    <path
+       transform="matrix(0.02694078,0.07343725,-0.11277764,0.03757461,162.69941,1.9123473)"
+       sodipodi:open="true"
+       sodipodi:end="6.2714539"
+       sodipodi:start="0"
+       d="m 76.223709,211.41611 c 0,15.98502 -9.3365,28.94343 -20.853657,28.94343 -11.517156,0 -20.853656,-12.95841 -20.853656,-28.94343 0,-15.98502 9.3365,-28.94344 20.853656,-28.94344 11.421734,0 20.718232,12.75241 20.852222,28.6039"
+       sodipodi:ry="28.943438"
+       sodipodi:rx="20.853657"
+       sodipodi:cy="211.41611"
+       sodipodi:cx="55.370052"
+       id="path4642-2-8-2"
+       style="opacity:0.1971326;fill:#e6e6e6;fill-opacity:1;fill-rule:evenodd;stroke:#0a190d;stroke-width:5.79517746;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+       sodipodi:type="arc" />
+    <path
+       transform="matrix(-0.07239434,-0.02732889,-0.037041,0.1144023,216.93543,74.608424)"
+       sodipodi:open="true"
+       sodipodi:end="6.2714539"
+       sodipodi:start="0"
+       d="m 76.223709,211.41611 c 0,15.98502 -9.3365,28.94343 -20.853657,28.94343 -11.517156,0 -20.853656,-12.95841 -20.853656,-28.94343 0,-15.98502 9.3365,-28.94344 20.853656,-28.94344 11.421734,0 20.718232,12.75241 20.852222,28.6039"
+       sodipodi:ry="28.943438"
+       sodipodi:rx="20.853657"
+       sodipodi:cy="211.41611"
+       sodipodi:cx="55.370052"
+       id="path4642-9-6-6"
+       style="opacity:0.1971326;fill:#e6e6e6;fill-opacity:1;fill-rule:evenodd;stroke:#0a190d;stroke-width:5.79517746;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+       sodipodi:type="arc" />
+    <path
+       transform="matrix(0.07239434,-0.02732889,0.037041,0.1144023,147.8306,57.2715)"
+       sodipodi:open="true"
+       sodipodi:end="6.2714539"
+       sodipodi:start="0"
+       d="m 76.223709,211.41611 c 0,15.98502 -9.3365,28.94343 -20.853657,28.94343 -11.517156,0 -20.853656,-12.95841 -20.853656,-28.94343 0,-15.98502 9.3365,-28.94344 20.853656,-28.94344 11.421734,0 20.718232,12.75241 20.852222,28.6039"
+       sodipodi:ry="28.943438"
+       sodipodi:rx="20.853657"
+       sodipodi:cy="211.41611"
+       sodipodi:cx="55.370052"
+       id="path4642-2-8-8-3"
+       style="opacity:0.1971326;fill:#e6e6e6;fill-opacity:1;fill-rule:evenodd;stroke:#0a190d;stroke-width:5.79517746;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+       sodipodi:type="arc" />
+    <path
+       transform="matrix(0.02694078,-0.07343725,-0.11277764,-0.03757461,93.2099,72.154264)"
+       sodipodi:open="true"
+       sodipodi:end="6.2714539"
+       sodipodi:start="0"
+       d="m 76.223709,211.41611 c 0,15.98502 -9.3365,28.94343 -20.853657,28.94343 -11.517156,0 -20.853656,-12.95841 -20.853656,-28.94343 0,-15.98502 9.3365,-28.94344 20.853656,-28.94344 11.421734,0 20.718232,12.75241 20.852222,28.6039"
+       sodipodi:ry="28.943438"
+       sodipodi:rx="20.853657"
+       sodipodi:cy="211.41611"
+       sodipodi:cx="55.370052"
+       id="path4642-9-63-6"
+       style="opacity:0.1971326;fill:#e6e6e6;fill-opacity:1;fill-rule:evenodd;stroke:#0a190d;stroke-width:5.79517746;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+       sodipodi:type="arc" />
+    <path
+       transform="matrix(0.02694078,0.07343725,-0.11277764,0.03757461,47.78416,30.797124)"
+       sodipodi:open="true"
+       sodipodi:end="6.2714539"
+       sodipodi:start="0"
+       d="m 76.223709,211.41611 c 0,15.98502 -9.3365,28.94343 -20.853657,28.94343 -11.517156,0 -20.853656,-12.95841 -20.853656,-28.94343 0,-15.98502 9.3365,-28.94344 20.853656,-28.94344 11.421734,0 20.718232,12.75241 20.852222,28.6039"
+       sodipodi:ry="28.943438"
+       sodipodi:rx="20.853657"
+       sodipodi:cy="211.41611"
+       sodipodi:cx="55.370052"
+       id="path4642-2-8-2-2"
+       style="opacity:0.1971326;fill:#e6e6e6;fill-opacity:1;fill-rule:evenodd;stroke:#0a190d;stroke-width:5.79517746;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+       sodipodi:type="arc" />
+    <path
+       transform="matrix(-0.07239434,-0.02732889,-0.037041,0.1144023,102.02018,103.4932)"
+       sodipodi:open="true"
+       sodipodi:end="6.2714539"
+       sodipodi:start="0"
+       d="m 76.223709,211.41611 c 0,15.98502 -9.3365,28.94343 -20.853657,28.94343 -11.517156,0 -20.853656,-12.95841 -20.853656,-28.94343 0,-15.98502 9.3365,-28.94344 20.853656,-28.94344 11.421734,0 20.718232,12.75241 20.852222,28.6039"
+       sodipodi:ry="28.943438"
+       sodipodi:rx="20.853657"
+       sodipodi:cy="211.41611"
+       sodipodi:cx="55.370052"
+       id="path4642-9-6-6-0"
+       style="opacity:0.1971326;fill:#e6e6e6;fill-opacity:1;fill-rule:evenodd;stroke:#0a190d;stroke-width:5.79517746;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+       sodipodi:type="arc" />
+    <path
+       transform="matrix(0.07239434,-0.02732889,0.037041,0.1144023,32.91535,86.156274)"
+       sodipodi:open="true"
+       sodipodi:end="6.2714539"
+       sodipodi:start="0"
+       d="m 76.223709,211.41611 c 0,15.98502 -9.3365,28.94343 -20.853657,28.94343 -11.517156,0 -20.853656,-12.95841 -20.853656,-28.94343 0,-15.98502 9.3365,-28.94344 20.853656,-28.94344 11.421734,0 20.718232,12.75241 20.852222,28.6039"
+       sodipodi:ry="28.943438"
+       sodipodi:rx="20.853657"
+       sodipodi:cy="211.41611"
+       sodipodi:cx="55.370052"
+       id="path4642-2-8-8-3-5"
+       style="opacity:0.1971326;fill:#e6e6e6;fill-opacity:1;fill-rule:evenodd;stroke:#0a190d;stroke-width:5.79517746;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+       sodipodi:type="arc" />
+    <path
+       transform="matrix(0.02694078,0.07343725,-0.11277764,0.03757461,176.93669,126.73584)"
+       sodipodi:open="true"
+       sodipodi:end="6.2714539"
+       sodipodi:start="0"
+       d="m 76.223709,211.41611 c 0,15.98502 -9.3365,28.94343 -20.853657,28.94343 -11.517156,0 -20.853656,-12.95841 -20.853656,-28.94343 0,-15.98502 9.3365,-28.94344 20.853656,-28.94344 11.421734,0 20.718232,12.75241 20.852222,28.6039"
+       sodipodi:ry="28.943438"
+       sodipodi:rx="20.853657"
+       sodipodi:cy="211.41611"
+       sodipodi:cx="55.370052"
+       id="path4642-2-8-2-2-8"
+       style="opacity:0.1971326;fill:#e6e6e6;fill-opacity:1;fill-rule:evenodd;stroke:#0a190d;stroke-width:5.79517746;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+       sodipodi:type="arc" />
+    <path
+       transform="matrix(-0.07239434,-0.02732889,-0.037041,0.1144023,231.17272,199.43192)"
+       sodipodi:open="true"
+       sodipodi:end="6.2714539"
+       sodipodi:start="0"
+       d="m 76.223709,211.41611 c 0,15.98502 -9.3365,28.94343 -20.853657,28.94343 -11.517156,0 -20.853656,-12.95841 -20.853656,-28.94343 0,-15.98502 9.3365,-28.94344 20.853656,-28.94344 11.421734,0 20.718232,12.75241 20.852222,28.6039"
+       sodipodi:ry="28.943438"
+       sodipodi:rx="20.853657"
+       sodipodi:cy="211.41611"
+       sodipodi:cx="55.370052"
+       id="path4642-9-6-6-0-3"
+       style="opacity:0.1971326;fill:#e6e6e6;fill-opacity:1;fill-rule:evenodd;stroke:#0a190d;stroke-width:5.79517746;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+       sodipodi:type="arc" />
+    <path
+       transform="matrix(0.07239434,-0.02732889,0.037041,0.1144023,162.06788,182.09499)"
+       sodipodi:open="true"
+       sodipodi:end="6.2714539"
+       sodipodi:start="0"
+       d="m 76.223709,211.41611 c 0,15.98502 -9.3365,28.94343 -20.853657,28.94343 -11.517156,0 -20.853656,-12.95841 -20.853656,-28.94343 0,-15.98502 9.3365,-28.94344 20.853656,-28.94344 11.421734,0 20.718232,12.75241 20.852222,28.6039"
+       sodipodi:ry="28.943438"
+       sodipodi:rx="20.853657"
+       sodipodi:cy="211.41611"
+       sodipodi:cx="55.370052"
+       id="path4642-2-8-8-3-5-5"
+       style="opacity:0.1971326;fill:#e6e6e6;fill-opacity:1;fill-rule:evenodd;stroke:#0a190d;stroke-width:5.79517746;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+       sodipodi:type="arc" />
+    <path
+       transform="matrix(0.02694078,0.07343725,-0.11277764,0.03757461,75.24178,124.67265)"
+       sodipodi:open="true"
+       sodipodi:end="6.2714539"
+       sodipodi:start="0"
+       d="m 76.223709,211.41611 c 0,15.98502 -9.3365,28.94343 -20.853657,28.94343 -11.517156,0 -20.853656,-12.95841 -20.853656,-28.94343 0,-15.98502 9.3365,-28.94344 20.853656,-28.94344 11.421734,0 20.718232,12.75241 20.852222,28.6039"
+       sodipodi:ry="28.943438"
+       sodipodi:rx="20.853657"
+       sodipodi:cy="211.41611"
+       sodipodi:cx="55.370052"
+       id="path4642-2-8-2-2-8-0"
+       style="opacity:0.1971326;fill:#e6e6e6;fill-opacity:1;fill-rule:evenodd;stroke:#0a190d;stroke-width:5.79517746;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+       sodipodi:type="arc" />
+    <path
+       transform="matrix(-0.07239434,-0.02732889,-0.037041,0.1144023,129.47781,197.36873)"
+       sodipodi:open="true"
+       sodipodi:end="6.2714539"
+       sodipodi:start="0"
+       d="m 76.223709,211.41611 c 0,15.98502 -9.3365,28.94343 -20.853657,28.94343 -11.517156,0 -20.853656,-12.95841 -20.853656,-28.94343 0,-15.98502 9.3365,-28.94344 20.853656,-28.94344 11.421734,0 20.718232,12.75241 20.852222,28.6039"
+       sodipodi:ry="28.943438"
+       sodipodi:rx="20.853657"
+       sodipodi:cy="211.41611"
+       sodipodi:cx="55.370052"
+       id="path4642-9-6-6-0-3-2"
+       style="opacity:0.1971326;fill:#e6e6e6;fill-opacity:1;fill-rule:evenodd;stroke:#0a190d;stroke-width:5.79517746;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+       sodipodi:type="arc" />
+    <path
+       transform="matrix(0.07239434,-0.02732889,0.037041,0.1144023,60.37297,180.0318)"
+       sodipodi:open="true"
+       sodipodi:end="6.2714539"
+       sodipodi:start="0"
+       d="m 76.223709,211.41611 c 0,15.98502 -9.3365,28.94343 -20.853657,28.94343 -11.517156,0 -20.853656,-12.95841 -20.853656,-28.94343 0,-15.98502 9.3365,-28.94344 20.853656,-28.94344 11.421734,0 20.718232,12.75241 20.852222,28.6039"
+       sodipodi:ry="28.943438"
+       sodipodi:rx="20.853657"
+       sodipodi:cy="211.41611"
+       sodipodi:cx="55.370052"
+       id="path4642-2-8-8-3-5-5-4"
+       style="opacity:0.1971326;fill:#e6e6e6;fill-opacity:1;fill-rule:evenodd;stroke:#0a190d;stroke-width:5.79517746;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+       sodipodi:type="arc" />
+    <path
+       transform="matrix(-0.02694078,0.07343725,0.11277764,0.03757461,70.77317,51.879468)"
+       sodipodi:open="true"
+       sodipodi:end="6.2714539"
+       sodipodi:start="0"
+       d="m 76.223709,211.41611 c 0,15.98502 -9.3365,28.94343 -20.853657,28.94343 -11.517156,0 -20.853656,-12.95841 -20.853656,-28.94343 0,-15.98502 9.3365,-28.94344 20.853656,-28.94344 11.421734,0 20.718232,12.75241 20.852222,28.6039"
+       sodipodi:ry="28.943438"
+       sodipodi:rx="20.853657"
+       sodipodi:cy="211.41611"
+       sodipodi:cx="55.370052"
+       id="path4642-9-63-6-5-1-7"
+       style="opacity:0.1971326;fill:#e6e6e6;fill-opacity:1;fill-rule:evenodd;stroke:#0a190d;stroke-width:5.79517746;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+       sodipodi:type="arc" />
+    <path
+       transform="matrix(-0.02694078,-0.07343725,0.11277764,-0.03757461,116.19893,93.236604)"
+       sodipodi:open="true"
+       sodipodi:end="6.2714539"
+       sodipodi:start="0"
+       d="m 76.223709,211.41611 c 0,15.98502 -9.3365,28.94343 -20.853657,28.94343 -11.517156,0 -20.853656,-12.95841 -20.853656,-28.94343 0,-15.98502 9.3365,-28.94344 20.853656,-28.94344 11.421734,0 20.718232,12.75241 20.852222,28.6039"
+       sodipodi:ry="28.943438"
+       sodipodi:rx="20.853657"
+       sodipodi:cy="211.41611"
+       sodipodi:cx="55.370052"
+       id="path4642-2-8-2-2-8-0-9"
+       style="opacity:0.1971326;fill:#e6e6e6;fill-opacity:1;fill-rule:evenodd;stroke:#0a190d;stroke-width:5.79517746;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+       sodipodi:type="arc" />
+    <path
+       transform="matrix(0.07239434,0.02732889,0.037041,-0.1144023,61.96289,20.540524)"
+       sodipodi:open="true"
+       sodipodi:end="6.2714539"
+       sodipodi:start="0"
+       d="m 76.223709,211.41611 c 0,15.98502 -9.3365,28.94343 -20.853657,28.94343 -11.517156,0 -20.853656,-12.95841 -20.853656,-28.94343 0,-15.98502 9.3365,-28.94344 20.853656,-28.94344 11.421734,0 20.718232,12.75241 20.852222,28.6039"
+       sodipodi:ry="28.943438"
+       sodipodi:rx="20.853657"
+       sodipodi:cy="211.41611"
+       sodipodi:cx="55.370052"
+       id="path4642-9-6-6-0-3-2-2"
+       style="opacity:0.1971326;fill:#e6e6e6;fill-opacity:1;fill-rule:evenodd;stroke:#0a190d;stroke-width:5.79517746;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+       sodipodi:type="arc" />
+    <path
+       transform="matrix(-0.07239434,0.02732889,-0.037041,-0.1144023,131.06773,37.877451)"
+       sodipodi:open="true"
+       sodipodi:end="6.2714539"
+       sodipodi:start="0"
+       d="m 76.223709,211.41611 c 0,15.98502 -9.3365,28.94343 -20.853657,28.94343 -11.517156,0 -20.853656,-12.95841 -20.853656,-28.94343 0,-15.98502 9.3365,-28.94344 20.853656,-28.94344 11.421734,0 20.718232,12.75241 20.852222,28.6039"
+       sodipodi:ry="28.943438"
+       sodipodi:rx="20.853657"
+       sodipodi:cy="211.41611"
+       sodipodi:cx="55.370052"
+       id="path4642-2-8-8-3-5-5-4-7"
+       style="opacity:0.1971326;fill:#e6e6e6;fill-opacity:1;fill-rule:evenodd;stroke:#0a190d;stroke-width:5.79517746;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+       sodipodi:type="arc" />
+  </g>
+  <path
+     style="fill:#6eab00;fill-opacity:1;stroke:#354b00;stroke-width:1.48919702;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
+     d="m 26.991263,122.01389 c 0,-11.35826 -7.842673,-23.905005 -9.284214,-35.727881 C 16.040721,72.61953 25.491641,57.149018 25.491641,44.019605 26.393947,30.350894 20.742837,17.139212 20.742837,3.6249996 l 0,-5.3803995 3.225252,0 3.22525,0 0,5.3803995 c -1.837153,13.8043924 5.328349,27.8250894 5.019737,40.1029874 -0.436437,9.065082 -9.8388,32.242107 -8.563751,43.10109 1.616625,11.643683 9.792441,24.062173 9.792441,35.184813 0,26.02756 -13.246664,43.99954 -13.246664,70.0271 -0.519947,14.80744 6.998237,28.71299 6.998237,43.33401 l 0,6.3804 -3.22525,0 -3.225252,0 0,-4.1304 0,-2.625 c 0.220685,-12.40328 -6.665416,-23.80402 -6.998238,-35.91037 0,-28.37711 13.246664,-48.69863 13.246664,-77.07574 z"
+     id="path3966"
+     inkscape:connector-curvature="0"
+     sodipodi:nodetypes="ssccccccccsccccccccs" />
+  <path
+     style="fill:#6eab00;fill-opacity:1;stroke:#354b00;stroke-width:1.48919702;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
+     d="m 108.60168,98.486116 c 0,11.358274 -15.657325,38.904994 -14.215795,50.727874 1.666335,13.66648 18.715415,34.63699 18.715415,47.76641 1.77557,13.53693 -9.7512,26.69557 -9.7512,39.26961 l 0,5.50539 -3.22524,0 -3.225261,0 0,-5.50539 c 0.235201,-13.52038 8.820341,-28.06255 9.480261,-38.978 0.43644,-9.06508 -16.661195,-37.7421 -17.936245,-48.60109 -1.61662,-11.64368 13.707555,-39.06216 13.707555,-50.184804 0,-26.02756 -12.253335,-28.99954 -12.253335,-55.0271 -0.40636,-13.6612 7.001764,-26.12426 7.001764,-39.5840099 l 0,-5.6304 3.225261,0 3.22524,0 0,5.5054 c 0.8124,11.7559299 -6.681704,21.2300199 -7.001758,32.6603799 0,28.37711 12.253338,33.69862 12.253338,62.07573 z"
+     id="path3966-1"
+     inkscape:connector-curvature="0"
+     sodipodi:nodetypes="ssccccccccscccccccs" />
+  <path
+     style="fill:#6eab00;fill-opacity:1;stroke:#354b00;stroke-width:1.48919702;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
+     d="m 68.97362,127.76389 c 0,-11.35826 -15.592677,-39.655008 -17.034218,-51.477878 -1.666328,-13.66648 10.534588,-33.63699 10.534588,-46.76641 0.90231,-13.66871 -6.4988,-12.38039 -6.4988,-25.8945997 l 0,-5.3804 3.22525,0 3.22525,0 0,5.3804 c -1.83715,13.8043897 7.07835,13.3250897 6.76974,25.6029897 -0.43644,9.06508 -12.588801,36.7421 -11.31375,47.60109 1.61662,11.64368 17.54244,39.812168 17.54244,50.934808 0,15.26111 -14.52986,22.94031 -13.10676,36.47903 1.00397,9.55134 11.3601,19.03162 11.3601,29.79807 -0.51995,14.80744 -11.25177,26.71299 -11.25177,41.33401 l 0,6.3804 -3.22525,0 -3.22525,0 0,-4.1304 0,-2.625 c 0.220685,-12.40328 11.58458,-21.80402 11.25176,-33.91037 0,-13.15442 -10.575141,-24.75757 -11.728646,-36.51589 -1.334871,-13.60708 13.475316,-21.58716 13.475316,-36.80985 z"
+     id="path3966-8"
+     inkscape:connector-curvature="0"
+     sodipodi:nodetypes="ssccccccccssccccccccss" />
+  <path
+     style="fill:#6eab00;fill-opacity:1;stroke:#354b00;stroke-width:1.48919702;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
+     d="m 222.92548,122.01389 c 0,-11.35826 -7.84268,-23.905006 -9.28422,-35.727876 -1.66633,-13.66648 7.78459,-29.13699 7.78459,-42.26641 0.90231,-13.66871 -4.7488,-26.88039 -4.7488,-40.3946004 l 0,-5.3804 3.22525,0 3.22525,0 0,5.3804 c -1.83715,13.8043904 5.32835,27.8250904 5.01974,40.1029904 -0.43644,9.06508 -9.8388,32.2421 -8.56375,43.10109 1.61662,11.64368 9.79244,24.062166 9.79244,35.184806 0,26.02756 -13.24667,43.99954 -13.24667,70.0271 -0.51994,14.80744 6.99824,28.71299 6.99824,43.33401 l 0,6.3804 -3.22525,0 -3.22525,0 0,-4.1304 0,-2.625 c 0.22068,-12.40328 -6.66542,-23.80402 -6.99824,-35.91037 0,-28.37711 13.24667,-48.69863 13.24667,-77.07574 z"
+     id="path3966-2"
+     inkscape:connector-curvature="0"
+     sodipodi:nodetypes="ssccccccccsccccccccs" />
+  <path
+     style="fill:#6eab00;fill-opacity:1;stroke:#354b00;stroke-width:1.48919702;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
+     d="m 188.11089,98.486114 c 0,11.358266 -15.65733,38.904986 -14.21579,50.727876 1.66633,13.66648 18.71541,34.63699 18.71541,47.76641 1.77557,13.53693 -9.75119,26.69557 -9.75119,39.2696 l 0,5.50539 -3.22525,0 -3.22526,0 0,-5.50539 c 0.2352,-13.52037 8.82034,-28.06254 9.48027,-38.97799 0.43644,-9.06508 -16.66121,-37.7421 -17.93626,-48.60109 -1.61662,-11.64369 13.70757,-39.06217 13.70757,-50.184806 0,-26.02756 -12.25335,-28.99954 -12.25335,-55.027101 -0.40636,-13.6612 7.00177,-26.12426 7.00177,-39.5840094 l 0,-5.6304 3.22526,0 3.22525,0 0,5.5054 c 0.81239,11.7559294 -6.68171,21.2300194 -7.00176,32.6603794 0,28.377111 12.25333,33.698621 12.25333,62.075731 z"
+     id="path3966-1-6"
+     inkscape:connector-curvature="0"
+     sodipodi:nodetypes="ssccccccccscccccccs" />
+  <path
+     style="fill:#6eab00;fill-opacity:1;stroke:#354b00;stroke-width:1.48919702;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
+     d="m 134.14695,127.76389 c 0,-11.35826 15.59268,-39.655006 17.03422,-51.477876 1.66633,-13.66648 -10.53459,-33.636991 -10.53459,-46.766411 -0.90231,-13.66871 6.4988,-12.38039 6.4988,-25.8945994 l 0,-5.3804 -3.22525,0 -3.22525,0 0,5.3804 c 1.83715,13.8043894 -7.07835,13.3250894 -6.76974,25.6029894 0.43644,9.06508 12.5888,36.742101 11.31375,47.601091 -1.61662,11.64368 -17.54244,39.812166 -17.54244,50.934806 0,15.26111 14.52986,22.94031 13.10676,36.47903 -1.00397,9.55134 -11.3601,19.03162 -11.3601,29.79807 0.51995,14.80744 11.25177,26.71299 11.25177,41.33401 l 0,6.3804 3.22525,0 3.22525,0 0,-4.1304 0,-2.625 c -0.22068,-12.40328 -11.58458,-21.80402 -11.25176,-33.91037 0,-13.15442 10.57514,-24.75757 11.72865,-36.51589 1.33487,-13.60708 -13.47532,-21.58716 -13.47532,-36.80985 z"
+     id="path3966-8-7"
+     inkscape:connector-curvature="0"
+     sodipodi:nodetypes="ssccccccccssccccccccss" />
+  <path
+     style="opacity:0.42000002;fill:#000000;fill-opacity:1;stroke:#354b00;stroke-width:1.46265709;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
+     d="m 30.52332,122.01389 c 0,-11.35826 -7.56563,-23.905009 -8.956247,-35.727883 C 19.959609,72.619528 29.076665,57.149016 29.076665,44.019603 29.947101,30.350892 24.49562,17.13921 24.49562,3.6249985 l 0,-5.380399 3.111316,0 3.111316,0 0,5.380399 C 28.946,17.42939 35.858374,31.450087 35.560666,43.727985 c -0.421022,9.065082 -9.491239,32.242107 -8.26123,43.10109 1.559512,11.643686 9.446516,24.062175 9.446516,35.184815 0,26.02756 -12.778718,43.99954 -12.778718,70.0271 -0.50158,14.80744 6.751018,28.71299 6.751018,43.33401 l 0,6.3804 -3.111316,0 -3.111316,0 0,-4.1304 0,-2.625 c 0.212889,-12.40328 -6.429956,-23.80402 -6.751021,-35.91037 0,-28.37711 12.778721,-48.69863 12.778721,-77.07574 z"
+     id="path3966-6"
+     inkscape:connector-curvature="0"
+     sodipodi:nodetypes="ssccccccccsccccccccs" />
+  <path
+     style="opacity:0.42000002;fill:#000000;fill-opacity:1;stroke:#354b00;stroke-width:1.44404352;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
+     d="m 71.178261,127.76389 c 0,-11.35826 -14.661451,-39.655009 -16.0169,-51.477882 -1.566811,-13.66648 9.90544,-33.63699 9.90544,-46.76641 0.848423,-13.66871 -6.110678,-12.38039 -6.110678,-25.8945985 l 0,-5.3804 3.032632,0 3.032631,0 0,5.3804 c -1.727432,13.8043885 6.655617,13.3250885 6.365438,25.6029885 -0.410375,9.06508 -11.836973,36.7421 -10.63807,47.60109 1.520072,11.643683 16.494769,39.812172 16.494769,50.934812 0,15.26111 -13.662107,22.94031 -12.323998,36.47903 0.944012,9.55134 10.681652,19.03162 10.681652,29.79807 -0.488897,14.80744 -10.579791,26.71299 -10.579791,41.33401 l 0,6.3804 -3.032631,0 -3.032632,0 0,-4.1304 0,-2.625 c 0.207505,-12.40328 10.892726,-21.80402 10.579782,-33.91037 0,-13.15442 -9.943572,-24.75757 -11.028187,-36.51589 -1.25515,-13.60708 12.670543,-21.58716 12.670543,-36.80985 z"
+     id="path3966-8-4"
+     inkscape:connector-curvature="0"
+     sodipodi:nodetypes="ssccccccccssccccccccss" />
+  <path
+     style="opacity:0.42000002;fill:#000000;fill-opacity:1;stroke:#354b00;stroke-width:1.48919702;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
+     d="m 112.62153,98.486122 c 0,11.358268 -15.657321,38.904988 -14.215791,50.727868 1.666331,13.66648 18.715411,34.63699 18.715411,47.76641 1.77557,13.53693 -9.7512,26.69557 -9.7512,39.26961 l 0,5.50539 -3.22524,0 -3.22526,0 0,-5.50539 c 0.2352,-13.52038 8.82034,-28.06255 9.48026,-38.978 0.43644,-9.06508 -16.661191,-37.7421 -17.936241,-48.60109 -1.61662,-11.64368 13.707551,-39.06216 13.707551,-50.184798 0,-26.027562 -12.253331,-28.999542 -12.253331,-55.027102 -0.40636,-13.6612 7.001761,-26.12426 7.001761,-39.584008 l 0,-5.6304 3.22526,0 3.22524,0 0,5.5054 c 0.8124,11.755928 -6.6817,21.230018 -7.00175,32.660378 0,28.37711 12.25333,33.69862 12.25333,62.075732 z"
+     id="path3966-1-2"
+     inkscape:connector-curvature="0"
+     sodipodi:nodetypes="ssccccccccscccccccs" />
+  <path
+     style="opacity:0.42000002;fill:#000000;fill-opacity:1;stroke:#354b00;stroke-width:1.44518554;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
+     d="m 137.4293,127.76389 c 0,-11.35826 14.68465,-39.655003 16.04224,-51.477873 1.5693,-13.66648 -9.92111,-33.636991 -9.92111,-46.76641 -0.84977,-13.668711 6.12035,-12.380391 6.12035,-25.8945995 l 0,-5.3804 -3.03743,0 -3.03743,0 0,5.3804 c 1.73016,13.8043885 -6.66615,13.3250885 -6.37551,25.6029895 0.41102,9.06508 11.8557,36.7421 10.6549,47.60109 -1.52248,11.64368 -16.52087,39.812163 -16.52087,50.934803 0,15.26111 13.68372,22.94031 12.3435,36.47903 -0.94551,9.55134 -10.69856,19.03162 -10.69856,29.79807 0.48968,14.80744 10.59654,26.71299 10.59654,41.33401 l 0,6.3804 3.03743,0 3.03743,0 0,-4.1304 0,-2.625 c -0.20783,-12.40328 -10.90996,-21.80402 -10.59653,-33.91037 0,-13.15442 9.95931,-24.75757 11.04564,-36.51589 1.25714,-13.60708 -12.69059,-21.58716 -12.69059,-36.80985 z"
+     id="path3966-8-7-8"
+     inkscape:connector-curvature="0"
+     sodipodi:nodetypes="ssccccccccssccccccccss" />
+  <path
+     style="opacity:0.42000002;fill:#000000;fill-opacity:1;stroke:#354b00;stroke-width:1.46899056;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
+     d="m 191.13477,98.486135 c 0,11.358255 -15.23532,38.904975 -13.83263,50.727865 1.62141,13.66648 18.21097,34.63699 18.21097,47.76641 1.72771,13.53693 -9.48837,26.69557 -9.48837,39.2696 l 0,5.50539 -3.13832,0 -3.13833,0 0,-5.50539 c 0.22886,-13.52037 8.58261,-28.06254 9.22475,-38.97799 0.42468,-9.06508 -16.21214,-37.7421 -17.45282,-48.60109 -1.57305,-11.64369 13.33811,-39.06217 13.33811,-50.184795 0,-26.027561 -11.92309,-28.999541 -11.92309,-55.027102 -0.3954,-13.6612 6.81305,-26.12426 6.81305,-39.5840095 l 0,-5.6303999 3.13833,0 3.13832,0 0,5.5053999 c 0.7905,11.7559295 -6.50161,21.2300195 -6.81304,32.6603795 0,28.377111 11.92307,33.698621 11.92307,62.075732 z"
+     id="path3966-1-6-5"
+     inkscape:connector-curvature="0"
+     sodipodi:nodetypes="ssccccccccscccccccs" />
+  <path
+     style="opacity:0.42000002;fill:#000000;fill-opacity:1;stroke:#354b00;stroke-width:1.48919702;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
+     d="m 226.57307,122.01389 c 0,-11.35826 -7.84268,-23.904999 -9.28422,-35.727866 -1.66633,-13.66648 7.78459,-29.13699 7.78459,-42.26641 0.90231,-13.66871 -4.7488,-26.88039 -4.7488,-40.3945995 l 0,-5.3804 3.22525,0 3.22525,0 0,5.3804 c -1.83715,13.8043895 5.32835,27.8250895 5.01974,40.1029895 -0.43644,9.06508 -9.8388,32.2421 -8.56375,43.10109 1.61662,11.643677 9.79244,24.062156 9.79244,35.184796 0,26.02756 -13.24667,43.99954 -13.24667,70.0271 -0.51994,14.80744 6.99824,28.71299 6.99824,43.33401 l 0,6.3804 -3.22525,0 -3.22525,0 0,-4.1304 0,-2.625 c 0.22068,-12.40328 -6.66542,-23.80402 -6.99824,-35.91037 0,-28.37711 13.24667,-48.69863 13.24667,-77.07574 z"
+     id="path3966-2-5"
+     inkscape:connector-curvature="0"
+     sodipodi:nodetypes="ssccccccccsccccccccs" />
+</svg>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/share/hedgewars/Data/Themes/Fruit/Orange.svg	Tue Jun 04 22:28:12 2013 +0200
@@ -0,0 +1,241 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   id="svg2"
+   version="1.1"
+   inkscape:version="0.48.3.1 r9886"
+   width="128"
+   height="112"
+   sodipodi:docname="Orange.svg"
+   inkscape:export-filename="Orange1.png"
+   inkscape:export-xdpi="90"
+   inkscape:export-ydpi="90">
+  <metadata
+     id="metadata8">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+        <dc:title></dc:title>
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <defs
+     id="defs6" />
+  <sodipodi:namedview
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1"
+     objecttolerance="10"
+     gridtolerance="10"
+     guidetolerance="10"
+     inkscape:pageopacity="0"
+     inkscape:pageshadow="2"
+     inkscape:window-width="959"
+     inkscape:window-height="744"
+     id="namedview4"
+     showgrid="false"
+     inkscape:zoom="1.489975"
+     inkscape:cx="88.580237"
+     inkscape:cy="95.117618"
+     inkscape:window-x="65"
+     inkscape:window-y="24"
+     inkscape:window-maximized="1"
+     inkscape:current-layer="g3957" />
+  <g
+     id="g3109"
+     transform="matrix(1.0331379,0,0,1.0130054,-3.3010509,-0.24371002)">
+    <g
+       transform="matrix(1.0329798,0,0,1.0764546,2.4775277,177.96782)"
+       id="g3957">
+      <path
+         style="fill:#fd872b;fill-opacity:1;stroke:#f57319;stroke-width:2;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
+         d="m 51.304166,-63.96069 c -10.207682,-0.867542 -20.243789,-4.635127 -27.999996,-10.511286 -2.10329,-1.593468 -6.881355,-5.843962 -6.881355,-6.072153 0,-0.08124 18.840677,-13.512632 38.677961,-32.747731 19.83729,-19.2351 37.32916,-36.21307 38.87083,-37.72882 l 2.80303,-2.7559 2.07438,2.15394 c 9.629134,9.99848 14.655504,23.78925 13.585994,37.2757 -0.99798,12.58457 -6.00751,23.602736 -14.946894,32.874798 -9.18635,9.528232 -21.44213,15.631508 -34.65945,17.260116 -2.89562,0.356791 -8.77499,0.485012 -11.5245,0.251336 z"
+         id="path3941"
+         inkscape:connector-curvature="0"
+         sodipodi:nodetypes="csssscsssscc" />
+      <path
+         sodipodi:type="arc"
+         style="fill:#fd872b;fill-opacity:1;stroke:#f57219;stroke-width:2.11780047;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+         id="path2982"
+         sodipodi:cx="-22.819176"
+         sodipodi:cy="-42.02943"
+         sodipodi:rx="59.061394"
+         sodipodi:ry="31.208578"
+         d="m 36.242218,-42.02943 c 0,17.236021 -26.4426867,31.208578 -59.061394,31.208578 -32.618707,0 -59.061393,-13.972557 -59.061393,-31.208578 0,-17.236022 26.442686,-31.208578 59.061393,-31.208578 32.6187073,0 59.061394,13.972556 59.061394,31.208578 z"
+         transform="matrix(-0.72680035,0.59922422,-0.60467638,-0.72854865,11.762587,-137.63201)" />
+      <g
+         id="g3924">
+        <rect
+           transform="matrix(-0.639732,0.76859805,0.71021217,0.70398769,0,0)"
+           ry="0"
+           y="-63.931553"
+           x="-125.27991"
+           height="30.56741"
+           width="1.4072362"
+           id="rect3814-2"
+           style="fill:#ffd776;fill-opacity:1;stroke:#f5aa19;stroke-width:0.5109638;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
+        <rect
+           transform="matrix(0.67235945,0.74022481,-0.74022481,0.67235945,0,0)"
+           ry="0"
+           y="-170.95041"
+           x="-54.178646"
+           height="44.102364"
+           width="2.0134568"
+           id="rect3814"
+           style="fill:#ffd776;fill-opacity:1;stroke:#f5aa19;stroke-width:0.50999999;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
+        <rect
+           transform="matrix(-0.67235945,-0.74022481,0.74022481,-0.67235945,0,0)"
+           ry="0"
+           y="73.316986"
+           x="52.724506"
+           height="44.102364"
+           width="2.0134568"
+           id="rect3814-9"
+           style="fill:#ffd776;fill-opacity:1;stroke:#f5aa19;stroke-width:0.50999999;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
+        <rect
+           transform="matrix(-0.639732,0.76859805,0.71021217,0.70398769,0,0)"
+           ry="0"
+           y="-39.901241"
+           x="-125.67917"
+           height="30.56741"
+           width="1.4072362"
+           id="rect3814-2-5"
+           style="fill:#ffd776;fill-opacity:1;stroke:#f5aa19;stroke-width:0.5109638;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
+        <rect
+           transform="matrix(-0.99024252,-0.1393548,-0.22472136,0.97442307,0,0)"
+           ry="0"
+           y="-162.71594"
+           x="-25.775795"
+           height="30.56741"
+           width="1.4072362"
+           id="rect3814-2-7"
+           style="fill:#ffd776;fill-opacity:1;stroke:#f5aa19;stroke-width:0.5109638;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
+        <rect
+           transform="matrix(-0.99024252,-0.1393548,-0.22472136,0.97442307,0,0)"
+           ry="0"
+           y="-123.78313"
+           x="-25.984497"
+           height="30.56741"
+           width="1.4072362"
+           id="rect3814-2-7-8"
+           style="fill:#ffd776;fill-opacity:1;stroke:#f5aa19;stroke-width:0.5109638;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
+        <rect
+           transform="matrix(-0.08785817,-0.99613299,-0.99999937,0.00112435,0,0)"
+           ry="0"
+           y="-100.37899"
+           x="121.80799"
+           height="30.56741"
+           width="1.4072362"
+           id="rect3814-2-7-7"
+           style="fill:#ffd776;fill-opacity:1;stroke:#f5aa19;stroke-width:0.5109638;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
+      </g>
+      <rect
+         style="fill:#ffd776;fill-opacity:1;stroke:#f5aa19;stroke-width:0.5000546;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+         id="rect3814-2-7-9"
+         width="1.4134246"
+         height="36.565731"
+         x="-108.69991"
+         y="-70.077881"
+         ry="0"
+         transform="matrix(0.16729488,0.9859069,-0.98219628,0.18785757,0,0)" />
+      <g
+         id="g3834">
+        <path
+           transform="matrix(0.9649508,0.88457471,-0.67573977,0.73714026,-22.464501,-132.27382)"
+           d="m 52.685449,-42.86837 c 0,4.540672 -1.577547,8.221615 -3.523549,8.221615 -1.946003,0 -3.52355,-3.680943 -3.52355,-8.221615 0,-4.540673 1.577547,-8.221615 3.52355,-8.221615 1.946002,0 3.523549,3.680942 3.523549,8.221615 z"
+           sodipodi:ry="8.2216148"
+           sodipodi:rx="3.5235491"
+           sodipodi:cy="-42.86837"
+           sodipodi:cx="49.1619"
+           id="path3794"
+           style="fill:#fcde7c;fill-opacity:1;stroke:#f5aa19;stroke-opacity:1"
+           sodipodi:type="arc" />
+        <path
+           transform="matrix(0.55692107,0.44000692,-0.39000302,0.36666978,9.6469899,-126.2285)"
+           d="m 52.685449,-42.86837 c 0,4.540672 -1.577547,8.221615 -3.523549,8.221615 -1.946003,0 -3.52355,-3.680943 -3.52355,-8.221615 0,-4.540673 1.577547,-8.221615 3.52355,-8.221615 1.946002,0 3.523549,3.680942 3.523549,8.221615 z"
+           sodipodi:ry="8.2216148"
+           sodipodi:rx="3.5235491"
+           sodipodi:cy="-42.86837"
+           sodipodi:cx="49.1619"
+           id="path3794-1"
+           style="opacity:0.35114507;fill:#ffffff;fill-opacity:1;stroke:#f5aa19;stroke-opacity:1"
+           sodipodi:type="arc" />
+      </g>
+      <path
+         sodipodi:type="arc"
+         style="fill:none;stroke:#ffd776;stroke-width:1.99791515;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+         id="path2982-1"
+         sodipodi:cx="-22.819176"
+         sodipodi:cy="-42.02943"
+         sodipodi:rx="59.061394"
+         sodipodi:ry="31.208578"
+         d="m 36.242218,-42.02943 c 0,17.236021 -26.4426867,31.208578 -59.061394,31.208578 -32.618707,0 -59.061393,-13.972557 -59.061393,-31.208578 0,-17.236022 26.442686,-31.208578 59.061393,-31.208578 32.6187073,0 59.061394,13.972556 59.061394,31.208578 z"
+         transform="matrix(-0.6392895,0.52237525,-0.54855265,-0.6425389,16.124617,-136.42274)" />
+      <path
+         style="opacity:0.2;fill:#ffffff;fill-opacity:1;stroke:none"
+         d="m 20.41363,-121.52941 c 16.696134,-26.7849 54.947754,-44.08447 69.020352,-31.21496 2.932816,2.68208 3.999899,5.0841 4.38017,9.85982 0.403496,5.06876 -0.141491,7.93613 -2.637734,13.87527 -5.381256,-21.16665 -30.452933,-22.39506 -70.762788,7.47987 z"
+         id="path3770"
+         inkscape:connector-curvature="0"
+         sodipodi:nodetypes="csccc" />
+      <path
+         style="opacity:0.2;fill:#ffffff;fill-opacity:1;stroke:none"
+         d="m 41.029298,-142.85342 c 4.739952,-3.49212 9.815419,-6.49375 15.027355,-8.84316 8.69884,-3.92122 15.462072,-5.378 22.491221,-4.84454 6.451797,0.48963 10.920921,2.98436 13.442292,7.50365 0.888003,1.59166 1.14036,2.74104 1.440302,6.55997 -6.419737,-18.70494 -44.723148,-4.34045 -52.40117,-0.37592 z"
+         id="path3772"
+         inkscape:connector-curvature="0"
+         sodipodi:nodetypes="cssscc" />
+      <path
+         style="opacity:0.15;fill:#f9f9f9;fill-opacity:1;stroke:none"
+         d="m 100.45997,-135.14946 c 0.81257,-3.01852 1.03266,-4.5023 1.1877,-8.00692 l 0.14952,-3.37979 1.50388,2.24691 c 6.39627,9.55649 9.15542,20.98807 7.76184,32.15851 -1.43017,11.46372 -6.20076,21.30662 -14.471617,29.858491 -8.607176,8.899625 -19.617886,14.638294 -31.9297,16.64144 28.387068,-22.152548 37.865847,-40.830641 35.798377,-69.518641 z"
+         id="path3953"
+         inkscape:connector-curvature="0"
+         sodipodi:nodetypes="cscssscc" />
+      <path
+         style="opacity:0.18;fill:#ffffff;fill-opacity:1;stroke:none"
+         d="m 101.22635,-138.17339 c 0.26678,-1.47653 0.49032,-3.70392 0.49676,-4.94974 0.006,-1.24583 0.15199,-2.26514 0.32345,-2.26514 0.84815,0 5.26914,8.36429 6.74007,12.75189 2.29139,6.83493 2.95566,15.5134 1.73378,22.65139 -1.52985,8.93706 -4.91231,16.454859 -10.64443,23.65811 10.88118,-31.13981 5.76188,-38.114 1.35037,-51.84651 z"
+         id="path3955"
+         inkscape:connector-curvature="0"
+         sodipodi:nodetypes="ccssscc" />
+    </g>
+    <path
+       transform="matrix(0.48016759,-0.38790087,0.59894087,0.28471474,46.068156,60.997191)"
+       d="m 29.530697,-20.384773 c 0,2.316669 -1.20194,4.194701 -2.684609,4.194701 -1.482668,0 -2.684609,-1.878032 -2.684609,-4.194701 0,-2.31667 1.201941,-4.194701 2.684609,-4.194701 1.482669,0 2.684609,1.878031 2.684609,4.194701 z"
+       sodipodi:ry="4.1947012"
+       sodipodi:rx="2.6846089"
+       sodipodi:cy="-20.384773"
+       sodipodi:cx="26.846088"
+       id="path3082"
+       style="fill:#fdeaaa;fill-opacity:1;stroke:#ffe680"
+       sodipodi:type="arc" />
+    <path
+       transform="matrix(-0.48016759,-0.38790087,-0.59894087,0.28471474,73.992871,58.172661)"
+       d="m 29.530697,-20.384773 c 0,2.316669 -1.20194,4.194701 -2.684609,4.194701 -1.482668,0 -2.684609,-1.878032 -2.684609,-4.194701 0,-2.31667 1.201941,-4.194701 2.684609,-4.194701 1.482669,0 2.684609,1.878031 2.684609,4.194701 z"
+       sodipodi:ry="4.1947012"
+       sodipodi:rx="2.6846089"
+       sodipodi:cy="-20.384773"
+       sodipodi:cx="26.846088"
+       id="path3082-9"
+       style="fill:#fdeaaa;fill-opacity:1;stroke:#ffe680"
+       sodipodi:type="arc" />
+    <path
+       transform="matrix(-0.38790087,0.48016759,0.28471474,0.59894087,77.44825,58.388228)"
+       d="m 29.530697,-20.384773 c 0,2.316669 -1.20194,4.194701 -2.684609,4.194701 -1.482668,0 -2.684609,-1.878032 -2.684609,-4.194701 0,-2.31667 1.201941,-4.194701 2.684609,-4.194701 1.482669,0 2.684609,1.878031 2.684609,4.194701 z"
+       sodipodi:ry="4.1947012"
+       sodipodi:rx="2.6846089"
+       sodipodi:cy="-20.384773"
+       sodipodi:cx="26.846088"
+       id="path3082-91"
+       style="fill:#fdeaaa;fill-opacity:1;stroke:#ffe680"
+       sodipodi:type="arc" />
+  </g>
+</svg>
Binary file share/hedgewars/Data/Themes/Fruit/Orange1.png has changed
Binary file share/hedgewars/Data/Themes/Fruit/Orange2.png has changed
Binary file share/hedgewars/Data/Themes/Fruit/Sky.png has changed
Binary file share/hedgewars/Data/Themes/Fruit/SkyL.png has changed
Binary file share/hedgewars/Data/Themes/Fruit/Snowball.png has changed
Binary file share/hedgewars/Data/Themes/Fruit/Splash.png has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/share/hedgewars/Data/Themes/Fruit/Splash.svg	Tue Jun 04 22:28:12 2013 +0200
@@ -0,0 +1,1024 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:xlink="http://www.w3.org/1999/xlink"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   id="svg2"
+   version="1.1"
+   inkscape:version="0.48.3.1 r9886"
+   width="160"
+   height="500"
+   sodipodi:docname="Splash.svg"
+   inkscape:export-filename="/home/ranitas/Splash.png"
+   inkscape:export-xdpi="90"
+   inkscape:export-ydpi="90">
+  <metadata
+     id="metadata8">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+        <dc:title></dc:title>
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <defs
+     id="defs6" />
+  <sodipodi:namedview
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1"
+     objecttolerance="10"
+     gridtolerance="10"
+     guidetolerance="10"
+     inkscape:pageopacity="0"
+     inkscape:pageshadow="2"
+     inkscape:window-width="959"
+     inkscape:window-height="744"
+     id="namedview4"
+     showgrid="false"
+     inkscape:zoom="2.6700353"
+     inkscape:cx="121.13111"
+     inkscape:cy="316.39606"
+     inkscape:window-x="65"
+     inkscape:window-y="24"
+     inkscape:window-maximized="1"
+     inkscape:current-layer="svg2" />
+  <image
+     y="0"
+     x="0"
+     id="image4345"
+     xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAKAAAAH0CAYAAAC6pyZ4AAAABHNCSVQICAgIfAhkiAAAIABJREFU
+eJzsnXm8HFWZ979PdffdcpPcm5WwCQriqygoCooKKuI24w446iABkhtgBmfU1xlnnBlkdHR8B5cR
+heQmkKCio1FwAx1xwQUQQRREUdQIYcme3Ny9l6rz/nHqdFX37e67VfXpeznfz6fTud3VVaeqf/2c
+pc55fqKUwuGwhWe7AI4nNk6ADqs4ATqs4gTosIoToMMqToAOqzgBOqziBOiwihOgwypOgA6rOAE6
+rOIE6LCKE6DDKk6ADqs4ATqs4gTosIoToMMqToAOqzgBOqziBOiwihOgwypOgA6rOAE6rOIE6LCK
+E6DDKk6ADqs4ATqs4gTosIoToMMqToAOqzgBOqziBOiwihOgwypZ2wWYHiL083oUZwFH4uERcAfw
+Q9apm22XzjF9xHqK3i3SQZGzUVwEHAfcD/wauB/FAyiGgCIeLwfWAU8DQAFSsaebEP6RDh5ilP+H
+8A6Ez6N4H33qYDNPacb0y5HA+cBChBJwFzluYrUan9LnPycLGOcwPAIUPll2NPzs1fJkspyA4j76
+1J8SOYdpkq4AN8gLEM5DOAKFQvEAwh8ROlD0AIcCbwaWooBxdEzO1diXDwwBw0AJLb42oAtYFP6t
+gDECOvDKjQvFjaxTb0rvJBOiX94LfATIVL0zhOIbwNfw+Q6XqOHyO5+QTro4FY+XAC9FcTKVV+8x
+FO9jnfp8xR63SAcFbgReFb5SBPoJ+HcuUrsblvNqOY4Mp1Pi21yiHpn+iVaSngD75RTgZ4AWRjF8
+PQsxcejXh8NHYEqFvoy58P8BMBZuXwsjxDEgH35uBearuIs+dXIi55QWG+WpKO6jRDsH0dfCRPh2
+YAH6/DLkgbvCv5YBq4AcAfq8x9E/TsLPdoafhV8A2zBXuMQxDHESebTcF6Ovof6J/xMjXMu71Fi5
+fJeLx2G8BJ93I7yGqO75Hp28gXPVyExPPb02oJBBoRhD2IuOYAYPfYGrBRWEjyxQCB+GEjBKdIFz
+QEf4XAjfy6AvTRE4gBYhfCmxc0qLgJOBdnYTnbNCXzMfLax9QBvtdPIiMujr5KOFV5i4S0ALeQBY
+wEnkOKn8+gGi6wgwgpb0QhbSyadZwMfol3vQV1WxjOeylx6G0d9NJ9ADCC9nnKuA82Z66ukJcK26
+nX75IiO8rUJ8PvqCGbGYC22il/nlZ2Kl84kiqKGIvjwd4fZj4Wd6ws+1A7CPTtYnfWqJk+UnjBAJ
+aYjKiO+hz6cdLcb42IVCi6kYPkzzhHD7LiqvnQr3b47VhRbUaPjIAl20I7wAwnKMEn0nJjDkgUOA
+2g2mKZNuL9jjQ/TwVkYQxoGD1K9G45iLWppsQ/QXYjDibgMWArB+NtVD07hQPcx6eQThCIbRX3gc
+0wQxlaL51syPtx6meWOaMhBFVcMQOgJ2hI8AfU0D9PUfp7L5tCjcn/luAu6d2knWJt1xwDXqAbJ8
+k4VE1W7atAPdgEeBEp9uwhGTweNHtDG1a2R+nI3EF6dIFLlqfSZAi34/sAdd3R+AcPyh8riD4f/b
+wmfhlimWoibpD0QLH2URusAdKR+rjehXCtdzidqZ8hGTQ7iDTqIvtlUx0bcLUPyMPnXPbHaXvgDX
+qtvJ8igLMD2y9DDHyAIBH0/5aMkSsI02KqvLVqQDfX0XAB7/PtvdNetW3DbaiXcOkieHjh46+n2X
+i9T9KR0pHTI8XBbfrJr1KWJGHpYBwqdZq7492102R4CKbeXQndbFXYAWt67CvpPSUdKjwHB5CLp6
+KLoV8NDjhQuBDoaBy5PabfoI28rCS+vithOJWzHrEfqmk2VBUzppM6WbaNAabqJP7U1it80TYJq/
+bnMW0TEeTeEo6aLoLt8JakUhtqOvs77G25PabXNmwwRsK9+7FWYm+0YN8xyKDAE5RoAxvOQuUBPp
+AnQUz9Ba1bC5JRipJbEfuP3ZMI4nNG5CqsMqToAOqzgBOqziBOiwihOgwypOgA6rOAE6rOIE6LCK
+E6DDKk6ADqs4ATqs4gTosIoToMMqToAOqzgBOqziBOiwihOgwypOgA6rOAE6rOIE6LCKE6DDKk6A
+Dqs4ATqs4gTosIoToMMqToAOqzgBOqziBOiwyhzziouxSVbi82RG+VWFqYpjTjH3smNdJd1kuQk4
+LXxlBLgZn/dxsdpmsWSOGZCmVdfTEDqAURR/pk9VW81Ub78M4WXASwlYCOwFvssoPyxHuPWyAuHr
+CM+vsYdBYA19auuEd66RJfi0s4NdXKaCiR+dj4hA60eX5AW4QV6D8N/AMbFXS8CfUfweCR8Bvw8F
++vLwcSK101COAw+gbVqORrGKQbTnRUDkpRblnv4vSvx72dSvX94AbEZ7KN2B4jzWqT8kes6txObF
+r0S8fwZOAgYQ7kCpL7N6YOIPswVIVoCXS5ZVbAdWkY+97qFbm42ynBpXHvO5HNpCKp7UfAxtplLt
+oCTAEnQeY81B4DoEQXFp1da/YQfPmpeR8LqePpRsoBjAWAk8gc4sZASEyzjvwKxtFZIm+QjYLz/C
+57SaSVyNFat5Fia6PFaTIeqrN67EtWAXEol9HO0AFKCNCyOXzmewTv12SuczV9i89FQk+CF7xtoY
+yFe+15WDVV3gyQdYfSCR7PZJkbwAN8obUdzAHvSXX0SLwXZ/+7ByGe6lT51otzAJc/3SRRT937M/
+fwj7xqMfXpHI26M3A4d1F/EyJ3L+vpb58SU/DriWrwE/pRctvBF0d2IXuptgo1ls3H3gUTKcZaEE
+6VLw38qor8U3iLZoLaCvdQH92l4f9ozlkOBq3UFpDVIYiFaKgIvJUipXh6AvxijaCK+Wv60xXTau
+6HkiA+v4NkNoQ71d4fOB2Pb58P8HiFw0M2hnHy2+l3Kh+uPsz7HFELmAXaNR5KvFCLC7AAX/NLYs
+bpkfYZrDMFcQ8B4eQYul+jAe2rbBQwuyXhsw8qaYvA1oELTosmhP27Z5LL7rlj6DkcL9PDoMu2lc
+w2SAo3Jw6IJ7WX2gJZoh6d2KK/EBPB5lIbVNCo0vbdwFvRYBkRnzVFmAvtjLgTYemxviE2G9nMzV
+chyXyzS+F/+FDBYis++GmwJ7ipD3T2Dzkr+cRWETI907If1yNkW+zOPoqnc6IpopHlp4S9E9YuF8
+1qotTTjyzOmXLuAO4FnhK0PAL4FfIPwM4XbWKD2u8AnppJOVCMficSySW8NI8dkI+sdqTKz3o695
+9Y+7GzgqAwu9Xajit1A8AHyBPrVjkjLmCHghGR5nrXowmRNP/VacCP3cw25OZBB9QdKmCy2+QwHY
+RZ4ncanKN/yMbfrlPcAVZbf0DLp5YuxbdTwcRXenKqOjMa6OC80LtzSdwPh7C4mEGo1O+Ag/QHEz
+Hv8LDOGzFGEJihUIrwDegB5tBdiF4gOsU+tne+opD44ohciVdHMNY+HRGlW3SdCOHg/UfKblxQcg
+lBgh+oEacRi0FW1XOcoFRMKrFz+MCNtj+1LATiprohzQRYZOzqSNMys6fj568H8M3U43QzoLWYlw
+NRvk+7O9q9SM0bk7y0dJW4DGj04LcAy4OsWjJUfAzrKgDqCvkel8ZWOPDFpECi1Cv+rZCNdDC69A
+peecudtkRNZG1MY+GPus2VdANGJhvruxcPul7GEds25Xpy/Acf5YPkrao0/G6K8DUHyfdclYiqaO
+YhcZ9JdrfqAm0s203Tw++SaYSWzxO1PxdmR1sGhDV8L69ugdSUx2SH9C6qU1R/3SwbSbADzuatpx
+Z4uwEA9704NNZBsluh9fq6YykVO3L3+RxKGbcMpKYU4n7bsguq2kCbg75aMlh8eTCWj9+emmPamr
+7l8mscvmnLIKK5JmCNDMnmmbQxEw4GiK6Gqvlan0DE5EO836zaUfAU0VpiPgTs5Xe1I8WrIIR1Mi
+/RGCJDA/Eo+lSeyuWY7pOgLGb6vB1DsljbdTCKbH6JNlB/Cb6RfSIsIIigPAYjIpddVUg/3WCwzV
+r0e9bYW5wz5L5t6aEMe8otWbvY55jhOgwypOgA6rOAE6rOIE6LCKE6DDKk6ADqs4ATqs4gTosIoT
+oMMqToAOqzgBOqziBOiwihOgwypOgA6rOAE6rOIE6LCKE6DDKk6ADqs4ATqs4gTosIrt1OGzY6O8
+HMWrEAYpcSUXqwO2i+SYHnNzWeYnpJMutiCcE3v1AIrLWKeutFYux7SZewK8So4gy41oJ6BavJs+
+9YlmFskxc5ITYL88Bfg4Os3sEoQ7UdyKcCuKu2p6xV0tvWQ5E8WrgFei8y5tR/FtPLZMSAW7Qd6E
+sBFYwig6m1MBnY6jB9OgUAh/xVr15bpl3SoZ9vFisuxijXpg9ifvmCnJCHCDnIFwIzoBbC1GEG5H
+cSuKexCeB7waOJl4so4SlNNsACh+BnwX2IHHGSjOKuc/rrYjEExGfNAJxt5Mn7qpYputkmE/b0d4
+P/BUdJKJd7BOfX6GZ+6YJckIsF++ArwZ0PlE4nmJ49Zc1X1uhZbKKJXJGTNoKXcTF6NO3X2Qif4h
+xD53aMVxvo3HFQSMILwMxQVUmigSluBw+uZIMsupcNWKbrqKF6Lk6UhwNwsOXsfZqnl5GqdBUgJ8
+GDgS0NFpqM52JuVsjsimoZFloKBTgmWonzSxmg502pxM1esBlKvtdmBxxbuX0KfmRjrfydjUvZJc
+7g58dQSlQMh4ioz8ljZex9sOPGy7eNUkMw6ouH5K2/lEbkbGRLDxfrVIqzO9N2IceAxtD7YvfOwG
+Hg3/b3IcxxHmh+P65ZIlk/siA4UnsW0wy8NDGbYdzLJ77HjyfIHLpeWG3ZIR4E7+DfgmAL3oCFdE
+f/F7mFq+4plgvNBqvT6CFvowWnTxQN9Zse2NPM78aAMe3XsRpeA09ox5FembD+Y9xkqn8KSei+0V
+rjbJCPAyVaKXs4BrEbQ1ajvas8NHm+cNJ3KkiCG0Bdh+dLSrlV20yESBZogL8BsIb+EyNRdSQzZm
+q2Tw1d8xUhSU0j+6uC/fWEmAi+wVsDbJ3Yo7WxXoUxci/DNZtFlMN5FN1zA6KtXCRLIxoojVSBLV
++ypR2StWUDbGGYy9bn4cHiDcTC9n1xwemouMLn4DHkcxWtKJKIfRP8CB8P1xXxCeyube020VsRYp
+2LWqjwB30IXuyS4kShxuerEmHW0+/HsPOpIdRF+4g+iothctrHj1OUjtaGp60kW018YoWnDxzsby
+clluYJw3tWrPcEYoeQ2gI53xHIHI62M8FKbwOhvFq0c6jVKPfyTgxyxEi64HLaaAyHlnKpTQghsi
+6jnXi4wKLdw4i4mSli8FOlHAZfTxoSQ8LloKxbMZ94VATWx25IE2BXlfaMs+w0bx6pHObJg16ico
+vkUO3Rb00CKcKaaKnk5LrQs9JAO6Y9RNAeEN9KkPzjvxbZEORP4Po0Ud5arNyUwncMwXRD0BBAiQ
+4f2Aojv82xjvNQvT9uwFFgHwTtaqbzSxBE2k91hEZRkrSc2RAeN6pDsih3DN4iUTdmGJ9AS4Rt2H
+8D8sIKroOxp9IEE6iCy7tPiupU9taNLRLaCOBXSEK1A7630eGAurkEymZaJguhNSAz6EYETQPAGa
+YZbod355k45sB1HHUAj08Eu9Pn0eKAVCSQE8s3mFa0y6AlynfgtspxtiXh7pE/fahd30qe1NOKo9
+AjmWQtjtrSfAIuHtz5KAOrlJJZuU9KfkK35QvqcL6bcDjetjJPRETPVaGuEY8oHugDQaJSig24FK
+nt+sok1G+gIUfg5E1W/1JIGkMWcUCX3umBZukBPYKK8M51ZOh2Mp+rqz0chvLo8ekPbUU/jsokSs
+tmZL+hWiYqAiIqUtQIMRoOJXTTri7OiXNQgbyx2IDfID4FPs5JtcpmpP21gvK/C4As87lEWBlDtf
+u6k90SMPFHzBLwl+/gNskP3AHQg/pk9Vz7A08ycvweNVwF4U9+PxA9aoxGqV9Kfkb5S/RPFNxtAX
+pkhkTZ8G7eihl1XodqDP07hY/T7FIyZDvzyEz5M4gBZPDn0rM8efUXwO+BOK7Qi78TgeeBGKt+Gz
+lDw68mXQ5++jZwTtQVe9GfRA/Aqi4SnzteuKuwDcjeIuPH5BwEhYggspcCZQOZ9TsZF1qi+J026G
+AE9HcSvj6MkDPvrCpIUR4BGAR55eFnC2am0j1C3SQ4EDPIq+Psa6NUN0P93Mi/SI2nPj6DtFCi1a
+Cd/vQo88mFpAwm1Hw33HrWHbwn2bTpupoQroW5rxNmUWfXdJj+0+KYnOXTOqYD091Xg1NmMlsvmi
+4HctLz6APM8vi2KQyokVA2iBGK9ePZFCC84nurVp4oiHbm8PEA1HBWjRmUm9pq1omkZm1roRn080
+OSQIXzeziErhc4Y3AJ+a7ak3R4DmlwlTt2idDdEv/7dNONosEUE4h3G0iKrvk/tEM7nLH6G+xWp8
+5neGSKz1Jv8WaxyzmvjkkV70ZJDF9PE5uYZzVb05TlMi/XjkV0XA6v+nQbSO5PGUjzQ7rpVD6ecW
+xjmfISiLcDKm2moyt+Amm3k+HUbQkz7yPIMxvsBWmVW3Mn0BLgwFGD9S2keNLsmulI80c66W4yhy
+J/s4o7yEoHo2TytSQHcidwCjvI4DfJMtMuN7XOkLUIdoH4n9DqsjoNR5eDUemfJDVTyy5YdPhkeB
++1A8SCtyjRyD4jZ2cji70F9oWssWGlHvuk/2KKJ/MHvwKfFMSjxvxkWYc5kRHPMKlx3LYRUnQIdV
+nAAdVnECdFjFCdBhFSdAh1WcAB1WcQJ0WMUJ0GEVJ0CHVZwAHVZxAnRYxQnQYRUnQIdVnAAdVmm5
+pNXTZqtkGOBs4GgU+/C4jzXqZ7aL5Zgac3tCar8sBm6Bqhm5wm0McybvUvMj+/08ZnYR8EpZRAdn
+oHg6ip2081VWq4HJP5gAW6UNuJFq8QEoXsgC/gN4d1PK4pgxM4+A6+UoPG4Cnh57NQ98G+GLFLmZ
+S9TkufGvlHY6eTKKYwko4PMbLlGPNPyMThnxhbJb5gjR0sJ29LrVLAGKZ4YZuhwtyswEeK0spMSD
+aHe2eoyj+B4eN6L4RtkKq19yeLwYxV+geDVwHBM7QweBryF8hrXqrop3+iUHXA+cTQm9OKY6Ja2H
+zoyg2MI6dX7Dc9HV+N8Cr0EYQfi/rFH3NfyMIzFmJsCNci6Kz5b/3oVe1ZVDp4XoIsqMr/GBn6LY
+j/Byqk0NS1DO7GlWvUWLy39OQD/CrejEEP8O/AWj6NVk9da8HgK0UyTgRVykfj7h/X5ZBvw9Wnzx
+XPrb6ORZs11w7ZgaM2sDqnLOU43JSVxEx66DaBF1oavDDjIIp5eXY5bQVaaxW60loiw6B0k3J5Mh
+SqhYzy2zGp2QI4fHt9ko72Et19FPFsVpCG8EVhOl6onzZMb4MPB3kxzBkQAzi4Dr5Xg8fl3+ex+N
+nZAELcQcWnjTdefoIMr6NBWPOdDiX17nPeNBZ8rSRjydL8BB+tRs8vo7psjMOyEb5EvlTkCAXinf
+aoZXpkNiFlRDJLzq015BpYeczxIuVgdSL+MTnJnfCRHOR7itvJflNCfxUBzjN1wvp0oenSXqALra
+NlV3rW0nGmAflVg5HXWZ+ThgnxrlcjmNVVwCfIg2FrOMKPefydBk2oFJi3OESl9iQf8Iav2kTKqx
+LurnqK6s1hWSuL1ic/jcwhX4mfNAXonOEngbyvs45+9rPLRliWTuhGySlSiuRfEaBtERxyfqpZqk
+iV3Uj7km/ZfZPkuU2DyOj+7k1GpH9lZ9RlFpbLgoLEM1Heg2YCTOm+hTf1mnpK3Llu5DIPc9FMcx
+VhREoCOrEPaBOpfVA7fYLmI1Cd6KE6GfjwN/z170l55HizFOB1oExgW9QP2esIfpRevtjZtmvSJ3
+Q9mZqYSufuPtUiNQM1xkEj/qH8VDKH4J3IDwpTnnorl54XIk+0OE49gxmmGoEJoTCizpCFjSPgzB
+c1l98A+WS1pBgpMRlGKHvIdVnEAvL2UM/eV2U9lDHmfqmaACtJCnOiIXP84IlUJtRwu5l2gUUriF
+gC+R5dtcoFo7l+BkSO5sRB3HUFHK4gNti7dvzMMPulneuYWtclorZY1NdjbMZSqgX95Ohl+xmBUc
+QAtwjMb2AUlSq+XWia5+l2JG/vII72atuqpJpUofQfsA7xvT8dw0P0z+54G8x5KOkxnpeRvwOUul
+nEDy8wH71A7gPyqSZHc32D5tFqLvcyzGiK8EnD6vxIcISp1OIRAKoWGNqTkOEN2qHCsJSl1sqZA1
+SWdCaifXAPvLFq06qXXz6USLrtK4ej196k4LpUmPzy96CsJShotR1Ws6aWbQHWC0JHjyPDb3PKfZ
+RaxHOgI8V40gXFXubEDtm15p4hGZJC7AnOkBMlzW5JKkTxHtepT3tQAVlZ5xRozmfeHs5hWuMelN
+yRe0Papp8DfLKdPQRTT2aJoAwoe5UO1vcknSxxMd3+OGhfEOmElWbgSIPLWJpWtImn7BjwJ/Kkc+
+M7bXLMxttfh4onBTE0vQPFTYwDDtv1pjpAV0j7gYgJ4C1xKkuyhJ8ZMKA5RmOabXPuYga/hdk0rQ
+ZLylFAMtMKgvQDBR8OjZ2iskRdqr4n4MRBGorf6GiRKv7qNj3hV9Q/MMFRxJMajd/jPEBSi0Mbz4
+Sc0qXiPSdky/HWi+AOPHiSLg/Or5xvHkiHL1W93+Mxi7LrOdZFqiHZiuAEs8BEQiiDzc0iVeuUS2
+rRNnRc8XFEdSCu9lNrqBWCDqqBAcm3KppkS6crhU5YF9FYJIuyMiRAIUIgH68zgCEhNgozmZeSAf
+GMug6Zpip0Iz4tFjFaJLu+lbHf10hbOdS9TOlI9sh8slC6zCV/pMGwmwSNgT9gXF0c0o3mQ0R4DG
+YhTSj4Dx/Udtwfkb/Q7vOQwhM6UIaDoohQDgyamXbQqkL0AJHStNZEo7AsaHep4IAhQ5AoBiIJSY
+3EmzgL4nLDyZ/sNqzY5sKukPDQc8Vm6XlZpwxPj+Te87YG7kitkkz0dxCoqH8bg7HMxvjHAUgS94
+amqLtQKgUNJDMbmxlwHfmrBNvzwlXDm4DOEm1qifTPdUpkr6uWH6pQ/YwB6i9RhpmqiuIHIVPwIQ
+SoywqKXzxOjF9h9Fr1OOL164F/gGHl9nDfdUjGNeK4dS5P0IfZifnSJa/zIQ7qkLPQ1tIbpGKNdA
+AiI7CIIvA79GuJ+AP+NxKopNwFKikcVPsoN/4DKV+LKzZgjwL4BvsZ9oDcce0pkfmCFaitkGrALg
+HvrUSSkcLRmukiPI8GWE51MABtHzJz10cyL+yMo4nhQpBe3kaKOIvqYBUdXbET5MU6SIng1TRF/z
++JKHLJEos+Fx42lOuoiECz/G4xzWqETDRzOq4MfLPr+GDOkIcK51QDbIa8myGZ+lDKAnkJosET6V
+PslZIKM6yKkOvNh21Y7oZnszAhAQCS8uwEzsWYhWGJr95dCiHcHMqTwN+AUbZA3r1HeSugTNmB7w
+GMCEscDpLk6fCvEOSLQ4qfUE2C+vAC7D51SG0VHMRJ7JrosRWMDU2nxTwQiw1usdYZm0EA+jm2/T
+L3cg/Btr1fdmfej08wOK0M9uxuhkb7gmbRQYTGEVcS+KzvBSLmeUNnx8TuFi9fvEjzUTNstySmwk
+z+vZh17dlw8frXiXOv4NZTCLuBS9FOmhQJavkeHvZjPFbW4nqHTMeVyOaIdVnAAdVnECdFjFCdBh
+FSdAh1WcAB1WcQJ0WMUJ0GEVJ0CHVZwAHVZxAnRYxQnQYRUnQIdV5r5fsOEaOYYSpwLD7OQbaUwf
+dyTP3J+OtUU6KPBJYA3RtNftwMfo5Brn+dbazFyAV0svHn+Bx2vQc5EPEnAD69TNSRawIZvkcAJu
+oJZnsOY+2jiF1WqqadEdTWamdq2HUuIu4NAa7/4C4W2sVQ9OaV96RdhTgKeh8BDupk9tn/Rz6+Ul
+ePwPASvL6ylAJ6NcRLxx0U+fWjelsjiazvQFuFUyHOAO4HmMoKdtmxVWUZfmAIo+dnIDl6nKlQva
+L/j5BJwBnAGcwsTMgY+i2EAbGzhf7ZnweW3Z+g8U8djNxIQ8Jie0yVGteAPr1Ncbnle/5FC8BeHF
+aK/jn7GTra4tmS7TF+A1cgw+f2CMiet7M+gItBATgf6E4kaEhcByhJUoTqRexugSlcmFII/ii8AN
+ePyegGcjvBc4iTH08s5GC3NWYjKl7iLgWVykdtfcbqO8HMWVwNOq3vkdAa/mIvVQg6M4ZsH0BbhJ
+TiLgbnygnvuYENkj1EvFYZYBxh9mqWYWvSa1siqNPjeAXtAzGRngMExk3gO8lz51Xfn99XIUHlcA
+by7v25Q/4pv0qddN4WiOGTB9AV4pi2gPv/4dRB4UNfdOpWVqCS2yIvUTKVazAB1VzTrVgUmOWU03
+sKzilZ8i3IbiGOANQIYx9IJw47rZS9zWYTt9qiWyic5HZtYJ6ZcNQB95dDWc1PrUtOhEp6eIR1Pj
+JDRI7TbkEZjIWaSP9nmb3tcyM7sTsoO/QXEj7cAhVFaz0/GCS5Ii9X8IY+jl8XvReVN2oZsP+6id
+UVQRr4Zz9Ic+HI7EmcVAtAj9fBh4H0X0l1oiskfNEFm0poWPzipQoDI3ygKmdo/HR1fn1WVchLZv
+1fyaPk5wETAdZn8nZIO8A2ETJXLsRH+he2PvmwQ3STOGFl+t4mfQVW6j3AujRGOHK8LnLHroJu5t
+J7yFterLsytsk9my+FjEex0QgPddztv3G9tFqkcyt+J0rpOvUqSbnegeavwGmHGrrEWJqFNiMjhl
+iTx9q3vRJiPUZG6+pvNSTSH8vBndWxhutzgsYyTaXxPwTi5St05ypNZiy5L/RNR7yn8rApR6P+cP
+XGGxVHVJ7l7wBnkuws0UWM4OdBSMD+Ea82lBi8zYR03WgWlD96QFLZ7ptC870eIy2aSGiXrQWbTg
+FqOjpRb6MIqvIHyWPm6dc9Xu5t5/weMy9o177M97dGQU3TlFb3sAvI+3Ypi9AAAgAElEQVTzDnzM
+dhGrSXYywkY5EcVtjNHFY+gGv+2vUNACjKeDM9ExGm7ZjnAlio30qamMMLYeW3qPQvgDoyXh0eHK
+emNxe8DKzlFU8JxWc0xPdj7gWvUrFOfRGbqXWc9AjP4BxMXXTTQ2qMX3aXbwFNaqK+as+AACeSEA
+e0LD6njtcjDvMVLqBO+/7BSuPslPSF2nvoLig/QSefW2CqaHvBjopgCspU9dOi/u93rBqZQCbcVV
+QA8x7SNqBo37AryKTUsPt1bGGqQzI3odHyDLbnpojSgIkX9wJ7rqFS6gT22yW6gEUXIyY37klmki
+v2nzFnxByJBV77BUwpqkNCVfKRT3s5jINtU2JhrrGTI/Zq263mp5kkZYxlgp8oszlE0Kw1Co1FlN
+LdckpGlYfT8eutqzPfHfDIp3AO34KN5puURpsKjsmFlLgIVA8BV4HAvSMg2jdAUIejyvWS6Z9TDN
+AD0WuYl16l57hUmNbopBlIjcELdv1V7BHWxacljTS1eH9AQYxATY3njT1GknmuIlfMVyaZLn+qWL
+EDyKgTT0Ch4P24i5oCVsuiBNARbQt39y2K2CjQ+G/hH4FOeIa9J0UKUVlFRoRFjj/Uq3dFCt4RMH
+aQrwUjUIPEIbkbWADYx7uhbgfVyihutvPEcpZA6hVKP9V34/fM6HA6JKHdOUck2BtGVxf3m1h60o
+aI6v26G3WypFumSClQ0Nq8sumb4QKPCeCBEQQPGbikVLzcYcG7QAFbdZKEX6KG8lRSX41L/1Ga+G
+lRzfpJJNSroCFPSKNlvtQHNHNIexu5qfEVCplfhBY/uzio6IHMuVYrtrCKQvwOHyUWwI0BxTX+qd
+XKgetlCKJiCH4KvJ3dJBtwNFZVnQU70C0ApptwG1P2blUsvmYdp/WoDzr/drELUSP5CGETBAC9T0
+hEWe2YyiTUbacSmKgDZ6wXEBqnksQNRKfDW5A2kByAYSDlS3hACbFwHjz83AdEAE0wacvwIUWUkx
+aFwFQ9gOVOHEBHVyE0o2KWn3gocqjtJMARrxtQGCTwd3N/Ho02erZLhcZvZ9KFbiq8ZVMEQC1ZMW
+TuGqFbUWLWg2y/K67yVIulWwMIzCjgDN/Wfd/ru/ZdO0aUf5i4EXs4p2NsifEX6H4gHgd3g8wDB/
+4l0xS9R+eRpwPopnIHQgGZ8lSg/BDKEXXBmv30VEDupt4YO8hx+00zbyMTbIt1D8mYCHyPAcPN6K
+4hUEPJl+eRjF18jw36xRf07j9NPND9gvRwIPM4xeIxKfIJk2PWjxLQcWsIE+dVGTjjw1+uVFwEcI
+eBEj6EVcZh5fhmjstPyQgIyMEwQdFPEoEGWXMF9hjsrJH4ooG0WJaJa0cUrPxI7lhfsbD8thXNM7
+0JN32/kE43w4vMOVGOlGwAzDZet5aG5HJN4BkRZp/31COunidQgXUOAVDKO7aYXwYfLjmIXxXvyh
+PDKqC0GLw4gqHj+k6nOE7wdUOqzHtzH/N71kM5vGCL8dGKSNTv6Rbi5hvXwe2MJF6udJXJJ0Begz
+BIwjeHjkyCBNEaG+eIoMAVmGKXFHE45an6ullwzvJMM6DrCEQXKMoSgi5aWo1RjhTJXpNm8atRfj
+KxfzmI6coo0FtNHHQt7Bx+WPdPIBLlZfm+aRKw8151P0OuY0Lku+wypOgA6rOAE6rOIE6LCKE6DD
+Kk6ADqs4ATqs4gTosIoToMMqToAOqzgBOqziBOiwihOgwyq2E6clg7YP+zvgKSi+xTq+OucSjD9B
+SWY61mZZToDPoww2Pd3tVXIEWX4KHBl79R4U/8A69f2mlsUxbWYnwI3ydhTvAZ4dvrID+ARZ1nOB
+GkqgfI3pl2XAT/B5GnmiKekaPzTOnlsmM08wZi7AfjkbqPflPoZiDevUd6a8v2vlUIocAxyJ8Afg
+HvpUfTuaLdJDgVsY5bnsJZo9vBC9HkQvhB+jjUNZrQamXA5HU5mZADfLcoo8ACylROQTZxaxLAz/
+r7gej/9mrbprwj42yUp8zsTjTBRnAquqthgHtqL4T9ap31a8c40swee7jHESu5mYkMdDm1Xr9SDn
+s1ZtmdqJibi2Y3OZmQA3yitR6Oi2l8hzLc4iTDZ6gF8C9wFLEJagWAEcW95WES3KyaBXdeVi7+ql
+gZ+mnTsZ4UQ8riLPsxpaxWYAbUhwBevUe+uei46k5wNnAycDQyjuQfg4feqmxhfCMVtmJsAN8iaE
+rwKwG70OtRZtaBusenmYSmg3pTFqR7Fuarumj4fHnWzRzgqgiwE83swaflgR3TbICQh/C7yN2mYS
+AYpXsU7dMslRHLNgpsMw0Yr66tVYAdHywAK6W7IAXS2bbKUKbWh4kPr57AK0mfQQla7pY+j1xVP5
+3RSALnoI+D79bAcZCEuyEGEZo+j1uGPh9hki0euVfK8FnABTZGYC9PgjigLQVpH1KgAOoMWxhGiY
+2yy8NnYJ40zudmkwzuYzSaw7hI6+2qvkSOBI/HBfccfM6vJn0aJXHDqDozqmwczuhKxVt6N4IzBO
+D1F7Lb5oulZ0MwbTUxXfbPHRHaTt4eMhtFP6ARpnaIhsJZwAU2bmt+LWqZuB1+MxxgqiVfbGGamA
+rkJbgXhWANARuN7CbJNHBUCxM81iOWZ7L7hPfRfFa8kxjsmltCC213FMgrZ0CNDtt0F0tTrZPZh4
+p6dWwsw2IJ4TKsMnEiilowHJ3IrbIK9C+DoDtDGAjn4DRFVwN1qYtSjFHiaPjMlLkqvzGfO5ASZG
+snru7EV01Svonnn8p5fDdE1Mp+rXCP/MWvWtBiVocebGmGaSjumvR/gKO8kyjo5+cfddkyrM9Jqr
+HcxrYVzWu6gUTJ7GPeglVIrXR0e+gChrFuG+F2N6578CvoTi23Payuu6nj6UnAO8ABhAcTdZ9UHO
+HWjJ/IjJ5obpl4vxuYrH0V/6AaLs7EDZvDBAC3Q6tKNFVZrCZ+NRUIXlKKIjXBe6+l2CicpfIuDj
+SWV7ssrmJR/FU+9msCCM+UJXVtGVVWQEUH/DeQP9totYTfLJiTbKVkY5i13oL33/ZB9IAUFHtiw6
+yo6jhWeq2FVAG0XgUvrUBgslTJ4tPe9F5MMMFoSdo1ELN+PB4Qt82jJ5CF7C6oMTb4taJPkJqYo1
+dPJnFmPPKVOh24d70eITojboUqCNPPCyeSM+AOSvKCnYPVbZvfIDeGQ4QzFoR3kftVS4uiQvwD51
+EHg3vUTVpm06iNqT+h7OJ+hTP7VZpES5ZvES4JmMFrUVF0Q/wCIQKNg96iGcytU9vfYKOpF0puQr
+HgS0AG34g1Rj7vRq8e0iy4ftFSYFMt5pCMJISX+fpp1cIhoGGy0JBT9Lh/cqS6WsSToCFB4D7HnE
+xWkjyoGs/YL/tSmTZZvLkwAtMqi802TySAMMFgVRZzS1ZJOQjgB1NTxKDvsR0DQBtPjy9HCdzeKk
+gmIhJaXbe1ApQDPVDWC0KMDRzS1cY9JcFfdYOfI0056hmrhfnHAvZ6tCo83nJCKLyn7BUDn0Ff+7
+EAiqYu2MddIU4ONl4dlc/Bl3zFS01BBEgvRQDKOfsWaIYwb7lYKSf7i+S9IapBsBW0+Ac3+wuRai
+VlEMI2Ct+G78QQCKKkf/skOaVbTJSE8aqgUiYNwLQ5uyzM8IqDi0HAHrTXUrV8O+0FE4ohnFmgrp
+SUNaQIDx6AdDrOF3lkqSLsKqchuwngBNNVwIoCRHNaFUUyLNCDhW/n8rCFC4by7MDpk2W6UNxTJK
+YQSsNyUtHgGFZzWjaFMhzQgo5fEnW01e0wPWEfDXlkqRLoM9qxCEktLXu95E27LzkS8IJzWvgI15
+YgiwDVDcZ6kU6ZLx9Hpqfwp+wXn0bbmCel7q5ZoizakcbVV8cQHO1whIcCil8AJPxTEdoOj3sKX3
+qBQLNWXSbANGEdCGAE3P18ywnq8CFIk6IFNyTAfGfUFUS1TDaUZAsRb5ILoFp58fCW8Pzj9UcCh+
+eKEnE2BA6AnsC4G0xKSE9KYK2I6AldVv67b/tkqG/RwPPBMYQniENrZNmlCpX7qAxeQWPpWgJGWL
+1VoI0cQQDyiUBOEsPnfI33Puzkon+c/JAsY4GTiBgF+xlNvTvH2ZngAl1vWwIcDKCNh61W+/LAb6
+gL9DcVjFoqwSsEH2I/wJyQCym4LagVJtdMhTCfyVKI4iQCgN6c8cBqxAMUrAGB4eUp7/mCVamqqA
+jILCQA/INjbKb1E8is5h8WyKnE6JHIL+8R5gmH65loD/x0XqsaQvQ7qTpWxWwS3ZARFhE88h4K0E
+9DHCQkbRy0SL4SNav7wEjyVk/WiFYCZ8Px9ua9zVy7tHyJAhg/7MGDqHjnFBj6dN8YCMWkGGFXhE
+5tSl8D0zm72Tbrp4J11cRL9sAf6HHfwkqUSkaVbBBWAYYUF4Yabz2caYiwhUxFn9ugoXyOfxCMjx
+IILdFWHr5Xh83k2BN5NnEUNocZSIhNeKQ+TmOus5lW20sZZuLqCbg3xKbqGdq1nHT2YzwO8c0x1W
+cVnyHVZxAnRYxQnQYRUnQIdVnAAdVnECdFjFCdBhFSdAh1WcAB1WcQJ0WMUJ0GEVJ0CHVZwAHVZx
+AnRYxQnQYRUnQIdV5pcALxePfmmFrNSOKTL7GdFbJcMwS8jTxkU8biX/ygY5DeE/geejzVk+inAl
+faqek7GjRZidADfJywi4CjgufOUh4Hp8PsbF6sDsizcFNsrbUWxmYj7++4FTnAhbm5kLcLMsp8h2
+IhvqOI+iWM069f2G+1gvx+OxGjgV8BB2oriFLDdygXp80jL0y7uAj1E/+8y76FOfnHQ/DmvMXIAb
+5HKEfwOitLAe1UnJryPg/RPWk+rFz/8CvHfCJzRFYCvCJ1mrJiaV3CptHOAzwBoU2i1zBL20sAPt
+kqSXY36TPvW6aZ3X5eJxCE9B6KBPtchyzvnLzAW4UW5C8RpAG6IYR/MMkfNkJK3fAj9AsR9hKXAW
+sBKgnFKsRLSCv1KStwOfJMt3uEANhVGzH3gBeSIzloqzAg4HMuxgB0dOuoZ1k6xEcS6Ks9AZCoyz
+yFb61DlTuRyOmTEbAX4NxesB7UJenRYiAywjMrCOkwdGw0etjJ7G1LA7/LyuYI0BVy8B2oCwkdtH
+T/iATWT4Ry5Ula51/ZJD+EsU5wOvBrI108l5HMEa9WiDIzlmwWwWpkfSqdUC84Fd6FjSGf5dpLFb
+uSEgEqiH9nnrQMjQW7ZqDRp8HnSVrAW4Bp+3s1FuIgh9Mz3agdejWIYKjzOCXiyeAw6t2NNTASfA
+lJi5ALXlwVlA5WiiolKQRkgzJUBHuul6GxmD6h5A6ERxVrlcKnx/CN10iIu5emQ04DjgB9MttmNq
+zHwgupePAXcCxoNNUwT2oaOJ7aQLB4Ht6EisvZt0pNsJPIbuvFRH0vaqv4V9KZfyCc3sxgGvluPI
+8Eugk53o6jXuEaxztOgqNK17LgE68aIfHms2x4m8hA276eWIeemu1CLMThYXq98D/wDoDofJumQw
+7atGEdG4px9EC3cvOqPTXqKoVa/NGISfOYiuSieLVaY89dqPvcTF9yPgVCe+dEkmOdEG+RLCOQyi
+BTFE7Xaf8eyFqB1Wz9eimjZ0h8ZUkaYnXD3AUikiTSl8DKPFXL1NR/haOyMovoDHFtaq26dYstah
+f8liOjiXgBeBOhY4gLAD5V3P6v3/24o2FckI8CrpJsudwNPZiY52+5i8tztTMmgB14pkGXSVb9LR
+Fqu2E2B5+JxDC6+LARSfosSn+Bs1N9t8n190HEXvRjw5lqGiMFYSch50ZBSdWYXit3j+y3jHYEud
+X3Lp2frlacDPKbKQx9Fjfc25Gzx1BN0rbkPfLdE95HvJ8HouVA9bLdtsuKb3SWS4B8UiHh3OMF6q
+HBhbkFOs6PTJeh9i9YHLLZWyJsl1DfrU7xDOL0cVnV2ztYiLrxfw+DqdvHBOiw8gy+sRFrF3zCuL
+LyCqgUaKwoG8B1zMVrHt4FxBsn3TteqrKK5gEbqtVnk7zi5dRO3IXgAeo4O3c64aafSxOYFC3+8e
+LOrvMw/sQXfkjGHaUNFDWMpo7/NtFLEeyQ+O7OSfgN0sRVd5ixI/wvTxiMYqe8Nnxfvmhfh0RHsR
+oyUhCBu7eXQbWaHHPUE7KRUCAdUS9gyG5AWob/w/QBtRfmHbVXF3WJYOjG/wz1jH9XYLlRCDixYj
+ZBiNtfviA0dmBACg4IPi1GYWbzLSGh7Wtqhmimj13YVmkiH6AZho7HFFKw5JzIg2WQyE0Y1oZlEc
+Y9Waby2nTEhPgL8HojvNNtuBcfEbIfr8xEZRUmIpAMWwx5GvscV4+KxF2kP/kiObUbCpkI4ApSoC
+toIAtWcwwO+5SO22Vp6k8UWLKR9GwFr3bYynSD4Uaa51omA6AiyFEdAIsPoWXTMxZTB3PhQ/tlSS
+tDgy7Fzov+rdOBxHm1Vrs5p5LsDdPATkKyZ72YiCGaKpYUaA3ryqfgGOohj2fqvv+sQxVXPBF1DP
+aUK5pkQ6ArxMBcBO6wKMH99EQo87LJQkPYQjKU7BrtWIs+ADvCD9gk2NNCvGyjvBNqrguAB1BBzn
+UbZZKEl6BBxFKRYB66HQUXDcF4QVbFl8bBNKNylpymKySfPpY6KuWewED4bRef4gHFkW4GT2gePA
+WDhe6HktMR7YPAHWW7mbJiYCRkvWH7BQivTY0tuDsLhcBU82ta2AjoCFQPB5UerlmwLpCtCG6OKY
+CDhfBeiFQzDFQEe/yYbWTTU8XBRE/rIV8uik6Rdst6rziH5e5iylBQU4G8f0zMJn44kgShpe7bhj
+ugDjRUHal5HreQ3w9Yptm+yYnp5da7/8Gp/jeST8e5joxngzyAFLwv8vw0xGeFbLZDuIHNP/ngKH
+lqvPTPjIsh+PPwJ/QoXPeiLZ84CTKXEsAVKOetp02meccUbpRPDKjunGkNpHCzATvubJMKLuLjum
++5xMgRdSIouHHsTPMgyk5piepgDvxedZ1gRoUnSAXmjUjk+eBVyqat2sahKhY7rPXzNOH6N0MUpl
+9WmWtZoInok94ssYVOwzEntAJDAzJzA+HlFrWwm3KRDvsGmy6ClsCyjQxhYSdkxPU4DvxOdo9vAS
+AEZYzFjF5CyJ/Wv8zpnwfi0mbqvt6uN0MkIXIwiwkh8h7KFP/dP0TiIhrpITGecDjPIKRuksu6Ub
+x/RGX0FcMPWWIdTaPi7QRttRY1sTJU21bX4AbQR04dPBEG3cQhtXOcd0x5xmfmVIdcw5nAAdVnEC
+dFjFCdBhFSdAh1WcAB1WcQJ0WMUJ0GEVJ0CHVZwAHVZxAnRYxQnQYRUnQIdVnAAdVnECdFjFCdBh
+FSdAh1WcAB1WcQJ0WMUJ0GGVNBemN5/1cjwZljLOz+wuv3RMlSSNahYDq/BRlHioqQLYJCcRcA1w
+QvjK48BH2cGn510yonnG7AW4WZZT4goUZxNlYR4DfoTiI6xT6WYk3SBvQdhM7Vz8H6ZPvT/V4ztm
+xewF2C9fh9AopRaKL+Pzf7lEPVLz/cvFYxVHo3g6wjOADhTbELaR5666kfRyybKK/wD+oZx0pxA+
+OtB+ccJ+drDcRcHWZXYC3Cino7gV0KkdhtCr/TPovCKdmNX3o8B/0sZ/sVqNs16OIsOZKM4EziDK
+4lLNIPB1hC/Tw3fLSXI2ydEEfBE4hWFggIm58RagTQkDnslF6v6653CltNPGm4DzEJYD32GED/Eu
+NVb3M47EmK0A34jiBkC7kld/ZcaedSE6Kmn/8gJwTMV25eydRLlJOqhO6zsE3IsgKE5mhBwD1M+J
+J8DhQIabaOOvJ2SbukaOwacPOB+dvij+2S+yVr2t0ak7kmF2Atwgb0X4AqCl1aii60CbBXaEfxcI
+M3aGz7WKYdzWO9Ci9NGx9CCTZwOFeFasMRQ3IOwDuhGejOJ08gijaBFnwm2NrYPHGaxRP5jCURyz
+YHbDMIrt5QQ3kyWjHAd2onM1V2dsqscYUVQ1CXemw350ZG2nkyxvJ4sW7gi1ndiH0dV2FxDwQcAJ
+MGVmNxB9kboNuBOY6FJeTywFZmZk3Uh8RbSgxqq2C9AV9160+B8Nn4fqlEERj6yrZlBKxzSZ/Z0Q
+xUcAbRgV39setGF1veo1CYpoZ/b9aFENMrlJtkmJVotO4u6eC2ZfQMdkzF6A69TXEb5Clsq+rKCj
+3UFgN1okw9SPfgG6uhwKPzNEffGayLafiW1Bk8CxGj/crxFs9X5z6OrXoKpS1zpSIZlbcQUuIseL
+6OYQRtHVYUf4bDDCGEE39LvQIihQXzQQ2ay2oX8uZh+NomqeKDG58cwdjX0mGh7SdKE7LPrnuA3Y
+QsCnG51y6yLC5p7TEPUKRPajvN/w8P7vJZXRNGmSvBX3F8C38NE3wkroaDOT9l4SmAyfpVgZzAC1
++dl1otP4dlACvoqafcZPq2zuPR/hX4Gjq97Zjah/5ryBa2wUqxHJZkjdIP0IaxlDjwsW0dWdbXJo
+oZlxxQy6utVDQr8i4I1cpB6yUrak2NzzHDy5kzE/y1ABRkvgCXRkYFEbtGcA+Sir97/PdlHjJCvA
+q6SbLNuB3vLA9BCVVbENllPZ2l2BrnaFWyjyJi5Rw3YKlhBXSjsLe37B7rFncDC8c1kiyvUMsKQD
+lnYA3qtZve87dgo6kWTnA16ihpHQDNAM6HYleoTZ04Yp0zDCuXNefADdvWsZKWrxjaCHnfaiRyJ2
+ozt/+8dhzxigPtkKBjWG5CekKn4GROOCNs2qa2F+GMJ/sUbtslqWxFDnsGtUi8/cjzcEaAEeAA7k
+IV86jrae19ooZS3SFyDYF2G8x6sFuI8OPmanMAmzeeFyRoovJK+00OqRRwt03zigzmhO4SYneQEW
+uBMIyMb2bnPeddwPA8wP41bOVc20zUmRzOsZLXmTDk1BGCFLoJjHArxUDWJMAVuhGpaq/+vWz0+t
+lCUNhDcyUtTjqZOhgHEF4/5xXLv80LSLNhXSWZQkLdQOjJ9hGyYi3mapNMnSLzkKwcsYD6Y+3lpA
+D9Fk/JemWbSpko4AtbleVPW2SgTUP4hRHueXdgqTMO29JzNS6mA6q28KwFiJVmkHphUBB8Nn+0yM
+gPe36m2paROolzJaZFoCDIDhEvjqzLSKNR3SEWAQCrAVVh3HfwQ6Eu+wU5AUUOrljJYmd0qvJg+M
+lQ7n2t4TJt02ZdKSyEGg9SLgfBLgldLOaPFU8kx/upt2TQevwWKyJpHOAInHYNn3FuwKsdUFqJe1
+nobi6cBuhIdQ/JEdPFy3qdAvORZ0vJWBYo4ceg7jOLV7wh66558j+raLwGgRFK8DPlix/QY5AY8X
+ojgWxU8o8L1wZCMV0hGgz2DZcNk2mQn/bw0B6kVR/wi8gxJtFNF3MIxJ9TJ81ssjeDwI/AlhG4pD
+gVNQPIex8Q5yRPO2jUH1WGw/XegJFz6ReXXZCFtB8eBz6ZcHUWxDsY8SL6PIIfhowbbz97RToF82
+o9dYb0/6MqQjQNWCVbCHKY89AV4p7bRzOnABPmczgh5Arj2GlwGOwuOosmG00HhGt8GIbJRJDK4V
+ZDgWj2MrXNvjdNBGN+vo4nw2yucI+BLCrfSp6bY8a5LWPYoDwL1kyNHOkWQIGKWrwqFbP9d2STfV
+t6q5Ta0LJXXfaycIqx9teK94fLonM2s2yGkoLsXnteynvbyIfioE4WM6X7f5zFSoXiAWX/wl6PZi
+HthHjnZW085f085BNsjX8NjEWnXXNEo2AeeY7rBKK7TSHE9gnAAdVnECdFjFCdBhFSdAh1WcAB1W
+cQJ0WMUJ0GEVJ0CHVZwAHVZxAnRYxQnQYRUnQIdVnAAdVnECdFjFCdBhFSdAh1WcAB1WcQJ0WMUJ
+0GEVJ0CHVZwAHVZxAnRYxQnQYRUnQIdVbKYPnz3a7+I9wInA7eTZwKVqOukaHZZJJjXHNbKEEm/H
+4zAUPQh/JOBm1qnfzn7ndfiMLKWNr6B4SezVB4Dz6VN3pnZcR6LMXoAb5RwUm6ntibQduAHhataq
+Bye8u16OwuONwAlog73D0W6Vd4e56b5fM6Ktl+Px+Drw5Io8hBof+CB96vJZnZejKcxOgJtkJQF/
+BLrLrwVE2ZWi3HwKuAXhM5T4PRneCLwZeO4kRxhGcTPwNeBufIbI8nrgCvJ0swedrqwDbZhdaUB1
+Dn1qa8O96yr8bOCdwCqEL7JWtZSZ33xndgLcKG9EcQOg043tR2fqNOTQlqjmUY8Cka1qBi2oRt2j
+YbQVbLzognbEXIyJiGMI/0QPn+ZsVWlisF5W4LEWuASo9MsQ/oa16qoGR3ckyGwF+GYUXwHgMRrn
+sMsCC9Gx0kML1Zhb1/K4aEcL0TwEHV0PoP3Q6rGISud2zTA6b/Ug0AscAkR59Cq7Yr+hTx3f4AiO
+BJldL9jjh/gEKLxJEyiW0OIZIBJTI0xixIOxkvpMnpB7EC3wKBKCln03cFg5je1I+KzQJtbLy9uu
+wtE0ZifAC9V++uWXCCfRQWX1Ww/F9LO6Q6UDJOhqu4DJZVzJAJEQzcNk/qyVVX4E6MG0Ie+dQekc
+M2T244DCN1CcRDeVAjTVm0K365Ia8lboCjVugt2Ort7jCcmnk6Y2jsdlMy+cY7rMfhhmq7RxgFtR
+vIAdhFZQQHVi/yw6wrSFz9ViMTYDpk3WQaXlK+gq+CC125oeuqMjsb/bIMwMHXV0uqjsEAm6zbgQ
+UNzIOvWmKZ13yyMCrZ9/OZmB6H5ZBfwCn1XswCS1blzVZtBCNNVivW06iNp/k2Z9nwK9RMJuQ7f9
+dNV7JyVePucd1K/ruRBkNYqTgX0o9Ss87zOcd+DmVhRkcknKN8gLEG6jiLAD3a5Kzd5khnShIx3o
+3nIvIPwZuJxePj9huGausaXniyB/BUCgwIuP0KurWD3wN3YKVp9ks+T3y33AM9mNjla1qmIbCFp4
+neiotwxTPb8P4eNJeV5YZXPv+QjXsn8cBgpQCiDnwYIcLMjqZ1Am+HMAAAkBSURBVOFDnHfgX20X
+NU7Ss2G0EbSp4jqJIo4tMuhIZ9qHyzGumR9nnfrovBDfpu6VCB9jxwjsHdfi84FCAAN5eGwE9o6B
+4l/Y3Psu28WNk6wAFT8BKjsP1R2JZhMNr+jxvuh23bU2ipMK2ewnGSz0MlTUNc8eYG/4PICuifbn
+Yd84CFewZfGxNosbJ1kB+mEEjN+TtTnhS6qOH40XPsha9ZumlycNtix5JiX1FvaM6Xb3EFFHzXTw
+BglvX47DwYIH8m5LpZ1AsgK8RD0CbCdH5QwVWyLMVf0dReMbmluQVHk/e8eFvNICrMcIkQgVq9m8
+cHmDrZtGGjOi7wFaIwrGjytEApR5IsDPLnoqRf9sBgs6yk3WnxwBRgMYLHZA9m+bUMJJSUOAE50y
+M7U3TJ1c1f91mfbN1mCvZfCzH2TfuEeeqZsZjgD7x0F4J59dtDTF0k2J5AUoLTHwoolHQBP91Dy5
+17t5ycUUS+cwVNBV61QpoKPgwUIPfubf0ireVEm+clThZKl4BLThG1zdAYmq3/sslKY+n5BOOnkO
+Hscg7Aa2M8w23qXG6n7ms0tfgPI/ya6R6NZlbW91TSbcJn5Hae8YLMxdzJbFn2b1wT/oDUXo5ziE
+UwkokOEW1qhdyZxobdJonU0UoA2qq/0oAraGAK+SI8jyLhawloBuxoiq0SyKT8leMmwjx28R/oDi
+YeApCM8nkDMoqjYWo+/orAw/l0ffU1fob3YB+lamcUuPO6aLgrHBEm3e9fTLz/HposBrKbIMhb5e
+HSg2yE/x+A/Wqv9N4zKkJ0DbVJ+ZaQ+KxSq4X3IEvBCPC8jyV4yRK8/sMRMm9JxHQbEcYTkep5Sj
+Vw4tpryqNJo262Kqp5/tpXJWksTe0yLsRPnPw+d5FIlqjTbMYL2wgBfTzXfYKD8HribLTZyv9iR1
+SZIXoLAPxUEydJIlS4CEF0VmNA9wpuRiXutZFBmGAJ820lupV49N8mIUayjwZsZZwDj6Z2o6D0Vq
+zwq3QQH9gzCjBiPoicRtPI9OnkMHBT4td5HjOny2znbyhnNMd1jFZUZwWMUJ0GEVJ0CHVZwAHVZx
+AnRYxQnQYRUnQIdVnAAdVnECdFjFCdBhFSdAh1WcAB1WcQJ0WMUJ0GEVJ0CHVZwAHVZxAnRYxQnQ
+YRUnQIdVnAAdVnECdFjFCdBhFSdAh1WcAB1WcQJ0WMUJ0GEVJ0CHVZwAHVZxAnRYxQnQYRWbLh7J
+sFFeDRyN4j76uK0VDfkc9Uk2P6C2br0IeA7wTOCpwHaEH1Piv7hYbav72S3SQYEXAKej6EF4GMV9
+LOHWmiaCW6SHAtcAcXvVbcB6YDN9am9yJ+ZIi+QEuElWovgqihfW2SIAvo3iKnbyHVbRgXAqcDoB
+pyOcQm1jrx0IX0T4Ao/xSy5TARvllSiuAQ4r77myMZEHvoziatapOxqW2WOUC1RrpBV+ApKUX/CR
+aKPCIwCdj3gQne61GP5tjKI7ANiFtomu9DIqoJNsl4hyFXdUbDGIFtdyxtCpY01i78XhY2Jy9F8h
+/ADFToQ9KI4Anhs+DgVAuIUSb+FidWBmF8AxU5JqA74HI74SsBstpjgHw0cOWMhKFoTbjoePPLXN
+qE22904gyyJAG/BVZyYeQOdd7gm3jyLiiShOBPQPoYTOx5yLbaM4kwxfA06f+ik7kiCpCHg78AJ8
+4HEmJtw2h5iqdYPJ6D5ThMgZU8L9mehqyuah7Q3aKz75YvrUT2dxZMc0SSoCjgI6o7r5gsfDv+MG
+KsZqoB1jA6DFYSwKTMZ4hfb5aENHvmrTwQDKvho+UZQ0Z6OY3D0oQEfqw4nEruie/FQdSZKMAIUv
+oDijwrfiYI3tSuFjjMirop49gR9uN0bk9JMhEmn1fsfRwu6m8qxU7DNZKiOeH36uE4AfsZPvNj5R
+R9IkUwVvlQwDfIMRXsNudHTZy+TujWlRHV3j5VhG5KLkofvRGQaAE+hT25tZTEdSd0LOVj4dnEMn
+j9Ee7rUnkT3PjAK6U1Ng4o8g3tFZCmQoorjQic8OyQ5E98sGfPrKHZFhGpsoN5ssevBH0FX1Mnbg
+8SbWqJ/ZLViCfG7Jkf+/vbMHjSKKovB35+2y2V3Jz0YiamPjX5kqAW0lErRTsVALCagoomAlaAhq
+YWURxbgR3cQuVhZWtgEbG9MIFhJNSIzJJtEk+7/zLN7Mboy7GJMZJ4UHhhmGYebyOLx575wLhzLH
+wD4O0gqMIYxhqTecnfsQdHlr4TUBTwIjpDGSSAGj1W0VuMpjM9DMFDaHuKjHgy3KQ6QSNymW77FS
+hGVnodygIKIgHi4iVi9fFu7Tq2sJXoHAWwI+klbCfCODVVkLehZrt0k0YUTtBCZhUnOLC/pusEV5
+iKGW26RzfczlzN8n79wP44j6FuyMQ1SNUg51c352S7g/3nbDXNZp4H3FvXCTG4NGBEM+BY6UbaNI
+BViRt3ieOMNCvo+ZHKQxG8Al55jHTAKLNkwswWLhMFJ6GGS5q+EHPSaxqGp3a3N7g0DMObsqn/CW
+Hj0ZVDme4sX2g2QLg0xnzXKnVnC1q4umgZkM5MvnSCVO/9M668APAuaA4AOrXVhUWxzcmVkzEVA1
+tfFMdjEge3gptZox6mO4cR+F0mumsw0s8ufI1yLGTf+6AtoeZLil/bdn+qWRp9JJUpr+qpYNwo9+
+QLP62CoEVDWuNb7G0K8Lj2U/iivAKaDNcWY0AzKL8AlhHJzDXOcwvnY70A7sRiSBrYUdmNl9BTP6
+FmbZEXPOIX4V/m0bMj+2EQmNklRJsD8CByhyFGEvJQSLMkl5hyZFhiGu66wfw+AHAXM+vHPjWD3H
+VwXoYAj4QKLE6QIuIRxhGSGDcXtMArqgaQPasOisWJfu2RXW3aBre9UG0qLaQeQ+u0T1t2xTJaEC
+QhpCxRiKa+Sp+uSq8h5FlA7idBDnDkl5gsUIPXrMyyHxg4DfMT18jQhRBAtFNSoeajsk9Tbjm72v
+Kt/VKMcE1EzVK95zpKSBPN1oTgBdzBNnmRA5oIimhKw7Md11d/yGYMbNkF8TJkGMG8S5Sr98JsII
+Fq+8IOP/xPT/CBQ/AbqdEIgXnY9lAAAAAElFTkSuQmCC
+"
+     height="500"
+     width="160" />
+  <g
+     id="g4166"
+     transform="translate(200,0)">
+    <g
+       transform="matrix(1.0075215,0,0,1,-1.023657,-1.2477538)"
+       id="g3074">
+      <path
+         style="fill:#ff9900;fill-opacity:1;fill-rule:evenodd;stroke:none"
+         d="m 21.295625,500.21348 c -0.0024,-4.20042 0.05945,-6.39271 -1.292793,-9.4943 -4.619609,-4.06863 -0.306832,-8.84104 4.451392,-8.46278 3.425134,0.32851 1.953043,1.17025 5.998446,2.16699 7.918352,-2.18995 7.247275,-2.51622 12.843321,-0.3418 4.266851,1.65795 4.02667,-3.50847 7.996265,-2.04615 6.110478,2.25098 6.450795,4.01932 13.020656,2.05375 2.038667,-0.52552 4.17023,2.6697 3.509292,3.87722 -3.195314,5.8378 -4.00775,2.08432 -5.521203,7.69564 l -0.393921,4.55143 C 48.519597,500.28218 35.591328,500.26483 24.67274,500 z"
+         id="path3834-5-8-2-3"
+         inkscape:connector-curvature="0"
+         sodipodi:nodetypes="ccccsscscccc" />
+      <path
+         style="fill:#ff7900;fill-opacity:1;fill-rule:evenodd;stroke:none"
+         d="m 23.108743,500.21348 c -0.0021,-3.7632 0.137332,-5.53604 -1.0723,-8.31479 -4.13241,-3.64513 -0.274473,-7.92079 3.981934,-7.5819 3.063909,0.29432 1.747069,1.04844 5.365831,1.94143 7.083257,-1.962 6.482954,-2.25431 11.488824,-0.30622 3.816855,1.48538 3.384797,-2.18208 7.152953,-1.83317 5.051582,2.9051 5.770474,3.60095 11.647457,1.83998 1.823662,-0.47082 3.730424,2.39181 3.139191,3.47364 -2.858327,5.23016 -3.58508,1.86737 -4.93892,6.89462 l -0.352844,3.88641 c -12.449398,0.0615 -23.362267,0 -33.307021,0 z"
+         id="path3834-5-8-2-3-1"
+         inkscape:connector-curvature="0"
+         sodipodi:nodetypes="ccccsccscccc" />
+      <path
+         style="fill:#ff6200;fill-opacity:1;fill-rule:evenodd;stroke:none"
+         d="m 25.032047,500.21348 c -0.0019,-3.23853 0.401689,-6.10129 -0.665331,-8.49264 -3.645212,-3.13694 -1.17843,-4.85022 2.576159,-4.55858 2.702683,0.25329 1.915622,0.52774 5.107744,1.29623 6.248163,-1.68846 5.718633,-1.75276 10.134327,-0.0763 3.366859,1.27829 4.202951,-1.31607 7.526853,-1.0158 4.456016,2.50008 4.153836,2.91165 9.337941,1.39619 1.608657,-0.40518 2.260669,1.49656 1.73914,2.42757 -2.521338,4.50098 -2.13246,1.13886 -3.326687,5.46522 l -0.310832,3.55811 C 46.169708,500.26641 36.543022,500 27.770723,500 z"
+         id="path3834-5-8-2-3-1-9"
+         inkscape:connector-curvature="0"
+         sodipodi:nodetypes="ccccsccscccc" />
+    </g>
+    <g
+       transform="translate(-0.513536,-1.0658767)"
+       id="g3813">
+      <path
+         style="fill:#ff9900;fill-opacity:1;fill-rule:evenodd;stroke:none"
+         d="m 21.154648,450 c -0.0024,-5.51241 -0.312727,-8.10931 -1.654892,-12.17967 -4.102964,-3.35623 -5.690835,-10.9599 1.908999,-10.36885 3.399605,0.43111 3.23956,1.29002 7.25481,2.59809 7.859331,-2.87398 7.56499,-2.07339 13.769863,-0.20281 4.429834,1.33546 4.94936,-4.9435 8.773066,-3.17677 6.135729,2.835 1.540823,4.81329 9.221262,4.59312 1.633702,0.37579 0.659177,-0.34625 5.932755,-2.14364 2.023472,-0.68967 3.674477,2.64344 3.018466,4.22813 -3.171498,7.66122 -6.115356,1.13794 -7.896329,10.9595 L 60.441126,450 c -13.81341,0.0901 -25.271923,0 -36.30627,0 z"
+         id="path3834-5-8-2"
+         inkscape:connector-curvature="0"
+         sodipodi:nodetypes="ccccsscsscccc" />
+      <path
+         style="fill:#ff7900;fill-opacity:1;fill-rule:evenodd;stroke:none"
+         d="m 22.816018,449.91831 c -0.0022,-4.90122 0.09195,-8.43936 -1.120826,-12.05843 -3.707421,-2.98411 -5.516741,-8.43391 1.350437,-7.90839 3.071869,0.38331 2.927253,1.147 6.555416,2.31003 7.101659,-2.55533 6.835694,-1.84351 12.442391,-0.18032 4.00278,1.18739 4.472221,-4.3954 7.927306,-2.82455 5.544219,2.52068 1.392281,4.27962 8.332294,4.08387 1.476207,0.33412 1.344684,0.1603 6.109867,-1.43781 1.828401,-0.6132 3.133133,2.28955 1.97842,3.29118 -6.108369,5.29858 -5.633793,0.96139 -7.135091,9.7444 L 58.315117,450 c -12.48174,0.0801 -22.835605,0 -32.806194,0 z"
+         id="path3834-5-8-2-7"
+         inkscape:connector-curvature="0"
+         sodipodi:nodetypes="ccccsscsscccc" />
+      <path
+         style="fill:#ff6200;fill-opacity:1;fill-rule:evenodd;stroke:none"
+         d="m 26.079362,449.96479 c -0.0018,-4.22456 0.0747,-7.33498 -0.910498,-10.4544 -3.011708,-2.57213 -5.408408,-5.1509 0.170115,-4.69793 2.495419,0.33039 4.231756,0.72382 7.179078,1.72628 5.769003,-2.20255 4.228793,-1.32417 8.783371,0.10941 3.25164,1.02345 4.824727,-4.31824 7.631451,-2.96426 4.503823,2.17268 0.336521,2.0998 5.974211,1.93108 1.19919,0.28799 1.092347,0.98085 4.963324,-0.39662 1.485293,-0.52854 1.61828,1.13077 0.680254,1.99411 -4.962107,4.56706 -3.64968,0.82866 -4.869254,8.3991 l -0.76451,4.42365 c -10.139488,0.069 -18.550407,0 -26.649972,0 z"
+         id="path3834-5-8-2-7-3"
+         inkscape:connector-curvature="0"
+         sodipodi:nodetypes="ccccsscsscccc" />
+    </g>
+    <g
+       transform="translate(-0.513536,-1.1729936)"
+       id="g3808">
+      <path
+         style="fill:#ff9900;fill-opacity:1;fill-rule:evenodd;stroke:none"
+         d="m 22.457296,400 c -0.0023,-6.71319 -0.57052,-9.3962 -1.882478,-14.35322 -2.960564,-3.69012 -4.35086,-6.7694 -4.436949,-7.24019 -0.861248,-4.70991 2.567173,-5.82442 5.282446,-5.39544 3.323094,0.52502 3.056954,1.87399 6.981838,3.467 8.337872,-2.35976 8.602537,-2.50549 14.667764,-0.22743 4.330137,1.62637 6.132538,-4.96688 10.219452,-4.34445 1.462132,0.22269 3.206609,1.54244 3.221552,2.96606 0.02248,2.14219 1.562374,2.42261 2.74387,2.76119 1.596935,0.45765 2.658803,-0.0409 7.813695,-2.2298 1.977932,-0.8399 4.021633,1.83342 4.268031,3.16192 1.588116,8.56263 -8.014904,-0.1857 -10.020626,14.83925 l -0.643555,6.74109 c -13.502527,0.10972 -24.515894,-0.15024 -35.301904,-0.15024 z"
+         id="path3834-5-8"
+         inkscape:connector-curvature="0"
+         sodipodi:nodetypes="ccsscsssssscccc" />
+      <path
+         style="fill:#ff7900;fill-opacity:1;fill-rule:evenodd;stroke:none"
+         d="m 24.399686,400 c -0.0021,-6.2708 -0.42776,-9.91708 -1.626743,-14.54744 -2.705625,-3.44694 -4.069833,-5.48061 -4.148509,-5.92037 -0.787084,-4.39953 1.409793,-4.22339 3.89125,-3.82268 3.036937,0.49042 3.07461,1.28234 6.661516,2.77037 7.619887,-2.20425 6.831811,-2.62127 12.374753,-0.49333 3.957263,1.51919 8.038882,-4.07778 11.773865,-3.49637 1.336227,0.20802 2.368693,1.06627 2.382349,2.39607 0.02054,2.00102 1.240573,1.60754 2.320329,1.92381 1.45942,0.42749 2.429849,0.80449 7.140846,-1.24017 1.80761,-0.78455 4.606311,1.06563 3.900505,2.11087 -5.25011,7.77498 -7.444265,-0.17745 -9.157735,13.86135 L 59.323973,400 c -12.339804,0.10249 -22.404794,-0.30133 -32.262005,-0.30133 z"
+         id="path3834-5-8-1"
+         inkscape:connector-curvature="0"
+         sodipodi:nodetypes="ccsscsssssscccc" />
+      <path
+         style="fill:#ff6200;fill-opacity:1;fill-rule:evenodd;stroke:none"
+         d="m 26.272365,400 c -0.0018,-5.61973 0.09585,-9.60293 -0.947694,-13.75255 -2.354867,-3.08906 -2.576529,-3.62622 -2.645006,-4.02032 -0.685046,-3.94275 0.455255,-1.61805 2.615016,-1.25894 2.643228,0.4395 2.940849,0.75195 6.062748,2.08548 6.632045,-1.97539 6.343382,-2.21669 11.167737,-0.30969 3.444244,1.36147 5.9374,-3.6544 9.18818,-3.13335 1.162999,0.18642 2.061616,0.95555 2.073503,2.14729 0.01788,1.79326 1.079744,1.44064 2.01952,1.72407 1.270221,0.38311 1.187938,-0.7356 5.288201,-2.56798 1.573271,-0.70309 1.99149,1.34933 1.011368,1.89171 -6.964609,3.85408 -3.441814,-0.96415 -4.924976,11.6277 l -0.511892,5.68026 c -10.740074,0.0919 -19.500239,-0.16294 -28.079562,-0.16294 z"
+         id="path3834-5-8-1-6"
+         inkscape:connector-curvature="0"
+         sodipodi:nodetypes="ccsscsssssscccc" />
+    </g>
+    <g
+       transform="matrix(1.0111723,0,0,0.9658163,-1.324153,10.603623)"
+       id="g3803">
+      <path
+         style="fill:#ff9900;fill-opacity:1;fill-rule:evenodd;stroke:none"
+         d="m 23.24255,349.89256 c -0.0023,-7.81704 0.226574,-10.01106 -1.100628,-15.78317 -2.994963,-4.29688 -6.451043,-8.24582 -6.631764,-9.35582 -0.892364,-5.48096 1.659324,-7.0905 4.406147,-6.59098 3.361706,0.61134 3.654161,3.22353 8.000639,3.78366 3.081936,0.39717 3.502609,-1.98322 6.179807,-2.39619 2.907489,-0.4485 4.671951,0.9697 8.658385,2.69315 4.380452,1.8938 6.203793,-5.78358 10.338195,-5.0588 1.47912,0.2593 3.243867,1.79606 3.258984,3.45376 0.02274,2.49444 1.580528,2.82096 2.775751,3.21522 1.61549,0.5329 3.493419,0.33788 8.708206,-2.21098 2.000914,-0.978 4.296551,-0.74386 4.719484,0.75226 3.080062,10.89571 -9.715476,1.55693 -11.744503,19.05242 l -1.320801,8.5089 c -13.659417,0.12776 -25.336566,-0.0633 -36.247902,-0.0634 z"
+         id="path3834-5"
+         inkscape:connector-curvature="0"
+         sodipodi:nodetypes="ccsssssssssscccc" />
+      <path
+         style="fill:#ff7900;fill-opacity:1;fill-rule:evenodd;stroke:none"
+         d="m 24.955277,349.94528 c -0.0021,-7.34396 0.204653,-10.15425 -0.994149,-15.57704 -2.705216,-4.03684 -5.536984,-8.36823 -5.615647,-8.88326 -0.786966,-5.15245 0.749738,-4.50786 3.23082,-4.03857 3.036478,0.57434 3.206212,3.78095 6.945722,2.39711 6.430014,-2.3795 8.515993,-2.36639 14.058095,0.12571 3.956664,1.77919 6.352662,-4.21635 10.087081,-3.53543 1.336023,0.2436 2.649145,1.2192 2.6628,2.77658 0.02054,2.34348 2.457569,2.46298 3.537159,2.83338 1.459201,0.50065 1.750973,0.78559 6.461256,-1.60902 1.807337,-0.91881 4.289218,-1.77483 4.169266,-0.32321 -0.759777,9.19459 -8.996486,1.39772 -10.608282,17.89939 l -1.193021,7.99395 c -12.337937,0.12003 -22.885382,-0.0595 -32.7411,-0.0596 z"
+         id="path3834-5-61"
+         inkscape:connector-curvature="0"
+         sodipodi:nodetypes="ccssssssssscccc" />
+      <path
+         style="fill:#ff6200;fill-opacity:1;fill-rule:evenodd;stroke:none"
+         d="m 27.506919,349.94449 c -0.0019,-6.85654 0.180311,-9.21547 -0.875905,-14.27835 -2.383454,-3.76891 -4.6148,-6.88591 -4.684107,-7.36675 -0.693363,-4.81048 -0.393878,-2.48727 1.792102,-2.04913 2.675316,0.53622 4.933748,4.05967 8.228477,2.76767 5.665224,-2.22157 8.293925,-1.67967 13.176845,0.64703 3.486055,1.6611 2.82916,-3.27444 6.119405,-2.63871 1.177115,0.22743 1.806832,1.00587 1.818863,2.45989 0.0181,2.18794 4.274148,-0.34881 5.225332,-0.003 1.285642,0.46742 3.395241,-2.8654 3.734497,-0.79849 0.490935,2.991 -4.621322,2.35365 -5.823787,13.8522 l -1.051123,7.46338 c -10.870453,0.11206 -18.977128,-0.0555 -27.660599,-0.0556 z"
+         id="path3834-5-61-5"
+         inkscape:connector-curvature="0"
+         sodipodi:nodetypes="ccsssssssscccc" />
+    </g>
+    <g
+       transform="matrix(1,0,0,0.97330928,-0.513536,0.33453616)"
+       id="g3255">
+      <path
+         style="fill:#ff9900;fill-opacity:1;fill-rule:evenodd;stroke:none"
+         d="m 99.273179,49.438245 c 0.634112,-5.388716 -0.662666,-7.418003 -1.217212,-10.674016 0.74095,-3.074463 4.631243,-3.516086 7.807973,-1.803224 4.49421,2.406283 7.56946,-0.148748 10.68758,-0.484549 0.72804,-0.07841 2.25851,-0.01366 3.13337,0.05071 1.93065,0.367669 1.1283,1.524021 3.18348,1.488012 l 3.18348,0 c 0.48272,-1.465119 2.54827,-1.774053 3.41756,-1.776942 2.7853,0.809822 2.83684,2.368791 5.47745,2.71322 3.90076,0.508795 4.04819,-0.979297 6.83512,-1.779003 1.99573,0.276444 3.07673,1.044146 3.55801,2.15353 l -0.46816,2.621688 C 143.79285,45.903276 141.87561,44.807147 141.87561,50 l -21.5353,0 -21.067131,0 0,-0.561791 z"
+         id="path4116"
+         inkscape:connector-curvature="0"
+         sodipodi:nodetypes="cccsccccccccccccc" />
+      <path
+         style="fill:#ff7900;fill-opacity:1;fill-rule:evenodd;stroke:none"
+         d="m 100.3224,49.335893 c 0.59515,-4.702226 -0.621928,-6.472994 -1.142389,-9.314211 0.695407,-2.682794 4.346569,-3.068157 7.328019,-1.573504 4.21796,2.099737 7.10419,-0.129798 10.03065,-0.42282 0.68327,-0.06842 2.11967,-0.01192 2.94075,0.04425 1.81198,0.320829 1.05894,1.329869 2.98781,1.298448 l 2.9878,0 c 0.45303,-1.278471 2.39162,-1.54805 3.20748,-1.55057 2.61409,0.706655 2.66246,2.067021 5.14075,2.367571 3.66098,0.443979 3.79936,-0.85454 6.41498,-1.552368 1.87305,0.241227 2.88761,0.911128 3.33931,1.879183 l -0.43939,2.287701 c -1.01266,3.451684 -2.81205,2.495196 -2.81205,7.02651 l -20.21156,0 -19.77216,0 0,-0.490222 z"
+         id="path4116-0"
+         inkscape:connector-curvature="0"
+         sodipodi:nodetypes="cccsccccccccccccc" />
+      <path
+         style="fill:#ff6200;fill-opacity:1;fill-rule:evenodd;stroke:none"
+         d="m 101.8255,49.495699 c 0.54492,-3.983082 -0.56944,-5.483035 -1.04598,-7.889724 0.63671,-2.272496 3.97974,-2.598923 6.70957,-1.332857 3.86198,1.778609 6.50462,-0.109948 9.1841,-0.358156 0.62561,-0.05795 1.94078,-0.0101 2.69257,0.03748 1.65905,0.271763 0.96957,1.126483 2.73565,1.099868 l 2.73565,0 c 0.41479,-1.082946 2.18977,-1.311297 2.93677,-1.313431 2.39348,0.598582 2.43777,1.750897 4.7069,2.005483 3.35201,0.376077 3.47872,-0.723851 5.87358,-1.314955 1.71498,0.204335 2.64391,0.771784 3.0575,1.591787 l -0.40232,1.937828 c -0.92719,2.923793 -2.57472,2.113588 -2.57472,5.951897 l -18.50579,0 -18.10348,0 0,-0.415249 z"
+         id="path4116-0-1"
+         inkscape:connector-curvature="0"
+         sodipodi:nodetypes="cccsccccccccccccc" />
+    </g>
+    <g
+       transform="matrix(1,0,0,0.96980155,-0.513536,2.0198451)"
+       id="g3499">
+      <g
+         id="g3296">
+        <path
+           sodipodi:nodetypes="ccccc"
+           inkscape:connector-curvature="0"
+           id="path3028"
+           d="m 112.71253,91.780824 c 0.2152,-4.12484 2.27805,-10.276226 6.67173,-10.383607 3.87594,-0.04782 5.46358,3.337354 8.23078,9.480685 l 1.67517,0.0025 c -14.90487,1.803846 -9.68179,1.257979 -16.57768,0.900392 z"
+           style="fill:#ff9f10;fill-opacity:1;fill-rule:evenodd;stroke:none" />
+        <path
+           sodipodi:nodetypes="ccccc"
+           inkscape:connector-curvature="0"
+           id="path3028-1"
+           d="m 113.065,93.410276 c 0.20661,-4.12484 2.18707,-10.276226 6.40528,-10.383607 3.72114,-0.04782 5.24537,3.337354 7.90206,9.480685 l 1.60826,0.0025 c -14.3096,1.803846 -9.29512,1.257979 -15.9156,0.900392 z"
+           style="fill:#ff7a00;fill-opacity:1;fill-rule:evenodd;stroke:none" />
+        <path
+           sodipodi:nodetypes="ccccc"
+           inkscape:connector-curvature="0"
+           id="path3028-1-4"
+           d="m 114.05811,94.204767 c 0.18598,-3.861846 1.96872,-9.621028 5.76579,-9.721563 3.34963,-0.04477 4.72168,3.124569 7.11313,8.87621 l 1.4477,0.0023 c -12.88096,1.688835 -8.36712,1.177772 -14.32662,0.842984 z"
+           style="fill:#ff6200;fill-opacity:1;fill-rule:evenodd;stroke:none" />
+      </g>
+      <path
+         style="fill:#ff9900;fill-opacity:1;fill-rule:evenodd;stroke:none"
+         d="m 97.696675,99.399413 c 0.634112,-3.964885 0.835442,-5.832511 0.280896,-8.228205 0.74095,-2.262114 3.133139,-2.212522 6.309869,-0.952241 2.9961,1.395957 7.56946,-0.109445 10.68758,-0.356519 0.72804,-0.05769 2.25851,-0.01005 3.13337,0.03731 1.93065,0.270522 1.1283,1.121337 3.18348,1.094843 l 3.18348,0 c 0.48272,-1.077999 3.20369,-0.930778 4.07298,-0.932903 2.7853,0.595847 2.18141,1.368371 4.82203,1.621793 3.90076,0.374359 4.04818,-0.720543 6.83511,-1.308946 1.99574,0.2034 3.07673,0.768256 3.55802,1.584514 l -0.46816,1.928973 c -1.07898,2.910437 -0.2809,2.291195 -0.2809,6.111968 l -24.25062,-0.187263 -21.067135,0 0,-0.413352 z"
+         id="path4116-2"
+         inkscape:connector-curvature="0"
+         sodipodi:nodetypes="cccsccccccccccccc" />
+      <path
+         style="fill:#ff7a00;fill-opacity:1;fill-rule:evenodd;stroke:none"
+         d="m 98.717675,99.489039 c 0.599481,-3.3732 0.789815,-4.962118 0.265555,-7.0003 0.700484,-1.924536 2.96203,-1.882345 5.96526,-0.810137 2.83247,1.187637 7.15606,-0.09311 10.10389,-0.303315 0.68828,-0.04908 2.13517,-0.0086 2.96225,0.03174 1.82521,0.230152 1.06668,0.953999 3.00961,0.931458 l 3.00962,0 c 0.45636,-0.917127 3.02873,-0.791877 3.85054,-0.793684 2.63318,0.506928 2.06227,1.164167 4.55868,1.37977 3.68772,0.318494 3.82709,-0.613016 6.46182,-1.113609 1.88674,0.173046 2.9087,0.653607 3.3637,1.348054 l -0.44259,1.64111 c -1.02005,2.476109 -0.26556,1.949277 -0.26556,5.199872 l -22.9262,-0.159317 -19.916575,0 0,-0.351668 z"
+         id="path4116-2-5"
+         inkscape:connector-curvature="0"
+         sodipodi:nodetypes="cccsccccccccccccc" />
+      <path
+         style="fill:#ff6200;fill-opacity:1;fill-rule:evenodd;stroke:none"
+         d="m 99.710789,99.586135 c 0.563031,-2.732209 0.741781,-4.019193 0.2494,-5.67007 0.657901,-1.558827 2.781911,-1.524654 5.602521,-0.656191 2.66023,0.961956 6.7209,-0.07542 9.48948,-0.245678 0.64642,-0.03975 2.00533,-0.0069 2.78211,0.02571 1.71422,0.186417 1.00182,0.772715 2.8266,0.754458 l 2.82661,0 c 0.42861,-0.742851 2.84455,-0.641401 3.61639,-0.642865 2.47306,0.410599 1.93686,0.942947 4.28147,1.11758 3.46347,0.257972 3.59437,-0.496527 6.06888,-0.901996 1.77201,0.140163 2.73182,0.529406 3.15915,1.091891 l -0.41567,1.329258 c -0.95802,2.005587 -0.24941,1.578867 -0.24941,4.211768 l -21.53207,-0.129043 -18.705461,0 0,-0.284842 z"
+         id="path4116-2-5-8"
+         inkscape:connector-curvature="0"
+         sodipodi:nodetypes="cccsccccccccccccc" />
+    </g>
+    <g
+       transform="matrix(1.0184293,0,0,1,-2.2495165,-0.99999959)"
+       id="g3373">
+      <g
+         id="g3209"
+         transform="translate(-0.56179,0.749054)">
+        <path
+           sodipodi:nodetypes="sscccsssssssscccscsccccs"
+           inkscape:connector-curvature="0"
+           id="path3028-8"
+           d="m 104.533,146.88074 c 0,-0.31712 1.00858,-0.37553 0.54682,-0.37553 l 0.54681,0 0,0.0451 0,-2.62875 0.54682,0 c 0.43039,0 2.88284,1.27337 2.88284,1.0384 0,-0.26797 0.12313,-0.30733 1.20298,-0.38455 1.0866,-0.0777 1.203,-0.11542 1.203,-0.38995 0,-0.29648 0.0429,-0.30394 1.7498,-0.30394 1.6981,0 1.74981,0.009 1.74981,0.29852 0,0.26797 0.12314,0.30733 1.203,0.38454 1.0866,0.0777 1.65046,0.4889 1.20298,0.38996 l -2.33602,-1.03298 6.38245,-1.33693 -7.82855,-0.11794 c 0.0831,-1.01688 0.88043,-3.95119 1.03928,-7.29679 0.1936,-4.07735 2.90157,-8.56077 5.02178,-8.59385 2.24541,-0.0177 4.00409,1.28525 5.37484,5.8126 0.6849,2.26207 0.97487,8.30985 1.77585,9.44491 2.72663,6.41758 -0.23192,5.39291 -9.48672,5.42275 l -12.77777,0 0,-0.37554 z"
+           style="opacity:0.98279993;fill:#ff9f10;fill-opacity:1;fill-rule:evenodd;stroke:none" />
+        <path
+           sodipodi:nodetypes="sscccsssssssscccscscccccs"
+           inkscape:connector-curvature="0"
+           id="path3028-4-0"
+           d="m 106.82686,147.28051 c 0,-0.30135 0.85371,-0.35687 0.46285,-0.35687 l 0.46285,0 0,0.0429 0,-2.49804 0.46285,0 c 0.3643,0 2.44015,1.21005 2.44015,0.98677 0,-0.25465 0.10423,-0.29205 1.01826,-0.36543 0.91974,-0.0738 1.01826,-0.10968 1.01826,-0.37057 0,-0.28172 0.0363,-0.28882 1.48111,-0.28882 1.43735,0 1.48112,0.008 1.48112,0.28368 0,0.25464 0.10422,0.29204 1.01826,0.36542 0.91975,0.0738 1.39701,0.46458 1.01826,0.37057 l -1.9773,-0.98162 5.40237,-1.27045 -6.40226,-0.23791 c 0.0866,-1.19006 1.80554,-12.02253 2.765,-13.15487 0.79303,-0.93592 0.6791,-1.72963 2.14117,-1.75523 1.60535,-0.0142 2.06678,-0.0163 3.06015,1.05378 0.77031,0.82981 2.10372,11.96652 2.99251,13.3805 l 1.23186,0.001 c -1.32448,4.49451 6.65979,5.12444 -9.26182,5.15177 l -10.81565,0 0,-0.35686 z"
+           style="opacity:0.98279993;fill:#ff7900;fill-opacity:1;fill-rule:evenodd;stroke:none" />
+        <path
+           sodipodi:nodetypes="sscccssssssssccccccccccs"
+           inkscape:connector-curvature="0"
+           id="path3028-4-7-4"
+           d="m 109.77781,147.40471 c 0,-0.28427 0.67988,-0.33663 0.36861,-0.33663 l 0.3686,0 0,0.0404 0,-2.35643 0.36861,0 c 0.29013,0 1.9433,1.14146 1.9433,0.93083 0,-0.24021 0.083,-0.27549 0.81093,-0.34471 0.73247,-0.0696 0.81093,-0.10347 0.81093,-0.34956 0,-0.26576 0.029,-0.27245 1.17954,-0.27245 1.14468,0 1.17954,0.008 1.17954,0.2676 0,0.2402 0.083,0.27549 0.81093,0.3447 0.73247,0.0697 1.11256,0.43825 0.81093,0.34956 l -1.5747,-0.92597 4.30238,-1.19843 -5.09867,-0.22442 c 0.069,-1.12259 2.17975,-11.42719 2.94384,-12.49534 0.764,-1.00252 1.60538,-0.50307 2.37047,0.35574 0.61347,0.78277 2.70533,10.35693 3.41314,11.69076 l 0.98104,0.001 c -1.0548,4.23972 5.30377,4.83393 -7.37599,4.85972 l -8.61343,0 0,-0.33663 z"
+           style="opacity:0.98279993;fill:#ff6200;fill-opacity:1;fill-rule:evenodd;stroke:none" />
+      </g>
+      <path
+         style="fill:#ff9900;fill-opacity:1;fill-rule:evenodd;stroke:none"
+         d="m 94.196751,149.67888 c 0.826217,-1.66292 2.939123,-2.00809 3.705354,-3.12014 0.612398,-0.88878 0.341288,-2.91439 0.743913,-3.60387 0.977471,-1.67389 2.260062,-1.42967 3.195842,-1.15048 5.5649,3.34485 9.42162,2.01923 10.92453,0.47234 0.54613,-0.56211 2.4273,-0.008 3.36754,0.0289 5.79781,4.02971 5.05722,0.34065 11.22017,0.12569 2.99346,0.46247 2.34444,1.06206 5.1824,1.25876 4.19228,0.29056 1.82267,-1.02741 4.81788,-1.4841 2.14488,0.15787 3.58757,0.68992 4.10482,1.32345 0.55,4.79259 3.9914,4.59914 3.49456,6.3507 -10.44581,0.13291 -28.11543,0.11949 -28.11543,0.11949 l -22.641579,0 0,-0.32083 z"
+         id="path4116-2-3"
+         inkscape:connector-curvature="0"
+         sodipodi:nodetypes="csscscccccccccc" />
+      <path
+         style="fill:#ff7a00;fill-opacity:1;fill-rule:evenodd;stroke:none"
+         d="m 95.224556,149.73982 c 0.791204,-1.34764 2.814573,-1.62737 3.548332,-2.52857 0.586452,-0.72027 0.326831,-2.36184 0.712387,-2.92059 0.936045,-1.35653 2.164295,-1.15861 3.060425,-0.93235 5.32907,2.71067 9.02236,1.63639 10.46158,0.38279 0.52299,-0.45554 2.32444,-0.007 3.22484,0.0234 5.55211,3.26568 4.8429,0.27606 10.74469,0.10186 2.86661,0.37478 2.24509,0.86069 4.96278,1.02009 4.01463,0.23548 1.74544,-0.83261 4.61372,-1.20271 2.05399,0.12794 3.43554,0.55911 3.93087,1.07252 0.52669,3.88394 3.82226,3.72717 3.34647,5.14663 -10.00315,0.10771 -26.92399,0.0968 -26.92399,0.0968 l -21.682104,0 0,-0.26 z"
+         id="path4116-2-3-6"
+         inkscape:connector-curvature="0"
+         sodipodi:nodetypes="csscscccccccccc" />
+      <path
+         style="fill:#ff6200;fill-opacity:1;fill-rule:evenodd;stroke:none"
+         d="m 96.581943,149.79365 c 0.753138,-1.06945 2.679161,-1.29143 3.377613,-2.00659 0.558224,-0.57158 0.311104,-1.87429 0.678114,-2.31769 0.89101,-1.0765 2.06016,-0.91943 2.91318,-0.73988 5.07267,2.1511 8.58827,1.29859 9.95825,0.30376 0.49782,-0.3615 2.21261,-0.006 3.06968,0.0185 5.28499,2.59154 4.6099,0.21907 10.22774,0.0808 2.72869,0.29741 2.13707,0.68301 4.72401,0.80951 3.82148,0.18687 1.66147,-0.66073 4.39175,-0.95443 1.95517,0.10152 3.27025,0.44368 3.74175,0.85111 0.50134,3.08217 3.63835,2.95776 3.18546,4.08421 -9.52188,0.0855 -25.62862,0.0768 -25.62862,0.0768 l -20.638927,0 0,-0.20633 z"
+         id="path4116-2-3-6-3"
+         inkscape:connector-curvature="0"
+         sodipodi:nodetypes="csscscccccccccc" />
+    </g>
+    <g
+       id="g4132">
+      <g
+         id="g3232"
+         transform="matrix(1.1040865,0,0,1.0255883,-12.754726,-3.8254288)">
+        <path
+           sodipodi:nodetypes="sscccsssssscccsscsccccs"
+           inkscape:connector-curvature="0"
+           id="path3028-8-0"
+           d="m 104.04864,196.40367 c 0,-0.32834 1.04235,-0.38882 0.56513,-0.38882 l 0.56511,0 0,0.0467 c -0.54369,-3.4381 1.69961,-1.58113 3.5445,-1.64664 0,-0.27745 0.12725,-0.3182 1.24326,-0.39815 1.12298,-0.0805 1.24328,1.88049 1.24328,1.59624 0,-0.30697 0.0443,-0.31469 1.80839,-0.31469 1.75495,0 1.80839,0.009 1.80839,0.30908 0,0.27746 0.12727,-1.68179 1.24328,-1.60185 1.12299,0.0805 1.70573,0.5062 1.24326,0.40376 l -2.41423,0.93046 6.59615,-1.38424 -8.09067,-0.12211 c 0.0859,-1.05287 0.90989,-6.09103 1.07407,-9.55503 0.10044,-2.11916 0.0606,-5.2399 0.99865,-7.16757 0.93064,-1.91251 2.83517,-2.64028 3.92645,-2.65734 2.32059,-0.0183 4.40299,2.25765 5.81963,6.94523 0.70783,2.34212 1.00751,10.60394 1.83531,11.77917 2.81793,6.6447 -0.23968,3.58377 -9.80436,3.61466 l -13.2056,0 0,-0.38883 z"
+           style="opacity:0.98279993;fill:#ff9f10;fill-opacity:1;fill-rule:evenodd;stroke:none" />
+        <path
+           sodipodi:nodetypes="sscccsssssssscccscscccccs"
+           inkscape:connector-curvature="0"
+           id="path3028-4-0-8"
+           d="m 106.4193,196.81759 c 0,-0.31201 0.8823,-0.3695 0.47835,-0.3695 l 0.47835,0 0,0.0444 0,-2.58645 0.47834,0 c 0.3765,0 2.52186,1.25288 2.52186,1.02169 0,-0.26366 0.10772,-0.30238 1.05235,-0.37836 0.95054,-0.0764 1.05235,-0.11356 1.05235,-0.38368 0,-0.29169 0.0375,1.70096 1.53071,1.70096 1.48547,0 1.53071,-1.992 1.53071,-1.70629 0,0.26366 0.10771,0.30238 1.05235,0.37836 0.95055,0.0764 1.44379,0.48102 1.05236,0.38368 l -2.04351,0.98364 5.58326,-1.31541 -6.61663,-0.24633 c 0.0895,-1.23218 1.27013,-14.77906 2.26171,-15.95147 0.81958,-0.96905 0.96667,-2.45292 2.47769,-2.47942 1.65911,-0.0147 2.46703,0.97621 3.49366,2.08418 0.7961,0.85918 2.17415,14.39003 3.0927,15.85405 l 1.27311,0.001 c -1.36883,4.65357 6.88278,3.30579 -9.57193,3.33409 l -11.17779,0 0,-0.36949 z"
+           style="opacity:0.98279993;fill:#ff7900;fill-opacity:1;fill-rule:evenodd;stroke:none" />
+        <path
+           sodipodi:nodetypes="sscccssssssssccccccccccs"
+           inkscape:connector-curvature="0"
+           id="path3028-4-7-4-1"
+           d="m 109.46906,196.93498 c 0,-0.3038 0.70264,-0.35975 0.38095,-0.35975 l 0.38094,0 0,0.0432 0,-2.51832 0.38095,0 c 0.29985,0 2.00837,1.21988 2.00837,0.99479 0,-0.25672 0.0858,-0.29443 0.83808,-0.3684 0.757,-0.0743 0.83808,-0.11058 0.83808,-0.37358 0,-0.28401 0.03,-0.29116 1.21904,-0.29116 1.18301,0 1.21903,0.008 1.21903,0.28598 0,0.2567 0.0858,0.29442 0.83808,0.36838 0.757,0.0745 1.14982,0.46836 0.83809,0.37358 l -1.62743,-0.98959 4.44644,0.71925 -5.26939,-0.23984 c 0.0713,-1.19972 2.25273,-14.21225 3.04241,-15.35378 0.78958,-1.07139 1.65913,-0.53764 2.44984,0.38018 0.63401,0.83654 2.79591,13.06845 3.52742,14.49392 l 1.01389,0.001 c -1.09012,4.53098 5.48135,3.16602 -7.62296,3.19358 l -8.90183,0 0,-0.35976 z"
+           style="opacity:0.98279993;fill:#ff6200;fill-opacity:1;fill-rule:evenodd;stroke:none" />
+      </g>
+      <path
+         style="fill:#ff9900;fill-opacity:1;fill-rule:evenodd;stroke:none"
+         d="m 91.727015,198.79487 c 0.858518,-1.06221 2.866763,-1.28269 3.66295,-1.99302 0.636339,-0.56772 3.06995,-2.21932 3.488316,-2.65973 1.015683,-1.06922 2.535679,-0.46608 3.508039,-0.28774 5.78246,2.13656 7.79037,1.58991 9.75988,0.21228 0.54918,-0.38413 2.14766,-0.18363 3.12466,-0.16042 6.02448,2.57402 3.66319,0.0388 10.06708,-0.0985 3.11049,0.29541 3.27878,1.03612 6.2277,1.16176 2.6708,-0.4404 0.58307,-1.28226 3.69538,-1.57398 1.39617,-0.20965 2.87283,1.81421 4.92014,3.1788 1.90542,1.27004 4.44294,1.8613 4.28718,2.34915 -10.85418,0.0849 -29.21459,0.0763 -29.21459,0.0763 l -23.526735,0 0,-0.20493 z"
+         id="path4116-2-3-8"
+         inkscape:connector-curvature="0"
+         sodipodi:nodetypes="csscsccccsccccc" />
+    </g>
+    <path
+       sodipodi:nodetypes="csscsccccsccccc"
+       inkscape:connector-curvature="0"
+       id="path4116-2-3-8-0"
+       d="m 93.365354,198.85031 c 0.803657,-0.77484 2.68357,-0.93567 3.428878,-1.45382 0.595676,-0.41412 2.873772,-1.61889 3.265398,-1.94015 0.95078,-0.77994 2.37365,-0.33998 3.28387,-0.20989 5.41295,1.55852 7.29255,1.15976 9.1362,0.15486 0.51409,-0.28022 2.01042,-0.13397 2.92499,-0.11703 5.6395,1.87764 3.4291,0.0283 9.42377,-0.0718 2.91172,0.21549 3.06925,0.7558 5.82973,0.84745 2.50013,-0.32125 0.54581,-0.93535 3.45924,-1.14815 1.30695,-0.15294 2.68924,1.32338 4.60573,2.31878 1.78366,0.92644 4.15902,1.35773 4.01321,1.7136 -10.16057,0.062 -27.3477,0.0557 -27.3477,0.0557 l -22.023316,0 0,-0.14948 z"
+       style="fill:#ff7a00;fill-opacity:1;fill-rule:evenodd;stroke:none" />
+    <path
+       sodipodi:nodetypes="csscsccccsccccc"
+       inkscape:connector-curvature="0"
+       id="path4116-2-3-8-0-3"
+       d="m 94.488937,198.9025 c 0.764035,-0.50437 2.551264,-0.60906 3.259829,-0.94634 0.56631,-0.26957 2.732074,-1.05379 3.104404,-1.26291 0.9039,-0.50769 2.25662,-0.22131 3.12196,-0.13663 5.14608,1.0145 6.93301,0.75494 8.68577,0.10081 0.48874,-0.18241 1.9113,-0.0872 2.78078,-0.0762 5.36146,1.22221 3.26004,0.0184 8.95915,-0.0467 2.76817,0.14027 2.91793,0.49198 5.54231,0.55164 2.37687,-0.20912 0.5189,-0.60886 3.2887,-0.74738 1.24251,-0.0995 2.55665,0.86144 4.37865,1.50938 1.69572,0.60305 3.95397,0.88379 3.81535,1.11544 -9.65963,0.0404 -25.99939,0.0363 -25.99939,0.0363 l -20.937513,0 0,-0.0973 z"
+       style="fill:#ff6200;fill-opacity:1;fill-rule:evenodd;stroke:none" />
+    <g
+       transform="translate(-0.513536,-0.99999935)"
+       id="g3749">
+      <g
+         id="g4148">
+        <g
+           transform="matrix(1.0327683,0,0,1.0317587,-3.3982859,-7.6505542)"
+           id="g3328">
+          <path
+             style="opacity:0.98279993;fill:#ff9f10;fill-opacity:1;fill-rule:evenodd;stroke:none"
+             d="m 103.15922,296.1299 c 0,-0.30325 0.43537,1.91224 0.56513,1.48809 l 0.56511,0 0,0.0431 c -0.54369,-3.17543 1.69961,-1.46033 3.5445,-1.52084 0,-0.25625 0.12725,-0.29389 1.24326,-0.36773 1.12298,-0.0744 1.24328,1.73682 1.24328,1.47429 0,-0.28352 0.0443,-0.29065 1.80839,-0.29065 1.75495,0 1.80839,0.008 1.80839,0.28547 0,0.25626 0.12727,-1.5533 1.24328,-1.47947 1.12299,0.0744 1.67634,0.55011 1.24326,0.37291 l -2.41423,0.85938 6.59615,-1.27849 -8.09067,-0.11278 c 0.0859,-0.97243 0.90989,-7.47288 1.07407,-10.67223 0.10044,-1.95726 0.0606,-4.83958 0.99865,-6.61997 0.93064,-1.7664 2.83517,-2.43857 3.92645,-2.45432 2.32059,-0.0169 5.06191,0.89735 5.95205,6.24909 0.34529,2.07601 0.91387,10.16834 1.74167,11.25378 2.81793,6.13705 0.93875,3.40536 -8.62593,3.43389 l -14.42281,-0.3044 z"
+             id="path3028-8-0-3-9"
+             inkscape:connector-curvature="0"
+             sodipodi:nodetypes="cscccsssssscccsscscccc" />
+          <path
+             style="opacity:0.98279993;fill:#ff7900;fill-opacity:1;fill-rule:evenodd;stroke:none"
+             d="m 106.96492,295.67028 c 0.3765,0 2.52186,1.15716 2.52186,0.94363 0,-0.24351 0.10772,-0.27927 1.05235,-0.34945 0.95054,-0.0706 1.05235,-0.10488 1.05235,-0.35437 0,-0.2694 0.0375,1.57101 1.53071,1.57101 1.48547,0 1.53071,-1.83981 1.53071,-1.57593 0,0.24352 0.10771,0.27928 1.05235,0.34945 0.95055,0.0706 1.41351,0.52027 1.05236,0.35437 l -2.04351,0.90849 5.58326,-1.21491 -6.61663,-0.22751 c 0.0895,-1.13804 1.27013,-15.49715 2.26171,-16.57999 0.81958,-0.89501 0.96667,-2.26552 2.47769,-2.28999 1.65911,-0.0136 2.46703,0.90163 3.49366,1.92495 0.25643,0.2556 1.27723,1.71577 1.68547,3.62318 0.85916,4.01424 1.25271,10.00937 1.87539,10.926 1.34949,5.61906 1.34159,3.19484 -8.76698,3.17392 12.18105,-4.66738 -10.37944,2.06307 -9.74275,-1.18285 z"
+             id="path3028-4-0-8-0-1"
+             inkscape:connector-curvature="0"
+             sodipodi:nodetypes="cssssssscccscssccc" />
+          <path
+             style="opacity:0.98279993;fill:#ff6200;fill-opacity:1;fill-rule:evenodd;stroke:none"
+             d="m 108.57964,296.62062 c 0,-0.28059 0.70264,-0.33227 0.38095,-0.33227 l 0.38094,0 0,0.0399 0.42134,0.52787 0.33414,0 c 1.15144,-1.20667 2.91339,-0.31184 3.31,-0.77309 0,-0.26231 0.03,-0.26892 1.21904,-0.26892 1.18301,0 1.21903,0.007 1.21903,0.26414 0,0.23708 0.0858,0.27192 0.83808,0.34023 0.757,0.0688 0.29572,-0.36706 -0.0226,-0.42629 l -0.76673,-0.14266 1.0533,0.24056 -1.87625,0.20223 c 0.0713,-1.10806 2.25273,-14.97365 3.04241,-16.02796 0.78958,-0.98954 1.65913,-0.49657 2.44984,0.35113 0.63401,0.77263 2.79591,12.07003 3.52742,13.38659 1.83227,4.33999 -0.089,2.95845 -6.60907,2.95052 l -8.90183,0 0,-0.33228 z"
+             id="path3028-4-7-4-1-7-3"
+             inkscape:connector-curvature="0"
+             sodipodi:nodetypes="sscccccsssscccccccccs" />
+        </g>
+        <path
+           sodipodi:nodetypes="csscsccccsccccc"
+           inkscape:connector-curvature="0"
+           id="path4116-2-3-8-8-9"
+           d="m 89.812846,299.87217 c 0.893001,-0.66158 2.981907,-0.79891 3.810073,-1.24133 0.661898,-0.3536 3.193256,-1.38228 3.628425,-1.65659 1.056479,-0.66595 2.637531,-0.29029 3.648946,-0.17921 6.01471,1.33073 8.10327,0.99026 10.15189,0.13222 0.57124,-0.23926 2.23392,-0.11437 3.25017,-0.0999 6.26645,1.6032 3.81031,0.0242 10.47142,-0.0613 3.23542,0.184 3.41047,0.64534 6.47783,0.72359 2.77808,-0.2743 0.6065,-0.79864 3.84381,-0.98034 1.45225,-0.13058 2.98822,1.12997 5.11775,1.97989 1.98196,0.79103 4.6214,1.15929 4.45938,1.46314 -11.29014,0.0529 -30.38799,0.0475 -30.38799,0.0475 l -24.471704,0 0,-0.12764 z"
+           style="fill:#ff9900;fill-opacity:1;fill-rule:evenodd;stroke:none" />
+        <path
+           sodipodi:nodetypes="csscsccccsccccc"
+           inkscape:connector-curvature="0"
+           id="path4116-2-3-8-8-9-9"
+           d="m 90.853304,299.91308 c 0.859475,-0.44919 2.869955,-0.54243 3.667029,-0.84283 0.637048,-0.24008 3.073373,-0.93853 3.492203,-1.12477 1.01682,-0.45217 2.538514,-0.19711 3.511954,-0.12168 5.78889,0.90353 7.79904,0.67235 9.77075,0.0898 0.54979,-0.16245 2.15005,-0.0776 3.12815,-0.0678 6.03118,1.08852 3.66725,0.0165 10.07828,-0.0416 3.11395,0.12492 3.28243,0.43816 6.23463,0.49129 2.67378,-0.18624 0.58373,-0.54225 3.6995,-0.66562 1.39773,-0.0886 2.87603,0.76721 4.92561,1.34428 1.90755,0.53709 4.4479,0.78713 4.29196,0.99344 -10.86627,0.036 -29.24712,0.0323 -29.24712,0.0323 l -23.552946,0 0,-0.0867 z"
+           style="fill:#ff7a00;fill-opacity:1;fill-rule:evenodd;stroke:none" />
+        <path
+           sodipodi:nodetypes="csscsccccsccccc"
+           inkscape:connector-curvature="0"
+           id="path4116-2-3-8-8-9-9-5"
+           d="m 93.38136,299.93702 c 0.78785,-0.3253 2.630786,-0.39282 3.361435,-0.61037 0.58396,-0.17386 2.817249,-0.67968 3.201179,-0.81455 0.932076,-0.32746 2.326956,-0.14275 3.219276,-0.0881 5.30647,0.65433 7.1491,0.48691 8.9565,0.065 0.50397,-0.11764 1.97088,-0.0562 2.86746,-0.0491 5.52857,0.7883 3.36164,0.012 9.23841,-0.0301 2.85444,0.0905 3.00888,0.31732 5.71506,0.35579 2.45096,-0.13487 0.53508,-0.39269 3.3912,-0.48203 1.28125,-0.0642 2.63636,0.5556 4.51513,0.97352 1.74859,0.38895 4.07723,0.57003 3.93429,0.71944 -9.96072,0.0261 -26.8098,0.0234 -26.8098,0.0234 l -21.59014,0 0,-0.0628 z"
+           style="fill:#ff6200;fill-opacity:1;fill-rule:evenodd;stroke:none" />
+      </g>
+    </g>
+    <g
+       transform="translate(-0.513536,-0.99999523)"
+       id="g3740">
+      <g
+         id="g4157">
+        <g
+           transform="matrix(1,0,0,1.0501642,0.07569744,-16.512303)"
+           id="g3333">
+          <path
+             style="opacity:0.98279993;fill:#ff9f10;fill-opacity:1;fill-rule:evenodd;stroke:none"
+             d="m 111.63228,347.34693 c 1.93476,0 1.99367,0.007 1.99367,0.24599 0,0.22081 0.14031,-1.33845 1.37067,-1.27483 1.23805,0.0641 1.8481,0.47402 1.37065,0.32133 l -2.6616,0.74051 7.272,-1.10165 -8.91965,-0.0972 c 0.0947,-0.83792 1.00312,-6.4392 1.18412,-9.19601 0.11074,-1.68652 0.0668,-4.17015 1.10098,-5.70427 1.02599,-1.52206 3.12566,-2.10126 4.32875,-2.11483 1.37867,-0.008 3.57489,0.0842 4.72728,1.15141 0.98606,0.91321 0.96847,2.6557 1.68863,4.37591 0.78034,1.86398 1.11074,8.4391 2.02336,9.37439 3.10666,5.28815 -0.30073,3.53102 -10.84541,3.55561 -0.34657,-1.20967 -12.52529,-0.27414 -4.63345,-0.27638 z"
+             id="path3028-8-0-3-9-8"
+             inkscape:connector-curvature="0"
+             sodipodi:nodetypes="cssscccsscsscccc" />
+          <path
+             style="opacity:0.98279993;fill:#ff7900;fill-opacity:1;fill-rule:evenodd;stroke:none"
+             d="m 112.72735,347.79926 c 1.63767,0 1.68755,-1.58532 1.68755,-1.35794 0,0.20984 0.11874,0.24065 1.16017,0.30111 1.04795,0.0608 1.55834,0.44831 1.16019,0.30536 l -2.25289,0.78282 6.15532,-1.04686 -7.29457,-0.19604 c 0.0987,-0.98062 1.40027,-13.35353 2.49344,-14.28659 0.90356,-0.77121 1.06572,-1.95214 2.73156,-1.97323 1.8291,-0.0117 3.08394,0.44588 4.21576,1.32765 0.87767,0.68377 2.03278,11.78327 3.04544,12.9484 1.48776,4.84181 1.99518,2.67224 -9.14912,2.65422 -1.69116,-0.41712 -5.75991,0.36356 -3.95285,0.5411 z"
+             id="path3028-4-0-8-0-1-0"
+             inkscape:connector-curvature="0"
+             sodipodi:nodetypes="cssscccscsccc" />
+          <path
+             style="opacity:0.98279993;fill:#ff6200;fill-opacity:1;fill-rule:evenodd;stroke:none"
+             d="m 113.04135,346.59458 c 0,-0.22603 0.0331,-0.23172 1.34395,-0.23172 1.30422,0 1.34393,0.006 1.34393,0.2276 0,0.20429 0.0946,0.23431 0.92395,0.29317 0.83456,0.0593 0.32602,-0.31629 -0.0249,-0.36733 l -0.84529,-0.12292 1.16123,0.20728 -2.0685,0.17426 c 0.0786,-0.95479 2.48355,-12.90244 3.35414,-13.81092 0.87048,-0.85266 1.82913,-0.42788 2.70085,0.30256 0.69897,0.66576 3.08238,10.40046 3.88884,11.53491 2.02001,3.73967 -0.0981,2.54923 -7.28624,2.5424 1.27773,-0.97571 -1.94297,-0.88619 -4.49194,-0.74929 z"
+             id="path3028-4-7-4-1-7-3-9"
+             inkscape:connector-curvature="0"
+             sodipodi:nodetypes="csssscccccccc" />
+        </g>
+        <path
+           sodipodi:nodetypes="csscsccccsccccc"
+           inkscape:connector-curvature="0"
+           id="path4116-2-3-8-8-9-5"
+           d="m 89.812846,349.87217 c 0.893001,-0.66158 2.981907,-0.79891 3.810073,-1.24133 0.661898,-0.3536 3.193256,-1.38228 3.628425,-1.65659 1.056479,-0.66595 2.637531,-0.29029 3.648946,-0.17921 6.01471,1.33073 8.10327,0.99026 10.15189,0.13222 0.57124,-0.23926 2.23392,-0.11437 3.25017,-0.0999 6.26645,1.6032 3.81031,0.0242 10.47142,-0.0613 3.23542,0.184 3.41047,0.64534 6.47783,0.72359 2.77808,-0.2743 0.6065,-0.79864 3.84381,-0.98034 1.45225,-0.13058 2.98822,1.12997 5.11775,1.97989 1.98196,0.79103 4.6214,1.15929 4.45938,1.46314 -11.29014,0.0529 -30.38799,0.0475 -30.38799,0.0475 l -24.471704,0 0,-0.12764 z"
+           style="fill:#ff9900;fill-opacity:1;fill-rule:evenodd;stroke:none" />
+        <path
+           sodipodi:nodetypes="csscsccccsccccc"
+           inkscape:connector-curvature="0"
+           id="path4116-2-3-8-8-9-5-3"
+           d="m 90.317678,349.90979 c 0.868618,-0.46688 2.900488,-0.5638 3.706041,-0.87603 0.643826,-0.24954 3.10607,-0.9755 3.529357,-1.16908 1.027631,-0.46999 2.565514,-0.20487 3.549304,-0.12648 5.85048,0.93913 7.88202,0.69885 9.8747,0.0933 0.55564,-0.16885 2.17293,-0.0807 3.16143,-0.0705 6.09534,1.13141 3.70627,0.0171 10.18551,-0.0433 3.14707,0.12986 3.31734,0.45543 6.30095,0.51065 2.70222,-0.19357 0.58994,-0.56361 3.73885,-0.69185 1.4126,-0.0922 2.90664,0.79745 4.97801,1.39726 1.92786,0.55824 4.49523,0.81814 4.33762,1.03257 -10.98186,0.0374 -29.55826,0.0335 -29.55826,0.0335 l -23.803512,0 0,-0.0901 z"
+           style="fill:#ff7a00;fill-opacity:1;fill-rule:evenodd;stroke:none" />
+        <path
+           sodipodi:nodetypes="csscsccccsccccc"
+           inkscape:connector-curvature="0"
+           id="path4116-2-3-8-8-9-5-3-8"
+           d="m 91.066736,349.95424 c 0.81528,-0.23681 2.722383,-0.28601 3.478471,-0.44439 0.604292,-0.12656 2.915343,-0.49485 3.312633,-0.59307 0.96453,-0.23842 2.40798,-0.10388 3.33136,-0.0641 5.49123,0.47639 7.39803,0.35449 9.26835,0.0471 0.52152,-0.0857 2.0395,-0.0411 2.9673,-0.036 5.72105,0.57394 3.47869,0.009 9.56007,-0.0218 2.95382,0.0658 3.11364,0.23102 5.91404,0.25902 2.53629,-0.0982 0.55371,-0.28591 3.50926,-0.35094 1.32586,-0.0467 2.72816,0.40451 4.67234,0.70878 1.80948,0.28322 4.2192,0.41506 4.07126,0.52382 -10.30751,0.0188 -27.74323,0.0173 -27.74323,0.0173 l -22.341854,0 0,-0.0456 z"
+           style="fill:#ff6200;fill-opacity:1;fill-rule:evenodd;stroke:none" />
+      </g>
+    </g>
+    <g
+       transform="translate(-0.513536,-1.0000036)"
+       id="g3733">
+      <path
+         style="fill:#ff9f10;fill-opacity:1;fill-rule:evenodd;stroke:none"
+         d="m 109.15151,399.21681 c 0.37497,-0.72046 1.77906,-1.37088 1.96352,-2.09418 2.51377,-9.85676 3.06493,-14.33506 7.74433,-14.69592 2.59527,-0.0156 5.30251,0.84258 6.88683,4.66076 0.79162,1.90774 2.37664,10.89974 3.30243,11.85701 -9.6137,0.12331 -2.92079,0.35917 -19.89711,0.27233 z"
+         id="path3028-8-0-3-9-8-5-7-3-2-4"
+         inkscape:connector-curvature="0"
+         sodipodi:nodetypes="cscscc" />
+      <path
+         style="fill:#ff7a00;fill-opacity:1;fill-rule:evenodd;stroke:none"
+         d="m 109.8163,399.32638 c 0.34752,-0.65228 1.64882,-1.24114 1.81978,-1.896 2.32975,-8.92394 2.84056,-12.97843 7.17741,-13.30514 2.40528,-0.0141 4.91434,0.76284 6.38268,4.21969 0.73367,1.72719 2.20265,9.86822 3.06067,10.73489 -8.90993,0.11164 -2.70697,0.32518 -18.44054,0.24656 z"
+         id="path3028-8-0-3-9-8-5-7-3-2-4-0"
+         inkscape:connector-curvature="0"
+         sodipodi:nodetypes="cscscc" />
+      <path
+         style="fill:#ff6200;fill-opacity:1;fill-rule:evenodd;stroke:none"
+         d="m 110.84544,399.95608 c 0.31399,-0.60809 1.48975,-1.15705 1.64422,-1.76754 2.105,-8.3193 2.56652,-12.09909 6.48499,-12.40366 2.17324,-0.0131 4.44024,0.71115 5.76693,3.9338 0.66289,1.61016 1.99015,9.1996 2.76539,10.00755 -8.05036,0.10407 -2.44581,0.30314 -16.66153,0.22985 z"
+         id="path3028-8-0-3-9-8-5-7-3-2-4-0-2"
+         inkscape:connector-curvature="0"
+         sodipodi:nodetypes="cscscc" />
+      <path
+         style="fill:#ff9900;fill-opacity:1;fill-rule:evenodd;stroke:none"
+         d="m 89.680431,399.86733 c 0.893001,-0.68661 2.981907,-0.82914 3.810073,-1.28829 0.661898,-0.36698 3.193256,-1.43458 3.628425,-1.71927 1.056479,-0.69115 2.637531,-0.30127 3.648951,-0.18599 6.0147,1.38107 8.10327,1.02773 10.15188,0.13722 0.57125,-0.24831 2.23393,-0.11874 3.25017,-0.1037 6.26645,1.66386 3.81032,0.0251 10.47142,-0.0636 3.23542,0.19097 3.41048,0.66976 6.47784,0.75097 2.77807,-0.28468 0.60649,-0.82886 3.84381,-1.01743 1.45225,-0.13552 2.98822,1.17273 5.11775,2.05479 1.98196,0.82096 4.6214,1.20316 4.45938,1.51851 -11.29014,0.0549 -30.388,0.0493 -30.388,0.0493 l -24.471699,0 0,-0.13246 z"
+         id="path4116-2-3-8-8-9-3"
+         inkscape:connector-curvature="0"
+         sodipodi:nodetypes="csscsccccsccccc" />
+      <path
+         style="fill:#ff7a00;fill-opacity:1;fill-rule:evenodd;stroke:none"
+         d="m 91.040566,399.90833 c 0.84576,-0.47422 2.824157,-0.57266 3.608511,-0.88979 0.626882,-0.25346 3.024321,-0.99082 3.436467,-1.18745 1.000587,-0.47736 2.497996,-0.20808 3.455916,-0.12845 5.6965,0.95386 7.67459,0.70982 9.61482,0.0948 0.54103,-0.17151 2.11575,-0.082 3.07823,-0.0716 5.93494,1.14918 3.60875,0.0174 9.91745,-0.0439 3.06427,0.13191 3.23006,0.46259 6.13515,0.51868 2.6311,-0.19662 0.57441,-0.57247 3.64047,-0.70272 1.37542,-0.0936 2.83013,0.80998 4.84701,1.4192 1.8771,0.56701 4.37692,0.83099 4.22347,1.04879 -10.69287,0.0379 -28.78041,0.034 -28.78041,0.034 l -23.177084,0 0,-0.0915 z"
+         id="path4116-2-3-8-8-9-3-4"
+         inkscape:connector-curvature="0"
+         sodipodi:nodetypes="csscsccccsccccc" />
+    </g>
+    <g
+       transform="translate(-0.513536,-0.99999974)"
+       id="g3725">
+      <path
+         style="fill:#ff9f10;fill-opacity:1;fill-rule:evenodd;stroke:none"
+         d="m 109.34037,447.7481 c 4.28287,-3.42936 4.17177,-11.49506 9.70786,-11.76394 2.59527,-0.0109 4.77284,1.33256 6.35717,4.00776 0.79162,1.33665 2.9063,6.89466 3.83209,7.56537 -9.6137,0.0864 -2.9208,0.25165 -19.89712,0.19081 z"
+         id="path3028-8-0-3-9-8-5-7-3-2"
+         inkscape:connector-curvature="0"
+         sodipodi:nodetypes="ccscc" />
+      <path
+         style="fill:#ff7900;fill-opacity:1;fill-rule:evenodd;stroke:none"
+         d="m 110.01491,448.43374 c 3.98056,-3.07453 3.8773,-10.30568 9.02261,-10.54673 2.41208,-0.01 4.43594,1.19468 5.90844,3.59308 0.73574,1.19834 2.70115,6.18127 3.56159,6.78258 -8.93509,0.0775 -2.71463,0.22561 -18.49264,0.17107 z"
+         id="path3028-8-0-3-9-8-5-7-3-2-2"
+         inkscape:connector-curvature="0"
+         sodipodi:nodetypes="ccscc" />
+      <path
+         style="fill:#ff6200;fill-opacity:1;fill-rule:evenodd;stroke:none"
+         d="m 110.91578,449.41479 c 3.63853,-2.80432 3.54414,-9.39996 8.24734,-9.61983 2.20482,-0.009 4.05478,1.08969 5.40076,3.2773 0.67252,1.09303 2.46905,5.63803 3.25556,6.18649 -8.16734,0.0707 -2.48138,0.20579 -16.90366,0.15604 z"
+         id="path3028-8-0-3-9-8-5-7-3-2-2-6"
+         inkscape:connector-curvature="0"
+         sodipodi:nodetypes="ccscc" />
+      <path
+         style="fill:#ff9900;fill-opacity:1;fill-rule:evenodd;stroke:none"
+         d="m 89.680431,449.87217 c 0.88438,-0.66158 2.953121,-0.79891 3.773292,-1.24133 0.655508,-0.3536 3.16243,-1.38228 3.593398,-1.65659 1.04628,-0.66595 2.612069,-0.29029 3.613719,-0.17921 5.95665,1.33073 8.02505,0.99026 10.05389,0.13222 0.56572,-0.23926 2.21236,-0.11437 3.21879,-0.0999 6.20596,1.6032 3.77353,0.0242 10.37033,-0.0613 3.20419,0.184 3.37756,0.64534 6.4153,0.72359 2.75126,-0.2743 0.60064,-0.79864 3.80671,-0.98034 1.43823,-0.13058 2.95937,1.12997 5.06835,1.97989 1.96282,0.79103 4.57678,1.15929 4.41632,1.46314 -11.18115,0.0529 -30.09464,0.0475 -30.09464,0.0475 l -24.235459,0 0,-0.12764 z"
+         id="path4116-2-3-8-8-9-1"
+         inkscape:connector-curvature="0"
+         sodipodi:nodetypes="csscsccccsccccc" />
+      <path
+         style="fill:#ff7900;fill-opacity:1;fill-rule:evenodd;stroke:none"
+         d="m 91.679927,449.90643 c 0.827994,-0.48459 2.764839,-0.58518 3.532718,-0.90924 0.613715,-0.259 2.960799,-1.01248 3.364294,-1.21341 0.979571,-0.48779 2.445531,-0.21263 3.383321,-0.13126 5.57687,0.97472 7.5134,0.72534 9.41289,0.0968 0.52964,-0.17525 2.0713,-0.0838 3.01357,-0.0732 5.81028,1.1743 3.53293,0.0177 9.70914,-0.0449 2.99991,0.13477 3.16222,0.47269 6.00628,0.53001 2.57586,-0.20092 0.56235,-0.58498 3.56401,-0.71807 1.34653,-0.0957 2.77069,0.82767 4.74521,1.45021 1.83767,0.57941 4.28498,0.84916 4.13475,1.07172 -10.46828,0.0387 -28.1759,0.0348 -28.1759,0.0348 l -22.690283,0 0,-0.0935 z"
+         id="path4116-2-3-8-8-9-1-5"
+         inkscape:connector-curvature="0"
+         sodipodi:nodetypes="csscsccccsccccc" />
+      <path
+         style="fill:#ff6200;fill-opacity:1;fill-rule:evenodd;stroke:none"
+         d="m 94.314693,449.93374 c 0.730462,-0.343 2.439162,-0.4142 3.116591,-0.64357 0.541427,-0.18333 2.612036,-0.71665 2.967996,-0.85887 0.8642,-0.34527 2.15748,-0.1505 2.9848,-0.0929 4.91996,0.68992 6.62838,0.51341 8.30412,0.0685 0.46725,-0.12405 1.82732,-0.0593 2.6586,-0.0518 5.12588,0.83119 3.11678,0.0125 8.56547,-0.0318 2.64655,0.0954 2.78974,0.33458 5.29879,0.37515 2.27244,-0.14221 0.49611,-0.41405 3.1442,-0.50826 1.18792,-0.0677 2.44432,0.58584 4.18625,1.02648 1.62121,0.41011 3.78025,0.60105 3.64771,0.75858 -9.23519,0.0274 -24.85699,0.0246 -24.85699,0.0246 l -20.017537,0 0,-0.0662 z"
+         id="path4116-2-3-8-8-9-1-5-4"
+         inkscape:connector-curvature="0"
+         sodipodi:nodetypes="csscsccccsccccc" />
+    </g>
+    <g
+       transform="translate(-0.513536,-1.0475145)"
+       id="g3717">
+      <path
+         style="fill:#ff9f10;fill-opacity:1;fill-rule:evenodd;stroke:none"
+         d="m 110.50335,498.21417 c 3.9836,-2.04891 3.88025,-6.86787 9.02949,-7.02852 2.41393,-0.007 4.43933,0.79616 5.91295,2.39449 0.73631,0.7986 2.70322,4.11931 3.56431,4.52003 -8.94191,0.0516 -2.71669,0.15036 -18.50675,0.114 z"
+         id="path3028-8-0-3-9-8-5-7-3"
+         inkscape:connector-curvature="0"
+         sodipodi:nodetypes="ccscc" />
+      <path
+         style="fill:#ff7900;fill-opacity:1;fill-rule:evenodd;stroke:none"
+         d="m 110.71871,499.22991 c 3.82237,-2.04891 3.7232,-6.86787 8.66402,-7.02852 2.31623,-0.007 4.25965,0.79616 5.67363,2.39449 0.70651,0.7986 2.59381,4.11931 3.42005,4.52003 -8.57999,0.0516 -2.60674,0.15036 -17.7577,0.114 z"
+         id="path3028-8-0-3-9-8-5-7-3-0"
+         inkscape:connector-curvature="0"
+         sodipodi:nodetypes="ccscc" />
+      <path
+         style="fill:#ff6200;fill-opacity:1;fill-rule:evenodd;stroke:none"
+         d="m 111.65502,499.5108 c 3.39913,-1.74867 3.31094,-5.86147 7.70467,-5.99858 2.05976,-0.006 3.78799,0.67949 5.04541,2.04361 0.62828,0.68157 2.3066,3.51568 3.04135,3.85768 -7.62995,0.044 -2.3181,0.12832 -15.79143,0.0973 z"
+         id="path3028-8-0-3-9-8-5-7-3-0-4"
+         inkscape:connector-curvature="0"
+         sodipodi:nodetypes="ccscc" />
+      <path
+         style="fill:#ff9900;fill-opacity:1;fill-rule:evenodd;stroke:none"
+         d="m 89.267296,499.88186 c 0.88438,-0.61152 2.953121,-0.73846 3.773292,-1.1474 0.655508,-0.32684 3.16243,-1.27769 3.593398,-1.53124 1.04628,-0.61556 2.612069,-0.26833 3.613714,-0.16565 5.95665,1.23004 8.02505,0.91533 10.05389,0.12221 0.56572,-0.22115 2.21236,-0.10571 3.21879,-0.0923 6.20596,1.48189 3.77353,0.0224 10.37033,-0.0567 3.20419,0.17008 3.37756,0.59651 6.4153,0.66884 2.75126,-0.25354 0.60064,-0.73821 3.80671,-0.90616 1.43823,-0.1207 2.95937,1.04447 5.06835,1.83008 1.96282,0.73117 4.57678,1.07157 4.41632,1.35242 -11.18115,0.0489 -30.09464,0.0439 -30.09464,0.0439 l -24.235454,0 0,-0.11798 z"
+         id="path4116-2-3-8-8-9-1-3"
+         inkscape:connector-curvature="0"
+         sodipodi:nodetypes="csscsccccsccccc" />
+      <path
+         style="fill:#ff7900;fill-opacity:1;fill-rule:evenodd;stroke:none"
+         d="m 90.994666,499.91943 c 0.827995,-0.41683 2.764839,-0.50336 3.532718,-0.78211 0.613715,-0.22278 2.960803,-0.87091 3.364294,-1.04374 0.979572,-0.41958 2.445532,-0.1829 3.383312,-0.11291 5.57687,0.83843 7.5134,0.62392 9.41289,0.0833 0.52965,-0.15074 2.0713,-0.072 3.01357,-0.0629 5.81028,1.0101 3.53294,0.0153 9.70914,-0.0386 2.9999,0.11593 3.16222,0.4066 6.00628,0.4559 2.57585,-0.17282 0.56235,-0.50318 3.56401,-0.61766 1.34653,-0.0823 2.77069,0.71194 4.74521,1.24744 1.83767,0.49838 4.28497,0.73041 4.13475,0.92185 -10.46828,0.0333 -28.1759,0.0299 -28.1759,0.0299 l -22.690274,0 0,-0.0804 z"
+         id="path4116-2-3-8-8-9-1-3-0"
+         inkscape:connector-curvature="0"
+         sodipodi:nodetypes="csscsccccsccccc" />
+      <path
+         style="fill:#ff6200;fill-opacity:1;fill-rule:evenodd;stroke:none"
+         d="m 93.20294,499.99604 c 0.765495,-0.26665 2.55614,-0.322 3.266057,-0.50032 0.567387,-0.14251 2.737312,-0.55713 3.110351,-0.66769 0.905622,-0.2684 2.260932,-0.117 3.127922,-0.0722 5.15591,0.53635 6.94627,0.39912 8.70237,0.0533 0.48967,-0.0964 1.91496,-0.046 2.7861,-0.0403 5.3717,0.64616 3.26626,0.01 8.97626,-0.0247 2.77346,0.0741 2.92352,0.2601 5.5529,0.29164 2.38142,-0.11056 0.51991,-0.32189 3.295,-0.39512 1.24488,-0.0527 2.56154,0.45543 4.38702,0.79799 1.69896,0.31881 3.96153,0.46724 3.82264,0.58971 -9.67809,0.0213 -26.04909,0.0191 -26.04909,0.0191 l -20.97753,0 0,-0.0514 z"
+         id="path4116-2-3-8-8-9-1-3-0-9"
+         inkscape:connector-curvature="0"
+         sodipodi:nodetypes="csscsccccsccccc" />
+    </g>
+    <g
+       transform="translate(-0.513536,-1.0768751)"
+       id="g3794">
+      <g
+         id="g4139">
+        <g
+           transform="matrix(1.0077978,0,0,1,60.411961,0)"
+           id="g3323">
+          <path
+             style="opacity:0.98279993;fill:#ff9f10;fill-opacity:1;fill-rule:evenodd;stroke:none"
+             d="m 43.229321,247.43726 c 0,-0.32834 0.43537,2.07042 0.56513,1.61118 l 0.56511,0 0,0.0467 c -0.54369,-3.4381 1.69961,-1.58113 3.5445,-1.64664 0,-0.27745 0.12725,-0.3182 1.24326,-0.39815 1.12298,-0.0805 1.24328,1.88049 1.24328,1.59624 0,-0.30697 0.0443,-0.31469 1.80839,-0.31469 1.75495,0 1.80839,0.009 1.80839,0.30908 0,0.27746 0.12727,-1.68179 1.24328,-1.60185 1.12299,0.0805 1.67634,0.59562 1.24326,0.40376 l -2.41423,0.93046 6.59615,-1.38424 -8.09067,-0.12211 c 0.0859,-1.05287 0.90989,-8.09103 1.07407,-11.55503 0.10044,-2.11916 0.0606,-5.2399 0.99865,-7.16757 0.93064,-1.91251 2.83517,-2.64028 3.92645,-2.65734 2.32059,-0.0183 4.40299,2.25765 5.81963,6.94523 0.70783,2.34212 1.00751,10.60394 1.83531,11.77917 2.81793,6.6447 -0.23968,5.58377 -9.80436,5.61466 l -13.2056,-2 0,-0.38883 z"
+             id="path3028-8-0-3"
+             inkscape:connector-curvature="0"
+             sodipodi:nodetypes="sscccsssssscccsscsccccs" />
+          <path
+             style="opacity:0.98279993;fill:#ff7900;fill-opacity:1;fill-rule:evenodd;stroke:none"
+             d="m 45.412718,249.94481 c 0,0.31201 0.38439,0.0234 0.47835,-0.3695 l 0.47835,0 0,0.0444 c -0.07984,-2.02135 0.57401,-1.72322 3.0002,-1.56476 0,-0.26366 0.10772,-0.30238 1.05235,-0.37836 0.95054,-0.0764 1.05235,-0.11356 1.05235,-0.38368 0,-0.29169 0.0375,1.70096 1.53071,1.70096 1.48547,0 1.53071,-1.992 1.53071,-1.70629 0,0.26366 0.10771,0.30238 1.05235,0.37836 0.95055,0.0764 1.41351,0.5633 1.05236,0.38368 l -2.04351,0.98364 5.58326,-1.31541 -6.61663,-0.24633 c 0.0895,-1.23218 1.27013,-16.77906 2.26171,-17.95147 0.81958,-0.96905 0.96667,-2.45292 2.47769,-2.47942 1.65911,-0.0147 2.46703,0.97621 3.49366,2.08418 0.7961,0.85918 2.17415,14.39003 3.0927,15.85405 1.34949,6.08387 1.80975,3.35774 -8.29882,3.33509 l -11.17779,0 0,1.63051 z"
+             id="path3028-4-0-8-0"
+             inkscape:connector-curvature="0"
+             sodipodi:nodetypes="sscccsssssscccscsccccs" />
+          <path
+             style="opacity:0.98279993;fill:#ff6200;fill-opacity:1;fill-rule:evenodd;stroke:none"
+             d="m 47.900687,247.96857 c 0,-0.3038 0.70264,-0.35975 0.38095,-0.35975 l 0.38094,0 0,0.0432 0.42134,0.57153 0.33414,0 c 1.40524,-1.75629 2.813527,-1.46483 3.31,-0.83704 0,-0.28401 0.03,-0.29116 1.21904,-0.29116 1.18301,0 1.21903,0.008 1.21903,0.28598 0,0.2567 0.0858,0.29442 0.83808,0.36838 1.126931,0.51193 0.407251,-0.20691 -0.78934,-0.61601 4.443693,0.45499 3.234114,0.717 -0.82295,0.47941 0.0713,-1.19972 2.25273,-16.21225 3.04241,-17.35378 0.78958,-1.07139 1.65913,-0.53764 2.44984,0.38018 0.63401,0.83654 2.79591,13.06845 3.52742,14.49392 l 0.177725,1.31184 c -1.09012,4.53098 6.317515,1.85518 -6.786795,1.88274 l -8.90183,0 0,-0.35976 z"
+             id="path3028-4-7-4-1-7"
+             inkscape:connector-curvature="0"
+             sodipodi:nodetypes="sscccccssccccccccccs" />
+        </g>
+        <path
+           sodipodi:nodetypes="csscsccccsccccc"
+           inkscape:connector-curvature="0"
+           id="path4116-2-3-8-8"
+           d="m 90.210092,249.85095 c 0.886166,-0.77207 2.959083,-0.93233 3.78091,-1.44865 0.656831,-0.41264 3.168814,-1.61312 3.600652,-1.93324 1.048392,-0.77717 2.617346,-0.33877 3.621026,-0.20914 5.96867,1.55297 8.04124,1.15563 10.07417,0.15429 0.56688,-0.27921 2.21683,-0.13347 3.22529,-0.1166 6.2185,1.87095 3.78116,0.0282 10.39128,-0.0716 3.21065,0.21472 3.38436,0.75312 6.42824,0.84443 2.75682,-0.3201 0.60185,-0.93202 3.8144,-1.14406 1.44113,-0.15239 2.96534,1.31868 5.07858,2.31054 1.96677,0.92314 4.58601,1.3529 4.42524,1.7075 -11.20373,0.0617 -30.15539,0.0554 -30.15539,0.0554 l -24.284398,0 0,-0.14896 z"
+           style="fill:#ff9900;fill-opacity:1;fill-rule:evenodd;stroke:none" />
+        <path
+           sodipodi:nodetypes="csscsccccsccccc"
+           inkscape:connector-curvature="0"
+           id="path4116-2-3-8-8-5"
+           d="m 91.625075,249.88853 c 0.85264,-0.57738 2.847132,-0.69723 3.637866,-1.08335 0.631981,-0.30858 3.048924,-1.20634 3.464427,-1.44574 1.008728,-0.58119 2.518332,-0.25334 3.484042,-0.1564 5.74285,1.16136 7.73701,0.86422 9.69303,0.11538 0.54544,-0.2088 2.13296,-0.0998 3.10327,-0.0872 5.98323,1.39916 3.63811,0.0211 9.99814,-0.0535 3.08918,0.16057 3.25632,0.56321 6.18504,0.63149 2.65252,-0.23938 0.57908,-0.69699 3.67009,-0.85556 1.3866,-0.11397 2.85315,0.98615 4.88644,1.72789 1.89236,0.69036 4.41251,1.01175 4.25782,1.27693 -10.77986,0.0461 -29.01452,0.0414 -29.01452,0.0414 l -23.365645,0 0,-0.1114 z"
+           style="fill:#ff7a00;fill-opacity:1;fill-rule:evenodd;stroke:none" />
+        <path
+           sodipodi:nodetypes="csscsccccsccccc"
+           inkscape:connector-curvature="0"
+           id="path4116-2-3-8-8-5-2"
+           d="m 93.310443,249.92954 c 0.799303,-0.36498 2.669028,-0.44075 3.410296,-0.68483 0.592447,-0.19507 2.858188,-0.76258 3.247715,-0.91392 0.945626,-0.3674 2.360786,-0.16015 3.266086,-0.0989 5.3836,0.73414 7.25301,0.5463 9.08668,0.0729 0.51132,-0.13198 1.99953,-0.0631 2.90914,-0.0551 5.60895,0.88448 3.41052,0.0134 9.37269,-0.0338 2.89594,0.10151 3.05262,0.35603 5.79813,0.3992 2.48659,-0.15133 0.54286,-0.4406 3.44052,-0.54085 1.29985,-0.072 2.67466,0.62339 4.58075,1.09228 1.77398,0.43641 4.13649,0.63958 3.99147,0.8072 -10.10551,0.0291 -27.19948,0.0262 -27.19948,0.0262 l -21.903997,0 0,-0.0704 z"
+           style="fill:#ff6200;fill-opacity:1;fill-rule:evenodd;stroke:none" />
+      </g>
+    </g>
+    <g
+       transform="matrix(1.011322,0,0,0.98755459,-1.152843,-0.427648)"
+       id="g3256">
+      <path
+         style="fill:#ff9900;fill-opacity:1;fill-rule:evenodd;stroke:none"
+         d="m 24.309493,40.570783 c -2.498687,-2.496849 0.629161,-3.659397 2.827572,-3.423365 2.690526,0.288873 1.378375,0.633113 5.172116,0.19094 3.686856,-1.799953 3.038119,-1.920903 7.948799,-0.667468 3.505872,0.894858 4.233221,-1.981112 7.542169,-1.638641 1.183807,0.122521 3.958707,0.834825 3.970806,1.618118 2.345006,1.230956 2.03859,-1.575218 3.723508,-0.687526 1.968089,1.02333 2.608466,1.648715 0.971287,4.536374 -2.687676,5.333265 -2.838275,6.17824 -2.856401,9.450237 -4.347409,0.05751 -24.753951,0.101096 -26.909151,0.101096 -0.419234,-6.302446 -0.872445,-6.437845 -2.390705,-9.479765 z"
+         id="path3834-5-6-3-7-4-5-8"
+         inkscape:connector-curvature="0"
+         sodipodi:nodetypes="cscsscccccc" />
+      <path
+         style="fill:#ff7900;fill-opacity:1;fill-rule:evenodd;stroke:none"
+         d="m 25.912889,41.679787 c -2.218982,-2.191438 0.558733,-3.211784 2.511051,-3.004624 2.389348,0.253539 1.224079,0.555672 4.593146,0.167585 3.274148,-1.579785 2.69803,-1.68594 7.059006,-0.585824 3.113422,0.7854 3.75935,-1.738784 6.697893,-1.438205 1.05129,0.107535 3.515565,0.732711 3.52631,1.420192 2.082505,1.080387 1.810389,-1.382539 3.306695,-0.603428 1.74778,0.898157 2.316473,1.447046 0.862561,3.98149 -2.386816,4.680907 -2.520557,5.422526 -2.536654,8.294296 C 48.07214,49.961744 29.949922,50 28.035976,50 27.663673,44.46846 27.261195,44.349622 25.912889,41.679787 z"
+         id="path3834-5-6-3-7-4-5-8-4"
+         inkscape:connector-curvature="0"
+         sodipodi:nodetypes="cscsscccccc" />
+      <path
+         style="fill:#ff6200;fill-opacity:1;fill-rule:evenodd;stroke:none"
+         d="m 27.992848,43.097995 c -1.904633,-1.8179 0.47958,-2.664324 2.155326,-2.492475 2.050864,0.210322 1.050671,0.460955 3.942464,0.139019 2.810319,-1.310505 2.315817,-1.398565 6.059001,-0.485968 2.672362,0.651526 3.226786,-1.442402 5.749044,-1.193057 0.90236,0.0892 3.017537,0.607817 3.026759,1.178115 1.78749,0.896231 1.553924,-1.146881 2.838258,-0.500572 1.500182,0.745063 1.988311,1.200392 0.740366,3.302831 -2.048691,3.883029 -2.163486,4.498236 -2.177302,6.880502 C 47.012936,49.96826 31.457979,50 29.81517,50 29.49561,45.411331 29.150148,45.31275 27.992848,43.097998 z"
+         id="path3834-5-6-3-7-4-5-8-4-7"
+         inkscape:connector-curvature="0"
+         sodipodi:nodetypes="cscsscccccc" />
+    </g>
+    <g
+       transform="matrix(1,0,0,0.98191228,-0.513536,0.80877237)"
+       id="g3261">
+      <path
+         style="fill:#ff9900;fill-opacity:1;fill-rule:evenodd;stroke:none"
+         d="m 24.27716,90.464712 c -1.139418,-2.182153 -1.543144,-3.075305 -2.959905,-4.907838 -2.665636,-3.447914 1.178763,-4.4068 3.524061,-4.080862 2.870291,0.398906 1.47047,0.227786 6.735846,1.03945 6.775557,-1.451193 4.865319,-2.393995 10.104104,-0.663119 3.740116,1.235715 2.891852,-2.994322 6.421887,-2.521402 3.780898,0.544505 3.944194,3.18875 7.186335,3.939763 1.379338,0.347721 0.613071,-0.883893 2.849306,-1.749626 1.693533,-0.655624 5.016038,2.147425 3.066445,4.066265 -4.847303,4.770841 -3.949778,3.39993 -5.910569,8.393615 -1.006211,3.794125 -0.99418,5.879438 -0.99418,5.879438 C 49.662612,99.939816 27.892616,100 25.593417,100 25.474391,94.544006 25.825727,92.808834 24.27716,90.464712 z"
+         id="path3834-5-6-3-7-4-5"
+         inkscape:connector-curvature="0"
+         sodipodi:nodetypes="csscsccsscccc" />
+      <path
+         style="fill:#ff7a00;fill-opacity:1;fill-rule:evenodd;stroke:none"
+         d="m 25.533114,90.750488 c -1.03664,-1.945332 -1.029423,-3.209711 -2.318389,-4.843366 -2.425191,-3.073724 0.323382,-2.711334 2.45713,-2.420769 2.611386,0.355614 1.337831,0.203065 6.12826,0.926642 6.164389,-1.2937 4.426458,-2.134183 9.192695,-0.591153 3.402751,1.101607 3.754583,-2.388465 6.966202,-1.966868 3.439854,0.485411 2.371207,2.000001 5.320902,2.669509 1.254918,0.309985 2.055878,0.14835 4.090401,-0.623428 1.540773,-0.584472 2.035525,1.539846 0.261788,3.250441 -4.410066,4.253079 -2.469919,3.030948 -4.253843,7.482687 -0.915449,3.382362 -0.904503,5.241364 -0.904503,5.241364 C 48.254224,99.946347 28.447922,100 26.356115,100 c -0.10829,-4.863875 0.585882,-7.159789 -0.823001,-9.249512 z"
+         id="path3834-5-6-3-7-4-5-1"
+         inkscape:connector-curvature="0"
+         sodipodi:nodetypes="csscsccsscccc" />
+      <path
+         style="fill:#ff6200;fill-opacity:1;fill-rule:evenodd;stroke:none"
+         d="m 27.189003,91.033099 c -0.936234,-1.704467 -1.730966,-2.108073 -2.281101,-3.869148 -0.799936,-2.560731 -0.105186,-1.736269 1.821895,-1.481681 2.358457,0.311584 1.6055,1.965529 5.931946,2.599515 5.567328,-1.133518 4.19635,-1.737519 8.500947,-0.385543 3.073173,0.96521 3.390928,-1.496865 6.291481,-1.127468 3.106683,0.425309 1.413257,0.229592 4.077255,0.816204 1.133371,0.271603 2.187791,-1.127964 3.628012,-0.347615 -1.634114,1.953559 -2.158363,4.081879 -3.009531,7.550373 -0.826781,2.963569 -0.816895,4.989642 -0.816895,4.989642 -3.810845,0.06204 -21.698781,0.109043 -23.587984,0.109043 -0.0978,-4.261646 0.716399,-7.022341 -0.556025,-8.853322 z"
+         id="path3834-5-6-3-7-4-5-1-5"
+         inkscape:connector-curvature="0"
+         sodipodi:nodetypes="csscsccccccc" />
+    </g>
+    <g
+       transform="matrix(1,0,0,0.98007354,-0.513536,1.988969)"
+       id="g3266">
+      <path
+         style="fill:#ff9900;fill-opacity:1;fill-rule:evenodd;stroke:none"
+         d="m 22.736302,135.0422 c -1.204006,-2.95831 -1.468482,-2.77513 -3.528651,-4.49558 -4.092595,-3.41769 0.243174,-6.48197 2.721415,-6.0401 3.032995,0.54079 1.553824,0.68961 7.11767,1.78997 7.159632,-1.96736 5.842797,-2.73776 11.378544,-0.39124 3.952126,1.67524 5.762279,-4.69403 9.492415,-4.0529 3.956539,1.23961 3.400826,4.40069 6.99225,5.46801 1.457526,0.4714 3.655048,-0.94441 6.018044,-2.11807 1.789531,-0.88882 3.796762,3.1651 2.939545,4.24322 -5.132245,6.45481 -8.584268,5.11697 -8.952113,12.39457 -0.662284,1.97026 -1.050534,7.97066 -1.050534,7.97066 C 50.96411,149.91841 27.960073,150 25.530543,150 25.204289,141.71485 25.67578,139.74331 22.736302,135.0422 z"
+         id="path3834-5-6-3-7-4"
+         inkscape:connector-curvature="0"
+         sodipodi:nodetypes="csscsccsscccc" />
+      <path
+         style="fill:#ff7a00;fill-opacity:1;fill-rule:evenodd;stroke:none"
+         d="m 25.064022,136.13507 c -1.050052,-2.74216 -0.906183,-3.50869 -2.702922,-5.10343 -3.569282,-3.16799 -0.630607,-4.41664 1.530747,-4.00705 2.645171,0.50128 1.823298,-0.0162 6.675704,1.00376 6.244143,-1.82361 5.09569,-2.53772 9.92359,-0.36265 3.446775,1.55284 5.77452,-3.69565 9.027691,-3.10136 3.450623,1.14904 2.216915,3.42374 5.349109,4.41308 1.271155,0.43696 4.311265,-0.12636 6.372108,-1.21427 1.560707,-0.82388 1.064116,2.37206 0.316509,3.37141 -4.475994,5.98319 -6.363032,4.55584 -6.683841,11.30171 -0.577599,1.82631 -0.916204,7.3883 -0.916204,7.3883 C 49.68239,149.92437 29.619838,150 27.500968,150 c -0.284536,-7.67981 0.126666,-9.5073 -2.436946,-13.86493 z"
+         id="path3834-5-6-3-7-4-59"
+         inkscape:connector-curvature="0"
+         sodipodi:nodetypes="csscsccsscccc" />
+      <path
+         style="fill:#ff6200;fill-opacity:1;fill-rule:evenodd;stroke:none"
+         d="m 25.118008,132.26433 c -3.251031,-2.99338 -2.030946,-2.98538 -0.06231,-2.59836 2.409317,0.47365 3.305638,5.24358 6.838129,3.78011 4.581544,-1.89807 5.995672,-1.73578 10.393098,0.31942 3.139447,1.46725 3.948797,-4.05376 6.911903,-3.49222 3.142952,1.08571 0.521138,2.39235 3.374054,3.32716 1.157814,0.41288 2.803275,-2.92834 4.493102,-2.36455 1.537439,0.51295 -1.133259,2.58655 -1.771609,3.56012 -2.399462,4.49452 -2.380138,6.21592 -2.053547,15.03823 C 49.347805,149.92854 31.635897,150 29.705954,150 c -0.280175,-7.89869 -0.61624,-13.99718 -4.587946,-17.73567 z"
+         id="path3834-5-6-3-7-4-59-2"
+         inkscape:connector-curvature="0"
+         sodipodi:nodetypes="csssccscccc" />
+    </g>
+    <g
+       transform="matrix(1,0,0,0.97812443,-0.3187027,3.3178323)"
+       id="g3271">
+      <path
+         style="fill:#ff9900;fill-opacity:1;fill-rule:evenodd;stroke:none"
+         d="m 21.64439,180.55753 c -2.849057,-4.60893 -3.81898,-3.25148 -5.991183,-5.33761 -4.315154,-4.14416 0.05895,-7.97331 2.671961,-7.43751 3.197932,0.65574 3.217899,1.74446 9.084313,3.0787 7.54898,-2.38553 8.628622,-2.63847 14.465409,0.20682 4.167047,2.03133 5.384573,-6.0324 9.317559,-5.25499 5.696083,0.21635 2.99157,4.97936 7.273771,6.63029 1.536788,0.5716 5.137219,-1.25869 7.628717,-2.68182 1.886848,-1.07775 3.684308,1.04263 4.086637,2.64741 2.930009,11.68698 -9.779402,-1.12565 -11.709581,17.64041 l -2.094898,9.94927 c -5.167286,0.13056 -28.435072,0.003 -30.996722,0.003 -0.582394,-9.05309 -1.339154,-15.51914 -3.735983,-19.44388 z"
+         id="path3834-5-6-3-7"
+         inkscape:connector-curvature="0"
+         sodipodi:nodetypes="csscsccssccccc" />
+      <path
+         style="fill:#ff7a00;fill-opacity:1;fill-rule:evenodd;stroke:none"
+         d="m 23.760317,181.63128 c -2.516108,-4.34158 -2.048532,-3.85736 -3.966886,-5.82248 -3.810874,-3.90377 -2.861075,-5.92183 -0.553426,-5.41711 2.824214,0.61771 3.239093,1.37844 8.419945,2.63529 6.666788,-2.24716 8.811997,-3.01508 13.966683,-0.33484 3.680076,1.9135 6.741549,-4.75557 10.214916,-4.02326 5.030425,0.2038 0.655739,3.76362 4.437511,5.31879 1.357196,0.53844 5.728609,0.13847 7.928944,-1.20211 1.666347,-1.01524 3.142442,1.35055 2.946987,2.89109 -0.590365,4.65313 -9.166218,-2.78175 -10.870832,14.89576 l -1.850084,9.37214 c -4.563424,0.12299 -25.11208,0.003 -27.37437,0.003 -0.514334,-8.52795 -1.182657,-14.61893 -3.299388,-18.31601 z"
+         id="path3834-5-6-3-7-0"
+         inkscape:connector-curvature="0"
+         sodipodi:nodetypes="csscsccssccccc" />
+      <path
+         style="fill:#ff6200;fill-opacity:1;fill-rule:evenodd;stroke:none"
+         d="m 25.154482,179.5718 c -3.003337,-3.1029 -3.049296,-4.3097 -1.230645,-3.90852 2.225753,0.49098 2.420303,1.89014 6.503315,2.88914 5.254074,-1.78615 6.944705,-2.39653 11.007097,-0.26615 2.900256,1.52095 5.312993,-3.77996 8.050342,-3.19788 3.964462,0.16199 0.516786,2.99151 3.497188,4.22763 1.069602,0.42798 3.295379,-2.52783 5.189452,-3.27276 1.737078,-0.68318 1.734758,0.25348 1.594227,1.5035 -0.416454,3.70435 -5.43626,0.90068 -6.779661,14.95163 l -1.458045,7.44943 c -3.596419,0.0977 -19.790747,0.003 -21.57365,0.003 -0.679605,-4.87003 -1.91053,-17.23417 -4.79962,-20.37902 z"
+         id="path3834-5-6-3-7-0-8"
+         inkscape:connector-curvature="0"
+         sodipodi:nodetypes="cscsccsscccc" />
+    </g>
+    <g
+       transform="matrix(1,0,0,0.96925179,0.24308763,6.6437531)"
+       id="g3276">
+      <path
+         style="fill:#ff9900;fill-opacity:1;fill-rule:evenodd;stroke:none"
+         d="m 23.743124,249.99998 c -0.0021,-8.38473 -0.674478,-13.21106 -1.947372,-19.40235 -2.872411,-4.60893 -8.660165,-7.98126 -9.00852,-9.36377 -1.45177,-5.76161 3.219163,-6.38157 5.853588,-5.84577 3.224147,0.65574 3.00822,4.48264 8.858827,2.89143 7.800011,-2.12139 7.371568,-2.4512 13.2562,0.39409 4.201205,2.03133 7.439447,-5.93877 11.404672,-5.16136 5.88637,1.47719 3.32255,5.27447 8.482387,7.09844 1.549385,0.5716 3.83884,-1.44595 6.350762,-2.86908 1.902314,-1.07775 5.150747,0.29358 5.556374,1.89836 2.954028,11.68698 -11.678801,1.6833 -13.624802,20.44936 l -2.112071,9.89196 c -5.209643,0.13056 -30.487397,0.019 -33.070045,0.0187 z"
+         id="path3834-5-6-3"
+         inkscape:connector-curvature="0"
+         sodipodi:nodetypes="ccssssccsscccc" />
+      <path
+         style="fill:#ff7900;fill-opacity:1;fill-rule:evenodd;stroke:none"
+         d="m 25.496074,249.95921 c -0.0019,-7.80617 -0.613588,-12.29948 -1.771569,-18.06356 -2.348268,-6.14472 -7.854441,-9.22953 -8.592502,-10.70389 -2.475121,-4.94432 1.736809,-3.55775 4.133405,-3.05892 2.93308,0.61049 4.32563,3.77608 9.64806,2.29467 7.095848,-1.97502 6.706084,-2.28207 12.059468,0.36689 3.821932,1.89117 6.767834,-5.52898 10.37509,-4.80522 5.354965,1.37527 3.022599,4.91053 7.716621,6.60864 1.409511,0.53216 4.816432,-0.81652 7.101585,-2.14145 1.730578,-1.00338 3.411783,-0.26785 3.730608,1.23771 1.098363,5.1867 -10.624472,1.56715 -12.394793,19.03833 l -1.921399,9.2094 c -4.739331,0.12155 -27.735081,0.0176 -30.084574,0.0174 z"
+         id="path3834-5-6-3-9"
+         inkscape:connector-curvature="0"
+         sodipodi:nodetypes="ccssssccssccc" />
+      <path
+         style="fill:#ff6200;fill-opacity:1;fill-rule:evenodd;stroke:none"
+         d="m 27.065792,249.95841 c -0.0017,-6.40851 -0.539507,-10.09732 -1.55768,-14.82937 -1.005428,-5.70662 -4.018476,-8.65907 -4.667428,-9.86945 -2.176288,-4.05906 0.367507,-2.79775 2.474751,-1.45191 2.214151,1.41411 2.168956,4.05903 6.848785,2.84286 6.239133,-1.62141 5.802795,-2.06075 10.509841,0.11393 3.360492,1.55256 6.887038,-4.44541 10.058774,-3.85123 4.708435,1.12903 1.721349,3.18863 5.84864,4.5827 1.239334,0.43688 3.433776,-1.43268 5.443032,-2.52039 1.521637,-0.82373 2.466305,-2.06039 2.746635,-0.8244 0.479655,2.11481 -1.679538,1.87114 -3.976849,4.07261 -2.328176,2.23105 -4.803273,6.94048 -5.586757,14.15986 l -1.68942,7.56051 c -4.16713,0.0998 -24.386496,0.0144 -26.452324,0.0143 z"
+         id="path3834-5-6-3-9-0"
+         inkscape:connector-curvature="0"
+         sodipodi:nodetypes="ccssssccssscccc" />
+    </g>
+    <g
+       transform="matrix(0.96289698,0,0,0.98960187,1.0985144,2.0458593)"
+       id="g3281">
+      <path
+         style="fill:#ff9900;fill-opacity:1;fill-rule:evenodd;stroke:none"
+         d="m 22.29079,299.99998 c -0.0021,-8.38473 0.408741,-12.55759 -0.863963,-18.74888 -2.871983,-4.60893 -8.382106,-8.51092 -8.465619,-9.09894 -0.835479,-5.88265 3.218684,-7.04365 5.852716,-6.50785 3.223667,0.65574 4.943793,4.84775 10.79351,3.25655 7.799166,-2.12148 7.329923,-2.28666 13.213678,0.55863 4.200579,2.03133 5.94905,-6.2036 9.913685,-5.42619 1.418383,0.27813 4.642426,2.30102 4.656922,4.0791 0.02181,2.6756 1.324158,2.46404 2.470304,2.88693 1.549154,0.5716 4.785995,-0.38663 7.297542,-1.80976 1.902031,-1.07775 5.55615,-0.23608 5.961716,1.3687 2.953588,11.68698 -11.135502,0.35914 -13.081213,19.1252 l -1.840976,10.15679 c 11.579461,0.39539 -33.326038,0.16006 -35.908302,0.15976 z"
+         id="path3834-5-6"
+         inkscape:connector-curvature="0"
+         sodipodi:nodetypes="ccssssssssscccc" />
+      <path
+         style="fill:#ff7900;fill-opacity:1;fill-rule:evenodd;stroke:none"
+         d="m 23.511372,299.99999 c -0.002,-7.82741 0.779178,-12.68366 -0.41005,-18.46342 -2.683611,-4.30259 -7.170252,-8.60729 -7.248287,-9.15622 -0.78068,-5.49165 1.418589,-4.85408 3.879856,-4.35389 3.012229,0.61215 3.514653,3.06065 9.040402,4.30621 6.126595,-4.41217 8.423986,-3.53321 13.921828,-0.87704 3.925065,1.89631 5.558855,-5.79126 9.263452,-5.06552 1.325352,0.25964 4.337931,2.14808 4.351477,3.80797 0.02038,2.49776 1.237307,2.30026 2.308278,2.69504 1.447545,0.53361 4.472084,-0.36093 6.8189,-1.68947 1.777277,-1.00611 5.852269,-0.2417 5.57069,1.27773 -1.404478,7.5787 -11.002374,-0.14252 -12.223223,17.85398 l -1.720228,9.48169 c 10.81997,0.36911 -31.1402,0.18326 -33.553095,0.18296 z"
+         id="path3834-5-6-36"
+         inkscape:connector-curvature="0"
+         sodipodi:nodetypes="ccsscsssssscccc" />
+      <path
+         style="fill:#ff6200;fill-opacity:1;fill-rule:evenodd;stroke:none"
+         d="m 25.193947,299.95293 c -0.0018,-6.39776 0.689282,-10.36704 -0.362741,-15.09115 -0.126835,-7.63655 -4.283101,-8.34605 -4.726661,-10.4801 -0.924185,-4.4464 -1.773422,0.7313 -0.125778,-2.43508 1.251523,-2.40513 4.045474,5.49784 8.933702,6.51591 5.419753,-3.60631 9.137458,-2.51336 14.000999,-0.34233 3.472219,1.54996 4.542987,-3.60992 7.820175,-3.01673 1.172441,0.21221 3.462924,1.00667 3.474907,2.36339 0.01802,2.04156 1.094556,2.06741 2.041966,2.39007 1.280537,0.43616 2.832546,-3.47848 4.908603,-4.56437 1.572227,-0.82235 2.876194,-1.77222 2.306295,-0.64101 -2.366019,4.69637 -5.987729,2.69246 -7.067726,17.40198 l -1.52176,7.7499 c 9.571639,0.30169 -27.547467,0.14979 -29.681981,0.14954 z"
+         id="path3834-5-6-36-7"
+         inkscape:connector-curvature="0"
+         sodipodi:nodetypes="ccsscsssssscccc" />
+    </g>
+  </g>
+</svg>
Binary file share/hedgewars/Data/Themes/Fruit/Watermelon.png has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/share/hedgewars/Data/Themes/Fruit/Watermelon.svg	Tue Jun 04 22:28:12 2013 +0200
@@ -0,0 +1,395 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   id="svg2"
+   version="1.1"
+   inkscape:version="0.48.2 r9819"
+   width="330"
+   height="380"
+   sodipodi:docname="Watermelon.svg"
+   inkscape:export-filename="/home/alumno/Watermelon.png"
+   inkscape:export-xdpi="90"
+   inkscape:export-ydpi="90">
+  <metadata
+     id="metadata8">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+        <dc:title></dc:title>
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <defs
+     id="defs6" />
+  <sodipodi:namedview
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1"
+     objecttolerance="10"
+     gridtolerance="10"
+     guidetolerance="10"
+     inkscape:pageopacity="0"
+     inkscape:pageshadow="2"
+     inkscape:window-width="1024"
+     inkscape:window-height="576"
+     id="namedview4"
+     showgrid="false"
+     inkscape:zoom="1.2421053"
+     inkscape:cx="205.80343"
+     inkscape:cy="202.92468"
+     inkscape:window-x="0"
+     inkscape:window-y="24"
+     inkscape:window-maximized="1"
+     inkscape:current-layer="svg2" />
+  <g
+     id="g4067"
+     transform="matrix(1.0009098,0,0,1,-0.01662335,0)">
+    <path
+       sodipodi:nodetypes="ccccc"
+       inkscape:connector-curvature="0"
+       id="path3846"
+       d="M 21.16176,304.90446 C 79.192603,199.15863 79.320882,201.26339 155.45626,63.017853 c 0,0 39.67701,-5.551263 42.63457,0.354572 36.04224,84.574805 37.29601,87.965105 101.09507,236.310815 -48.58642,56.96906 -291.41475,35.09134 -278.024141,5.22121 z"
+       style="fill:#ea0000;fill-opacity:1;fill-rule:evenodd;stroke:#9e1e00;stroke-width:4.1789999;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
+    <path
+       sodipodi:nodetypes="ccsccc"
+       inkscape:connector-curvature="0"
+       id="path3866-6"
+       d="m 157.39382,64.105403 c 2.84301,-1.024045 36.6574,-4.26847 41.38895,-1.733055 3.01899,1.617656 11.03073,25.264922 51.1483,119.135242 27.33564,63.96217 50.86987,116.7313 50.89689,117.77572 0.14494,5.56099 -23.08054,19.2874 -44.96726,25.54942 C 235.56204,225.55549 195.46747,140.34641 157.39382,64.105403 z"
+       style="opacity:0.49800002;fill:#e2e3db;fill-opacity:1;fill-rule:evenodd;stroke:none" />
+    <path
+       sodipodi:nodetypes="cccccscccc"
+       inkscape:connector-curvature="0"
+       id="path3016"
+       d="m 130.1346,338.21986 c -29.49569,-1.30665 -62.692724,-5.33246 -88.484704,-14.00661 -13.892079,-4.86676 -22.58368,-12.389 -21.622294,-16.51372 2.552584,-6.17739 2.011312,-5.0554 7.8672,-15.76023 80.814378,32.39629 140.992688,28.35017 218.801108,7.41858 0.78617,-0.15815 7.91845,-0.53857 19.49563,-6.677 9.7244,-5.15605 23.77009,-12.70268 24.79453,-12.63676 6.17219,12.94032 6.29945,13.67306 10.3437,19.90908 -7.60478,11.45407 -29.21256,20.63481 -45.73155,25.82614 -38.40429,11.3478 -92.39878,13.95855 -125.46362,12.44052 z"
+       style="fill:#a3ff3d;fill-opacity:1;fill-rule:evenodd;stroke:#008200;stroke-width:3.36641192;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
+    <path
+       sodipodi:nodetypes="ccsccc"
+       inkscape:connector-curvature="0"
+       id="path3866"
+       d="m 155.41075,63.626026 c 2.84301,-1.024045 36.65739,-4.268469 41.38895,-1.733055 3.01898,1.617657 11.03073,25.264923 51.14829,119.135239 27.33565,63.96217 50.86987,116.7313 50.8969,117.77571 0.14494,5.561 -23.08055,19.2874 -44.96727,25.54942 C 233.57896,225.07611 193.4844,139.86704 155.41075,63.626026 z"
+       style="opacity:0.49800002;fill:#ff5555;fill-opacity:1;fill-rule:evenodd;stroke:#9e1e00;stroke-width:3.36641192;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
+    <path
+       sodipodi:nodetypes="cccccc"
+       inkscape:connector-curvature="0"
+       id="path3836"
+       d="m 254.18308,326.22044 c -0.81393,-3.86474 -1.49705,-12.4723 -5.98386,-27.0405 19.92422,-9.22497 20.27979,-9.7719 41.68233,-22.15942 2.17558,5.55195 8.93128,18.53558 11.3554,22.98857 0.0787,0.2861 -7.34861,9.49354 -17.73467,14.34728 -12.93589,6.90227 -25.30393,11.09865 -29.3192,11.86407 z"
+       style="opacity:0.91397861;fill:#99ff55;fill-opacity:1;fill-rule:evenodd;stroke:#008200;stroke-width:3.36641192;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
+    <path
+       sodipodi:nodetypes="cccccc"
+       inkscape:connector-curvature="0"
+       id="path3016-1"
+       d="m 130.6765,338.82657 c -29.48675,-0.83955 -64.157215,-7.80493 -89.905333,-14.1916 -20.141557,-5.74449 -23.484138,-14.98988 -17.869072,-22.78129 74.099538,37.91124 156.369735,33.30432 228.166585,14.327 2.09032,5.93688 1.61619,9.52952 1.91745,9.94844 -38.45505,8.70038 -89.25508,13.67857 -122.30963,12.69745 z"
+       style="fill:#008200;fill-opacity:1;fill-rule:evenodd;stroke:none" />
+    <path
+       sodipodi:nodetypes="cccccc"
+       inkscape:connector-curvature="0"
+       id="path3836-8"
+       d="m 255.5856,324.30115 c -0.79061,-2.64831 -0.62017,-1.57929 -1.85209,-8.97896 17.28722,-7.39585 22.18956,-8.88175 42.1268,-22.20468 2.14196,3.79844 1.34711,2.77666 3.36035,6.67271 -2.0962,2.98757 -5.06544,6.63137 -14.65868,12.18729 -12.37988,6.86736 -24.95698,11.77402 -28.97638,12.32364 z"
+       style="opacity:0.91397861;fill:#009100;fill-opacity:1;fill-rule:evenodd;stroke:none" />
+    <path
+       sodipodi:nodetypes="ccsccscsssccc"
+       inkscape:connector-curvature="0"
+       id="path4300"
+       d="M 287.88498,306.91447 C 263.19743,260.46929 248.01975,203.20913 230.0716,160.95809 220.57806,138.63452 202.75696,104.75545 188.37582,75.646776 l -21.83006,-11.253711 18.80525,-1.405653 c 5.07392,-0.03467 8.27847,-0.11547 10.19087,0.490056 0.78187,0.247543 1.11402,1.577898 1.73412,2.485702 1.14479,2.216137 9.68241,22.297237 18.59243,43.73076 12.28631,29.55527 32.10044,76.03877 53.29087,125.0189 12.29435,28.41753 23.97997,54.57522 25.8858,57.88051 l 4.18218,7.25317 c -1.61883,3.04764 -9.50074,9.16182 -10.12146,9.15079 z"
+       style="opacity:0.28999999;fill:#ffd5d5;fill-opacity:1;fill-rule:evenodd;stroke:none" />
+    <path
+       sodipodi:nodetypes="csccssc"
+       inkscape:connector-curvature="0"
+       id="path4324-3-3-7"
+       d="M 97.379797,336.8774 C 86.523,335.2669 48.937505,329.8389 42.3935,326.58443 33.942272,322.38106 18.984981,315.99933 18.495824,307.57188 17.944787,305.18361 43.475302,266.00098 134.04434,98.123201 c 2.77103,-1.479598 6.77679,-0.833882 3.74816,3.154899 -6.10802,8.04447 -18.53627,38.4123 -30.29404,72.7588 -22.498625,65.7224 -13.789881,142.34249 -10.118663,162.8405 z"
+       style="opacity:0.22999998;fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" />
+    <g
+       id="g3260">
+      <path
+         sodipodi:type="arc"
+         style="fill:#000000;fill-opacity:1;stroke:none"
+         id="path8533-2"
+         sodipodi:cx="38.383335"
+         sodipodi:cy="39.279999"
+         sodipodi:rx="0.86166668"
+         sodipodi:ry="2.7416666"
+         d="m 39.245002,39.279999 c 0,1.51418 -0.385782,2.741666 -0.861667,2.741666 -0.475885,0 -0.861667,-1.227486 -0.861667,-2.741666 0,-1.514181 0.385782,-2.741667 0.861667,-2.741667 0.475885,0 0.861667,1.227486 0.861667,2.741667 z"
+         transform="matrix(-5.8199827,1.3156875,1.2680928,3.9270891,306.66538,-39.969783)" />
+      <path
+         style="opacity:0.13999999;fill:#ffffff;fill-opacity:1;stroke:none"
+         d="m 138.82052,172.60263 c 0.92585,-3.05699 -0.0898,-7.39736 -1.84206,-11.563 -2.17162,-5.16257 -6.06788,-9.02073 -8.77101,-6.0901 -0.2495,0.27046 -0.19417,0.66253 -0.44027,1.03343 7.75195,5.62701 8.23658,20.5463 11.05334,16.61967 z"
+         id="path3801-5"
+         inkscape:connector-curvature="0"
+         sodipodi:nodetypes="csscc" />
+      <path
+         sodipodi:type="arc"
+         style="fill:#000000;fill-opacity:1;stroke:none"
+         id="path8533-2-7"
+         sodipodi:cx="38.383335"
+         sodipodi:cy="39.279999"
+         sodipodi:rx="0.86166668"
+         sodipodi:ry="2.7416666"
+         d="m 39.245002,39.279999 c 0,1.51418 -0.385782,2.741666 -0.861667,2.741666 -0.475885,0 -0.861667,-1.227486 -0.861667,-2.741666 0,-1.514181 0.385782,-2.741667 0.861667,-2.741667 0.475885,0 0.861667,1.227486 0.861667,2.741667 z"
+         transform="matrix(-3.9406429,-4.6066071,-2.7242581,3.0386962,419.01701,263.10664)" />
+      <path
+         style="opacity:0.13999999;fill:#ffffff;fill-opacity:1;stroke:none"
+         d="m 156.88808,214.58954 c 3.04823,-0.64244 6.24627,-3.6534 8.9386,-7.24332 3.33671,-4.44917 4.72801,-9.82174 0.92551,-10.84112 -0.35094,-0.094 -0.65751,0.14486 -1.09217,0.10245 -1.02585,9.69959 -13.47642,17.34119 -8.77194,17.98191 z"
+         id="path3801-5-8"
+         inkscape:connector-curvature="0"
+         sodipodi:nodetypes="csscc" />
+      <path
+         sodipodi:type="arc"
+         style="fill:#000000;fill-opacity:1;stroke:none"
+         id="path8533-2-77"
+         sodipodi:cx="38.383335"
+         sodipodi:cy="39.279999"
+         sodipodi:rx="0.86166668"
+         sodipodi:ry="2.7416666"
+         d="m 39.245002,39.279999 c 0,1.51418 -0.385782,2.741666 -0.861667,2.741666 -0.475885,0 -0.861667,-1.227486 -0.861667,-2.741666 0,-1.514181 0.385782,-2.741667 0.861667,-2.741667 0.475885,0 0.861667,1.227486 0.861667,2.741667 z"
+         transform="matrix(-5.8661423,-1.0916073,1.116613,-3.9728155,357.88556,345.64936)" />
+      <path
+         style="opacity:0.13999999;fill:#ffffff;fill-opacity:1;stroke:none"
+         d="m 182.01497,139.66765 c 1.04236,3.01924 0.19381,7.39538 -1.39742,11.62511 -1.97211,5.24204 -5.71762,9.24672 -8.53109,6.42188 -0.25969,-0.2607 -0.21944,-0.6546 -0.47957,-1.0158 7.53053,-5.92005 7.44287,-20.84694 10.40808,-17.03119 z"
+         id="path3801-5-5"
+         inkscape:connector-curvature="0"
+         sodipodi:nodetypes="csscc" />
+      <path
+         sodipodi:type="arc"
+         style="fill:#000000;fill-opacity:1;stroke:none"
+         id="path8533-2-3"
+         sodipodi:cx="38.383335"
+         sodipodi:cy="39.279999"
+         sodipodi:rx="0.86166668"
+         sodipodi:ry="2.7416666"
+         d="m 39.245002,39.279999 c 0,1.51418 -0.385782,2.741666 -0.861667,2.741666 -0.475885,0 -0.861667,-1.227486 -0.861667,-2.741666 0,-1.514181 0.385782,-2.741667 0.861667,-2.741667 0.475885,0 0.861667,1.227486 0.861667,2.741667 z"
+         transform="matrix(5.8661423,1.0916073,-1.116613,3.9728155,-87.196134,40.736602)" />
+      <path
+         style="opacity:0.13999999;fill:#ffffff;fill-opacity:1;stroke:none"
+         d="m 88.674466,246.7183 c -1.042368,-3.01923 -0.193815,-7.39536 1.397422,-11.62509 1.972109,-5.24205 5.717614,-9.24674 8.53108,-6.4219 0.259699,0.26071 0.219447,0.65462 0.47958,1.01581 -7.530537,5.92004 -7.442869,20.84695 -10.408082,17.03118 z"
+         id="path3801-5-2"
+         inkscape:connector-curvature="0"
+         sodipodi:nodetypes="csscc" />
+      <path
+         sodipodi:type="arc"
+         style="fill:#000000;fill-opacity:1;stroke:none"
+         id="path8533-2-7-4"
+         sodipodi:cx="38.383335"
+         sodipodi:cy="39.279999"
+         sodipodi:rx="0.86166668"
+         sodipodi:ry="2.7416666"
+         d="m 39.245002,39.279999 c 0,1.51418 -0.385782,2.741666 -0.861667,2.741666 -0.475885,0 -0.861667,-1.227486 -0.861667,-2.741666 0,-1.514181 0.385782,-2.741667 0.861667,-2.741667 0.475885,0 0.861667,1.227486 0.861667,2.741667 z"
+         transform="matrix(3.7611487,-4.7542881,2.8387461,2.9320262,-115.01541,334.61757)" />
+      <path
+         style="opacity:0.13999999;fill:#ffffff;fill-opacity:1;stroke:none"
+         d="m 145.06089,276.08726 c -3.07061,-0.52511 -6.38173,-3.41127 -9.20971,-6.89533 -3.5048,-4.318 -5.10104,-9.63327 -1.34042,-10.79768 0.34708,-0.10742 0.66259,0.11994 1.09531,0.0605 1.39691,9.65313 14.13128,16.81182 9.45481,17.6324 z"
+         id="path3801-5-8-0"
+         inkscape:connector-curvature="0"
+         sodipodi:nodetypes="csscc" />
+      <path
+         sodipodi:type="arc"
+         style="fill:#000000;fill-opacity:1;stroke:none"
+         id="path8533-2-7-4-5"
+         sodipodi:cx="38.383335"
+         sodipodi:cy="39.279999"
+         sodipodi:rx="0.86166668"
+         sodipodi:ry="2.7416666"
+         d="m 39.245002,39.279999 c 0,1.51418 -0.385782,2.741666 -0.861667,2.741666 -0.475885,0 -0.861667,-1.227486 -0.861667,-2.741666 0,-1.514181 0.385782,-2.741667 0.861667,-2.741667 0.475885,0 0.861667,1.227486 0.861667,2.741667 z"
+         transform="matrix(3.7611487,-4.7542881,2.8387461,2.9320262,-53.119343,314.93041)" />
+      <path
+         style="opacity:0.13999999;fill:#ffffff;fill-opacity:1;stroke:none"
+         d="m 206.95695,256.40009 c -3.07057,-0.52512 -6.38172,-3.41126 -9.2097,-6.89532 -3.50477,-4.318 -5.10105,-9.63328 -1.34041,-10.79768 0.3471,-0.10742 0.6626,0.11954 1.09533,0.0605 1.39692,9.65314 14.13128,16.81182 9.45478,17.63241 z"
+         id="path3801-5-8-0-9"
+         inkscape:connector-curvature="0"
+         sodipodi:nodetypes="csscc" />
+      <path
+         sodipodi:type="arc"
+         style="opacity:0.11000001;fill:#ffffff;fill-opacity:1;stroke:none"
+         id="path8533-2-77-7"
+         sodipodi:cx="38.383335"
+         sodipodi:cy="39.279999"
+         sodipodi:rx="0.86166668"
+         sodipodi:ry="2.7416666"
+         d="m 39.245002,39.279999 c 0,1.51418 -0.385782,2.741666 -0.861667,2.741666 -0.475885,0 -0.861667,-1.227486 -0.861667,-2.741666 0,-1.514181 0.385782,-2.741667 0.861667,-2.741667 0.475885,0 0.861667,1.227486 0.861667,2.741667 z"
+         transform="matrix(-7.721515,-1.1643855,1.4879863,-4.3355191,414.38136,361.90062)" />
+      <path
+         style="opacity:0.01540001;fill:#ffffff;fill-opacity:1;stroke:none"
+         d="m 183.64004,138.13151 c 1.35974,3.28667 0.22307,8.06067 -1.89117,12.67829 -2.62028,5.72279 -7.57092,10.1045 -11.26425,7.03746 -0.34082,-0.28316 -0.28633,-0.71261 -0.62719,-1.10518 9.94418,-6.48609 9.89374,-22.75712 13.78261,-18.61057 z"
+         id="path3801-5-5-9"
+         inkscape:connector-curvature="0"
+         sodipodi:nodetypes="csscc" />
+      <path
+         sodipodi:type="arc"
+         style="opacity:0.11000001;fill:#ffffff;fill-opacity:1;stroke:none"
+         id="path8533-2-77-7-5"
+         sodipodi:cx="38.383335"
+         sodipodi:cy="39.279999"
+         sodipodi:rx="0.86166668"
+         sodipodi:ry="2.7416666"
+         d="m 39.245002,39.279999 c 0,1.51418 -0.385782,2.741666 -0.861667,2.741666 -0.475885,0 -0.861667,-1.227486 -0.861667,-2.741666 0,-1.514181 0.385782,-2.741667 0.861667,-2.741667 0.475885,0 0.861667,1.227486 0.861667,2.741667 z"
+         transform="matrix(7.6712015,-1.4595392,-1.6530977,-4.2752892,-96.517136,389.48274)" />
+      <path
+         style="opacity:0.01540001;fill:#ffffff;fill-opacity:1;stroke:none"
+         d="m 125.47623,157.03247 c -1.23274,3.33638 0.0861,8.06329 2.37582,12.59648 2.83773,5.61812 7.95271,9.80684 11.52571,6.60047 0.32972,-0.29602 0.25881,-0.72306 0.58439,-1.12842 -10.18556,-6.10012 -10.7589,-22.36111 -14.48592,-18.06853 z"
+         id="path3801-5-5-9-7"
+         inkscape:connector-curvature="0"
+         sodipodi:nodetypes="csscc" />
+      <path
+         sodipodi:type="arc"
+         style="opacity:0.11000001;fill:#ffffff;fill-opacity:1;stroke:none"
+         id="path8533-2-77-7-0"
+         sodipodi:cx="38.383335"
+         sodipodi:cy="39.279999"
+         sodipodi:rx="0.86166668"
+         sodipodi:ry="2.7416666"
+         d="m 39.245002,39.279999 c 0,1.51418 -0.385782,2.741666 -0.861667,2.741666 -0.475885,0 -0.861667,-1.227486 -0.861667,-2.741666 0,-1.514181 0.385782,-2.741667 0.861667,-2.741667 0.475885,0 0.861667,1.227486 0.861667,2.741667 z"
+         transform="matrix(7.0389454,-3.4572185,-2.6731564,-3.6891431,38.251181,525.81349)" />
+      <path
+         style="opacity:0.01540001;fill:#ffffff;fill-opacity:1;stroke:none"
+         d="m 194.0278,242.00418 c -0.34973,3.55223 2.11447,7.76686 5.46727,11.53527 4.15522,4.67029 10.14907,7.35196 12.79107,3.30081 0.24408,-0.37388 0.0675,-0.76757 0.28014,-1.24613 -11.37105,-3.17505 -16.02125,-18.73158 -18.53829,-13.58996 z"
+         id="path3801-5-5-9-3"
+         inkscape:connector-curvature="0"
+         sodipodi:nodetypes="csscc" />
+      <path
+         sodipodi:type="arc"
+         style="opacity:0.11000001;fill:#ffffff;fill-opacity:1;stroke:none"
+         id="path8533-2-77-7-0-2"
+         sodipodi:cx="38.383335"
+         sodipodi:cy="39.279999"
+         sodipodi:rx="0.86166668"
+         sodipodi:ry="2.7416666"
+         d="m 39.245002,39.279999 c 0,1.51418 -0.385782,2.741666 -0.861667,2.741666 -0.475885,0 -0.861667,-1.227486 -0.861667,-2.741666 0,-1.514181 0.385782,-2.741667 0.861667,-2.741667 0.475885,0 0.861667,1.227486 0.861667,2.741667 z"
+         transform="matrix(7.0389454,-3.4572185,-2.6731564,-3.6891431,-24.792104,544.64346)" />
+      <path
+         style="opacity:0.01540001;fill:#ffffff;fill-opacity:1;stroke:none"
+         d="m 130.98447,260.83414 c -0.34969,3.55223 2.11452,7.76687 5.46729,11.53528 4.15525,4.67028 10.14908,7.35196 12.7911,3.3008 0.24408,-0.37387 0.0675,-0.76756 0.28012,-1.24614 -11.37104,-3.17504 -16.02123,-18.73156 -18.53832,-13.58995 z"
+         id="path3801-5-5-9-3-7"
+         inkscape:connector-curvature="0"
+         sodipodi:nodetypes="csscc" />
+      <path
+         sodipodi:type="arc"
+         style="opacity:0.11000001;fill:#ffffff;fill-opacity:1;stroke:none"
+         id="path8533-2-77-7-0-2-5"
+         sodipodi:cx="38.383335"
+         sodipodi:cy="39.279999"
+         sodipodi:rx="0.86166668"
+         sodipodi:ry="2.7416666"
+         d="m 39.245002,39.279999 c 0,1.51418 -0.385782,2.741666 -0.861667,2.741666 -0.475885,0 -0.861667,-1.227486 -0.861667,-2.741666 0,-1.514181 0.385782,-2.741667 0.861667,-2.741667 0.475885,0 0.861667,1.227486 0.861667,2.741667 z"
+         transform="matrix(-7.1663061,-3.1848343,2.5297656,-3.7889086,337.21841,476.64219)" />
+      <path
+         style="opacity:0.01540001;fill:#ffffff;fill-opacity:1;stroke:none"
+         d="m 170.67632,199.01329 c 0.48563,3.53622 -1.81521,7.84222 -5.02105,11.73638 -3.97317,4.82615 -9.85976,7.73564 -12.65516,3.78875 -0.25786,-0.36426 -0.0969,-0.76442 -0.32771,-1.23449 11.24101,-3.60863 15.29139,-19.33197 18.00372,-14.29064 z"
+         id="path3801-5-5-9-3-7-7"
+         inkscape:connector-curvature="0"
+         sodipodi:nodetypes="csscc" />
+      <path
+         sodipodi:type="arc"
+         style="opacity:0.11000001;fill:#ffffff;fill-opacity:1;stroke:none"
+         id="path8533-2-77-7-2"
+         sodipodi:cx="38.383335"
+         sodipodi:cy="39.279999"
+         sodipodi:rx="0.86166668"
+         sodipodi:ry="2.7416666"
+         d="m 39.245002,39.279999 c 0,1.51418 -0.385782,2.741666 -0.861667,2.741666 -0.475885,0 -0.861667,-1.227486 -0.861667,-2.741666 0,-1.514181 0.385782,-2.741667 0.861667,-2.741667 0.475885,0 0.861667,1.227486 0.861667,2.741667 z"
+         transform="matrix(-7.721515,-1.1643855,1.4879863,-4.3355191,332.03828,452.96841)" />
+      <path
+         style="opacity:0.01540001;fill:#ffffff;fill-opacity:1;stroke:none"
+         d="m 101.29696,229.19929 c 1.35974,3.28667 0.22307,8.06067 -1.891171,12.6783 -2.620282,5.72277 -7.570919,10.1045 -11.264252,7.03745 -0.340815,-0.28316 -0.286333,-0.71259 -0.627181,-1.10518 9.944171,-6.48608 9.893723,-22.7571 13.782604,-18.61057 z"
+         id="path3801-5-5-9-5"
+         inkscape:connector-curvature="0"
+         sodipodi:nodetypes="csscc" />
+      <g
+         id="g3916"
+         transform="matrix(1.1059245,-0.02120599,0.02182428,1.1381693,-21.956204,17.765538)">
+        <path
+           transform="matrix(-5.194422,-1.432084,-0.59815551,3.584494,456.19379,78.176358)"
+           d="m 39.245002,39.279999 c 0,1.51418 -0.385782,2.741666 -0.861667,2.741666 -0.475885,0 -0.861667,-1.227486 -0.861667,-2.741666 0,-1.514181 0.385782,-2.741667 0.861667,-2.741667 0.475885,0 0.861667,1.227486 0.861667,2.741667 z"
+           sodipodi:ry="2.7416666"
+           sodipodi:rx="0.86166668"
+           sodipodi:cy="39.279999"
+           sodipodi:cx="38.383335"
+           id="path8533-2-3-4"
+           style="fill:#000000;fill-opacity:1;stroke:none"
+           sodipodi:type="arc" />
+        <path
+           sodipodi:nodetypes="csscc"
+           inkscape:connector-curvature="0"
+           id="path3801-5-2-5"
+           d="m 234.69635,172.49498 c 1.99545,-1.98372 2.96512,-5.78277 3.27406,-9.75663 0.38283,-4.92494 -1.14908,-9.56402 -4.51393,-8.42776 -0.31058,0.10485 -0.4273,0.43266 -0.77637,0.61694 3.88912,7.63845 -1.8484,19.42931 2.01624,17.56745 z"
+           style="opacity:0.13999999;fill:#ffffff;fill-opacity:1;stroke:none" />
+        <path
+           transform="matrix(6.7339091,2.1008916,0.43321785,-4.0172396,-41.900207,240.59956)"
+           d="m 39.245002,39.279999 c 0,1.51418 -0.385782,2.741666 -0.861667,2.741666 -0.475885,0 -0.861667,-1.227486 -0.861667,-2.741666 0,-1.514181 0.385782,-2.741667 0.861667,-2.741667 0.475885,0 0.861667,1.227486 0.861667,2.741667 z"
+           sodipodi:ry="2.7416666"
+           sodipodi:rx="0.86166668"
+           sodipodi:cy="39.279999"
+           sodipodi:cx="38.383335"
+           id="path8533-2-77-7-2-2"
+           style="opacity:0.11000001;fill:#ffffff;fill-opacity:1;stroke:none"
+           sodipodi:type="arc" />
+        <path
+           sodipodi:nodetypes="csscc"
+           inkscape:connector-curvature="0"
+           id="path3801-5-5-9-5-8"
+           d="m 231.06086,153.67403 c -2.35558,2.07132 -3.24149,6.29838 -3.27151,10.78431 -0.0372,5.55958 2.33366,10.96921 6.50741,9.98558 0.3852,-0.0909 0.50382,-0.45241 0.93057,-0.62996 -5.64102,-9.03192 0.57638,-21.90217 -4.16647,-20.13993 z"
+           style="opacity:0.01540001;fill:#ffffff;fill-opacity:1;stroke:none" />
+        <path
+           inkscape:transform-center-y="6.8275839"
+           inkscape:transform-center-x="-0.26748628"
+           transform="matrix(5.194422,-1.432084,0.59815551,3.584494,-15.781326,34.350269)"
+           d="m 39.245002,39.279999 c 0,1.51418 -0.385782,2.741666 -0.861667,2.741666 -0.475885,0 -0.861667,-1.227486 -0.861667,-2.741666 0,-1.514181 0.385782,-2.741667 0.861667,-2.741667 0.475885,0 0.861667,1.227486 0.861667,2.741667 z"
+           sodipodi:ry="2.7416666"
+           sodipodi:rx="0.86166668"
+           sodipodi:cy="39.279999"
+           sodipodi:cx="38.383335"
+           id="path8533-2-3-4-6"
+           style="fill:#000000;fill-opacity:1;stroke:none"
+           sodipodi:type="arc" />
+        <path
+           inkscape:transform-center-y="6.2348523"
+           inkscape:transform-center-x="1.7675182"
+           sodipodi:nodetypes="csscc"
+           inkscape:connector-curvature="0"
+           id="path3801-5-2-5-3"
+           d="m 205.71611,128.6689 c -1.99545,-1.98372 -2.96512,-5.78277 -3.27406,-9.75663 -0.38283,-4.92494 1.14908,-9.56402 4.51393,-8.42776 0.31058,0.10485 0.4273,0.43266 0.77637,0.61694 -3.88912,7.63845 1.8484,19.42931 -2.01624,17.56745 z"
+           style="opacity:0.13999999;fill:#ffffff;fill-opacity:1;stroke:none" />
+        <path
+           inkscape:transform-center-y="6.2620898"
+           transform="matrix(-6.7339091,2.1008916,-0.43321785,-4.0172396,482.31266,196.77348)"
+           d="m 39.245002,39.279999 c 0,1.51418 -0.385782,2.741666 -0.861667,2.741666 -0.475885,0 -0.861667,-1.227486 -0.861667,-2.741666 0,-1.514181 0.385782,-2.741667 0.861667,-2.741667 0.475885,0 0.861667,1.227486 0.861667,2.741667 z"
+           sodipodi:ry="2.7416666"
+           sodipodi:rx="0.86166668"
+           sodipodi:cy="39.279999"
+           sodipodi:cx="38.383335"
+           id="path8533-2-77-7-2-2-8"
+           style="opacity:0.11000001;fill:#ffffff;fill-opacity:1;stroke:none"
+           sodipodi:type="arc" />
+        <path
+           inkscape:transform-center-y="6.8559754"
+           inkscape:transform-center-x="-2.0783619"
+           sodipodi:nodetypes="csscc"
+           inkscape:connector-curvature="0"
+           id="path3801-5-5-9-5-8-5"
+           d="m 209.3516,109.84795 c 2.35558,2.07132 3.24149,6.29838 3.27151,10.78431 0.0372,5.55958 -2.33366,10.96921 -6.50741,9.98558 -0.3852,-0.0909 -0.50382,-0.45241 -0.93057,-0.62996 5.64102,-9.03192 -0.57638,-21.90217 4.16647,-20.13993 z"
+           style="opacity:0.01540001;fill:#ffffff;fill-opacity:1;stroke:none" />
+      </g>
+    </g>
+    <path
+       sodipodi:nodetypes="csscssc"
+       inkscape:connector-curvature="0"
+       id="path4324-3-3"
+       d="m 151.68608,340.36278 c -3.88672,-0.98839 -49.89593,0.0178 -53.096146,-3.55068 -9.560172,-10.66043 -5.926707,-69.64748 -3.526383,-99.59695 5.813229,-72.53316 32.358169,-107.28524 35.328259,-123.68635 1.57027,-1.81852 4.11171,3.50037 2.6094,7.72918 -3.02982,8.52856 -13.21211,34.68085 -17.34321,68.92223 -7.90489,65.52124 30.49617,133.81434 36.02808,150.18257 z"
+       style="opacity:0.13980001;fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" />
+    <path
+       sodipodi:nodetypes="cccccc"
+       inkscape:connector-curvature="0"
+       id="path4065"
+       d="m 246.44092,298.29719 c 4.77968,-0.93282 12.21599,-4.51421 21.58491,-9.9264 18.51184,-10.69424 4.24552,-3.5196 21.90139,-13.4431 8.22485,10.62851 10.61617,19.74684 12.98654,25.28297 -3.63314,11.56373 -49.73924,31.94783 -48.77382,26.07618 -3.77558,-13.95519 -6.36858,-20.30775 -7.69902,-27.98965 z"
+       style="opacity:0.13980001;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none" />
+  </g>
+</svg>
Binary file share/hedgewars/Data/Themes/Fruit/Watermelon_mask.png has changed
Binary file share/hedgewars/Data/Themes/Fruit/amSnowball.png has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/share/hedgewars/Data/Themes/Fruit/amSnowball.svg	Tue Jun 04 22:28:12 2013 +0200
@@ -0,0 +1,100 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   id="svg2"
+   version="1.1"
+   inkscape:version="0.48.2 r9819"
+   width="128"
+   height="128"
+   sodipodi:docname="amSnowball.svg"
+   inkscape:export-filename="/home/alumno/amSnowball.png"
+   inkscape:export-xdpi="90"
+   inkscape:export-ydpi="90">
+  <metadata
+     id="metadata8">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+        <dc:title></dc:title>
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <defs
+     id="defs6" />
+  <sodipodi:namedview
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1"
+     objecttolerance="10"
+     gridtolerance="10"
+     guidetolerance="10"
+     inkscape:pageopacity="0"
+     inkscape:pageshadow="2"
+     inkscape:window-width="1024"
+     inkscape:window-height="576"
+     id="namedview4"
+     showgrid="false"
+     inkscape:zoom="3.6875"
+     inkscape:cx="64"
+     inkscape:cy="74.847458"
+     inkscape:window-x="0"
+     inkscape:window-y="24"
+     inkscape:window-maximized="1"
+     inkscape:current-layer="svg2" />
+  <g
+     id="g3142"
+     transform="matrix(0.97742508,0,0,1,1.4010943,0)">
+    <path
+       inkscape:connector-curvature="0"
+       id="path3042-5-9"
+       d="m 72.669985,69.529726 c -3.145615,-0.545235 -6.42249,-2.890076 -7.857041,-5.622279 -2.153306,-4.101119 -1.281836,-8.75168 2.238774,-11.947152 4.341942,-3.940947 11.319436,-3.916319 15.69527,0.05542 2.276723,2.066462 3.362698,4.488259 3.342379,7.453728 -0.04453,6.493099 -6.420873,11.273368 -13.419382,10.060305 z"
+       style="opacity:0.98999999;fill:#572503;fill-opacity:1;fill-rule:evenodd;stroke:none" />
+    <path
+       inkscape:connector-curvature="0"
+       id="path3042-5"
+       d="m 72.074486,68.809188 c -3.09694,-0.567087 -6.323115,-3.005907 -7.735469,-5.847611 -2.119987,-4.265488 -1.262002,-9.102438 2.204136,-12.425982 4.274754,-4.098893 11.144289,-4.073279 15.452411,0.05764 2.241505,2.14928 3.310668,4.668144 3.290664,7.752461 -0.04387,6.753336 -6.321516,11.725191 -13.211742,10.463512 z"
+       style="opacity:0.98999999;fill:#d55703;fill-opacity:1;fill-rule:evenodd;stroke:none" />
+    <path
+       inkscape:connector-curvature="0"
+       id="path3042"
+       d="m 72.905865,68.276034 c -2.852123,-0.514902 -5.823256,-2.729293 -7.123962,-5.3095 -1.952396,-3.872965 -1.162237,-8.264804 2.029895,-11.282508 3.936826,-3.721701 10.263302,-3.698445 14.230855,0.05233 2.064304,1.951499 3.048953,4.238569 3.030526,7.039063 -0.04043,6.131874 -5.821789,10.646207 -12.167314,9.50063 z"
+       style="opacity:0.98999999;fill:#fe6600;fill-opacity:1;fill-rule:evenodd;stroke:none" />
+    <path
+       sodipodi:nodetypes="ssssss"
+       inkscape:connector-curvature="0"
+       id="path3044"
+       d="m 68.982076,51.717606 c 0.861953,-1.131965 3.213824,-1.87446 4.576469,-1.991795 2.584283,-0.222525 3.623455,0.924895 3.925261,1.57017 0.477735,1.021442 -1.42965,1.434157 -3.365277,1.63189 -0.912988,0.09327 -1.806892,0.862345 -2.209507,1.308315 -2.821253,3.125022 -5.607197,1.001252 -2.926946,-2.51858 z"
+       style="opacity:0.3;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none" />
+    <path
+       transform="matrix(2.6350423,0,0,2.2478717,-126.91421,-91.700602)"
+       d="m 75.073167,70.232971 c 0,0.97962 -0.751213,1.77376 -1.67788,1.77376 -0.926668,0 -1.677881,-0.79414 -1.677881,-1.77376 0,-0.97962 0.751213,-1.773759 1.677881,-1.773759 0.926667,0 1.67788,0.794139 1.67788,1.773759 z"
+       sodipodi:ry="1.7737594"
+       sodipodi:rx="1.6778805"
+       sodipodi:cy="70.232971"
+       sodipodi:cx="73.395287"
+       id="path3100-1"
+       style="fill:#a3086a;fill-opacity:1;fill-rule:evenodd;stroke:none"
+       sodipodi:type="arc" />
+    <path
+       transform="matrix(1.5536423,0,0,1.4518088,-47.784407,-35.849202)"
+       d="m 75.073167,70.232971 c 0,0.97962 -0.751213,1.77376 -1.67788,1.77376 -0.926668,0 -1.677881,-0.79414 -1.677881,-1.77376 0,-0.97962 0.751213,-1.773759 1.677881,-1.773759 0.926667,0 1.67788,0.794139 1.67788,1.773759 z"
+       sodipodi:ry="1.7737594"
+       sodipodi:rx="1.6778805"
+       sodipodi:cy="70.232971"
+       sodipodi:cx="73.395287"
+       id="path3100"
+       style="fill:#f49ee9;fill-opacity:1;fill-rule:evenodd;stroke:#db2efe;stroke-width:0.40000001;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+       sodipodi:type="arc" />
+  </g>
+</svg>
Binary file share/hedgewars/Data/Themes/Fruit/horizont.png has changed
Binary file share/hedgewars/Data/Themes/Fruit/icon.png has changed
Binary file share/hedgewars/Data/Themes/Fruit/icon@2x.png has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/share/hedgewars/Data/Themes/Fruit/theme.cfg	Tue Jun 04 22:28:12 2013 +0200
@@ -0,0 +1,13 @@
+sky = 50, 40, 131
+border = 0, 128, 0
+water-top = 255, 98, 0
+water-bottom = 255, 68, 0
+water-opacity = 125
+music = oriental.ogg
+clouds = 20
+object = Orange1, 1, 50, 84, 15, 3, 1, 8, 2, 90, 73
+object = Orange2, 1, 50, 84, 15, 3, 1, 8, 2, 90, 73
+object = Watermelon, 1, 87, 272, 77, 10, 1, 21, 2, 242, 219
+object = Banana1, 1, 152, 191, 37, 24, 1, 2, 1, 163, 174
+object = Banana2, 1, 1, 190, 37, 24, 1, 22, 0, 163, 174
+flakes = 20, 3, 999999999, 100, 260
--- a/share/hedgewars/Data/misc/hedgewars-mimeinfo.xml	Thu Apr 04 14:37:19 2013 +0200
+++ b/share/hedgewars/Data/misc/hedgewars-mimeinfo.xml	Tue Jun 04 22:28:12 2013 +0200
@@ -18,6 +18,7 @@
     <comment xml:lang="cs">Ukázka hry Hedgewars</comment>
     <comment xml:lang="sv">Demo för Hedgewars</comment>
     <comment xml:lang="da">Hedgewars-demo</comment>
+    <comment xml:lang="tr">Hedgewars Dösteri</comment>
     <magic priority="50">
       <match required="yes" type="byte" offset="0" value="2"/>
       <match required="yes" type="big16" offset="1" value="21572"/>
@@ -39,6 +40,7 @@
     <comment xml:lang="cs">Uložená hra Hedgewars</comment>
     <comment xml:lang="sv">Sparfil för Hedgewars</comment>
     <comment xml:lang="da">Gemt Hedgewars-spil</comment>
+    <comment xml:lang="tr">Hedgewars kayıtlı oyun</comment>
     <magic priority="50">
       <match required="yes" type="byte" offset="0" value="2"/>
       <match required="yes" type="big16" offset="1" value="21587"/>
--- a/share/hedgewars/Data/misc/hedgewars.desktop	Thu Apr 04 14:37:19 2013 +0200
+++ b/share/hedgewars/Data/misc/hedgewars.desktop	Tue Jun 04 22:28:12 2013 +0200
@@ -1,7 +1,6 @@
 [Desktop Entry]
 Type=Application
 Version=1.0
-Encoding=UTF-8
 Name=Hedgewars
 GenericName=Fighting Hedgehogs
 GenericName[de]=Kämpfende Igel
@@ -16,6 +15,7 @@
 GenericName[sk]=Bojujúci ježkovia
 GenericName[cs]=Bojující ježci
 GenericName[sv]=Stridande igelkottar
+GenericName[tr]=Dövüşen Kirpiler
 Icon=hedgewars.png
 Exec=hedgewars %U
 Terminal=false
--- a/share/hedgewars/Data/misc/hwengine.desktop.in	Thu Apr 04 14:37:19 2013 +0200
+++ b/share/hedgewars/Data/misc/hwengine.desktop.in	Tue Jun 04 22:28:12 2013 +0200
@@ -1,7 +1,6 @@
 [Desktop Entry]
 Type=Application
 Version=1.0
-Encoding=UTF-8
 Name=Hedgewars Engine
 GenericName=Hedgewars engine, for playback of saves and demos
 GenericName[de]=Hedgewars engine, für die Wiedergabe von gespeicherten Spielen und Demos
@@ -13,6 +12,7 @@
 GenericName[pt]=Motor de jogo Hedgewars, para reprodução de jogos guardados e demos
 GenericName[ru]=Движок Hedgewars для проигрывания сохранённых игр и демок
 GenericName[sk]=Engine hry Hedgewars, pre prehrávanie uložených hier a demo súborov
+GenericName[tr]=Kayıtların ve gösterilerin oynatılması için Hedgewars motoru
 GenericName[cs]=Engine hry Hedgewars pro přehrávání uložených her a ukázkových souborů
 GenericName[sv]=Hedgewarsmotorn, för att öppna demo- och sparfiler
 GenericName[da]=Kæmpende Pindsvin
--- a/tools/CMakeLists.txt	Thu Apr 04 14:37:19 2013 +0200
+++ b/tools/CMakeLists.txt	Tue Jun 04 22:28:12 2013 +0200
@@ -33,6 +33,7 @@
     if(NOT NOPNG)
         #get the neme of the library (harmelss if it is static)
         string(REGEX REPLACE ".*/(.*)$" "\\1" PNG_LIBNAME "${PNG_LIBRARY}")
+        string(REGEX REPLACE ".*/(.*)$" "\\1" ZLIB_LIBNAME "${ZLIB_LIBRARY}")
     endif()
 
     set(frameworks_dir ${CMAKE_INSTALL_PREFIX}/${target_library_install_dir})
--- a/tools/CreateMacBundle.cmake.in	Thu Apr 04 14:37:19 2013 +0200
+++ b/tools/CreateMacBundle.cmake.in	Tue Jun 04 22:28:12 2013 +0200
@@ -16,6 +16,7 @@
     #same here, for libpng and hwengine, let's assume the version pulled by macdeployqt is the same
     #(yes libpng is pulled by macdeployqt even when NOVIDEOREC is active)
     execute_process(COMMAND install_name_tool -change ${PNG_LIBRARY} @executable_path/../Frameworks/${PNG_LIBNAME} ${engine_full_path})
+    execute_process(COMMAND install_name_tool -change ${ZLIB_LIBRARY} @executable_path/../Frameworks/${ZLIB_LIBNAME} ${engine_full_path})
 endif()
 
 if(doBundle EQUAL 1)
--- a/tools/build_windows.bat	Thu Apr 04 14:37:19 2013 +0200
+++ b/tools/build_windows.bat	Tue Jun 04 22:28:12 2013 +0200
@@ -13,7 +13,8 @@
 if %BUILD_TYPE%=="Debug" (
     for %%G in (QtCored4 QtGuid4 QtNetworkd4) do xcopy /d/y %QTDIR%\%%G.dll %CD%\bin\
 )
-for %%G in (QtCore4 QtGui4 QtNetwork4 libgcc_s_dw2-1 mingwm10) do (
+:: should you libgcc dynamically you should try adding libgcc_s_dw2-1 and mingwm10
+for %%G in (QtCore4 QtGui4 QtNetwork4) do (
     xcopy /d/y %QTDIR%\%%G.dll %CD%\bin\
 )
 
@@ -39,7 +40,8 @@
 
 echo Running cmake...
 set ERRORLEVEL=
-cmake . -G "MinGW Makefiles" -DCMAKE_PREFIX_PATH="%CD%\misc\winutils\" -DPNG_LIBRARY="%CD%\misc\winutils\bin\libpng13.dll" -DCMAKE_BUILD_TYPE="%BUILD_TYPE%"
+cmake . -G "MinGW Makefiles" -DPNG_LIBRARY="%CD%\misc\winutils\bin\libpng13.dll" -DCMAKE_BUILD_TYPE="%BUILD_TYPE%" -DCMAKE_PREFIX_PATH="%CD%\misc\winutils\\"
+:: prefix should be last
 
 if %ERRORLEVEL% NEQ 0 goto exitpoint
 
--- a/tools/w32DownloadUnzip.vbs	Thu Apr 04 14:37:19 2013 +0200
+++ b/tools/w32DownloadUnzip.vbs	Tue Jun 04 22:28:12 2013 +0200
@@ -7,6 +7,7 @@
 ' References
 '   http://superuser.com/questions/59465/is-it-possible-to-download-using-the-windows-command-line
 '   http://stackoverflow.com/questions/1021557/how-to-unzip-a-file-using-the-command-line
+'   http://stackoverflow.com/questions/424331/get-the-current-temporary-directory-path-in-vbscript
 
 Set ArgObj = WScript.Arguments
 
@@ -23,7 +24,8 @@
     End if
 End if
 
-strHDLocation = "C:\Windows\Temp\temp.zip"
+' Temporary directory
+strHDLocation = WScript.CreateObject("Scripting.FileSystemObject").GetSpecialFolder(2) + "\hwlibtemp.zip"
 
 ' Fetch the file
 WScript.Echo ( "Trying to download from " & strFileURL)
@@ -37,7 +39,7 @@
     objADOStream.Type = 1 'adTypeBinary
 
     objADOStream.Write objXMLHTTP.ResponseBody
-    objADOStream.Position = 0    'Set the stream position to the start
+    objADOStream.Position = 0 'Set the stream position to the start
 
     Set objFSO = Createobject("Scripting.FileSystemObject")
     If objFSO.Fileexists(strHDLocation) Then objFSO.DeleteFile strHDLocation
@@ -46,12 +48,12 @@
     objADOStream.SaveToFile strHDLocation
     objADOStream.Close
     Set objADOStream = Nothing
+    Set objXMLHTTP = Nothing
 Else
     WScript.Echo ("Error downloading file (error code: " & objXMLHTTP.Status & ")")
     Set objXMLHTTP = Nothing
     WScript.Quit
 End if
-Set objXMLHTTP = Nothing
 
 WScript.Echo ( "Extracting file to " & strOutputPath)
 Set objShell = CreateObject( "Shell.Application" )