# HG changeset patch
# User koda
# Date 1286640107 -7200
# Node ID e6fddcb04dc27653e5f726833e40c01550043d67
# Parent 5ca27a0e9a636e852a432fd4b5f7d49a2369031c# Parent 033114a6a96082585575b8777ed1adfb2a1eb333
merge
diff -r 5ca27a0e9a63 -r e6fddcb04dc2 QTfrontend/about.cpp
--- 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 @@
"
"
"Julien Koesten <julienkoesten@aol.com>"
"
"
- "Joshua O'Sullivan <battysausage@hotmail.co.uk>"
+ "Joshua O'Sullivan <coheedftw@hotmail.co.uk>"
"
"
"Nils Lück <nils.luck.design@gmail.com>"
"
"
diff -r 5ca27a0e9a63 -r e6fddcb04dc2 QTfrontend/achievements.cpp
--- 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
};
diff -r 5ca27a0e9a63 -r e6fddcb04dc2 QTfrontend/chatwidget.cpp
--- 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)));
}
}
diff -r 5ca27a0e9a63 -r e6fddcb04dc2 QTfrontend/gameuiconfig.cpp
--- 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
diff -r 5ca27a0e9a63 -r e6fddcb04dc2 QTfrontend/hwconsts.cpp.in
--- 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(
diff -r 5ca27a0e9a63 -r e6fddcb04dc2 QTfrontend/hwconsts.h
--- 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;
diff -r 5ca27a0e9a63 -r e6fddcb04dc2 QTfrontend/hwform.cpp
--- 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 allSBars = findChildren();
@@ -526,11 +535,11 @@
{
if (eggTimer.elapsed() < 3000){
#ifdef __APPLE__
- panel->showInstallController();
+ panel->showInstallController();
#endif
close();
}
- else
+ else
{
QPushButton * btn = findChild("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."));
+}
+
diff -r 5ca27a0e9a63 -r e6fddcb04dc2 QTfrontend/hwform.h
--- 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,
diff -r 5ca27a0e9a63 -r e6fddcb04dc2 QTfrontend/main.cpp
--- 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
diff -r 5ca27a0e9a63 -r e6fddcb04dc2 QTfrontend/pages.cpp
--- 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)
diff -r 5ca27a0e9a63 -r e6fddcb04dc2 QTfrontend/pages.h
--- 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;
diff -r 5ca27a0e9a63 -r e6fddcb04dc2 bin/hwdfile.ico
Binary file bin/hwdfile.ico has changed
diff -r 5ca27a0e9a63 -r e6fddcb04dc2 bin/hwsfile.ico
Binary file bin/hwsfile.ico has changed
diff -r 5ca27a0e9a63 -r e6fddcb04dc2 hedgewars/uAmmos.pas
--- 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;
diff -r 5ca27a0e9a63 -r e6fddcb04dc2 hedgewars/uConsole.pas
--- 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;
diff -r 5ca27a0e9a63 -r e6fddcb04dc2 hedgewars/uFloat.pas
--- 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]
diff -r 5ca27a0e9a63 -r e6fddcb04dc2 hedgewars/uLand.pas
--- 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;
diff -r 5ca27a0e9a63 -r e6fddcb04dc2 hedgewars/uLandObjects.pas
--- 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;
diff -r 5ca27a0e9a63 -r e6fddcb04dc2 hedgewars/uMisc.pas
--- 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;
diff -r 5ca27a0e9a63 -r e6fddcb04dc2 hedgewars/uStore.pas
--- 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);
diff -r 5ca27a0e9a63 -r e6fddcb04dc2 share/hedgewars/Data/Locale/hu.txt
--- 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