merge
authorkoda
Sat, 09 Oct 2010 18:01:47 +0200
changeset 3939 e6fddcb04dc2
parent 3935 5ca27a0e9a63 (current diff)
parent 3938 033114a6a960 (diff)
child 3940 cc29628976cc
merge
hedgewars/uAmmos.pas
hedgewars/uConsole.pas
hedgewars/uMisc.pas
hedgewars/uStore.pas
--- a/QTfrontend/about.cpp	Sat Oct 09 18:00:53 2010 +0200
+++ b/QTfrontend/about.cpp	Sat Oct 09 18:01:47 2010 +0200
@@ -90,7 +90,7 @@
             "<br>"
             "Julien Koesten &lt;<a href=\"mailto:julienkoesten@aol.com\">julienkoesten@aol.com</a>&gt;"
             "<br>"
-            "Joshua O'Sullivan &lt;<a href=\"mailto:battysausage@hotmail.co.uk\">battysausage@hotmail.co.uk</a>&gt;"
+            "Joshua O'Sullivan &lt;<a href=\"mailto:coheedftw@hotmail.co.uk\">coheedftw@hotmail.co.uk</a>&gt;"
             "<br>"
             "Nils Lück &lt;<a href=\"mailto:nils.luck.design@gmail.com\">nils.luck.design@gmail.com</a>&gt;"
             "<br>"
--- a/QTfrontend/achievements.cpp	Sat Oct 09 18:00:53 2010 +0200
+++ b/QTfrontend/achievements.cpp	Sat Oct 09 18:01:47 2010 +0200
@@ -33,5 +33,5 @@
     {"skipping", QT_TRANSLATE_NOOP("achievements", "Skipped"),              QT_TRANSLATE_NOOP("achievements", "Let a single hog skip over the surface of the water for at least 5 times."),                   "skipped",    "1", "hidden"},
     {"cgunman",  QT_TRANSLATE_NOOP("achievements", "Crazy Gunman"),         QT_TRANSLATE_NOOP("achievements", "Eliminate 3 hogs with a single shot of the sniper rifle."),                                    "cgunman",    "1", ""},
     */
-    {0, 0, 0, 0, 0, 0} // "terminator" line
+    { {0, 0, 0, 0, 0, 0} } // "terminator" line
 };
--- a/QTfrontend/chatwidget.cpp	Sat Oct 09 18:00:53 2010 +0200
+++ b/QTfrontend/chatwidget.cpp	Sat Oct 09 18:01:47 2010 +0200
@@ -151,17 +151,17 @@
 
     if(ignoreList.contains(nick, Qt::CaseInsensitive))
     {
-        item->setIcon(QIcon(showReady ? (item->data(Qt::UserRole).toBool() ? ":/res/chat_ignore_on" : ":/res/chat_ignore_off") : ":/res/chat_ignore.png"));
+        item->setIcon(QIcon(showReady ? (item->data(Qt::UserRole).toBool() ? ":/res/chat_ignore_on.png" : ":/res/chat_ignore_off.png") : ":/res/chat_ignore.png"));
         item->setForeground(Qt::gray);
     }
     else if(friendsList.contains(nick, Qt::CaseInsensitive))
     {
-        item->setIcon(QIcon(showReady ? (item->data(Qt::UserRole).toBool() ? ":/res/chat_friend_on" : ":/res/chat_friend_off") : ":/res/chat_friend.png"));
+        item->setIcon(QIcon(showReady ? (item->data(Qt::UserRole).toBool() ? ":/res/chat_friend_on.png" : ":/res/chat_friend_off.png") : ":/res/chat_friend.png"));
         item->setForeground(Qt::green);
     }
     else
     {
-        item->setIcon(QIcon(showReady ? (item->data(Qt::UserRole).toBool() ? ":/res/chat_default_on" : ":/res/chat_default_off") : ":/res/chat_default.png"));
+        item->setIcon(QIcon(showReady ? (item->data(Qt::UserRole).toBool() ? ":/res/chat_default_on.png" : ":/res/chat_default_off.png") : ":/res/chat_default.png"));
         item->setForeground(QBrush(QColor(0xff, 0xcc, 0x00)));
     }
 }
--- a/QTfrontend/gameuiconfig.cpp	Sat Oct 09 18:00:53 2010 +0200
+++ b/QTfrontend/gameuiconfig.cpp	Sat Oct 09 18:01:47 2010 +0200
@@ -178,7 +178,7 @@
 quint32 GameUIConfig::translateQuality()
 {
     quint32 rqNone = 0x00000000;  // don't reduce quality
-    quint32 rqLowRes = 0x00000001;  // use half land array
+    //quint32 rqLowRes = 0x00000001;  // use half land array
     quint32 rqBlurryLand = 0x00000002;  // downscaled terrain
     quint32 rqNoBackground = 0x00000004;  // don't draw background
     quint32 rqSimpleRope = 0x00000008;  // avoid drawing rope
--- a/QTfrontend/hwconsts.cpp.in	Sat Oct 09 18:00:53 2010 +0200
+++ b/QTfrontend/hwconsts.cpp.in	Sat Oct 09 18:01:47 2010 +0200
@@ -30,6 +30,9 @@
 QStringList * Themes;
 QStringList * mapList;
 
+bool custom_config = false;
+bool custom_data = false;
+
 int cMaxTeams = 6;
 
 QString * cDefaultAmmoStore = new QString(
--- a/QTfrontend/hwconsts.h	Sat Oct 09 18:00:53 2010 +0200
+++ b/QTfrontend/hwconsts.h	Sat Oct 09 18:01:47 2010 +0200
@@ -31,6 +31,9 @@
 extern QDir * cfgdir;
 extern QDir * datadir;
 
+extern bool custom_config;
+extern bool custom_data;
+
 extern int cMaxTeams;
 
 extern QStringList * Themes;
--- a/QTfrontend/hwform.cpp	Sat Oct 09 18:00:53 2010 +0200
+++ b/QTfrontend/hwform.cpp	Sat Oct 09 18:01:47 2010 +0200
@@ -83,7 +83,7 @@
 
     ui.setupUi(this);
     setMinimumSize(760, 580);
-
+    setFocusPolicy(Qt::StrongFocus);
     CustomizePalettes();
 
     ui.pageOptions->CBResolution->addItems(sdli.getResolutions());
@@ -93,13 +93,13 @@
     namegen = new HWNamegen();
 
 #ifdef __APPLE__
-        panel = new M3Panel;
+    panel = new M3Panel;
 #ifdef SPARKLE_ENABLED
-        AutoUpdater* updater;
-        CocoaInitializer initializer;
-        updater = new SparkleAutoUpdater(SPARKLE_APPCAST_URL);
-    if(updater && config->isAutoUpdateEnabled())
-            updater->checkForUpdates();
+    AutoUpdater* updater;
+    CocoaInitializer initializer;
+    updater = new SparkleAutoUpdater(SPARKLE_APPCAST_URL);
+    if (updater && config->isAutoUpdateEnabled())
+        updater->checkForUpdates();
 #endif
 #endif
 
@@ -141,6 +141,9 @@
     connect(ui.pageOptions->BtnDeleteTeam, SIGNAL(clicked()), this, SLOT(DeleteTeam()));
     connect(ui.pageOptions->BtnSaveOptions, SIGNAL(clicked()), config, SLOT(SaveOptions()));
     connect(ui.pageOptions->BtnSaveOptions, SIGNAL(clicked()), this, SLOT(GoBack()));
+#ifdef _WIN32
+    connect(ui.pageOptions->BtnAssociateFiles, SIGNAL(clicked()), this, SLOT(AssociateFiles()));
+#endif
 
     connect(ui.pageOptions->WeaponEdit, SIGNAL(clicked()), this, SLOT(GoToSelectWeapon()));
     connect(ui.pageOptions->WeaponsButt, SIGNAL(clicked()), this, SLOT(GoToSelectNewWeapon()));
@@ -271,6 +274,12 @@
   }
 }
 
