# 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