+void HWForm::keyReleaseEvent(QKeyEvent *event)
+{
+  if (event->key() == Qt::Key_Escape || event->key() == Qt::Key_Backspace)
+    this->GoBack();
+}
+
 void HWForm::CustomizePalettes()
 {
     QList<QScrollBar *> allSBars = findChildren<QScrollBar *>();
@@ -526,11 +535,11 @@
 {
     if (eggTimer.elapsed() < 3000){
 #ifdef __APPLE__
-                panel->showInstallController();
+        panel->showInstallController();
 #endif
         close();
     }
-        else
+    else
     {
         QPushButton * btn = findChild<QPushButton *>("imageButt");
         if (btn)
@@ -1110,3 +1119,18 @@
     for(int i = 0; (i < entries.count()) && (i <= team.CampaignProgress); i++)
         ui.pageCampaign->CBSelect->addItem(QString(entries[i]).replace(QRegExp("^(\\d+)#(.+)\\.lua"), QComboBox::tr("Mission") + " \\1: \\2"), QString(entries[i]).replace(QRegExp("^(.*)\\.lua"), "\\1"));
 }
+
+void HWForm::AssociateFiles()
+{
+    QSettings registry_hkcr("HKEY_CLASSES_ROOT", QSettings::NativeFormat);
+    registry_hkcr.setValue(".hwd/Default", "Hedgewars.Demo");
+    registry_hkcr.setValue(".hws/Default", "Hedgewars.Save");
+    registry_hkcr.setValue("Hedgewars.Demo/Default", tr("Hedgewars Demo File", "File Types"));
+    registry_hkcr.setValue("Hedgewars.Save/Default", tr("Hedgewars Save File", "File Types"));
+    registry_hkcr.setValue("Hedgewars.Demo/DefaultIcon/Default", "\"" + bindir->absolutePath().replace("/", "\\") + "\\hwdfile.ico\",0");
+    registry_hkcr.setValue("Hedgewars.Save/DefaultIcon/Default", "\"" + bindir->absolutePath().replace("/", "\\") + "\\hwsfile.ico\",0");
+    registry_hkcr.setValue("Hedgewars.Demo/Shell/Open/Command/Default", "\"" + bindir->absolutePath().replace("/", "\\") + "\\hwengine.exe\" \"" + datadir->absolutePath().replace("/", "\\") + "\" \"%1\"");
+    registry_hkcr.setValue("Hedgewars.Save/Shell/Open/Command/Default", "\"" + bindir->absolutePath().replace("/", "\\") + "\\hwengine.exe\" \"" + datadir->absolutePath().replace("/", "\\") + "\" \"%1\"");
+    QMessageBox::information(0, "", QMessageBox::tr("All file associations have been set."));
+}
+
--- a/QTfrontend/hwform.h	Sat Oct 09 18:00:53 2010 +0200
+++ b/QTfrontend/hwform.h	Sat Oct 09 18:01:47 2010 +0200
@@ -78,6 +78,7 @@
     void GoToAdmin();
     void GoToPage(quint8 id);
     void GoBack();
+    void AssociateFiles();
     void btnExitPressed();
     void btnExitClicked();
     void IntermediateSetup();
@@ -126,7 +127,8 @@
     void closeEvent(QCloseEvent *event);
     void CustomizePalettes();
     void resizeEvent(QResizeEvent * event);
-
+    void keyReleaseEvent(QKeyEvent *event);
+    
     enum PageIDs {
         ID_PAGE_SETUP_TEAM      =  0,
         ID_PAGE_SETUP           =  1,
--- a/QTfrontend/main.cpp	Sat Oct 09 18:00:53 2010 +0200
+++ b/QTfrontend/main.cpp	Sat Oct 09 18:01:47 2010 +0200
@@ -73,11 +73,13 @@
             qWarning() << "WARNING: Cannot open DATA_PATH=" << f.absoluteFilePath();
         }
         *cDataDir = f.absoluteFilePath();
+        custom_data = true;
     }
 
     if(parsedArgs.contains("config-dir")) {
         QFileInfo f(parsedArgs["config-dir"]);
         *cConfigDir = f.absoluteFilePath();
+        custom_config = true;
     }
 
     app.setStyle(new QPlastiqueStyle);
@@ -410,12 +412,11 @@
 
     // Win32 registry setup (used for xfire detection etc. - don't set it if we're running in "portable" mode with a custom config dir)
 #ifdef _WIN32
-    if(cConfigDir->length() == 0)
+    if(!custom_config)
     {
-        QSettings registry(QSettings::NativeFormat, QSettings::UserScope, "Hedgewars Project", "Hedgewars");
-        QFileInfo f(argv[0]);
-        registry.setValue("file", f.absoluteFilePath());
-        registry.setValue("path", f.absolutePath());
+        QSettings registry_hklm("HKEY_LOCAL_MACHINE", QSettings::NativeFormat);
+        registry_hklm.setValue("Software/Hedgewars/Frontend", bindir->absolutePath().replace("/", "\\") + "\\hedgewars.exe");
+        registry_hklm.setValue("Software/Hedgewars/Path", bindir->absolutePath().replace("/", "\\"));
     }
 #endif
 
--- a/QTfrontend/pages.cpp	Sat Oct 09 18:00:53 2010 +0200
+++ b/QTfrontend/pages.cpp	Sat Oct 09 18:01:47 2010 +0200
@@ -147,6 +147,7 @@
         //Tips << tr("", "Tips");
 #ifdef _WIN32
         Tips << tr("You can find your Hedgewars configuration files under \"My Documents\\Hedgewars\". Create backups or take the files with you, but don't edit them by hand.", "Tips");
+        Tips << tr("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.", "Tips");
 #else
         Tips << tr("You can find your Hedgewars configuration files under \"Hedgewars\" in your home directory. Create backups or take the files with you, but don't edit them by hand.", "Tips");
 #endif
@@ -610,7 +611,12 @@
             CBAutoUpdate->setText(QCheckBox::tr("Check for updates at startup"));
             MiscLayout->addWidget(CBAutoUpdate, 4, 0, 1, 2);
 #endif
-
+#ifdef _WIN32
+            BtnAssociateFiles = new QPushButton(groupMisc);
+            BtnAssociateFiles->setText(QPushButton::tr("Associate file extensions"));
+            BtnAssociateFiles->setEnabled(!custom_data && !custom_config);
+            MiscLayout->addWidget(BtnAssociateFiles, 4, 0, 1, 2);
+#endif
             gbTBLayout->addWidget(groupMisc, 2, 0);
         }
 
@@ -735,6 +741,8 @@
     BtnBack->setFixedHeight(BtnSaveOptions->height());
     BtnBack->setFixedWidth(BtnBack->width()+2);
     BtnBack->setStyleSheet("QPushButton{margin: 22px 0 9px 2px;}");
+
+//    BtnAssociateFiles = addButton("");
 }
 
 PageNet::PageNet(QWidget* parent) : AbstractPage(parent)
--- a/QTfrontend/pages.h	Sat Oct 09 18:00:53 2010 +0200
+++ b/QTfrontend/pages.h	Sat Oct 09 18:01:47 2010 +0200
@@ -70,6 +70,7 @@
  protected:
   AbstractPage(QWidget* parent = 0) {
     font14 = new QFont("MS Shell Dlg", 14);
+    setFocusPolicy(Qt::StrongFocus);
   }
   virtual ~AbstractPage() {};
 
@@ -216,6 +217,7 @@
     QPushButton *BtnNewTeam;
     QPushButton *BtnEditTeam;
     QPushButton *BtnDeleteTeam;
+    QPushButton *BtnAssociateFiles;
     QLabel *LblNoEditTeam;
     QComboBox *CBTeamName;
     IconedGroupBox *AGGroupBox;
Binary file bin/hwdfile.ico has changed
Binary file bin/hwsfile.ico has changed
--- a/hedgewars/uAmmos.pas	Sat Oct 09 18:00:53 2010 +0200
+++ b/hedgewars/uAmmos.pas	Sat Oct 09 18:01:47 2010 +0200
@@ -243,7 +243,8 @@
             if Count = 0 then
                 begin
                 PackAmmo(Ammo, Ammoz[AmmoType].Slot);
-                SwitchNotHeldAmmo(Hedgehog)
+                //SwitchNotHeldAmmo(Hedgehog);
+                CurAmmoType:= amNothing
                 end
             end
     end;
--- a/hedgewars/uConsole.pas	Sat Oct 09 18:00:53 2010 +0200
+++ b/hedgewars/uConsole.pas	Sat Oct 09 18:01:47 2010 +0200
@@ -216,6 +216,9 @@
     for i:= 0 to Pred(cLinesCount) do
         PByte(@ConsoleLines[i])^:= 0;
 
+    // NOTE: please, keep most frequently used commands on bottom
+    RegisterVariable('flag'    , vtCommand, @chFlag         , false);
+    RegisterVariable('script'  , vtCommand, @chScript       , false);
     RegisterVariable('proto'   , vtCommand, @chCheckProto   , true );
     RegisterVariable('spectate', vtBoolean, @fastUntilLag   , false);
     RegisterVariable('capture' , vtCommand, @chCapture      , true );
@@ -303,8 +306,6 @@
     RegisterVariable('-cur_l'  , vtCommand, @chCurL_m       , true );
     RegisterVariable('+cur_r'  , vtCommand, @chCurR_p       , true );
     RegisterVariable('-cur_r'  , vtCommand, @chCurR_m       , true );
-    RegisterVariable('flag'    , vtCommand, @chFlag         , false);
-    RegisterVariable('script'  , vtCommand, @chScript       , false);
 end;
 
 procedure freeModule;
--- a/hedgewars/uFloat.pas	Sat Oct 09 18:00:53 2010 +0200
+++ b/hedgewars/uFloat.pas	Sat Oct 09 18:01:47 2010 +0200
@@ -22,7 +22,6 @@
 interface
 
 {$IFDEF FPC}
-{$INLINE ON}
 {$IFDEF ENDIAN_LITTLE}
 type hwFloat = record
                isNegative: boolean;
@@ -43,26 +42,26 @@
 
 operator + (const z1, z2: hwFloat) z : hwFloat; inline;
 operator - (const z1, z2: hwFloat) z : hwFloat; inline;
-operator - (const z1: hwFloat) z : hwFloat;
+operator - (const z1: hwFloat) z : hwFloat; inline;
 
-operator * (const z1, z2: hwFloat) z : hwFloat;
+operator * (const z1, z2: hwFloat) z : hwFloat; inline;
 operator * (const z1: hwFloat; const z2: LongInt) z : hwFloat; inline;
-operator / (const z1: hwFloat; z2: hwFloat) z : hwFloat;
-operator / (const z1: hwFloat; const z2: LongInt) z : hwFloat;
+operator / (const z1: hwFloat; z2: hwFloat) z : hwFloat; inline;
+operator / (const z1: hwFloat; const z2: LongInt) z : hwFloat; inline;
 
-operator < (const z1, z2: hwFloat) b : boolean;
-operator > (const z1, z2: hwFloat) b : boolean;
+operator < (const z1, z2: hwFloat) b : boolean; inline;
+operator > (const z1, z2: hwFloat) b : boolean; inline;
 
 function cstr(const z: hwFloat): shortstring;
-function hwRound(const t: hwFloat): LongInt;
-function hwAbs(const t: hwFloat): hwFloat;
+function hwRound(const t: hwFloat): LongInt; inline;
+function hwAbs(const t: hwFloat): hwFloat; inline;
 function hwSqr(const t: hwFloat): hwFloat; inline;
 function hwSqrt(const t: hwFloat): hwFloat; inline;
 function Distance(const dx, dy: hwFloat): hwFloat;
 function DistanceI(const dx, dy: LongInt): hwFloat;
 function AngleSin(const Angle: Longword): hwFloat;
 function AngleCos(const Angle: Longword): hwFloat;
-function SignAs(const num, signum: hwFloat): hwFloat;
+function SignAs(const num, signum: hwFloat): hwFloat; inline;
 
 {$IFDEF FPC}
 {$J-}
@@ -148,7 +147,7 @@
 {$ENDIF}
 
 implementation
-uses uMisc;
+//uses uMisc;
 
 
 {$IFDEF FPC}
@@ -348,7 +347,7 @@
 function AngleSin(const Angle: Longword): hwFloat;
 begin
 {$IFDEF DEBUGFILE}
-TryDo((Angle >= 0) and (Angle <= 2048), 'Sin param exceeds limits', true);
+//TryDo((Angle >= 0) and (Angle <= 2048), 'Sin param exceeds limits', true);
 {$ENDIF}
 AngleSin.isNegative:= false;
 if Angle < 1024 then AngleSin.QWordValue:= SinTable[Angle]
@@ -358,7 +357,7 @@
 function AngleCos(const Angle: Longword): hwFloat;
 begin
 {$IFDEF DEBUGFILE}
-TryDo((Angle >= 0) and (Angle <= 2048), 'Cos param exceeds limits', true);
+//TryDo((Angle >= 0) and (Angle <= 2048), 'Cos param exceeds limits', true);
 {$ENDIF}
 AngleCos.isNegative:= Angle > 1024;
 if Angle < 1024 then AngleCos.QWordValue:= SinTable[1024 - Angle]
--- a/hedgewars/uLand.pas	Sat Oct 09 18:00:53 2010 +0200
+++ b/hedgewars/uLand.pas	Sat Oct 09 18:01:47 2010 +0200
@@ -1308,9 +1308,9 @@
 if (GameFlags and gfDisableGirders) <> 0 then hasGirders:= false;
 
 if ((GameFlags and gfForts) = 0)
-    and ((GameFlags and gfDisableLandObjects) = 0)
     and (Pathz[ptMapCurrent] = '')
-    then AddObjects;
+    then AddObjects
+else AddProgress();
 
 FreeLandObjects;
 
--- a/hedgewars/uLandObjects.pas	Sat Oct 09 18:00:53 2010 +0200
+++ b/hedgewars/uLandObjects.pas	Sat Oct 09 18:01:47 2010 +0200
@@ -529,7 +529,7 @@
         i:=i+int;
     until (i>rightX-int);
     end;
-AddThemeObjects(ThemeObjects);
+if (GameFlags and gfDisableLandObjects) = 0 then AddThemeObjects(ThemeObjects);
 AddProgress();
 FreeRects();
 end;
--- a/hedgewars/uMisc.pas	Sat Oct 09 18:00:53 2010 +0200
+++ b/hedgewars/uMisc.pas	Sat Oct 09 18:01:47 2010 +0200
@@ -17,7 +17,6 @@
 *)
 
 {$INCLUDE "options.inc"}
-{$INLINE ON}
 
 unit uMisc;
 interface
@@ -165,9 +164,9 @@
 function  EnumToStr(const en : TAmmoType) : shortstring; overload;
 function  EnumToStr(const en : THogEffect) : shortstring; overload;
 procedure movecursor(dx, dy: LongInt);
-function  hwSign(r: hwFloat): LongInt;
-function  Min(a, b: LongInt): LongInt;
-function  Max(a, b: LongInt): LongInt;
+function  hwSign(r: hwFloat): LongInt; inline;
+function  Min(a, b: LongInt): LongInt; inline;
+function  Max(a, b: LongInt): LongInt; inline;
 procedure OutError(Msg: shortstring; isFatalError: boolean);
 procedure TryDo(Assert: boolean; Msg: shortstring; isFatal: boolean); inline;
 procedure SDLTry(Assert: boolean; isFatal: boolean);
@@ -176,8 +175,10 @@
 function  DxDy2Angle(const _dY, _dX: hwFloat): GLfloat;
 function  DxDy2Angle32(const _dY, _dX: hwFloat): LongInt;
 function  DxDy2AttackAngle(const _dY, _dX: hwFloat): LongInt;
+(*
 procedure AdjustColor(var Color: Longword);
 procedure SetKB(n: Longword);
+*)
 procedure SendKB;
 procedure SetLittle(var r: hwFloat);
 procedure SendStat(sit: TStatInfoType; s: shortstring);
@@ -191,7 +192,7 @@
 function  endian(independent: LongWord): LongWord;
 {$IFDEF DEBUGFILE}
 procedure AddFileLog(s: shortstring);
-function  RectToStr(Rect: TSDL_Rect): shortstring;
+(* function  RectToStr(Rect: TSDL_Rect): shortstring; *)
 {$ENDIF}
 procedure MakeScreenshot(filename: shortstring);
 
@@ -298,11 +299,19 @@
 if not Assert then OutError(SDL_GetError, isFatal)
 end;
 
+(*
 procedure AdjustColor(var Color: Longword);
 begin
 Color:= SDL_MapRGB(PixelFormat, (Color shr 16) and $FF, (Color shr 8) and $FF, Color and $FF)
 end;
 
+procedure SetKB(n: Longword);
+begin
+KBnum:= n
+end;
+*)
+
+
 function IntToStr(n: LongInt): shortstring;
 begin
 str(n, IntToStr)
@@ -356,11 +365,6 @@
 DxDy2AttackAngle:= trunc(arctan2(dY, dX) * MaxAngleDivPI)
 end;
 
-procedure SetKB(n: Longword);
-begin
-KBnum:= n
-end;
-
 procedure SendKB;
 var s: shortstring;
 begin
@@ -657,11 +661,12 @@
 writeln(f, GameTicks: 6, ': ', s);
 flush(f)
 end;
-
+(*
 function RectToStr(Rect: TSDL_Rect): shortstring;
 begin
 RectToStr:= '(x: ' + inttostr(rect.x) + '; y: ' + inttostr(rect.y) + '; w: ' + inttostr(rect.w) + '; h: ' + inttostr(rect.h) + ')'
 end;
+*)
 {$ENDIF}
 
 function doSurfaceConversion(tmpsurf: PSDL_Surface): PSDL_Surface;
@@ -816,7 +821,7 @@
         begin
             for i:= 0 to 7 do
             begin
-                assign(f, ExtractFileDir(ParamStr(2)) + '/Logs/' + cLogfileBase + inttostr(i) + '.log');
+                assign(f, ExtractFileDir(ParamStr(2)) + '/' + cLogfileBase + inttostr(i) + '.log');
                 rewrite(f);
                 if IOResult = 0 then break;
             end;
--- a/hedgewars/uStore.pas	Sat Oct 09 18:00:53 2010 +0200
+++ b/hedgewars/uStore.pas	Sat Oct 09 18:01:47 2010 +0200
@@ -558,9 +558,9 @@
     VertexBuffer, TextureBuffer: array [0..3] of TVertex2f;
 begin
 // don't draw anything outside the visible screen space (first check fixes some sprite drawing, e.g. hedgehogs)
-if (abs(X) > W) and ((abs(X + dir * OffsetX) - W / 2) > cScreenWidth / cScaleFactor) then
+if (abs(X) > W) and ((abs(X + dir * OffsetX) - W / 2) * cScaleFactor > cScreenWidth) then
     exit;
-if (abs(Y) > H) and ((abs(Y + OffsetY - (0.5 * cScreenHeight)) - W / 2) > cScreenHeight / cScaleFactor) then
+if (abs(Y) > H) and ((abs(Y + OffsetY - (0.5 * cScreenHeight)) - W / 2) * cScaleFactor > cScreenHeight) then
     exit;
 
 glPushMatrix;
@@ -749,9 +749,9 @@
     TextureBuffer: array [0..3] of TVertex2f;
 begin
 // don't draw anything outside the visible screen space (first check fixes some sprite drawing, e.g. hedgehogs)
-if (abs(X) > 32) and ((abs(X) - 16)> cScreenWidth / cScaleFactor) then
+if (abs(X) > 32) and ((abs(X) - 16) * cScaleFactor > cScreenWidth) then
     exit;
-if (abs(Y) > 32) and ((abs(Y - 0.5 * cScreenHeight) - 16) > cScreenHeight / cScaleFactor) then
+if (abs(Y) > 32) and ((abs(Y - 0.5 * cScreenHeight) - 16) * cScaleFactor > cScreenHeight) then
     exit;
 
 t:= Pos * 32 / HHTexture^.h;
@@ -794,9 +794,9 @@
 var VertexBuffer: array [0..3] of TVertex2f;
 begin
 // don't draw anything outside the visible screen space (first check fixes some sprite drawing, e.g. hedgehogs)
-if (abs(r.x) > r.w) and ((abs(r.x + r.w / 2) - r.w / 2) > cScreenWidth / cScaleFactor) then
+if (abs(r.x) > r.w) and ((abs(r.x + r.w / 2) - r.w / 2) * cScaleFactor > cScreenWidth) then
     exit;
-if (abs(r.y) > r.h) and ((abs(r.y + r.h / 2 - (0.5 * cScreenHeight)) - r.h / 2) > cScreenHeight / cScaleFactor) then
+if (abs(r.y) > r.h) and ((abs(r.y + r.h / 2 - (0.5 * cScreenHeight)) - r.h / 2) * cScaleFactor > cScreenHeight) then
     exit;
 
 glDisable(GL_TEXTURE_2D);
--- a/share/hedgewars/Data/Locale/hu.txt	Sat Oct 09 18:00:53 2010 +0200
+++ b/share/hedgewars/Data/Locale/hu.txt	Sat Oct 09 18:01:47 2010 +0200
@@ -1,447 +1,447 @@
-; Hungarian locale
-
-00:00=Gránát
-00:01=Repeszgránát
-00:02=Aknavető
-00:03=Méhecske
-00:04=Puska
-00:05=Légkalapács
-00:06=Kör kihagyása
-00:07=Kötél
-00:08=Akna
-00:09=Desert Eagle
-00:10=Dinamit
-00:11=Baseball ütő
-00:12=Felütés
-00:13=mp
-00:14=Ejtőernyő
-00:15=Légicsapás
-00:16=Akna eső
-00:17=Fúrópajzs
-00:18=Építkezés
-00:19=Teleportálás
-00:20=Süncsere
-00:21=Mortar
-00:22=Ostor
-00:23=Kamikaze
-00:24=Torta
-00:25=Csábítás
-00:26=Dinnye Bomba
-00:27=Pokoli gránát
-00:28=Ásórakéta
-00:29=Labdavető
-00:30=Napalm
-00:31=RC Repülő
-00:32=Alancsony gravitáció
-00:33=Extra sebzés
-00:34=Sérthetetlenség
-00:35=Extra idő
-00:36=Lézeres mutató
-00:37=Vámpírizmus
-00:38=Orvlövész puska
-00:39=Repülő csészealj
-00:40=Molotov koktél
-00:41=Madárka
-
-01:00=Mindent bele!
-01:01=Döntetlen
-01:02=%1 nyert!
-01:03=Hangerő %1%
-01:04=Szünet
-01:05=Valóban Kilépsz? (Y/Esc)
-01:06=Hirtelen halál!
-01:07=%1 maradt
-01:08=Töltet
-01:09=Szinkronizálás...
-01:10=A kör nem ér véget ennek a használatával!
-01:11=Ez a fegyver vagy eszköz még nem elérhető!
-
-; Event messages
-; Hog (%1) died
-02:00=%1 beadta a kulcsot!
-02:00=%1 meglátta a fényt!
-02:00=%1 sosem hitte volna...
-02:00=%1 búcsúzik!
-02:00=%1 jobblétre szenderült!
-02:00=%1 találkozott a teremtőjével!
-02:00=%1 már nem bírta tovább!
-02:00=%1 bevégezte a dolgát!
-02:00=%1 meghozta a végső áldozatot!
-02:00=%1 Elhagyta porhüvelyét!
-02:00=%1 Külföldre ment. Oszlóban van!
-02:00=%1 felett eljárt az idő!
-02:00=%1 feldobta a talpát!
-02:00=%1 nem halt meg hiába!
-02:00=%1 nem SÜNdörög többet!
-02:00=%1 hátrahagyott egy nőt és egy gyereket
-02:00=%1 kilőtte az utolsó rakétát
-02:00=%1 eldobta az utolsó gránátot
-02:00=%1 megsütötte utolsó tortáját
-02:00=%1 megmászta utolsó kötelét
-02:00=%1 elküldte utolsó repülőjét
-02:00=%1 utoljára húzta meg a ravaszt
-02:00=%1 eldobta az utolsó dinnyét
-02:00=%1 is holtig tanult.
-02:00=%1 elment az örök vadászmezőkre
-02:00=%1 nem vette be a gyógyszerét
-02:00=%1 elment valami jobbal játszani
-02:00=%1 kipurcant
-02:00=%1 elbukott
-02:00=Szegény %1...
-02:00=%1 inkább a wormux-re szavaz
-02:00=%1 odatartotta a másik orcáját is
-02:00=%1 neve fennmarad örökké
-02:00=%1 végre a Valhallába került
-02:00=%1 elhagyta az épületet
-02:00=%1 követi a dínók példáját
-02:00=%1 közelebb hozza a süniket a kihaláshoz
-02:00=%1 könnyet csal a szemekbe
-02:00=%1 már csak ex-sün
-02:00=%1 alulról szagolja az ibolyát
-02:00=%1 megSÜNt létezni
-02:00=Viszlát, %1 !
-02:00=%1 reménytelen eset
-02:00=%1 elérkezett a végső felvonáshoz
-02:00=%1 egzisztenciális gondokkal küzd
-02:00=%1 már odaát van
-02:00=%1 nincs többé
-02:00=%1 lejárt a szavatossága
-02:00=Nyugodj békében, %1
-02:00=%1 nem bírta a kiképzést
-02:00=%1 nem volt macska, hogy kilenc élete legyen 
-02:00=Van itt orvos?
-
-; Hog (%1) drowned
-02:01=%1 tengeralattjárósdit játszik!
-02:01=%1 A Titanic-ot utánozza!
-02:01=%1 úszik, mint egy kő!
-02:01=%1 Lebeg, mint a tégla!
-02:01=%1 a dolgok mélyére jár
-02:01=%1 gargalizál kicsit
-02:01=%1 placcsant
-02:01=%1 otthonhagyta az úszógumit
-02:01=%1 vehetett volna úszóleckét
-02:01=%1 nem hozta a szörfdeszkát
-02:01=%1 vizes takarítást kért
-02:01=%1 meglátogatta a vizes blokkot
-02:01=%1 nem hozott mentőmellényt
-02:01=%1 kacsázik...
-02:01=%1 felcsapott haleledelnek
-02:01=%1 szerint a víz rosszul lett implementálva
-02:01=%1 szomjas lehet
-02:01=%1 biztos nem lesz tengeribeteg
-02:01=%1 nem hozta a búvárszerkót
-02:01=%1 tengeri temetést kap
-02:01=%1 mély érzéseket táplál...
-02:01=%1 hátúszást gyakorol
-02:01=%1 elmerült az élvezetekben
-02:01=%1 nem tud vízen járni
-02:01=%1 Nemo nyomában
-02:01=Vajon hány süni lehet már odalenn?
-02:01=%1 egy picit emeli a vízszintet
-02:01=%1 nem jelentkezett tengerésznek
-02:01=%1 döglött halat imitál
-02:01=Legalább nem a vécén húztak le, %1
-02:01=Sonic nem tudott úszni, %1 sem.
-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
-02:01=%1 szerint a sós víz jó a bőrnek
-02:01=%1 csobban egyet
-02:01=%1 elment fürödni
-02:01=%1 megfulladt
-02:01=%1 majdnem jobb, mint Búvár Kund!
-02:01=Ilyen mélyre süllyedni, %1
-
-; Round starts
-02:02=Küzdjetek!
-02:02=Fegyverbe!
-02:02=Most kezdődik a tánc!
-02:02=Ki nevet a végén?
-02:02=Indulás!
-02:02=Nosza!
-02:02=Hajrá!
-02:02=Kezdődik...
-02:02=Üdvözöl a Hedgewars
-02:02=Üdvözöl a pokol!
-02:02=Isten hozott a fronton! És az ördög vigyen el...
-02:02=Győzzön a jobbik!
-02:02=Győzelem vagy halál
-02:02=A háború istenei ma mosolyognak
-02:02=Hedgewars, a Hedgewars.org által!
-02:02=GL HF
-02:02=Örülj, hogy nem Tiyuri van ellened...
-02:02=Örülj, hogy nem unC0Rr van ellened...
-02:02=Örülj, hogy nem Nemo van ellened...
-02:02=Örülj, hogy nem Smaxx van ellened...
-02:02=Örülj, hogy nem Jessor van ellened...
-02:02=A vesztes mosogat!
-02:02=Kezdődjön az évezred harca!
-02:02=Kezdődjön az évszázad csatája!
-02:02=Kezdődjön az évtized küzdelme!
-02:02=Kezdődjön az év harca!
-02:02=Kezdődjön a hónap csatája!
-02:02=Kezdődjön a hét küzdelme!
-02:02=Kezdődjön a nap harca!
-02:02=Kezdődjön az óra csatája!
-02:02=Csak ügyesen!
-02:02=Pusztítsd az ellent!
-02:02=Sok sikert!
-02:02=Jó szórakozást!
-02:02=Harcolj jól!
-02:02=Küzdj alantasan!
-02:02=Küzdj becsülettel!
-02:02=Ne add fel!
-02:02=Sose add meg magad!
-02:02=Kezdődjön a mészárlás!
-02:02=Remélem, készen állsz!
-02:02=Gyerünk!
-02:02=Sünik, előre!
-02:02=Szedd őket miszlikbe!
-
-; Round ends (win; unused atm)
-02:03=...
-
-; Round ends (draw; unused atm)
-02:04=...
-
-; New health crate
-02:05=Egy kis segítség!
-02:05=Felcser!
-02:05=Kötszerek az égből!
-02:05=Egy kis gyógyszer...
-02:05=Jó egészséget...doboz alakút!
-02:05=Hív a doktor
-02:05=Friss kötszerek!
-02:05=Ettől majd jobban leszel
-02:05=Élet lötyi! Izé, másik játék...
-02:05=Egészségedre!
-02:05=Vedd fel!
-02:05=Egy jóleső falat...
-02:05=Fájdalomcsillapító
-02:05=Megfelelő adagolás: Amennyit csak tudsz!
-02:05=Gyorsposta!
-02:05=Ellátmány!
-02:05=Kígyónak lábsó...
-
-; New ammo crate
-02:06=Még több fegyver!
-02:06=Utánpótlás!
-02:06=Ha fogytán lennél...
-02:06=Vajon mi lehet benne?
-02:06=Ellátmány!
-02:06=Mit rejt a doboz?
-02:06=Korán jött a karácsony a Hedgewars-ban
-02:06=Ajándék!
-02:06=Alig jutott át a vámon...
-02:06=Pusztító játékok az égiektől
-02:06=Vigyázat! Robban!
-02:06=Felveszed, vagy felrobbantod, a döntés a tied!
-02:06=Jóságos ég!
-02:06=Mmmmm, lőszer
-02:06=Kicsi a doboz, de robban!
-02:06=Légiposta!
-02:06=Bármi is ez, tuti nem pizza!
-02:06=Szerezd meg!
-02:06=Fegyverszállítmány érkezik!
-02:06=Nehogy az ellen kezébe jusson!
-02:06=Szép, csillogó játékok!
-02:06=Egy rejtélyes doboz!
-
-; New utility crate
-02:07=Tooltime!
-02:07=Ez jól jöhet...
-02:07=Cuccok!
-02:07=Használd okosan!
-02:07=Vigyázat odalent!
-02:07=Még több szerszám!
-02:07=Nesze, pár cucc!
-02:07=Ez jó kell legyen!
-02:07=Csak ésszel!
-02:07=Ohó, ez nehéz!
-02:07=Ez még kellhet...
-
-; Hog (%1) skips his turn
-02:08=%1 unalmas...
-02:08=%1 hiába fáradt
-02:08=%1 eléggé lusta
-02:08=%1 ötlettelen
-02:08=%1 feladta
-02:08=%1 szégyentelenül kihagyta
-02:08=%1 buddhista lehet
-02:08=%1 kicsit alulmotivált
-02:08=%1 békeszerető
-02:08=%1 tart egy kis szüntetet
-02:08=%1 pihenget kicsit
-02:08=%1 lazul
-02:08=%1 nem hisz a képességeiben
-02:08=%1 úgy dönt, nem tesz semmit
-02:08=%1 hagyja, hogy az ellen magát pusztítsa
-02:08=%1 uncsi lenne bulikon
-02:08=%1 kihagyja a lehetőséget
-02:08=%1 úgy dönt, hogy a legjobb, amit tehet ... semmit.
-02:08=%1 egy puhány
-02:08=%1, te gyáva nyúl!
-02:08=%1 meghúzza magát
-02:08=%1 egy gyáva!
-02:08=%1 a hirtelen halálra vár
-02:08=%1 nem egy harcos típus
-02:08=%1 élete értelmén gondolkodik
-02:08=%1 sosem volt a legmenőbb
-02:08=%1 nem akart belépni a seregbe
-02:08=Ne húzd az időt, %1
-02:08=Csalódtam benned, %1
-02:08=Ugyan, tudsz te ennél többet is, %1
-02:08=%1 akarata megtört
-02:08=%1 épp mással foglalkozik
-02:08=%1 elaludt
-
-; Hog (%1) hurts himself only
-02:09=%1 gyakorolhatna kicsit!
-02:09=%1 látszólag utálja magát
-02:09=%1 rossz oldalra állt!
-02:09=%1 emonak néz ki
-02:09=%1 rosszul fogta fegyverét
-02:09=%1 egy kicsit szadista
-02:09=%1 egy kicsit mazohista
-02:09=%1 elég kicsi túlélési ösztönnel bír
-02:09=%1 elrontotta
-02:09=%1 elbaltázta
-02:09=Ez gyenge volt, %1
-02:09=%1 kicsit hanyagul bánik a fegyverekkel
-02:09=%1 választhatna másik pályát
-02:09=Ez. A. Legrosszabb. Lövés!
-02:09=Neeem, %1, az ELLENFELET lődd!
-02:09=%1 inkább az ellent lőhetné
-02:09=%1 öngyilkosságon töri a fejét
-02:09=%1 segíti az ellenfelet
-02:09=Ez nem volt okos lépés, %1
-02:09=%1 szerint áldozat nélkül nincs győzelem!
-02:09=%1 kicsit zavart
-02:09=%1 megvágta magát a nagy hadonászásban
-02:09=%1 hajlamos lejáratni magát
-02:09=%1 ügyetlenkedik
-02:09=%1 megmutatja, mire képes!
-02:09=%1 sem lehet mindig tökéletes
-02:09=Ne aggódj, %1, senki sem tökéletes!
-02:09=%1 szándékosan csinálta!
-02:09=én hallgatok, ha te is, %1
-02:09=Ez szégyenletes!
-02:09=Senki sem látta, %1
-02:09=%1 átnézhetné a kézi könyvet
-02:09=%1 fegyvere rosszul működik
-
-; Hog shot an home run (using the bat and another hog)
-02:10=Hazafutás!
-02:10=Tágas égen andalog...
-02:10=Egy mínusz!
-
-; Weapon Categories
-03:00=Időzíthető gránát
-03:01=Időzíthető gránát
-03:02=Ballisztikus rakéta
-03:03=Irányított fegyver
-03:04=Lőfegyver (több lövés)
-03:05=ásó eszköz
-03:06=Cselekvés
-03:07=Szállító eszköz
-03:08=Kis hatósugarú bomba
-03:09=Lőfegyver (több lövés)
-03:10=BUMM!
-03:11=PAFF!
-03:12=Harcművészet
-03:13=NEM HASZNÁLT
-03:14=Szállító eszköz
-03:15=Légicsapás
-03:16=Légicsapás
-03:17=Ásó eszköz
-03:18=Eszköz
-03:19=Szállító eszköz
-03:20=Cselekvés
-03:21=Ballisztikus rakéta
-03:22=Az én nevem Indiana!
-03:23=(igazán) Harcművészet
-03:24=The cake is NOT a lie!
-03:25=Álruha
-03:26=Ízletes gránát
-03:27=Pokoli gránát
-03:28=Ballisztikus rakéta
-03:29=Ballisztikus rakéta
-03:30=Légicsapás
-03:31=Távvezérelt bomba
-03:32=Ideiglenes hatás
-03:33=Ideiglenes hatás
-03:34=Ideiglenes hatás
-03:35=Ideiglenes hatás
-03:36=Ideiglenes hatás
-03:37=Ideiglenes hatás
-03:38=Lőfegyver (több lövés)
-03:39=Szállító eszköz
-03:40=Felperzselő gránát
-03:41=A csőrösök nagy hívője
-
-; Weapon Descriptions (use | as line breaks)
-04:00=Az ellenfél megdobása egy szimpla gránáttal.|Amint lejár az időzítő, felrobban.|1-5: időzítő beállítása|Támadás: Tartsd nyomva, és nő a távolság
-04:01=Az ellenfél megtámadása egy repeszgránáttal.|Kisebb darabokra esik, ha lejár az időzítő.|1-5: időzítő beállítása|Támadás: Tartsd nyomva, és nő a távolság
-04:02=Az ellenfél meglövése egy ballisztikus rakétával|aminek pályáját a szél befolyásolja|Támadás: Tartsd nyomva, és nő a távolság
-04:03=Egy robbanó méhecske eleresztése, ami|elindul a célpont felé. Ne lőjj teljes erőből,|hogy a célzás pontosabb legyen.|Kurzor: Célpont kiválasztása|Támadás: Tartsd nyomva, és nő a távolság
-04:04=Az ellenfél meglövése egy kétlövetű puskával.|A szórásnak hála nem kell pontosnak lenned,|hogy kárt okozz.|Támadás: Lövés (többszöri alkalommal)
-04:05=Menj a föld alá! Használd a légkalapácsot, hogy|lyukat fúrj a talajba, és elérj új zónákat.|Támadás: Fúrás indítása vagy leállítása
-04:06=Unod? Nem tudsz támadni? Halmozod a lőszert?|Semmi gond! Hagyd ki ezt a kört, te gyáva!|Támadás: Kör kihagyása harc nélkül
-04:07=Küzdj le nagy távolságokat a kötél használatával.|A lendületed segítségével szállj neki más sünöknek|vagy ejts rájuk gránátot vagy más finomságot.|Támadás: Kötél kilövése vagy visszahúzása|Hosszú ugrás: Gránát meg hasonlók leejtése
-04:08=Tartsd távol ellenfeleid aknák lerakásával szűk|átjárókba vagy éppen a lábuk elé. A biztonságos|távot vedd fel, nehogy te magad aktiváld!|Támadás: Akna lerakása a lábad elé
-04:09=Nem vagy az a biztos kezű? Használd a |pisztolyod akár négy lövés erejéig is.|Támadás: Lövés (többszöri alkalommal)
-04:10=A nyers erőszak mindig megoldás. Rakd le ezt a klasszikus|robbanószert az ellenfeleidhez, majd vonulj vissza.|Támadás: Dinamit leejtése a lábad elé
-04:11=Szabadulj meg a többi süntől egy jópofa|pályán túlra vagy vízbe repítéssel. Netán|egy akna átpöckölése a másikhoz?|Támadás: Mindent megütsz magad előtt
-04:12=Kerülj hozzá igazán közel, hogy alkalmazd|ezt a majdnem halálos harcművész technikát.|Támadás: A felütés végrehajtása
-04:13=NEM HASZNÁLT
-04:14=Tériszonyod van? Használj ejtőrenyőt. Magától| kinyílik, ha netán túl nagyot esnél, és így|elkerülöd a sérüléseket.|Támadás: Ejtőernyő kinyitása|Hosszú ugrás: Gránátok és egyebek leejtése
-04:15=Repülőgép hívása, hogy az ellenfeleid|megszórd bombákkal.|Jobbra/Balra: Irány megadása|Kurzor: Célterület kiválasztása
-04:16=Repülőgép hívása, hogy aknákat ejts|a területen levőkre.|Jobbra/Balra: Irány megadása|Kurzor: Célterület kiválasztása
-04:17=Fedezék kellene? Használd a fúrópajzsot, hogy|pofás alagutat vájj a talajba, ami megvéd.|Támadás: Fúrás megkezdése vagy leállítása
-04:18=További védelem kellene, vagy lehetetlen terepen|is átkelnél? Helyezd el a gerendákat, ahogy jólesik.|Jobbra/Balra: Gerendák forgatása|Kurzor: Gerenda érvényes helyre való lerakása
-04:19=A jókor használt teleportálás olykor|többet ér, mint bármilyen más fegyver,|hiszen másodpercek alatt kimenekíti|a sünidet, ha már szorul a hurok.|Kurzor: Célterület kiválasztása
-04:20=Lehetővé teszi, hogy az aktuális köröd egy|másik sünnel játszd le.|Támadás: Sünök cseréjének bekapcsolása
-04:21=Egy gránátszerű lövedék kilövése, ami majdan|becsapódáskor további repeszeket enged szét.|Támadás: Kilövés maximális erővel
-04:22=Nem csak Indiana Jonesnak! Az ostor sokszor|bizonyította már hatékonyságát. Különösen,|ha lelöknél valakit a sziklafalról.|Támadás: Mindent megcsapsz magad előtt
-04:23=Ha már nem maradt veszteni valód, akkor ez jól|jöhet. Áldozd fel a sünöd, annak kilövésével az|általad meghatározott irányba, ami megsebez|mindent az útjában, végül felrobban.|Támadás: A végzetes támadás elindítása
-04:24=Boldog szülinapot! Engedd el útjára a tortát,|az odasétál hozzájuk, kirobbanó siker lesz!|A torta bármilyen terepen átgyalogol, de így|lehet, hogy idő előtt felrobban.|Támadás: A torta indítása vagy robbantása
-04:25=Használd ezt az álruhát, hogy ellenfeleid|feléd ugorjanak (valami gödörfélébe)!|Támadás: Többi sün elcsábítása álruhában
-04:26=Egy fincsi görögdinnye eldobása az ellenfeleknek.|Ha lejár az időzítő, további robbanó darabra esik.|1-5: Időzítő beállítása|Támadás: Tartsd nyomva, és nő a távolság
-04:27=Engedd rá a pokol tüzét az ellenfeleidre ezzel a|ördögi robbanószerkezettel! Tartsd magad távol|a robbanástól, mert a kis tüzek tovább éghetnek!|Támadás: Tartsd nyomva, és nő a távolság
-04:28=A kilövés után nemsokkal a rakéta elkezd|utat vájni a talajba, és felrobban, ha lejár| az időzítője vagy újra felszínre ér.|Támadás: Tartsd nyomva, és nő a távolság
-04:29=Nem gyerek kezébe való! A labdavető megannyi|apró, színes labdát lő ki, robbanó eleggyel töltve.|Támadás: Tüzelés teljes erőből|Fel/Le: Célzás folytatása
-04:30=Repülőgép hívása egy kis napalmcsapáshoz.|Megfelelő célzással képes hatalmas területet|eltörölni, az ottlévő sünikkel együtt.|Jobbra/Balra: Támadás irányának megadása|Kurzor: Célterület kiválasztása
-04:31=Az RC repülő az ideális fegyver csomagok begyűjtésére vagy|messzi sünök kilövésére. Vezesd neki az ellenségnek, vagy|ejts le pár bombát előbb.|Támadás: Repülő indítása vagy bombák ledobása|Hosszú ugrás: A valkűrök csatába küldése|Fel/Le: A repülő kormányzása
-04:32=Az alacsony gravitáció jobb, mint a diétázás! Ugorj|magasabbra vagy messzebbre, vagy repítsd az ellent|még messzebbre.|Támadás: Aktiválás
-04:33=Néha szükség van egy kis többleterőre, hogy a|sebzés igazán szép legyen.|Támadás: Aktiválás
-04:34=Nem érhetsz el!|Támadás: Aktiválás
-04:35=Néha az idő túl gyorsan telik. Szerezz pár extra|másodperced a támadás véghezviteléhez.|Támadás: Aktiválás
-04:36=Hát, megesik, hogy rosszul célzol. A biztonság|kedvéért vess be egy kis modern technológiát!|Támadás: Aktiválás
-04:37=Ne félj a napfénytől! Csak egyetlen körig tart,|de lehetővé teszi a más sünök által vesztett|életerő felszívását.|Támadás: Aktiválás
-04:38=A mesterlövész puska lehet a leghalálosabb fegyvered|az összes közül, ugyanakkor nem éri meg kis távra|használni. Az okozott sebzés mértéke a távolsággal|egyenes arányban nő.|Támadás: Lövés (kétszer)
-04:39=Repülj más részekre a csészealj segítségével.|Ez a nehezen kezelhető jármű képes bárhova|eljuttatni téged a csatamezőn.|Támadás: Aktiválás|Fel/Jobbra/Balra: Tolósugarak alkalmazása|Hosszú ugrás: Gránát meg egyebek leejtése
-04:40=Csinálj egy szép tűzszőnyeget ezzel a|(hamarosan) égő folyadékkal!|Támadás: Tartsd nyomva, és nő a távolság
-04:41=A természet csodája tán még a csészealjon|is túltesz. A madárka cipel téged, illetve|tojásokat ejt az ellenfelekre!|Támadás: Aktiváld vagy ejts tojásokat|Fel/Jobbra/Balra: Abba az irányba csapkodjon
-
-; Game goal strings
-05:00=Játék módok
-05:01=Az alábbi szabályok érvényesek:
-05:02=Erődök: Védd meg a sajátod, pusztítsd el az ellenfeledet!
-05:03=Alacsony gravitáció: Vigyázz, hova lépsz!
-05:04=Sérthetetlenség: A sünök (majdnem) sérthetetlenek
-05:05=Vámpírizmus: A sünök visszagyógyulnak a sebzések arányában
-05:06=Karma: A sünök is sérülnek az általuk okozott sebek által
-05:07=Óvd Őfelségét: Ne hagyd a királyt meghalni!|Király elhelyezése: Válassz egy védett helyet, ahova lerakod őfelségét
-05:08=Sünök Lerakása: A játék kezdete előtt te választod ki a kezdőhelyet
-05:09=Tüzérség: A sünök nem mozoghatnak
-05:10=Lebonthatatlan talaj:A legtöbb fegyver nem tudja szétrobbantani a földet
-05:11=Közös lőszer: Az egyszínű csapatoknak közös a lőszerkészlete
-05:12=Akna időzítés: Az aknák %1 másodperc után robbanak
-05:13=Akna időzítés: Az aknák azonnal berobbannak
-05:14=Akna időzítés: Az aknák 0 - 3 másodperc után robbannak
-05:15=Sebzés módosító: Minden fegyver %1%-al sebez az eredetihez képest
+; Hungarian locale
+
+00:00=Gránát
+00:01=Repeszgránát
+00:02=Aknavető
+00:03=Méhecske
+00:04=Puska
+00:05=Légkalapács
+00:06=Kör kihagyása
+00:07=Kötél
+00:08=Akna
+00:09=Desert Eagle
+00:10=Dinamit
+00:11=Baseball ütő
+00:12=Felütés
+00:13=mp
+00:14=Ejtőernyő
+00:15=Légicsapás
+00:16=Akna eső
+00:17=Fúrópajzs
+00:18=Építkezés
+00:19=Teleportálás
+00:20=Süncsere
+00:21=Mortar
+00:22=Ostor
+00:23=Kamikaze
+00:24=Torta
+00:25=Csábítás
+00:26=Dinnye Bomba
+00:27=Pokoli gránát
+00:28=Ásórakéta
+00:29=Labdavető
+00:30=Napalm
+00:31=RC Repülő
+00:32=Alancsony gravitáció
+00:33=Extra sebzés
+00:34=Sérthetetlenség
+00:35=Extra idő
+00:36=Lézeres mutató
+00:37=Vámpírizmus
+00:38=Orvlövész puska
+00:39=Repülő csészealj
+00:40=Molotov koktél
+00:41=Madárka
+
+01:00=Mindent bele!
+01:01=Döntetlen
+01:02=%1 nyert!
+01:03=Hangerő %1%
+01:04=Szünet
+01:05=Valóban Kilépsz? (Y/Esc)
+01:06=Hirtelen halál!
+01:07=%1 maradt
+01:08=Töltet
+01:09=Szinkronizálás...
+01:10=A kör nem ér véget ennek a használatával!
+01:11=Ez a fegyver vagy eszköz még nem elérhető!
+
+; Event messages
+; Hog (%1) died
+02:00=%1 beadta a kulcsot!
+02:00=%1 meglátta a fényt!
+02:00=%1 sosem hitte volna...
+02:00=%1 búcsúzik!
+02:00=%1 jobblétre szenderült!
+02:00=%1 találkozott a teremtőjével!
+02:00=%1 már nem bírta tovább!
+02:00=%1 bevégezte a dolgát!
+02:00=%1 meghozta a végső áldozatot!
+02:00=%1 Elhagyta porhüvelyét!
+02:00=%1 Külföldre ment. Oszlóban van!
+02:00=%1 felett eljárt az idő!
+02:00=%1 feldobta a talpát!
+02:00=%1 nem halt meg hiába!
+02:00=%1 nem SÜNdörög többet!
+02:00=%1 hátrahagyott egy nőt és egy gyereket
+02:00=%1 kilőtte az utolsó rakétát
+02:00=%1 eldobta az utolsó gránátot
+02:00=%1 megsütötte utolsó tortáját
+02:00=%1 megmászta utolsó kötelét
+02:00=%1 elküldte utolsó repülőjét
+02:00=%1 utoljára húzta meg a ravaszt
+02:00=%1 eldobta az utolsó dinnyét
+02:00=%1 is holtig tanult.
+02:00=%1 elment az örök vadászmezőkre
+02:00=%1 nem vette be a gyógyszerét
+02:00=%1 elment valami jobbal játszani
+02:00=%1 kipurcant
+02:00=%1 elbukott
+02:00=Szegény %1...
+02:00=%1 inkább a wormux-re szavaz
+02:00=%1 odatartotta a másik orcáját is
+02:00=%1 neve fennmarad örökké
+02:00=%1 végre a Valhallába került
+02:00=%1 elhagyta az épületet
+02:00=%1 követi a dínók példáját
+02:00=%1 közelebb hozza a süniket a kihaláshoz
+02:00=%1 könnyet csal a szemekbe
+02:00=%1 már csak ex-sün
+02:00=%1 alulról szagolja az ibolyát
+02:00=%1 megSÜNt létezni
+02:00=Viszlát, %1 !
+02:00=%1 reménytelen eset
+02:00=%1 elérkezett a végső felvonáshoz
+02:00=%1 egzisztenciális gondokkal küzd
+02:00=%1 már odaát van
+02:00=%1 nincs többé
+02:00=%1 lejárt a szavatossága
+02:00=Nyugodj békében, %1
+02:00=%1 nem bírta a kiképzést
+02:00=%1 nem volt macska, hogy kilenc élete legyen 
+02:00=Van itt orvos?
+
+; Hog (%1) drowned
+02:01=%1 tengeralattjárósdit játszik!
+02:01=%1 A Titanic-ot utánozza!
+02:01=%1 úszik, mint egy kő!
+02:01=%1 Lebeg, mint a tégla!
+02:01=%1 a dolgok mélyére jár
+02:01=%1 gargalizál kicsit
+02:01=%1 placcsant
+02:01=%1 otthonhagyta az úszógumit
+02:01=%1 vehetett volna úszóleckét
+02:01=%1 nem hozta a szörfdeszkát
+02:01=%1 vizes takarítást kért
+02:01=%1 meglátogatta a vizes blokkot
+02:01=%1 nem hozott mentőmellényt
+02:01=%1 kacsázik...
+02:01=%1 felcsapott haleledelnek
+02:01=%1 szerint a víz rosszul lett implementálva
+02:01=%1 szomjas lehet
+02:01=%1 biztos nem lesz tengeribeteg
+02:01=%1 nem hozta a búvárszerkót
+02:01=%1 tengeri temetést kap
+02:01=%1 mély érzéseket táplál...
+02:01=%1 hátúszást gyakorol
+02:01=%1 elmerült az élvezetekben
+02:01=%1 nem tud vízen járni
+02:01=%1 Nemo nyomában
+02:01=Vajon hány süni lehet már odalenn?
+02:01=%1 egy picit emeli a vízszintet
+02:01=%1 nem jelentkezett tengerésznek
+02:01=%1 döglött halat imitál
+02:01=Legalább nem a vécén húztak le, %1
+02:01=Sonic nem tudott úszni, %1 sem.
+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
+02:01=%1 szerint a sós víz jó a bőrnek
+02:01=%1 csobban egyet
+02:01=%1 elment fürödni
+02:01=%1 megfulladt
+02:01=%1 majdnem jobb, mint Búvár Kund!
+02:01=Ilyen mélyre süllyedni, %1
+
+; Round starts
+02:02=Küzdjetek!
+02:02=Fegyverbe!
+02:02=Most kezdődik a tánc!
+02:02=Ki nevet a végén?
+02:02=Indulás!
+02:02=Nosza!
+02:02=Hajrá!
+02:02=Kezdődik...
+02:02=Üdvözöl a Hedgewars
+02:02=Üdvözöl a pokol!
+02:02=Isten hozott a fronton! És az ördög vigyen el...
+02:02=Győzzön a jobbik!
+02:02=Győzelem vagy halál
+02:02=A háború istenei ma mosolyognak
+02:02=Hedgewars, a Hedgewars.org által!
+02:02=GL HF
+02:02=Örülj, hogy nem Tiyuri van ellened...
+02:02=Örülj, hogy nem unC0Rr van ellened...
+02:02=Örülj, hogy nem Nemo van ellened...
+02:02=Örülj, hogy nem Smaxx van ellened...
+02:02=Örülj, hogy nem Jessor van ellened...
+02:02=A vesztes mosogat!
+02:02=Kezdődjön az évezred harca!
+02:02=Kezdődjön az évszázad csatája!
+02:02=Kezdődjön az évtized küzdelme!
+02:02=Kezdődjön az év harca!
+02:02=Kezdődjön a hónap csatája!
+02:02=Kezdődjön a hét küzdelme!
+02:02=Kezdődjön a nap harca!
+02:02=Kezdődjön az óra csatája!
+02:02=Csak ügyesen!
+02:02=Pusztítsd az ellent!
+02:02=Sok sikert!
+02:02=Jó szórakozást!
+02:02=Harcolj jól!
+02:02=Küzdj alantasan!
+02:02=Küzdj becsülettel!
+02:02=Ne add fel!
+02:02=Sose add meg magad!
+02:02=Kezdődjön a mészárlás!
+02:02=Remélem, készen állsz!
+02:02=Gyerünk!
+02:02=Sünik, előre!
+02:02=Szedd őket miszlikbe!
+
+; Round ends (win; unused atm)
+02:03=...
+
+; Round ends (draw; unused atm)
+02:04=...
+
+; New health crate
+02:05=Egy kis segítség!
+02:05=Felcser!
+02:05=Kötszerek az égből!
+02:05=Egy kis gyógyszer...
+02:05=Jó egészséget...doboz alakút!
+02:05=Hív a doktor
+02:05=Friss kötszerek!
+02:05=Ettől majd jobban leszel
+02:05=Élet lötyi! Izé, másik játék...
+02:05=Egészségedre!
+02:05=Vedd fel!
+02:05=Egy jóleső falat...
+02:05=Fájdalomcsillapító
+02:05=Megfelelő adagolás: Amennyit csak tudsz!
+02:05=Gyorsposta!
+02:05=Ellátmány!
+02:05=Kígyónak lábsó...
+
+; New ammo crate
+02:06=Még több fegyver!
+02:06=Utánpótlás!
+02:06=Ha fogytán lennél...
+02:06=Vajon mi lehet benne?
+02:06=Ellátmány!
+02:06=Mit rejt a doboz?
+02:06=Korán jött a karácsony a Hedgewars-ban
+02:06=Ajándék!
+02:06=Alig jutott át a vámon...
+02:06=Pusztító játékok az égiektől
+02:06=Vigyázat! Robban!
+02:06=Felveszed, vagy felrobbantod, a döntés a tied!
+02:06=Jóságos ég!
+02:06=Mmmmm, lőszer
+02:06=Kicsi a doboz, de robban!
+02:06=Légiposta!
+02:06=Bármi is ez, tuti nem pizza!
+02:06=Szerezd meg!
+02:06=Fegyverszállítmány érkezik!
+02:06=Nehogy az ellen kezébe jusson!
+02:06=Szép, csillogó játékok!
+02:06=Egy rejtélyes doboz!
+
+; New utility crate
+02:07=Tooltime!
+02:07=Ez jól jöhet...
+02:07=Cuccok!
+02:07=Használd okosan!
+02:07=Vigyázat odalent!
+02:07=Még több szerszám!
+02:07=Nesze, pár cucc!
+02:07=Ez jó kell legyen!
+02:07=Csak ésszel!
+02:07=Ohó, ez nehéz!
+02:07=Ez még kellhet...
+
+; Hog (%1) skips his turn
+02:08=%1 unalmas...
+02:08=%1 hiába fáradt
+02:08=%1 eléggé lusta
+02:08=%1 ötlettelen
+02:08=%1 feladta
+02:08=%1 szégyentelenül kihagyta
+02:08=%1 buddhista lehet
+02:08=%1 kicsit alulmotivált
+02:08=%1 békeszerető
+02:08=%1 tart egy kis szüntetet
+02:08=%1 pihenget kicsit
+02:08=%1 lazul
+02:08=%1 nem hisz a képességeiben
+02:08=%1 úgy dönt, nem tesz semmit
+02:08=%1 hagyja, hogy az ellen magát pusztítsa
+02:08=%1 uncsi lenne bulikon
+02:08=%1 kihagyja a lehetőséget
+02:08=%1 úgy dönt, hogy a legjobb, amit tehet ... semmit.
+02:08=%1 egy puhány
+02:08=%1, te gyáva nyúl!
+02:08=%1 meghúzza magát
+02:08=%1 egy gyáva!
+02:08=%1 a hirtelen halálra vár
+02:08=%1 nem egy harcos típus
+02:08=%1 élete értelmén gondolkodik
+02:08=%1 sosem volt a legmenőbb
+02:08=%1 nem akart belépni a seregbe
+02:08=Ne húzd az időt, %1
+02:08=Csalódtam benned, %1
+02:08=Ugyan, tudsz te ennél többet is, %1
+02:08=%1 akarata megtört
+02:08=%1 épp mással foglalkozik
+02:08=%1 elaludt
+
+; Hog (%1) hurts himself only
+02:09=%1 gyakorolhatna kicsit!
+02:09=%1 látszólag utálja magát
+02:09=%1 rossz oldalra állt!
+02:09=%1 emonak néz ki
+02:09=%1 rosszul fogta fegyverét
+02:09=%1 egy kicsit szadista
+02:09=%1 egy kicsit mazohista
+02:09=%1 elég kicsi túlélési ösztönnel bír
+02:09=%1 elrontotta
+02:09=%1 elbaltázta
+02:09=Ez gyenge volt, %1
+02:09=%1 kicsit hanyagul bánik a fegyverekkel
+02:09=%1 választhatna másik pályát
+02:09=Ez. A. Legrosszabb. Lövés!
+02:09=Neeem, %1, az ELLENFELET lődd!
+02:09=%1 inkább az ellent lőhetné
+02:09=%1 öngyilkosságon töri a fejét
+02:09=%1 segíti az ellenfelet
+02:09=Ez nem volt okos lépés, %1
+02:09=%1 szerint áldozat nélkül nincs győzelem!
+02:09=%1 kicsit zavart
+02:09=%1 megvágta magát a nagy hadonászásban
+02:09=%1 hajlamos lejáratni magát
+02:09=%1 ügyetlenkedik
+02:09=%1 megmutatja, mire képes!
+02:09=%1 sem lehet mindig tökéletes
+02:09=Ne aggódj, %1, senki sem tökéletes!
+02:09=%1 szándékosan csinálta!
+02:09=én hallgatok, ha te is, %1
+02:09=Ez szégyenletes!
+02:09=Senki sem látta, %1
+02:09=%1 átnézhetné a kézi könyvet
+02:09=%1 fegyvere rosszul működik
+
+; Hog shot an home run (using the bat and another hog)
+02:10=Hazafutás!
+02:10=Tágas égen andalog...
+02:10=Egy mínusz!
+
+; Weapon Categories
+03:00=Időzíthető gránát
+03:01=Időzíthető gránát
+03:02=Ballisztikus rakéta
+03:03=Irányított fegyver
+03:04=Lőfegyver (több lövés)
+03:05=ásó eszköz
+03:06=Cselekvés
+03:07=Szállító eszköz
+03:08=Kis hatósugarú bomba
+03:09=Lőfegyver (több lövés)
+03:10=BUMM!
+03:11=PAFF!
+03:12=Harcművészet
+03:13=NEM HASZNÁLT
+03:14=Szállító eszköz
+03:15=Légicsapás
+03:16=Légicsapás
+03:17=Ásó eszköz
+03:18=Eszköz
+03:19=Szállító eszköz
+03:20=Cselekvés
+03:21=Ballisztikus rakéta
+03:22=Az én nevem Indiana!
+03:23=(igazán) Harcművészet
+03:24=The cake is NOT a lie!
+03:25=Álruha
+03:26=Ízletes gránát
+03:27=Pokoli gránát
+03:28=Ballisztikus rakéta
+03:29=Ballisztikus rakéta
+03:30=Légicsapás
+03:31=Távvezérelt bomba
+03:32=Ideiglenes hatás
+03:33=Ideiglenes hatás
+03:34=Ideiglenes hatás
+03:35=Ideiglenes hatás
+03:36=Ideiglenes hatás
+03:37=Ideiglenes hatás
+03:38=Lőfegyver (több lövés)
+03:39=Szállító eszköz
+03:40=Felperzselő gránát
+03:41=A csőrösök nagy hívője
+
+; Weapon Descriptions (use | as line breaks)
+04:00=Az ellenfél megdobása egy szimpla gránáttal.|Amint lejár az időzítő, felrobban.|1-5: időzítő beállítása|Támadás: Tartsd nyomva, és nő a távolság
+04:01=Az ellenfél megtámadása egy repeszgránáttal.|Kisebb darabokra esik, ha lejár az időzítő.|1-5: időzítő beállítása|Támadás: Tartsd nyomva, és nő a távolság
+04:02=Az ellenfél meglövése egy ballisztikus rakétával|aminek pályáját a szél befolyásolja|Támadás: Tartsd nyomva, és nő a távolság
+04:03=Egy robbanó méhecske eleresztése, ami|elindul a célpont felé. Ne lőjj teljes erőből,|hogy a célzás pontosabb legyen.|Kurzor: Célpont kiválasztása|Támadás: Tartsd nyomva, és nő a távolság
+04:04=Az ellenfél meglövése egy kétlövetű puskával.|A szórásnak hála nem kell pontosnak lenned,|hogy kárt okozz.|Támadás: Lövés (többszöri alkalommal)
+04:05=Menj a föld alá! Használd a légkalapácsot, hogy|lyukat fúrj a talajba, és elérj új zónákat.|Támadás: Fúrás indítása vagy leállítása
+04:06=Unod? Nem tudsz támadni? Halmozod a lőszert?|Semmi gond! Hagyd ki ezt a kört, te gyáva!|Támadás: Kör kihagyása harc nélkül
+04:07=Küzdj le nagy távolságokat a kötél használatával.|A lendületed segítségével szállj neki más sünöknek|vagy ejts rájuk gránátot vagy más finomságot.|Támadás: Kötél kilövése vagy visszahúzása|Hosszú ugrás: Gránát meg hasonlók leejtése
+04:08=Tartsd távol ellenfeleid aknák lerakásával szűk|átjárókba vagy éppen a lábuk elé. A biztonságos|távot vedd fel, nehogy te magad aktiváld!|Támadás: Akna lerakása a lábad elé
+04:09=Nem vagy az a biztos kezű? Használd a |pisztolyod akár négy lövés erejéig is.|Támadás: Lövés (többszöri alkalommal)
+04:10=A nyers erőszak mindig megoldás. Rakd le ezt a klasszikus|robbanószert az ellenfeleidhez, majd vonulj vissza.|Támadás: Dinamit leejtése a lábad elé
+04:11=Szabadulj meg a többi süntől egy jópofa|pályán túlra vagy vízbe repítéssel. Netán|egy akna átpöckölése a másikhoz?|Támadás: Mindent megütsz magad előtt
+04:12=Kerülj hozzá igazán közel, hogy alkalmazd|ezt a majdnem halálos harcművész technikát.|Támadás: A felütés végrehajtása
+04:13=NEM HASZNÁLT
+04:14=Tériszonyod van? Használj ejtőrenyőt. Magától| kinyílik, ha netán túl nagyot esnél, és így|elkerülöd a sérüléseket.|Támadás: Ejtőernyő kinyitása|Hosszú ugrás: Gránátok és egyebek leejtése
+04:15=Repülőgép hívása, hogy az ellenfeleid|megszórd bombákkal.|Jobbra/Balra: Irány megadása|Kurzor: Célterület kiválasztása
+04:16=Repülőgép hívása, hogy aknákat ejts|a területen levőkre.|Jobbra/Balra: Irány megadása|Kurzor: Célterület kiválasztása
+04:17=Fedezék kellene? Használd a fúrópajzsot, hogy|pofás alagutat vájj a talajba, ami megvéd.|Támadás: Fúrás megkezdése vagy leállítása
+04:18=További védelem kellene, vagy lehetetlen terepen|is átkelnél? Helyezd el a gerendákat, ahogy jólesik.|Jobbra/Balra: Gerendák forgatása|Kurzor: Gerenda érvényes helyre való lerakása
+04:19=A jókor használt teleportálás olykor|többet ér, mint bármilyen más fegyver,|hiszen másodpercek alatt kimenekíti|a sünidet, ha már szorul a hurok.|Kurzor: Célterület kiválasztása
+04:20=Lehetővé teszi, hogy az aktuális köröd egy|másik sünnel játszd le.|Támadás: Sünök cseréjének bekapcsolása
+04:21=Egy gránátszerű lövedék kilövése, ami majdan|becsapódáskor további repeszeket enged szét.|Támadás: Kilövés maximális erővel
+04:22=Nem csak Indiana Jonesnak! Az ostor sokszor|bizonyította már hatékonyságát. Különösen,|ha lelöknél valakit a sziklafalról.|Támadás: Mindent megcsapsz magad előtt
+04:23=Ha már nem maradt veszteni valód, akkor ez jól|jöhet. Áldozd fel a sünöd, annak kilövésével az|általad meghatározott irányba, ami megsebez|mindent az útjában, végül felrobban.|Támadás: A végzetes támadás elindítása
+04:24=Boldog szülinapot! Engedd el útjára a tortát,|az odasétál hozzájuk, kirobbanó siker lesz!|A torta bármilyen terepen átgyalogol, de így|lehet, hogy idő előtt felrobban.|Támadás: A torta indítása vagy robbantása
+04:25=Használd ezt az álruhát, hogy ellenfeleid|feléd ugorjanak (valami gödörfélébe)!|Támadás: Többi sün elcsábítása álruhában
+04:26=Egy fincsi görögdinnye eldobása az ellenfeleknek.|Ha lejár az időzítő, további robbanó darabra esik.|1-5: Időzítő beállítása|Támadás: Tartsd nyomva, és nő a távolság
+04:27=Engedd rá a pokol tüzét az ellenfeleidre ezzel a|ördögi robbanószerkezettel! Tartsd magad távol|a robbanástól, mert a kis tüzek tovább éghetnek!|Támadás: Tartsd nyomva, és nő a távolság
+04:28=A kilövés után nemsokkal a rakéta elkezd|utat vájni a talajba, és felrobban, ha lejár| az időzítője vagy újra felszínre ér.|Támadás: Tartsd nyomva, és nő a távolság
+04:29=Nem gyerek kezébe való! A labdavető megannyi|apró, színes labdát lő ki, robbanó eleggyel töltve.|Támadás: Tüzelés teljes erőből|Fel/Le: Célzás folytatása
+04:30=Repülőgép hívása egy kis napalmcsapáshoz.|Megfelelő célzással képes hatalmas területet|eltörölni, az ottlévő sünikkel együtt.|Jobbra/Balra: Támadás irányának megadása|Kurzor: Célterület kiválasztása
+04:31=Az RC repülő az ideális fegyver csomagok begyűjtésére vagy|messzi sünök kilövésére. Vezesd neki az ellenségnek, vagy|ejts le pár bombát előbb.|Támadás: Repülő indítása vagy bombák ledobása|Hosszú ugrás: A valkűrök csatába küldése|Fel/Le: A repülő kormányzása
+04:32=Az alacsony gravitáció jobb, mint a diétázás! Ugorj|magasabbra vagy messzebbre, vagy repítsd az ellent|még messzebbre.|Támadás: Aktiválás
+04:33=Néha szükség van egy kis többleterőre, hogy a|sebzés igazán szép legyen.|Támadás: Aktiválás
+04:34=Nem érhetsz el!|Támadás: Aktiválás
+04:35=Néha az idő túl gyorsan telik. Szerezz pár extra|másodperced a támadás véghezviteléhez.|Támadás: Aktiválás
+04:36=Hát, megesik, hogy rosszul célzol. A biztonság|kedvéért vess be egy kis modern technológiát!|Támadás: Aktiválás
+04:37=Ne félj a napfénytől! Csak egyetlen körig tart,|de lehetővé teszi a más sünök által vesztett|életerő felszívását.|Támadás: Aktiválás
+04:38=A mesterlövész puska lehet a leghalálosabb fegyvered|az összes közül, ugyanakkor nem éri meg kis távra|használni. Az okozott sebzés mértéke a távolsággal|egyenes arányban nő.|Támadás: Lövés (kétszer)
+04:39=Repülj más részekre a csészealj segítségével.|Ez a nehezen kezelhető jármű képes bárhova|eljuttatni téged a csatamezőn.|Támadás: Aktiválás|Fel/Jobbra/Balra: Tolósugarak alkalmazása|Hosszú ugrás: Gránát meg egyebek leejtése
+04:40=Csinálj egy szép tűzszőnyeget ezzel a|(hamarosan) égő folyadékkal!|Támadás: Tartsd nyomva, és nő a távolság
+04:41=A természet csodája tán még a csészealjon|is túltesz. A madárka cipel téged, illetve|tojásokat ejt az ellenfelekre!|Támadás: Aktiváld vagy ejts tojásokat|Fel/Jobbra/Balra: Abba az irányba csapkodjon
+
+; Game goal strings
+05:00=Játék módok
+05:01=Az alábbi szabályok érvényesek:
+05:02=Erődök: Védd meg a sajátod, pusztítsd el az ellenfeledet!
+05:03=Alacsony gravitáció: Vigyázz, hova lépsz!
+05:04=Sérthetetlenség: A sünök (majdnem) sérthetetlenek
+05:05=Vámpírizmus: A sünök visszagyógyulnak a sebzések arányában
+05:06=Karma: A sünök is sérülnek az általuk okozott sebek által
+05:07=Óvd Őfelségét: Ne hagyd a királyt meghalni!|Király elhelyezése: Válassz egy védett helyet, ahova lerakod őfelségét
+05:08=Sünök Lerakása: A játék kezdete előtt te választod ki a kezdőhelyet
+05:09=Tüzérség: A sünök nem mozoghatnak
+05:10=Lebonthatatlan talaj:A legtöbb fegyver nem tudja szétrobbantani a földet
+05:11=Közös lőszer: Az egyszínű csapatoknak közös a lőszerkészlete
+05:12=Akna időzítés: Az aknák %1 másodperc után robbanak
+05:13=Akna időzítés: Az aknák azonnal berobbannak
+05:14=Akna időzítés: Az aknák 0 - 3 másodperc után robbannak
+05:15=Sebzés módosító: Minden fegyver %1%-al sebez az eredetihez képest