--- a/.travis.yml Fri Jan 01 19:15:32 2016 +0300
+++ b/.travis.yml Tue Feb 09 21:11:16 2016 +0300
@@ -59,4 +59,4 @@
- "See details at %{build_url}"
on_success: change
on_failure: always
- skip_join: true
+ skip_join: false
--- a/ChangeLog.txt Fri Jan 01 19:15:32 2016 +0300
+++ b/ChangeLog.txt Tue Feb 09 21:11:16 2016 +0300
@@ -2,11 +2,21 @@
* bugfixes
0.9.22 -> 0.9.23
- * Hammer damage is now rounded down. This means it will cause NO DAMAGE to a hedgehog with less than 3 hp.
+ + Improved hedgehog spawns on maps that lack land mass or free space
+ + Highlander mode displays game scheme specifics (mines timer, etc.) in ESC info
+ + AI hedgehogs know how to use Bee now
+ + Small visual effects enhancements
+ * Video recording functionality is restored
+ * Gameplay fix: Hammer damage is now rounded down. This means it will cause NO DAMAGE to a hedgehog with less than 3 hp.
* Fixed bee not being affected by wrap world edge while still being thrown
* Fixed turn not ending when sticky mine was trapped on rubberband
+ * Fixed screenshots being too bright if taken in quick succession
+ * Fixed hog-speech missing a response type (Justyouwait/"You're gonna pay for that") on some platforms (e.g. Linux)
* Various other fixes
+Lua-API:
+ + New call: SetCinematicMode(enable) -- e.g. for cutscenes etc.
+
0.9.21 -> 0.9.22
+ New Weapon / Map object: AirMine (floating mine that will follow nearby hedgehogs)
+ Extensive changes to TechRacer: Variable terrain types, enhanced parameters, hwmap interpreter, fuel limiter, etc.
--- a/QTfrontend/Doxyfile Fri Jan 01 19:15:32 2016 +0300
+++ b/QTfrontend/Doxyfile Tue Feb 09 21:11:16 2016 +0300
@@ -190,7 +190,7 @@
# will result in a user-defined paragraph with heading "Side Effects:".
# You can put \n's in the value part of an alias to insert newlines.
-ALIASES = "repo{1}=http://code.google.com/p/hedgewars/source/browse/QTfrontend/\1"
+ALIASES = "repo{1}=http://hg.hedgewars.org/hedgewars/file/default/QTfrontend/\1"
# Set the OPTIMIZE_OUTPUT_FOR_C tag to YES if your project consists of C
# sources only. Doxygen will then generate output that is more tailored for C.
--- a/QTfrontend/main.cpp Fri Jan 01 19:15:32 2016 +0300
+++ b/QTfrontend/main.cpp Tue Feb 09 21:11:16 2016 +0300
@@ -28,6 +28,7 @@
#include <QDate>
#include <QDesktopWidget>
#include <QLabel>
+#include <QLibraryInfo>
#include "hwform.h"
#include "hwconsts.h"
@@ -318,7 +319,8 @@
engine->setWriteDir(cfgdir->absolutePath());
engine->mountPacks();
- QTranslator Translator;
+ QTranslator TranslatorHedgewars;
+ QTranslator TranslatorQt;
{
QSettings settings(DataManager::instance().settingsFileName(), QSettings::IniFormat);
settings.setIniCodec("UTF-8");
@@ -333,10 +335,13 @@
cc = HWApplication::keyboardInputLocale().name();
}
- // load locale file into translator
- if (!Translator.load(QString("physfs://Locale/hedgewars_%1").arg(cc)))
- qWarning("Failed to install translation (%s)", qPrintable(cc));
- app.installTranslator(&Translator);
+ // Load locale files into translators
+ if (!TranslatorHedgewars.load(QString("physfs://Locale/hedgewars_%1").arg(cc)))
+ qWarning("Failed to install Hedgewars translation (%s)", qPrintable(cc));
+ if (!TranslatorQt.load(QString("%1/qt_%2").arg(QLibraryInfo::location(QLibraryInfo::TranslationsPath), cc)))
+ qWarning("Failed to install Qt translation (%s)", qPrintable(cc));
+ app.installTranslator(&TranslatorHedgewars);
+ app.installTranslator(&TranslatorQt);
app.setLayoutDirection(QLocale(cc).textDirection());
}
Binary file QTfrontend/res/StatsBestKiller.png has changed
Binary file QTfrontend/res/StatsCustomAchievement.png has changed
Binary file QTfrontend/res/StatsHedgehogsKilled.png has changed
Binary file QTfrontend/res/StatsMostSelfDamage.png has changed
Binary file QTfrontend/res/StatsSelfKilled.png has changed
Binary file QTfrontend/res/StatsSkipped.png has changed
--- a/QTfrontend/ui/dialog/bandialog.cpp Fri Jan 01 19:15:32 2016 +0300
+++ b/QTfrontend/ui/dialog/bandialog.cpp Tue Feb 09 21:11:16 2016 +0300
@@ -58,6 +58,7 @@
connect(btnCancel, SIGNAL(clicked()), this, SLOT(reject()));
this->setWindowModality(Qt::WindowModal);
+ this->setWindowTitle(tr("Ban player"));
}
bool BanDialog::byIP()
--- a/QTfrontend/ui/dialog/input_ip.cpp Fri Jan 01 19:15:32 2016 +0300
+++ b/QTfrontend/ui/dialog/input_ip.cpp Tue Feb 09 21:11:16 2016 +0300
@@ -63,6 +63,7 @@
connect(pbDefault, SIGNAL(clicked()), this, SLOT(setDefaultPort()));
this->setWindowModality(Qt::WindowModal);
+ this->setWindowTitle(tr("Connect to server"));
}
void HWHostPortDialog::setDefaultPort()
--- a/QTfrontend/ui/page/pagenetserver.cpp Fri Jan 01 19:15:32 2016 +0300
+++ b/QTfrontend/ui/page/pagenetserver.cpp Tue Feb 09 21:11:16 2016 +0300
@@ -83,7 +83,7 @@
labelURL->setText(
"<style type=\"text/css\"> a { color: #ffcc00; } </style>"
"<div align=\"center\">"
- "<a href=\"https://code.google.com/p/hedgewars/wiki/HWPlaySchemeSyntax\">" +
+ "<a href=\"hedgewars.org/kb/HWPlaySchemeSyntax\">" +
tr("Click here for details") +
"</a></div>");
labelURL->setOpenExternalLinks(true);
--- a/QTfrontend/ui/widget/chatwidget.cpp Fri Jan 01 19:15:32 2016 +0300
+++ b/QTfrontend/ui/widget/chatwidget.cpp Tue Feb 09 21:11:16 2016 +0300
@@ -373,7 +373,7 @@
return QString("<span class=\"nick\">%1</span>").arg(Qt::escape(nickname));
}
-const QRegExp HWChatWidget::URLREGEXP = QRegExp("(http(s)?://)?(www\\.)?((hedgewars\\.org|code\\.google\\.com|googlecode\\.com|hh\\.unit22\\.org)(/[^ ]*)?)");
+const QRegExp HWChatWidget::URLREGEXP = QRegExp("(http(s)?://)?(www\\.)?((([^/:?&#]+\\.)?hedgewars\\.org|code\\.google\\.com|googlecode\\.com|hh\\.unit22\\.org)(/[^ ]*)?)");
bool HWChatWidget::containsHighlight(const QString & sender, const QString & message)
{
--- a/QTfrontend/ui/widget/feedbackdialog.cpp Fri Jan 01 19:15:32 2016 +0300
+++ b/QTfrontend/ui/widget/feedbackdialog.cpp Tue Feb 09 21:11:16 2016 +0300
@@ -60,6 +60,7 @@
setModal(true);
setWindowFlags(Qt::Sheet);
setWindowModality(Qt::WindowModal);
+ setWindowTitle(tr("Feedback"));
setMinimumSize(700, 460);
resize(700, 460);
setSizePolicy(QSizePolicy::Minimum, QSizePolicy::Minimum);
@@ -84,7 +85,7 @@
"</style>"
"<div align=\"center\"><h1>%1</h1>"
"<h3>%2<h3>"
- "<h4>%3 <a href=\"http://code.google.com/p/hedgewars/wiki/KnownBugs\">known bugs</a><h4>"
+ "<h4>%3 <a href=\"http://hedgewars.org/kb/KnownBugs\">known bugs</a><h4>"
"<h4>%4<h4>"
"</div>")
.arg(tr("Send us feedback!"))
--- a/QTfrontend/ui/widget/hatprompt.cpp Fri Jan 01 19:15:32 2016 +0300
+++ b/QTfrontend/ui/widget/hatprompt.cpp Tue Feb 09 21:11:16 2016 +0300
@@ -60,6 +60,7 @@
setModal(true);
setWindowFlags(Qt::Sheet);
setWindowModality(Qt::WindowModal);
+ setWindowTitle(tr("Choose a hat"));
setMinimumSize(550, 430);
resize(550, 430);
setSizePolicy(QSizePolicy::Minimum, QSizePolicy::Minimum);
--- a/QTfrontend/ui/widget/roomnameprompt.cpp Fri Jan 01 19:15:32 2016 +0300
+++ b/QTfrontend/ui/widget/roomnameprompt.cpp Tue Feb 09 21:11:16 2016 +0300
@@ -32,6 +32,7 @@
setModal(true);
setWindowFlags(Qt::Sheet);
setWindowModality(Qt::WindowModal);
+ setWindowTitle(tr("Create room"));
setMinimumSize(360, 130);
resize(360, 180);
setSizePolicy(QSizePolicy::Minimum, QSizePolicy::Fixed);
--- a/QTfrontend/ui/widget/seedprompt.cpp Fri Jan 01 19:15:32 2016 +0300
+++ b/QTfrontend/ui/widget/seedprompt.cpp Tue Feb 09 21:11:16 2016 +0300
@@ -31,6 +31,7 @@
setModal(true);
setWindowFlags(Qt::Sheet);
setWindowModality(Qt::WindowModal);
+ setWindowTitle(tr("Seed"));
setMinimumSize(360, 160);
resize(360, 160);
setSizePolicy(QSizePolicy::Minimum, QSizePolicy::Minimum);
--- a/QTfrontend/ui/widget/themeprompt.cpp Fri Jan 01 19:15:32 2016 +0300
+++ b/QTfrontend/ui/widget/themeprompt.cpp Tue Feb 09 21:11:16 2016 +0300
@@ -61,6 +61,7 @@
setModal(true);
setWindowFlags(Qt::Sheet);
setWindowModality(Qt::WindowModal);
+ setWindowTitle(tr("Choose a theme"));
setMinimumSize(550, 430);
resize(550, 430);
setSizePolicy(QSizePolicy::Minimum, QSizePolicy::Minimum);
--- a/QTfrontend/weapons.h Fri Jan 01 19:15:32 2016 +0300
+++ b/QTfrontend/weapons.h Tue Feb 09 21:11:16 2016 +0300
@@ -17,11 +17,67 @@
*/
-// TODO: keep on documenting all the weapons
-//skip---------------------------------|
-//structure------------------------------------------------------------------|
+/*
+ AmmoType lookup table (use monospace font / cursor movements)
-
+ amGrenade-----------------------|
+ amClusterBomb--------------------|
+ amBazooka-------------------------|
+ amBee------------------------------|
+ amShotgun---------------------------|
+ amPickHammer-------------------------|
+ amSkip--------------------------------|
+ amRope---------------------------------|
+ amMine----------------------------------|
+ amDEagle---------------------------------|
+ amDynamite--------------------------------|
+ amFirePunch--------------------------------|
+ amWhip--------------------------------------|
+ amBaseballBat--------------------------------|
+ amParachute-----------------------------------|
+ amAirAttack------------------------------------|
+ amMineStrike------------------------------------|
+ amBlowTorch--------------------------------------|
+ amGirder------------------------------------------|
+ amTeleport-----------------------------------------|
+ amSwitch--------------------------------------------|
+ amMortar---------------------------------------------|
+ amKamikaze--------------------------------------------|
+ amCake-------------------------------------------------|
+ amSeduction---------------------------------------------|
+ amWatermelon---------------------------------------------|
+ amHellishBomb---------------------------------------------|
+ amNapalm---------------------------------------------------|
+ amDrill-----------------------------------------------------|
+ amBallgun----------------------------------------------------|
+ amRCPlane-----------------------------------------------------|
+ amLowGravity---------------------------------------------------|
+ amExtraDamage---------------------------------------------------|
+ amInvulnerable---------------------------------------------------|
+ amExtraTime-------------------------------------------------------|
+ amLaserSight-------------------------------------------------------|
+ amVampiric----------------------------------------------------------|
+ amSniperRifle--------------------------------------------------------|
+ amJetpack-------------------------------------------------------------|
+ amMolotov--------------------------------------------------------------|
+ amBirdy-----------------------------------------------------------------|
+ amPortalGun--------------------------------------------------------------|
+ amPiano-------------------------------------------------------------------|
+ amGasBomb------------------------------------------------------------------|
+ amSineGun-------------------------------------------------------------------|
+ amFlamethrower---------------------------------------------------------------|
+ amSMine-----------------------------------------------------------------------|
+ amHammer-----------------------------------------------------------------------|
+ amResurrector-------------------------------------------------------------------|
+ amDrillStrike--------------------------------------------------------------------|
+ amSnowball------------------------------------------------------------------------|
+ amTardis---------------------------------------------------------------------------|
+ amLandGun---------------------------------------------------------------------------|
+ amIceGun-----------------------------------------------------------------------------|
+ amKnife-------------------------------------------------------------------------------|
+ amRubber-------------------------------------------------------------------------------|
+ amAirMine-------------------------------------------------------------------------------|
+*/
#define AMMOLINE_DEFAULT_QT "939192942219912103223511100120000000021110010101111100010"
#define AMMOLINE_DEFAULT_PROB "040504054160065554655446477657666666615551010111541111111"
#define AMMOLINE_DEFAULT_DELAY "000000000000020550000004000700400000000022000000060002000"
--- a/README.md Fri Jan 01 19:15:32 2016 +0300
+++ b/README.md Tue Feb 09 21:11:16 2016 +0300
@@ -28,7 +28,7 @@
Contribute:
-----------
If you see a bug or have any suggestion please use the official bug tracker at
-http://code.google.com/p/hedgewars/issues/list or the integrated feedback
+http://hedgewars.org/bugs or the integrated feedback
button.
If you want to help or get to know the sources better you can do that with some
--- a/gameServer/HWProtoInRoomState.hs Fri Jan 01 19:15:32 2016 +0300
+++ b/gameServer/HWProtoInRoomState.hs Tue Feb 09 21:11:16 2016 +0300
@@ -342,6 +342,7 @@
isJust maybeClientId
&& (kickId /= thisClientId)
&& sameRoom
+ && (not $ hasSuperPower kickCl)
&& ((isNothing $ gameInfo rm) || notOnly2Players || teamsInGame kickCl == 0)
]
--- a/gameServer/OfficialServer/checker.hs Fri Jan 01 19:15:32 2016 +0300
+++ b/gameServer/OfficialServer/checker.hs Tue Feb 09 21:11:16 2016 +0300
@@ -153,10 +153,12 @@
CheckFailed msg -> do
warningM "Check" "Check failed"
answer ["CHECKED", "FAIL", msg]
+ threadDelay 1500000
answer ["READY"]
CheckSuccess msgs -> do
warningM "Check" "Check succeeded"
answer ("CHECKED" : "OK" : msgs)
+ threadDelay 1500000
answer ["READY"]
where
answer :: [B.ByteString] -> IO ()
@@ -176,7 +178,7 @@
main :: IO ()
-main = withSocketsDo $ do
+main = withSocketsDo . forever $ do
#if !defined(mingw32_HOST_OS)
installHandler sigPIPE Ignore Nothing
installHandler sigCHLD Ignore Nothing
--- a/hedgewars/ArgParsers.pas Fri Jan 01 19:15:32 2016 +0300
+++ b/hedgewars/ArgParsers.pas Tue Feb 09 21:11:16 2016 +0300
@@ -105,7 +105,7 @@
WriteLn(stdout, ' --help');
WriteLn(stdout, '');
WriteLn(stdout, 'For more detailed help and examples go to:');
- WriteLn(stdout, 'http://code.google.com/p/hedgewars/wiki/CommandLineOptions');
+ WriteLn(stdout, 'http://hedgewars.org/kb/CommandLineOptions');
GameType:= gmtSyntax;
end;
--- a/hedgewars/SDLh.pas Fri Jan 01 19:15:32 2016 +0300
+++ b/hedgewars/SDLh.pas Tue Feb 09 21:11:16 2016 +0300
@@ -88,11 +88,19 @@
SDL_ALLEVENTS = $FFFFFFFF; // dummy event type to prevent stack corruption
SDL_APPINPUTFOCUS = $02;
+ // (some) audio formats from SDL_audio.h
+ AUDIO_S16LSB = $8010; // Signed 16-bit samples, in little-endian byte order
+ AUDIO_S16MSB = $9010; // Signed 16-bit samples, in big-endian byte order
+ AUDIO_S16SYS = {$IFDEF ENDIAN_LITTLE}AUDIO_S16LSB{$ELSE}AUDIO_S16MSB{$ENDIF};
+
+ // default audio format from SDL_mixer.h
+ MIX_DEFAULT_FORMAT = AUDIO_S16SYS;
+
SDL_BUTTON_LEFT = 1;
SDL_BUTTON_MIDDLE = 2;
SDL_BUTTON_RIGHT = 3;
- SDL_BUTTON_WHEELUP = 4;
- SDL_BUTTON_WHEELDOWN = 5;
+ SDL_BUTTON_X1 = 4;
+ SDL_BUTTON_X2 = 5;
SDL_TEXTEDITINGEVENT_TEXT_SIZE = 32;
@@ -1008,6 +1016,17 @@
sockets: PTCPSocket;
end;
+{$IFDEF WIN32}
+ TThreadFunction = function (p: pointer): Longword; stdcall;
+ pfnSDL_CurrentBeginThread = function (
+ _Security: pointer;
+ _StackSize: LongWord;
+ _StartAddress: TThreadFunction;
+ _ArgList: pointer;
+ _InitFlag: Longword;
+ _ThrdAddr: PLongword): PtrUInt; cdecl;
+ pfnSDL_CurrentEndThread = procedure (_Retval: LongInt); cdecl;
+{$ENDIF}
/////////////////////////////////////////////////////////////////
///////////////////// FUNCTION DEFINITIONS /////////////////////
@@ -1060,7 +1079,9 @@
function SDL_CreateRenderer(window: PSDL_Window; index: LongInt; flags: LongWord): PSDL_Renderer; cdecl; external SDLLibName;
function SDL_DestroyWindow(window: PSDL_Window): LongInt; cdecl; external SDLLibName;
function SDL_DestroyRenderer(renderer: PSDL_Renderer): LongInt; cdecl; external SDLLibName;
+procedure SDL_SetWindowPosition(window: PSDL_Window; w, h: LongInt); cdecl; external SDLLibName;
procedure SDL_SetWindowSize(window: PSDL_Window; w, h: LongInt); cdecl; external SDLLibName;
+procedure SDL_SetWindowFullscreen(window: PSDL_Window; flags: LongWord); cdecl; external SDLLibName;
function SDL_GetCurrentVideoDriver:Pchar; cdecl; external SDLLibName;
function SDL_GL_CreateContext(window: PSDL_Window): PSDL_GLContext; cdecl; external SDLLibName;
@@ -1117,7 +1138,13 @@
(* remember to mark the threaded functions as 'cdecl; export;'
(or have fun debugging nil arguments) *)
+{$IFDEF WIN32}
+// SDL uses wrapper in windows
+function SDL_CreateThread(fn: Pointer; name: PChar; data: Pointer; bt: pfnSDL_CurrentBeginThread; et: pfnSDL_CurrentEndThread): PSDL_Thread; cdecl; external SDLLibName;
+function SDL_CreateThread(fn: Pointer; name: PChar; data: Pointer): PSDL_Thread; cdecl; overload;
+{$ELSE}
function SDL_CreateThread(fn: Pointer; name: PChar; data: Pointer): PSDL_Thread; cdecl; external SDLLibName;
+{$ENDIF}
procedure SDL_WaitThread(thread: PSDL_Thread; status: PLongInt); cdecl; external SDLLibName;
procedure SDL_DetachThread(thread: PSDL_Thread); cdecl; external SDLLibName;
@@ -1304,6 +1331,12 @@
(PByteArray(buf)^[0] shl 24)
end;
+{$IFDEF WIN32}
+function SDL_CreateThread(fn: Pointer; name: PChar; data: Pointer): PSDL_Thread; cdecl;
+begin
+ SDL_CreateThread:= SDL_CreateThread(fn, name, data, nil, nil)
+end;
+{$ENDIF}
end.
--- a/hedgewars/hwengine.pas Fri Jan 01 19:15:32 2016 +0300
+++ b/hedgewars/hwengine.pas Tue Feb 09 21:11:16 2016 +0300
@@ -71,6 +71,7 @@
AddFlakes;
SetRandomSeed(cSeed, false);
StoreLoad(false);
+ if not allOK then exit;
AssignHHCoords;
AddMiscGears;
InitWorld;
@@ -89,6 +90,9 @@
end;
gsConfirm, gsGame, gsChat:
begin
+ // disable screenshot flash effect when about to make another screenshot
+ if flagMakeCapture and (ScreenFade = sfFromWhite) then
+ ScreenFade:= sfNone;
if not cOnlyStats then
// never place between ProcessKbd and DoGameTick - bugs due to /put cmd and isCursorVisible
DrawWorld(Lag);
@@ -127,7 +131,7 @@
ScreenFade:= sfFromWhite;
ScreenFadeValue:= sfMax;
ScreenFadeSpeed:= 5;
-
+
if (not flagDumpLand and MakeScreenshot(s, 1, 0)) or
(flagDumpLand and MakeScreenshot(s, 1, 1) and ((cReducedQuality and rqBlurryLand <> 0) or MakeScreenshot(s, 1, 2))) then
WriteLnToConsole('Screenshot saved: ' + s)
@@ -145,11 +149,13 @@
PrevTime, CurrTime: LongWord;
isTerminated: boolean;
previousGameState: TGameState;
+ wheelEvent: boolean;
begin
isTerminated:= false;
PrevTime:= SDL_GetTicks;
- while isTerminated = false do
+ while (not isTerminated) and allOK do
begin
+ wheelEvent:= false;
SDL_PumpEvents();
while SDL_PeepEvents(@event, 1, SDL_GETEVENT, SDL_FIRSTEVENT, SDL_LASTEVENT) > 0 do
@@ -177,35 +183,48 @@
if (GameState >= gsGame) then ProcessMouse(event.button, false);
SDL_MOUSEWHEEL:
+ begin
+ wheelEvent:= true;
ProcessMouseWheel(event.wheel.x, event.wheel.y);
+ end;
- SDL_TEXTINPUT: uChat.TextInput(event.text);
+ SDL_TEXTINPUT: if GameState = gsChat then uChat.TextInput(event.text);
SDL_WINDOWEVENT:
- if event.window.event = SDL_WINDOWEVENT_SHOWN then
begin
- cHasFocus:= true;
- onFocusStateChanged()
- end
- else if event.window.event = SDL_WINDOWEVENT_MINIMIZED then
- begin
- previousGameState:= GameState;
- GameState:= gsSuspend;
- end
- else if event.window.event = SDL_WINDOWEVENT_RESTORED then
- begin
- GameState:= previousGameState;
+ case event.window.event of
+ SDL_WINDOWEVENT_FOCUS_GAINED:
+ begin
+ cHasFocus:= true;
+ onFocusStateChanged();
+ end;
+ SDL_WINDOWEVENT_FOCUS_LOST:
+ begin
+ cHasFocus:= false;
+ onFocusStateChanged();
+ end;
+ SDL_WINDOWEVENT_MINIMIZED:
+ begin
+ previousGameState:= GameState;
+ GameState:= gsSuspend;
+ end;
+ SDL_WINDOWEVENT_RESTORED:
+ begin
+ GameState:= previousGameState;
{$IFDEF ANDROID}
- //This call is used to reinitialize the glcontext and reload the textures
- ParseCommand('fullscr '+intToStr(LongInt(cFullScreen)), true);
+ //This call is used to reinitialize the glcontext and reload the textures
+ ParseCommand('fullscr '+intToStr(LongInt(cFullScreen)), true);
{$ENDIF}
- end
- else if event.window.event = SDL_WINDOWEVENT_RESIZED then
- begin
- cNewScreenWidth:= max(2 * (event.window.data1 div 2), cMinScreenWidth);
- cNewScreenHeight:= max(2 * (event.window.data2 div 2), cMinScreenHeight);
- cScreenResizeDelay:= RealTicks + 500{$IFDEF IPHONEOS}div 2{$ENDIF};
+ end;
+ SDL_WINDOWEVENT_RESIZED:
+ begin
+ cNewScreenWidth:= max(2 * (event.window.data1 div 2), cMinScreenWidth);
+ cNewScreenHeight:= max(2 * (event.window.data2 div 2), cMinScreenHeight);
+ cScreenResizeDelay:= RealTicks + 500{$IFDEF IPHONEOS}div 2{$ENDIF};
+ end;
+ end; // case closed
end;
+
{$IFDEF USE_TOUCH_INTERFACE}
SDL_FINGERMOTION:
onTouchMotion(event.tfinger.x, event.tfinger.y, event.tfinger.dx, event.tfinger.dy, event.tfinger.fingerId);
@@ -229,6 +248,9 @@
end; //end case event.type_ of
end; //end while SDL_PollEvent(@event) <> 0 do
+ if (not wheelEvent) then
+ ResetMouseWheel();
+
if (CursorMovementX <> 0) or (CursorMovementY <> 0) then
handlePositionUpdate(CursorMovementX * cameraKeyboardSpeed, CursorMovementY * cameraKeyboardSpeed);
@@ -296,12 +318,11 @@
{$ENDIF}
///////////////////////////////////////////////////////////////////////////////
-procedure Game;
+procedure GameRoutine;
//var p: TPathType;
var s: shortstring;
i: LongInt;
begin
- initEverything(true);
WriteLnToConsole('Hedgewars engine ' + cVersionString + '-r' + cRevisionString +
' (' + cHashString + ') with protocol #' + inttostr(cNetProtoVersion));
//AddFileLog('Prefix: "' + shortstring(PathPrefix) +'"');
@@ -311,18 +332,19 @@
AddFileLog(inttostr(i) + ': ' + ParamStr(i));
WriteToConsole('Init SDL... ');
- if not cOnlyStats then SDLTry(SDL_Init(SDL_INIT_VIDEO or SDL_INIT_NOPARACHUTE) >= 0, 'SDL_Init', true);
+ if not cOnlyStats then SDLCheck(SDL_Init(SDL_INIT_VIDEO or SDL_INIT_NOPARACHUTE) >= 0, 'SDL_Init', true);
WriteLnToConsole(msgOK);
+ if not cOnlyStats then
+ begin
+ WriteToConsole('Init SDL_ttf... ');
+ SDLCheck(TTF_Init() <> -1, 'TTF_Init', true);
+ WriteLnToConsole(msgOK);
+ end;
+ if not allOK then exit;
//SDL_StartTextInput();
SDL_ShowCursor(0);
- if not cOnlyStats then
- begin
- WriteToConsole('Init SDL_ttf... ');
- SDLTry(TTF_Init() <> -1, 'TTF_Init', true);
- WriteLnToConsole(msgOK);
- end;
{$IFDEF USE_VIDEO_RECORDING}
if GameType = gmtRecord then
@@ -340,6 +362,7 @@
ControllerInit(); // has to happen before InitKbdKeyTable to map keys
InitKbdKeyTable();
AddProgress();
+ if not allOK then exit;
LoadLocale(cPathz[ptLocale] + '/en.txt'); // Do an initial load with english
if cLocaleFName <> 'en.txt' then
@@ -353,6 +376,7 @@
end
else cLocale := 'en';
+ if not allOK then exit;
WriteLnToConsole(msgGettingConfig);
if cTestLua then
@@ -369,6 +393,7 @@
LoadRecordFromFile(recordFileName);
end;
+ if not allOK then exit;
ScriptOnGameInit;
s:= 'eproto ' + inttostr(cNetProtoVersion);
SendIPCRaw(@s[0], Length(s) + 1); // send proto version
@@ -382,8 +407,9 @@
InitSound();
isDeveloperMode:= false;
- TryDo(InitStepsFlags = cifAllInited, 'Some parameters not set (flags = ' + inttostr(InitStepsFlags) + ')', true);
+ if checkFails(InitStepsFlags = cifAllInited, 'Some parameters not set (flags = ' + inttostr(InitStepsFlags) + ')', true) then exit;
//ParseCommand('rotmask', true);
+ if not allOK then exit;
{$IFDEF USE_VIDEO_RECORDING}
if GameType = gmtRecord then
@@ -395,16 +421,22 @@
{$ENDIF}
MainLoop;
+end;
+
+procedure Game;
+begin
+ initEverything(true);
+ GameRoutine;
// clean up all the memory allocated
freeEverything(true);
end;
-
///////////////////////////////////////////////////////////////////////////////
// preInitEverything - init variables that are going to be ovewritten by arguments
// initEverything - init variables only. Should be coupled by below
// freeEverything - free above. Pay attention to the init/free order!
procedure preInitEverything;
begin
+ allOK:= true;
Randomize();
uVariables.preInitModule;
@@ -502,19 +534,23 @@
begin
initEverything(false);
- IPCWaitPongEvent;
- TryDo(InitStepsFlags = cifRandomize, 'Some parameters not set (flags = ' + inttostr(InitStepsFlags) + ')', true);
+ if allOK then
+ begin
+ IPCWaitPongEvent;
+ if checkFails(InitStepsFlags = cifRandomize, 'Some parameters not set (flags = ' + inttostr(InitStepsFlags) + ')', true) then exit;
- ScriptOnPreviewInit;
-{$IFDEF MOBILE}
- GenPreview(Preview);
-{$ELSE}
- GenPreviewAlpha(Preview);
-{$ENDIF}
- WriteLnToConsole('Sending preview...');
- SendIPCRaw(@Preview, sizeof(Preview));
- SendIPCRaw(@MaxHedgehogs, sizeof(byte));
- WriteLnToConsole('Preview sent, disconnect');
+ ScriptOnPreviewInit;
+ {$IFDEF MOBILE}
+ GenPreview(Preview);
+ {$ELSE}
+ GenPreviewAlpha(Preview);
+ {$ENDIF}
+ WriteLnToConsole('Sending preview...');
+ SendIPCRaw(@Preview, sizeof(Preview));
+ SendIPCRaw(@MaxHedgehogs, sizeof(byte));
+ WriteLnToConsole('Preview sent, disconnect');
+ end;
+
freeEverything(false);
end;
--- a/hedgewars/uAI.pas Fri Jan 01 19:15:32 2016 +0300
+++ b/hedgewars/uAI.pas Tue Feb 09 21:11:16 2016 +0300
@@ -52,10 +52,11 @@
ThinkThread:= nil;
SDL_UnlockMutex(ThreadLock);
- with CurrentHedgehog^ do
- if Gear <> nil then
- if BotLevel <> 0 then
- StopMessages(Gear^.Message);
+ if CurrentHedgehog <> nil then
+ with CurrentHedgehog^ do
+ if Gear <> nil then
+ if BotLevel <> 0 then
+ StopMessages(Gear^.Message);
BestActions.Count:= 0;
BestActions.Pos:= 0
@@ -552,7 +553,7 @@
if Gear^.Message <> 0 then
begin
StopMessages(Gear^.Message);
- TryDo((Gear^.Message and gmAllStoppable) = 0, 'Engine bug: AI may break demos playing', true);
+ if checkFails((Gear^.Message and gmAllStoppable) = 0, 'Engine bug: AI may break demos playing', true) then exit;
end;
if Gear^.Message <> 0 then
--- a/hedgewars/uAmmos.pas Fri Jan 01 19:15:32 2016 +0300
+++ b/hedgewars/uAmmos.pas Tue Feb 09 21:11:16 2016 +0300
@@ -70,7 +70,7 @@
begin
if newAmmo[a].Count > 0 then
begin
- TryDo(mi[Ammoz[a].Slot] <= cMaxSlotAmmoIndex, 'Ammo slot overflow', true);
+ if checkFails(mi[Ammoz[a].Slot] <= cMaxSlotAmmoIndex, 'Ammo slot overflow', true) then exit;
Ammo^[Ammoz[a].Slot, mi[Ammoz[a].Slot]]:= newAmmo[a];
inc(mi[Ammoz[a].Slot])
end
@@ -85,10 +85,13 @@
ammos: TAmmoCounts;
newAmmos: TAmmoArray;
begin
-TryDo((byte(ammoLoadout[0]) = byte(ord(High(TAmmoType)))) and (byte(ammoProbability[0]) = byte(ord(High(TAmmoType)))) and (byte(ammoDelay[0]) = byte(ord(High(TAmmoType)))) and (byte(ammoReinforcement[0]) = byte(ord(High(TAmmoType)))), 'Incomplete or missing ammo scheme set (incompatible frontend or demo/save?)', true);
+ if checkFails((byte(ammoLoadout[0]) = byte(ord(High(TAmmoType)))) and (byte(ammoProbability[0]) = byte(ord(High(TAmmoType)))) and (byte(ammoDelay[0]) = byte(ord(High(TAmmoType)))) and (byte(ammoReinforcement[0]) = byte(ord(High(TAmmoType))))
+ , 'Incomplete or missing ammo scheme set (incompatible frontend or demo/save?)'
+ , true)
+ then exit;
+if checkFails(StoreCnt < cMaxHHs, 'Ammo stores overflow', true) then exit;
inc(StoreCnt);
-TryDo(StoreCnt <= cMaxHHs, 'Ammo stores overflow', true);
new(StoresList[Pred(StoreCnt)]);
@@ -153,8 +156,10 @@
function GetAmmoByNum(num: LongInt): PHHAmmo;
begin
- TryDo(num < StoreCnt, 'Invalid store number', true);
- GetAmmoByNum:= StoresList[num]
+ if checkFails(num < StoreCnt, 'Invalid store number', true) then
+ GetAmmoByNum:= nil
+ else
+ GetAmmoByNum:= StoresList[num]
end;
function GetCurAmmoEntry(var Hedgehog: THedgehog): PAmmo;
@@ -364,7 +369,7 @@
inc(slot)
end
end;
- TryDo(slot <= cMaxSlotIndex, 'Ammo slot index overflow', true);
+ if checkFails(slot <= cMaxSlotIndex, 'Ammo slot index overflow', true) then exit;
CurAmmoType:= Ammo^[slot, ammoidx].AmmoType;
end
end;
--- a/hedgewars/uCollisions.pas Fri Jan 01 19:15:32 2016 +0300
+++ b/hedgewars/uCollisions.pas Tue Feb 09 21:11:16 2016 +0300
@@ -62,7 +62,7 @@
function CalcSlopeTangent(Gear: PGear; collisionX, collisionY: LongInt; var outDeltaX, outDeltaY: LongInt; TestWord: LongWord): boolean;
implementation
-uses uConsts, uLandGraphics, uVariables, uDebug;
+uses uConsts, uLandGraphics, uVariables;
type TCollisionEntry = record
X, Y, Radius: LongInt;
@@ -76,10 +76,10 @@
procedure AddCI(Gear: PGear);
begin
-if (Gear^.CollisionIndex >= 0) or
+if (Gear^.CollisionIndex >= 0) or (Count > MAXRECTSINDEX) or
((Count > MAXRECTSINDEX-200) and ((Gear^.Kind = gtMine) or (Gear^.Kind = gtSMine) or (Gear^.Kind = gtKnife))) then
exit;
-TryDo(Count <= MAXRECTSINDEX, 'Collision rects array overflow', true);
+
with cinfos[Count] do
begin
X:= hwRound(Gear^.X);
--- a/hedgewars/uCommandHandlers.pas Fri Jan 01 19:15:32 2016 +0300
+++ b/hedgewars/uCommandHandlers.pas Tue Feb 09 21:11:16 2016 +0300
@@ -93,8 +93,8 @@
if isDeveloperMode then
begin
i:= StrToInt(s);
- TryDo(i <= cNetProtoVersion, 'Protocol version mismatch: engine is too old (got '+intToStr(i)+', expecting '+intToStr(cNetProtoVersion)+')', true);
- TryDo(i >= cNetProtoVersion, 'Protocol version mismatch: engine is too new (got '+intToStr(i)+', expecting '+intToStr(cNetProtoVersion)+')', true);
+ checkFails(i <= cNetProtoVersion, 'Protocol version mismatch: engine is too old (got '+intToStr(i)+', expecting '+intToStr(cNetProtoVersion)+')', true);
+ checkFails(i >= cNetProtoVersion, 'Protocol version mismatch: engine is too new (got '+intToStr(i)+', expecting '+intToStr(cNetProtoVersion)+')', true);
end
end;
@@ -379,7 +379,7 @@
begin
s:= s; // avoid compiler hint
- TryDo(AllInactive, '/nextturn called when not all gears are inactive', true);
+ if checkFails(AllInactive, '/nextturn called when not all gears are inactive', true) then exit;
CheckSum:= CheckSum xor GameTicks;
gi := GearsList;
@@ -398,7 +398,7 @@
SendIPC(s)
end
else
- TryDo(CurrentTeam^.hasGone or (CheckSum = lastTurnChecksum), 'Desync detected', true);
+ checkFails(CurrentTeam^.hasGone or (CheckSum = lastTurnChecksum), 'Desync detected', true);
AddFileLog('Next turn: time '+inttostr(GameTicks));
end;
@@ -408,7 +408,7 @@
if CheckNoTeamOrHH then
exit;
-TryDo((s[0] = #1) and (s[1] >= '1') and (s[1] <= '5'), 'Malformed /timer', true);
+if checkFails((s[0] = #1) and (s[1] >= '1') and (s[1] <= '5'), 'Malformed /timer', true) then exit;
if not isExternalSource then
SendIPC(s);
@@ -450,7 +450,7 @@
if CheckNoTeamOrHH then
exit;
- TryDo((s[0] = #1) and (s[1] <= char(High(TAmmoType))), 'Malformed /setweap', true);
+ if checkFails((s[0] = #1) and (s[1] <= char(High(TAmmoType))), 'Malformed /setweap', true) then exit;
if not isExternalSource then
SendIPC('w' + s);
--- a/hedgewars/uDebug.pas Fri Jan 01 19:15:32 2016 +0300
+++ b/hedgewars/uDebug.pas Tue Feb 09 21:11:16 2016 +0300
@@ -23,8 +23,12 @@
interface
procedure OutError(Msg: shortstring; isFatalError: boolean);
-procedure TryDo(Assert: boolean; Msg: shortstring; isFatal: boolean); inline;
-procedure SDLTry(Assert: boolean; Msg: shortstring; isFatal: boolean);
+//procedure TryDo(Assert: boolean; Msg: shortstring; isFatal: boolean); inline;
+function checkFails(Assert: boolean; Msg: shortstring; isFatal: boolean): boolean;
+function SDLCheck(Assert: boolean; Msg: shortstring; isFatal: boolean): boolean;
+
+var
+ allOK: boolean;
implementation
uses SDLh, uConsole, uCommands, uConsts;
@@ -42,14 +46,26 @@
OutError(Msg, isFatal)
end;
-procedure SDLTry(Assert: boolean; Msg: shortstring; isFatal: boolean);
+function checkFails(Assert: boolean; Msg: shortstring; isFatal: boolean): boolean;
+begin
+ if not Assert then
+ OutError(Msg, false);
+
+ allOK:= allOK and (Assert or (not isFatal));
+ checkFails:= (not Assert) and isFatal
+end;
+
+function SDLCheck(Assert: boolean; Msg: shortstring; isFatal: boolean): boolean;
var s: shortstring;
begin
-if not Assert then
+ if not Assert then
begin
- s:= SDL_GetError();
- OutError(Msg + ': ' + s, isFatal)
- end
+ s:= SDL_GetError();
+ OutError(Msg + ': ' + s, false)
+ end;
+
+ allOK:= allOK and (Assert or (not isFatal));
+ SDLCheck:= (not Assert) and isFatal
end;
end.
--- a/hedgewars/uGame.pas Fri Jan 01 19:15:32 2016 +0300
+++ b/hedgewars/uGame.pas Tue Feb 09 21:11:16 2016 +0300
@@ -28,7 +28,7 @@
////////////////////
uses uInputHandler, uTeams, uIO, uAI, uGears, uSound, uLocale, uCaptions,
uTypes, uVariables, uCommands, uConsts, uVisualGearsList, uUtils
- {$IFDEF USE_TOUCH_INTERFACE}, uTouch{$ENDIF};
+ {$IFDEF USE_TOUCH_INTERFACE}, uTouch{$ENDIF}, uDebug;
procedure DoGameTick(Lag: LongInt);
var i,j : LongInt;
@@ -40,6 +40,7 @@
if (not CurrentTeam^.ExtDriven) then
begin
NetGetNextCmd; // its for the case of receiving "/say" message
+ if not allOK then exit;
isInLag:= false;
FlushMessages(Lag)
end;
@@ -87,7 +88,7 @@
end;
PlayNextVoice;
i:= 1;
-while (GameState <> gsExit) and (i <= Lag) do
+while (GameState <> gsExit) and (i <= Lag) and allOK do
begin
if not CurrentTeam^.ExtDriven then
begin
@@ -99,6 +100,8 @@
else
begin
NetGetNextCmd;
+ if not allOK then exit;
+
if isInLag then
case GameType of
gmtNet: begin
--- a/hedgewars/uGears.pas Fri Jan 01 19:15:32 2016 +0300
+++ b/hedgewars/uGears.pas Tue Feb 09 21:11:16 2016 +0300
@@ -748,7 +748,7 @@
if (ClansCount = 2) and ((GameFlags and gfDivideTeams) <> 0) then
begin
t:= 0;
- TryDo(ClansCount = 2, 'More or less than 2 clans on map in divided teams mode!', true);
+ if checkFails(ClansCount = 2, 'More or less than 2 clans on map in divided teams mode!', true) then exit;
for p:= 0 to 1 do
begin
with ClansArray[p]^ do
@@ -821,7 +821,7 @@
hwRound(Gear^.Y) - SpritesData[sprTargetBee].Height div 2,
sprTargetBee, 0, lfBasic, $FFFFFFFF, false, false, false);
Gear^.Y:= int2hwFloat(hwRound(Gear^.Y) - 16 - Gear^.Radius);
- Gear^.State:= Gear^.State and not gsttmpFlag;
+ Gear^.State:= Gear^.State and (not gsttmpFlag);
AddFileLog('Carved a hole for hog at coordinates (' + inttostr(hwRound(Gear^.X)) + ',' + inttostr(hwRound(Gear^.Y)) + ')')
end
end;
--- a/hedgewars/uGearsHandlersMess.pas Fri Jan 01 19:15:32 2016 +0300
+++ b/hedgewars/uGearsHandlersMess.pas Tue Feb 09 21:11:16 2016 +0300
@@ -86,7 +86,7 @@
procedure doStepKamikaze(Gear: PGear);
procedure doStepCakeExpl(Gear: PGear);
procedure doStepCakeDown(Gear: PGear);
-procedure doStepCakeWork(Gear: PGear);
+procedure doStepCakeWalk(Gear: PGear);
procedure doStepCakeUp(Gear: PGear);
procedure doStepCakeFall(Gear: PGear);
procedure doStepCake(Gear: PGear);
@@ -2003,9 +2003,11 @@
////////////////////////////////////////////////////////////////////////////////
procedure doStepDynamite(Gear: PGear);
+var VGear: PVisualGear;
begin
doStepFallingGear(Gear);
AllInactive := false;
+
if Gear^.Timer mod 166 = 0 then
inc(Gear^.Tag);
if Gear^.Timer = 1000 then // might need better timing
@@ -3163,6 +3165,7 @@
if Gear^.Tag < 2250 then
exit;
+ InCinematicMode:= false;
doMakeExplosion(hwRound(Gear^.X), hwRound(Gear^.Y), Gear^.Boom, Gear^.Hedgehog, EXPLAutoSound);
AfterAttack;
DeleteGear(Gear)
@@ -3171,8 +3174,9 @@
procedure doStepCakeDown(Gear: PGear);
var
gi: PGear;
- dmg, dmgBase: LongInt;
+ dmg, dmgBase, partyEpicness, i: LongInt;
fX, fY, tdX, tdY: hwFloat;
+ sparkles: PVisualGear;
begin
AllInactive := false;
@@ -3191,6 +3195,7 @@
fX:= int2hwFloat(hwRound(Gear^.X));
fY:= int2hwFloat(hwRound(Gear^.Y));
dmgBase:= cakeDmg shl 1 + cHHRadius div 2;
+ partyEpicness:= 0;
gi := GearsList;
while gi <> nil do
begin
@@ -3204,21 +3209,46 @@
if (dmg > 1) then dmg:= ModifyDamage(min(dmg div 2, cakeDmg), gi);
if (dmg > 1) then
if (CurrentHedgehog^.Gear = gi) and (gi^.Hedgehog^.Effects[heInvulnerable] = 0) then
- gi^.State := gi^.State or gstLoser
+ begin
+ gi^.State := gi^.State or gstLoser;
+ // probably not too epic if hitting self too...
+ dec(partyEpicness, 45);
+ end
else
+ begin
gi^.State := gi^.State or gstWinner;
+ if CurrentHedgehog^.Gear = gi then
+ dec(partyEpicness, 45)
+ else
+ inc(partyEpicness);
+ end;
end;
gi := gi^.NextGear
end;
//////////////////////////////////////////////////////////////////////
Gear^.doStep := @doStepCakeExpl;
+ if (partyEpicness > 6) and (abs(90 - abs(trunc(Gear^.DirAngle))) < 20) then
+ begin
+ for i := 0 to (2 * partyEpicness) do
+ begin
+ sparkles:= AddVisualGear(hwRound(Gear^.X), hwRound(Gear^.Y), vgtEgg, 1);
+ if sparkles <> nil then
+ begin
+ sparkles^.dX:= 0.008 * (random(100) - 50);
+ sparkles^.dY:= -0.3 + 0.002 * (random(100) - 50);
+ sparkles^.Tint:= ((random(210)+45) shl 24) or ((random(210)+45) shl 16) or ((random(210)+45) shl 8) or $FF;
+ sparkles^.Angle:= random(360);
+ end
+ end;
+ InCinematicMode:= true;
+ end;
PlaySound(sndCake)
end
else dec(Gear^.Pos)
end;
-procedure doStepCakeWork(Gear: PGear);
+procedure doStepCakeWalk(Gear: PGear);
var
tdx, tdy: hwFloat;
cakeData: PCakeData;
@@ -3285,7 +3315,7 @@
end;
CakeI := 0;
end;
- Gear^.doStep := @doStepCakeWork
+ Gear^.doStep := @doStepCakeWalk
end
else
inc(Gear^.Pos)
@@ -3718,6 +3748,7 @@
Gear^.State := Gear^.State or gsttmpFlag;
PauseMusic;
playSound(sndRideOfTheValkyries);
+ inCinematicMode:= true;
end;
// pickup bonuses
@@ -3729,6 +3760,7 @@
if ((Gear^.State and gstCollision) <> 0) or CheckGearDrowning(Gear) then
begin
+ inCinematicMode:= false;
StopSoundChan(Gear^.SoundChannel);
StopSound(sndRideOfTheValkyries);
ResumeMusic;
--- a/hedgewars/uGearsHandlersRope.pas Fri Jan 01 19:15:32 2016 +0300
+++ b/hedgewars/uGearsHandlersRope.pas Tue Feb 09 21:11:16 2016 +0300
@@ -270,7 +270,7 @@
Gear^.X := Gear^.X + nx * len;
Gear^.Y := Gear^.Y + ny * len;
inc(RopePoints.Count);
- TryDo(RopePoints.Count <= MAXROPEPOINTS, 'Rope points overflow', true);
+ if checkFails(RopePoints.Count <= MAXROPEPOINTS, 'Rope points overflow', true) then exit;
Gear^.Elasticity := Gear^.Elasticity - len;
Gear^.Friction := Gear^.Friction - len;
haveDivided := true;
--- a/hedgewars/uGearsHedgehog.pas Fri Jan 01 19:15:32 2016 +0300
+++ b/hedgewars/uGearsHedgehog.pas Tue Feb 09 21:11:16 2016 +0300
@@ -873,9 +873,59 @@
////////////////////////////////////////////////////////////////////////////////
+procedure moveHedgehogOutOfWall(Gear: PGear);
+var
+ hx: hwFloat;
+ colly, collxl, collxr: boolean;
+begin
+colly:= (TestCollisionYwithGear(Gear, 1) <> 0);
+
+while colly do
+ begin
+ // don't use TestCollisionXwithXYShift, because it checks for gears
+ // save real x-position
+ hx:= Gear^.X;
+
+ Gear^.X:= hx + _1;
+ collxl:= (TestCollisionX(Gear, -1) <> 0);
+
+ Gear^.X:= hx - _1;
+ collxr:= (TestCollisionX(Gear, 1) <> 0);
+
+ // restore original value
+ Gear^.X:= hx;
+
+ // do nothing if trapped between 2 walls
+ if collxl = collxr then
+ break;
+
+ // if we in a wall - fix that
+ if collxl then
+ begin
+ // check for obstacle
+ if (TestCollisionX(Gear, 1) <> 0) then
+ break;
+ Gear^.X:= Gear^.X + _1;
+ end
+ else
+ begin
+ // check for obstacle
+ if (TestCollisionX(Gear, -1) <> 0) then
+ break;
+ Gear^.X:= Gear^.X - _1;
+ end;
+
+ colly:= (TestCollisionYwithGear(Gear, 1) <> 0);
+ end;
+
+
+end;
+
+////////////////////////////////////////////////////////////////////////////////
procedure doStepHedgehogMoving(Gear: PGear);
var isFalling, isUnderwater: boolean;
land: Word;
+ cnt: LongWord;
begin
if Gear^.Hedgehog^.Unplaced then
begin
@@ -892,7 +942,15 @@
if Gear^.dY.QWordValue > 8160437862 then
Gear^.dY.QWordValue:= 8160437862;
-isFalling:= (Gear^.dY.isNegative) or (TestCollisionYKick(Gear, 1) = 0);
+isFalling:= (Gear^.dY.isNegative);
+if (not isFalling) then
+ begin
+ // make sure we're not just stuck in wall
+ moveHedgehogOutOfWall(Gear);
+ // test for floor/obstacle below
+ isFalling:= (TestCollisionYKick(Gear, 1) = 0);
+ end;
+
if isFalling then
begin
land:= TestCollisionYKick(Gear, -1);
@@ -935,6 +993,7 @@
land:= TestCollisionYwithGear(Gear, 1);
if ((Gear^.dX.QWordValue + Gear^.dY.QWordValue) < _0_55.QWordValue) and ((land and lfIce) = 0)
and ((land and lfBouncy = 0) or (Gear^.State and gstCollision <> 0))
+ and (Gear^.Damage = 0)
and ((Gear^.State and gstHHJumping) <> 0) then
SetLittle(Gear^.dX);
@@ -1037,15 +1096,24 @@
else
begin
Gear^.State:= Gear^.State and (not gstMoving);
- while TestCollisionYWithGear(Gear,1) = 0 do
- Gear^.Y:= Gear^.Y+_1;
+ cnt:= 0;
+ while (cnt < 6) and (not CheckGearDrowning(Gear)) and (Gear <> nil) and (TestCollisionYWithGear(Gear,1) = 0) do
+ begin
+ Gear^.Y:= Gear^.Y + _1;
+ inc(cnt)
+ end;
+
SetLittle(Gear^.dX)
end
else
begin
Gear^.State:= Gear^.State and (not gstMoving);
- while TestCollisionYWithGear(Gear,1) = 0 do
- Gear^.Y:= Gear^.Y+_1;
+ cnt:= 0;
+ while (cnt < 6) and (not CheckGearDrowning(Gear)) and (Gear <> nil) and (TestCollisionYWithGear(Gear,1) = 0) do
+ begin
+ Gear^.Y:= Gear^.Y + _1;
+ inc(cnt)
+ end;
SetLittle(Gear^.dX)
end
else if (hwAbs(Gear^.dX) > cLittle)
@@ -1059,8 +1127,12 @@
begin
Gear^.State:= Gear^.State and (not gstWinner);
Gear^.State:= Gear^.State and (not gstMoving);
- while (not CheckGearDrowning(Gear)) and (Gear <> nil) and (TestCollisionYWithGear(Gear,1) = 0) do
+ cnt:= 0;
+ while (cnt < 6) and (not CheckGearDrowning(Gear)) and (Gear <> nil) and (TestCollisionYWithGear(Gear,1) = 0) do
+ begin
Gear^.Y:= Gear^.Y + _1;
+ inc(cnt)
+ end;
// could become nil in CheckGearDrowning if ai's hog fails to respawn in ai survival
if Gear = nil then exit;
--- a/hedgewars/uGearsList.pas Fri Jan 01 19:15:32 2016 +0300
+++ b/hedgewars/uGearsList.pas Tue Feb 09 21:11:16 2016 +0300
@@ -150,7 +150,8 @@
AddFileLog('Attempted to remove Gear #'+inttostr(Gear^.uid)+' from the list twice.');
exit
end;
-TryDo((Gear = nil) or (curHandledGear = nil) or (Gear = curHandledGear), 'You''re doing it wrong', true);
+
+checkFails((Gear = nil) or (curHandledGear = nil) or (Gear = curHandledGear), 'You''re doing it wrong', true);
if Gear^.NextGear <> nil then
Gear^.NextGear^.PrevGear:= Gear^.PrevGear;
--- a/hedgewars/uGearsRender.pas Fri Jan 01 19:15:32 2016 +0300
+++ b/hedgewars/uGearsRender.pas Tue Feb 09 21:11:16 2016 +0300
@@ -846,6 +846,7 @@
end else // not gstHHDriven
begin
+ // check if hedgehog is sliding/rolling
if (Gear^.Damage > 0) and (HH^.Effects[heFrozen] = 0)
and (hwSqr(Gear^.dX) + hwSqr(Gear^.dY) > _0_003) then
begin
@@ -855,6 +856,23 @@
2,
1,
Gear^.DirAngle);
+
+ // dust effect
+ // TODO fix: this gives different results based on framerate
+ if (sx mod 8) = 0 then
+ begin
+ if Gear^.dX.isNegative then
+ tx := hwRound(Gear^.X) + cHHRadius
+ else
+ tx := hwRound(Gear^.X) - cHHRadius;
+ ty:= hwRound(Gear^.Y) + cHHRadius + 2;
+ if ((tx and LAND_WIDTH_MASK) = 0) and
+ ((ty and LAND_HEIGHT_MASK) = 0) and
+ (Land[ty, tx] <> 0) then
+ AddVisualGear(tx - 2 + Random(4), ty - 8, vgtDust);
+ end;
+
+ // draw april's fool hat
if AprilOne and (curhat <> nil) then
DrawTextureRotatedF(curhat, 1.0, -1.0, 0, sx, sy, 18, sign, 32, 32,
sign*Gear^.DirAngle)
@@ -1250,7 +1268,29 @@
else
DrawSpriteRotatedF(sprExplosivesRoll, x, y + 4, 1, 0, Gear^.DirAngle)
end;
- gtDynamite: DrawSprite(sprDynamite, x - 16, y - 25, Gear^.Tag and 1, Gear^.Tag shr 1);
+ gtDynamite: begin
+ DrawSprite(sprDynamite, x - 16, y - 25, Gear^.Tag and 1, Gear^.Tag shr 1);
+ if (random(3) = 0) then
+ begin
+ vg:= AddVisualGear(hwRound(Gear^.X)+12-(Gear^.Tag shr 1), hwRound(Gear^.Y)-16, vgtStraightShot);
+ if vg <> nil then
+ with vg^ do
+ begin
+ Tint:= $FFCC00FF;
+ Angle:= random(360);
+ dx:= 0.0005 * (random(200));
+ dy:= 0.0005 * (random(200));
+ if random(2) = 0 then
+ dx := -dx;
+ if random(2) = 0 then
+ dy := -dy;
+ FrameTicks:= 100+random(300);
+ Scale:= 0.1+1/(random(3)+3);
+ State:= ord(sprStar)
+ end
+ end;
+
+ end;
gtClusterBomb: DrawSpriteRotated(sprClusterBomb, x, y, 0, Gear^.DirAngle);
gtCluster: DrawSprite(sprClusterParticle, x - 8, y - 8, 0);
gtFlame: if Gear^.Tag and 1 = 0 then
--- a/hedgewars/uIO.pas Fri Jan 01 19:15:32 2016 +0300
+++ b/hedgewars/uIO.pas Tue Feb 09 21:11:16 2016 +0300
@@ -70,28 +70,36 @@
function AddCmd(Time: Word; str: shortstring): PCmd;
var command: PCmd;
begin
-new(command);
-FillChar(command^, sizeof(TCmd), 0);
-command^.loTime:= Time;
-command^.str:= str;
-if (command^.cmd <> 'F') and (command^.cmd <> 'G') then dec(command^.len, 2); // cut timestamp
-if headcmd = nil then
+ if (lastcmd <> nil) and (lastcmd^.cmd = '+') then
+ begin
+ command:= lastcmd;
+ end else
begin
- headcmd:= command;
- lastcmd:= command
- end
-else
- begin
- lastcmd^.Next:= command;
- lastcmd:= command
+ new(command);
+
+ if headcmd = nil then
+ begin
+ headcmd:= command;
+ lastcmd:= command
+ end
+ else
+ begin
+ lastcmd^.Next:= command;
+ lastcmd:= command
+ end;
end;
-AddCmd:= command;
+
+ FillChar(command^, sizeof(TCmd), 0);
+ command^.loTime:= Time;
+ command^.str:= str;
+ if (command^.cmd <> 'F') and (command^.cmd <> 'G') then dec(command^.len, 2); // cut timestamp
+
+ AddCmd:= command;
end;
procedure RemoveCmd;
var tmp: PCmd;
begin
-TryDo(headcmd <> nil, 'Engine bug: headcmd = nil', true);
tmp:= headcmd;
headcmd:= headcmd^.Next;
if headcmd = nil then
@@ -202,7 +210,8 @@
{$I-}
assign(f, fileName);
reset(f, 1);
-tryDo(IOResult = 0, 'Error opening file ' + fileName, true);
+if checkFails(IOResult = 0, 'Error opening file ' + fileName, true) then
+ exit;
i:= 0; // avoid compiler hints
s[0]:= #0;
@@ -212,13 +221,13 @@
begin
s[0]:= char(i);
ss:= ss + s;
- while (Length(ss) > 1)and(Length(ss) > byte(ss[1])) do
+ while (Length(ss) > 1)and(Length(ss) > byte(ss[1])) and allOK do
begin
ParseIPCCommand(copy(ss, 2, byte(ss[1])));
Delete(ss, 1, Succ(byte(ss[1])));
end
end
-until i = 0;
+until (i = 0) or (not allOK);
close(f)
{$I+}
@@ -284,7 +293,7 @@
repeat
IPCCheckSock;
SDL_Delay(1)
-until isPonged
+until isPonged or (not allOK)
end;
procedure SendIPCAndWaitReply(s: shortstring);
@@ -391,7 +400,7 @@
end;
if (headcmd <> nil) and tmpflag and (not CurrentTeam^.hasGone) then
- TryDo(GameTicks < LongWord(hiTicks shl 16) + headcmd^.loTime,
+ checkFails(GameTicks < LongWord(hiTicks shl 16) + headcmd^.loTime,
'oops, queue error. in buffer: ' + headcmd^.cmd +
' (' + IntToStr(GameTicks) + ' > ' +
IntToStr(hiTicks shl 16 + headcmd^.loTime) + ')',
--- a/hedgewars/uInputHandler.pas Fri Jan 01 19:15:32 2016 +0300
+++ b/hedgewars/uInputHandler.pas Tue Feb 09 21:11:16 2016 +0300
@@ -35,6 +35,7 @@
procedure ProcessKey(code: LongInt; KeyDown: boolean);
procedure ResetKbd;
+procedure ResetMouseWheel;
procedure FreezeEnterKey;
procedure InitKbdKeyTable;
@@ -226,20 +227,40 @@
ProcessKey(KeyNameToCode('mousem'), ButtonDown);
SDL_BUTTON_RIGHT:
ProcessKey(KeyNameToCode('mouser'), ButtonDown);
- SDL_BUTTON_WHEELDOWN:
- ProcessKey(KeyNameToCode('wheeldown'), ButtonDown);
- SDL_BUTTON_WHEELUP:
- ProcessKey(KeyNameToCode('wheelup'), ButtonDown);
end;
end;
+var mwheelupCode, mwheeldownCode: Integer;
+
procedure ProcessMouseWheel(x, y: LongInt);
begin
//writelntoconsole('[MOUSEWHEEL] '+inttostr(x)+', '+inttostr(y));
if y > 0 then
- ProcessKey(KeyNameToCode('wheelup'), true)
+ begin
+ // reset other direction
+ if tkbd[mwheeldownCode] then
+ ProcessKey(mwheeldownCode, false);
+ // trigger "button down" event
+ if (not tkbd[mwheelupCode]) then
+ ProcessKey(mwheelupCode, true);
+ end
else if y < 0 then
- ProcessKey(KeyNameToCode('wheeldown'), true);
+ begin
+ // reset other direction
+ if tkbd[mwheelupCode] then
+ ProcessKey(mwheelupCode, false);
+ // trigger "button down" event
+ if (not tkbd[mwheeldownCode]) then
+ ProcessKey(mwheeldownCode, true);
+ end;
+end;
+
+procedure ResetMouseWheel();
+begin
+ if tkbd[mwheelupCode] then
+ ProcessKey(mwheelupCode, false);
+ if tkbd[mwheeldownCode] then
+ ProcessKey(mwheeldownCode, false);
end;
procedure ResetKbd;
@@ -311,8 +332,10 @@
KeyNames[cKeyMaxIndex ]:= 'mousel';
KeyNames[cKeyMaxIndex - 1]:= 'mousem';
KeyNames[cKeyMaxIndex - 2]:= 'mouser';
- KeyNames[cKeyMaxIndex - 3]:= 'wheelup';
- KeyNames[cKeyMaxIndex - 4]:= 'wheeldown';
+ mwheelupCode:= cKeyMaxIndex - 3;
+ KeyNames[mwheelupCode]:= 'wheelup';
+ mwheeldownCode:= cKeyMaxIndex - 4;
+ KeyNames[mwheeldownCode]:= 'wheeldown';
for i:= 0 to cKeyMaxIndex - 5 do
begin
@@ -596,6 +619,10 @@
procedure initModule;
begin
+ // assign 0 until InitKbdKeyTable is called
+ mwheelupCode:= 0;
+ mwheeldownCode:= 0;
+
RegisterVariable('dbind', @chDefaultBind, true );
end;
--- a/hedgewars/uLand.pas Fri Jan 01 19:15:32 2016 +0300
+++ b/hedgewars/uLand.pas Tue Feb 09 21:11:16 2016 +0300
@@ -260,10 +260,10 @@
var x, y: LongInt;
p: PLongwordArray;
begin
-TryDo(Surface <> nil, 'Assert (LandSurface <> nil) failed', true);
+if checkFails(Surface <> nil, 'Assert (LandSurface <> nil) failed', true) then exit;
if SDL_MustLock(Surface) then
- SDLTry(SDL_LockSurface(Surface) >= 0, 'SDL_LockSurface', true);
+ if SDLCheck(SDL_LockSurface(Surface) >= 0, 'SDL_LockSurface', true) then exit;
p:= Surface^.pixels;
for y:= 0 to LAND_HEIGHT - 1 do
@@ -291,7 +291,7 @@
tmpsurf:= SDL_CreateRGBSurface(SDL_SWSURFACE, LAND_WIDTH, LAND_HEIGHT, 32, RMask, GMask, BMask, AMask);
- TryDo(tmpsurf <> nil, 'Error creating pre-land surface', true);
+ if checkFails(tmpsurf <> nil, 'Error creating pre-land surface', true) then exit;
ColorizeLand(tmpsurf);
if gameFlags and gfShoppaBorder = 0 then DrawBorderFromImage(tmpsurf);
AddOnLandObjects(tmpsurf);
@@ -451,8 +451,10 @@
cpX:= (LAND_WIDTH - tmpsurf^.w) div 2;
cpY:= LAND_HEIGHT - tmpsurf^.h;
if SDL_MustLock(tmpsurf) then
- SDLTry(SDL_LockSurface(tmpsurf) >= 0, 'SDL_LockSurface', true);
+ SDLCheck(SDL_LockSurface(tmpsurf) >= 0, 'SDL_LockSurface', true);
+ if allOK then
+ begin
p:= tmpsurf^.pixels;
for y:= 0 to Pred(tmpsurf^.h) do
begin
@@ -461,15 +463,16 @@
p:= PLongwordArray(@(p^[tmpsurf^.pitch div 4]));
end;
- if SDL_MustLock(tmpsurf) then
- SDL_UnlockSurface(tmpsurf);
- if not disableLandBack then
- begin
- // freed in freeModule() below
- LandBackSurface:= LoadDataImage(ptCurrTheme, 'LandBackTex', ifIgnoreCaps or ifTransparent);
- if (LandBackSurface <> nil) and GrayScale then
- Surface2GrayScale(LandBackSurface)
- end;
+ if SDL_MustLock(tmpsurf) then
+ SDL_UnlockSurface(tmpsurf);
+ if not disableLandBack then
+ begin
+ // freed in freeModule() below
+ LandBackSurface:= LoadDataImage(ptCurrTheme, 'LandBackTex', ifIgnoreCaps or ifTransparent);
+ if (LandBackSurface <> nil) and GrayScale then
+ Surface2GrayScale(LandBackSurface)
+ end;
+ end;
end;
if (tmpsurf <> nil) then
SDL_FreeSurface(tmpsurf);
@@ -487,9 +490,11 @@
begin
mapName:= ExtractFileName(cPathz[ptMapCurrent]);
tmpsurf:= LoadDataImage(ptMissionMaps, mapName + '/map', ifAlpha or ifCritical or ifTransparent or ifIgnoreCaps);
+ if not allOK then exit;
end;
// (bare) Sanity check. Considering possible LongInt comparisons as well as just how much system memoery it would take
-TryDo((tmpsurf^.w < $40000000) and (tmpsurf^.h < $40000000) and (QWord(tmpsurf^.w) * tmpsurf^.h < 6*1024*1024*1024), 'Map dimensions too big!', true);
+if checkFails((tmpsurf^.w < $40000000) and (tmpsurf^.h < $40000000) and (QWord(tmpsurf^.w) * tmpsurf^.h < 6*1024*1024*1024), 'Map dimensions too big!', true)
+ then exit;
ResizeLand(tmpsurf^.w, tmpsurf^.h);
LoadMapConfig;
@@ -500,16 +505,16 @@
rightX:= (playWidth + ((LAND_WIDTH - playWidth) div 2)) - 1;
topY:= LAND_HEIGHT - playHeight;
-TryDo(tmpsurf^.format^.BytesPerPixel = 4, 'Map should be 32bit', true);
+if not checkFails(tmpsurf^.format^.BytesPerPixel = 4, 'Map should be 32bit', true) then
+ BlitImageAndGenerateCollisionInfo(
+ (LAND_WIDTH - tmpsurf^.w) div 2,
+ LAND_HEIGHT - tmpsurf^.h,
+ tmpsurf^.w,
+ tmpsurf);
-BlitImageAndGenerateCollisionInfo(
- (LAND_WIDTH - tmpsurf^.w) div 2,
- LAND_HEIGHT - tmpsurf^.h,
- tmpsurf^.w,
- tmpsurf);
SDL_FreeSurface(tmpsurf);
-LoadMask;
+if allOK then LoadMask;
end;
procedure DrawBottomBorder; // broken out from other borders for doing a floor-only map, or possibly updating bottom during SD
@@ -663,6 +668,8 @@
FreeLandObjects;
+if not allOK then exit;
+
if GrayScale then
begin
if (cReducedQuality and rqBlurryLand) = 0 then
@@ -794,7 +801,7 @@
if digest = '' then
digest:= s
else
- TryDo(s = digest, 'Different maps generated, sorry', true);
+ checkFails(s = digest, 'Different maps generated, sorry', true);
end;
procedure chSendLandDigest(var s: shortstring);
@@ -808,7 +815,7 @@
ScriptSetString('LandDigest', s);
chLandCheck(s);
- SendIPCRaw(@s[0], Length(s) + 1)
+ if allOK then SendIPCRaw(@s[0], Length(s) + 1)
end;
procedure initModule;
--- a/hedgewars/uLandGenTemplateBased.pas Fri Jan 01 19:15:32 2016 +0300
+++ b/hedgewars/uLandGenTemplateBased.pas Tue Feb 09 21:11:16 2016 +0300
@@ -9,7 +9,7 @@
var minDistance, dabDiv: LongInt; // different details size
implementation
-uses uVariables, uTypes, uConsts, uFloat, uLandUtils, uRandom, SDLh, math;
+uses {$IFDEF IPHONEOS}uTypes, {$ENDIF} uVariables, uConsts, uFloat, uLandUtils, uRandom, SDLh, math;
procedure SetPoints(var Template: TEdgeTemplate; var pa: TPixAr; fps: PPointArray);
--- a/hedgewars/uLandGraphics.pas Fri Jan 01 19:15:32 2016 +0300
+++ b/hedgewars/uLandGraphics.pas Tue Feb 09 21:11:16 2016 +0300
@@ -705,7 +705,7 @@
if outOfMap then doPlace:= false; // just using for a check
-TryDo(SpritesData[Obj].Surface <> nil, 'Assert SpritesData[Obj].Surface failed', true);
+if checkFails(SpritesData[Obj].Surface <> nil, 'Assert SpritesData[Obj].Surface failed', true) then exit;
Image:= SpritesData[Obj].Surface;
w:= SpritesData[Obj].Width;
@@ -716,10 +716,15 @@
col:= Frame div numFramesFirstCol;
if SDL_MustLock(Image) then
- SDLTry(SDL_LockSurface(Image) >= 0, 'TryPlaceOnLand', true);
+ if SDLCheck(SDL_LockSurface(Image) >= 0, 'TryPlaceOnLand', true) then exit;
bpp:= Image^.format^.BytesPerPixel;
-TryDo(bpp = 4, 'It should be 32 bpp sprite', true);
+if checkFails(bpp = 4, 'It should be 32 bpp sprite', true) then
+begin
+ if SDL_MustLock(Image) then
+ SDL_UnlockSurface(Image);
+ exit
+end;
// Check that sprite fits free space
p:= PByteArray(@(PByteArray(Image^.pixels)^[ Image^.pitch * row * h + col * w * 4 ]));
case bpp of
@@ -824,7 +829,7 @@
begin
numFramesFirstCol:= SpritesData[Obj].imageHeight div SpritesData[Obj].Height;
-TryDo(SpritesData[Obj].Surface <> nil, 'Assert SpritesData[Obj].Surface failed', true);
+if checkFails(SpritesData[Obj].Surface <> nil, 'Assert SpritesData[Obj].Surface failed', true) then exit;
Image:= SpritesData[Obj].Surface;
w:= SpritesData[Obj].Width;
@@ -835,14 +840,19 @@
col:= Frame div numFramesFirstCol;
if SDL_MustLock(Image) then
- SDLTry(SDL_LockSurface(Image) >= 0, 'EraseLand', true);
+ if SDLCheck(SDL_LockSurface(Image) >= 0, 'EraseLand', true) then exit;
bpp:= Image^.format^.BytesPerPixel;
-TryDo(bpp = 4, 'It should be 32 bpp sprite', true);
+if checkFails(bpp = 4, 'It should be 32 bpp sprite', true) then
+begin
+ if SDL_MustLock(Image) then
+ SDL_UnlockSurface(Image);
+ exit
+end;
// Check that sprite fits free space
p:= PByteArray(@(PByteArray(Image^.pixels)^[ Image^.pitch * row * h + col * w * 4 ]));
-case bpp of
- 4: for y:= 0 to Pred(h) do
+
+ for y:= 0 to Pred(h) do
begin
for x:= 0 to Pred(w) do
if ((PLongword(@(p^[x * 4]))^) and AMask) <> 0 then
@@ -854,13 +864,11 @@
exit
end;
p:= PByteArray(@(p^[Image^.pitch]))
- end
- end;
+ end;
// Checked, now place
p:= PByteArray(@(PByteArray(Image^.pixels)^[ Image^.pitch * row * h + col * w * 4 ]));
-case bpp of
- 4: for y:= 0 to Pred(h) do
+ for y:= 0 to Pred(h) do
begin
for x:= 0 to Pred(w) do
if ((PLongword(@(p^[x * 4]))^) and AMask) <> 0 then
@@ -875,7 +883,7 @@
gX:= (cpX + x) div 2;
gY:= (cpY + y) div 2;
end;
- if (not eraseOnLFMatch or (Land[cpY + y, cpX + x] and LandFlags <> 0)) and
+ if (not eraseOnLFMatch or (Land[cpY + y, cpX + x] and LandFlags <> 0)) and
((PLongword(@(p^[x * 4]))^) and AMask <> 0) then
begin
if not onlyEraseLF then
@@ -888,7 +896,6 @@
end;
p:= PByteArray(@(p^[Image^.pitch]));
end;
- end;
if SDL_MustLock(Image) then
SDL_UnlockSurface(Image);
@@ -910,7 +917,7 @@
GetPlaceCollisionTex:= nil;
numFramesFirstCol:= SpritesData[Obj].imageHeight div SpritesData[Obj].Height;
-TryDo(SpritesData[Obj].Surface <> nil, 'Assert SpritesData[Obj].Surface failed', true);
+checkFails(SpritesData[Obj].Surface <> nil, 'Assert SpritesData[Obj].Surface failed', true);
Image:= SpritesData[Obj].Surface;
w:= SpritesData[Obj].Width;
h:= SpritesData[Obj].Height;
@@ -918,19 +925,32 @@
col:= Frame div numFramesFirstCol;
if SDL_MustLock(Image) then
- SDLTry(SDL_LockSurface(Image) >= 0, 'SDL_LockSurface', true);
+ if SDLCheck(SDL_LockSurface(Image) >= 0, 'SDL_LockSurface', true) then
+ exit;
bpp:= Image^.format^.BytesPerPixel;
-TryDo(bpp = 4, 'It should be 32 bpp sprite', true);
+checkFails(bpp = 4, 'It should be 32 bpp sprite', true);
finalSurface:= SDL_CreateRGBSurface(SDL_SWSURFACE, w, h, 32, RMask, GMask, BMask, AMask);
-TryDo(finalSurface <> nil, 'GetPlaceCollisionTex: fail to create surface', true);
+checkFails(finalSurface <> nil, 'GetPlaceCollisionTex: fail to create surface', true);
if SDL_MustLock(finalSurface) then
- SDLTry(SDL_LockSurface(finalSurface) >= 0, 'GetPlaceCollisionTex', true);
+ SDLCheck(SDL_LockSurface(finalSurface) >= 0, 'GetPlaceCollisionTex', true);
+
+if not allOK then
+ begin
+ if SDL_MustLock(Image) then
+ SDL_UnlockSurface(Image);
+
+ if SDL_MustLock(finalSurface) then
+ SDL_UnlockSurface(finalSurface);
+
+ if finalSurface <> nil then
+ SDL_FreeSurface(finalSurface);
+ end;
p:= PLongWordArray(@(PLongWordArray(Image^.pixels)^[ (Image^.pitch div 4) * row * h + col * w ]));
pt:= PLongWordArray(finalSurface^.pixels);
--- a/hedgewars/uLandObjects.pas Fri Jan 01 19:15:32 2016 +0300
+++ b/hedgewars/uLandObjects.pas Tue Feb 09 21:11:16 2016 +0300
@@ -109,10 +109,14 @@
WriteToConsole('Generating collision info... ');
if SDL_MustLock(Image) then
- SDLTry(SDL_LockSurface(Image) >= 0, 'SDL_LockSurface', true);
+ if SDLCheck(SDL_LockSurface(Image) >= 0, 'SDL_LockSurface', true) then exit;
bpp:= Image^.format^.BytesPerPixel;
-TryDo(bpp = 4, 'Land object should be 32bit', true);
+if checkFails(bpp = 4, 'Land object should be 32bit', true) then
+begin
+if SDL_MustLock(Image) then
+ SDL_UnlockSurface(Image);
+end;
if Width = 0 then
Width:= Image^.w;
@@ -160,10 +164,14 @@
WriteToConsole('Generating collision info... ');
if SDL_MustLock(Image) then
- SDLTry(SDL_LockSurface(Image) >= 0, 'SDL_LockSurface', true);
+ if SDLCheck(SDL_LockSurface(Image) >= 0, 'SDL_LockSurface', true) then exit;
bpp:= Image^.format^.BytesPerPixel;
-TryDo(bpp = 4, 'Land object should be 32bit', true);
+if checkFails(bpp = 4, 'Land object should be 32bit', true) then
+begin
+if SDL_MustLock(Image) then
+ SDL_UnlockSurface(Image);
+end;
p:= Image^.pixels;
mp:= Mask^.pixels;
@@ -203,7 +211,7 @@
h:= h1
end;
inc(RectCount);
-TryDo(RectCount < MaxRects, 'AddRect: overflow', true)
+checkFails(RectCount < MaxRects, 'AddRect: overflow', true)
end;
procedure InitRects;
@@ -512,12 +520,12 @@
s:= cPathz[ptCurrTheme] + '/' + cThemeCFGFilename;
WriteLnToConsole('Reading objects info...');
f:= pfsOpenRead(s);
-TryDo(f <> nil, 'Bad data or cannot access file ' + s, true);
+if checkFails(f <> nil, 'Bad data or cannot access file ' + s, true) then exit;
ThemeObjects.Count:= 0;
SprayObjects.Count:= 0;
-while not pfsEOF(f) do
+while (not pfsEOF(f)) and allOK do
begin
pfsReadLn(f, s);
if Length(s) = 0 then
--- a/hedgewars/uLandOutline.pas Fri Jan 01 19:15:32 2016 +0300
+++ b/hedgewars/uLandOutline.pas Tue Feb 09 21:11:16 2016 +0300
@@ -30,7 +30,7 @@
procedure Push(_xl, _xr, _y, _dir: LongInt);
begin
- TryDo(Stack.Count <= 8192, 'FillLand: stack overflow', true);
+ if checkFails(Stack.Count <= 8192, 'FillLand: stack overflow', true) then exit;
_y:= _y + _dir;
if (_y < 0) or (_y >= LAND_HEIGHT) then
exit;
--- a/hedgewars/uLandTexture.pas Fri Jan 01 19:15:32 2016 +0300
+++ b/hedgewars/uLandTexture.pas Tue Feb 09 21:11:16 2016 +0300
@@ -72,10 +72,11 @@
if cOnlyStats then exit;
if (Width <= 0) or (Height <= 0) then
exit;
- TryDo((X >= 0) and (X < LAND_WIDTH), 'UpdateLandTexture: wrong X parameter', true);
- TryDo(X + Width <= LAND_WIDTH, 'UpdateLandTexture: wrong Width parameter', true);
- TryDo((Y >= 0) and (Y < LAND_HEIGHT), 'UpdateLandTexture: wrong Y parameter', true);
- TryDo(Y + Height <= LAND_HEIGHT, 'UpdateLandTexture: wrong Height parameter', true);
+ checkFails((X >= 0) and (X < LAND_WIDTH), 'UpdateLandTexture: wrong X parameter', true);
+ checkFails(X + Width <= LAND_WIDTH, 'UpdateLandTexture: wrong Width parameter', true);
+ checkFails((Y >= 0) and (Y < LAND_HEIGHT), 'UpdateLandTexture: wrong Y parameter', true);
+ checkFails(Y + Height <= LAND_HEIGHT, 'UpdateLandTexture: wrong Height parameter', true);
+ if not allOK then exit;
tSize:= TEXSIZE;
--- a/hedgewars/uLocale.pas Fri Jan 01 19:15:32 2016 +0300
+++ b/hedgewars/uLocale.pas Tue Feb 09 21:11:16 2016 +0300
@@ -50,7 +50,7 @@
first[e]:= true;
f:= pfsOpenRead(FileName);
-TryDo(f <> nil, 'Cannot load locale "' + FileName + '"', false);
+checkFails(f <> nil, 'Cannot load locale "' + FileName + '"', false);
s:= '';
@@ -63,18 +63,19 @@
continue;
if (s[1] < '0') or (s[1] > '9') then
continue;
- TryDo(Length(s) > 6, 'Load locale: empty string', true);
+ checkFails(Length(s) > 6, 'Load locale: empty string', true);
{$IFNDEF PAS2C}
val(s[1]+s[2], a, c);
- TryDo(c = 0, ansistring('Load locale: numbers should be two-digit: ') + s, true);
+ checkFails(c = 0, ansistring('Load locale: numbers should be two-digit: ') + s, true);
val(s[4]+s[5], b, c);
- TryDo(c = 0, ansistring('Load locale: numbers should be two-digit: ') + s, true);
+ checkFails(c = 0, ansistring('Load locale: numbers should be two-digit: ') + s, true);
{$ELSE}
val(s[1]+s[2], a);
val(s[4]+s[5], b);
{$ENDIF}
- TryDo(s[3] = ':', 'Load locale: ":" expected', true);
- TryDo(s[6] = '=', 'Load locale: "=" expected', true);
+ checkFails(s[3] = ':', 'Load locale: ":" expected', true);
+ checkFails(s[6] = '=', 'Load locale: "=" expected', true);
+ if not allOK then exit;
Delete(s, 1, 6);
case a of
0: if (b >=0) and (b <= ord(High(TAmmoStrId))) then
@@ -83,7 +84,7 @@
trmsg[TMsgStrId(b)]:= s;
2: if (b >=0) and (b <= ord(High(TEventId))) then
begin
- TryDo(trevt_n[TEventId(b)] < MAX_EVENT_STRINGS, 'Too many event strings in ' + IntToStr(a) + ':' + IntToStr(b), false);
+ checkFails(trevt_n[TEventId(b)] < MAX_EVENT_STRINGS, 'Too many event strings in ' + IntToStr(a) + ':' + IntToStr(b), false);
if first[TEventId(b)] then
begin
trevt_n[TEventId(b)]:= 0;
--- a/hedgewars/uRenderUtils.pas Fri Jan 01 19:15:32 2016 +0300
+++ b/hedgewars/uRenderUtils.pas Tue Feb 09 21:11:16 2016 +0300
@@ -99,7 +99,8 @@
tmpsurf:= TTF_RenderUTF8_Blended(Fontz[Font].Handle, PChar(s), clr);
finalRect.x:= X + cFontBorder + 2;
finalRect.y:= Y + cFontBorder;
- SDLTry(tmpsurf <> nil, 'TTF_RenderUTF8_Blended', true);
+ if SDLCheck(tmpsurf <> nil, 'TTF_RenderUTF8_Blended', true) then
+ exit;
SDL_UpperBlit(tmpsurf, @textRect, Surface, @finalRect);
SDL_FreeSurface(tmpsurf);
finalRect.x:= X;
@@ -114,7 +115,8 @@
tmpPixel: Longword;
pixels: PLongWordArray;
begin
- TryDo(Surface^.format^.BytesPerPixel = 4, 'flipSurface failed, expecting 32 bit surface', true);
+ if checkFails(Surface^.format^.BytesPerPixel = 4, 'flipSurface failed, expecting 32 bit surface', true) then
+ exit;
SDL_LockSurface(Surface);
pixels:= Surface^.pixels;
if Vertical then
@@ -129,7 +131,7 @@
end
else
for x := 0 to (Surface^.w div 2) - 1 do
- for y := 0 to Surface^.h -1 do
+ for y := 0 to Surface^.h - 1 do
begin
i:= y*Surface^.w + x;
j:= y*Surface^.w + (Surface^.w - x - 1);
@@ -245,8 +247,9 @@
var y, x, i, j: LongInt;
srcPixels, destPixels: PLongWordArray;
begin
- TryDo(src^.format^.BytesPerPixel = 4, 'rotateSurface failed, expecting 32 bit surface', true);
- TryDo(dest^.format^.BytesPerPixel = 4, 'rotateSurface failed, expecting 32 bit surface', true);
+ checkFails(src^.format^.BytesPerPixel = 4, 'rotateSurface failed, expecting 32 bit surface', true);
+ checkFails(dest^.format^.BytesPerPixel = 4, 'rotateSurface failed, expecting 32 bit surface', true);
+ if not allOK then exit;
SDL_LockSurface(src);
SDL_LockSurface(dest);
@@ -292,11 +295,12 @@
finalSurface:= SDL_CreateRGBSurface(SDL_SWSURFACE, w + cFontBorder * 2 + 4, h + cFontBorder * 2,
32, RMask, GMask, BMask, AMask);
- TryDo(finalSurface <> nil, 'RenderString: fail to create surface', true);
+ if checkFails(finalSurface <> nil, 'RenderString: fail to create surface', true) then
+ exit(nil);
WriteInRoundRect(finalSurface, 0, 0, Color, font, s, maxLength);
- TryDo(SDL_SetColorKey(finalSurface, SDL_SRCCOLORKEY, 0) = 0, errmsgTransparentSet, true);
+ checkFails(SDL_SetColorKey(finalSurface, SDL_SRCCOLORKEY, 0) = 0, errmsgTransparentSet, false);
RenderStringTexLim:= Surface2Tex(finalSurface, false);
@@ -443,7 +447,8 @@
finalSurface:= SDL_CreateRGBSurface(SDL_SWSURFACE, rect.w, rect.h, 32, RMask, GMask, BMask, AMask);
- TryDo(finalSurface <> nil, 'RenderString: fail to create surface', true);
+ if checkFails(finalSurface <> nil, 'RenderString: fail to create surface', true) then
+ exit(nil);
//////////////////////////////// CORNERS ///////////////////////////////
copyToXY(SpritesData[corner].Surface, finalSurface, 0, 0); /////////////////// NW
@@ -522,9 +527,11 @@
rect.x:= edgeHeight + 1 + ((i - w) div 2);
// trying to more evenly position the text, vertically
rect.y:= edgeHeight + ((j-(numLines*h)) div 2) + line * h;
- SDLTry(tmpsurf <> nil, 'TTF_Init', true);
- SDL_UpperBlit(tmpsurf, nil, finalSurface, @rect);
- SDL_FreeSurface(tmpsurf);
+ if not SDLCheck(tmpsurf <> nil, 'TTF_RenderUTF8_Blended', true) then
+ begin
+ SDL_UpperBlit(tmpsurf, nil, finalSurface, @rect);
+ SDL_FreeSurface(tmpsurf);
+ end;
inc(line);
end;
--- a/hedgewars/uScript.pas Fri Jan 01 19:15:32 2016 +0300
+++ b/hedgewars/uScript.pas Tue Feb 09 21:11:16 2016 +0300
@@ -23,7 +23,7 @@
* This unit defines, implements and registers functions and
* variables/constants bindings for usage in Lua scripts.
*
- * Please keep http://code.google.com/p/hedgewars/wiki/LuaAPI up to date!
+ * Please keep http://hedgewars.org/kb/LuaAPI up to date!
*
* Note: If you add a new function, make sure to test if _all_ parameters
* work as intended! (Especially conversions errors can sneak in
@@ -440,6 +440,19 @@
lc_setweapon:= 0;
end;
+// enable/disable cinematic effects
+function lc_setcinematicmode(L : Plua_State) : LongInt; Cdecl;
+const
+ call = 'SetCinematicMode';
+ params = 'enable';
+begin
+ if (CheckLuaParamCount(L, 1, call, params)) then
+ begin
+ CinematicScript:= lua_toboolean(L, 1);
+ end;
+ lc_setcinematicmode:= 0;
+end;
+
// no parameter means reset to default (and 0 means unlimited)
function lc_setmaxbuilddistance(L : Plua_State) : LongInt; Cdecl;
var np: LongInt;
@@ -3097,7 +3110,7 @@
begin
// initialize lua
luaState:= lua_open;
-TryDo(luaState <> nil, 'lua_open failed', true);
+if checkFails(luaState <> nil, 'lua_open failed', true) then exit;
// open internal libraries
luaopen_base(luaState);
@@ -3340,6 +3353,7 @@
lua_register(luaState, _P'SetWaterLine', @lc_setwaterline);
lua_register(luaState, _P'SetNextWeapon', @lc_setnextweapon);
lua_register(luaState, _P'SetWeapon', @lc_setweapon);
+lua_register(luaState, _P'SetCinematicMode', @lc_setcinematicmode);
lua_register(luaState, _P'SetMaxBuildDistance', @lc_setmaxbuilddistance);
// drawn map functions
lua_register(luaState, _P'AddPoint', @lc_addPoint);
--- a/hedgewars/uSound.pas Fri Jan 01 19:15:32 2016 +0300
+++ b/hedgewars/uSound.pas Tue Feb 09 21:11:16 2016 +0300
@@ -290,10 +290,10 @@
exit(AskForVoicepack('Default'));
end;
- while (voicepacks[i].name <> name) and (voicepacks[i].name <> '') do
+ while (voicepacks[i].name <> name) and (voicepacks[i].name <> '') and (i < cMaxTeams) do
begin
inc(i);
- TryDo(i <= cMaxTeams, 'Engine bug: AskForVoicepack i > cMaxTeams', true)
+ //TryDo(i <= cMaxTeams, 'Engine bug: AskForVoicepack i > cMaxTeams', true)
end;
voicepacks[i].name:= name;
@@ -310,7 +310,7 @@
success:= SDL_InitSubSystem(SDL_INIT_AUDIO) >= 0;
if success then
- success:= Mix_OpenAudio(44100, $8010, channels, 1024) = 0;
+ success:= Mix_OpenAudio(44100, MIX_DEFAULT_FORMAT, channels, 1024) = 0;
if success then
WriteLnToConsole(msgOK)
@@ -322,10 +322,11 @@
end;
WriteToConsole('Init SDL_mixer... ');
- SDLTry(Mix_Init(MIX_INIT_OGG) <> 0, 'Mix_Init', true);
+ if SDLCheck(Mix_Init(MIX_INIT_OGG) <> 0, 'Mix_Init', true) then exit;
WriteLnToConsole(msgOK);
Mix_AllocateChannels(Succ(chanTPU));
+ previousVolume:= cInitVolume;
ChangeVolume(cInitVolume);
end;
@@ -424,7 +425,7 @@
s:= cPathz[Soundz[snd].Path] + '/' + Soundz[snd].FileName;
WriteToConsole(msgLoading + s + ' ');
defVoicepack^.chunks[snd]:= Mix_LoadWAV_RW(rwopsOpenRead(s), 1);
- SDLTry(defVoicepack^.chunks[snd] <> nil, 'Mix_LoadWAV_RW', true);
+ if not SDLCheck(defVoicepack^.chunks[snd] <> nil, 'Mix_LoadWAV_RW', true) then exit;
WriteLnToConsole(msgOK);
end;
lastChan[snd]:= Mix_PlayChannelTimed(-1, defVoicepack^.chunks[snd], 0, -1)
@@ -523,7 +524,7 @@
s:= cPathz[Soundz[snd].Path] + '/' + Soundz[snd].FileName;
WriteToConsole(msgLoading + s + ' ');
defVoicepack^.chunks[snd]:= Mix_LoadWAV_RW(rwopsOpenRead(s), 1);
- SDLTry(defVoicepack^.chunks[snd] <> nil, 'Mix_LoadWAV_RW', true);
+ if SDLCheck(defVoicepack^.chunks[snd] <> nil, 'Mix_LoadWAV_RW', true) then exit;
WriteLnToConsole(msgOK);
end;
if fadems > 0 then
@@ -574,10 +575,10 @@
WriteToConsole(msgLoading + s + ' ');
Mus:= Mix_LoadMUS_RW(rwopsOpenRead(s));
- SDLTry(Mus <> nil, 'Mix_LoadMUS_RW', false);
+ SDLCheck(Mus <> nil, 'Mix_LoadMUS_RW', false);
WriteLnToConsole(msgOK);
- SDLTry(Mix_FadeInMusic(Mus, -1, 3000) <> -1, 'Mix_FadeInMusic', false)
+ SDLCheck(Mix_FadeInMusic(Mus, -1, 3000) <> -1, 'Mix_FadeInMusic', false)
end;
procedure SetVolume(vol: LongInt);
--- a/hedgewars/uStats.pas Fri Jan 01 19:15:32 2016 +0300
+++ b/hedgewars/uStats.pas Tue Feb 09 21:11:16 2016 +0300
@@ -38,7 +38,7 @@
procedure declareAchievement(id, teamname, location: shortstring; value: LongInt);
implementation
-uses uSound, uLocale, uVariables, uUtils, uIO, uCaptions, uDebug, uMisc, uConsole, uScript;
+uses uSound, uLocale, uVariables, uUtils, uIO, uCaptions, uMisc, uConsole, uScript;
var DamageClan : Longword = 0;
DamageTotal : Longword = 0;
@@ -99,7 +99,7 @@
var i, t: LongInt;
s: ansistring;
begin
-TryDo(not bBetweenTurns, 'Engine bug: TurnReaction between turns', true);
+//TryDo(not bBetweenTurns, 'Engine bug: TurnReaction between turns', true);
inc(FinishedTurnsTotal);
if FinishedTurnsTotal <> 0 then
--- a/hedgewars/uStore.pas Fri Jan 01 19:15:32 2016 +0300
+++ b/hedgewars/uStore.pas Tue Feb 09 21:11:16 2016 +0300
@@ -112,15 +112,19 @@
clr.g:= (Color shr 8) and $FF;
clr.b:= Color and $FF;
tmpsurf:= TTF_RenderUTF8_Blended(Fontz[Font].Handle, s, clr);
-SDLTry(tmpsurf <> nil, 'TTF_RenderUTF8_Blended', true);
+if tmpsurf = nil then exit;
tmpsurf:= doSurfaceConversion(tmpsurf);
-SDLTry(tmpsurf <> nil, 'TTF_RenderUTF8_Blended, doSurfaceConversion', true);
-SDL_UpperBlit(tmpsurf, nil, Surface, @finalRect);
-SDL_FreeSurface(tmpsurf);
-finalRect.x:= X;
-finalRect.y:= Y;
-finalRect.w:= w + cFontBorder * 2 + 4;
-finalRect.h:= h + cFontBorder * 2;
+
+if tmpsurf <> nil then
+begin
+ SDL_UpperBlit(tmpsurf, nil, Surface, @finalRect);
+ SDL_FreeSurface(tmpsurf);
+ finalRect.x:= X;
+ finalRect.y:= Y;
+ finalRect.w:= w + cFontBorder * 2 + 4;
+ finalRect.h:= h + cFontBorder * 2;
+end;
+
WriteInRect:= finalRect
end;
@@ -145,8 +149,10 @@
rr.h:= h;
texsurf:= SDL_CreateRGBSurface(SDL_SWSURFACE, w, h, 32, RMask, GMask, BMask, AMask);
- TryDo(texsurf <> nil, errmsgCreateSurface, true);
- TryDo(SDL_SetColorKey(texsurf, SDL_SRCCOLORKEY, 0) = 0, errmsgTransparentSet, true);
+ if not checkFails(texsurf <> nil, errmsgCreateSurface, true) then
+ checkFails(SDL_SetColorKey(texsurf, SDL_SRCCOLORKEY, 0) = 0, errmsgTransparentSet, true);
+
+ if not allOK then exit(nil);
DrawRoundRect(@rr, cWhiteColor, cNearBlackColor, texsurf, true);
@@ -192,8 +198,9 @@
r.w:= 32;
r.h:= 32;
texsurf:= SDL_CreateRGBSurface(SDL_SWSURFACE, r.w, r.h, 32, RMask, GMask, BMask, AMask);
- TryDo(texsurf <> nil, errmsgCreateSurface, true);
- TryDo(SDL_SetColorKey(texsurf, SDL_SRCCOLORKEY, 0) = 0, errmsgTransparentSet, true);
+ if not checkFails(texsurf <> nil, errmsgCreateSurface, true) then
+ checkFails(SDL_SetColorKey(texsurf, SDL_SRCCOLORKEY, 0) = 0, errmsgTransparentSet, true);
+ if not allOK then exit;
r.w:= 26;
r.h:= 19;
@@ -225,20 +232,20 @@
Flag:= 'hedgewars';
flagsurf:= LoadDataImageAltFile(ptFlags, Flag, 'hedgewars', ifNone);
- TryDo(flagsurf <> nil, 'Failed to load flag "' + Flag + '" as well as the default flag', true);
+ if not checkFails(flagsurf <> nil, 'Failed to load flag "' + Flag + '" as well as the default flag', true) then
+ begin
+ case maxLevel of
+ 1: copyToXY(SpritesData[sprBotlevels].Surface, flagsurf, 0, 0);
+ 2: copyToXYFromRect(SpritesData[sprBotlevels].Surface, flagsurf, 5, 2, 17, 13, 5, 2);
+ 3: copyToXYFromRect(SpritesData[sprBotlevels].Surface, flagsurf, 9, 5, 13, 10, 9, 5);
+ 4: copyToXYFromRect(SpritesData[sprBotlevels].Surface, flagsurf, 13, 9, 9, 6, 13, 9);
+ 5: copyToXYFromRect(SpritesData[sprBotlevels].Surface, flagsurf, 17, 11, 5, 4, 17, 11)
+ end;
- case maxLevel of
- 1: copyToXY(SpritesData[sprBotlevels].Surface, flagsurf, 0, 0);
- 2: copyToXYFromRect(SpritesData[sprBotlevels].Surface, flagsurf, 5, 2, 17, 13, 5, 2);
- 3: copyToXYFromRect(SpritesData[sprBotlevels].Surface, flagsurf, 9, 5, 13, 10, 9, 5);
- 4: copyToXYFromRect(SpritesData[sprBotlevels].Surface, flagsurf, 13, 9, 9, 6, 13, 9);
- 5: copyToXYFromRect(SpritesData[sprBotlevels].Surface, flagsurf, 17, 11, 5, 4, 17, 11)
- end;
-
- copyToXY(flagsurf, texsurf, 2, 2);
- SDL_FreeSurface(flagsurf);
- flagsurf:= nil;
-
+ copyToXY(flagsurf, texsurf, 2, 2);
+ SDL_FreeSurface(flagsurf);
+ flagsurf:= nil;
+ end;
// restore black border pixels inside the flag
PLongwordArray(texsurf^.pixels)^[32 * 2 + 2]:= cNearBlackColor;
@@ -251,6 +258,8 @@
SDL_FreeSurface(texsurf);
texsurf:= nil;
+ if not allOK then exit;
+
AIKillsTex := RenderStringTex(ansistring(inttostr(stats.AIKills)), Clan^.Color, fnt16);
dec(drY, r.h + 2);
@@ -356,7 +365,7 @@
s:= cPathz[ptFonts] + '/' + Name;
WriteToConsole(msgLoading + s + ' (' + inttostr(Height) + 'pt)... ');
Handle:= TTF_OpenFontRW(rwopsOpenRead(s), true, Height);
- SDLTry(Handle <> nil, 'TTF_OpenFontRW', true);
+ if SDLCheck(Handle <> nil, 'TTF_OpenFontRW', true) then exit;
TTF_SetFontStyle(Handle, style);
WriteLnToConsole(msgOK)
end;
@@ -387,6 +396,7 @@
and ((cCloudsNumber > 0) or (ii <> sprCloud))
and ((vobCount > 0) or (ii <> sprFlake))
and (savesurf or (not cOnlyStats)) // in stats-only only load those which are needed later
+ and allOK
then
begin
if reload then
@@ -445,7 +455,7 @@
Surface:= nil
end;
-if not cOnlyStats then
+if (not cOnlyStats) and allOK then
begin
WriteNames(fnt16);
@@ -471,9 +481,9 @@
for ai:= Low(TAmmoType) to High(TAmmoType) do
with Ammoz[ai] do
begin
- TryDo(length(trAmmo[NameId]) > 0,'No default text/translation found for ammo type #' + intToStr(ord(ai)) + '!',true);
+ if checkFails(length(trAmmo[NameId]) > 0,'No default text/translation found for ammo type #' + intToStr(ord(ai)) + '!',true) then exit;
tmpsurf:= TTF_RenderUTF8_Blended(Fontz[CheckCJKFont(trAmmo[NameId],fnt16)].Handle, PChar(trAmmo[NameId]), cWhiteColorChannels);
- TryDo(tmpsurf <> nil,'Name-texture creation for ammo type #' + intToStr(ord(ai)) + ' failed!',true);
+ if checkFails(tmpsurf <> nil,'Name-texture creation for ammo type #' + intToStr(ord(ai)) + ' failed!',true) then exit;
tmpsurf:= doSurfaceConversion(tmpsurf);
FreeAndNilTexture(NameTex);
NameTex:= Surface2Tex(tmpsurf, false);
@@ -605,7 +615,7 @@
// anounce that loading failed
OutError(msgFailed, false);
- SDLTry(false, 'LoadImage', (imageFlags and ifCritical) <> 0);
+ if SDLCheck(false, 'LoadImage', (imageFlags and ifCritical) <> 0) then exit;
// rwops was already freed by IMG_Load_RW
rwops:= nil;
end else
@@ -625,7 +635,7 @@
tmpsurf:= doSurfaceConversion(tmpsurf);
if (imageFlags and ifTransparent) <> 0 then
- TryDo(SDL_SetColorKey(tmpsurf, SDL_SRCCOLORKEY, 0) = 0, errmsgTransparentSet, true);
+ if checkFails(SDL_SetColorKey(tmpsurf, SDL_SRCCOLORKEY, 0) = 0, errmsgTransparentSet, true) then exit;
WriteLnToConsole(msgOK + ' (' + inttostr(tmpsurf^.w) + 'x' + inttostr(tmpsurf^.h) + ')');
@@ -734,7 +744,6 @@
end;
procedure SetupOpenGL;
-var buf: array[byte] of char;
begin
AddFileLog('Setting up OpenGL (using driver: ' + shortstring(SDL_GetCurrentVideoDriver()) + ')');
@@ -744,7 +753,7 @@
//SDL_GL_SetAttribute(SDL_GL_CONTEXT_MINOR_VERSION, 0);
if SDLGLcontext = nil then
SDLGLcontext:= SDL_GL_CreateContext(SDLwindow);
- SDLTry(SDLGLcontext <> nil, 'SDLGLcontext', true);
+ if SDLCheck(SDLGLcontext <> nil, 'SDLGLcontext', true) then exit;
SDL_GL_SetSwapInterval(1);
RendererSetup();
@@ -775,7 +784,7 @@
{$ENDIF}
end;
- TryDo(ProgrTex <> nil, 'Error - Progress Texure is nil!', true);
+ if checkFails(ProgrTex <> nil, 'Error - Progress Texure is nil!', true) then exit;
RenderClear();
if Step < numsquares then
@@ -876,7 +885,7 @@
inc(h, ha + 8);
tmpsurf:= SDL_CreateRGBSurface(SDL_SWSURFACE, w, h, 32, RMask, GMask, BMask, AMask);
-TryDo(tmpsurf <> nil, 'RenderHelpWindow: fail to create surface', true);
+if checkFails(tmpsurf <> nil, 'RenderHelpWindow: fail to create surface', true) then exit(nil);
// render border and background
r.x:= 0;
@@ -988,7 +997,7 @@
SDL_WINDOWPOS_CENTERED_MASK, SDL_WINDOWPOS_CENTERED_MASK,
cScreenWidth, cScreenHeight,
SDL_WINDOW_HIDDEN or SDL_WINDOW_OPENGL);
- SDLTry(SDLwindow <> nil, 'SDL_CreateWindow', true);
+ if SDLCheck(SDLwindow <> nil, 'SDL_CreateWindow', true) then exit;
SetupOpenGL();
end;
{$ENDIF} // USE_VIDEO_RECORDING
@@ -1024,7 +1033,7 @@
begin
// set window title
WriteToConsole('Init SDL_image... ');
- SDLTry(IMG_Init(IMG_INIT_PNG) <> 0, 'IMG_Init', true);
+ if SDLCheck(IMG_Init(IMG_INIT_PNG) <> 0, 'IMG_Init', true) then exit;
WriteLnToConsole(msgOK);
end
else
@@ -1063,26 +1072,48 @@
*)
SetupOpenGLAttributes();
{$ENDIF}
+
// these values in x and y make the window appear in the center
x:= SDL_WINDOWPOS_CENTERED_MASK;
y:= SDL_WINDOWPOS_CENTERED_MASK;
- // SDL_WINDOW_RESIZABLE makes the window resizable and
- // respond to rotation events on mobile devices
- flags:= SDL_WINDOW_OPENGL or SDL_WINDOW_SHOWN or SDL_WINDOW_RESIZABLE;
-
- {$IFDEF MOBILE}
- if isPhone() then
- SDL_SetHint('SDL_IOS_ORIENTATIONS','LandscapeLeft LandscapeRight');
- // no need for borders on mobile devices
- flags:= flags or SDL_WINDOW_BORDERLESS;
- {$ENDIF}
-
- if cFullScreen then
- flags:= flags or SDL_WINDOW_FULLSCREEN;
if SDLwindow = nil then
+ begin
+
+ // SDL_WINDOW_RESIZABLE makes the window resizable and
+ // respond to rotation events on mobile devices
+ flags:= SDL_WINDOW_OPENGL or SDL_WINDOW_SHOWN or SDL_WINDOW_RESIZABLE;
+
+ {$IFDEF MOBILE}
+ if isPhone() then
+ SDL_SetHint('SDL_IOS_ORIENTATIONS','LandscapeLeft LandscapeRight');
+ // no need for borders on mobile devices
+ flags:= flags or SDL_WINDOW_BORDERLESS;
+ {$ENDIF}
+
+ if cFullScreen then
+ flags:= flags or SDL_WINDOW_FULLSCREEN;
+
SDLwindow:= SDL_CreateWindow(PChar('Hedgewars'), x, y, cScreenWidth, cScreenHeight, flags);
- SDLTry(SDLwindow <> nil, 'SDL_CreateWindow', true);
+ end
+ // we're toggling
+ else if Length(s) = 0 then
+ begin
+ if cFullScreen then
+ begin
+ SDL_SetWindowSize(SDLwindow, cScreenWidth, cScreenHeight);
+ SDL_SetWindowFullscreen(SDLwindow, SDL_WINDOW_FULLSCREEN);
+ end
+ else
+ begin
+ SDL_SetWindowFullscreen(SDLwindow, 0);
+ SDL_SetWindowSize(SDLwindow, cScreenWidth, cScreenHeight);
+ SDL_SetWindowPosition(SDLwindow, x, y);
+ end;
+ updateViewLimits();
+ end;
+
+ if SDLCheck(SDLwindow <> nil, 'SDL_CreateWindow', true) then exit;
// load engine ico
{$IFNDEF DARWIN}
--- a/hedgewars/uTeams.pas Fri Jan 01 19:15:32 2016 +0300
+++ b/hedgewars/uTeams.pas Tue Feb 09 21:11:16 2016 +0300
@@ -119,7 +119,7 @@
PrevHH, PrevTeam : LongWord;
begin
TargetPoint.X:= NoPointX;
-TryDo(CurrentTeam <> nil, 'nil Team', true);
+if checkFails(CurrentTeam <> nil, 'nil Team', true) then exit;
with CurrentHedgehog^ do
if (PreviousTeam <> nil) and PlacingHogs and Unplaced then
begin
@@ -355,9 +355,9 @@
var team: PTeam;
c, t: LongInt;
begin
-TryDo(TeamsCount < cMaxTeams, 'Too many teams', true);
+if checkFails(TeamsCount < cMaxTeams, 'Too many teams', true) then exit(nil);
New(team);
-TryDo(team <> nil, 'AddTeam: team = nil', true);
+if checkFails(team <> nil, 'AddTeam: team = nil', true) then exit(nil);
FillChar(team^, sizeof(TTeam), 0);
team^.AttackBar:= 2;
team^.CurrHedgehog:= 0;
@@ -551,10 +551,10 @@
s:= '';
if (not isDeveloperMode) then
exit;
-TryDo((CurrentTeam <> nil), 'Can''t add hedgehogs yet, add a team first!', true);
+if checkFails((CurrentTeam <> nil), 'Can''t add hedgehogs yet, add a team first!', true) then exit;
with CurrentTeam^ do
begin
- TryDo(HedgehogsNumber<=cMaxHHIndex, 'Can''t add hedgehog to "' + TeamName + '"! (already ' + intToStr(HedgehogsNumber) + ' hogs)', true);
+ if checkFails(HedgehogsNumber<=cMaxHHIndex, 'Can''t add hedgehog to "' + TeamName + '"! (already ' + intToStr(HedgehogsNumber) + ' hogs)', true) then exit;
SplitBySpace(id, s);
SwitchCurrentHedgehog(@Hedgehogs[HedgehogsNumber]);
CurrentHedgehog^.BotLevel:= StrToInt(id);
@@ -562,7 +562,7 @@
Gear:= AddGear(0, 0, gtHedgehog, 0, _0, _0, 0);
SplitBySpace(s, id);
Gear^.Health:= StrToInt(s);
- TryDo(Gear^.Health > 0, 'Invalid hedgehog health', true);
+ if checkFails(Gear^.Health > 0, 'Invalid hedgehog health', true) then exit;
if (GameFlags and gfSharedAmmo) <> 0 then
CurrentHedgehog^.AmmoStore:= Clan^.ClanIndex
else if (GameFlags and gfPerHogAmmo) <> 0 then
@@ -608,14 +608,18 @@
// color is always little endian so the mask must be constant also in big endian archs
Color:= Color or $FF000000;
AddTeam(Color);
- CurrentTeam^.TeamName:= ts;
- CurrentTeam^.PlayerHash:= s;
- loadTeamBinds(ts);
+
+ if CurrentTeam <> nil then
+ begin
+ CurrentTeam^.TeamName:= ts;
+ CurrentTeam^.PlayerHash:= s;
+ loadTeamBinds(ts);
- if GameType in [gmtDemo, gmtSave, gmtRecord] then
- CurrentTeam^.ExtDriven:= true;
+ if GameType in [gmtDemo, gmtSave, gmtRecord] then
+ CurrentTeam^.ExtDriven:= true;
- CurrentTeam^.voicepack:= AskForVoicepack('Default')
+ CurrentTeam^.voicepack:= AskForVoicepack('Default')
+ end
end
end;
--- a/hedgewars/uTextures.pas Fri Jan 01 19:15:32 2016 +0300
+++ b/hedgewars/uTextures.pas Tue Feb 09 21:11:16 2016 +0300
@@ -176,6 +176,9 @@
r, slr, w, si, li: LongWord;
begin
w:= surf^.w;
+ // just a single pixel, nothing to do here
+ if (w < 2) and (surf^.h < 2) then
+ exit;
slr:= surf^.h - 2;
si:= 0;
li:= w - 1;
@@ -226,7 +229,7 @@
if (surf^.format^.BytesPerPixel <> 4) then
begin
- TryDo(false, 'Surface2Tex failed, expecting 32 bit surface', true);
+ checkFails(false, 'Surface2Tex failed, expecting 32 bit surface', true);
Surface2Tex^.id:= 0;
exit
end;
@@ -236,7 +239,8 @@
glBindTexture(GL_TEXTURE_2D, Surface2Tex^.id);
if SDL_MustLock(surf) then
- SDLTry(SDL_LockSurface(surf) >= 0, 'Lock surface', true);
+ if SDLCheck(SDL_LockSurface(surf) >= 0, 'Lock surface', true) then
+ exit(nil);
fromP4:= Surf^.pixels;
--- a/hedgewars/uVariables.pas Fri Jan 01 19:15:32 2016 +0300
+++ b/hedgewars/uVariables.pas Tue Feb 09 21:11:16 2016 +0300
@@ -209,6 +209,10 @@
ScreenFade : TScreenFade;
ScreenFadeValue : LongInt;
ScreenFadeSpeed : LongInt;
+ InCinematicMode : boolean;
+ CinematicSteps : LongInt;
+ CinematicBarH : LongInt;
+ CinematicScript : boolean;
UIDisplay : TUIDisplay;
LocalMessage : LongWord;
@@ -2680,6 +2684,10 @@
disableLandBack := false;
ScreenFade := sfNone;
+ InCinematicMode := false;
+ CinematicSteps := 0;
+ CinematicBarH := 0;
+ CinematicScript := false;
// those values still are not perfect
cLeftScreenBorder:= round(-cMinZoomLevel * cScreenWidth);
--- a/hedgewars/uVideoRec.pas Fri Jan 01 19:15:32 2016 +0300
+++ b/hedgewars/uVideoRec.pas Tue Feb 09 21:11:16 2016 +0300
@@ -109,7 +109,7 @@
filename:= UserPathPrefix + '/VideoTemp/' + RecPrefix;
soundFilePath:= UserPathPrefix + '/VideoTemp/' + RecPrefix + '.sw';
- TryDo(AVWrapper_Init(@AddFileLogRaw
+ if checkFails(AVWrapper_Init(@AddFileLogRaw
, PChar(ansistring(filename))
, PChar(ansistring(desc))
, PChar(ansistring(soundFilePath))
@@ -118,7 +118,7 @@
, PChar(ansistring(cAudioCodec))
, cScreenWidth, cScreenHeight, cVideoFramerateNum, cVideoFramerateDen, cVideoQuality) >= 0,
'AVWrapper_Init failed',
- true);
+ true) then exit(false);
numPixels:= cScreenWidth*cScreenHeight;
YCbCr_Planes[0]:= GetMem(numPixels);
--- a/hedgewars/uWorld.pas Fri Jan 01 19:15:32 2016 +0300
+++ b/hedgewars/uWorld.pas Tue Feb 09 21:11:16 2016 +0300
@@ -1382,6 +1382,39 @@
// this scale is used to keep the various widgets at the same dimension at all zoom levels
SetScale(cDefaultZoomLevel);
+// cinematic effects
+if CinematicScript or (InCinematicMode and autoCameraOn
+ and ((CurrentHedgehog = nil) or CurrentHedgehog^.Team^.ExtDriven
+ or (CurrentHedgehog^.BotLevel <> 0) or (GameType = gmtDemo))) then
+ begin
+ if CinematicSteps < 300 then
+ begin
+ inc(CinematicSteps, Lag);
+ if CinematicSteps > 300 then
+ CinematicSteps:= 300;
+ end;
+ end
+else if CinematicSteps > 0 then
+ begin
+ dec(CinematicSteps, Lag);
+ if CinematicSteps < 0 then
+ CinematicSteps:= 0;
+ end;
+
+// render black bars
+if CinematicSteps > 0 then
+ begin
+ r.x:= ViewLeftX;
+ r.w:= ViewWidth;
+ r.y:= ViewTopY;
+ CinematicBarH:= (ViewHeight * CinematicSteps) div 2048;
+ r.h:= CinematicBarH;
+ DrawRect(r, 0, 0, 0, $FF, true);
+ r.y:= ViewBottomY - r.h;
+ DrawRect(r, 0, 0, 0, $FF, true);
+ end;
+
+
// Turn time
if UIDisplay <> uiNone then
begin
@@ -1751,7 +1784,7 @@
WorldDx:= WorldDx + LongInt(rightX) - leftX;
end;
-wdy:= trunc(cScreenHeight / cScaleFactor) + cScreenHeight div 2 - cWaterLine - cVisibleWater;
+wdy:= trunc(cScreenHeight / cScaleFactor) + cScreenHeight div 2 - cWaterLine - (cVisibleWater + trunc(CinematicBarH / (cScaleFactor / 2.0)));
if WorldDy < wdy then
WorldDy:= wdy;
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/misc/OfficialChallenges/racer_#18.hwmap Tue Feb 09 21:11:16 2016 +0300
@@ -0,0 +1,1 @@
+AAABrnicJcsxS0JRGMbx55xzzz2ecymJllwCCYeGPoDjJaVR1K0tihoEa2nR1dD6BBdBCDIIahACxwzqonIXDRochIIGh4Yg2ju+d/nx8Od9kymsI/GtctAb/AbuoTyHGcod6KTzBfdU3MJtsgPIFqt1ZMu5QOKEYDVqUEVR76iiSsO7J0SdGvRcNjp6jheoZ0I2qEEGrB3JwLmEHhOsTQ2qh0Gkem4BekpgQA1eX1Qir69SUD4hKtSgN9l+pFedz4lb5d3Qcgf5GNPFssGMnFJoRqIJ80o4JWrwyjwIvbLYhVcgeEANesbsxwOzJ3sqFVp+aMF7khhbEljJxYAa1MJNvstrnhlatiHKMRksG9wrdvymFmJrqv94NjRHPIvEr/Inas2ZTUya+2PzwX0YyfORxa5uTJ4azBnXka7K3+k/hAxnGg==
\ No newline at end of file
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/misc/OfficialChallenges/racer_#19.hwmap Tue Feb 09 21:11:16 2016 +0300
@@ -0,0 +1,1 @@
+AAACWHicJdGxS1tRFMfx3825556TtJ0cRdCpFIpLJzOktIUGQZBCh0hLx+IoCoKDFFok2CJFKDilon9AEB/SwRZKhEDiEGhxKTg5+FQchEAtYuh95y2f4TtcOL97b9qNgd/gH7hG1+Az/gx9Ty8QRHZRWpM96CI/QnhcmEvCn8JORh96krODrEHrJInW+Rvkp0FiDdLnqUT6YRj82+Apa5AR6iYy4lcRnhnUtQZ/7MqJP6ZfkFXDla1B9+k80X1+iOKtQefW4C9dJfWX1II8MVzFGkKVBmmo+ivogkEDa+Abnk35JtyBfDd41hr0lT9KIxUUOzlH1qAHhX6qB/QB+s7Izo8NpUm/fBhp4O5MzrI1hKHQPAxD+jK+bISmNciEK7VlAkDoGq5kDf6p225HfoCqOdvW4Feo1Y58gvuY07KG4lu//jWyBlnJWbeWbTC/EdcYhjww3Lw1hPt80WClesNfuecNfo2/vfjxgx5f8JdeaNKgE5q+jOK4kQ0WG2SLNjuyVZiDLBm0aQ06yrWOjvpb6KnBNWv4DxsWmqM=
\ No newline at end of file
--- a/share/hedgewars/Data/Locale/hedgewars_ar.ts Fri Jan 01 19:15:32 2016 +0300
+++ b/share/hedgewars/Data/Locale/hedgewars_ar.ts Tue Feb 09 21:11:16 2016 +0300
@@ -76,6 +76,10 @@
<source>permanent</source>
<translation type="unfinished"></translation>
</message>
+ <message>
+ <source>Ban player</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>DataManager</name>
@@ -114,6 +118,10 @@
<source>Your email address is optional, but necessary if you want us to get back at you.</source>
<translation type="unfinished"></translation>
</message>
+ <message>
+ <source>Feedback</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>FreqSpinBox</name>
@@ -464,6 +472,13 @@
</message>
</context>
<context>
+ <name>HWHostPortDialog</name>
+ <message>
+ <source>Connect to server</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
<name>HWMapContainer</name>
<message>
<source>All</source>
@@ -689,6 +704,10 @@
<source>Password:</source>
<translation type="unfinished"></translation>
</message>
+ <message>
+ <source>New Account</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>HWUploadVideoDialog</name>
@@ -722,6 +741,10 @@
<source>Search for a hat:</source>
<translation type="unfinished"></translation>
</message>
+ <message>
+ <source>Choose a hat</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>KB</name>
@@ -1675,6 +1698,14 @@
<source>Show games in-progress</source>
<translation type="unfinished"></translation>
</message>
+ <message>
+ <source>Show password protected</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Show join restricted</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>QCheckBox</name>
@@ -2161,6 +2192,10 @@
<source>Script parameter</source>
<translation type="unfinished"></translation>
</message>
+ <message>
+ <source>Air Mines</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>QLineEdit</name>
@@ -2628,6 +2663,10 @@
<source>Close</source>
<translation type="unfinished"></translation>
</message>
+ <message>
+ <source>Seed</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>SelWeaponWidget</name>
@@ -2698,6 +2737,10 @@
<source>Use selected theme</source>
<translation type="unfinished"></translation>
</message>
+ <message>
+ <source>Choose a theme</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>binds</name>
@@ -3462,10 +3505,6 @@
<translation type="unfinished"></translation>
</message>
<message>
- <source>Game messages flood detected - 2</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
<source>Warning! Joins flood protection activated</source>
<translation type="unfinished"></translation>
</message>
@@ -3473,5 +3512,49 @@
<source>There's no voting going on</source>
<translation type="unfinished"></translation>
</message>
+ <message>
+ <source>Your vote counted</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Pause toggled</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>new seed</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>number of hedgehogs in team</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>/maxteams: specify number from 2 to 8</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Available callvote commands: kick <nickname>, map <name>, pause, newseed, hedgehogs</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>callvote kick: specify nickname</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>callvote kick: no such user</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>callvote map: no such map</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>callvote pause: no game in progress</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>callvote hedgehogs: specify number from 1 to 8</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
</TS>
--- a/share/hedgewars/Data/Locale/hedgewars_bg.ts Fri Jan 01 19:15:32 2016 +0300
+++ b/share/hedgewars/Data/Locale/hedgewars_bg.ts Tue Feb 09 21:11:16 2016 +0300
@@ -80,6 +80,10 @@
<source>permanent</source>
<translation type="unfinished"></translation>
</message>
+ <message>
+ <source>Ban player</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>DataManager</name>
@@ -118,6 +122,10 @@
<source>Your email address is optional, but necessary if you want us to get back at you.</source>
<translation type="unfinished"></translation>
</message>
+ <message>
+ <source>Feedback</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>FreqSpinBox</name>
@@ -467,6 +475,13 @@
</message>
</context>
<context>
+ <name>HWHostPortDialog</name>
+ <message>
+ <source>Connect to server</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
<name>HWMapContainer</name>
<message>
<source>All</source>
@@ -692,6 +707,10 @@
<source>Password:</source>
<translation type="unfinished"></translation>
</message>
+ <message>
+ <source>New Account</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>HWUploadVideoDialog</name>
@@ -725,6 +744,10 @@
<source>Search for a hat:</source>
<translation type="unfinished"></translation>
</message>
+ <message>
+ <source>Choose a hat</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>KB</name>
@@ -1694,6 +1717,14 @@
<source>Show games in-progress</source>
<translation type="unfinished"></translation>
</message>
+ <message>
+ <source>Show password protected</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Show join restricted</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>QCheckBox</name>
@@ -2196,6 +2227,10 @@
<source>Script parameter</source>
<translation type="unfinished"></translation>
</message>
+ <message>
+ <source>Air Mines</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>QLineEdit</name>
@@ -2664,6 +2699,10 @@
<source>Close</source>
<translation type="unfinished"></translation>
</message>
+ <message>
+ <source>Seed</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>SelWeaponWidget</name>
@@ -2738,6 +2777,10 @@
<source>Use selected theme</source>
<translation type="unfinished"></translation>
</message>
+ <message>
+ <source>Choose a theme</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>binds</name>
@@ -3502,10 +3545,6 @@
<translation type="unfinished"></translation>
</message>
<message>
- <source>Game messages flood detected - 2</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
<source>Warning! Joins flood protection activated</source>
<translation type="unfinished"></translation>
</message>
@@ -3513,5 +3552,49 @@
<source>There's no voting going on</source>
<translation type="unfinished"></translation>
</message>
+ <message>
+ <source>Your vote counted</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Pause toggled</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>new seed</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>number of hedgehogs in team</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>/maxteams: specify number from 2 to 8</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Available callvote commands: kick <nickname>, map <name>, pause, newseed, hedgehogs</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>callvote kick: specify nickname</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>callvote kick: no such user</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>callvote map: no such map</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>callvote pause: no game in progress</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>callvote hedgehogs: specify number from 1 to 8</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
</TS>
--- a/share/hedgewars/Data/Locale/hedgewars_cs.ts Fri Jan 01 19:15:32 2016 +0300
+++ b/share/hedgewars/Data/Locale/hedgewars_cs.ts Tue Feb 09 21:11:16 2016 +0300
@@ -80,6 +80,10 @@
<source>permanent</source>
<translation type="unfinished"></translation>
</message>
+ <message>
+ <source>Ban player</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>DataManager</name>
@@ -118,6 +122,10 @@
<source>Your email address is optional, but necessary if you want us to get back at you.</source>
<translation type="unfinished"></translation>
</message>
+ <message>
+ <source>Feedback</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>FreqSpinBox</name>
@@ -473,6 +481,13 @@
</message>
</context>
<context>
+ <name>HWHostPortDialog</name>
+ <message>
+ <source>Connect to server</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
<name>HWMapContainer</name>
<message>
<source>All</source>
@@ -698,6 +713,10 @@
<source>Password:</source>
<translation type="unfinished"></translation>
</message>
+ <message>
+ <source>New Account</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>HWUploadVideoDialog</name>
@@ -731,6 +750,10 @@
<source>Search for a hat:</source>
<translation type="unfinished"></translation>
</message>
+ <message>
+ <source>Choose a hat</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>KB</name>
@@ -1710,6 +1733,14 @@
<source>Show games in-progress</source>
<translation type="unfinished"></translation>
</message>
+ <message>
+ <source>Show password protected</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Show join restricted</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>QCheckBox</name>
@@ -2212,6 +2243,10 @@
<source>Script parameter</source>
<translation type="unfinished"></translation>
</message>
+ <message>
+ <source>Air Mines</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>QLineEdit</name>
@@ -2681,6 +2716,10 @@
<source>Close</source>
<translation type="unfinished"></translation>
</message>
+ <message>
+ <source>Seed</source>
+ <translation type="unfinished">Semínko</translation>
+ </message>
</context>
<context>
<name>SelWeaponWidget</name>
@@ -2755,6 +2794,10 @@
<source>Use selected theme</source>
<translation type="unfinished"></translation>
</message>
+ <message>
+ <source>Choose a theme</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>binds</name>
@@ -3519,10 +3562,6 @@
<translation type="unfinished"></translation>
</message>
<message>
- <source>Game messages flood detected - 2</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
<source>Warning! Joins flood protection activated</source>
<translation type="unfinished"></translation>
</message>
@@ -3530,5 +3569,49 @@
<source>There's no voting going on</source>
<translation type="unfinished"></translation>
</message>
+ <message>
+ <source>Your vote counted</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Pause toggled</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>new seed</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>number of hedgehogs in team</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>/maxteams: specify number from 2 to 8</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Available callvote commands: kick <nickname>, map <name>, pause, newseed, hedgehogs</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>callvote kick: specify nickname</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>callvote kick: no such user</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>callvote map: no such map</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>callvote pause: no game in progress</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>callvote hedgehogs: specify number from 1 to 8</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
</TS>
--- a/share/hedgewars/Data/Locale/hedgewars_da.ts Fri Jan 01 19:15:32 2016 +0300
+++ b/share/hedgewars/Data/Locale/hedgewars_da.ts Tue Feb 09 21:11:16 2016 +0300
@@ -80,6 +80,10 @@
<source>permanent</source>
<translation type="unfinished"></translation>
</message>
+ <message>
+ <source>Ban player</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>DataManager</name>
@@ -118,6 +122,10 @@
<source>Your email address is optional, but necessary if you want us to get back at you.</source>
<translation type="unfinished"></translation>
</message>
+ <message>
+ <source>Feedback</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>FreqSpinBox</name>
@@ -471,6 +479,13 @@
</message>
</context>
<context>
+ <name>HWHostPortDialog</name>
+ <message>
+ <source>Connect to server</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
<name>HWMapContainer</name>
<message>
<source>All</source>
@@ -696,6 +711,10 @@
<source>Password:</source>
<translation type="unfinished"></translation>
</message>
+ <message>
+ <source>New Account</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>HWUploadVideoDialog</name>
@@ -729,6 +748,10 @@
<source>Search for a hat:</source>
<translation type="unfinished"></translation>
</message>
+ <message>
+ <source>Choose a hat</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>KB</name>
@@ -1698,6 +1721,14 @@
<source>Show games in-progress</source>
<translation type="unfinished"></translation>
</message>
+ <message>
+ <source>Show password protected</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Show join restricted</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>QCheckBox</name>
@@ -2204,6 +2235,10 @@
<source>Script parameter</source>
<translation type="unfinished"></translation>
</message>
+ <message>
+ <source>Air Mines</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>QLineEdit</name>
@@ -2672,6 +2707,10 @@
<source>Close</source>
<translation type="unfinished"></translation>
</message>
+ <message>
+ <source>Seed</source>
+ <translation type="unfinished">Spire</translation>
+ </message>
</context>
<context>
<name>SelWeaponWidget</name>
@@ -2746,6 +2785,10 @@
<source>Use selected theme</source>
<translation type="unfinished"></translation>
</message>
+ <message>
+ <source>Choose a theme</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>binds</name>
@@ -3510,10 +3553,6 @@
<translation type="unfinished"></translation>
</message>
<message>
- <source>Game messages flood detected - 2</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
<source>Warning! Joins flood protection activated</source>
<translation type="unfinished"></translation>
</message>
@@ -3521,5 +3560,49 @@
<source>There's no voting going on</source>
<translation type="unfinished"></translation>
</message>
+ <message>
+ <source>Your vote counted</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Pause toggled</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>new seed</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>number of hedgehogs in team</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>/maxteams: specify number from 2 to 8</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Available callvote commands: kick <nickname>, map <name>, pause, newseed, hedgehogs</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>callvote kick: specify nickname</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>callvote kick: no such user</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>callvote map: no such map</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>callvote pause: no game in progress</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>callvote hedgehogs: specify number from 1 to 8</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
</TS>
--- a/share/hedgewars/Data/Locale/hedgewars_de.ts Fri Jan 01 19:15:32 2016 +0300
+++ b/share/hedgewars/Data/Locale/hedgewars_de.ts Tue Feb 09 21:11:16 2016 +0300
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE TS>
-<TS version="2.1" language="de">
+<TS version="2.0" language="de">
<context>
<name>About</name>
<message>
@@ -38,7 +38,7 @@
<name>BanDialog</name>
<message>
<location filename="../../../../QTfrontend/ui/dialog/bandialog.cpp" line="41"/>
- <location filename="../../../../QTfrontend/ui/dialog/bandialog.cpp" line="87"/>
+ <location filename="../../../../QTfrontend/ui/dialog/bandialog.cpp" line="88"/>
<source>IP</source>
<translation>IP-Adresse</translation>
</message>
@@ -73,22 +73,27 @@
<translation>Abbrechen</translation>
</message>
<message>
- <location filename="../../../../QTfrontend/ui/dialog/bandialog.cpp" line="80"/>
+ <location filename="../../../../QTfrontend/ui/dialog/bandialog.cpp" line="61"/>
+ <source>Ban player</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../../../QTfrontend/ui/dialog/bandialog.cpp" line="81"/>
<source>you know why</source>
<translation>du weißt schon, warum</translation>
</message>
<message>
- <location filename="../../../../QTfrontend/ui/dialog/bandialog.cpp" line="87"/>
+ <location filename="../../../../QTfrontend/ui/dialog/bandialog.cpp" line="88"/>
<source>Warning</source>
<translation>Warnung</translation>
</message>
<message>
- <location filename="../../../../QTfrontend/ui/dialog/bandialog.cpp" line="87"/>
+ <location filename="../../../../QTfrontend/ui/dialog/bandialog.cpp" line="88"/>
<source>Please, specify %1</source>
<translation>Bitte leg %1 fest</translation>
</message>
<message>
- <location filename="../../../../QTfrontend/ui/dialog/bandialog.cpp" line="87"/>
+ <location filename="../../../../QTfrontend/ui/dialog/bandialog.cpp" line="88"/>
<source>nickname</source>
<translation>Spitzname</translation>
</message>
@@ -109,17 +114,22 @@
<context>
<name>FeedbackDialog</name>
<message>
- <location filename="../../../../QTfrontend/ui/widget/feedbackdialog.cpp" line="124"/>
+ <location filename="../../../../QTfrontend/ui/widget/feedbackdialog.cpp" line="63"/>
+ <source>Feedback</source>
+ <translation type="unfinished">Feedback</translation>
+ </message>
+ <message>
+ <location filename="../../../../QTfrontend/ui/widget/feedbackdialog.cpp" line="125"/>
<source>View</source>
<translation>Ansehen</translation>
</message>
<message>
- <location filename="../../../../QTfrontend/ui/widget/feedbackdialog.cpp" line="150"/>
+ <location filename="../../../../QTfrontend/ui/widget/feedbackdialog.cpp" line="151"/>
<source>Cancel</source>
<translation>Abbrechen</translation>
</message>
<message>
- <location filename="../../../../QTfrontend/ui/widget/feedbackdialog.cpp" line="178"/>
+ <location filename="../../../../QTfrontend/ui/widget/feedbackdialog.cpp" line="179"/>
<source>Send Feedback</source>
<translation>Feedback senden</translation>
</message>
@@ -128,7 +138,7 @@
<translation type="obsolete">Bitte gib uns Feedback!</translation>
</message>
<message>
- <location filename="../../../../QTfrontend/ui/widget/feedbackdialog.cpp" line="91"/>
+ <location filename="../../../../QTfrontend/ui/widget/feedbackdialog.cpp" line="92"/>
<source>We are always happy about suggestions, ideas, or bug reports.</source>
<translation>Wir freuen uns immer über Vorschläge, Ideen oder Fehlerberichte.</translation>
</message>
@@ -141,17 +151,17 @@
<translation type="obsolete">Deine E-Mail-Adresse ist optional, aber wir könnten sie brauchen, um dich zu kontaktieren.</translation>
</message>
<message>
- <location filename="../../../../QTfrontend/ui/widget/feedbackdialog.cpp" line="90"/>
+ <location filename="../../../../QTfrontend/ui/widget/feedbackdialog.cpp" line="91"/>
<source>Send us feedback!</source>
<translation>Schicke uns dein Feedback!</translation>
</message>
<message>
- <location filename="../../../../QTfrontend/ui/widget/feedbackdialog.cpp" line="92"/>
- <source>If you found a bug, you can see if it's already been reported here: </source>
- <translation>Falls du einen Fehler gefunden hast, kannst du hier sehen, ob er bereits bekannt is (auf Englisch):</translation>
- </message>
- <message>
<location filename="../../../../QTfrontend/ui/widget/feedbackdialog.cpp" line="93"/>
+ <source>If you found a bug, you can see if it's already been reported here: </source>
+ <translation>Falls du einen Fehler gefunden hast, kannst du hier sehen, ob er bereits bekannt is (auf Englisch):</translation>
+ </message>
+ <message>
+ <location filename="../../../../QTfrontend/ui/widget/feedbackdialog.cpp" line="94"/>
<source>Your email address is optional, but necessary if you want us to get back at you.</source>
<translation>Deine E-Mail-Adresse ist optional, es sei denn du möchtest, dass wir dir antworten.</translation>
</message>
@@ -207,7 +217,7 @@
<context>
<name>GameUIConfig</name>
<message>
- <location filename="../../../../QTfrontend/gameuiconfig.cpp" line="115"/>
+ <location filename="../../../../QTfrontend/gameuiconfig.cpp" line="116"/>
<source>Guest</source>
<translation>Gast</translation>
</message>
@@ -265,12 +275,12 @@
<translation>Das Spielprofil »%1« wird nicht unterstützt</translation>
</message>
<message>
- <location filename="../../../../QTfrontend/main.cpp" line="102"/>
+ <location filename="../../../../QTfrontend/main.cpp" line="105"/>
<source>Cannot create directory %1</source>
<translation>Das Verzeichnis %1 konnte nicht angelegt werden</translation>
</message>
<message>
- <location filename="../../../../QTfrontend/main.cpp" line="305"/>
+ <location filename="../../../../QTfrontend/main.cpp" line="310"/>
<source>Failed to open data directory:
%1
@@ -281,62 +291,62 @@
Bitte überprüfe deine Installation!</translation>
</message>
<message>
- <location filename="../../../../QTfrontend/main.cpp" line="138"/>
+ <location filename="../../../../QTfrontend/main.cpp" line="141"/>
<source>Usage</source>
<comment>command-line</comment>
<translation>Verwendung</translation>
</message>
<message>
- <location filename="../../../../QTfrontend/main.cpp" line="139"/>
- <source>OPTION</source>
- <comment>command-line</comment>
- <translation>SCHALTER</translation>
- </message>
- <message>
- <location filename="../../../../QTfrontend/main.cpp" line="140"/>
- <location filename="../../../../QTfrontend/main.cpp" line="145"/>
- <source>CONNECTSTRING</source>
- <comment>command-line</comment>
- <translation>VERBINDUNGSTEXT</translation>
- </message>
- <message>
- <location filename="../../../../QTfrontend/main.cpp" line="141"/>
- <source>Options</source>
- <comment>command-line</comment>
- <translation>Schalter</translation>
- </message>
- <message>
<location filename="../../../../QTfrontend/main.cpp" line="142"/>
- <source>Display this help</source>
+ <source>OPTION</source>
<comment>command-line</comment>
- <translation>Diese Hilfe anzeigen</translation>
+ <translation>SCHALTER</translation>
</message>
<message>
<location filename="../../../../QTfrontend/main.cpp" line="143"/>
+ <location filename="../../../../QTfrontend/main.cpp" line="148"/>
+ <source>CONNECTSTRING</source>
+ <comment>command-line</comment>
+ <translation>VERBINDUNGSTEXT</translation>
+ </message>
+ <message>
+ <location filename="../../../../QTfrontend/main.cpp" line="144"/>
+ <source>Options</source>
+ <comment>command-line</comment>
+ <translation>Schalter</translation>
+ </message>
+ <message>
+ <location filename="../../../../QTfrontend/main.cpp" line="145"/>
+ <source>Display this help</source>
+ <comment>command-line</comment>
+ <translation>Diese Hilfe anzeigen</translation>
+ </message>
+ <message>
+ <location filename="../../../../QTfrontend/main.cpp" line="146"/>
<source>Custom path for configuration data and user data</source>
<comment>command-line</comment>
<translation>Benutzerdefinierter Pfad für Konfigurations- und Benutzerdaten</translation>
</message>
<message>
- <location filename="../../../../QTfrontend/main.cpp" line="144"/>
+ <location filename="../../../../QTfrontend/main.cpp" line="147"/>
<source>Custom path to the game data folder</source>
<comment>command-line</comment>
<translation>Benutzerdefinierter Pfad für das Spieldatenverzeichnis</translation>
</message>
<message>
- <location filename="../../../../QTfrontend/main.cpp" line="145"/>
+ <location filename="../../../../QTfrontend/main.cpp" line="148"/>
<source>Hedgewars can use a %1 (e.g. "%2") to connect on start.</source>
<comment>command-line</comment>
<translation>Hedgewars kann ein %1 (z.B. »%2«) verwenden, um beim Start zu verbinden.</translation>
</message>
<message>
- <location filename="../../../../QTfrontend/main.cpp" line="191"/>
+ <location filename="../../../../QTfrontend/main.cpp" line="196"/>
<source>Malformed option argument: %1</source>
<comment>command-line</comment>
<translation>Fehlerhaftes Schalterargument: %1</translation>
</message>
<message>
- <location filename="../../../../QTfrontend/main.cpp" line="231"/>
+ <location filename="../../../../QTfrontend/main.cpp" line="236"/>
<source>Unknown option argument: %1</source>
<comment>command-line</comment>
<translation>Unbekannter Schalter: %1</translation>
@@ -578,18 +588,18 @@
<context>
<name>HWGame</name>
<message>
- <location filename="../../../../QTfrontend/game.cpp" line="399"/>
+ <location filename="../../../../QTfrontend/game.cpp" line="386"/>
<location filename="../../../../QTfrontend/net/recorder.cpp" line="113"/>
<source>en.txt</source>
<translation>de.txt</translation>
</message>
<message>
- <location filename="../../../../QTfrontend/game.cpp" line="449"/>
+ <location filename="../../../../QTfrontend/game.cpp" line="436"/>
<source>Cannot open demofile %1</source>
<translation>Wiederholungsdatei »%1« konnte nicht geöffnet werden</translation>
</message>
<message>
- <location filename="../../../../QTfrontend/game.cpp" line="256"/>
+ <location filename="../../../../QTfrontend/game.cpp" line="255"/>
<source>A Fatal ERROR occured! - The game engine had to stop.
We are very sorry for the inconvenience :(
@@ -609,6 +619,14 @@
</message>
</context>
<context>
+ <name>HWHostPortDialog</name>
+ <message>
+ <location filename="../../../../QTfrontend/ui/dialog/input_ip.cpp" line="66"/>
+ <source>Connect to server</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
<name>HWMapContainer</name>
<message>
<location filename="../../../../QTfrontend/ui/widget/mapContainer.cpp" line="203"/>
@@ -927,17 +945,22 @@
<context>
<name>HatPrompt</name>
<message>
- <location filename="../../../../QTfrontend/ui/widget/hatprompt.cpp" line="119"/>
+ <location filename="../../../../QTfrontend/ui/widget/hatprompt.cpp" line="63"/>
+ <source>Choose a hat</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../../../QTfrontend/ui/widget/hatprompt.cpp" line="120"/>
<source>Cancel</source>
<translation>Abbrechen</translation>
</message>
<message>
- <location filename="../../../../QTfrontend/ui/widget/hatprompt.cpp" line="123"/>
+ <location filename="../../../../QTfrontend/ui/widget/hatprompt.cpp" line="124"/>
<source>Use selected hat</source>
<translation>Gewählten Hut auswählen</translation>
</message>
<message>
- <location filename="../../../../QTfrontend/ui/widget/hatprompt.cpp" line="83"/>
+ <location filename="../../../../QTfrontend/ui/widget/hatprompt.cpp" line="84"/>
<source>Search for a hat:</source>
<translation>Nach einem Hut suchen:</translation>
</message>
@@ -973,27 +996,27 @@
<translation type="obsolete">%1 Bilder pro Sekunde, </translation>
</message>
<message>
- <location filename="../../../../QTfrontend/util/LibavInteraction.cpp" line="305"/>
+ <location filename="../../../../QTfrontend/util/LibavInteraction.cpp" line="314"/>
<source>Audio: </source>
<translation>Audio: </translation>
</message>
<message>
- <location filename="../../../../QTfrontend/util/LibavInteraction.cpp" line="309"/>
+ <location filename="../../../../QTfrontend/util/LibavInteraction.cpp" line="318"/>
<source>unknown</source>
<translation>unbekannt</translation>
</message>
<message>
- <location filename="../../../../QTfrontend/util/LibavInteraction.cpp" line="285"/>
+ <location filename="../../../../QTfrontend/util/LibavInteraction.cpp" line="294"/>
<source>Duration: %1m %2s</source>
<translation>Dauer: %1m %2s</translation>
</message>
<message>
- <location filename="../../../../QTfrontend/util/LibavInteraction.cpp" line="297"/>
+ <location filename="../../../../QTfrontend/util/LibavInteraction.cpp" line="306"/>
<source>Video: %1x%2</source>
<translation>Video: %1x%2</translation>
</message>
<message>
- <location filename="../../../../QTfrontend/util/LibavInteraction.cpp" line="301"/>
+ <location filename="../../../../QTfrontend/util/LibavInteraction.cpp" line="310"/>
<source>%1 fps</source>
<translation>%1 Hz</translation>
</message>
@@ -2683,7 +2706,7 @@
<translation>Tags (durch Kommas getrennt): </translation>
</message>
<message>
- <location filename="../../../../QTfrontend/ui/widget/feedbackdialog.cpp" line="136"/>
+ <location filename="../../../../QTfrontend/ui/widget/feedbackdialog.cpp" line="137"/>
<source>Description</source>
<translation>Beschreibung</translation>
</message>
@@ -2738,22 +2761,22 @@
<translation>Fenster-Auflösung</translation>
</message>
<message>
- <location filename="../../../../QTfrontend/ui/widget/feedbackdialog.cpp" line="103"/>
+ <location filename="../../../../QTfrontend/ui/widget/feedbackdialog.cpp" line="104"/>
<source>Your Email</source>
<translation>Deine E-Mail-Adresse</translation>
</message>
<message>
- <location filename="../../../../QTfrontend/ui/widget/feedbackdialog.cpp" line="111"/>
+ <location filename="../../../../QTfrontend/ui/widget/feedbackdialog.cpp" line="112"/>
<source>Summary</source>
<translation>Zusammenfassung</translation>
</message>
<message>
- <location filename="../../../../QTfrontend/ui/widget/feedbackdialog.cpp" line="121"/>
+ <location filename="../../../../QTfrontend/ui/widget/feedbackdialog.cpp" line="122"/>
<source>Send system information</source>
<translation>Systeminformation senden</translation>
</message>
<message>
- <location filename="../../../../QTfrontend/ui/widget/feedbackdialog.cpp" line="164"/>
+ <location filename="../../../../QTfrontend/ui/widget/feedbackdialog.cpp" line="165"/>
<source>Type the security code:</source>
<translation>Gib den Sicherheitscode ein:</translation>
</message>
@@ -2884,14 +2907,14 @@
<translation>Server konnte nicht gestartet werden</translation>
</message>
<message>
- <location filename="../../../../QTfrontend/ui/widget/feedbackdialog.cpp" line="349"/>
+ <location filename="../../../../QTfrontend/ui/widget/feedbackdialog.cpp" line="350"/>
<location filename="../../../../QTfrontend/util/MessageDialog.cpp" line="26"/>
<source>Hedgewars - Error</source>
<translation>Hedgewars – Fehler</translation>
</message>
<message>
<location filename="../../../../QTfrontend/hwform.cpp" line="2028"/>
- <location filename="../../../../QTfrontend/ui/widget/feedbackdialog.cpp" line="436"/>
+ <location filename="../../../../QTfrontend/ui/widget/feedbackdialog.cpp" line="437"/>
<source>Hedgewars - Success</source>
<translation>Hedgewars – Erfolg</translation>
</message>
@@ -3097,23 +3120,23 @@
<translation>Hedgewars – Spitzname nicht registriert</translation>
</message>
<message>
- <location filename="../../../../QTfrontend/ui/widget/feedbackdialog.cpp" line="359"/>
+ <location filename="../../../../QTfrontend/ui/widget/feedbackdialog.cpp" line="360"/>
<source>System Information Preview</source>
<translation>Systeminformations-Vorschau</translation>
</message>
<message>
- <location filename="../../../../QTfrontend/ui/widget/feedbackdialog.cpp" line="374"/>
- <location filename="../../../../QTfrontend/ui/widget/feedbackdialog.cpp" line="385"/>
+ <location filename="../../../../QTfrontend/ui/widget/feedbackdialog.cpp" line="375"/>
+ <location filename="../../../../QTfrontend/ui/widget/feedbackdialog.cpp" line="386"/>
<source>Failed to generate captcha</source>
<translation>Captcha-Generierung fehlgeschlagen</translation>
</message>
<message>
- <location filename="../../../../QTfrontend/ui/widget/feedbackdialog.cpp" line="402"/>
+ <location filename="../../../../QTfrontend/ui/widget/feedbackdialog.cpp" line="403"/>
<source>Failed to download captcha</source>
<translation>Captcha-Download fehlgeschlagen</translation>
</message>
<message>
- <location filename="../../../../QTfrontend/ui/widget/feedbackdialog.cpp" line="466"/>
+ <location filename="../../../../QTfrontend/ui/widget/feedbackdialog.cpp" line="467"/>
<source>Please fill out all fields. Email is optional.</source>
<translation>Bitte füll alle Felder aus. Das Feld »E-Mail« ist optional.</translation>
</message>
@@ -3316,22 +3339,23 @@
<context>
<name>RoomNamePrompt</name>
<message>
- <location filename="../../../../QTfrontend/ui/widget/roomnameprompt.cpp" line="43"/>
+ <location filename="../../../../QTfrontend/ui/widget/roomnameprompt.cpp" line="44"/>
<source>Enter a name for your room.</source>
<translation>Gib einen Namen für deinen Raum ein.</translation>
</message>
<message>
- <location filename="../../../../QTfrontend/ui/widget/roomnameprompt.cpp" line="72"/>
- <source>Cancel</source>
- <translation>Abbrechen</translation>
- </message>
- <message>
<location filename="../../../../QTfrontend/ui/widget/roomnameprompt.cpp" line="73"/>
+ <source>Cancel</source>
+ <translation>Abbrechen</translation>
+ </message>
+ <message>
+ <location filename="../../../../QTfrontend/ui/widget/roomnameprompt.cpp" line="35"/>
+ <location filename="../../../../QTfrontend/ui/widget/roomnameprompt.cpp" line="74"/>
<source>Create room</source>
<translation>Raum erstellen</translation>
</message>
<message>
- <location filename="../../../../QTfrontend/ui/widget/roomnameprompt.cpp" line="56"/>
+ <location filename="../../../../QTfrontend/ui/widget/roomnameprompt.cpp" line="57"/>
<source>set password</source>
<translation>Kennwort setzen</translation>
</message>
@@ -3407,22 +3431,27 @@
<context>
<name>SeedPrompt</name>
<message>
- <location filename="../../../../QTfrontend/ui/widget/seedprompt.cpp" line="42"/>
+ <location filename="../../../../QTfrontend/ui/widget/seedprompt.cpp" line="34"/>
+ <source>Seed</source>
+ <translation type="unfinished">Seed</translation>
+ </message>
+ <message>
+ <location filename="../../../../QTfrontend/ui/widget/seedprompt.cpp" line="43"/>
<source>The map seed is the basis for all random values generated by the game.</source>
<translation>Der sog. Seed (wörtlich übersetzt: engl. für »Saat«) ist die Basis für alle Zufallswerte, die vom Spiel generiert werden.</translation>
</message>
<message>
- <location filename="../../../../QTfrontend/ui/widget/seedprompt.cpp" line="61"/>
- <source>Cancel</source>
- <translation>Abbrechen</translation>
- </message>
- <message>
<location filename="../../../../QTfrontend/ui/widget/seedprompt.cpp" line="62"/>
+ <source>Cancel</source>
+ <translation>Abbrechen</translation>
+ </message>
+ <message>
+ <location filename="../../../../QTfrontend/ui/widget/seedprompt.cpp" line="63"/>
<source>Set seed</source>
<translation>Seed setzen</translation>
</message>
<message>
- <location filename="../../../../QTfrontend/ui/widget/seedprompt.cpp" line="76"/>
+ <location filename="../../../../QTfrontend/ui/widget/seedprompt.cpp" line="77"/>
<source>Close</source>
<translation>Schließen</translation>
</message>
@@ -3516,17 +3545,22 @@
<context>
<name>ThemePrompt</name>
<message>
- <location filename="../../../../QTfrontend/ui/widget/themeprompt.cpp" line="120"/>
+ <location filename="../../../../QTfrontend/ui/widget/themeprompt.cpp" line="121"/>
<source>Cancel</source>
<translation>Abbrechen</translation>
</message>
<message>
- <location filename="../../../../QTfrontend/ui/widget/themeprompt.cpp" line="84"/>
+ <location filename="../../../../QTfrontend/ui/widget/themeprompt.cpp" line="85"/>
<source>Search for a theme:</source>
<translation>Nach einer Szenerie suchen:</translation>
</message>
<message>
- <location filename="../../../../QTfrontend/ui/widget/themeprompt.cpp" line="124"/>
+ <location filename="../../../../QTfrontend/ui/widget/themeprompt.cpp" line="64"/>
+ <source>Choose a theme</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../../../QTfrontend/ui/widget/themeprompt.cpp" line="125"/>
<source>Use selected theme</source>
<translation>Ausgewählte Szenerie benutzen</translation>
</message>
@@ -3880,39 +3914,39 @@
<context>
<name>binds (keys)</name>
<message>
- <location filename="../../../../QTfrontend/util/SDLInteraction.cpp" line="134"/>
+ <location filename="../../../../QTfrontend/util/SDLInteraction.cpp" line="133"/>
<source>Axis</source>
<translation>Achse</translation>
</message>
<message>
- <location filename="../../../../QTfrontend/util/SDLInteraction.cpp" line="138"/>
- <location filename="../../../../QTfrontend/util/SDLInteraction.cpp" line="153"/>
+ <location filename="../../../../QTfrontend/util/SDLInteraction.cpp" line="137"/>
+ <location filename="../../../../QTfrontend/util/SDLInteraction.cpp" line="152"/>
<source>(Up)</source>
<translation>(Hoch)</translation>
</message>
<message>
- <location filename="../../../../QTfrontend/util/SDLInteraction.cpp" line="142"/>
- <location filename="../../../../QTfrontend/util/SDLInteraction.cpp" line="157"/>
+ <location filename="../../../../QTfrontend/util/SDLInteraction.cpp" line="141"/>
+ <location filename="../../../../QTfrontend/util/SDLInteraction.cpp" line="156"/>
<source>(Down)</source>
<translation>(Runter)</translation>
</message>
<message>
- <location filename="../../../../QTfrontend/util/SDLInteraction.cpp" line="149"/>
+ <location filename="../../../../QTfrontend/util/SDLInteraction.cpp" line="148"/>
<source>Hat</source>
<translation>Cooliehat</translation>
</message>
<message>
- <location filename="../../../../QTfrontend/util/SDLInteraction.cpp" line="161"/>
+ <location filename="../../../../QTfrontend/util/SDLInteraction.cpp" line="160"/>
<source>(Left)</source>
<translation>(Links)</translation>
</message>
<message>
- <location filename="../../../../QTfrontend/util/SDLInteraction.cpp" line="165"/>
+ <location filename="../../../../QTfrontend/util/SDLInteraction.cpp" line="164"/>
<source>(Right)</source>
<translation>(Rechts)</translation>
</message>
<message>
- <location filename="../../../../QTfrontend/util/SDLInteraction.cpp" line="173"/>
+ <location filename="../../../../QTfrontend/util/SDLInteraction.cpp" line="172"/>
<source>Button</source>
<translation>Taste</translation>
</message>
@@ -4280,280 +4314,279 @@
<context>
<name>server</name>
<message>
- <location filename="../../../../QTfrontend/servermessages.h" line="13"/>
+ <location filename="../../../../QTfrontend/servermessages.h" line="40"/>
<source>Authentication failed</source>
<translation>Authentifizierung fehlgeschlagen</translation>
</message>
<message>
- <location filename="../../../../QTfrontend/servermessages.h" line="14"/>
- <source>60 seconds cooldown after kick</source>
- <translation>60 Sekunden Abkühlzeit nach Hinauswurf</translation>
- </message>
- <message>
- <location filename="../../../../QTfrontend/servermessages.h" line="15"/>
- <source>kicked</source>
- <translation>hinausgeworfen</translation>
- </message>
- <message>
- <location filename="../../../../QTfrontend/servermessages.h" line="17"/>
- <source>Ping timeout</source>
- <translation>Ping-Timeout</translation>
- </message>
- <message>
- <location filename="../../../../QTfrontend/servermessages.h" line="18"/>
- <source>bye</source>
- <translation>tschüss</translation>
- </message>
- <message>
- <location filename="../../../../QTfrontend/servermessages.h" line="21"/>
- <source>Your vote counted</source>
- <translation>Deine Stimme zählte</translation>
- </message>
- <message>
- <location filename="../../../../QTfrontend/servermessages.h" line="23"/>
- <source>Pause toggled</source>
- <translation>Pause umgeschaltet</translation>
- </message>
- <message>
- <location filename="../../../../QTfrontend/servermessages.h" line="29"/>
- <source>new seed</source>
- <translation>Neuer Seed</translation>
- </message>
- <message>
- <location filename="../../../../QTfrontend/servermessages.h" line="30"/>
- <source>number of hedgehogs in team</source>
- <translation>Anzahl der Igel im Team</translation>
- </message>
- <message>
- <location filename="../../../../QTfrontend/servermessages.h" line="37"/>
- <source>Empty config entry</source>
- <translation>Leerer Konfigurations-Eintrag</translation>
- </message>
- <message>
- <location filename="../../../../QTfrontend/servermessages.h" line="40"/>
- <source>Corrupted hedgehogs info</source>
- <translation>Kaputte Igel-Info</translation>
- </message>
- <message>
<location filename="../../../../QTfrontend/servermessages.h" line="41"/>
- <source>too many teams</source>
- <translation>zu viele Teams</translation>
+ <source>60 seconds cooldown after kick</source>
+ <translation>60 Sekunden Abkühlzeit nach Hinauswurf</translation>
</message>
<message>
<location filename="../../../../QTfrontend/servermessages.h" line="42"/>
- <source>too many hedgehogs</source>
- <translation>zu viele Igel</translation>
- </message>
- <message>
- <location filename="../../../../QTfrontend/servermessages.h" line="43"/>
- <source>There's already a team with same name in the list</source>
- <translation>Es gibt bereits ein Team mit dem selben Namen in der Liste</translation>
+ <source>kicked</source>
+ <translation>hinausgeworfen</translation>
</message>
<message>
<location filename="../../../../QTfrontend/servermessages.h" line="44"/>
- <source>round in progress</source>
- <translation>laufende Runde</translation>
+ <source>Ping timeout</source>
+ <translation>Ping-Timeout</translation>
</message>
<message>
<location filename="../../../../QTfrontend/servermessages.h" line="45"/>
+ <source>bye</source>
+ <translation>tschüss</translation>
+ </message>
+ <message>
+ <location filename="../../../../QTfrontend/servermessages.h" line="3"/>
+ <source>Your vote counted</source>
+ <translation>Deine Stimme zählte</translation>
+ </message>
+ <message>
+ <location filename="../../../../QTfrontend/servermessages.h" line="5"/>
+ <source>Pause toggled</source>
+ <translation>Pause umgeschaltet</translation>
+ </message>
+ <message>
+ <location filename="../../../../QTfrontend/servermessages.h" line="11"/>
+ <source>new seed</source>
+ <translation>Neuer Seed</translation>
+ </message>
+ <message>
+ <location filename="../../../../QTfrontend/servermessages.h" line="12"/>
+ <source>number of hedgehogs in team</source>
+ <translation>Anzahl der Igel im Team</translation>
+ </message>
+ <message>
+ <location filename="../../../../QTfrontend/servermessages.h" line="14"/>
+ <source>Empty config entry</source>
+ <translation>Leerer Konfigurations-Eintrag</translation>
+ </message>
+ <message>
+ <location filename="../../../../QTfrontend/servermessages.h" line="17"/>
+ <source>Corrupted hedgehogs info</source>
+ <translation>Kaputte Igel-Info</translation>
+ </message>
+ <message>
+ <location filename="../../../../QTfrontend/servermessages.h" line="18"/>
+ <source>too many teams</source>
+ <translation>zu viele Teams</translation>
+ </message>
+ <message>
+ <location filename="../../../../QTfrontend/servermessages.h" line="19"/>
+ <source>too many hedgehogs</source>
+ <translation>zu viele Igel</translation>
+ </message>
+ <message>
+ <location filename="../../../../QTfrontend/servermessages.h" line="20"/>
+ <source>There's already a team with same name in the list</source>
+ <translation>Es gibt bereits ein Team mit dem selben Namen in der Liste</translation>
+ </message>
+ <message>
+ <location filename="../../../../QTfrontend/servermessages.h" line="21"/>
+ <source>round in progress</source>
+ <translation>laufende Runde</translation>
+ </message>
+ <message>
+ <location filename="../../../../QTfrontend/servermessages.h" line="22"/>
<source>restricted</source>
<translation>eingeschränkt</translation>
</message>
<message>
+ <location filename="../../../../QTfrontend/servermessages.h" line="23"/>
+ <source>REMOVE_TEAM: no such team</source>
+ <translation>REMOVE_TEAM: kein solches Team</translation>
+ </message>
+ <message>
+ <location filename="../../../../QTfrontend/servermessages.h" line="24"/>
+ <source>Not team owner!</source>
+ <translation>Nicht Team-Besitzer*In!</translation>
+ </message>
+ <message>
+ <location filename="../../../../QTfrontend/servermessages.h" line="13"/>
+ <source>Less than two clans!</source>
+ <translation>Weniger als zwei Klans!</translation>
+ </message>
+ <message>
+ <location filename="../../../../QTfrontend/servermessages.h" line="26"/>
+ <source>Room with such name already exists</source>
+ <translation>ein Raum mit einem solchen Namen existiert bereits</translation>
+ </message>
+ <message>
+ <location filename="../../../../QTfrontend/servermessages.h" line="27"/>
+ <source>/maxteams: specify number from 2 to 8</source>
+ <translation>/maxteams: Zahl zwischen 2 und 8 wählen</translation>
+ </message>
+ <message>
+ <location filename="../../../../QTfrontend/servermessages.h" line="28"/>
+ <source>Available callvote commands: kick <nickname>, map <name>, pause, newseed, hedgehogs</source>
+ <translation>Verfügbare »callvote«-Befehle: kick <Spitzname>, map <Name>, pause, newseed, hedgehogs</translation>
+ </message>
+ <message>
+ <location filename="../../../../QTfrontend/servermessages.h" line="29"/>
+ <source>callvote kick: specify nickname</source>
+ <translation>callvote kick: Spitznamen festlegen</translation>
+ </message>
+ <message>
+ <location filename="../../../../QTfrontend/servermessages.h" line="30"/>
+ <source>callvote kick: no such user</source>
+ <translation>callvote kick: Benutzer existiert nicht</translation>
+ </message>
+ <message>
+ <location filename="../../../../QTfrontend/servermessages.h" line="31"/>
+ <source>callvote map: no such map</source>
+ <translation>callvote map: Karte existiert nicht</translation>
+ </message>
+ <message>
+ <location filename="../../../../QTfrontend/servermessages.h" line="32"/>
+ <source>callvote pause: no game in progress</source>
+ <translation>callvote pause: es läuft kein Spiel</translation>
+ </message>
+ <message>
+ <location filename="../../../../QTfrontend/servermessages.h" line="33"/>
+ <source>callvote hedgehogs: specify number from 1 to 8</source>
+ <translation>callvote hedgehogs: Zahl zwischen 1 und 8 wählen</translation>
+ </message>
+ <message>
+ <location filename="../../../../QTfrontend/servermessages.h" line="25"/>
+ <source>Illegal room name</source>
+ <translation>Verbotener Raumname</translation>
+ </message>
+ <message>
<location filename="../../../../QTfrontend/servermessages.h" line="46"/>
- <source>REMOVE_TEAM: no such team</source>
- <translation>REMOVE_TEAM: kein solches Team</translation>
- </message>
- <message>
- <location filename="../../../../QTfrontend/servermessages.h" line="47"/>
- <source>Not team owner!</source>
- <translation>Nicht Team-Besitzer*In!</translation>
+ <source>No such room</source>
+ <translation>Ein solcher Raum existiert nicht</translation>
+ </message>
+ <message>
+ <location filename="../../../../QTfrontend/servermessages.h" line="48"/>
+ <source>Joining restricted</source>
+ <translation>Zutritt verboten</translation>
+ </message>
+ <message>
+ <location filename="../../../../QTfrontend/servermessages.h" line="49"/>
+ <source>Registered users only</source>
+ <translation>Nur für registrierte Benutzer</translation>
+ </message>
+ <message>
+ <location filename="../../../../QTfrontend/servermessages.h" line="50"/>
+ <source>You are banned in this room</source>
+ <translation>Du wurdest aus diesem Raum verbannt</translation>
+ </message>
+ <message>
+ <location filename="../../../../QTfrontend/servermessages.h" line="34"/>
+ <source>Nickname already chosen</source>
+ <translation>Spitzname bereits gewählt</translation>
+ </message>
+ <message>
+ <location filename="../../../../QTfrontend/servermessages.h" line="35"/>
+ <source>Illegal nickname</source>
+ <translation>Verbotener Spitzname</translation>
</message>
<message>
<location filename="../../../../QTfrontend/servermessages.h" line="36"/>
- <source>Less than two clans!</source>
- <translation>Weniger als zwei Klans!</translation>
- </message>
- <message>
- <location filename="../../../../QTfrontend/servermessages.h" line="48"/>
- <source>Room with such name already exists</source>
- <translation>ein Raum mit einem solchen Namen existiert bereits</translation>
- </message>
- <message>
- <location filename="../../../../QTfrontend/servermessages.h" line="49"/>
- <source>/maxteams: specify number from 2 to 8</source>
- <translation>/maxteams: Zahl zwischen 2 und 8 wählen</translation>
- </message>
- <message>
- <location filename="../../../../QTfrontend/servermessages.h" line="50"/>
- <source>Available callvote commands: kick <nickname>, map <name>, pause, newseed, hedgehogs</source>
- <translation>Verfügbare »callvote«-Befehle: kick <Spitzname>, map <Name>, pause, newseed, hedgehogs</translation>
+ <source>Protocol already known</source>
+ <translation>Protokoll bereits bekannt</translation>
+ </message>
+ <message>
+ <location filename="../../../../QTfrontend/servermessages.h" line="37"/>
+ <source>Bad number</source>
+ <translation>Schlechte Zahl</translation>
+ </message>
+ <message>
+ <location filename="../../../../QTfrontend/servermessages.h" line="38"/>
+ <source>Nickname is already in use</source>
+ <translation>Spitzname bereits in Benutzung</translation>
+ </message>
+ <message>
+ <location filename="../../../../QTfrontend/servermessages.h" line="15"/>
+ <source>Restricted</source>
+ <translation>Eingeschränkt</translation>
+ </message>
+ <message>
+ <location filename="../../../../QTfrontend/servermessages.h" line="16"/>
+ <source>Not room master</source>
+ <translation>Nicht Gastgeber</translation>
+ </message>
+ <message>
+ <location filename="../../../../QTfrontend/servermessages.h" line="39"/>
+ <source>No checker rights</source>
+ <translation>Keine Rechte zum Benutzen des Inspektionshilfsprogramms</translation>
+ </message>
+ <message>
+ <location filename="../../../../QTfrontend/servermessages.h" line="47"/>
+ <source>Room version incompatible to your hedgewars version</source>
+ <translation>Die Raumversion ist inkompatibel zu deiner Hedgewars-Version</translation>
+ </message>
+ <message>
+ <location filename="../../../../QTfrontend/servermessages.h" line="2"/>
+ <source>You already have voted</source>
+ <translation>Du hast bereits deine Stimme abgegeben</translation>
+ </message>
+ <message>
+ <location filename="../../../../QTfrontend/servermessages.h" line="4"/>
+ <source>Voting closed</source>
+ <translation>Abstimmung abgeschlossen</translation>
+ </message>
+ <message>
+ <location filename="../../../../QTfrontend/servermessages.h" line="6"/>
+ <source>New voting started</source>
+ <translation>Neue Abstimmung gestartet</translation>
+ </message>
+ <message>
+ <location filename="../../../../QTfrontend/servermessages.h" line="7"/>
+ <source>Voting expired</source>
+ <translation>Abstimmung abgelaufen</translation>
+ </message>
+ <message>
+ <location filename="../../../../QTfrontend/servermessages.h" line="8"/>
+ <source>kick</source>
+ <translation>hinauswerfen</translation>
+ </message>
+ <message>
+ <location filename="../../../../QTfrontend/servermessages.h" line="9"/>
+ <source>map</source>
+ <translation>Karte</translation>
+ </message>
+ <message>
+ <location filename="../../../../QTfrontend/servermessages.h" line="10"/>
+ <source>pause</source>
+ <translation>pausieren</translation>
+ </message>
+ <message>
+ <location filename="../../../../QTfrontend/servermessages.h" line="43"/>
+ <source>Reconnected too fast</source>
+ <translation>Zu schnell wieder verbunden</translation>
</message>
<message>
<location filename="../../../../QTfrontend/servermessages.h" line="51"/>
- <source>callvote kick: specify nickname</source>
- <translation>callvote kick: Spitznamen festlegen</translation>
+ <source>Warning! Chat flood protection activated</source>
+ <translatorcomment>Nicht jeder weiß, was »Flooding« heißt, daher ist die Übersetzung etwas ausführlicher.</translatorcomment>
+ <translation>Achtung! Chat-Flood-Schutz ist aktiv. Bitte red etwas langsamer.</translation>
</message>
<message>
<location filename="../../../../QTfrontend/servermessages.h" line="52"/>
- <source>callvote kick: no such user</source>
- <translation>callvote kick: Benutzer existiert nicht</translation>
+ <source>Excess flood</source>
+ <translatorcomment>Nicht jeder weiß, was »Flooding« heißt, daher wird es hier umschrieben.</translatorcomment>
+ <translation>Zu viele Nachrichten in kurzer Zeit abgeschickt</translation>
</message>
<message>
<location filename="../../../../QTfrontend/servermessages.h" line="53"/>
- <source>callvote map: no such map</source>
- <translation>callvote map: Karte existiert nicht</translation>
+ <source>Game messages flood detected - 1</source>
+ <translation>Zu viele Spielnachrichten in kurzer Zeit ermittelt – 1</translation>
+ </message>
+ <message>
+ <source>Game messages flood detected - 2</source>
+ <translation type="obsolete">Zu viele Spielnachrichten in kurzer Zeit ermittelt – 2</translation>
</message>
<message>
<location filename="../../../../QTfrontend/servermessages.h" line="54"/>
- <source>callvote pause: no game in progress</source>
- <translation>callvote pause: es läuft kein Spiel</translation>
+ <source>Warning! Joins flood protection activated</source>
+ <translatorcomment>Nicht jeder weiß, was »Flooding« heißt, daher ist die Übersetzung etwas ausführlicher und umschreibend.</translatorcomment>
+ <translation>Achtung! Der Server wird ein zu schnelles Beitreten in kurzer Zeit nicht akzeptieren</translation>
</message>
<message>
<location filename="../../../../QTfrontend/servermessages.h" line="55"/>
- <source>callvote hedgehogs: specify number from 1 to 8</source>
- <translation>callvote hedgehogs: Zahl zwischen 1 und 8 wählen</translation>
- </message>
- <message>
- <location filename="../../../../QTfrontend/servermessages.h" line="56"/>
- <source>Illegal room name</source>
- <translation>Verbotener Raumname</translation>
- </message>
- <message>
- <location filename="../../../../QTfrontend/servermessages.h" line="2"/>
- <source>No such room</source>
- <translation>Ein solcher Raum existiert nicht</translation>
- </message>
- <message>
- <location filename="../../../../QTfrontend/servermessages.h" line="4"/>
- <source>Joining restricted</source>
- <translation>Zutritt verboten</translation>
- </message>
- <message>
- <location filename="../../../../QTfrontend/servermessages.h" line="5"/>
- <source>Registered users only</source>
- <translation>Nur für registrierte Benutzer</translation>
- </message>
- <message>
- <location filename="../../../../QTfrontend/servermessages.h" line="6"/>
- <source>You are banned in this room</source>
- <translation>Du wurdest aus diesem Raum verbannt</translation>
- </message>
- <message>
- <location filename="../../../../QTfrontend/servermessages.h" line="7"/>
- <source>Nickname already chosen</source>
- <translation>Spitzname bereits gewählt</translation>
- </message>
- <message>
- <location filename="../../../../QTfrontend/servermessages.h" line="8"/>
- <source>Illegal nickname</source>
- <translation>Verbotener Spitzname</translation>
- </message>
- <message>
- <location filename="../../../../QTfrontend/servermessages.h" line="9"/>
- <source>Protocol already known</source>
- <translation>Protokoll bereits bekannt</translation>
- </message>
- <message>
- <location filename="../../../../QTfrontend/servermessages.h" line="10"/>
- <source>Bad number</source>
- <translation>Schlechte Zahl</translation>
- </message>
- <message>
- <location filename="../../../../QTfrontend/servermessages.h" line="11"/>
- <source>Nickname is already in use</source>
- <translation>Spitzname bereits in Benutzung</translation>
- </message>
- <message>
- <location filename="../../../../QTfrontend/servermessages.h" line="38"/>
- <source>Restricted</source>
- <translation>Eingeschränkt</translation>
- </message>
- <message>
- <location filename="../../../../QTfrontend/servermessages.h" line="39"/>
- <source>Not room master</source>
- <translation>Nicht Gastgeber</translation>
- </message>
- <message>
- <location filename="../../../../QTfrontend/servermessages.h" line="12"/>
- <source>No checker rights</source>
- <translation>Keine Rechte zum Benutzen des Inspektionshilfsprogramms</translation>
- </message>
- <message>
- <location filename="../../../../QTfrontend/servermessages.h" line="3"/>
- <source>Room version incompatible to your hedgewars version</source>
- <translation>Die Raumversion ist inkompatibel zu deiner Hedgewars-Version</translation>
- </message>
- <message>
- <location filename="../../../../QTfrontend/servermessages.h" line="20"/>
- <source>You already have voted</source>
- <translation>Du hast bereits deine Stimme abgegeben</translation>
- </message>
- <message>
- <location filename="../../../../QTfrontend/servermessages.h" line="22"/>
- <source>Voting closed</source>
- <translation>Abstimmung abgeschlossen</translation>
- </message>
- <message>
- <location filename="../../../../QTfrontend/servermessages.h" line="24"/>
- <source>New voting started</source>
- <translation>Neue Abstimmung gestartet</translation>
- </message>
- <message>
- <location filename="../../../../QTfrontend/servermessages.h" line="25"/>
- <source>Voting expired</source>
- <translation>Abstimmung abgelaufen</translation>
- </message>
- <message>
- <location filename="../../../../QTfrontend/servermessages.h" line="26"/>
- <source>kick</source>
- <translation>hinauswerfen</translation>
- </message>
- <message>
- <location filename="../../../../QTfrontend/servermessages.h" line="27"/>
- <source>map</source>
- <translation>Karte</translation>
- </message>
- <message>
- <location filename="../../../../QTfrontend/servermessages.h" line="28"/>
- <source>pause</source>
- <translation>pausieren</translation>
- </message>
- <message>
- <location filename="../../../../QTfrontend/servermessages.h" line="16"/>
- <source>Reconnected too fast</source>
- <translation>Zu schnell wieder verbunden</translation>
- </message>
- <message>
- <location filename="../../../../QTfrontend/servermessages.h" line="31"/>
- <source>Warning! Chat flood protection activated</source>
- <translatorcomment>Nicht jeder weiß, was »Flooding« heißt, daher ist die Übersetzung etwas ausführlicher.</translatorcomment>
- <translation>Achtung! Chat-Flood-Schutz ist aktiv. Bitte red etwas langsamer.</translation>
- </message>
- <message>
- <location filename="../../../../QTfrontend/servermessages.h" line="32"/>
- <source>Excess flood</source>
- <translatorcomment>Nicht jeder weiß, was »Flooding« heißt, daher wird es hier umschrieben.</translatorcomment>
- <translation>Zu viele Nachrichten in kurzer Zeit abgeschickt</translation>
- </message>
- <message>
- <location filename="../../../../QTfrontend/servermessages.h" line="33"/>
- <source>Game messages flood detected - 1</source>
- <translation>Zu viele Spielnachrichten in kurzer Zeit ermittelt – 1</translation>
- </message>
- <message>
- <location filename="../../../../QTfrontend/servermessages.h" line="34"/>
- <source>Game messages flood detected - 2</source>
- <translation>Zu viele Spielnachrichten in kurzer Zeit ermittelt – 2</translation>
- </message>
- <message>
- <location filename="../../../../QTfrontend/servermessages.h" line="35"/>
- <source>Warning! Joins flood protection activated</source>
- <translatorcomment>Nicht jeder weiß, was »Flooding« heißt, daher ist die Übersetzung etwas ausführlicher und umschreibend.</translatorcomment>
- <translation>Achtung! Der Server wird ein zu schnelles Beitreten in kurzer Zeit nicht akzeptieren</translation>
- </message>
- <message>
- <location filename="../../../../QTfrontend/servermessages.h" line="19"/>
<source>There's no voting going on</source>
<translation>Zur Zeit findet keine Abstimmung statt</translation>
</message>
--- a/share/hedgewars/Data/Locale/hedgewars_el.ts Fri Jan 01 19:15:32 2016 +0300
+++ b/share/hedgewars/Data/Locale/hedgewars_el.ts Tue Feb 09 21:11:16 2016 +0300
@@ -76,6 +76,10 @@
<source>permanent</source>
<translation type="unfinished"></translation>
</message>
+ <message>
+ <source>Ban player</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>DataManager</name>
@@ -114,6 +118,10 @@
<source>Your email address is optional, but necessary if you want us to get back at you.</source>
<translation type="unfinished"></translation>
</message>
+ <message>
+ <source>Feedback</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>FreqSpinBox</name>
@@ -465,6 +473,13 @@
</message>
</context>
<context>
+ <name>HWHostPortDialog</name>
+ <message>
+ <source>Connect to server</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
<name>HWMapContainer</name>
<message>
<source>All</source>
@@ -690,6 +705,10 @@
<source>Password:</source>
<translation type="unfinished"></translation>
</message>
+ <message>
+ <source>New Account</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>HWUploadVideoDialog</name>
@@ -723,6 +742,10 @@
<source>Search for a hat:</source>
<translation type="unfinished"></translation>
</message>
+ <message>
+ <source>Choose a hat</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>KB</name>
@@ -1692,6 +1715,14 @@
<source>Show games in-progress</source>
<translation type="unfinished"></translation>
</message>
+ <message>
+ <source>Show password protected</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Show join restricted</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>QCheckBox</name>
@@ -2194,6 +2225,10 @@
<source>Script parameter</source>
<translation type="unfinished"></translation>
</message>
+ <message>
+ <source>Air Mines</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>QLineEdit</name>
@@ -2662,6 +2697,10 @@
<source>Close</source>
<translation type="unfinished"></translation>
</message>
+ <message>
+ <source>Seed</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>SelWeaponWidget</name>
@@ -2732,6 +2771,10 @@
<source>Use selected theme</source>
<translation type="unfinished"></translation>
</message>
+ <message>
+ <source>Choose a theme</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>binds</name>
@@ -3496,10 +3539,6 @@
<translation type="unfinished"></translation>
</message>
<message>
- <source>Game messages flood detected - 2</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
<source>Warning! Joins flood protection activated</source>
<translation type="unfinished"></translation>
</message>
@@ -3507,5 +3546,49 @@
<source>There's no voting going on</source>
<translation type="unfinished"></translation>
</message>
+ <message>
+ <source>Your vote counted</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Pause toggled</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>new seed</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>number of hedgehogs in team</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>/maxteams: specify number from 2 to 8</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Available callvote commands: kick <nickname>, map <name>, pause, newseed, hedgehogs</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>callvote kick: specify nickname</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>callvote kick: no such user</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>callvote map: no such map</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>callvote pause: no game in progress</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>callvote hedgehogs: specify number from 1 to 8</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
</TS>
--- a/share/hedgewars/Data/Locale/hedgewars_en.ts Fri Jan 01 19:15:32 2016 +0300
+++ b/share/hedgewars/Data/Locale/hedgewars_en.ts Tue Feb 09 21:11:16 2016 +0300
@@ -76,6 +76,10 @@
<source>permanent</source>
<translation type="unfinished"></translation>
</message>
+ <message>
+ <source>Ban player</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>DataManager</name>
@@ -114,6 +118,10 @@
<source>Your email address is optional, but necessary if you want us to get back at you.</source>
<translation type="unfinished"></translation>
</message>
+ <message>
+ <source>Feedback</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>FreqSpinBox</name>
@@ -463,6 +471,13 @@
</message>
</context>
<context>
+ <name>HWHostPortDialog</name>
+ <message>
+ <source>Connect to server</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
<name>HWMapContainer</name>
<message>
<source>All</source>
@@ -688,6 +703,10 @@
<source>Password:</source>
<translation type="unfinished"></translation>
</message>
+ <message>
+ <source>New Account</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>HWUploadVideoDialog</name>
@@ -721,6 +740,10 @@
<source>Search for a hat:</source>
<translation type="unfinished"></translation>
</message>
+ <message>
+ <source>Choose a hat</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>KB</name>
@@ -1674,6 +1697,14 @@
<source>Show games in-progress</source>
<translation type="unfinished"></translation>
</message>
+ <message>
+ <source>Show password protected</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Show join restricted</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>QCheckBox</name>
@@ -2160,6 +2191,10 @@
<source>Script parameter</source>
<translation type="unfinished"></translation>
</message>
+ <message>
+ <source>Air Mines</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>QLineEdit</name>
@@ -2628,6 +2663,10 @@
<source>Close</source>
<translation type="unfinished"></translation>
</message>
+ <message>
+ <source>Seed</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>SelWeaponWidget</name>
@@ -2698,6 +2737,10 @@
<source>Use selected theme</source>
<translation type="unfinished"></translation>
</message>
+ <message>
+ <source>Choose a theme</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>binds</name>
@@ -3462,10 +3505,6 @@
<translation type="unfinished"></translation>
</message>
<message>
- <source>Game messages flood detected - 2</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
<source>Warning! Joins flood protection activated</source>
<translation type="unfinished"></translation>
</message>
@@ -3473,5 +3512,49 @@
<source>There's no voting going on</source>
<translation type="unfinished"></translation>
</message>
+ <message>
+ <source>Your vote counted</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Pause toggled</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>new seed</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>number of hedgehogs in team</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>/maxteams: specify number from 2 to 8</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Available callvote commands: kick <nickname>, map <name>, pause, newseed, hedgehogs</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>callvote kick: specify nickname</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>callvote kick: no such user</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>callvote map: no such map</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>callvote pause: no game in progress</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>callvote hedgehogs: specify number from 1 to 8</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
</TS>
--- a/share/hedgewars/Data/Locale/hedgewars_es.ts Fri Jan 01 19:15:32 2016 +0300
+++ b/share/hedgewars/Data/Locale/hedgewars_es.ts Tue Feb 09 21:11:16 2016 +0300
@@ -80,6 +80,10 @@
<source>permanent</source>
<translation type="unfinished"></translation>
</message>
+ <message>
+ <source>Ban player</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>DataManager</name>
@@ -118,6 +122,10 @@
<source>Your email address is optional, but necessary if you want us to get back at you.</source>
<translation type="unfinished"></translation>
</message>
+ <message>
+ <source>Feedback</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>FreqSpinBox</name>
@@ -471,6 +479,13 @@
</message>
</context>
<context>
+ <name>HWHostPortDialog</name>
+ <message>
+ <source>Connect to server</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
<name>HWMapContainer</name>
<message>
<source>All</source>
@@ -696,6 +711,10 @@
<source>Password:</source>
<translation type="unfinished"></translation>
</message>
+ <message>
+ <source>New Account</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>HWUploadVideoDialog</name>
@@ -729,6 +748,10 @@
<source>Search for a hat:</source>
<translation type="unfinished"></translation>
</message>
+ <message>
+ <source>Choose a hat</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>KB</name>
@@ -1698,6 +1721,14 @@
<source>Show games in-progress</source>
<translation type="unfinished"></translation>
</message>
+ <message>
+ <source>Show password protected</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Show join restricted</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>QCheckBox</name>
@@ -2200,6 +2231,10 @@
<source>Script parameter</source>
<translation type="unfinished"></translation>
</message>
+ <message>
+ <source>Air Mines</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>QLineEdit</name>
@@ -2668,6 +2703,10 @@
<source>Close</source>
<translation type="unfinished"></translation>
</message>
+ <message>
+ <source>Seed</source>
+ <translation type="unfinished">Semilla</translation>
+ </message>
</context>
<context>
<name>SelWeaponWidget</name>
@@ -2742,6 +2781,10 @@
<source>Use selected theme</source>
<translation type="unfinished"></translation>
</message>
+ <message>
+ <source>Choose a theme</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>binds</name>
@@ -3506,10 +3549,6 @@
<translation type="unfinished"></translation>
</message>
<message>
- <source>Game messages flood detected - 2</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
<source>Warning! Joins flood protection activated</source>
<translation type="unfinished"></translation>
</message>
@@ -3517,5 +3556,49 @@
<source>There's no voting going on</source>
<translation type="unfinished"></translation>
</message>
+ <message>
+ <source>Your vote counted</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Pause toggled</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>new seed</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>number of hedgehogs in team</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>/maxteams: specify number from 2 to 8</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Available callvote commands: kick <nickname>, map <name>, pause, newseed, hedgehogs</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>callvote kick: specify nickname</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>callvote kick: no such user</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>callvote map: no such map</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>callvote pause: no game in progress</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>callvote hedgehogs: specify number from 1 to 8</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
</TS>
--- a/share/hedgewars/Data/Locale/hedgewars_fi.ts Fri Jan 01 19:15:32 2016 +0300
+++ b/share/hedgewars/Data/Locale/hedgewars_fi.ts Tue Feb 09 21:11:16 2016 +0300
@@ -1,15 +1,11 @@
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE TS>
<TS version="2.0" language="fi">
-
-<!-- Finnish translation updated by Janne Uusitupa <ju@cockli> on 2014/11/23. -->
-<!-- Based on the older translation. -->
-
<context>
<name>About</name>
<message>
<source>Unknown Compiler</source>
- <translation>Tuntematon kääntäjä</translation>
+ <translation>Tuntematon kääntäjä</translation>
</message>
</context>
<context>
@@ -27,7 +23,7 @@
</message>
<message>
<source>copy of %1</source>
- <translation>%1 kopio</translation>
+ <translation>%1 kopio</translation>
</message>
</context>
<context>
@@ -42,7 +38,7 @@
</message>
<message>
<source>IP/Nick</source>
- <translation>IP/Nimi</translation>
+ <translation>IP/Nimi</translation>
</message>
<message>
<source>Reason</source>
@@ -70,7 +66,7 @@
</message>
<message>
<source>Please, specify %1</source>
- <translation>Tarkenna: %1</translation>
+ <translation>Tarkenna: %1</translation>
</message>
<message>
<source>nickname</source>
@@ -80,6 +76,10 @@
<source>permanent</source>
<translation>ikuinen</translation>
</message>
+ <message>
+ <source>Ban player</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>DataManager</name>
@@ -118,6 +118,10 @@
<source>Your email address is optional, but necessary if you want us to get back at you.</source>
<translation>Sähköposti on valinnainen, jos et halua meidän ottavan yhteyttä.</translation>
</message>
+ <message>
+ <source>Feedback</source>
+ <translation type="unfinished">Palaute</translation>
+ </message>
</context>
<context>
<name>FreqSpinBox</name>
@@ -202,7 +206,7 @@
</message>
<message>
<source>Scheme '%1' not supported</source>
- <translation>Säännöille '%1' ei ole tukea</translation>
+ <translation>Säännöille '%1' ei ole tukea</translation>
</message>
<message>
<source>Cannot create directory %1</source>
@@ -213,7 +217,7 @@
%1
Please check your installation!</source>
- <translation>Hakemiston avaaminen epäonnistui:
+ <translation>Hakemiston avaaminen epäonnistui:
%1
Tarkista, että peli on asennettu oikein!</translation>
@@ -374,7 +378,7 @@
<message>
<source>Someone already uses your nickname %1 on the server.
Please pick another nickname:</source>
- <translation>Nimimerkkisi %1 on jo käytössä.
+ <translation>Nimimerkkisi %1 on jo käytössä.
Valiste jokin muu:</translation>
</message>
<message>
@@ -391,7 +395,7 @@
If this nick isn't yours, please register your own nick at www.hedgewars.org
Password:</source>
- <translation>Tämä nimimerkki on rekisteröity, etkä antanut salasanaa.
+ <translation>Tämä nimimerkki on rekisteröity, etkä antanut salasanaa.
Jos tämä ei ole nimesi, rekisteröi omasi osoitteessa hedgewars.org
@@ -401,7 +405,7 @@
<source>Your nickname is not registered.
To prevent someone else from using it,
please register it at www.hedgewars.org</source>
- <translation>Nimimerkkiäsi ei ole rekisteröity.
+ <translation>Nimimerkkiäsi ei ole rekisteröity.
Estääksesi muita käyttämästä sitä,
voit rekisteröidä sen osoitteessa hedgewars.org</translation>
</message>
@@ -409,7 +413,7 @@
<source>
Your password wasn't saved either.</source>
- <translation>
+ <translation>
Salasanaasi ei tallennettu.</translation>
</message>
@@ -436,7 +440,7 @@
<message>
<source>You reconnected too fast.
Please wait a few seconds and try again.</source>
- <translation>Yhdistit uudelleen liian pian.
+ <translation>Yhdistit uudelleen liian pian.
Odota hetki ja yritä uudelleen.</translation>
</message>
<message>
@@ -454,7 +458,7 @@
<message>
<source>The room is protected with password.
Please, enter the password:</source>
- <translation>Huoneeseen pääsee vain salasanalla.
+ <translation>Huoneeseen pääsee vain salasanalla.
Salasana:</translation>
</message>
</context>
@@ -477,7 +481,7 @@
Last two engine messages:
%2</source>
- <translation>Vakava virhe tapahtui, ja pelimoottori kaatui!
+ <translation>Vakava virhe tapahtui, ja pelimoottori kaatui!
Olemme pahoillamme, että näin pääsi käymään :(
@@ -488,6 +492,13 @@
</message>
</context>
<context>
+ <name>HWHostPortDialog</name>
+ <message>
+ <source>Connect to server</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
<name>HWMapContainer</name>
<message>
<source>All</source>
@@ -703,7 +714,7 @@
If you don't have an account on www.hedgewars.org,
just enter your nickname.</source>
- <translation>Kirjaudu yhdistääksesi palvelimelle.
+ <translation>Kirjaudu yhdistääksesi palvelimelle.
Jos et ole rekisteröitynyt,
pelkkä nimimerkki riittää.</translation>
@@ -718,7 +729,7 @@
</message>
<message>
<source>New Account</source>
- <translation>Rekisteröidy</translation>
+ <translation>Rekisteröidy</translation>
</message>
</context>
<context>
@@ -753,6 +764,10 @@
<source>Search for a hat:</source>
<translation>Etsi hattua:</translation>
</message>
+ <message>
+ <source>Choose a hat</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>KB</name>
@@ -788,7 +803,7 @@
</message>
<message>
<source>%1 fps</source>
- <translation>%1 kuvaa/s</translation>
+ <translation>%1 kuvaa/s</translation>
</message>
</context>
<context>
@@ -838,7 +853,7 @@
</message>
<message>
<source>IP/Nick</source>
- <translation>IP/Nimim</translation>
+ <translation>IP/Nimim</translation>
</message>
<message>
<source>Expiration</source>
@@ -1106,7 +1121,7 @@
</message>
<message>
<source>Manage videos recorded from game</source>
- <translation>Hallinnoi peleistä nauhoitettuja videoita</translation>
+ <translation>Hallinnoi peleistä nauhoitettuja videoita</translation>
</message>
<message>
<source>Edit game preferences</source>
@@ -1604,7 +1619,7 @@
</message>
<message>
<source>Load a previously saved game</source>
- <translation>Avaa tallennettu peli</translation>
+ <translation>Avaa tallennettu peli</translation>
</message>
</context>
<context>
@@ -1722,6 +1737,14 @@
<source>Show games in-progress</source>
<translation>Näytä alkaneet pelit</translation>
</message>
+ <message>
+ <source>Show password protected</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Show join restricted</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>QCheckBox</name>
@@ -1866,27 +1889,27 @@
</message>
<message>
<source>Red/Cyan</source>
- <translation>Punainen/Syaani</translation>
+ <translation>Punainen/Syaani</translation>
</message>
<message>
<source>Cyan/Red</source>
- <translation>Syaani/Punainen</translation>
+ <translation>Syaani/Punainen</translation>
</message>
<message>
<source>Red/Blue</source>
- <translation>Punainen/Sininen</translation>
+ <translation>Punainen/Sininen</translation>
</message>
<message>
<source>Blue/Red</source>
- <translation>Sininen/Punainen</translation>
+ <translation>Sininen/Punainen</translation>
</message>
<message>
<source>Red/Green</source>
- <translation>Punainen/Vihreä</translation>
+ <translation>Punainen/Vihreä</translation>
</message>
<message>
<source>Green/Red</source>
- <translation>Vihreä/Punainen</translation>
+ <translation>Vihreä/Punainen</translation>
</message>
<message>
<source>Side-by-side</source>
@@ -1898,27 +1921,27 @@
</message>
<message>
<source>Red/Cyan grayscale</source>
- <translation>Punainen/Syaani harmaasävy</translation>
+ <translation>Punainen/Syaani harmaasävy</translation>
</message>
<message>
<source>Cyan/Red grayscale</source>
- <translation>Syaani/Punainen harmaasävy</translation>
+ <translation>Syaani/Punainen harmaasävy</translation>
</message>
<message>
<source>Red/Blue grayscale</source>
- <translation>Punainen/Sininen harmaasävy</translation>
+ <translation>Punainen/Sininen harmaasävy</translation>
</message>
<message>
<source>Blue/Red grayscale</source>
- <translation>Sininen/Punainen harmaasävy</translation>
+ <translation>Sininen/Punainen harmaasävy</translation>
</message>
<message>
<source>Red/Green grayscale</source>
- <translation>Punainen/Vihreä harmaasävy</translation>
+ <translation>Punainen/Vihreä harmaasävy</translation>
</message>
<message>
<source>Green/Red grayscale</source>
- <translation>Vihreä/Punainen harmaasävy</translation>
+ <translation>Vihreä/Punainen harmaasävy</translation>
</message>
</context>
<context>
@@ -2110,7 +2133,7 @@
<source>There are videos that are currently being processed.
Exiting now will abort them.
Do you really want to quit?</source>
- <translation>Videoiden prosessointi on käynnissä.
+ <translation>Videoiden prosessointi on käynnissä.
Sulkeminen keskeyttää tämän.
Haluatko varmasti lopettaa?</translation>
</message>
@@ -2136,7 +2159,7 @@
</message>
<message>
<source>Tags (comma separated): </source>
- <translation>Hakusanat (pilkulla eroteltuna): </translation>
+ <translation>Hakusanat (pilkulla eroteltuna): </translation>
</message>
<message>
<source>Description</source>
@@ -2196,7 +2219,7 @@
</message>
<message>
<source>Type the security code:</source>
- <translation>Todista, että olet ihminen:</translation>
+ <translation>Todista, että olet ihminen:</translation>
</message>
<message>
<source>Revision</source>
@@ -2226,6 +2249,10 @@
<source>Script parameter</source>
<translation>Skriptin parametri</translation>
</message>
+ <message>
+ <source>Air Mines</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>QLineEdit</name>
@@ -2266,7 +2293,7 @@
<message>
<source>Error while authenticating at google.com:
</source>
- <translation>Virhe kirjautuessa google.comiin:
+ <translation>Virhe kirjautuessa google.comiin:
</translation>
</message>
<message>
@@ -2276,7 +2303,7 @@
<message>
<source>Error while sending metadata to youtube.com:
</source>
- <translation>Virhe lähetettäessä oheistietoja youtube.comiin:
+ <translation>Virhe lähetettäessä oheistietoja youtube.comiin:
</translation>
</message>
<message>
@@ -2410,7 +2437,7 @@
</message>
<message>
<source>Cannot open '%1' for reading</source>
- <translation>Ei voi avata '%1' lukua varten</translation>
+ <translation>Ei voi avata '%1' lukua varten</translation>
</message>
<message>
<source>Cannot use the ammo '%1'!</source>
@@ -2471,7 +2498,7 @@
<message>
<source>Are you sure you want to start this game?
Not all players are ready.</source>
- <translation>Haluatko varmasti aloittaa pelin?
+ <translation>Haluatko varmasti aloittaa pelin?
Kaikki pelaajat eivät ole valmiita.</translation>
</message>
</context>
@@ -2697,6 +2724,10 @@
<source>Close</source>
<translation>Sulje</translation>
</message>
+ <message>
+ <source>Seed</source>
+ <translation type="unfinished">Siemen</translation>
+ </message>
</context>
<context>
<name>SelWeaponWidget</name>
@@ -2734,7 +2765,7 @@
<message>
<source>Unable to run engine at %1
Error code: %2</source>
- <translation>Pelimoottorin käynnistäminen %1:ssä epäonnistui
+ <translation>Pelimoottorin käynnistäminen %1:ssä epäonnistui
Vikakoodi: %2</translation>
</message>
<message>
@@ -2744,7 +2775,7 @@
We are very sorry for the inconvenience :(
If this keeps happening, please click the '%2' button in the main menu!</source>
- <translation>Pelimoottori kaatui yllättäen!
+ <translation>Pelimoottori kaatui yllättäen!
(Vikakoodi: %1)
Olemme pahoillamme tapahtuneesta :(
@@ -2773,6 +2804,10 @@
<source>Use selected theme</source>
<translation>Käytä valittua teemaa</translation>
</message>
+ <message>
+ <source>Choose a theme</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>binds</name>
@@ -2794,7 +2829,7 @@
</message>
<message>
<source>attack</source>
- <translation>hyökkäys</translation>
+ <translation>hyökkäys</translation>
</message>
<message>
<source>precise aim</source>
@@ -2946,7 +2981,7 @@
</message>
<message>
<source>autocam / find hedgehog</source>
- <translation>automaattikamera / etsi siili</translation>
+ <translation>automaattikamera / etsi siili</translation>
</message>
<message>
<source>speed up replay</source>
@@ -3450,7 +3485,7 @@
</message>
<message>
<source>Authentication failed</source>
- <translation>Tunnistautuminen epäonnistui</translation>
+ <translation>Tunnistautuminen epäonnistui</translation>
</message>
<message>
<source>60 seconds cooldown after kick</source>
@@ -3514,7 +3549,7 @@
</message>
<message>
<source>map</source>
- <translation>kartta</translation>
+ <translation>kartta</translation>
</message>
<message>
<source>pause</source>
@@ -3538,7 +3573,7 @@
</message>
<message>
<source>Game messages flood detected - 2</source>
- <translation>Peliviestien tulva havaittu - 2</translation>
+ <translation type="obsolete">Peliviestien tulva havaittu - 2</translation>
</message>
<message>
<source>Warning! Joins flood protection activated</source>
@@ -3548,5 +3583,49 @@
<source>There's no voting going on</source>
<translation>Äänestyksiä ei ole meneillään</translation>
</message>
+ <message>
+ <source>Your vote counted</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Pause toggled</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>new seed</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>number of hedgehogs in team</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>/maxteams: specify number from 2 to 8</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Available callvote commands: kick <nickname>, map <name>, pause, newseed, hedgehogs</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>callvote kick: specify nickname</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>callvote kick: no such user</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>callvote map: no such map</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>callvote pause: no game in progress</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>callvote hedgehogs: specify number from 1 to 8</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
-</TS>
\ No newline at end of file
+</TS>
--- a/share/hedgewars/Data/Locale/hedgewars_fr.ts Fri Jan 01 19:15:32 2016 +0300
+++ b/share/hedgewars/Data/Locale/hedgewars_fr.ts Tue Feb 09 21:11:16 2016 +0300
@@ -80,6 +80,10 @@
<source>permanent</source>
<translation>Permanent</translation>
</message>
+ <message>
+ <source>Ban player</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>DataManager</name>
@@ -130,6 +134,10 @@
<source>Your email address is optional, but necessary if you want us to get back at you.</source>
<translation>L'adresse email est optionnelle, mais nécessaire si vous voulez que l'on vous recontacte.</translation>
</message>
+ <message>
+ <source>Feedback</source>
+ <translation type="unfinished">Contact</translation>
+ </message>
</context>
<context>
<name>FreqSpinBox</name>
@@ -492,6 +500,13 @@
</message>
</context>
<context>
+ <name>HWHostPortDialog</name>
+ <message>
+ <source>Connect to server</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
<name>HWMapContainer</name>
<message>
<source>All</source>
@@ -724,6 +739,10 @@
<source>Password:</source>
<translation>Mot de passe:</translation>
</message>
+ <message>
+ <source>New Account</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>HWUploadVideoDialog</name>
@@ -757,6 +776,10 @@
<source>Search for a hat:</source>
<translation>Chercher un chapeau:</translation>
</message>
+ <message>
+ <source>Choose a hat</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>KB</name>
@@ -1754,6 +1777,14 @@
<source>Show games in-progress</source>
<translation>Parties en cours</translation>
</message>
+ <message>
+ <source>Show password protected</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Show join restricted</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>QCheckBox</name>
@@ -2258,6 +2289,10 @@
<source>Script parameter</source>
<translation type="unfinished"></translation>
</message>
+ <message>
+ <source>Air Mines</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>QLineEdit</name>
@@ -2733,6 +2768,10 @@
<source>Close</source>
<translation>Fermer</translation>
</message>
+ <message>
+ <source>Seed</source>
+ <translation type="unfinished">Graine</translation>
+ </message>
</context>
<context>
<name>SelWeaponWidget</name>
@@ -2815,6 +2854,10 @@
<source>Use selected theme</source>
<translation>Utiliser le thème séléctionné</translation>
</message>
+ <message>
+ <source>Choose a theme</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>binds</name>
@@ -3580,10 +3623,6 @@
<translation type="unfinished"></translation>
</message>
<message>
- <source>Game messages flood detected - 2</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
<source>Warning! Joins flood protection activated</source>
<translation type="unfinished"></translation>
</message>
@@ -3591,5 +3630,49 @@
<source>There's no voting going on</source>
<translation type="unfinished"></translation>
</message>
+ <message>
+ <source>Your vote counted</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Pause toggled</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>new seed</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>number of hedgehogs in team</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>/maxteams: specify number from 2 to 8</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Available callvote commands: kick <nickname>, map <name>, pause, newseed, hedgehogs</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>callvote kick: specify nickname</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>callvote kick: no such user</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>callvote map: no such map</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>callvote pause: no game in progress</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>callvote hedgehogs: specify number from 1 to 8</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
</TS>
--- a/share/hedgewars/Data/Locale/hedgewars_gl.ts Fri Jan 01 19:15:32 2016 +0300
+++ b/share/hedgewars/Data/Locale/hedgewars_gl.ts Tue Feb 09 21:11:16 2016 +0300
@@ -76,6 +76,10 @@
<source>permanent</source>
<translation type="unfinished"></translation>
</message>
+ <message>
+ <source>Ban player</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>DataManager</name>
@@ -114,6 +118,10 @@
<source>Your email address is optional, but necessary if you want us to get back at you.</source>
<translation type="unfinished"></translation>
</message>
+ <message>
+ <source>Feedback</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>FreqSpinBox</name>
@@ -463,6 +471,13 @@
</message>
</context>
<context>
+ <name>HWHostPortDialog</name>
+ <message>
+ <source>Connect to server</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
<name>HWMapContainer</name>
<message>
<source>All</source>
@@ -688,6 +703,10 @@
<source>Password:</source>
<translation type="unfinished"></translation>
</message>
+ <message>
+ <source>New Account</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>HWUploadVideoDialog</name>
@@ -721,6 +740,10 @@
<source>Search for a hat:</source>
<translation type="unfinished"></translation>
</message>
+ <message>
+ <source>Choose a hat</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>KB</name>
@@ -1678,6 +1701,14 @@
<source>Show games in-progress</source>
<translation type="unfinished"></translation>
</message>
+ <message>
+ <source>Show password protected</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Show join restricted</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>QCheckBox</name>
@@ -2164,6 +2195,10 @@
<source>Script parameter</source>
<translation type="unfinished"></translation>
</message>
+ <message>
+ <source>Air Mines</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>QLineEdit</name>
@@ -2631,6 +2666,10 @@
<source>Close</source>
<translation type="unfinished"></translation>
</message>
+ <message>
+ <source>Seed</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>SelWeaponWidget</name>
@@ -2701,6 +2740,10 @@
<source>Use selected theme</source>
<translation type="unfinished"></translation>
</message>
+ <message>
+ <source>Choose a theme</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>binds</name>
@@ -3465,10 +3508,6 @@
<translation type="unfinished"></translation>
</message>
<message>
- <source>Game messages flood detected - 2</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
<source>Warning! Joins flood protection activated</source>
<translation type="unfinished"></translation>
</message>
@@ -3476,5 +3515,49 @@
<source>There's no voting going on</source>
<translation type="unfinished"></translation>
</message>
+ <message>
+ <source>Your vote counted</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Pause toggled</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>new seed</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>number of hedgehogs in team</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>/maxteams: specify number from 2 to 8</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Available callvote commands: kick <nickname>, map <name>, pause, newseed, hedgehogs</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>callvote kick: specify nickname</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>callvote kick: no such user</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>callvote map: no such map</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>callvote pause: no game in progress</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>callvote hedgehogs: specify number from 1 to 8</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
</TS>
--- a/share/hedgewars/Data/Locale/hedgewars_hu.ts Fri Jan 01 19:15:32 2016 +0300
+++ b/share/hedgewars/Data/Locale/hedgewars_hu.ts Tue Feb 09 21:11:16 2016 +0300
@@ -76,6 +76,10 @@
<source>permanent</source>
<translation type="unfinished"></translation>
</message>
+ <message>
+ <source>Ban player</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>DataManager</name>
@@ -114,6 +118,10 @@
<source>Your email address is optional, but necessary if you want us to get back at you.</source>
<translation type="unfinished"></translation>
</message>
+ <message>
+ <source>Feedback</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>FreqSpinBox</name>
@@ -457,6 +465,13 @@
</message>
</context>
<context>
+ <name>HWHostPortDialog</name>
+ <message>
+ <source>Connect to server</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
<name>HWMapContainer</name>
<message>
<source>All</source>
@@ -682,6 +697,10 @@
<source>Password:</source>
<translation type="unfinished"></translation>
</message>
+ <message>
+ <source>New Account</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>HWUploadVideoDialog</name>
@@ -715,6 +734,10 @@
<source>Search for a hat:</source>
<translation type="unfinished"></translation>
</message>
+ <message>
+ <source>Choose a hat</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>KB</name>
@@ -1662,6 +1685,14 @@
<source>Show games in-progress</source>
<translation type="unfinished"></translation>
</message>
+ <message>
+ <source>Show password protected</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Show join restricted</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>QCheckBox</name>
@@ -2148,6 +2179,10 @@
<source>Script parameter</source>
<translation type="unfinished"></translation>
</message>
+ <message>
+ <source>Air Mines</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>QLineEdit</name>
@@ -2614,6 +2649,10 @@
<source>Close</source>
<translation type="unfinished"></translation>
</message>
+ <message>
+ <source>Seed</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>SelWeaponWidget</name>
@@ -2684,6 +2723,10 @@
<source>Use selected theme</source>
<translation type="unfinished"></translation>
</message>
+ <message>
+ <source>Choose a theme</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>binds</name>
@@ -3448,10 +3491,6 @@
<translation type="unfinished"></translation>
</message>
<message>
- <source>Game messages flood detected - 2</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
<source>Warning! Joins flood protection activated</source>
<translation type="unfinished"></translation>
</message>
@@ -3459,5 +3498,49 @@
<source>There's no voting going on</source>
<translation type="unfinished"></translation>
</message>
+ <message>
+ <source>Your vote counted</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Pause toggled</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>new seed</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>number of hedgehogs in team</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>/maxteams: specify number from 2 to 8</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Available callvote commands: kick <nickname>, map <name>, pause, newseed, hedgehogs</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>callvote kick: specify nickname</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>callvote kick: no such user</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>callvote map: no such map</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>callvote pause: no game in progress</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>callvote hedgehogs: specify number from 1 to 8</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
</TS>
--- a/share/hedgewars/Data/Locale/hedgewars_it.ts Fri Jan 01 19:15:32 2016 +0300
+++ b/share/hedgewars/Data/Locale/hedgewars_it.ts Tue Feb 09 21:11:16 2016 +0300
@@ -76,6 +76,10 @@
<source>permanent</source>
<translation>permanente</translation>
</message>
+ <message>
+ <source>Ban player</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>DataManager</name>
@@ -114,6 +118,10 @@
<source>Your email address is optional, but necessary if you want us to get back at you.</source>
<translation>Il tuo indirizzo di posta elettronica è opzionale, ma potremmo volerti contattare.</translation>
</message>
+ <message>
+ <source>Feedback</source>
+ <translation type="unfinished">Opinioni</translation>
+ </message>
</context>
<context>
<name>FreqSpinBox</name>
@@ -252,7 +260,7 @@
<message>
<source>Hedgewars can use a %1 (e.g. "%2") to connect on start.</source>
<comment>command-line</comment>
- <translation>Hedgewars può usare un %1 (per esempio "%2") per connettersi all'avvio.</translation>
+ <translation>Hedgewars può usare un %1 (per esempio "%2") per connettersi all'avvio.</translation>
</message>
<message>
<source>Malformed option argument: %1</source>
@@ -475,7 +483,7 @@
%2</source>
<translation>ERRORE non recuperabile! Il motore di gioco si è dovuto arrestare.
-Ci dispiace molto per l'inconveniente :(
+Ci dispiace molto per l'inconveniente :(
Se continua a succedere, per piacere clicca il bottone '%1' nel menu principale!
@@ -484,6 +492,13 @@
</message>
</context>
<context>
+ <name>HWHostPortDialog</name>
+ <message>
+ <source>Connect to server</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
<name>HWMapContainer</name>
<message>
<source>All</source>
@@ -708,6 +723,10 @@
<source>Password:</source>
<translation>Password:</translation>
</message>
+ <message>
+ <source>New Account</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>HWUploadVideoDialog</name>
@@ -741,6 +760,10 @@
<source>Search for a hat:</source>
<translation>Cerca un cappello:</translation>
</message>
+ <message>
+ <source>Choose a hat</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>KeyBinder</name>
@@ -1667,6 +1690,14 @@
<source>Show games in-progress</source>
<translation>Mostra partite in corso</translation>
</message>
+ <message>
+ <source>Show password protected</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Show join restricted</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>QCheckBox</name>
@@ -2151,6 +2182,10 @@
<source>Script parameter</source>
<translation>Parametro dello script</translation>
</message>
+ <message>
+ <source>Air Mines</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>QLineEdit</name>
@@ -2612,6 +2647,10 @@
<source>Close</source>
<translation>Chiudi</translation>
</message>
+ <message>
+ <source>Seed</source>
+ <translation type="unfinished">Seed</translation>
+ </message>
</context>
<context>
<name>SelWeaponWidget</name>
@@ -2662,7 +2701,7 @@
<translation>Il motore del gioco è morto inaspettatamente!
(codice di uscita %1)
-Ci dispiace molto per l'inconveniente :(
+Ci dispiace molto per l'inconveniente :(
Se questo continua a succedere, per piacere clicca il bottone '%2' nel menu principale!</translation>
</message>
@@ -2688,6 +2727,10 @@
<source>Use selected theme</source>
<translation>Usa tema selezionato</translation>
</message>
+ <message>
+ <source>Choose a theme</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>binds</name>
@@ -3445,7 +3488,7 @@
</message>
<message>
<source>Game messages flood detected - 2</source>
- <translation>Rilevato numero messaggi di gioco eccessivo - 2</translation>
+ <translation type="obsolete">Rilevato numero messaggi di gioco eccessivo - 2</translation>
</message>
<message>
<source>Warning! Joins flood protection activated</source>
@@ -3455,5 +3498,49 @@
<source>There's no voting going on</source>
<translation>Non ci sono votazioni in questo momento</translation>
</message>
+ <message>
+ <source>Your vote counted</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Pause toggled</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>new seed</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>number of hedgehogs in team</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>/maxteams: specify number from 2 to 8</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Available callvote commands: kick <nickname>, map <name>, pause, newseed, hedgehogs</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>callvote kick: specify nickname</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>callvote kick: no such user</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>callvote map: no such map</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>callvote pause: no game in progress</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>callvote hedgehogs: specify number from 1 to 8</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
</TS>
--- a/share/hedgewars/Data/Locale/hedgewars_ja.ts Fri Jan 01 19:15:32 2016 +0300
+++ b/share/hedgewars/Data/Locale/hedgewars_ja.ts Tue Feb 09 21:11:16 2016 +0300
@@ -80,6 +80,10 @@
<source>permanent</source>
<translation type="unfinished"></translation>
</message>
+ <message>
+ <source>Ban player</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>DataManager</name>
@@ -118,6 +122,10 @@
<source>Your email address is optional, but necessary if you want us to get back at you.</source>
<translation type="unfinished"></translation>
</message>
+ <message>
+ <source>Feedback</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>FreqSpinBox</name>
@@ -461,6 +469,13 @@
</message>
</context>
<context>
+ <name>HWHostPortDialog</name>
+ <message>
+ <source>Connect to server</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
<name>HWMapContainer</name>
<message>
<source>All</source>
@@ -686,6 +701,10 @@
<source>Password:</source>
<translation type="unfinished"></translation>
</message>
+ <message>
+ <source>New Account</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>HWUploadVideoDialog</name>
@@ -719,6 +738,10 @@
<source>Search for a hat:</source>
<translation type="unfinished"></translation>
</message>
+ <message>
+ <source>Choose a hat</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>KB</name>
@@ -1662,6 +1685,14 @@
<source>Show games in-progress</source>
<translation type="unfinished"></translation>
</message>
+ <message>
+ <source>Show password protected</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Show join restricted</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>QCheckBox</name>
@@ -2148,6 +2179,10 @@
<source>Script parameter</source>
<translation type="unfinished"></translation>
</message>
+ <message>
+ <source>Air Mines</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>QLineEdit</name>
@@ -2614,6 +2649,10 @@
<source>Close</source>
<translation type="unfinished"></translation>
</message>
+ <message>
+ <source>Seed</source>
+ <translation type="unfinished">乱数シード</translation>
+ </message>
</context>
<context>
<name>SelWeaponWidget</name>
@@ -2688,6 +2727,10 @@
<source>Use selected theme</source>
<translation type="unfinished"></translation>
</message>
+ <message>
+ <source>Choose a theme</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>binds</name>
@@ -3448,10 +3491,6 @@
<translation type="unfinished"></translation>
</message>
<message>
- <source>Game messages flood detected - 2</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
<source>Warning! Joins flood protection activated</source>
<translation type="unfinished"></translation>
</message>
@@ -3459,5 +3498,49 @@
<source>There's no voting going on</source>
<translation type="unfinished"></translation>
</message>
+ <message>
+ <source>Your vote counted</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Pause toggled</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>new seed</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>number of hedgehogs in team</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>/maxteams: specify number from 2 to 8</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Available callvote commands: kick <nickname>, map <name>, pause, newseed, hedgehogs</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>callvote kick: specify nickname</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>callvote kick: no such user</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>callvote map: no such map</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>callvote pause: no game in progress</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>callvote hedgehogs: specify number from 1 to 8</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
</TS>
--- a/share/hedgewars/Data/Locale/hedgewars_ko.ts Fri Jan 01 19:15:32 2016 +0300
+++ b/share/hedgewars/Data/Locale/hedgewars_ko.ts Tue Feb 09 21:11:16 2016 +0300
@@ -76,6 +76,10 @@
<source>permanent</source>
<translation type="unfinished"></translation>
</message>
+ <message>
+ <source>Ban player</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>DataManager</name>
@@ -114,6 +118,10 @@
<source>Your email address is optional, but necessary if you want us to get back at you.</source>
<translation type="unfinished"></translation>
</message>
+ <message>
+ <source>Feedback</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>FreqSpinBox</name>
@@ -457,6 +465,13 @@
</message>
</context>
<context>
+ <name>HWHostPortDialog</name>
+ <message>
+ <source>Connect to server</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
<name>HWMapContainer</name>
<message>
<source>All</source>
@@ -678,6 +693,10 @@
<source>Password:</source>
<translation type="unfinished"></translation>
</message>
+ <message>
+ <source>New Account</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>HWUploadVideoDialog</name>
@@ -711,6 +730,10 @@
<source>Search for a hat:</source>
<translation type="unfinished"></translation>
</message>
+ <message>
+ <source>Choose a hat</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>KeyBinder</name>
@@ -1627,6 +1650,14 @@
<source>Show games in-progress</source>
<translation type="unfinished"></translation>
</message>
+ <message>
+ <source>Show password protected</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Show join restricted</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>QCheckBox</name>
@@ -2109,6 +2140,10 @@
<source>Script parameter</source>
<translation type="unfinished"></translation>
</message>
+ <message>
+ <source>Air Mines</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>QLineEdit</name>
@@ -2567,6 +2602,10 @@
<source>Close</source>
<translation type="unfinished"></translation>
</message>
+ <message>
+ <source>Seed</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>SelWeaponWidget</name>
@@ -2637,6 +2676,10 @@
<source>Use selected theme</source>
<translation type="unfinished"></translation>
</message>
+ <message>
+ <source>Choose a theme</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>binds</name>
@@ -3393,10 +3436,6 @@
<translation type="unfinished"></translation>
</message>
<message>
- <source>Game messages flood detected - 2</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
<source>Warning! Joins flood protection activated</source>
<translation type="unfinished"></translation>
</message>
@@ -3404,5 +3443,49 @@
<source>There's no voting going on</source>
<translation type="unfinished"></translation>
</message>
+ <message>
+ <source>Your vote counted</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Pause toggled</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>new seed</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>number of hedgehogs in team</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>/maxteams: specify number from 2 to 8</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Available callvote commands: kick <nickname>, map <name>, pause, newseed, hedgehogs</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>callvote kick: specify nickname</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>callvote kick: no such user</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>callvote map: no such map</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>callvote pause: no game in progress</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>callvote hedgehogs: specify number from 1 to 8</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
</TS>
--- a/share/hedgewars/Data/Locale/hedgewars_lt.ts Fri Jan 01 19:15:32 2016 +0300
+++ b/share/hedgewars/Data/Locale/hedgewars_lt.ts Tue Feb 09 21:11:16 2016 +0300
@@ -20,12 +20,12 @@
<context>
<name>AmmoSchemeModel</name>
<message>
- <location filename="../../../../QTfrontend/model/ammoSchemeModel.cpp" line="697"/>
+ <location filename="../../../../QTfrontend/model/ammoSchemeModel.cpp" line="758"/>
<source>new</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/model/ammoSchemeModel.cpp" line="703"/>
+ <location filename="../../../../QTfrontend/model/ammoSchemeModel.cpp" line="764"/>
<source>copy of %1</source>
<translation type="unfinished"></translation>
</message>
@@ -39,7 +39,7 @@
</message>
<message>
<location filename="../../../../QTfrontend/ui/dialog/bandialog.cpp" line="41"/>
- <location filename="../../../../QTfrontend/ui/dialog/bandialog.cpp" line="87"/>
+ <location filename="../../../../QTfrontend/ui/dialog/bandialog.cpp" line="88"/>
<source>IP</source>
<translation type="unfinished"></translation>
</message>
@@ -74,22 +74,27 @@
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/ui/dialog/bandialog.cpp" line="80"/>
+ <location filename="../../../../QTfrontend/ui/dialog/bandialog.cpp" line="61"/>
+ <source>Ban player</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../../../QTfrontend/ui/dialog/bandialog.cpp" line="81"/>
<source>you know why</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/ui/dialog/bandialog.cpp" line="87"/>
+ <location filename="../../../../QTfrontend/ui/dialog/bandialog.cpp" line="88"/>
<source>Warning</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/ui/dialog/bandialog.cpp" line="87"/>
+ <location filename="../../../../QTfrontend/ui/dialog/bandialog.cpp" line="88"/>
<source>Please, specify %1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/ui/dialog/bandialog.cpp" line="87"/>
+ <location filename="../../../../QTfrontend/ui/dialog/bandialog.cpp" line="88"/>
<source>nickname</source>
<translation type="unfinished"></translation>
</message>
@@ -105,37 +110,42 @@
<context>
<name>FeedbackDialog</name>
<message>
- <location filename="../../../../QTfrontend/ui/widget/feedbackdialog.cpp" line="91"/>
+ <location filename="../../../../QTfrontend/ui/widget/feedbackdialog.cpp" line="92"/>
<source>We are always happy about suggestions, ideas, or bug reports.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/ui/widget/feedbackdialog.cpp" line="90"/>
+ <location filename="../../../../QTfrontend/ui/widget/feedbackdialog.cpp" line="91"/>
<source>Send us feedback!</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/ui/widget/feedbackdialog.cpp" line="92"/>
- <source>If you found a bug, you can see if it's already been reported here: </source>
+ <location filename="../../../../QTfrontend/ui/widget/feedbackdialog.cpp" line="63"/>
+ <source>Feedback</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../../QTfrontend/ui/widget/feedbackdialog.cpp" line="93"/>
+ <source>If you found a bug, you can see if it's already been reported here: </source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../../../QTfrontend/ui/widget/feedbackdialog.cpp" line="94"/>
<source>Your email address is optional, but necessary if you want us to get back at you.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/ui/widget/feedbackdialog.cpp" line="124"/>
+ <location filename="../../../../QTfrontend/ui/widget/feedbackdialog.cpp" line="125"/>
<source>View</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/ui/widget/feedbackdialog.cpp" line="150"/>
+ <location filename="../../../../QTfrontend/ui/widget/feedbackdialog.cpp" line="151"/>
<source>Cancel</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/ui/widget/feedbackdialog.cpp" line="178"/>
+ <location filename="../../../../QTfrontend/ui/widget/feedbackdialog.cpp" line="179"/>
<source>Send Feedback</source>
<translation type="unfinished"></translation>
</message>
@@ -188,7 +198,7 @@
<context>
<name>GameUIConfig</name>
<message>
- <location filename="../../../../QTfrontend/gameuiconfig.cpp" line="115"/>
+ <location filename="../../../../QTfrontend/gameuiconfig.cpp" line="116"/>
<source>Guest</source>
<translation type="unfinished"></translation>
</message>
@@ -251,72 +261,73 @@
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/main.cpp" line="102"/>
+ <location filename="../../../../QTfrontend/main.cpp" line="105"/>
<source>Cannot create directory %1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/main.cpp" line="138"/>
- <source>Usage</source>
- <comment>command-line</comment>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../../../QTfrontend/main.cpp" line="139"/>
- <source>OPTION</source>
- <comment>command-line</comment>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../../../QTfrontend/main.cpp" line="140"/>
- <source>CONNECTSTRING</source>
- <comment>command-line</comment>
- <translation type="unfinished"></translation>
- </message>
- <message>
<location filename="../../../../QTfrontend/main.cpp" line="141"/>
- <source>Options</source>
+ <source>Usage</source>
<comment>command-line</comment>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../../QTfrontend/main.cpp" line="142"/>
- <source>Display this help</source>
+ <source>OPTION</source>
<comment>command-line</comment>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../../QTfrontend/main.cpp" line="143"/>
- <source>Custom path for configuration data and user data</source>
+ <location filename="../../../../QTfrontend/main.cpp" line="148"/>
+ <source>CONNECTSTRING</source>
<comment>command-line</comment>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../../QTfrontend/main.cpp" line="144"/>
- <source>Custom path to the game data folder</source>
+ <source>Options</source>
<comment>command-line</comment>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../../QTfrontend/main.cpp" line="145"/>
+ <source>Display this help</source>
+ <comment>command-line</comment>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../../../QTfrontend/main.cpp" line="146"/>
+ <source>Custom path for configuration data and user data</source>
+ <comment>command-line</comment>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../../../QTfrontend/main.cpp" line="147"/>
+ <source>Custom path to the game data folder</source>
+ <comment>command-line</comment>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../../../QTfrontend/main.cpp" line="148"/>
<source>Hedgewars can use a %1 (e.g. "%2") to connect on start.</source>
<comment>command-line</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/main.cpp" line="191"/>
+ <location filename="../../../../QTfrontend/main.cpp" line="196"/>
<source>Malformed option argument: %1</source>
<comment>command-line</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/main.cpp" line="231"/>
+ <location filename="../../../../QTfrontend/main.cpp" line="236"/>
<source>Unknown option argument: %1</source>
<comment>command-line</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/main.cpp" line="305"/>
+ <location filename="../../../../QTfrontend/main.cpp" line="310"/>
<source>Failed to open data directory:
%1
@@ -335,67 +346,67 @@
<context>
<name>HWChatWidget</name>
<message>
- <location filename="../../../../QTfrontend/ui/widget/chatwidget.cpp" line="505"/>
+ <location filename="../../../../QTfrontend/ui/widget/chatwidget.cpp" line="509"/>
<source>%1 has joined</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/ui/widget/chatwidget.cpp" line="526"/>
+ <location filename="../../../../QTfrontend/ui/widget/chatwidget.cpp" line="530"/>
<source>%1 has left</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/ui/widget/chatwidget.cpp" line="528"/>
+ <location filename="../../../../QTfrontend/ui/widget/chatwidget.cpp" line="532"/>
<source>%1 has left (%2)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/ui/widget/chatwidget.cpp" line="657"/>
+ <location filename="../../../../QTfrontend/ui/widget/chatwidget.cpp" line="661"/>
<source>%1 has been removed from your ignore list</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/ui/widget/chatwidget.cpp" line="667"/>
+ <location filename="../../../../QTfrontend/ui/widget/chatwidget.cpp" line="671"/>
<source>%1 has been added to your ignore list</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/ui/widget/chatwidget.cpp" line="697"/>
+ <location filename="../../../../QTfrontend/ui/widget/chatwidget.cpp" line="701"/>
<source>%1 has been removed from your friends list</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/ui/widget/chatwidget.cpp" line="706"/>
+ <location filename="../../../../QTfrontend/ui/widget/chatwidget.cpp" line="710"/>
<source>%1 has been added to your friends list</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/ui/widget/chatwidget.cpp" line="772"/>
+ <location filename="../../../../QTfrontend/ui/widget/chatwidget.cpp" line="776"/>
<source>Stylesheet imported from %1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/ui/widget/chatwidget.cpp" line="773"/>
+ <location filename="../../../../QTfrontend/ui/widget/chatwidget.cpp" line="777"/>
<source>Enter %1 if you want to use the current StyleSheet in future, enter %2 to reset!</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/ui/widget/chatwidget.cpp" line="781"/>
+ <location filename="../../../../QTfrontend/ui/widget/chatwidget.cpp" line="785"/>
<source>Couldn't read %1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/ui/widget/chatwidget.cpp" line="789"/>
+ <location filename="../../../../QTfrontend/ui/widget/chatwidget.cpp" line="793"/>
<source>StyleSheet discarded</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/ui/widget/chatwidget.cpp" line="813"/>
+ <location filename="../../../../QTfrontend/ui/widget/chatwidget.cpp" line="817"/>
<source>StyleSheet saved to %1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/ui/widget/chatwidget.cpp" line="816"/>
+ <location filename="../../../../QTfrontend/ui/widget/chatwidget.cpp" line="820"/>
<source>Failed to save StyleSheet to %1</source>
<translation type="unfinished"></translation>
</message>
@@ -403,52 +414,52 @@
<context>
<name>HWForm</name>
<message>
- <location filename="../../../../QTfrontend/hwform.cpp" line="481"/>
+ <location filename="../../../../QTfrontend/hwform.cpp" line="479"/>
<source>DefaultTeam</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/hwform.cpp" line="641"/>
+ <location filename="../../../../QTfrontend/hwform.cpp" line="639"/>
<source>Game aborted</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/hwform.cpp" line="1126"/>
+ <location filename="../../../../QTfrontend/hwform.cpp" line="1124"/>
<source>Nickname</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/hwform.cpp" line="1131"/>
- <location filename="../../../../QTfrontend/hwform.cpp" line="1452"/>
+ <location filename="../../../../QTfrontend/hwform.cpp" line="1129"/>
+ <location filename="../../../../QTfrontend/hwform.cpp" line="1450"/>
<source>No nickname supplied.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/hwform.cpp" line="1126"/>
+ <location filename="../../../../QTfrontend/hwform.cpp" line="1124"/>
<source>Someone already uses your nickname %1 on the server.
Please pick another nickname:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../../QTfrontend/hwform.cpp" line="156"/>
- <location filename="../../../../QTfrontend/hwform.cpp" line="476"/>
- <location filename="../../../../QTfrontend/hwform.cpp" line="1399"/>
- <location filename="../../../../QTfrontend/hwform.cpp" line="1418"/>
+ <location filename="../../../../QTfrontend/hwform.cpp" line="474"/>
+ <location filename="../../../../QTfrontend/hwform.cpp" line="1397"/>
+ <location filename="../../../../QTfrontend/hwform.cpp" line="1416"/>
<source>Guest</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/hwform.cpp" line="485"/>
+ <location filename="../../../../QTfrontend/hwform.cpp" line="483"/>
<source>%1's Team</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/hwform.cpp" line="1080"/>
+ <location filename="../../../../QTfrontend/hwform.cpp" line="1078"/>
<source>Hedgewars - Nick registered</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/hwform.cpp" line="1081"/>
+ <location filename="../../../../QTfrontend/hwform.cpp" line="1079"/>
<source>This nick is registered, and you haven't specified a password.
If this nick isn't yours, please register your own nick at www.hedgewars.org
@@ -457,92 +468,92 @@
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/hwform.cpp" line="1109"/>
+ <location filename="../../../../QTfrontend/hwform.cpp" line="1107"/>
<source>Your nickname is not registered.
To prevent someone else from using it,
please register it at www.hedgewars.org</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/hwform.cpp" line="1114"/>
+ <location filename="../../../../QTfrontend/hwform.cpp" line="1112"/>
<source>
Your password wasn't saved either.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/hwform.cpp" line="1131"/>
- <location filename="../../../../QTfrontend/hwform.cpp" line="1452"/>
+ <location filename="../../../../QTfrontend/hwform.cpp" line="1129"/>
+ <location filename="../../../../QTfrontend/hwform.cpp" line="1450"/>
<source>Hedgewars - Empty nickname</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/hwform.cpp" line="1158"/>
+ <location filename="../../../../QTfrontend/hwform.cpp" line="1156"/>
<source>Hedgewars - Wrong password</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/hwform.cpp" line="1158"/>
+ <location filename="../../../../QTfrontend/hwform.cpp" line="1156"/>
<source>You entered a wrong password.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/hwform.cpp" line="1170"/>
+ <location filename="../../../../QTfrontend/hwform.cpp" line="1168"/>
<source>Room password</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/hwform.cpp" line="1170"/>
+ <location filename="../../../../QTfrontend/hwform.cpp" line="1168"/>
<source>The room is protected with password.
Please, enter the password:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/hwform.cpp" line="1186"/>
+ <location filename="../../../../QTfrontend/hwform.cpp" line="1184"/>
<source>Try Again</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/hwform.cpp" line="1556"/>
+ <location filename="../../../../QTfrontend/hwform.cpp" line="1554"/>
<source>Hedgewars - Connection error</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/hwform.cpp" line="1556"/>
+ <location filename="../../../../QTfrontend/hwform.cpp" line="1554"/>
<source>You reconnected too fast.
Please wait a few seconds and try again.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/hwform.cpp" line="1713"/>
- <location filename="../../../../QTfrontend/hwform.cpp" line="2060"/>
+ <location filename="../../../../QTfrontend/hwform.cpp" line="1711"/>
+ <location filename="../../../../QTfrontend/hwform.cpp" line="2058"/>
<source>Cannot save record to file %1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/hwform.cpp" line="1990"/>
+ <location filename="../../../../QTfrontend/hwform.cpp" line="1988"/>
<source>Hedgewars Demo File</source>
<comment>File Types</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/hwform.cpp" line="1991"/>
+ <location filename="../../../../QTfrontend/hwform.cpp" line="1989"/>
<source>Hedgewars Save File</source>
<comment>File Types</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/hwform.cpp" line="2052"/>
+ <location filename="../../../../QTfrontend/hwform.cpp" line="2050"/>
<source>Demo name</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/hwform.cpp" line="2052"/>
+ <location filename="../../../../QTfrontend/hwform.cpp" line="2050"/>
<source>Demo name:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/hwform.cpp" line="2120"/>
+ <location filename="../../../../QTfrontend/hwform.cpp" line="2118"/>
<source>This page requires an internet connection.</source>
<translation type="unfinished"></translation>
</message>
@@ -550,7 +561,7 @@
<context>
<name>HWGame</name>
<message>
- <location filename="../../../../QTfrontend/game.cpp" line="252"/>
+ <location filename="../../../../QTfrontend/game.cpp" line="255"/>
<source>A Fatal ERROR occured! - The game engine had to stop.
We are very sorry for the inconvenience :(
@@ -562,182 +573,190 @@
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/game.cpp" line="383"/>
+ <location filename="../../../../QTfrontend/game.cpp" line="386"/>
<location filename="../../../../QTfrontend/net/recorder.cpp" line="113"/>
<source>en.txt</source>
<translation>lt.txt</translation>
</message>
<message>
- <location filename="../../../../QTfrontend/game.cpp" line="433"/>
+ <location filename="../../../../QTfrontend/game.cpp" line="436"/>
<source>Cannot open demofile %1</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
+ <name>HWHostPortDialog</name>
+ <message>
+ <location filename="../../../../QTfrontend/ui/dialog/input_ip.cpp" line="66"/>
+ <source>Connect to server</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
<name>HWMapContainer</name>
<message>
- <location filename="../../../../QTfrontend/ui/widget/mapContainer.cpp" line="100"/>
+ <location filename="../../../../QTfrontend/ui/widget/mapContainer.cpp" line="103"/>
<source>Map type:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/ui/widget/mapContainer.cpp" line="103"/>
- <source>Image map</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../../../QTfrontend/ui/widget/mapContainer.cpp" line="104"/>
- <source>Mission map</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../../../QTfrontend/ui/widget/mapContainer.cpp" line="105"/>
- <source>Hand-drawn</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
<location filename="../../../../QTfrontend/ui/widget/mapContainer.cpp" line="106"/>
- <source>Randomly generated</source>
+ <source>Image map</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../../QTfrontend/ui/widget/mapContainer.cpp" line="107"/>
- <source>Random maze</source>
+ <source>Mission map</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../../QTfrontend/ui/widget/mapContainer.cpp" line="108"/>
+ <source>Hand-drawn</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../../../QTfrontend/ui/widget/mapContainer.cpp" line="109"/>
+ <source>Randomly generated</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../../../QTfrontend/ui/widget/mapContainer.cpp" line="110"/>
+ <source>Random maze</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../../../QTfrontend/ui/widget/mapContainer.cpp" line="111"/>
<source>Random perlin</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/ui/widget/mapContainer.cpp" line="118"/>
+ <location filename="../../../../QTfrontend/ui/widget/mapContainer.cpp" line="121"/>
<source>Random</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/ui/widget/mapContainer.cpp" line="142"/>
+ <location filename="../../../../QTfrontend/ui/widget/mapContainer.cpp" line="145"/>
<source>Map preview:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/ui/widget/mapContainer.cpp" line="181"/>
+ <location filename="../../../../QTfrontend/ui/widget/mapContainer.cpp" line="184"/>
<source>Load map drawing</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/ui/widget/mapContainer.cpp" line="187"/>
+ <location filename="../../../../QTfrontend/ui/widget/mapContainer.cpp" line="190"/>
<source>Edit map drawing</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/ui/widget/mapContainer.cpp" line="200"/>
- <source>All</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../../../QTfrontend/ui/widget/mapContainer.cpp" line="201"/>
- <source>Small</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../../../QTfrontend/ui/widget/mapContainer.cpp" line="202"/>
- <source>Medium</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
<location filename="../../../../QTfrontend/ui/widget/mapContainer.cpp" line="203"/>
- <source>Large</source>
+ <source>All</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../../QTfrontend/ui/widget/mapContainer.cpp" line="204"/>
- <source>Cavern</source>
+ <source>Small</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../../QTfrontend/ui/widget/mapContainer.cpp" line="205"/>
+ <source>Medium</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../../../QTfrontend/ui/widget/mapContainer.cpp" line="206"/>
+ <source>Large</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../../../QTfrontend/ui/widget/mapContainer.cpp" line="207"/>
+ <source>Cavern</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../../../QTfrontend/ui/widget/mapContainer.cpp" line="208"/>
<source>Wacky</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/ui/widget/mapContainer.cpp" line="215"/>
- <source>Large tunnels</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../../../QTfrontend/ui/widget/mapContainer.cpp" line="216"/>
- <source>Small islands</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../../../QTfrontend/ui/widget/mapContainer.cpp" line="217"/>
- <source>Medium islands</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
<location filename="../../../../QTfrontend/ui/widget/mapContainer.cpp" line="218"/>
+ <source>Large tunnels</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../../../QTfrontend/ui/widget/mapContainer.cpp" line="219"/>
+ <source>Small islands</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../../../QTfrontend/ui/widget/mapContainer.cpp" line="220"/>
+ <source>Medium islands</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../../../QTfrontend/ui/widget/mapContainer.cpp" line="221"/>
<source>Large islands</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/ui/widget/mapContainer.cpp" line="726"/>
+ <location filename="../../../../QTfrontend/ui/widget/mapContainer.cpp" line="760"/>
<source>Map size:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/ui/widget/mapContainer.cpp" line="733"/>
+ <location filename="../../../../QTfrontend/ui/widget/mapContainer.cpp" line="767"/>
<source>Maze style:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/ui/widget/mapContainer.cpp" line="740"/>
+ <location filename="../../../../QTfrontend/ui/widget/mapContainer.cpp" line="774"/>
<source>Style:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/ui/widget/mapContainer.cpp" line="754"/>
+ <location filename="../../../../QTfrontend/ui/widget/mapContainer.cpp" line="789"/>
<source>Mission:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/ui/widget/mapContainer.cpp" line="765"/>
+ <location filename="../../../../QTfrontend/ui/widget/mapContainer.cpp" line="801"/>
<source>Map:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/ui/widget/mapContainer.cpp" line="829"/>
- <location filename="../../../../QTfrontend/ui/widget/mapContainer.cpp" line="960"/>
+ <location filename="../../../../QTfrontend/ui/widget/mapContainer.cpp" line="884"/>
+ <location filename="../../../../QTfrontend/ui/widget/mapContainer.cpp" line="1012"/>
<source>Theme: %1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/ui/widget/mapContainer.cpp" line="911"/>
+ <location filename="../../../../QTfrontend/ui/widget/mapContainer.cpp" line="963"/>
<source>Load drawn map</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/ui/widget/mapContainer.cpp" line="911"/>
+ <location filename="../../../../QTfrontend/ui/widget/mapContainer.cpp" line="963"/>
<source>Drawn Maps</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/ui/widget/mapContainer.cpp" line="911"/>
+ <location filename="../../../../QTfrontend/ui/widget/mapContainer.cpp" line="963"/>
<source>All files</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/ui/widget/mapContainer.cpp" line="213"/>
+ <location filename="../../../../QTfrontend/ui/widget/mapContainer.cpp" line="216"/>
<source>Small tunnels</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/ui/widget/mapContainer.cpp" line="214"/>
+ <location filename="../../../../QTfrontend/ui/widget/mapContainer.cpp" line="217"/>
<source>Medium tunnels</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/ui/widget/mapContainer.cpp" line="133"/>
+ <location filename="../../../../QTfrontend/ui/widget/mapContainer.cpp" line="136"/>
<source>Seed</source>
<translation type="unfinished"></translation>
</message>
@@ -819,7 +838,7 @@
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/hwform.cpp" line="1576"/>
+ <location filename="../../../../QTfrontend/hwform.cpp" line="1574"/>
<source>Quit reason: </source>
<translation type="unfinished"></translation>
</message>
@@ -849,6 +868,11 @@
<source>Password:</source>
<translation type="unfinished"></translation>
</message>
+ <message>
+ <location filename="../../../../QTfrontend/ui/dialog/input_password.cpp" line="59"/>
+ <source>New Account</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>HWUploadVideoDialog</name>
@@ -874,17 +898,22 @@
<context>
<name>HatPrompt</name>
<message>
- <location filename="../../../../QTfrontend/ui/widget/hatprompt.cpp" line="83"/>
+ <location filename="../../../../QTfrontend/ui/widget/hatprompt.cpp" line="63"/>
+ <source>Choose a hat</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../../../QTfrontend/ui/widget/hatprompt.cpp" line="84"/>
<source>Search for a hat:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/ui/widget/hatprompt.cpp" line="119"/>
+ <location filename="../../../../QTfrontend/ui/widget/hatprompt.cpp" line="120"/>
<source>Cancel</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/ui/widget/hatprompt.cpp" line="123"/>
+ <location filename="../../../../QTfrontend/ui/widget/hatprompt.cpp" line="124"/>
<source>Use selected hat</source>
<translation type="unfinished"></translation>
</message>
@@ -900,27 +929,27 @@
<context>
<name>LibavInteraction</name>
<message>
- <location filename="../../../../QTfrontend/util/LibavInteraction.cpp" line="285"/>
+ <location filename="../../../../QTfrontend/util/LibavInteraction.cpp" line="294"/>
<source>Duration: %1m %2s</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/util/LibavInteraction.cpp" line="297"/>
+ <location filename="../../../../QTfrontend/util/LibavInteraction.cpp" line="306"/>
<source>Video: %1x%2</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/util/LibavInteraction.cpp" line="301"/>
+ <location filename="../../../../QTfrontend/util/LibavInteraction.cpp" line="310"/>
<source>%1 fps</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/util/LibavInteraction.cpp" line="305"/>
+ <location filename="../../../../QTfrontend/util/LibavInteraction.cpp" line="314"/>
<source>Audio: </source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/util/LibavInteraction.cpp" line="309"/>
+ <location filename="../../../../QTfrontend/util/LibavInteraction.cpp" line="318"/>
<source>unknown</source>
<translation type="unfinished"></translation>
</message>
@@ -1075,34 +1104,34 @@
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/ui/page/pagedrawmap.cpp" line="48"/>
+ <location filename="../../../../QTfrontend/ui/page/pagedrawmap.cpp" line="49"/>
<source>Load</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/ui/page/pagedrawmap.cpp" line="49"/>
+ <location filename="../../../../QTfrontend/ui/page/pagedrawmap.cpp" line="50"/>
<source>Save</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/ui/page/pagedrawmap.cpp" line="78"/>
+ <location filename="../../../../QTfrontend/ui/page/pagedrawmap.cpp" line="79"/>
<source>Load drawn map</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/ui/page/pagedrawmap.cpp" line="78"/>
- <location filename="../../../../QTfrontend/ui/page/pagedrawmap.cpp" line="86"/>
+ <location filename="../../../../QTfrontend/ui/page/pagedrawmap.cpp" line="79"/>
+ <location filename="../../../../QTfrontend/ui/page/pagedrawmap.cpp" line="87"/>
<source>Drawn Maps</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/ui/page/pagedrawmap.cpp" line="78"/>
- <location filename="../../../../QTfrontend/ui/page/pagedrawmap.cpp" line="86"/>
+ <location filename="../../../../QTfrontend/ui/page/pagedrawmap.cpp" line="79"/>
+ <location filename="../../../../QTfrontend/ui/page/pagedrawmap.cpp" line="87"/>
<source>All files</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/ui/page/pagedrawmap.cpp" line="86"/>
+ <location filename="../../../../QTfrontend/ui/page/pagedrawmap.cpp" line="87"/>
<source>Save drawn map</source>
<translation type="unfinished"></translation>
</message>
@@ -1629,17 +1658,17 @@
<context>
<name>PageRoomsList</name>
<message>
- <location filename="../../../../QTfrontend/ui/page/pageroomslist.cpp" line="85"/>
+ <location filename="../../../../QTfrontend/ui/page/pageroomslist.cpp" line="93"/>
<source>Search for a room:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/ui/page/pageroomslist.cpp" line="112"/>
+ <location filename="../../../../QTfrontend/ui/page/pageroomslist.cpp" line="120"/>
<source>Create room</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/ui/page/pageroomslist.cpp" line="116"/>
+ <location filename="../../../../QTfrontend/ui/page/pageroomslist.cpp" line="124"/>
<source>Join room</source>
<translation type="unfinished"></translation>
</message>
@@ -1649,17 +1678,17 @@
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/ui/page/pageroomslist.cpp" line="169"/>
+ <location filename="../../../../QTfrontend/ui/page/pageroomslist.cpp" line="177"/>
<source>Admin features</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/ui/page/pageroomslist.cpp" line="171"/>
+ <location filename="../../../../QTfrontend/ui/page/pageroomslist.cpp" line="179"/>
<source>Open server administration page</source>
<translation type="unfinished"></translation>
</message>
<message numerus="yes">
- <location filename="../../../../QTfrontend/ui/page/pageroomslist.cpp" line="531"/>
+ <location filename="../../../../QTfrontend/ui/page/pageroomslist.cpp" line="541"/>
<source>%1 players online</source>
<translation type="unfinished">
<numerusform></numerusform>
@@ -1806,37 +1835,37 @@
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/ui/page/pagescheme.cpp" line="395"/>
+ <location filename="../../../../QTfrontend/ui/page/pagescheme.cpp" line="409"/>
<source>None (Default)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/ui/page/pagescheme.cpp" line="396"/>
+ <location filename="../../../../QTfrontend/ui/page/pagescheme.cpp" line="410"/>
<source>Wrap (World wraps)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/ui/page/pagescheme.cpp" line="397"/>
+ <location filename="../../../../QTfrontend/ui/page/pagescheme.cpp" line="411"/>
<source>Bounce (Edges reflect)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/ui/page/pagescheme.cpp" line="398"/>
+ <location filename="../../../../QTfrontend/ui/page/pagescheme.cpp" line="412"/>
<source>Sea (Edges connect to sea)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/ui/page/pagescheme.cpp" line="434"/>
+ <location filename="../../../../QTfrontend/ui/page/pagescheme.cpp" line="448"/>
<source>Copy</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/ui/page/pagescheme.cpp" line="435"/>
+ <location filename="../../../../QTfrontend/ui/page/pagescheme.cpp" line="449"/>
<source>New</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/ui/page/pagescheme.cpp" line="436"/>
+ <location filename="../../../../QTfrontend/ui/page/pagescheme.cpp" line="450"/>
<source>Delete</source>
<translation type="unfinished"></translation>
</message>
@@ -1970,44 +1999,44 @@
<context>
<name>QAction</name>
<message>
- <location filename="../../../../QTfrontend/ui/widget/chatwidget.cpp" line="256"/>
+ <location filename="../../../../QTfrontend/ui/widget/chatwidget.cpp" line="258"/>
<source>Info</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/ui/widget/chatwidget.cpp" line="260"/>
+ <location filename="../../../../QTfrontend/ui/widget/chatwidget.cpp" line="262"/>
<source>Kick</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/ui/widget/chatwidget.cpp" line="264"/>
+ <location filename="../../../../QTfrontend/ui/widget/chatwidget.cpp" line="266"/>
<source>Ban</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/ui/widget/chatwidget.cpp" line="268"/>
+ <location filename="../../../../QTfrontend/ui/widget/chatwidget.cpp" line="270"/>
<source>Follow</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/ui/widget/chatwidget.cpp" line="272"/>
- <location filename="../../../../QTfrontend/ui/widget/chatwidget.cpp" line="895"/>
+ <location filename="../../../../QTfrontend/ui/widget/chatwidget.cpp" line="274"/>
+ <location filename="../../../../QTfrontend/ui/widget/chatwidget.cpp" line="905"/>
<source>Ignore</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/ui/widget/chatwidget.cpp" line="276"/>
- <location filename="../../../../QTfrontend/ui/widget/chatwidget.cpp" line="907"/>
+ <location filename="../../../../QTfrontend/ui/widget/chatwidget.cpp" line="278"/>
+ <location filename="../../../../QTfrontend/ui/widget/chatwidget.cpp" line="917"/>
<source>Add friend</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/ui/widget/chatwidget.cpp" line="890"/>
+ <location filename="../../../../QTfrontend/ui/widget/chatwidget.cpp" line="900"/>
<source>Unignore</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/ui/widget/chatwidget.cpp" line="902"/>
+ <location filename="../../../../QTfrontend/ui/widget/chatwidget.cpp" line="912"/>
<source>Remove friend</source>
<translation type="unfinished"></translation>
</message>
@@ -2036,6 +2065,16 @@
<source>Show games in-progress</source>
<translation type="unfinished"></translation>
</message>
+ <message>
+ <location filename="../../../../QTfrontend/ui/page/pageroomslist.cpp" line="80"/>
+ <source>Show password protected</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../../../QTfrontend/ui/page/pageroomslist.cpp" line="83"/>
+ <source>Show join restricted</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>QCheckBox</name>
@@ -2534,21 +2573,26 @@
</message>
<message>
<location filename="../../../../QTfrontend/ui/page/pagescheme.cpp" line="372"/>
- <source>% Get Away Time</source>
+ <source>Air Mines</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../../QTfrontend/ui/page/pagescheme.cpp" line="386"/>
+ <source>% Get Away Time</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../../../QTfrontend/ui/page/pagescheme.cpp" line="400"/>
<source>World Edge</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/ui/page/pagescheme.cpp" line="404"/>
- <source>Script parameter</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
<location filename="../../../../QTfrontend/ui/page/pagescheme.cpp" line="418"/>
+ <source>Script parameter</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../../../QTfrontend/ui/page/pagescheme.cpp" line="432"/>
<source>Scheme Name:</source>
<translation type="unfinished"></translation>
</message>
@@ -2590,27 +2634,27 @@
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/ui/widget/feedbackdialog.cpp" line="103"/>
+ <location filename="../../../../QTfrontend/ui/widget/feedbackdialog.cpp" line="104"/>
<source>Your Email</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/ui/widget/feedbackdialog.cpp" line="111"/>
+ <location filename="../../../../QTfrontend/ui/widget/feedbackdialog.cpp" line="112"/>
<source>Summary</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/ui/widget/feedbackdialog.cpp" line="121"/>
+ <location filename="../../../../QTfrontend/ui/widget/feedbackdialog.cpp" line="122"/>
<source>Send system information</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/ui/widget/feedbackdialog.cpp" line="136"/>
+ <location filename="../../../../QTfrontend/ui/widget/feedbackdialog.cpp" line="137"/>
<source>Description</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/ui/widget/feedbackdialog.cpp" line="164"/>
+ <location filename="../../../../QTfrontend/ui/widget/feedbackdialog.cpp" line="165"/>
<source>Type the security code:</source>
<translation type="unfinished"></translation>
</message>
@@ -2643,7 +2687,7 @@
<context>
<name>QLineEdit</name>
<message>
- <location filename="../../../../QTfrontend/hwform.cpp" line="957"/>
+ <location filename="../../../../QTfrontend/hwform.cpp" line="955"/>
<source>unnamed</source>
<translation type="unfinished"></translation>
</message>
@@ -2680,92 +2724,92 @@
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/hwform.cpp" line="986"/>
- <location filename="../../../../QTfrontend/ui/page/pagescheme.cpp" line="534"/>
+ <location filename="../../../../QTfrontend/hwform.cpp" line="984"/>
+ <location filename="../../../../QTfrontend/ui/page/pagescheme.cpp" line="549"/>
<source>Cannot delete default scheme '%1'!</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/hwform.cpp" line="1012"/>
+ <location filename="../../../../QTfrontend/hwform.cpp" line="1010"/>
<source>Please select a record from the list</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/hwform.cpp" line="1107"/>
+ <location filename="../../../../QTfrontend/hwform.cpp" line="1105"/>
<source>Hedgewars - Nick not registered</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/hwform.cpp" line="1515"/>
+ <location filename="../../../../QTfrontend/hwform.cpp" line="1513"/>
<source>Unable to start server</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/hwform.cpp" line="1576"/>
+ <location filename="../../../../QTfrontend/hwform.cpp" line="1574"/>
<source>Connection to server is lost</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/hwform.cpp" line="2127"/>
+ <location filename="../../../../QTfrontend/hwform.cpp" line="2125"/>
<source>Not all players are ready</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/hwform.cpp" line="2128"/>
+ <location filename="../../../../QTfrontend/hwform.cpp" line="2126"/>
<source>Are you sure you want to start this game?
Not all players are ready.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/ui/widget/feedbackdialog.cpp" line="349"/>
+ <location filename="../../../../QTfrontend/ui/widget/feedbackdialog.cpp" line="350"/>
<location filename="../../../../QTfrontend/util/MessageDialog.cpp" line="26"/>
<source>Hedgewars - Error</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/ui/widget/feedbackdialog.cpp" line="359"/>
+ <location filename="../../../../QTfrontend/ui/widget/feedbackdialog.cpp" line="360"/>
<source>System Information Preview</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/ui/widget/feedbackdialog.cpp" line="374"/>
- <location filename="../../../../QTfrontend/ui/widget/feedbackdialog.cpp" line="385"/>
+ <location filename="../../../../QTfrontend/ui/widget/feedbackdialog.cpp" line="375"/>
+ <location filename="../../../../QTfrontend/ui/widget/feedbackdialog.cpp" line="386"/>
<source>Failed to generate captcha</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/ui/widget/feedbackdialog.cpp" line="402"/>
+ <location filename="../../../../QTfrontend/ui/widget/feedbackdialog.cpp" line="403"/>
<source>Failed to download captcha</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/ui/widget/feedbackdialog.cpp" line="466"/>
+ <location filename="../../../../QTfrontend/ui/widget/feedbackdialog.cpp" line="467"/>
<source>Please fill out all fields. Email is optional.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/hwform.cpp" line="2030"/>
- <location filename="../../../../QTfrontend/ui/widget/feedbackdialog.cpp" line="436"/>
+ <location filename="../../../../QTfrontend/hwform.cpp" line="2028"/>
+ <location filename="../../../../QTfrontend/ui/widget/feedbackdialog.cpp" line="437"/>
<source>Hedgewars - Success</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/hwform.cpp" line="2031"/>
+ <location filename="../../../../QTfrontend/hwform.cpp" line="2029"/>
<source>All file associations have been set</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/hwform.cpp" line="2036"/>
+ <location filename="../../../../QTfrontend/hwform.cpp" line="2034"/>
<source>File association failed.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/ui/widget/gamecfgwidget.cpp" line="370"/>
+ <location filename="../../../../QTfrontend/ui/widget/gamecfgwidget.cpp" line="373"/>
<source>Error</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/ui/widget/gamecfgwidget.cpp" line="371"/>
+ <location filename="../../../../QTfrontend/ui/widget/gamecfgwidget.cpp" line="374"/>
<source>Cannot use the ammo '%1'!</source>
<translation type="unfinished"></translation>
</message>
@@ -2833,38 +2877,38 @@
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/ui/page/pageroomslist.cpp" line="492"/>
+ <location filename="../../../../QTfrontend/ui/page/pageroomslist.cpp" line="502"/>
<source>Room Name - Error</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/ui/page/pageroomslist.cpp" line="493"/>
+ <location filename="../../../../QTfrontend/ui/page/pageroomslist.cpp" line="503"/>
<source>Please select room from the list</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/ui/page/pageroomslist.cpp" line="518"/>
+ <location filename="../../../../QTfrontend/ui/page/pageroomslist.cpp" line="528"/>
<source>Room Name - Are you sure?</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/ui/page/pageroomslist.cpp" line="519"/>
+ <location filename="../../../../QTfrontend/ui/page/pageroomslist.cpp" line="529"/>
<source>The game you are trying to join has started.
Do you still want to join the room?</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/ui/page/pagescheme.cpp" line="533"/>
+ <location filename="../../../../QTfrontend/ui/page/pagescheme.cpp" line="548"/>
<source>Schemes - Warning</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/ui/page/pagescheme.cpp" line="542"/>
+ <location filename="../../../../QTfrontend/ui/page/pagescheme.cpp" line="557"/>
<source>Schemes - Are you sure?</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/ui/page/pagescheme.cpp" line="543"/>
+ <location filename="../../../../QTfrontend/ui/page/pagescheme.cpp" line="558"/>
<source>Do you really want to delete the game scheme '%1'?</source>
<translation type="unfinished"></translation>
</message>
@@ -2897,7 +2941,7 @@
<message>
<location filename="../../../../QTfrontend/ui/widget/drawmapwidget.cpp" line="146"/>
<location filename="../../../../QTfrontend/ui/widget/drawmapwidget.cpp" line="166"/>
- <location filename="../../../../QTfrontend/ui/widget/mapContainer.cpp" line="921"/>
+ <location filename="../../../../QTfrontend/ui/widget/mapContainer.cpp" line="973"/>
<source>File error</source>
<translation type="unfinished"></translation>
</message>
@@ -2908,7 +2952,7 @@
</message>
<message>
<location filename="../../../../QTfrontend/ui/widget/drawmapwidget.cpp" line="167"/>
- <location filename="../../../../QTfrontend/ui/widget/mapContainer.cpp" line="922"/>
+ <location filename="../../../../QTfrontend/ui/widget/mapContainer.cpp" line="974"/>
<source>Cannot open '%1' for reading</source>
<translation type="unfinished"></translation>
</message>
@@ -3121,22 +3165,23 @@
<context>
<name>RoomNamePrompt</name>
<message>
- <location filename="../../../../QTfrontend/ui/widget/roomnameprompt.cpp" line="43"/>
+ <location filename="../../../../QTfrontend/ui/widget/roomnameprompt.cpp" line="44"/>
<source>Enter a name for your room.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/ui/widget/roomnameprompt.cpp" line="56"/>
+ <location filename="../../../../QTfrontend/ui/widget/roomnameprompt.cpp" line="57"/>
<source>set password</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/ui/widget/roomnameprompt.cpp" line="72"/>
- <source>Cancel</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
<location filename="../../../../QTfrontend/ui/widget/roomnameprompt.cpp" line="73"/>
+ <source>Cancel</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../../../QTfrontend/ui/widget/roomnameprompt.cpp" line="35"/>
+ <location filename="../../../../QTfrontend/ui/widget/roomnameprompt.cpp" line="74"/>
<source>Create room</source>
<translation type="unfinished"></translation>
</message>
@@ -3189,22 +3234,22 @@
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/model/roomslistmodel.cpp" line="133"/>
+ <location filename="../../../../QTfrontend/model/roomslistmodel.cpp" line="149"/>
<source>Random Map</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/model/roomslistmodel.cpp" line="134"/>
+ <location filename="../../../../QTfrontend/model/roomslistmodel.cpp" line="150"/>
<source>Random Maze</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/model/roomslistmodel.cpp" line="135"/>
+ <location filename="../../../../QTfrontend/model/roomslistmodel.cpp" line="151"/>
<source>Random Perlin</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/model/roomslistmodel.cpp" line="136"/>
+ <location filename="../../../../QTfrontend/model/roomslistmodel.cpp" line="152"/>
<source>Hand-drawn</source>
<translation type="unfinished"></translation>
</message>
@@ -3212,22 +3257,27 @@
<context>
<name>SeedPrompt</name>
<message>
- <location filename="../../../../QTfrontend/ui/widget/seedprompt.cpp" line="42"/>
+ <location filename="../../../../QTfrontend/ui/widget/seedprompt.cpp" line="34"/>
+ <source>Seed</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../../../QTfrontend/ui/widget/seedprompt.cpp" line="43"/>
<source>The map seed is the basis for all random values generated by the game.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/ui/widget/seedprompt.cpp" line="61"/>
- <source>Cancel</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
<location filename="../../../../QTfrontend/ui/widget/seedprompt.cpp" line="62"/>
+ <source>Cancel</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../../../QTfrontend/ui/widget/seedprompt.cpp" line="63"/>
<source>Set seed</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/ui/widget/seedprompt.cpp" line="76"/>
+ <location filename="../../../../QTfrontend/ui/widget/seedprompt.cpp" line="77"/>
<source>Close</source>
<translation type="unfinished"></translation>
</message>
@@ -3302,17 +3352,22 @@
<context>
<name>ThemePrompt</name>
<message>
- <location filename="../../../../QTfrontend/ui/widget/themeprompt.cpp" line="84"/>
+ <location filename="../../../../QTfrontend/ui/widget/themeprompt.cpp" line="64"/>
+ <source>Choose a theme</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../../../QTfrontend/ui/widget/themeprompt.cpp" line="85"/>
<source>Search for a theme:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/ui/widget/themeprompt.cpp" line="120"/>
+ <location filename="../../../../QTfrontend/ui/widget/themeprompt.cpp" line="121"/>
<source>Cancel</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/ui/widget/themeprompt.cpp" line="124"/>
+ <location filename="../../../../QTfrontend/ui/widget/themeprompt.cpp" line="125"/>
<source>Use selected theme</source>
<translation type="unfinished"></translation>
</message>
@@ -3658,39 +3713,39 @@
<context>
<name>binds (keys)</name>
<message>
- <location filename="../../../../QTfrontend/util/SDLInteraction.cpp" line="134"/>
+ <location filename="../../../../QTfrontend/util/SDLInteraction.cpp" line="133"/>
<source>Axis</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/util/SDLInteraction.cpp" line="138"/>
- <location filename="../../../../QTfrontend/util/SDLInteraction.cpp" line="153"/>
+ <location filename="../../../../QTfrontend/util/SDLInteraction.cpp" line="137"/>
+ <location filename="../../../../QTfrontend/util/SDLInteraction.cpp" line="152"/>
<source>(Up)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/util/SDLInteraction.cpp" line="142"/>
- <location filename="../../../../QTfrontend/util/SDLInteraction.cpp" line="157"/>
+ <location filename="../../../../QTfrontend/util/SDLInteraction.cpp" line="141"/>
+ <location filename="../../../../QTfrontend/util/SDLInteraction.cpp" line="156"/>
<source>(Down)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/util/SDLInteraction.cpp" line="149"/>
+ <location filename="../../../../QTfrontend/util/SDLInteraction.cpp" line="148"/>
<source>Hat</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/util/SDLInteraction.cpp" line="161"/>
+ <location filename="../../../../QTfrontend/util/SDLInteraction.cpp" line="160"/>
<source>(Left)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/util/SDLInteraction.cpp" line="165"/>
+ <location filename="../../../../QTfrontend/util/SDLInteraction.cpp" line="164"/>
<source>(Right)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/util/SDLInteraction.cpp" line="173"/>
+ <location filename="../../../../QTfrontend/util/SDLInteraction.cpp" line="172"/>
<source>Button</source>
<translation type="unfinished"></translation>
</message>
@@ -4058,57 +4113,57 @@
<context>
<name>server</name>
<message>
- <location filename="../../../../QTfrontend/servermessages.h" line="11"/>
+ <location filename="../../../../QTfrontend/servermessages.h" line="15"/>
<source>Restricted</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/servermessages.h" line="12"/>
- <source>Not room master</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../../../QTfrontend/servermessages.h" line="13"/>
- <source>Corrupted hedgehogs info</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../../../QTfrontend/servermessages.h" line="14"/>
- <source>too many teams</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../../../QTfrontend/servermessages.h" line="15"/>
- <source>too many hedgehogs</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
<location filename="../../../../QTfrontend/servermessages.h" line="16"/>
- <source>There's already a team with same name in the list</source>
+ <source>Not room master</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../../QTfrontend/servermessages.h" line="17"/>
- <source>round in progress</source>
+ <source>Corrupted hedgehogs info</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../../QTfrontend/servermessages.h" line="18"/>
- <source>restricted</source>
+ <source>too many teams</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../../QTfrontend/servermessages.h" line="19"/>
- <source>REMOVE_TEAM: no such team</source>
+ <source>too many hedgehogs</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../../QTfrontend/servermessages.h" line="20"/>
+ <source>There's already a team with same name in the list</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../../../QTfrontend/servermessages.h" line="21"/>
+ <source>round in progress</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../../../QTfrontend/servermessages.h" line="22"/>
+ <source>restricted</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../../../QTfrontend/servermessages.h" line="23"/>
+ <source>REMOVE_TEAM: no such team</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../../../QTfrontend/servermessages.h" line="24"/>
<source>Not team owner!</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/servermessages.h" line="9"/>
+ <location filename="../../../../QTfrontend/servermessages.h" line="13"/>
<source>Less than two clans!</source>
<translation type="unfinished"></translation>
</message>
@@ -4119,161 +4174,211 @@
</message>
<message>
<location filename="../../../../QTfrontend/servermessages.h" line="3"/>
- <source>Voting closed</source>
+ <source>Your vote counted</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../../QTfrontend/servermessages.h" line="4"/>
- <source>New voting started</source>
+ <source>Voting closed</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../../QTfrontend/servermessages.h" line="5"/>
- <source>Voting expired</source>
+ <source>Pause toggled</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../../QTfrontend/servermessages.h" line="6"/>
- <source>kick</source>
+ <source>New voting started</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../../QTfrontend/servermessages.h" line="7"/>
- <source>map</source>
+ <source>Voting expired</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../../QTfrontend/servermessages.h" line="8"/>
+ <source>kick</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../../../QTfrontend/servermessages.h" line="9"/>
+ <source>map</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../../../QTfrontend/servermessages.h" line="10"/>
<source>pause</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/servermessages.h" line="21"/>
- <source>Illegal room name</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../../../QTfrontend/servermessages.h" line="22"/>
- <source>Room with such name already exists</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../../../QTfrontend/servermessages.h" line="23"/>
- <source>Nickname already chosen</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../../../QTfrontend/servermessages.h" line="24"/>
- <source>Illegal nickname</source>
+ <location filename="../../../../QTfrontend/servermessages.h" line="11"/>
+ <source>new seed</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../../../QTfrontend/servermessages.h" line="12"/>
+ <source>number of hedgehogs in team</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../../QTfrontend/servermessages.h" line="25"/>
- <source>Protocol already known</source>
+ <source>Illegal room name</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../../QTfrontend/servermessages.h" line="26"/>
- <source>Bad number</source>
+ <source>Room with such name already exists</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../../QTfrontend/servermessages.h" line="27"/>
- <source>Nickname is already in use</source>
+ <source>/maxteams: specify number from 2 to 8</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../../QTfrontend/servermessages.h" line="28"/>
- <source>No checker rights</source>
+ <source>Available callvote commands: kick <nickname>, map <name>, pause, newseed, hedgehogs</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../../QTfrontend/servermessages.h" line="29"/>
- <source>Authentication failed</source>
+ <source>callvote kick: specify nickname</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../../QTfrontend/servermessages.h" line="30"/>
- <source>60 seconds cooldown after kick</source>
+ <source>callvote kick: no such user</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../../QTfrontend/servermessages.h" line="31"/>
- <source>kicked</source>
+ <source>callvote map: no such map</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../../QTfrontend/servermessages.h" line="32"/>
- <source>Reconnected too fast</source>
+ <source>callvote pause: no game in progress</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../../QTfrontend/servermessages.h" line="33"/>
- <source>Ping timeout</source>
+ <source>callvote hedgehogs: specify number from 1 to 8</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../../QTfrontend/servermessages.h" line="34"/>
- <source>bye</source>
+ <source>Nickname already chosen</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../../QTfrontend/servermessages.h" line="35"/>
- <source>No such room</source>
+ <source>Illegal nickname</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../../QTfrontend/servermessages.h" line="36"/>
- <source>Room version incompatible to your hedgewars version</source>
+ <source>Protocol already known</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../../QTfrontend/servermessages.h" line="37"/>
- <source>Joining restricted</source>
+ <source>Bad number</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../../QTfrontend/servermessages.h" line="38"/>
- <source>Registered users only</source>
+ <source>Nickname is already in use</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../../QTfrontend/servermessages.h" line="39"/>
- <source>You are banned in this room</source>
+ <source>No checker rights</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../../QTfrontend/servermessages.h" line="40"/>
- <source>Warning! Chat flood protection activated</source>
+ <source>Authentication failed</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../../QTfrontend/servermessages.h" line="41"/>
- <source>Excess flood</source>
+ <source>60 seconds cooldown after kick</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../../QTfrontend/servermessages.h" line="42"/>
- <source>Game messages flood detected - 1</source>
+ <source>kicked</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../../QTfrontend/servermessages.h" line="43"/>
- <source>Game messages flood detected - 2</source>
+ <source>Reconnected too fast</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../../QTfrontend/servermessages.h" line="44"/>
- <source>Warning! Joins flood protection activated</source>
+ <source>Ping timeout</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../../QTfrontend/servermessages.h" line="45"/>
+ <source>bye</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../../../QTfrontend/servermessages.h" line="46"/>
+ <source>No such room</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../../../QTfrontend/servermessages.h" line="47"/>
+ <source>Room version incompatible to your hedgewars version</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../../../QTfrontend/servermessages.h" line="48"/>
+ <source>Joining restricted</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../../../QTfrontend/servermessages.h" line="49"/>
+ <source>Registered users only</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../../../QTfrontend/servermessages.h" line="50"/>
+ <source>You are banned in this room</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../../../QTfrontend/servermessages.h" line="51"/>
+ <source>Warning! Chat flood protection activated</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../../../QTfrontend/servermessages.h" line="52"/>
+ <source>Excess flood</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../../../QTfrontend/servermessages.h" line="53"/>
+ <source>Game messages flood detected - 1</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../../../QTfrontend/servermessages.h" line="54"/>
+ <source>Warning! Joins flood protection activated</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../../../QTfrontend/servermessages.h" line="55"/>
<source>There's no voting going on</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/servermessages.h" line="10"/>
+ <location filename="../../../../QTfrontend/servermessages.h" line="14"/>
<source>Empty config entry</source>
<translation type="unfinished"></translation>
</message>
--- a/share/hedgewars/Data/Locale/hedgewars_ms.ts Fri Jan 01 19:15:32 2016 +0300
+++ b/share/hedgewars/Data/Locale/hedgewars_ms.ts Tue Feb 09 21:11:16 2016 +0300
@@ -20,12 +20,12 @@
<context>
<name>AmmoSchemeModel</name>
<message>
- <location filename="../../../../QTfrontend/model/ammoSchemeModel.cpp" line="697"/>
+ <location filename="../../../../QTfrontend/model/ammoSchemeModel.cpp" line="758"/>
<source>new</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/model/ammoSchemeModel.cpp" line="703"/>
+ <location filename="../../../../QTfrontend/model/ammoSchemeModel.cpp" line="764"/>
<source>copy of %1</source>
<translation type="unfinished"></translation>
</message>
@@ -39,7 +39,7 @@
</message>
<message>
<location filename="../../../../QTfrontend/ui/dialog/bandialog.cpp" line="41"/>
- <location filename="../../../../QTfrontend/ui/dialog/bandialog.cpp" line="87"/>
+ <location filename="../../../../QTfrontend/ui/dialog/bandialog.cpp" line="88"/>
<source>IP</source>
<translation type="unfinished"></translation>
</message>
@@ -74,22 +74,27 @@
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/ui/dialog/bandialog.cpp" line="80"/>
+ <location filename="../../../../QTfrontend/ui/dialog/bandialog.cpp" line="61"/>
+ <source>Ban player</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../../../QTfrontend/ui/dialog/bandialog.cpp" line="81"/>
<source>you know why</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/ui/dialog/bandialog.cpp" line="87"/>
+ <location filename="../../../../QTfrontend/ui/dialog/bandialog.cpp" line="88"/>
<source>Warning</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/ui/dialog/bandialog.cpp" line="87"/>
+ <location filename="../../../../QTfrontend/ui/dialog/bandialog.cpp" line="88"/>
<source>Please, specify %1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/ui/dialog/bandialog.cpp" line="87"/>
+ <location filename="../../../../QTfrontend/ui/dialog/bandialog.cpp" line="88"/>
<source>nickname</source>
<translation type="unfinished"></translation>
</message>
@@ -105,37 +110,42 @@
<context>
<name>FeedbackDialog</name>
<message>
- <location filename="../../../../QTfrontend/ui/widget/feedbackdialog.cpp" line="91"/>
+ <location filename="../../../../QTfrontend/ui/widget/feedbackdialog.cpp" line="92"/>
<source>We are always happy about suggestions, ideas, or bug reports.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/ui/widget/feedbackdialog.cpp" line="90"/>
+ <location filename="../../../../QTfrontend/ui/widget/feedbackdialog.cpp" line="91"/>
<source>Send us feedback!</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/ui/widget/feedbackdialog.cpp" line="92"/>
- <source>If you found a bug, you can see if it's already been reported here: </source>
+ <location filename="../../../../QTfrontend/ui/widget/feedbackdialog.cpp" line="63"/>
+ <source>Feedback</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../../QTfrontend/ui/widget/feedbackdialog.cpp" line="93"/>
+ <source>If you found a bug, you can see if it's already been reported here: </source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../../../QTfrontend/ui/widget/feedbackdialog.cpp" line="94"/>
<source>Your email address is optional, but necessary if you want us to get back at you.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/ui/widget/feedbackdialog.cpp" line="124"/>
+ <location filename="../../../../QTfrontend/ui/widget/feedbackdialog.cpp" line="125"/>
<source>View</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/ui/widget/feedbackdialog.cpp" line="150"/>
+ <location filename="../../../../QTfrontend/ui/widget/feedbackdialog.cpp" line="151"/>
<source>Cancel</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/ui/widget/feedbackdialog.cpp" line="178"/>
+ <location filename="../../../../QTfrontend/ui/widget/feedbackdialog.cpp" line="179"/>
<source>Send Feedback</source>
<translation type="unfinished"></translation>
</message>
@@ -186,7 +196,7 @@
<context>
<name>GameUIConfig</name>
<message>
- <location filename="../../../../QTfrontend/gameuiconfig.cpp" line="115"/>
+ <location filename="../../../../QTfrontend/gameuiconfig.cpp" line="116"/>
<source>Guest</source>
<translation type="unfinished"></translation>
</message>
@@ -239,72 +249,73 @@
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/main.cpp" line="102"/>
+ <location filename="../../../../QTfrontend/main.cpp" line="105"/>
<source>Cannot create directory %1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/main.cpp" line="138"/>
- <source>Usage</source>
- <comment>command-line</comment>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../../../QTfrontend/main.cpp" line="139"/>
- <source>OPTION</source>
- <comment>command-line</comment>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../../../QTfrontend/main.cpp" line="140"/>
- <source>CONNECTSTRING</source>
- <comment>command-line</comment>
- <translation type="unfinished"></translation>
- </message>
- <message>
<location filename="../../../../QTfrontend/main.cpp" line="141"/>
- <source>Options</source>
+ <source>Usage</source>
<comment>command-line</comment>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../../QTfrontend/main.cpp" line="142"/>
- <source>Display this help</source>
+ <source>OPTION</source>
<comment>command-line</comment>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../../QTfrontend/main.cpp" line="143"/>
- <source>Custom path for configuration data and user data</source>
+ <location filename="../../../../QTfrontend/main.cpp" line="148"/>
+ <source>CONNECTSTRING</source>
<comment>command-line</comment>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../../QTfrontend/main.cpp" line="144"/>
- <source>Custom path to the game data folder</source>
+ <source>Options</source>
<comment>command-line</comment>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../../QTfrontend/main.cpp" line="145"/>
+ <source>Display this help</source>
+ <comment>command-line</comment>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../../../QTfrontend/main.cpp" line="146"/>
+ <source>Custom path for configuration data and user data</source>
+ <comment>command-line</comment>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../../../QTfrontend/main.cpp" line="147"/>
+ <source>Custom path to the game data folder</source>
+ <comment>command-line</comment>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../../../QTfrontend/main.cpp" line="148"/>
<source>Hedgewars can use a %1 (e.g. "%2") to connect on start.</source>
<comment>command-line</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/main.cpp" line="191"/>
+ <location filename="../../../../QTfrontend/main.cpp" line="196"/>
<source>Malformed option argument: %1</source>
<comment>command-line</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/main.cpp" line="231"/>
+ <location filename="../../../../QTfrontend/main.cpp" line="236"/>
<source>Unknown option argument: %1</source>
<comment>command-line</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/main.cpp" line="305"/>
+ <location filename="../../../../QTfrontend/main.cpp" line="310"/>
<source>Failed to open data directory:
%1
@@ -323,67 +334,67 @@
<context>
<name>HWChatWidget</name>
<message>
- <location filename="../../../../QTfrontend/ui/widget/chatwidget.cpp" line="505"/>
+ <location filename="../../../../QTfrontend/ui/widget/chatwidget.cpp" line="509"/>
<source>%1 has joined</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/ui/widget/chatwidget.cpp" line="526"/>
+ <location filename="../../../../QTfrontend/ui/widget/chatwidget.cpp" line="530"/>
<source>%1 has left</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/ui/widget/chatwidget.cpp" line="528"/>
+ <location filename="../../../../QTfrontend/ui/widget/chatwidget.cpp" line="532"/>
<source>%1 has left (%2)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/ui/widget/chatwidget.cpp" line="657"/>
+ <location filename="../../../../QTfrontend/ui/widget/chatwidget.cpp" line="661"/>
<source>%1 has been removed from your ignore list</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/ui/widget/chatwidget.cpp" line="667"/>
+ <location filename="../../../../QTfrontend/ui/widget/chatwidget.cpp" line="671"/>
<source>%1 has been added to your ignore list</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/ui/widget/chatwidget.cpp" line="697"/>
+ <location filename="../../../../QTfrontend/ui/widget/chatwidget.cpp" line="701"/>
<source>%1 has been removed from your friends list</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/ui/widget/chatwidget.cpp" line="706"/>
+ <location filename="../../../../QTfrontend/ui/widget/chatwidget.cpp" line="710"/>
<source>%1 has been added to your friends list</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/ui/widget/chatwidget.cpp" line="772"/>
+ <location filename="../../../../QTfrontend/ui/widget/chatwidget.cpp" line="776"/>
<source>Stylesheet imported from %1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/ui/widget/chatwidget.cpp" line="773"/>
+ <location filename="../../../../QTfrontend/ui/widget/chatwidget.cpp" line="777"/>
<source>Enter %1 if you want to use the current StyleSheet in future, enter %2 to reset!</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/ui/widget/chatwidget.cpp" line="781"/>
+ <location filename="../../../../QTfrontend/ui/widget/chatwidget.cpp" line="785"/>
<source>Couldn't read %1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/ui/widget/chatwidget.cpp" line="789"/>
+ <location filename="../../../../QTfrontend/ui/widget/chatwidget.cpp" line="793"/>
<source>StyleSheet discarded</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/ui/widget/chatwidget.cpp" line="813"/>
+ <location filename="../../../../QTfrontend/ui/widget/chatwidget.cpp" line="817"/>
<source>StyleSheet saved to %1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/ui/widget/chatwidget.cpp" line="816"/>
+ <location filename="../../../../QTfrontend/ui/widget/chatwidget.cpp" line="820"/>
<source>Failed to save StyleSheet to %1</source>
<translation type="unfinished"></translation>
</message>
@@ -392,34 +403,34 @@
<name>HWForm</name>
<message>
<location filename="../../../../QTfrontend/hwform.cpp" line="156"/>
- <location filename="../../../../QTfrontend/hwform.cpp" line="476"/>
- <location filename="../../../../QTfrontend/hwform.cpp" line="1399"/>
- <location filename="../../../../QTfrontend/hwform.cpp" line="1418"/>
+ <location filename="../../../../QTfrontend/hwform.cpp" line="474"/>
+ <location filename="../../../../QTfrontend/hwform.cpp" line="1397"/>
+ <location filename="../../../../QTfrontend/hwform.cpp" line="1416"/>
<source>Guest</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/hwform.cpp" line="481"/>
+ <location filename="../../../../QTfrontend/hwform.cpp" line="479"/>
<source>DefaultTeam</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/hwform.cpp" line="485"/>
+ <location filename="../../../../QTfrontend/hwform.cpp" line="483"/>
<source>%1's Team</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/hwform.cpp" line="641"/>
+ <location filename="../../../../QTfrontend/hwform.cpp" line="639"/>
<source>Game aborted</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/hwform.cpp" line="1080"/>
+ <location filename="../../../../QTfrontend/hwform.cpp" line="1078"/>
<source>Hedgewars - Nick registered</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/hwform.cpp" line="1081"/>
+ <location filename="../../../../QTfrontend/hwform.cpp" line="1079"/>
<source>This nick is registered, and you haven't specified a password.
If this nick isn't yours, please register your own nick at www.hedgewars.org
@@ -428,109 +439,109 @@
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/hwform.cpp" line="1109"/>
+ <location filename="../../../../QTfrontend/hwform.cpp" line="1107"/>
<source>Your nickname is not registered.
To prevent someone else from using it,
please register it at www.hedgewars.org</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/hwform.cpp" line="1114"/>
+ <location filename="../../../../QTfrontend/hwform.cpp" line="1112"/>
<source>
Your password wasn't saved either.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/hwform.cpp" line="1126"/>
+ <location filename="../../../../QTfrontend/hwform.cpp" line="1124"/>
<source>Nickname</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/hwform.cpp" line="1126"/>
+ <location filename="../../../../QTfrontend/hwform.cpp" line="1124"/>
<source>Someone already uses your nickname %1 on the server.
Please pick another nickname:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/hwform.cpp" line="1131"/>
- <location filename="../../../../QTfrontend/hwform.cpp" line="1452"/>
+ <location filename="../../../../QTfrontend/hwform.cpp" line="1129"/>
+ <location filename="../../../../QTfrontend/hwform.cpp" line="1450"/>
<source>No nickname supplied.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/hwform.cpp" line="1131"/>
- <location filename="../../../../QTfrontend/hwform.cpp" line="1452"/>
+ <location filename="../../../../QTfrontend/hwform.cpp" line="1129"/>
+ <location filename="../../../../QTfrontend/hwform.cpp" line="1450"/>
<source>Hedgewars - Empty nickname</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/hwform.cpp" line="1158"/>
+ <location filename="../../../../QTfrontend/hwform.cpp" line="1156"/>
<source>Hedgewars - Wrong password</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/hwform.cpp" line="1158"/>
+ <location filename="../../../../QTfrontend/hwform.cpp" line="1156"/>
<source>You entered a wrong password.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/hwform.cpp" line="1170"/>
+ <location filename="../../../../QTfrontend/hwform.cpp" line="1168"/>
<source>Room password</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/hwform.cpp" line="1170"/>
+ <location filename="../../../../QTfrontend/hwform.cpp" line="1168"/>
<source>The room is protected with password.
Please, enter the password:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/hwform.cpp" line="1186"/>
+ <location filename="../../../../QTfrontend/hwform.cpp" line="1184"/>
<source>Try Again</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/hwform.cpp" line="1556"/>
+ <location filename="../../../../QTfrontend/hwform.cpp" line="1554"/>
<source>Hedgewars - Connection error</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/hwform.cpp" line="1556"/>
+ <location filename="../../../../QTfrontend/hwform.cpp" line="1554"/>
<source>You reconnected too fast.
Please wait a few seconds and try again.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/hwform.cpp" line="1713"/>
- <location filename="../../../../QTfrontend/hwform.cpp" line="2060"/>
+ <location filename="../../../../QTfrontend/hwform.cpp" line="1711"/>
+ <location filename="../../../../QTfrontend/hwform.cpp" line="2058"/>
<source>Cannot save record to file %1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/hwform.cpp" line="1990"/>
+ <location filename="../../../../QTfrontend/hwform.cpp" line="1988"/>
<source>Hedgewars Demo File</source>
<comment>File Types</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/hwform.cpp" line="1991"/>
+ <location filename="../../../../QTfrontend/hwform.cpp" line="1989"/>
<source>Hedgewars Save File</source>
<comment>File Types</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/hwform.cpp" line="2052"/>
+ <location filename="../../../../QTfrontend/hwform.cpp" line="2050"/>
<source>Demo name</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/hwform.cpp" line="2052"/>
+ <location filename="../../../../QTfrontend/hwform.cpp" line="2050"/>
<source>Demo name:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/hwform.cpp" line="2120"/>
+ <location filename="../../../../QTfrontend/hwform.cpp" line="2118"/>
<source>This page requires an internet connection.</source>
<translation type="unfinished"></translation>
</message>
@@ -538,7 +549,7 @@
<context>
<name>HWGame</name>
<message>
- <location filename="../../../../QTfrontend/game.cpp" line="252"/>
+ <location filename="../../../../QTfrontend/game.cpp" line="255"/>
<source>A Fatal ERROR occured! - The game engine had to stop.
We are very sorry for the inconvenience :(
@@ -550,182 +561,190 @@
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/game.cpp" line="383"/>
+ <location filename="../../../../QTfrontend/game.cpp" line="386"/>
<location filename="../../../../QTfrontend/net/recorder.cpp" line="113"/>
<source>en.txt</source>
<translation>ms.txt</translation>
</message>
<message>
- <location filename="../../../../QTfrontend/game.cpp" line="433"/>
+ <location filename="../../../../QTfrontend/game.cpp" line="436"/>
<source>Cannot open demofile %1</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
+ <name>HWHostPortDialog</name>
+ <message>
+ <location filename="../../../../QTfrontend/ui/dialog/input_ip.cpp" line="66"/>
+ <source>Connect to server</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
<name>HWMapContainer</name>
<message>
- <location filename="../../../../QTfrontend/ui/widget/mapContainer.cpp" line="100"/>
+ <location filename="../../../../QTfrontend/ui/widget/mapContainer.cpp" line="103"/>
<source>Map type:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/ui/widget/mapContainer.cpp" line="103"/>
- <source>Image map</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../../../QTfrontend/ui/widget/mapContainer.cpp" line="104"/>
- <source>Mission map</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../../../QTfrontend/ui/widget/mapContainer.cpp" line="105"/>
- <source>Hand-drawn</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
<location filename="../../../../QTfrontend/ui/widget/mapContainer.cpp" line="106"/>
- <source>Randomly generated</source>
+ <source>Image map</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../../QTfrontend/ui/widget/mapContainer.cpp" line="107"/>
- <source>Random maze</source>
+ <source>Mission map</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../../QTfrontend/ui/widget/mapContainer.cpp" line="108"/>
+ <source>Hand-drawn</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../../../QTfrontend/ui/widget/mapContainer.cpp" line="109"/>
+ <source>Randomly generated</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../../../QTfrontend/ui/widget/mapContainer.cpp" line="110"/>
+ <source>Random maze</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../../../QTfrontend/ui/widget/mapContainer.cpp" line="111"/>
<source>Random perlin</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/ui/widget/mapContainer.cpp" line="118"/>
+ <location filename="../../../../QTfrontend/ui/widget/mapContainer.cpp" line="121"/>
<source>Random</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/ui/widget/mapContainer.cpp" line="142"/>
+ <location filename="../../../../QTfrontend/ui/widget/mapContainer.cpp" line="145"/>
<source>Map preview:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/ui/widget/mapContainer.cpp" line="181"/>
+ <location filename="../../../../QTfrontend/ui/widget/mapContainer.cpp" line="184"/>
<source>Load map drawing</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/ui/widget/mapContainer.cpp" line="187"/>
+ <location filename="../../../../QTfrontend/ui/widget/mapContainer.cpp" line="190"/>
<source>Edit map drawing</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/ui/widget/mapContainer.cpp" line="200"/>
- <source>All</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../../../QTfrontend/ui/widget/mapContainer.cpp" line="201"/>
- <source>Small</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../../../QTfrontend/ui/widget/mapContainer.cpp" line="202"/>
- <source>Medium</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
<location filename="../../../../QTfrontend/ui/widget/mapContainer.cpp" line="203"/>
- <source>Large</source>
+ <source>All</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../../QTfrontend/ui/widget/mapContainer.cpp" line="204"/>
- <source>Cavern</source>
+ <source>Small</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../../QTfrontend/ui/widget/mapContainer.cpp" line="205"/>
+ <source>Medium</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../../../QTfrontend/ui/widget/mapContainer.cpp" line="206"/>
+ <source>Large</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../../../QTfrontend/ui/widget/mapContainer.cpp" line="207"/>
+ <source>Cavern</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../../../QTfrontend/ui/widget/mapContainer.cpp" line="208"/>
<source>Wacky</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/ui/widget/mapContainer.cpp" line="215"/>
- <source>Large tunnels</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../../../QTfrontend/ui/widget/mapContainer.cpp" line="216"/>
- <source>Small islands</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../../../QTfrontend/ui/widget/mapContainer.cpp" line="217"/>
- <source>Medium islands</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
<location filename="../../../../QTfrontend/ui/widget/mapContainer.cpp" line="218"/>
+ <source>Large tunnels</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../../../QTfrontend/ui/widget/mapContainer.cpp" line="219"/>
+ <source>Small islands</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../../../QTfrontend/ui/widget/mapContainer.cpp" line="220"/>
+ <source>Medium islands</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../../../QTfrontend/ui/widget/mapContainer.cpp" line="221"/>
<source>Large islands</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/ui/widget/mapContainer.cpp" line="726"/>
+ <location filename="../../../../QTfrontend/ui/widget/mapContainer.cpp" line="760"/>
<source>Map size:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/ui/widget/mapContainer.cpp" line="733"/>
+ <location filename="../../../../QTfrontend/ui/widget/mapContainer.cpp" line="767"/>
<source>Maze style:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/ui/widget/mapContainer.cpp" line="740"/>
+ <location filename="../../../../QTfrontend/ui/widget/mapContainer.cpp" line="774"/>
<source>Style:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/ui/widget/mapContainer.cpp" line="754"/>
+ <location filename="../../../../QTfrontend/ui/widget/mapContainer.cpp" line="789"/>
<source>Mission:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/ui/widget/mapContainer.cpp" line="765"/>
+ <location filename="../../../../QTfrontend/ui/widget/mapContainer.cpp" line="801"/>
<source>Map:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/ui/widget/mapContainer.cpp" line="829"/>
- <location filename="../../../../QTfrontend/ui/widget/mapContainer.cpp" line="960"/>
+ <location filename="../../../../QTfrontend/ui/widget/mapContainer.cpp" line="884"/>
+ <location filename="../../../../QTfrontend/ui/widget/mapContainer.cpp" line="1012"/>
<source>Theme: %1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/ui/widget/mapContainer.cpp" line="911"/>
+ <location filename="../../../../QTfrontend/ui/widget/mapContainer.cpp" line="963"/>
<source>Load drawn map</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/ui/widget/mapContainer.cpp" line="911"/>
+ <location filename="../../../../QTfrontend/ui/widget/mapContainer.cpp" line="963"/>
<source>Drawn Maps</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/ui/widget/mapContainer.cpp" line="911"/>
+ <location filename="../../../../QTfrontend/ui/widget/mapContainer.cpp" line="963"/>
<source>All files</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/ui/widget/mapContainer.cpp" line="213"/>
+ <location filename="../../../../QTfrontend/ui/widget/mapContainer.cpp" line="216"/>
<source>Small tunnels</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/ui/widget/mapContainer.cpp" line="214"/>
+ <location filename="../../../../QTfrontend/ui/widget/mapContainer.cpp" line="217"/>
<source>Medium tunnels</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/ui/widget/mapContainer.cpp" line="133"/>
+ <location filename="../../../../QTfrontend/ui/widget/mapContainer.cpp" line="136"/>
<source>Seed</source>
<translation type="unfinished"></translation>
</message>
@@ -751,7 +770,7 @@
<context>
<name>HWNewNet</name>
<message>
- <location filename="../../../../QTfrontend/hwform.cpp" line="1576"/>
+ <location filename="../../../../QTfrontend/hwform.cpp" line="1574"/>
<source>Quit reason: </source>
<translation type="unfinished"></translation>
</message>
@@ -837,6 +856,11 @@
<source>Password:</source>
<translation type="unfinished"></translation>
</message>
+ <message>
+ <location filename="../../../../QTfrontend/ui/dialog/input_password.cpp" line="59"/>
+ <source>New Account</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>HWUploadVideoDialog</name>
@@ -862,17 +886,22 @@
<context>
<name>HatPrompt</name>
<message>
- <location filename="../../../../QTfrontend/ui/widget/hatprompt.cpp" line="83"/>
+ <location filename="../../../../QTfrontend/ui/widget/hatprompt.cpp" line="63"/>
+ <source>Choose a hat</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../../../QTfrontend/ui/widget/hatprompt.cpp" line="84"/>
<source>Search for a hat:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/ui/widget/hatprompt.cpp" line="119"/>
+ <location filename="../../../../QTfrontend/ui/widget/hatprompt.cpp" line="120"/>
<source>Cancel</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/ui/widget/hatprompt.cpp" line="123"/>
+ <location filename="../../../../QTfrontend/ui/widget/hatprompt.cpp" line="124"/>
<source>Use selected hat</source>
<translation type="unfinished"></translation>
</message>
@@ -888,27 +917,27 @@
<context>
<name>LibavInteraction</name>
<message>
- <location filename="../../../../QTfrontend/util/LibavInteraction.cpp" line="285"/>
+ <location filename="../../../../QTfrontend/util/LibavInteraction.cpp" line="294"/>
<source>Duration: %1m %2s</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/util/LibavInteraction.cpp" line="297"/>
+ <location filename="../../../../QTfrontend/util/LibavInteraction.cpp" line="306"/>
<source>Video: %1x%2</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/util/LibavInteraction.cpp" line="301"/>
+ <location filename="../../../../QTfrontend/util/LibavInteraction.cpp" line="310"/>
<source>%1 fps</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/util/LibavInteraction.cpp" line="305"/>
+ <location filename="../../../../QTfrontend/util/LibavInteraction.cpp" line="314"/>
<source>Audio: </source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/util/LibavInteraction.cpp" line="309"/>
+ <location filename="../../../../QTfrontend/util/LibavInteraction.cpp" line="318"/>
<source>unknown</source>
<translation type="unfinished"></translation>
</message>
@@ -1063,34 +1092,34 @@
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/ui/page/pagedrawmap.cpp" line="48"/>
+ <location filename="../../../../QTfrontend/ui/page/pagedrawmap.cpp" line="49"/>
<source>Load</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/ui/page/pagedrawmap.cpp" line="49"/>
+ <location filename="../../../../QTfrontend/ui/page/pagedrawmap.cpp" line="50"/>
<source>Save</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/ui/page/pagedrawmap.cpp" line="78"/>
+ <location filename="../../../../QTfrontend/ui/page/pagedrawmap.cpp" line="79"/>
<source>Load drawn map</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/ui/page/pagedrawmap.cpp" line="78"/>
- <location filename="../../../../QTfrontend/ui/page/pagedrawmap.cpp" line="86"/>
+ <location filename="../../../../QTfrontend/ui/page/pagedrawmap.cpp" line="79"/>
+ <location filename="../../../../QTfrontend/ui/page/pagedrawmap.cpp" line="87"/>
<source>Drawn Maps</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/ui/page/pagedrawmap.cpp" line="78"/>
- <location filename="../../../../QTfrontend/ui/page/pagedrawmap.cpp" line="86"/>
+ <location filename="../../../../QTfrontend/ui/page/pagedrawmap.cpp" line="79"/>
+ <location filename="../../../../QTfrontend/ui/page/pagedrawmap.cpp" line="87"/>
<source>All files</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/ui/page/pagedrawmap.cpp" line="86"/>
+ <location filename="../../../../QTfrontend/ui/page/pagedrawmap.cpp" line="87"/>
<source>Save drawn map</source>
<translation type="unfinished"></translation>
</message>
@@ -1601,17 +1630,17 @@
<context>
<name>PageRoomsList</name>
<message>
- <location filename="../../../../QTfrontend/ui/page/pageroomslist.cpp" line="85"/>
+ <location filename="../../../../QTfrontend/ui/page/pageroomslist.cpp" line="93"/>
<source>Search for a room:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/ui/page/pageroomslist.cpp" line="112"/>
+ <location filename="../../../../QTfrontend/ui/page/pageroomslist.cpp" line="120"/>
<source>Create room</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/ui/page/pageroomslist.cpp" line="116"/>
+ <location filename="../../../../QTfrontend/ui/page/pageroomslist.cpp" line="124"/>
<source>Join room</source>
<translation type="unfinished"></translation>
</message>
@@ -1621,17 +1650,17 @@
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/ui/page/pageroomslist.cpp" line="169"/>
+ <location filename="../../../../QTfrontend/ui/page/pageroomslist.cpp" line="177"/>
<source>Admin features</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/ui/page/pageroomslist.cpp" line="171"/>
+ <location filename="../../../../QTfrontend/ui/page/pageroomslist.cpp" line="179"/>
<source>Open server administration page</source>
<translation type="unfinished"></translation>
</message>
<message numerus="yes">
- <location filename="../../../../QTfrontend/ui/page/pageroomslist.cpp" line="531"/>
+ <location filename="../../../../QTfrontend/ui/page/pageroomslist.cpp" line="541"/>
<source>%1 players online</source>
<translation type="unfinished">
<numerusform></numerusform>
@@ -1776,37 +1805,37 @@
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/ui/page/pagescheme.cpp" line="395"/>
+ <location filename="../../../../QTfrontend/ui/page/pagescheme.cpp" line="409"/>
<source>None (Default)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/ui/page/pagescheme.cpp" line="396"/>
+ <location filename="../../../../QTfrontend/ui/page/pagescheme.cpp" line="410"/>
<source>Wrap (World wraps)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/ui/page/pagescheme.cpp" line="397"/>
+ <location filename="../../../../QTfrontend/ui/page/pagescheme.cpp" line="411"/>
<source>Bounce (Edges reflect)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/ui/page/pagescheme.cpp" line="398"/>
+ <location filename="../../../../QTfrontend/ui/page/pagescheme.cpp" line="412"/>
<source>Sea (Edges connect to sea)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/ui/page/pagescheme.cpp" line="434"/>
+ <location filename="../../../../QTfrontend/ui/page/pagescheme.cpp" line="448"/>
<source>Copy</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/ui/page/pagescheme.cpp" line="435"/>
+ <location filename="../../../../QTfrontend/ui/page/pagescheme.cpp" line="449"/>
<source>New</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/ui/page/pagescheme.cpp" line="436"/>
+ <location filename="../../../../QTfrontend/ui/page/pagescheme.cpp" line="450"/>
<source>Delete</source>
<translation type="unfinished"></translation>
</message>
@@ -1953,44 +1982,44 @@
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/ui/widget/chatwidget.cpp" line="256"/>
+ <location filename="../../../../QTfrontend/ui/widget/chatwidget.cpp" line="258"/>
<source>Info</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/ui/widget/chatwidget.cpp" line="260"/>
+ <location filename="../../../../QTfrontend/ui/widget/chatwidget.cpp" line="262"/>
<source>Kick</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/ui/widget/chatwidget.cpp" line="264"/>
+ <location filename="../../../../QTfrontend/ui/widget/chatwidget.cpp" line="266"/>
<source>Ban</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/ui/widget/chatwidget.cpp" line="268"/>
+ <location filename="../../../../QTfrontend/ui/widget/chatwidget.cpp" line="270"/>
<source>Follow</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/ui/widget/chatwidget.cpp" line="272"/>
- <location filename="../../../../QTfrontend/ui/widget/chatwidget.cpp" line="895"/>
+ <location filename="../../../../QTfrontend/ui/widget/chatwidget.cpp" line="274"/>
+ <location filename="../../../../QTfrontend/ui/widget/chatwidget.cpp" line="905"/>
<source>Ignore</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/ui/widget/chatwidget.cpp" line="276"/>
- <location filename="../../../../QTfrontend/ui/widget/chatwidget.cpp" line="907"/>
+ <location filename="../../../../QTfrontend/ui/widget/chatwidget.cpp" line="278"/>
+ <location filename="../../../../QTfrontend/ui/widget/chatwidget.cpp" line="917"/>
<source>Add friend</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/ui/widget/chatwidget.cpp" line="890"/>
+ <location filename="../../../../QTfrontend/ui/widget/chatwidget.cpp" line="900"/>
<source>Unignore</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/ui/widget/chatwidget.cpp" line="902"/>
+ <location filename="../../../../QTfrontend/ui/widget/chatwidget.cpp" line="912"/>
<source>Remove friend</source>
<translation type="unfinished"></translation>
</message>
@@ -2004,6 +2033,16 @@
<source>Show games in-progress</source>
<translation type="unfinished"></translation>
</message>
+ <message>
+ <location filename="../../../../QTfrontend/ui/page/pageroomslist.cpp" line="80"/>
+ <source>Show password protected</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../../../QTfrontend/ui/page/pageroomslist.cpp" line="83"/>
+ <source>Show join restricted</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>QCheckBox</name>
@@ -2362,27 +2401,27 @@
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/ui/widget/feedbackdialog.cpp" line="103"/>
+ <location filename="../../../../QTfrontend/ui/widget/feedbackdialog.cpp" line="104"/>
<source>Your Email</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/ui/widget/feedbackdialog.cpp" line="111"/>
+ <location filename="../../../../QTfrontend/ui/widget/feedbackdialog.cpp" line="112"/>
<source>Summary</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/ui/widget/feedbackdialog.cpp" line="121"/>
+ <location filename="../../../../QTfrontend/ui/widget/feedbackdialog.cpp" line="122"/>
<source>Send system information</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/ui/widget/feedbackdialog.cpp" line="136"/>
+ <location filename="../../../../QTfrontend/ui/widget/feedbackdialog.cpp" line="137"/>
<source>Description</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/ui/widget/feedbackdialog.cpp" line="164"/>
+ <location filename="../../../../QTfrontend/ui/widget/feedbackdialog.cpp" line="165"/>
<source>Type the security code:</source>
<translation type="unfinished"></translation>
</message>
@@ -2544,21 +2583,26 @@
</message>
<message>
<location filename="../../../../QTfrontend/ui/page/pagescheme.cpp" line="372"/>
- <source>% Get Away Time</source>
+ <source>Air Mines</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../../QTfrontend/ui/page/pagescheme.cpp" line="386"/>
+ <source>% Get Away Time</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../../../QTfrontend/ui/page/pagescheme.cpp" line="400"/>
<source>World Edge</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/ui/page/pagescheme.cpp" line="404"/>
- <source>Script parameter</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
<location filename="../../../../QTfrontend/ui/page/pagescheme.cpp" line="418"/>
+ <source>Script parameter</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../../../QTfrontend/ui/page/pagescheme.cpp" line="432"/>
<source>Scheme Name:</source>
<translation type="unfinished"></translation>
</message>
@@ -2611,7 +2655,7 @@
<context>
<name>QLineEdit</name>
<message>
- <location filename="../../../../QTfrontend/hwform.cpp" line="957"/>
+ <location filename="../../../../QTfrontend/hwform.cpp" line="955"/>
<source>unnamed</source>
<translation type="unfinished"></translation>
</message>
@@ -2648,82 +2692,82 @@
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/hwform.cpp" line="986"/>
- <location filename="../../../../QTfrontend/ui/page/pagescheme.cpp" line="534"/>
+ <location filename="../../../../QTfrontend/hwform.cpp" line="984"/>
+ <location filename="../../../../QTfrontend/ui/page/pagescheme.cpp" line="549"/>
<source>Cannot delete default scheme '%1'!</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/hwform.cpp" line="1012"/>
+ <location filename="../../../../QTfrontend/hwform.cpp" line="1010"/>
<source>Please select a record from the list</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/hwform.cpp" line="1107"/>
+ <location filename="../../../../QTfrontend/hwform.cpp" line="1105"/>
<source>Hedgewars - Nick not registered</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/hwform.cpp" line="1515"/>
+ <location filename="../../../../QTfrontend/hwform.cpp" line="1513"/>
<source>Unable to start server</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/hwform.cpp" line="1576"/>
+ <location filename="../../../../QTfrontend/hwform.cpp" line="1574"/>
<source>Connection to server is lost</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/hwform.cpp" line="2127"/>
+ <location filename="../../../../QTfrontend/hwform.cpp" line="2125"/>
<source>Not all players are ready</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/hwform.cpp" line="2128"/>
+ <location filename="../../../../QTfrontend/hwform.cpp" line="2126"/>
<source>Are you sure you want to start this game?
Not all players are ready.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/ui/widget/feedbackdialog.cpp" line="349"/>
+ <location filename="../../../../QTfrontend/ui/widget/feedbackdialog.cpp" line="350"/>
<location filename="../../../../QTfrontend/util/MessageDialog.cpp" line="26"/>
<source>Hedgewars - Error</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/ui/widget/feedbackdialog.cpp" line="359"/>
+ <location filename="../../../../QTfrontend/ui/widget/feedbackdialog.cpp" line="360"/>
<source>System Information Preview</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/ui/widget/feedbackdialog.cpp" line="374"/>
- <location filename="../../../../QTfrontend/ui/widget/feedbackdialog.cpp" line="385"/>
+ <location filename="../../../../QTfrontend/ui/widget/feedbackdialog.cpp" line="375"/>
+ <location filename="../../../../QTfrontend/ui/widget/feedbackdialog.cpp" line="386"/>
<source>Failed to generate captcha</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/ui/widget/feedbackdialog.cpp" line="402"/>
+ <location filename="../../../../QTfrontend/ui/widget/feedbackdialog.cpp" line="403"/>
<source>Failed to download captcha</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/ui/widget/feedbackdialog.cpp" line="466"/>
+ <location filename="../../../../QTfrontend/ui/widget/feedbackdialog.cpp" line="467"/>
<source>Please fill out all fields. Email is optional.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/hwform.cpp" line="2030"/>
- <location filename="../../../../QTfrontend/ui/widget/feedbackdialog.cpp" line="436"/>
+ <location filename="../../../../QTfrontend/hwform.cpp" line="2028"/>
+ <location filename="../../../../QTfrontend/ui/widget/feedbackdialog.cpp" line="437"/>
<source>Hedgewars - Success</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/hwform.cpp" line="2031"/>
+ <location filename="../../../../QTfrontend/hwform.cpp" line="2029"/>
<source>All file associations have been set</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/hwform.cpp" line="2036"/>
+ <location filename="../../../../QTfrontend/hwform.cpp" line="2034"/>
<source>File association failed.</source>
<translation type="unfinished"></translation>
</message>
@@ -2791,38 +2835,38 @@
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/ui/page/pageroomslist.cpp" line="492"/>
+ <location filename="../../../../QTfrontend/ui/page/pageroomslist.cpp" line="502"/>
<source>Room Name - Error</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/ui/page/pageroomslist.cpp" line="493"/>
+ <location filename="../../../../QTfrontend/ui/page/pageroomslist.cpp" line="503"/>
<source>Please select room from the list</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/ui/page/pageroomslist.cpp" line="518"/>
+ <location filename="../../../../QTfrontend/ui/page/pageroomslist.cpp" line="528"/>
<source>Room Name - Are you sure?</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/ui/page/pageroomslist.cpp" line="519"/>
+ <location filename="../../../../QTfrontend/ui/page/pageroomslist.cpp" line="529"/>
<source>The game you are trying to join has started.
Do you still want to join the room?</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/ui/page/pagescheme.cpp" line="533"/>
+ <location filename="../../../../QTfrontend/ui/page/pagescheme.cpp" line="548"/>
<source>Schemes - Warning</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/ui/page/pagescheme.cpp" line="542"/>
+ <location filename="../../../../QTfrontend/ui/page/pagescheme.cpp" line="557"/>
<source>Schemes - Are you sure?</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/ui/page/pagescheme.cpp" line="543"/>
+ <location filename="../../../../QTfrontend/ui/page/pagescheme.cpp" line="558"/>
<source>Do you really want to delete the game scheme '%1'?</source>
<translation type="unfinished"></translation>
</message>
@@ -2853,7 +2897,7 @@
<message>
<location filename="../../../../QTfrontend/ui/widget/drawmapwidget.cpp" line="146"/>
<location filename="../../../../QTfrontend/ui/widget/drawmapwidget.cpp" line="166"/>
- <location filename="../../../../QTfrontend/ui/widget/mapContainer.cpp" line="921"/>
+ <location filename="../../../../QTfrontend/ui/widget/mapContainer.cpp" line="973"/>
<source>File error</source>
<translation type="unfinished"></translation>
</message>
@@ -2864,17 +2908,17 @@
</message>
<message>
<location filename="../../../../QTfrontend/ui/widget/drawmapwidget.cpp" line="167"/>
- <location filename="../../../../QTfrontend/ui/widget/mapContainer.cpp" line="922"/>
+ <location filename="../../../../QTfrontend/ui/widget/mapContainer.cpp" line="974"/>
<source>Cannot open '%1' for reading</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/ui/widget/gamecfgwidget.cpp" line="370"/>
+ <location filename="../../../../QTfrontend/ui/widget/gamecfgwidget.cpp" line="373"/>
<source>Error</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/ui/widget/gamecfgwidget.cpp" line="371"/>
+ <location filename="../../../../QTfrontend/ui/widget/gamecfgwidget.cpp" line="374"/>
<source>Cannot use the ammo '%1'!</source>
<translation type="unfinished"></translation>
</message>
@@ -3087,22 +3131,23 @@
<context>
<name>RoomNamePrompt</name>
<message>
- <location filename="../../../../QTfrontend/ui/widget/roomnameprompt.cpp" line="43"/>
+ <location filename="../../../../QTfrontend/ui/widget/roomnameprompt.cpp" line="44"/>
<source>Enter a name for your room.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/ui/widget/roomnameprompt.cpp" line="56"/>
+ <location filename="../../../../QTfrontend/ui/widget/roomnameprompt.cpp" line="57"/>
<source>set password</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/ui/widget/roomnameprompt.cpp" line="72"/>
- <source>Cancel</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
<location filename="../../../../QTfrontend/ui/widget/roomnameprompt.cpp" line="73"/>
+ <source>Cancel</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../../../QTfrontend/ui/widget/roomnameprompt.cpp" line="35"/>
+ <location filename="../../../../QTfrontend/ui/widget/roomnameprompt.cpp" line="74"/>
<source>Create room</source>
<translation type="unfinished"></translation>
</message>
@@ -3155,22 +3200,22 @@
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/model/roomslistmodel.cpp" line="133"/>
+ <location filename="../../../../QTfrontend/model/roomslistmodel.cpp" line="149"/>
<source>Random Map</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/model/roomslistmodel.cpp" line="134"/>
+ <location filename="../../../../QTfrontend/model/roomslistmodel.cpp" line="150"/>
<source>Random Maze</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/model/roomslistmodel.cpp" line="135"/>
+ <location filename="../../../../QTfrontend/model/roomslistmodel.cpp" line="151"/>
<source>Random Perlin</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/model/roomslistmodel.cpp" line="136"/>
+ <location filename="../../../../QTfrontend/model/roomslistmodel.cpp" line="152"/>
<source>Hand-drawn</source>
<translation type="unfinished"></translation>
</message>
@@ -3178,22 +3223,27 @@
<context>
<name>SeedPrompt</name>
<message>
- <location filename="../../../../QTfrontend/ui/widget/seedprompt.cpp" line="42"/>
+ <location filename="../../../../QTfrontend/ui/widget/seedprompt.cpp" line="34"/>
+ <source>Seed</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../../../QTfrontend/ui/widget/seedprompt.cpp" line="43"/>
<source>The map seed is the basis for all random values generated by the game.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/ui/widget/seedprompt.cpp" line="61"/>
- <source>Cancel</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
<location filename="../../../../QTfrontend/ui/widget/seedprompt.cpp" line="62"/>
+ <source>Cancel</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../../../QTfrontend/ui/widget/seedprompt.cpp" line="63"/>
<source>Set seed</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/ui/widget/seedprompt.cpp" line="76"/>
+ <location filename="../../../../QTfrontend/ui/widget/seedprompt.cpp" line="77"/>
<source>Close</source>
<translation type="unfinished"></translation>
</message>
@@ -3268,17 +3318,22 @@
<context>
<name>ThemePrompt</name>
<message>
- <location filename="../../../../QTfrontend/ui/widget/themeprompt.cpp" line="84"/>
+ <location filename="../../../../QTfrontend/ui/widget/themeprompt.cpp" line="64"/>
+ <source>Choose a theme</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../../../QTfrontend/ui/widget/themeprompt.cpp" line="85"/>
<source>Search for a theme:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/ui/widget/themeprompt.cpp" line="120"/>
+ <location filename="../../../../QTfrontend/ui/widget/themeprompt.cpp" line="121"/>
<source>Cancel</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/ui/widget/themeprompt.cpp" line="124"/>
+ <location filename="../../../../QTfrontend/ui/widget/themeprompt.cpp" line="125"/>
<source>Use selected theme</source>
<translation type="unfinished"></translation>
</message>
@@ -3984,39 +4039,39 @@
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/util/SDLInteraction.cpp" line="134"/>
+ <location filename="../../../../QTfrontend/util/SDLInteraction.cpp" line="133"/>
<source>Axis</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/util/SDLInteraction.cpp" line="138"/>
- <location filename="../../../../QTfrontend/util/SDLInteraction.cpp" line="153"/>
+ <location filename="../../../../QTfrontend/util/SDLInteraction.cpp" line="137"/>
+ <location filename="../../../../QTfrontend/util/SDLInteraction.cpp" line="152"/>
<source>(Up)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/util/SDLInteraction.cpp" line="142"/>
- <location filename="../../../../QTfrontend/util/SDLInteraction.cpp" line="157"/>
+ <location filename="../../../../QTfrontend/util/SDLInteraction.cpp" line="141"/>
+ <location filename="../../../../QTfrontend/util/SDLInteraction.cpp" line="156"/>
<source>(Down)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/util/SDLInteraction.cpp" line="149"/>
+ <location filename="../../../../QTfrontend/util/SDLInteraction.cpp" line="148"/>
<source>Hat</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/util/SDLInteraction.cpp" line="161"/>
+ <location filename="../../../../QTfrontend/util/SDLInteraction.cpp" line="160"/>
<source>(Left)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/util/SDLInteraction.cpp" line="165"/>
+ <location filename="../../../../QTfrontend/util/SDLInteraction.cpp" line="164"/>
<source>(Right)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/util/SDLInteraction.cpp" line="173"/>
+ <location filename="../../../../QTfrontend/util/SDLInteraction.cpp" line="172"/>
<source>Button</source>
<translation type="unfinished"></translation>
</message>
@@ -4024,57 +4079,57 @@
<context>
<name>server</name>
<message>
- <location filename="../../../../QTfrontend/servermessages.h" line="11"/>
+ <location filename="../../../../QTfrontend/servermessages.h" line="15"/>
<source>Restricted</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/servermessages.h" line="12"/>
- <source>Not room master</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../../../QTfrontend/servermessages.h" line="13"/>
- <source>Corrupted hedgehogs info</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../../../QTfrontend/servermessages.h" line="14"/>
- <source>too many teams</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../../../QTfrontend/servermessages.h" line="15"/>
- <source>too many hedgehogs</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
<location filename="../../../../QTfrontend/servermessages.h" line="16"/>
- <source>There's already a team with same name in the list</source>
+ <source>Not room master</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../../QTfrontend/servermessages.h" line="17"/>
- <source>round in progress</source>
+ <source>Corrupted hedgehogs info</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../../QTfrontend/servermessages.h" line="18"/>
- <source>restricted</source>
+ <source>too many teams</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../../QTfrontend/servermessages.h" line="19"/>
- <source>REMOVE_TEAM: no such team</source>
+ <source>too many hedgehogs</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../../QTfrontend/servermessages.h" line="20"/>
+ <source>There's already a team with same name in the list</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../../../QTfrontend/servermessages.h" line="21"/>
+ <source>round in progress</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../../../QTfrontend/servermessages.h" line="22"/>
+ <source>restricted</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../../../QTfrontend/servermessages.h" line="23"/>
+ <source>REMOVE_TEAM: no such team</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../../../QTfrontend/servermessages.h" line="24"/>
<source>Not team owner!</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/servermessages.h" line="9"/>
+ <location filename="../../../../QTfrontend/servermessages.h" line="13"/>
<source>Less than two clans!</source>
<translation type="unfinished"></translation>
</message>
@@ -4085,161 +4140,211 @@
</message>
<message>
<location filename="../../../../QTfrontend/servermessages.h" line="3"/>
- <source>Voting closed</source>
+ <source>Your vote counted</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../../QTfrontend/servermessages.h" line="4"/>
- <source>New voting started</source>
+ <source>Voting closed</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../../QTfrontend/servermessages.h" line="5"/>
- <source>Voting expired</source>
+ <source>Pause toggled</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../../QTfrontend/servermessages.h" line="6"/>
- <source>kick</source>
+ <source>New voting started</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../../QTfrontend/servermessages.h" line="7"/>
- <source>map</source>
+ <source>Voting expired</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../../QTfrontend/servermessages.h" line="8"/>
+ <source>kick</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../../../QTfrontend/servermessages.h" line="9"/>
+ <source>map</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../../../QTfrontend/servermessages.h" line="10"/>
<source>pause</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/servermessages.h" line="21"/>
- <source>Illegal room name</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../../../QTfrontend/servermessages.h" line="22"/>
- <source>Room with such name already exists</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../../../QTfrontend/servermessages.h" line="23"/>
- <source>Nickname already chosen</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../../../QTfrontend/servermessages.h" line="24"/>
- <source>Illegal nickname</source>
+ <location filename="../../../../QTfrontend/servermessages.h" line="11"/>
+ <source>new seed</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../../../QTfrontend/servermessages.h" line="12"/>
+ <source>number of hedgehogs in team</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../../QTfrontend/servermessages.h" line="25"/>
- <source>Protocol already known</source>
+ <source>Illegal room name</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../../QTfrontend/servermessages.h" line="26"/>
- <source>Bad number</source>
+ <source>Room with such name already exists</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../../QTfrontend/servermessages.h" line="27"/>
- <source>Nickname is already in use</source>
+ <source>/maxteams: specify number from 2 to 8</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../../QTfrontend/servermessages.h" line="28"/>
- <source>No checker rights</source>
+ <source>Available callvote commands: kick <nickname>, map <name>, pause, newseed, hedgehogs</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../../QTfrontend/servermessages.h" line="29"/>
- <source>Authentication failed</source>
+ <source>callvote kick: specify nickname</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../../QTfrontend/servermessages.h" line="30"/>
- <source>60 seconds cooldown after kick</source>
+ <source>callvote kick: no such user</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../../QTfrontend/servermessages.h" line="31"/>
- <source>kicked</source>
+ <source>callvote map: no such map</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../../QTfrontend/servermessages.h" line="32"/>
- <source>Reconnected too fast</source>
+ <source>callvote pause: no game in progress</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../../QTfrontend/servermessages.h" line="33"/>
- <source>Ping timeout</source>
+ <source>callvote hedgehogs: specify number from 1 to 8</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../../QTfrontend/servermessages.h" line="34"/>
- <source>bye</source>
+ <source>Nickname already chosen</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../../QTfrontend/servermessages.h" line="35"/>
- <source>No such room</source>
+ <source>Illegal nickname</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../../QTfrontend/servermessages.h" line="36"/>
- <source>Room version incompatible to your hedgewars version</source>
+ <source>Protocol already known</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../../QTfrontend/servermessages.h" line="37"/>
- <source>Joining restricted</source>
+ <source>Bad number</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../../QTfrontend/servermessages.h" line="38"/>
- <source>Registered users only</source>
+ <source>Nickname is already in use</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../../QTfrontend/servermessages.h" line="39"/>
- <source>You are banned in this room</source>
+ <source>No checker rights</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../../QTfrontend/servermessages.h" line="40"/>
- <source>Warning! Chat flood protection activated</source>
+ <source>Authentication failed</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../../QTfrontend/servermessages.h" line="41"/>
- <source>Excess flood</source>
+ <source>60 seconds cooldown after kick</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../../QTfrontend/servermessages.h" line="42"/>
- <source>Game messages flood detected - 1</source>
+ <source>kicked</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../../QTfrontend/servermessages.h" line="43"/>
- <source>Game messages flood detected - 2</source>
+ <source>Reconnected too fast</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../../QTfrontend/servermessages.h" line="44"/>
- <source>Warning! Joins flood protection activated</source>
+ <source>Ping timeout</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../../QTfrontend/servermessages.h" line="45"/>
+ <source>bye</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../../../QTfrontend/servermessages.h" line="46"/>
+ <source>No such room</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../../../QTfrontend/servermessages.h" line="47"/>
+ <source>Room version incompatible to your hedgewars version</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../../../QTfrontend/servermessages.h" line="48"/>
+ <source>Joining restricted</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../../../QTfrontend/servermessages.h" line="49"/>
+ <source>Registered users only</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../../../QTfrontend/servermessages.h" line="50"/>
+ <source>You are banned in this room</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../../../QTfrontend/servermessages.h" line="51"/>
+ <source>Warning! Chat flood protection activated</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../../../QTfrontend/servermessages.h" line="52"/>
+ <source>Excess flood</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../../../QTfrontend/servermessages.h" line="53"/>
+ <source>Game messages flood detected - 1</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../../../QTfrontend/servermessages.h" line="54"/>
+ <source>Warning! Joins flood protection activated</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../../../QTfrontend/servermessages.h" line="55"/>
<source>There's no voting going on</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/servermessages.h" line="10"/>
+ <location filename="../../../../QTfrontend/servermessages.h" line="14"/>
<source>Empty config entry</source>
<translation type="unfinished"></translation>
</message>
--- a/share/hedgewars/Data/Locale/hedgewars_nl.ts Fri Jan 01 19:15:32 2016 +0300
+++ b/share/hedgewars/Data/Locale/hedgewars_nl.ts Tue Feb 09 21:11:16 2016 +0300
@@ -76,6 +76,10 @@
<source>permanent</source>
<translation type="unfinished"></translation>
</message>
+ <message>
+ <source>Ban player</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>DataManager</name>
@@ -114,6 +118,10 @@
<source>Your email address is optional, but necessary if you want us to get back at you.</source>
<translation type="unfinished"></translation>
</message>
+ <message>
+ <source>Feedback</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>FreqSpinBox</name>
@@ -463,6 +471,13 @@
</message>
</context>
<context>
+ <name>HWHostPortDialog</name>
+ <message>
+ <source>Connect to server</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
<name>HWMapContainer</name>
<message>
<source>All</source>
@@ -684,6 +699,10 @@
<source>Password:</source>
<translation type="unfinished"></translation>
</message>
+ <message>
+ <source>New Account</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>HWUploadVideoDialog</name>
@@ -717,6 +736,10 @@
<source>Search for a hat:</source>
<translation type="unfinished"></translation>
</message>
+ <message>
+ <source>Choose a hat</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>KeyBinder</name>
@@ -1643,6 +1666,14 @@
<source>Show games in-progress</source>
<translation type="unfinished"></translation>
</message>
+ <message>
+ <source>Show password protected</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Show join restricted</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>QCheckBox</name>
@@ -2125,6 +2156,10 @@
<source>Script parameter</source>
<translation type="unfinished"></translation>
</message>
+ <message>
+ <source>Air Mines</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>QLineEdit</name>
@@ -2584,6 +2619,10 @@
<source>Close</source>
<translation type="unfinished"></translation>
</message>
+ <message>
+ <source>Seed</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>SelWeaponWidget</name>
@@ -2654,6 +2693,10 @@
<source>Use selected theme</source>
<translation type="unfinished"></translation>
</message>
+ <message>
+ <source>Choose a theme</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>binds</name>
@@ -3410,10 +3453,6 @@
<translation type="unfinished"></translation>
</message>
<message>
- <source>Game messages flood detected - 2</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
<source>Warning! Joins flood protection activated</source>
<translation type="unfinished"></translation>
</message>
@@ -3421,5 +3460,49 @@
<source>There's no voting going on</source>
<translation type="unfinished"></translation>
</message>
+ <message>
+ <source>Your vote counted</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Pause toggled</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>new seed</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>number of hedgehogs in team</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>/maxteams: specify number from 2 to 8</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Available callvote commands: kick <nickname>, map <name>, pause, newseed, hedgehogs</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>callvote kick: specify nickname</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>callvote kick: no such user</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>callvote map: no such map</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>callvote pause: no game in progress</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>callvote hedgehogs: specify number from 1 to 8</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
</TS>
--- a/share/hedgewars/Data/Locale/hedgewars_pl.ts Fri Jan 01 19:15:32 2016 +0300
+++ b/share/hedgewars/Data/Locale/hedgewars_pl.ts Tue Feb 09 21:11:16 2016 +0300
@@ -80,6 +80,10 @@
<source>permanent</source>
<translation>dożywotni</translation>
</message>
+ <message>
+ <source>Ban player</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>DataManager</name>
@@ -118,6 +122,10 @@
<source>Your email address is optional, but necessary if you want us to get back at you.</source>
<translation>E-mail jest opcjonalny chyba, że chcesz byśmy się z tobą skontaktowali.</translation>
</message>
+ <message>
+ <source>Feedback</source>
+ <translation type="unfinished">Twoja opinia</translation>
+ </message>
</context>
<context>
<name>FreqSpinBox</name>
@@ -490,6 +498,13 @@
</message>
</context>
<context>
+ <name>HWHostPortDialog</name>
+ <message>
+ <source>Connect to server</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
<name>HWMapContainer</name>
<message>
<source>All</source>
@@ -718,6 +733,10 @@
<source>Password:</source>
<translation>Hasło:</translation>
</message>
+ <message>
+ <source>New Account</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>HWUploadVideoDialog</name>
@@ -751,6 +770,10 @@
<source>Search for a hat:</source>
<translation>Szukaj czapki:</translation>
</message>
+ <message>
+ <source>Choose a hat</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>KB</name>
@@ -1757,6 +1780,14 @@
<source>Show games in-progress</source>
<translation>Pokaż trwające gry</translation>
</message>
+ <message>
+ <source>Show password protected</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Show join restricted</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>QCheckBox</name>
@@ -2265,6 +2296,10 @@
<source>Script parameter</source>
<translation type="unfinished"></translation>
</message>
+ <message>
+ <source>Air Mines</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>QLineEdit</name>
@@ -2765,6 +2800,10 @@
<source>Close</source>
<translation>Zamknij</translation>
</message>
+ <message>
+ <source>Seed</source>
+ <translation type="unfinished">Ziarno</translation>
+ </message>
</context>
<context>
<name>SelWeaponWidget</name>
@@ -2847,6 +2886,10 @@
<source>Use selected theme</source>
<translation>Użyj wybranego motywu</translation>
</message>
+ <message>
+ <source>Choose a theme</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>binds</name>
@@ -3611,10 +3654,6 @@
<translation type="unfinished"></translation>
</message>
<message>
- <source>Game messages flood detected - 2</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
<source>Warning! Joins flood protection activated</source>
<translation type="unfinished"></translation>
</message>
@@ -3622,5 +3661,49 @@
<source>There's no voting going on</source>
<translation type="unfinished"></translation>
</message>
+ <message>
+ <source>Your vote counted</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Pause toggled</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>new seed</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>number of hedgehogs in team</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>/maxteams: specify number from 2 to 8</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Available callvote commands: kick <nickname>, map <name>, pause, newseed, hedgehogs</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>callvote kick: specify nickname</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>callvote kick: no such user</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>callvote map: no such map</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>callvote pause: no game in progress</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>callvote hedgehogs: specify number from 1 to 8</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
</TS>
--- a/share/hedgewars/Data/Locale/hedgewars_pt_BR.ts Fri Jan 01 19:15:32 2016 +0300
+++ b/share/hedgewars/Data/Locale/hedgewars_pt_BR.ts Tue Feb 09 21:11:16 2016 +0300
@@ -80,6 +80,10 @@
<source>permanent</source>
<translation>permanente</translation>
</message>
+ <message>
+ <source>Ban player</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>DataManager</name>
@@ -118,6 +122,10 @@
<source>Your email address is optional, but necessary if you want us to get back at you.</source>
<translation>Seu endereço de e-mail é opcional, mas é necessário se quiser que lhe dermos um retorno. </translation>
</message>
+ <message>
+ <source>Feedback</source>
+ <translation type="unfinished">Retorno</translation>
+ </message>
</context>
<context>
<name>FreqSpinBox</name>
@@ -480,6 +488,13 @@
</message>
</context>
<context>
+ <name>HWHostPortDialog</name>
+ <message>
+ <source>Connect to server</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
<name>HWMapContainer</name>
<message>
<source>All</source>
@@ -709,6 +724,10 @@
<source>Password:</source>
<translation>Senha:</translation>
</message>
+ <message>
+ <source>New Account</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>HWUploadVideoDialog</name>
@@ -742,6 +761,10 @@
<source>Search for a hat:</source>
<translation>Buscar por um chapéu:</translation>
</message>
+ <message>
+ <source>Choose a hat</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>KB</name>
@@ -1738,6 +1761,14 @@
<source>Show games in-progress</source>
<translation>Mostrar jogos em andamento</translation>
</message>
+ <message>
+ <source>Show password protected</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Show join restricted</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>QCheckBox</name>
@@ -2242,6 +2273,10 @@
<source>Script parameter</source>
<translation type="unfinished"></translation>
</message>
+ <message>
+ <source>Air Mines</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>QLineEdit</name>
@@ -2715,6 +2750,10 @@
<source>Close</source>
<translation>Fechar</translation>
</message>
+ <message>
+ <source>Seed</source>
+ <translation type="unfinished">Semear</translation>
+ </message>
</context>
<context>
<name>SelWeaponWidget</name>
@@ -2797,6 +2836,10 @@
<source>Use selected theme</source>
<translation>Usar o tema selecionado</translation>
</message>
+ <message>
+ <source>Choose a theme</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>binds</name>
@@ -3563,10 +3606,6 @@
<translation type="unfinished"></translation>
</message>
<message>
- <source>Game messages flood detected - 2</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
<source>Warning! Joins flood protection activated</source>
<translation type="unfinished"></translation>
</message>
@@ -3574,5 +3613,49 @@
<source>There's no voting going on</source>
<translation type="unfinished"></translation>
</message>
+ <message>
+ <source>Your vote counted</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Pause toggled</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>new seed</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>number of hedgehogs in team</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>/maxteams: specify number from 2 to 8</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Available callvote commands: kick <nickname>, map <name>, pause, newseed, hedgehogs</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>callvote kick: specify nickname</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>callvote kick: no such user</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>callvote map: no such map</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>callvote pause: no game in progress</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>callvote hedgehogs: specify number from 1 to 8</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
</TS>
--- a/share/hedgewars/Data/Locale/hedgewars_pt_PT.ts Fri Jan 01 19:15:32 2016 +0300
+++ b/share/hedgewars/Data/Locale/hedgewars_pt_PT.ts Tue Feb 09 21:11:16 2016 +0300
@@ -80,6 +80,10 @@
<source>permanent</source>
<translation>permanente</translation>
</message>
+ <message>
+ <source>Ban player</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>DataManager</name>
@@ -118,6 +122,10 @@
<source>Your email address is optional, but necessary if you want us to get back at you.</source>
<translation>O teu e-mail é opcional, mas necessário se quiseres que te contactemos de volta.</translation>
</message>
+ <message>
+ <source>Feedback</source>
+ <translation type="unfinished">Feedback</translation>
+ </message>
</context>
<context>
<name>FreqSpinBox</name>
@@ -484,6 +492,13 @@
</message>
</context>
<context>
+ <name>HWHostPortDialog</name>
+ <message>
+ <source>Connect to server</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
<name>HWMapContainer</name>
<message>
<source>All</source>
@@ -716,6 +731,10 @@
<source>Password:</source>
<translation>Password:</translation>
</message>
+ <message>
+ <source>New Account</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>HWUploadVideoDialog</name>
@@ -749,6 +768,10 @@
<source>Search for a hat:</source>
<translation>Procurar:</translation>
</message>
+ <message>
+ <source>Choose a hat</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>KB</name>
@@ -1722,6 +1745,14 @@
<source>Show games in-progress</source>
<translation>Mostrar jogos em progresso</translation>
</message>
+ <message>
+ <source>Show password protected</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Show join restricted</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>QCheckBox</name>
@@ -2214,6 +2245,10 @@
<source>Script parameter</source>
<translation type="unfinished"></translation>
</message>
+ <message>
+ <source>Air Mines</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>QLineEdit</name>
@@ -2719,6 +2754,10 @@
<source>Close</source>
<translation>Fechar</translation>
</message>
+ <message>
+ <source>Seed</source>
+ <translation type="unfinished">Semente</translation>
+ </message>
</context>
<context>
<name>SelWeaponWidget</name>
@@ -2801,6 +2840,10 @@
<source>Use selected theme</source>
<translation>Utilizar o tema selecionado</translation>
</message>
+ <message>
+ <source>Choose a theme</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>binds</name>
@@ -3565,10 +3608,6 @@
<translation type="unfinished"></translation>
</message>
<message>
- <source>Game messages flood detected - 2</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
<source>Warning! Joins flood protection activated</source>
<translation type="unfinished"></translation>
</message>
@@ -3576,5 +3615,49 @@
<source>There's no voting going on</source>
<translation type="unfinished"></translation>
</message>
+ <message>
+ <source>Your vote counted</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Pause toggled</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>new seed</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>number of hedgehogs in team</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>/maxteams: specify number from 2 to 8</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Available callvote commands: kick <nickname>, map <name>, pause, newseed, hedgehogs</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>callvote kick: specify nickname</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>callvote kick: no such user</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>callvote map: no such map</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>callvote pause: no game in progress</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>callvote hedgehogs: specify number from 1 to 8</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
</TS>
--- a/share/hedgewars/Data/Locale/hedgewars_ro.ts Fri Jan 01 19:15:32 2016 +0300
+++ b/share/hedgewars/Data/Locale/hedgewars_ro.ts Tue Feb 09 21:11:16 2016 +0300
@@ -76,6 +76,10 @@
<source>permanent</source>
<translation type="unfinished"></translation>
</message>
+ <message>
+ <source>Ban player</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>DataManager</name>
@@ -114,6 +118,10 @@
<source>Your email address is optional, but necessary if you want us to get back at you.</source>
<translation type="unfinished"></translation>
</message>
+ <message>
+ <source>Feedback</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>FreqSpinBox</name>
@@ -469,6 +477,13 @@
</message>
</context>
<context>
+ <name>HWHostPortDialog</name>
+ <message>
+ <source>Connect to server</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
<name>HWMapContainer</name>
<message>
<source>All</source>
@@ -694,6 +709,10 @@
<source>Password:</source>
<translation type="unfinished"></translation>
</message>
+ <message>
+ <source>New Account</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>HWUploadVideoDialog</name>
@@ -727,6 +746,10 @@
<source>Search for a hat:</source>
<translation type="unfinished"></translation>
</message>
+ <message>
+ <source>Choose a hat</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>KB</name>
@@ -1690,6 +1713,14 @@
<source>Show games in-progress</source>
<translation type="unfinished"></translation>
</message>
+ <message>
+ <source>Show password protected</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Show join restricted</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>QCheckBox</name>
@@ -2176,6 +2207,10 @@
<source>Script parameter</source>
<translation type="unfinished"></translation>
</message>
+ <message>
+ <source>Air Mines</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>QLineEdit</name>
@@ -2645,6 +2680,10 @@
<source>Close</source>
<translation type="unfinished"></translation>
</message>
+ <message>
+ <source>Seed</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>SelWeaponWidget</name>
@@ -2715,6 +2754,10 @@
<source>Use selected theme</source>
<translation type="unfinished"></translation>
</message>
+ <message>
+ <source>Choose a theme</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>binds</name>
@@ -3479,10 +3522,6 @@
<translation type="unfinished"></translation>
</message>
<message>
- <source>Game messages flood detected - 2</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
<source>Warning! Joins flood protection activated</source>
<translation type="unfinished"></translation>
</message>
@@ -3490,5 +3529,49 @@
<source>There's no voting going on</source>
<translation type="unfinished"></translation>
</message>
+ <message>
+ <source>Your vote counted</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Pause toggled</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>new seed</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>number of hedgehogs in team</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>/maxteams: specify number from 2 to 8</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Available callvote commands: kick <nickname>, map <name>, pause, newseed, hedgehogs</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>callvote kick: specify nickname</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>callvote kick: no such user</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>callvote map: no such map</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>callvote pause: no game in progress</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>callvote hedgehogs: specify number from 1 to 8</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
</TS>
--- a/share/hedgewars/Data/Locale/hedgewars_ru.ts Fri Jan 01 19:15:32 2016 +0300
+++ b/share/hedgewars/Data/Locale/hedgewars_ru.ts Tue Feb 09 21:11:16 2016 +0300
@@ -80,6 +80,10 @@
<source>permanent</source>
<translation>постоянный</translation>
</message>
+ <message>
+ <source>Ban player</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>DataManager</name>
@@ -118,6 +122,10 @@
<source>Your email address is optional, but necessary if you want us to get back at you.</source>
<translation>Адрес e-mail необязателен, но необходим, если вы хотите получить ответ.</translation>
</message>
+ <message>
+ <source>Feedback</source>
+ <translation type="unfinished">Отзыв</translation>
+ </message>
</context>
<context>
<name>FreqSpinBox</name>
@@ -489,6 +497,13 @@
</message>
</context>
<context>
+ <name>HWHostPortDialog</name>
+ <message>
+ <source>Connect to server</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
<name>HWMapContainer</name>
<message>
<source>All</source>
@@ -717,6 +732,10 @@
<source>Password:</source>
<translation>Пароль:</translation>
</message>
+ <message>
+ <source>New Account</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>HWUploadVideoDialog</name>
@@ -750,6 +769,10 @@
<source>Search for a hat:</source>
<translation>Поиск по шляпам:</translation>
</message>
+ <message>
+ <source>Choose a hat</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>KB</name>
@@ -1073,6 +1096,8 @@
<source>(%1 %2)</source>
<translation type="unfinished">
<numerusform></numerusform>
+ <numerusform></numerusform>
+ <numerusform></numerusform>
</translation>
</message>
</context>
@@ -1754,6 +1779,14 @@
<source>Show games in-progress</source>
<translation>Показывать текущие игры</translation>
</message>
+ <message>
+ <source>Show password protected</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Show join restricted</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>QCheckBox</name>
@@ -2262,6 +2295,10 @@
<source>Script parameter</source>
<translation>Параметр скрипта</translation>
</message>
+ <message>
+ <source>Air Mines</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>QLineEdit</name>
@@ -2427,6 +2464,8 @@
<source>Do you really want to remove %1 file(s)?</source>
<translation type="unfinished">
<numerusform></numerusform>
+ <numerusform></numerusform>
+ <numerusform></numerusform>
</translation>
</message>
<message>
@@ -2730,6 +2769,10 @@
<source>Close</source>
<translation>Закрыть</translation>
</message>
+ <message>
+ <source>Seed</source>
+ <translation type="unfinished">Зерно</translation>
+ </message>
</context>
<context>
<name>SelWeaponWidget</name>
@@ -2811,6 +2854,10 @@
<source>Use selected theme</source>
<translation>Использовать выбранную тему</translation>
</message>
+ <message>
+ <source>Choose a theme</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>binds</name>
@@ -3575,10 +3622,6 @@
<translation type="unfinished"></translation>
</message>
<message>
- <source>Game messages flood detected - 2</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
<source>Warning! Joins flood protection activated</source>
<translation type="unfinished"></translation>
</message>
@@ -3586,5 +3629,49 @@
<source>There's no voting going on</source>
<translation type="unfinished"></translation>
</message>
+ <message>
+ <source>Your vote counted</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Pause toggled</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>new seed</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>number of hedgehogs in team</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>/maxteams: specify number from 2 to 8</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Available callvote commands: kick <nickname>, map <name>, pause, newseed, hedgehogs</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>callvote kick: specify nickname</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>callvote kick: no such user</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>callvote map: no such map</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>callvote pause: no game in progress</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>callvote hedgehogs: specify number from 1 to 8</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
</TS>
--- a/share/hedgewars/Data/Locale/hedgewars_sk.ts Fri Jan 01 19:15:32 2016 +0300
+++ b/share/hedgewars/Data/Locale/hedgewars_sk.ts Tue Feb 09 21:11:16 2016 +0300
@@ -80,6 +80,10 @@
<source>permanent</source>
<translation type="unfinished"></translation>
</message>
+ <message>
+ <source>Ban player</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>DataManager</name>
@@ -118,6 +122,10 @@
<source>Your email address is optional, but necessary if you want us to get back at you.</source>
<translation type="unfinished"></translation>
</message>
+ <message>
+ <source>Feedback</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>FreqSpinBox</name>
@@ -480,6 +488,13 @@
</message>
</context>
<context>
+ <name>HWHostPortDialog</name>
+ <message>
+ <source>Connect to server</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
<name>HWMapContainer</name>
<message>
<source>All</source>
@@ -705,6 +720,10 @@
<source>Password:</source>
<translation type="unfinished"></translation>
</message>
+ <message>
+ <source>New Account</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>HWUploadVideoDialog</name>
@@ -738,6 +757,10 @@
<source>Search for a hat:</source>
<translation type="unfinished"></translation>
</message>
+ <message>
+ <source>Choose a hat</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>KB</name>
@@ -1730,6 +1753,14 @@
<source>Show games in-progress</source>
<translation type="unfinished"></translation>
</message>
+ <message>
+ <source>Show password protected</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Show join restricted</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>QCheckBox</name>
@@ -2236,6 +2267,10 @@
<source>Script parameter</source>
<translation type="unfinished"></translation>
</message>
+ <message>
+ <source>Air Mines</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>QLineEdit</name>
@@ -2731,6 +2766,10 @@
<source>Close</source>
<translation type="unfinished"></translation>
</message>
+ <message>
+ <source>Seed</source>
+ <translation type="unfinished">Zrno</translation>
+ </message>
</context>
<context>
<name>SelWeaponWidget</name>
@@ -2805,6 +2844,10 @@
<source>Use selected theme</source>
<translation type="unfinished"></translation>
</message>
+ <message>
+ <source>Choose a theme</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>binds</name>
@@ -3569,10 +3612,6 @@
<translation type="unfinished"></translation>
</message>
<message>
- <source>Game messages flood detected - 2</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
<source>Warning! Joins flood protection activated</source>
<translation type="unfinished"></translation>
</message>
@@ -3580,5 +3619,49 @@
<source>There's no voting going on</source>
<translation type="unfinished"></translation>
</message>
+ <message>
+ <source>Your vote counted</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Pause toggled</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>new seed</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>number of hedgehogs in team</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>/maxteams: specify number from 2 to 8</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Available callvote commands: kick <nickname>, map <name>, pause, newseed, hedgehogs</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>callvote kick: specify nickname</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>callvote kick: no such user</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>callvote map: no such map</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>callvote pause: no game in progress</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>callvote hedgehogs: specify number from 1 to 8</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
</TS>
--- a/share/hedgewars/Data/Locale/hedgewars_sv.ts Fri Jan 01 19:15:32 2016 +0300
+++ b/share/hedgewars/Data/Locale/hedgewars_sv.ts Tue Feb 09 21:11:16 2016 +0300
@@ -80,6 +80,10 @@
<source>permanent</source>
<translation type="unfinished"></translation>
</message>
+ <message>
+ <source>Ban player</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>DataManager</name>
@@ -118,6 +122,10 @@
<source>Your email address is optional, but necessary if you want us to get back at you.</source>
<translation type="unfinished"></translation>
</message>
+ <message>
+ <source>Feedback</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>FreqSpinBox</name>
@@ -471,6 +479,13 @@
</message>
</context>
<context>
+ <name>HWHostPortDialog</name>
+ <message>
+ <source>Connect to server</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
<name>HWMapContainer</name>
<message>
<source>All</source>
@@ -696,6 +711,10 @@
<source>Password:</source>
<translation type="unfinished"></translation>
</message>
+ <message>
+ <source>New Account</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>HWUploadVideoDialog</name>
@@ -729,6 +748,10 @@
<source>Search for a hat:</source>
<translation type="unfinished"></translation>
</message>
+ <message>
+ <source>Choose a hat</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>KB</name>
@@ -1698,6 +1721,14 @@
<source>Show games in-progress</source>
<translation type="unfinished"></translation>
</message>
+ <message>
+ <source>Show password protected</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Show join restricted</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>QCheckBox</name>
@@ -2200,6 +2231,10 @@
<source>Script parameter</source>
<translation type="unfinished"></translation>
</message>
+ <message>
+ <source>Air Mines</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>QLineEdit</name>
@@ -2668,6 +2703,10 @@
<source>Close</source>
<translation type="unfinished"></translation>
</message>
+ <message>
+ <source>Seed</source>
+ <translation type="unfinished">Frö</translation>
+ </message>
</context>
<context>
<name>SelWeaponWidget</name>
@@ -2742,6 +2781,10 @@
<source>Use selected theme</source>
<translation type="unfinished"></translation>
</message>
+ <message>
+ <source>Choose a theme</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>binds</name>
@@ -3506,10 +3549,6 @@
<translation type="unfinished"></translation>
</message>
<message>
- <source>Game messages flood detected - 2</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
<source>Warning! Joins flood protection activated</source>
<translation type="unfinished"></translation>
</message>
@@ -3517,5 +3556,49 @@
<source>There's no voting going on</source>
<translation type="unfinished"></translation>
</message>
+ <message>
+ <source>Your vote counted</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Pause toggled</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>new seed</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>number of hedgehogs in team</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>/maxteams: specify number from 2 to 8</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Available callvote commands: kick <nickname>, map <name>, pause, newseed, hedgehogs</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>callvote kick: specify nickname</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>callvote kick: no such user</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>callvote map: no such map</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>callvote pause: no game in progress</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>callvote hedgehogs: specify number from 1 to 8</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
</TS>
--- a/share/hedgewars/Data/Locale/hedgewars_tr_TR.ts Fri Jan 01 19:15:32 2016 +0300
+++ b/share/hedgewars/Data/Locale/hedgewars_tr_TR.ts Tue Feb 09 21:11:16 2016 +0300
@@ -80,6 +80,10 @@
<source>permanent</source>
<translation>kalıcı</translation>
</message>
+ <message>
+ <source>Ban player</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>DataManager</name>
@@ -130,6 +134,10 @@
<source>Your email address is optional, but necessary if you want us to get back at you.</source>
<translation type="unfinished"></translation>
</message>
+ <message>
+ <source>Feedback</source>
+ <translation type="unfinished">Geri Bildirim</translation>
+ </message>
</context>
<context>
<name>FreqSpinBox</name>
@@ -489,6 +497,13 @@
</message>
</context>
<context>
+ <name>HWHostPortDialog</name>
+ <message>
+ <source>Connect to server</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
<name>HWMapContainer</name>
<message>
<source>All</source>
@@ -721,6 +736,10 @@
<source>Password:</source>
<translation>Parola:</translation>
</message>
+ <message>
+ <source>New Account</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>HWUploadVideoDialog</name>
@@ -754,6 +773,10 @@
<source>Search for a hat:</source>
<translation>Şapka ara:</translation>
</message>
+ <message>
+ <source>Choose a hat</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>KB</name>
@@ -1733,6 +1756,14 @@
<source>Show games in-progress</source>
<translation>Süren oyunları göster</translation>
</message>
+ <message>
+ <source>Show password protected</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Show join restricted</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>QCheckBox</name>
@@ -2229,6 +2260,10 @@
<source>Script parameter</source>
<translation type="unfinished"></translation>
</message>
+ <message>
+ <source>Air Mines</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>QLineEdit</name>
@@ -2731,6 +2766,10 @@
<source>Close</source>
<translation>Kapat</translation>
</message>
+ <message>
+ <source>Seed</source>
+ <translation type="unfinished">Besleme</translation>
+ </message>
</context>
<context>
<name>SelWeaponWidget</name>
@@ -2813,6 +2852,10 @@
<source>Use selected theme</source>
<translation>Seçili temayı kullan</translation>
</message>
+ <message>
+ <source>Choose a theme</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>binds</name>
@@ -3577,10 +3620,6 @@
<translation type="unfinished"></translation>
</message>
<message>
- <source>Game messages flood detected - 2</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
<source>Warning! Joins flood protection activated</source>
<translation type="unfinished"></translation>
</message>
@@ -3588,5 +3627,49 @@
<source>There's no voting going on</source>
<translation type="unfinished"></translation>
</message>
+ <message>
+ <source>Your vote counted</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Pause toggled</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>new seed</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>number of hedgehogs in team</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>/maxteams: specify number from 2 to 8</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Available callvote commands: kick <nickname>, map <name>, pause, newseed, hedgehogs</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>callvote kick: specify nickname</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>callvote kick: no such user</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>callvote map: no such map</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>callvote pause: no game in progress</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>callvote hedgehogs: specify number from 1 to 8</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
</TS>
--- a/share/hedgewars/Data/Locale/hedgewars_uk.ts Fri Jan 01 19:15:32 2016 +0300
+++ b/share/hedgewars/Data/Locale/hedgewars_uk.ts Tue Feb 09 21:11:16 2016 +0300
@@ -80,6 +80,10 @@
<source>permanent</source>
<translation>постійний</translation>
</message>
+ <message>
+ <source>Ban player</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>DataManager</name>
@@ -118,6 +122,10 @@
<source>Your email address is optional, but necessary if you want us to get back at you.</source>
<translation>Ваша електронна адреса не є обов'язковою, але потрібною, якщо ви хочете, щоб ми з вами зв'язались.</translation>
</message>
+ <message>
+ <source>Feedback</source>
+ <translation type="unfinished">Відгук</translation>
+ </message>
</context>
<context>
<name>FreqSpinBox</name>
@@ -491,6 +499,13 @@
</message>
</context>
<context>
+ <name>HWHostPortDialog</name>
+ <message>
+ <source>Connect to server</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
<name>HWMapContainer</name>
<message>
<source>All</source>
@@ -719,6 +734,10 @@
<source>Password:</source>
<translation>Пароль:</translation>
</message>
+ <message>
+ <source>New Account</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>HWUploadVideoDialog</name>
@@ -752,6 +771,10 @@
<source>Search for a hat:</source>
<translation>Шукати капелюх:</translation>
</message>
+ <message>
+ <source>Choose a hat</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>KB</name>
@@ -1731,6 +1754,14 @@
<source>Show games in-progress</source>
<translation>Показувати триваючі ігри</translation>
</message>
+ <message>
+ <source>Show password protected</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Show join restricted</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>QCheckBox</name>
@@ -2235,6 +2266,10 @@
<source>Script parameter</source>
<translation type="unfinished"></translation>
</message>
+ <message>
+ <source>Air Mines</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>QLineEdit</name>
@@ -2707,6 +2742,10 @@
<source>Close</source>
<translation>Закрити</translation>
</message>
+ <message>
+ <source>Seed</source>
+ <translation type="unfinished">Висів</translation>
+ </message>
</context>
<context>
<name>SelWeaponWidget</name>
@@ -2782,6 +2821,10 @@
<source>Use selected theme</source>
<translation>Використати вибрану тему</translation>
</message>
+ <message>
+ <source>Choose a theme</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>binds</name>
@@ -3546,10 +3589,6 @@
<translation type="unfinished"></translation>
</message>
<message>
- <source>Game messages flood detected - 2</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
<source>Warning! Joins flood protection activated</source>
<translation type="unfinished"></translation>
</message>
@@ -3557,5 +3596,49 @@
<source>There's no voting going on</source>
<translation type="unfinished"></translation>
</message>
+ <message>
+ <source>Your vote counted</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Pause toggled</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>new seed</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>number of hedgehogs in team</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>/maxteams: specify number from 2 to 8</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Available callvote commands: kick <nickname>, map <name>, pause, newseed, hedgehogs</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>callvote kick: specify nickname</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>callvote kick: no such user</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>callvote map: no such map</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>callvote pause: no game in progress</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>callvote hedgehogs: specify number from 1 to 8</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
</TS>
--- a/share/hedgewars/Data/Locale/hedgewars_zh_CN.ts Fri Jan 01 19:15:32 2016 +0300
+++ b/share/hedgewars/Data/Locale/hedgewars_zh_CN.ts Tue Feb 09 21:11:16 2016 +0300
@@ -20,12 +20,12 @@
<context>
<name>AmmoSchemeModel</name>
<message>
- <location filename="../../../../QTfrontend/model/ammoSchemeModel.cpp" line="697"/>
+ <location filename="../../../../QTfrontend/model/ammoSchemeModel.cpp" line="758"/>
<source>new</source>
<translation type="unfinished">新</translation>
</message>
<message>
- <location filename="../../../../QTfrontend/model/ammoSchemeModel.cpp" line="703"/>
+ <location filename="../../../../QTfrontend/model/ammoSchemeModel.cpp" line="764"/>
<source>copy of %1</source>
<translation type="unfinished"></translation>
</message>
@@ -39,7 +39,7 @@
</message>
<message>
<location filename="../../../../QTfrontend/ui/dialog/bandialog.cpp" line="41"/>
- <location filename="../../../../QTfrontend/ui/dialog/bandialog.cpp" line="87"/>
+ <location filename="../../../../QTfrontend/ui/dialog/bandialog.cpp" line="88"/>
<source>IP</source>
<translation type="unfinished">IP</translation>
</message>
@@ -74,22 +74,27 @@
<translation type="unfinished">取消</translation>
</message>
<message>
- <location filename="../../../../QTfrontend/ui/dialog/bandialog.cpp" line="80"/>
+ <location filename="../../../../QTfrontend/ui/dialog/bandialog.cpp" line="61"/>
+ <source>Ban player</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../../../QTfrontend/ui/dialog/bandialog.cpp" line="81"/>
<source>you know why</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/ui/dialog/bandialog.cpp" line="87"/>
+ <location filename="../../../../QTfrontend/ui/dialog/bandialog.cpp" line="88"/>
<source>Warning</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/ui/dialog/bandialog.cpp" line="87"/>
+ <location filename="../../../../QTfrontend/ui/dialog/bandialog.cpp" line="88"/>
<source>Please, specify %1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/ui/dialog/bandialog.cpp" line="87"/>
+ <location filename="../../../../QTfrontend/ui/dialog/bandialog.cpp" line="88"/>
<source>nickname</source>
<translation type="unfinished"></translation>
</message>
@@ -105,37 +110,42 @@
<context>
<name>FeedbackDialog</name>
<message>
- <location filename="../../../../QTfrontend/ui/widget/feedbackdialog.cpp" line="91"/>
+ <location filename="../../../../QTfrontend/ui/widget/feedbackdialog.cpp" line="92"/>
<source>We are always happy about suggestions, ideas, or bug reports.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/ui/widget/feedbackdialog.cpp" line="90"/>
+ <location filename="../../../../QTfrontend/ui/widget/feedbackdialog.cpp" line="91"/>
<source>Send us feedback!</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/ui/widget/feedbackdialog.cpp" line="92"/>
- <source>If you found a bug, you can see if it's already been reported here: </source>
+ <location filename="../../../../QTfrontend/ui/widget/feedbackdialog.cpp" line="63"/>
+ <source>Feedback</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../../QTfrontend/ui/widget/feedbackdialog.cpp" line="93"/>
+ <source>If you found a bug, you can see if it's already been reported here: </source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../../../QTfrontend/ui/widget/feedbackdialog.cpp" line="94"/>
<source>Your email address is optional, but necessary if you want us to get back at you.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/ui/widget/feedbackdialog.cpp" line="124"/>
+ <location filename="../../../../QTfrontend/ui/widget/feedbackdialog.cpp" line="125"/>
<source>View</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/ui/widget/feedbackdialog.cpp" line="150"/>
+ <location filename="../../../../QTfrontend/ui/widget/feedbackdialog.cpp" line="151"/>
<source>Cancel</source>
<translation type="unfinished">取消</translation>
</message>
<message>
- <location filename="../../../../QTfrontend/ui/widget/feedbackdialog.cpp" line="178"/>
+ <location filename="../../../../QTfrontend/ui/widget/feedbackdialog.cpp" line="179"/>
<source>Send Feedback</source>
<translation type="unfinished"></translation>
</message>
@@ -186,7 +196,7 @@
<context>
<name>GameUIConfig</name>
<message>
- <location filename="../../../../QTfrontend/gameuiconfig.cpp" line="115"/>
+ <location filename="../../../../QTfrontend/gameuiconfig.cpp" line="116"/>
<source>Guest</source>
<translation type="unfinished"></translation>
</message>
@@ -239,72 +249,73 @@
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/main.cpp" line="102"/>
+ <location filename="../../../../QTfrontend/main.cpp" line="105"/>
<source>Cannot create directory %1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/main.cpp" line="138"/>
- <source>Usage</source>
- <comment>command-line</comment>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../../../QTfrontend/main.cpp" line="139"/>
- <source>OPTION</source>
- <comment>command-line</comment>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../../../QTfrontend/main.cpp" line="140"/>
- <source>CONNECTSTRING</source>
- <comment>command-line</comment>
- <translation type="unfinished"></translation>
- </message>
- <message>
<location filename="../../../../QTfrontend/main.cpp" line="141"/>
- <source>Options</source>
+ <source>Usage</source>
<comment>command-line</comment>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../../QTfrontend/main.cpp" line="142"/>
- <source>Display this help</source>
+ <source>OPTION</source>
<comment>command-line</comment>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../../QTfrontend/main.cpp" line="143"/>
- <source>Custom path for configuration data and user data</source>
+ <location filename="../../../../QTfrontend/main.cpp" line="148"/>
+ <source>CONNECTSTRING</source>
<comment>command-line</comment>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../../QTfrontend/main.cpp" line="144"/>
- <source>Custom path to the game data folder</source>
+ <source>Options</source>
<comment>command-line</comment>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../../QTfrontend/main.cpp" line="145"/>
+ <source>Display this help</source>
+ <comment>command-line</comment>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../../../QTfrontend/main.cpp" line="146"/>
+ <source>Custom path for configuration data and user data</source>
+ <comment>command-line</comment>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../../../QTfrontend/main.cpp" line="147"/>
+ <source>Custom path to the game data folder</source>
+ <comment>command-line</comment>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../../../QTfrontend/main.cpp" line="148"/>
<source>Hedgewars can use a %1 (e.g. "%2") to connect on start.</source>
<comment>command-line</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/main.cpp" line="191"/>
+ <location filename="../../../../QTfrontend/main.cpp" line="196"/>
<source>Malformed option argument: %1</source>
<comment>command-line</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/main.cpp" line="231"/>
+ <location filename="../../../../QTfrontend/main.cpp" line="236"/>
<source>Unknown option argument: %1</source>
<comment>command-line</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/main.cpp" line="305"/>
+ <location filename="../../../../QTfrontend/main.cpp" line="310"/>
<source>Failed to open data directory:
%1
@@ -323,67 +334,67 @@
<context>
<name>HWChatWidget</name>
<message>
- <location filename="../../../../QTfrontend/ui/widget/chatwidget.cpp" line="505"/>
+ <location filename="../../../../QTfrontend/ui/widget/chatwidget.cpp" line="509"/>
<source>%1 has joined</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/ui/widget/chatwidget.cpp" line="526"/>
+ <location filename="../../../../QTfrontend/ui/widget/chatwidget.cpp" line="530"/>
<source>%1 has left</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/ui/widget/chatwidget.cpp" line="528"/>
+ <location filename="../../../../QTfrontend/ui/widget/chatwidget.cpp" line="532"/>
<source>%1 has left (%2)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/ui/widget/chatwidget.cpp" line="657"/>
+ <location filename="../../../../QTfrontend/ui/widget/chatwidget.cpp" line="661"/>
<source>%1 has been removed from your ignore list</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/ui/widget/chatwidget.cpp" line="667"/>
+ <location filename="../../../../QTfrontend/ui/widget/chatwidget.cpp" line="671"/>
<source>%1 has been added to your ignore list</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/ui/widget/chatwidget.cpp" line="697"/>
+ <location filename="../../../../QTfrontend/ui/widget/chatwidget.cpp" line="701"/>
<source>%1 has been removed from your friends list</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/ui/widget/chatwidget.cpp" line="706"/>
+ <location filename="../../../../QTfrontend/ui/widget/chatwidget.cpp" line="710"/>
<source>%1 has been added to your friends list</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/ui/widget/chatwidget.cpp" line="772"/>
+ <location filename="../../../../QTfrontend/ui/widget/chatwidget.cpp" line="776"/>
<source>Stylesheet imported from %1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/ui/widget/chatwidget.cpp" line="773"/>
+ <location filename="../../../../QTfrontend/ui/widget/chatwidget.cpp" line="777"/>
<source>Enter %1 if you want to use the current StyleSheet in future, enter %2 to reset!</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/ui/widget/chatwidget.cpp" line="781"/>
+ <location filename="../../../../QTfrontend/ui/widget/chatwidget.cpp" line="785"/>
<source>Couldn't read %1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/ui/widget/chatwidget.cpp" line="789"/>
+ <location filename="../../../../QTfrontend/ui/widget/chatwidget.cpp" line="793"/>
<source>StyleSheet discarded</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/ui/widget/chatwidget.cpp" line="813"/>
+ <location filename="../../../../QTfrontend/ui/widget/chatwidget.cpp" line="817"/>
<source>StyleSheet saved to %1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/ui/widget/chatwidget.cpp" line="816"/>
+ <location filename="../../../../QTfrontend/ui/widget/chatwidget.cpp" line="820"/>
<source>Failed to save StyleSheet to %1</source>
<translation type="unfinished"></translation>
</message>
@@ -392,34 +403,34 @@
<name>HWForm</name>
<message>
<location filename="../../../../QTfrontend/hwform.cpp" line="156"/>
- <location filename="../../../../QTfrontend/hwform.cpp" line="476"/>
- <location filename="../../../../QTfrontend/hwform.cpp" line="1399"/>
- <location filename="../../../../QTfrontend/hwform.cpp" line="1418"/>
+ <location filename="../../../../QTfrontend/hwform.cpp" line="474"/>
+ <location filename="../../../../QTfrontend/hwform.cpp" line="1397"/>
+ <location filename="../../../../QTfrontend/hwform.cpp" line="1416"/>
<source>Guest</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/hwform.cpp" line="481"/>
+ <location filename="../../../../QTfrontend/hwform.cpp" line="479"/>
<source>DefaultTeam</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/hwform.cpp" line="485"/>
+ <location filename="../../../../QTfrontend/hwform.cpp" line="483"/>
<source>%1's Team</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/hwform.cpp" line="641"/>
+ <location filename="../../../../QTfrontend/hwform.cpp" line="639"/>
<source>Game aborted</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/hwform.cpp" line="1080"/>
+ <location filename="../../../../QTfrontend/hwform.cpp" line="1078"/>
<source>Hedgewars - Nick registered</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/hwform.cpp" line="1081"/>
+ <location filename="../../../../QTfrontend/hwform.cpp" line="1079"/>
<source>This nick is registered, and you haven't specified a password.
If this nick isn't yours, please register your own nick at www.hedgewars.org
@@ -428,109 +439,109 @@
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/hwform.cpp" line="1109"/>
+ <location filename="../../../../QTfrontend/hwform.cpp" line="1107"/>
<source>Your nickname is not registered.
To prevent someone else from using it,
please register it at www.hedgewars.org</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/hwform.cpp" line="1114"/>
+ <location filename="../../../../QTfrontend/hwform.cpp" line="1112"/>
<source>
Your password wasn't saved either.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/hwform.cpp" line="1126"/>
+ <location filename="../../../../QTfrontend/hwform.cpp" line="1124"/>
<source>Nickname</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/hwform.cpp" line="1126"/>
+ <location filename="../../../../QTfrontend/hwform.cpp" line="1124"/>
<source>Someone already uses your nickname %1 on the server.
Please pick another nickname:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/hwform.cpp" line="1131"/>
- <location filename="../../../../QTfrontend/hwform.cpp" line="1452"/>
+ <location filename="../../../../QTfrontend/hwform.cpp" line="1129"/>
+ <location filename="../../../../QTfrontend/hwform.cpp" line="1450"/>
<source>No nickname supplied.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/hwform.cpp" line="1131"/>
- <location filename="../../../../QTfrontend/hwform.cpp" line="1452"/>
+ <location filename="../../../../QTfrontend/hwform.cpp" line="1129"/>
+ <location filename="../../../../QTfrontend/hwform.cpp" line="1450"/>
<source>Hedgewars - Empty nickname</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/hwform.cpp" line="1158"/>
+ <location filename="../../../../QTfrontend/hwform.cpp" line="1156"/>
<source>Hedgewars - Wrong password</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/hwform.cpp" line="1158"/>
+ <location filename="../../../../QTfrontend/hwform.cpp" line="1156"/>
<source>You entered a wrong password.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/hwform.cpp" line="1170"/>
+ <location filename="../../../../QTfrontend/hwform.cpp" line="1168"/>
<source>Room password</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/hwform.cpp" line="1170"/>
+ <location filename="../../../../QTfrontend/hwform.cpp" line="1168"/>
<source>The room is protected with password.
Please, enter the password:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/hwform.cpp" line="1186"/>
+ <location filename="../../../../QTfrontend/hwform.cpp" line="1184"/>
<source>Try Again</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/hwform.cpp" line="1556"/>
+ <location filename="../../../../QTfrontend/hwform.cpp" line="1554"/>
<source>Hedgewars - Connection error</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/hwform.cpp" line="1556"/>
+ <location filename="../../../../QTfrontend/hwform.cpp" line="1554"/>
<source>You reconnected too fast.
Please wait a few seconds and try again.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/hwform.cpp" line="1990"/>
+ <location filename="../../../../QTfrontend/hwform.cpp" line="1988"/>
<source>Hedgewars Demo File</source>
<comment>File Types</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/hwform.cpp" line="1991"/>
+ <location filename="../../../../QTfrontend/hwform.cpp" line="1989"/>
<source>Hedgewars Save File</source>
<comment>File Types</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/hwform.cpp" line="2052"/>
+ <location filename="../../../../QTfrontend/hwform.cpp" line="2050"/>
<source>Demo name</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/hwform.cpp" line="2052"/>
+ <location filename="../../../../QTfrontend/hwform.cpp" line="2050"/>
<source>Demo name:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/hwform.cpp" line="2120"/>
+ <location filename="../../../../QTfrontend/hwform.cpp" line="2118"/>
<source>This page requires an internet connection.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/hwform.cpp" line="1713"/>
- <location filename="../../../../QTfrontend/hwform.cpp" line="2060"/>
+ <location filename="../../../../QTfrontend/hwform.cpp" line="1711"/>
+ <location filename="../../../../QTfrontend/hwform.cpp" line="2058"/>
<source>Cannot save record to file %1</source>
<translation>无法录入文件 %1</translation>
</message>
@@ -538,7 +549,7 @@
<context>
<name>HWGame</name>
<message>
- <location filename="../../../../QTfrontend/game.cpp" line="252"/>
+ <location filename="../../../../QTfrontend/game.cpp" line="255"/>
<source>A Fatal ERROR occured! - The game engine had to stop.
We are very sorry for the inconvenience :(
@@ -550,182 +561,190 @@
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/game.cpp" line="383"/>
+ <location filename="../../../../QTfrontend/game.cpp" line="386"/>
<location filename="../../../../QTfrontend/net/recorder.cpp" line="113"/>
<source>en.txt</source>
<translation>zh_CN.txt</translation>
</message>
<message>
- <location filename="../../../../QTfrontend/game.cpp" line="433"/>
+ <location filename="../../../../QTfrontend/game.cpp" line="436"/>
<source>Cannot open demofile %1</source>
<translation>DEMO %1 打不开</translation>
</message>
</context>
<context>
+ <name>HWHostPortDialog</name>
+ <message>
+ <location filename="../../../../QTfrontend/ui/dialog/input_ip.cpp" line="66"/>
+ <source>Connect to server</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
<name>HWMapContainer</name>
<message>
- <location filename="../../../../QTfrontend/ui/widget/mapContainer.cpp" line="213"/>
+ <location filename="../../../../QTfrontend/ui/widget/mapContainer.cpp" line="216"/>
<source>Small tunnels</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/ui/widget/mapContainer.cpp" line="214"/>
+ <location filename="../../../../QTfrontend/ui/widget/mapContainer.cpp" line="217"/>
<source>Medium tunnels</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/ui/widget/mapContainer.cpp" line="133"/>
+ <location filename="../../../../QTfrontend/ui/widget/mapContainer.cpp" line="136"/>
<source>Seed</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/ui/widget/mapContainer.cpp" line="100"/>
- <source>Map type:</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
<location filename="../../../../QTfrontend/ui/widget/mapContainer.cpp" line="103"/>
- <source>Image map</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../../../QTfrontend/ui/widget/mapContainer.cpp" line="104"/>
- <source>Mission map</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../../../QTfrontend/ui/widget/mapContainer.cpp" line="105"/>
- <source>Hand-drawn</source>
+ <source>Map type:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../../QTfrontend/ui/widget/mapContainer.cpp" line="106"/>
- <source>Randomly generated</source>
+ <source>Image map</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../../QTfrontend/ui/widget/mapContainer.cpp" line="107"/>
- <source>Random maze</source>
+ <source>Mission map</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../../QTfrontend/ui/widget/mapContainer.cpp" line="108"/>
+ <source>Hand-drawn</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../../../QTfrontend/ui/widget/mapContainer.cpp" line="109"/>
+ <source>Randomly generated</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../../../QTfrontend/ui/widget/mapContainer.cpp" line="110"/>
+ <source>Random maze</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../../../QTfrontend/ui/widget/mapContainer.cpp" line="111"/>
<source>Random perlin</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/ui/widget/mapContainer.cpp" line="118"/>
+ <location filename="../../../../QTfrontend/ui/widget/mapContainer.cpp" line="121"/>
<source>Random</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/ui/widget/mapContainer.cpp" line="142"/>
+ <location filename="../../../../QTfrontend/ui/widget/mapContainer.cpp" line="145"/>
<source>Map preview:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/ui/widget/mapContainer.cpp" line="181"/>
+ <location filename="../../../../QTfrontend/ui/widget/mapContainer.cpp" line="184"/>
<source>Load map drawing</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/ui/widget/mapContainer.cpp" line="187"/>
+ <location filename="../../../../QTfrontend/ui/widget/mapContainer.cpp" line="190"/>
<source>Edit map drawing</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/ui/widget/mapContainer.cpp" line="200"/>
- <source>All</source>
- <translation>全部</translation>
- </message>
- <message>
- <location filename="../../../../QTfrontend/ui/widget/mapContainer.cpp" line="201"/>
- <source>Small</source>
- <translation>小型</translation>
- </message>
- <message>
- <location filename="../../../../QTfrontend/ui/widget/mapContainer.cpp" line="202"/>
- <source>Medium</source>
- <translation>中型</translation>
- </message>
- <message>
<location filename="../../../../QTfrontend/ui/widget/mapContainer.cpp" line="203"/>
- <source>Large</source>
- <translation>大型</translation>
+ <source>All</source>
+ <translation>全部</translation>
</message>
<message>
<location filename="../../../../QTfrontend/ui/widget/mapContainer.cpp" line="204"/>
- <source>Cavern</source>
- <translation>洞穴</translation>
+ <source>Small</source>
+ <translation>小型</translation>
</message>
<message>
<location filename="../../../../QTfrontend/ui/widget/mapContainer.cpp" line="205"/>
+ <source>Medium</source>
+ <translation>中型</translation>
+ </message>
+ <message>
+ <location filename="../../../../QTfrontend/ui/widget/mapContainer.cpp" line="206"/>
+ <source>Large</source>
+ <translation>大型</translation>
+ </message>
+ <message>
+ <location filename="../../../../QTfrontend/ui/widget/mapContainer.cpp" line="207"/>
+ <source>Cavern</source>
+ <translation>洞穴</translation>
+ </message>
+ <message>
+ <location filename="../../../../QTfrontend/ui/widget/mapContainer.cpp" line="208"/>
<source>Wacky</source>
<translation>曲折</translation>
</message>
<message>
- <location filename="../../../../QTfrontend/ui/widget/mapContainer.cpp" line="215"/>
- <source>Large tunnels</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../../../QTfrontend/ui/widget/mapContainer.cpp" line="216"/>
- <source>Small islands</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../../../QTfrontend/ui/widget/mapContainer.cpp" line="217"/>
- <source>Medium islands</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
<location filename="../../../../QTfrontend/ui/widget/mapContainer.cpp" line="218"/>
+ <source>Large tunnels</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../../../QTfrontend/ui/widget/mapContainer.cpp" line="219"/>
+ <source>Small islands</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../../../QTfrontend/ui/widget/mapContainer.cpp" line="220"/>
+ <source>Medium islands</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../../../QTfrontend/ui/widget/mapContainer.cpp" line="221"/>
<source>Large islands</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/ui/widget/mapContainer.cpp" line="726"/>
+ <location filename="../../../../QTfrontend/ui/widget/mapContainer.cpp" line="760"/>
<source>Map size:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/ui/widget/mapContainer.cpp" line="733"/>
+ <location filename="../../../../QTfrontend/ui/widget/mapContainer.cpp" line="767"/>
<source>Maze style:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/ui/widget/mapContainer.cpp" line="740"/>
+ <location filename="../../../../QTfrontend/ui/widget/mapContainer.cpp" line="774"/>
<source>Style:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/ui/widget/mapContainer.cpp" line="754"/>
+ <location filename="../../../../QTfrontend/ui/widget/mapContainer.cpp" line="789"/>
<source>Mission:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/ui/widget/mapContainer.cpp" line="765"/>
+ <location filename="../../../../QTfrontend/ui/widget/mapContainer.cpp" line="801"/>
<source>Map:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/ui/widget/mapContainer.cpp" line="829"/>
- <location filename="../../../../QTfrontend/ui/widget/mapContainer.cpp" line="960"/>
+ <location filename="../../../../QTfrontend/ui/widget/mapContainer.cpp" line="884"/>
+ <location filename="../../../../QTfrontend/ui/widget/mapContainer.cpp" line="1012"/>
<source>Theme: %1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/ui/widget/mapContainer.cpp" line="911"/>
+ <location filename="../../../../QTfrontend/ui/widget/mapContainer.cpp" line="963"/>
<source>Load drawn map</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/ui/widget/mapContainer.cpp" line="911"/>
+ <location filename="../../../../QTfrontend/ui/widget/mapContainer.cpp" line="963"/>
<source>Drawn Maps</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/ui/widget/mapContainer.cpp" line="911"/>
+ <location filename="../../../../QTfrontend/ui/widget/mapContainer.cpp" line="963"/>
<source>All files</source>
<translation type="unfinished"></translation>
</message>
@@ -797,7 +816,7 @@
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/hwform.cpp" line="1576"/>
+ <location filename="../../../../QTfrontend/hwform.cpp" line="1574"/>
<source>Quit reason: </source>
<translation>退出原因:</translation>
</message>
@@ -837,6 +856,11 @@
<source>Password:</source>
<translation type="unfinished"></translation>
</message>
+ <message>
+ <location filename="../../../../QTfrontend/ui/dialog/input_password.cpp" line="59"/>
+ <source>New Account</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>HWUploadVideoDialog</name>
@@ -862,17 +886,22 @@
<context>
<name>HatPrompt</name>
<message>
- <location filename="../../../../QTfrontend/ui/widget/hatprompt.cpp" line="83"/>
+ <location filename="../../../../QTfrontend/ui/widget/hatprompt.cpp" line="63"/>
+ <source>Choose a hat</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../../../QTfrontend/ui/widget/hatprompt.cpp" line="84"/>
<source>Search for a hat:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/ui/widget/hatprompt.cpp" line="119"/>
+ <location filename="../../../../QTfrontend/ui/widget/hatprompt.cpp" line="120"/>
<source>Cancel</source>
<translation type="unfinished">取消</translation>
</message>
<message>
- <location filename="../../../../QTfrontend/ui/widget/hatprompt.cpp" line="123"/>
+ <location filename="../../../../QTfrontend/ui/widget/hatprompt.cpp" line="124"/>
<source>Use selected hat</source>
<translation type="unfinished"></translation>
</message>
@@ -895,27 +924,27 @@
<context>
<name>LibavInteraction</name>
<message>
- <location filename="../../../../QTfrontend/util/LibavInteraction.cpp" line="285"/>
+ <location filename="../../../../QTfrontend/util/LibavInteraction.cpp" line="294"/>
<source>Duration: %1m %2s</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/util/LibavInteraction.cpp" line="297"/>
+ <location filename="../../../../QTfrontend/util/LibavInteraction.cpp" line="306"/>
<source>Video: %1x%2</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/util/LibavInteraction.cpp" line="301"/>
+ <location filename="../../../../QTfrontend/util/LibavInteraction.cpp" line="310"/>
<source>%1 fps</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/util/LibavInteraction.cpp" line="305"/>
+ <location filename="../../../../QTfrontend/util/LibavInteraction.cpp" line="314"/>
<source>Audio: </source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/util/LibavInteraction.cpp" line="309"/>
+ <location filename="../../../../QTfrontend/util/LibavInteraction.cpp" line="318"/>
<source>unknown</source>
<translation type="unfinished"></translation>
</message>
@@ -1070,34 +1099,34 @@
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/ui/page/pagedrawmap.cpp" line="48"/>
+ <location filename="../../../../QTfrontend/ui/page/pagedrawmap.cpp" line="49"/>
<source>Load</source>
<translation type="unfinished">读取</translation>
</message>
<message>
- <location filename="../../../../QTfrontend/ui/page/pagedrawmap.cpp" line="49"/>
+ <location filename="../../../../QTfrontend/ui/page/pagedrawmap.cpp" line="50"/>
<source>Save</source>
<translation type="unfinished">保存</translation>
</message>
<message>
- <location filename="../../../../QTfrontend/ui/page/pagedrawmap.cpp" line="78"/>
+ <location filename="../../../../QTfrontend/ui/page/pagedrawmap.cpp" line="79"/>
<source>Load drawn map</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/ui/page/pagedrawmap.cpp" line="78"/>
- <location filename="../../../../QTfrontend/ui/page/pagedrawmap.cpp" line="86"/>
+ <location filename="../../../../QTfrontend/ui/page/pagedrawmap.cpp" line="79"/>
+ <location filename="../../../../QTfrontend/ui/page/pagedrawmap.cpp" line="87"/>
<source>Drawn Maps</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/ui/page/pagedrawmap.cpp" line="78"/>
- <location filename="../../../../QTfrontend/ui/page/pagedrawmap.cpp" line="86"/>
+ <location filename="../../../../QTfrontend/ui/page/pagedrawmap.cpp" line="79"/>
+ <location filename="../../../../QTfrontend/ui/page/pagedrawmap.cpp" line="87"/>
<source>All files</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/ui/page/pagedrawmap.cpp" line="86"/>
+ <location filename="../../../../QTfrontend/ui/page/pagedrawmap.cpp" line="87"/>
<source>Save drawn map</source>
<translation type="unfinished"></translation>
</message>
@@ -1612,17 +1641,17 @@
<context>
<name>PageRoomsList</name>
<message>
- <location filename="../../../../QTfrontend/ui/page/pageroomslist.cpp" line="85"/>
+ <location filename="../../../../QTfrontend/ui/page/pageroomslist.cpp" line="93"/>
<source>Search for a room:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/ui/page/pageroomslist.cpp" line="112"/>
+ <location filename="../../../../QTfrontend/ui/page/pageroomslist.cpp" line="120"/>
<source>Create room</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/ui/page/pageroomslist.cpp" line="116"/>
+ <location filename="../../../../QTfrontend/ui/page/pageroomslist.cpp" line="124"/>
<source>Join room</source>
<translation type="unfinished"></translation>
</message>
@@ -1632,7 +1661,7 @@
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/ui/page/pageroomslist.cpp" line="171"/>
+ <location filename="../../../../QTfrontend/ui/page/pageroomslist.cpp" line="179"/>
<source>Open server administration page</source>
<translation type="unfinished"></translation>
</message>
@@ -1645,14 +1674,14 @@
<translation type="obsolete">加入</translation>
</message>
<message numerus="yes">
- <location filename="../../../../QTfrontend/ui/page/pageroomslist.cpp" line="531"/>
+ <location filename="../../../../QTfrontend/ui/page/pageroomslist.cpp" line="541"/>
<source>%1 players online</source>
<translation type="unfinished">
<numerusform></numerusform>
</translation>
</message>
<message>
- <location filename="../../../../QTfrontend/ui/page/pageroomslist.cpp" line="169"/>
+ <location filename="../../../../QTfrontend/ui/page/pageroomslist.cpp" line="177"/>
<source>Admin features</source>
<translation>管理员功能</translation>
</message>
@@ -1795,37 +1824,37 @@
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/ui/page/pagescheme.cpp" line="395"/>
+ <location filename="../../../../QTfrontend/ui/page/pagescheme.cpp" line="409"/>
<source>None (Default)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/ui/page/pagescheme.cpp" line="396"/>
+ <location filename="../../../../QTfrontend/ui/page/pagescheme.cpp" line="410"/>
<source>Wrap (World wraps)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/ui/page/pagescheme.cpp" line="397"/>
+ <location filename="../../../../QTfrontend/ui/page/pagescheme.cpp" line="411"/>
<source>Bounce (Edges reflect)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/ui/page/pagescheme.cpp" line="398"/>
+ <location filename="../../../../QTfrontend/ui/page/pagescheme.cpp" line="412"/>
<source>Sea (Edges connect to sea)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/ui/page/pagescheme.cpp" line="434"/>
+ <location filename="../../../../QTfrontend/ui/page/pagescheme.cpp" line="448"/>
<source>Copy</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/ui/page/pagescheme.cpp" line="435"/>
+ <location filename="../../../../QTfrontend/ui/page/pagescheme.cpp" line="449"/>
<source>New</source>
<translation>新游戏</translation>
</message>
<message>
- <location filename="../../../../QTfrontend/ui/page/pagescheme.cpp" line="436"/>
+ <location filename="../../../../QTfrontend/ui/page/pagescheme.cpp" line="450"/>
<source>Delete</source>
<translation>删除</translation>
</message>
@@ -1957,7 +1986,7 @@
<context>
<name>QAction</name>
<message>
- <location filename="../../../../QTfrontend/ui/widget/chatwidget.cpp" line="260"/>
+ <location filename="../../../../QTfrontend/ui/widget/chatwidget.cpp" line="262"/>
<source>Kick</source>
<translation>踢</translation>
</message>
@@ -1981,39 +2010,39 @@
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/ui/widget/chatwidget.cpp" line="256"/>
+ <location filename="../../../../QTfrontend/ui/widget/chatwidget.cpp" line="258"/>
<source>Info</source>
<translation>信息</translation>
</message>
<message>
- <location filename="../../../../QTfrontend/ui/widget/chatwidget.cpp" line="264"/>
+ <location filename="../../../../QTfrontend/ui/widget/chatwidget.cpp" line="266"/>
<source>Ban</source>
<translation>屏蔽</translation>
</message>
<message>
- <location filename="../../../../QTfrontend/ui/widget/chatwidget.cpp" line="268"/>
+ <location filename="../../../../QTfrontend/ui/widget/chatwidget.cpp" line="270"/>
<source>Follow</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/ui/widget/chatwidget.cpp" line="272"/>
- <location filename="../../../../QTfrontend/ui/widget/chatwidget.cpp" line="895"/>
+ <location filename="../../../../QTfrontend/ui/widget/chatwidget.cpp" line="274"/>
+ <location filename="../../../../QTfrontend/ui/widget/chatwidget.cpp" line="905"/>
<source>Ignore</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/ui/widget/chatwidget.cpp" line="276"/>
- <location filename="../../../../QTfrontend/ui/widget/chatwidget.cpp" line="907"/>
+ <location filename="../../../../QTfrontend/ui/widget/chatwidget.cpp" line="278"/>
+ <location filename="../../../../QTfrontend/ui/widget/chatwidget.cpp" line="917"/>
<source>Add friend</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/ui/widget/chatwidget.cpp" line="890"/>
+ <location filename="../../../../QTfrontend/ui/widget/chatwidget.cpp" line="900"/>
<source>Unignore</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/ui/widget/chatwidget.cpp" line="902"/>
+ <location filename="../../../../QTfrontend/ui/widget/chatwidget.cpp" line="912"/>
<source>Remove friend</source>
<translation type="unfinished"></translation>
</message>
@@ -2027,6 +2056,16 @@
<source>Show games in-progress</source>
<translation type="unfinished"></translation>
</message>
+ <message>
+ <location filename="../../../../QTfrontend/ui/page/pageroomslist.cpp" line="80"/>
+ <source>Show password protected</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../../../QTfrontend/ui/page/pageroomslist.cpp" line="83"/>
+ <source>Show join restricted</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>QCheckBox</name>
@@ -2478,21 +2517,26 @@
</message>
<message>
<location filename="../../../../QTfrontend/ui/page/pagescheme.cpp" line="372"/>
- <source>% Get Away Time</source>
+ <source>Air Mines</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../../QTfrontend/ui/page/pagescheme.cpp" line="386"/>
+ <source>% Get Away Time</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../../../QTfrontend/ui/page/pagescheme.cpp" line="400"/>
<source>World Edge</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/ui/page/pagescheme.cpp" line="404"/>
- <source>Script parameter</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
<location filename="../../../../QTfrontend/ui/page/pagescheme.cpp" line="418"/>
+ <source>Script parameter</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../../../QTfrontend/ui/page/pagescheme.cpp" line="432"/>
<source>Scheme Name:</source>
<translation>设置名称:</translation>
</message>
@@ -2564,27 +2608,27 @@
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/ui/widget/feedbackdialog.cpp" line="103"/>
+ <location filename="../../../../QTfrontend/ui/widget/feedbackdialog.cpp" line="104"/>
<source>Your Email</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/ui/widget/feedbackdialog.cpp" line="111"/>
+ <location filename="../../../../QTfrontend/ui/widget/feedbackdialog.cpp" line="112"/>
<source>Summary</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/ui/widget/feedbackdialog.cpp" line="121"/>
+ <location filename="../../../../QTfrontend/ui/widget/feedbackdialog.cpp" line="122"/>
<source>Send system information</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/ui/widget/feedbackdialog.cpp" line="136"/>
+ <location filename="../../../../QTfrontend/ui/widget/feedbackdialog.cpp" line="137"/>
<source>Description</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/ui/widget/feedbackdialog.cpp" line="164"/>
+ <location filename="../../../../QTfrontend/ui/widget/feedbackdialog.cpp" line="165"/>
<source>Type the security code:</source>
<translation type="unfinished"></translation>
</message>
@@ -2638,7 +2682,7 @@
<context>
<name>QLineEdit</name>
<message>
- <location filename="../../../../QTfrontend/hwform.cpp" line="957"/>
+ <location filename="../../../../QTfrontend/hwform.cpp" line="955"/>
<source>unnamed</source>
<translation>无名</translation>
</message>
@@ -2665,12 +2709,12 @@
<context>
<name>QMessageBox</name>
<message>
- <location filename="../../../../QTfrontend/ui/widget/gamecfgwidget.cpp" line="370"/>
+ <location filename="../../../../QTfrontend/ui/widget/gamecfgwidget.cpp" line="373"/>
<source>Error</source>
<translation>错误</translation>
</message>
<message>
- <location filename="../../../../QTfrontend/ui/widget/gamecfgwidget.cpp" line="371"/>
+ <location filename="../../../../QTfrontend/ui/widget/gamecfgwidget.cpp" line="374"/>
<source>Cannot use the ammo '%1'!</source>
<translation type="unfinished"></translation>
</message>
@@ -2685,82 +2729,82 @@
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/hwform.cpp" line="986"/>
- <location filename="../../../../QTfrontend/ui/page/pagescheme.cpp" line="534"/>
+ <location filename="../../../../QTfrontend/hwform.cpp" line="984"/>
+ <location filename="../../../../QTfrontend/ui/page/pagescheme.cpp" line="549"/>
<source>Cannot delete default scheme '%1'!</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/hwform.cpp" line="1012"/>
+ <location filename="../../../../QTfrontend/hwform.cpp" line="1010"/>
<source>Please select a record from the list</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/hwform.cpp" line="1107"/>
+ <location filename="../../../../QTfrontend/hwform.cpp" line="1105"/>
<source>Hedgewars - Nick not registered</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/hwform.cpp" line="1515"/>
+ <location filename="../../../../QTfrontend/hwform.cpp" line="1513"/>
<source>Unable to start server</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/hwform.cpp" line="1576"/>
+ <location filename="../../../../QTfrontend/hwform.cpp" line="1574"/>
<source>Connection to server is lost</source>
<translation>服务器连接丢失</translation>
</message>
<message>
- <location filename="../../../../QTfrontend/hwform.cpp" line="2127"/>
+ <location filename="../../../../QTfrontend/hwform.cpp" line="2125"/>
<source>Not all players are ready</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/hwform.cpp" line="2128"/>
+ <location filename="../../../../QTfrontend/hwform.cpp" line="2126"/>
<source>Are you sure you want to start this game?
Not all players are ready.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/ui/widget/feedbackdialog.cpp" line="349"/>
+ <location filename="../../../../QTfrontend/ui/widget/feedbackdialog.cpp" line="350"/>
<location filename="../../../../QTfrontend/util/MessageDialog.cpp" line="26"/>
<source>Hedgewars - Error</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/ui/widget/feedbackdialog.cpp" line="359"/>
+ <location filename="../../../../QTfrontend/ui/widget/feedbackdialog.cpp" line="360"/>
<source>System Information Preview</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/ui/widget/feedbackdialog.cpp" line="374"/>
- <location filename="../../../../QTfrontend/ui/widget/feedbackdialog.cpp" line="385"/>
+ <location filename="../../../../QTfrontend/ui/widget/feedbackdialog.cpp" line="375"/>
+ <location filename="../../../../QTfrontend/ui/widget/feedbackdialog.cpp" line="386"/>
<source>Failed to generate captcha</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/ui/widget/feedbackdialog.cpp" line="402"/>
+ <location filename="../../../../QTfrontend/ui/widget/feedbackdialog.cpp" line="403"/>
<source>Failed to download captcha</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/ui/widget/feedbackdialog.cpp" line="466"/>
+ <location filename="../../../../QTfrontend/ui/widget/feedbackdialog.cpp" line="467"/>
<source>Please fill out all fields. Email is optional.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/hwform.cpp" line="2030"/>
- <location filename="../../../../QTfrontend/ui/widget/feedbackdialog.cpp" line="436"/>
+ <location filename="../../../../QTfrontend/hwform.cpp" line="2028"/>
+ <location filename="../../../../QTfrontend/ui/widget/feedbackdialog.cpp" line="437"/>
<source>Hedgewars - Success</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/hwform.cpp" line="2031"/>
+ <location filename="../../../../QTfrontend/hwform.cpp" line="2029"/>
<source>All file associations have been set</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/hwform.cpp" line="2036"/>
+ <location filename="../../../../QTfrontend/hwform.cpp" line="2034"/>
<source>File association failed.</source>
<translation type="unfinished"></translation>
</message>
@@ -2828,38 +2872,38 @@
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/ui/page/pageroomslist.cpp" line="492"/>
+ <location filename="../../../../QTfrontend/ui/page/pageroomslist.cpp" line="502"/>
<source>Room Name - Error</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/ui/page/pageroomslist.cpp" line="493"/>
+ <location filename="../../../../QTfrontend/ui/page/pageroomslist.cpp" line="503"/>
<source>Please select room from the list</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/ui/page/pageroomslist.cpp" line="518"/>
+ <location filename="../../../../QTfrontend/ui/page/pageroomslist.cpp" line="528"/>
<source>Room Name - Are you sure?</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/ui/page/pageroomslist.cpp" line="519"/>
+ <location filename="../../../../QTfrontend/ui/page/pageroomslist.cpp" line="529"/>
<source>The game you are trying to join has started.
Do you still want to join the room?</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/ui/page/pagescheme.cpp" line="533"/>
+ <location filename="../../../../QTfrontend/ui/page/pagescheme.cpp" line="548"/>
<source>Schemes - Warning</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/ui/page/pagescheme.cpp" line="542"/>
+ <location filename="../../../../QTfrontend/ui/page/pagescheme.cpp" line="557"/>
<source>Schemes - Are you sure?</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/ui/page/pagescheme.cpp" line="543"/>
+ <location filename="../../../../QTfrontend/ui/page/pagescheme.cpp" line="558"/>
<source>Do you really want to delete the game scheme '%1'?</source>
<translation type="unfinished"></translation>
</message>
@@ -2890,7 +2934,7 @@
<message>
<location filename="../../../../QTfrontend/ui/widget/drawmapwidget.cpp" line="146"/>
<location filename="../../../../QTfrontend/ui/widget/drawmapwidget.cpp" line="166"/>
- <location filename="../../../../QTfrontend/ui/widget/mapContainer.cpp" line="921"/>
+ <location filename="../../../../QTfrontend/ui/widget/mapContainer.cpp" line="973"/>
<source>File error</source>
<translation type="unfinished"></translation>
</message>
@@ -2901,7 +2945,7 @@
</message>
<message>
<location filename="../../../../QTfrontend/ui/widget/drawmapwidget.cpp" line="167"/>
- <location filename="../../../../QTfrontend/ui/widget/mapContainer.cpp" line="922"/>
+ <location filename="../../../../QTfrontend/ui/widget/mapContainer.cpp" line="974"/>
<source>Cannot open '%1' for reading</source>
<translation type="unfinished"></translation>
</message>
@@ -3114,22 +3158,23 @@
<context>
<name>RoomNamePrompt</name>
<message>
- <location filename="../../../../QTfrontend/ui/widget/roomnameprompt.cpp" line="43"/>
+ <location filename="../../../../QTfrontend/ui/widget/roomnameprompt.cpp" line="44"/>
<source>Enter a name for your room.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/ui/widget/roomnameprompt.cpp" line="56"/>
+ <location filename="../../../../QTfrontend/ui/widget/roomnameprompt.cpp" line="57"/>
<source>set password</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/ui/widget/roomnameprompt.cpp" line="72"/>
- <source>Cancel</source>
- <translation type="unfinished">取消</translation>
- </message>
- <message>
<location filename="../../../../QTfrontend/ui/widget/roomnameprompt.cpp" line="73"/>
+ <source>Cancel</source>
+ <translation type="unfinished">取消</translation>
+ </message>
+ <message>
+ <location filename="../../../../QTfrontend/ui/widget/roomnameprompt.cpp" line="35"/>
+ <location filename="../../../../QTfrontend/ui/widget/roomnameprompt.cpp" line="74"/>
<source>Create room</source>
<translation type="unfinished"></translation>
</message>
@@ -3182,22 +3227,22 @@
<translation type="unfinished">武器</translation>
</message>
<message>
- <location filename="../../../../QTfrontend/model/roomslistmodel.cpp" line="133"/>
+ <location filename="../../../../QTfrontend/model/roomslistmodel.cpp" line="149"/>
<source>Random Map</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/model/roomslistmodel.cpp" line="134"/>
+ <location filename="../../../../QTfrontend/model/roomslistmodel.cpp" line="150"/>
<source>Random Maze</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/model/roomslistmodel.cpp" line="135"/>
+ <location filename="../../../../QTfrontend/model/roomslistmodel.cpp" line="151"/>
<source>Random Perlin</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/model/roomslistmodel.cpp" line="136"/>
+ <location filename="../../../../QTfrontend/model/roomslistmodel.cpp" line="152"/>
<source>Hand-drawn</source>
<translation type="unfinished"></translation>
</message>
@@ -3205,22 +3250,27 @@
<context>
<name>SeedPrompt</name>
<message>
- <location filename="../../../../QTfrontend/ui/widget/seedprompt.cpp" line="42"/>
+ <location filename="../../../../QTfrontend/ui/widget/seedprompt.cpp" line="34"/>
+ <source>Seed</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../../../QTfrontend/ui/widget/seedprompt.cpp" line="43"/>
<source>The map seed is the basis for all random values generated by the game.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/ui/widget/seedprompt.cpp" line="61"/>
- <source>Cancel</source>
- <translation type="unfinished">取消</translation>
- </message>
- <message>
<location filename="../../../../QTfrontend/ui/widget/seedprompt.cpp" line="62"/>
+ <source>Cancel</source>
+ <translation type="unfinished">取消</translation>
+ </message>
+ <message>
+ <location filename="../../../../QTfrontend/ui/widget/seedprompt.cpp" line="63"/>
<source>Set seed</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/ui/widget/seedprompt.cpp" line="76"/>
+ <location filename="../../../../QTfrontend/ui/widget/seedprompt.cpp" line="77"/>
<source>Close</source>
<translation type="unfinished"></translation>
</message>
@@ -3295,17 +3345,22 @@
<context>
<name>ThemePrompt</name>
<message>
- <location filename="../../../../QTfrontend/ui/widget/themeprompt.cpp" line="84"/>
+ <location filename="../../../../QTfrontend/ui/widget/themeprompt.cpp" line="64"/>
+ <source>Choose a theme</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../../../QTfrontend/ui/widget/themeprompt.cpp" line="85"/>
<source>Search for a theme:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/ui/widget/themeprompt.cpp" line="120"/>
+ <location filename="../../../../QTfrontend/ui/widget/themeprompt.cpp" line="121"/>
<source>Cancel</source>
<translation type="unfinished">取消</translation>
</message>
<message>
- <location filename="../../../../QTfrontend/ui/widget/themeprompt.cpp" line="124"/>
+ <location filename="../../../../QTfrontend/ui/widget/themeprompt.cpp" line="125"/>
<source>Use selected theme</source>
<translation type="unfinished"></translation>
</message>
@@ -4015,39 +4070,39 @@
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/util/SDLInteraction.cpp" line="134"/>
+ <location filename="../../../../QTfrontend/util/SDLInteraction.cpp" line="133"/>
<source>Axis</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/util/SDLInteraction.cpp" line="138"/>
- <location filename="../../../../QTfrontend/util/SDLInteraction.cpp" line="153"/>
+ <location filename="../../../../QTfrontend/util/SDLInteraction.cpp" line="137"/>
+ <location filename="../../../../QTfrontend/util/SDLInteraction.cpp" line="152"/>
<source>(Up)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/util/SDLInteraction.cpp" line="142"/>
- <location filename="../../../../QTfrontend/util/SDLInteraction.cpp" line="157"/>
+ <location filename="../../../../QTfrontend/util/SDLInteraction.cpp" line="141"/>
+ <location filename="../../../../QTfrontend/util/SDLInteraction.cpp" line="156"/>
<source>(Down)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/util/SDLInteraction.cpp" line="149"/>
+ <location filename="../../../../QTfrontend/util/SDLInteraction.cpp" line="148"/>
<source>Hat</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/util/SDLInteraction.cpp" line="161"/>
+ <location filename="../../../../QTfrontend/util/SDLInteraction.cpp" line="160"/>
<source>(Left)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/util/SDLInteraction.cpp" line="165"/>
+ <location filename="../../../../QTfrontend/util/SDLInteraction.cpp" line="164"/>
<source>(Right)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/util/SDLInteraction.cpp" line="173"/>
+ <location filename="../../../../QTfrontend/util/SDLInteraction.cpp" line="172"/>
<source>Button</source>
<translation type="unfinished"></translation>
</message>
@@ -4055,57 +4110,57 @@
<context>
<name>server</name>
<message>
- <location filename="../../../../QTfrontend/servermessages.h" line="11"/>
+ <location filename="../../../../QTfrontend/servermessages.h" line="15"/>
<source>Restricted</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/servermessages.h" line="12"/>
- <source>Not room master</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../../../QTfrontend/servermessages.h" line="13"/>
- <source>Corrupted hedgehogs info</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../../../QTfrontend/servermessages.h" line="14"/>
- <source>too many teams</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../../../QTfrontend/servermessages.h" line="15"/>
- <source>too many hedgehogs</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
<location filename="../../../../QTfrontend/servermessages.h" line="16"/>
- <source>There's already a team with same name in the list</source>
+ <source>Not room master</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../../QTfrontend/servermessages.h" line="17"/>
- <source>round in progress</source>
+ <source>Corrupted hedgehogs info</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../../QTfrontend/servermessages.h" line="18"/>
- <source>restricted</source>
+ <source>too many teams</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../../QTfrontend/servermessages.h" line="19"/>
- <source>REMOVE_TEAM: no such team</source>
+ <source>too many hedgehogs</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../../QTfrontend/servermessages.h" line="20"/>
+ <source>There's already a team with same name in the list</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../../../QTfrontend/servermessages.h" line="21"/>
+ <source>round in progress</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../../../QTfrontend/servermessages.h" line="22"/>
+ <source>restricted</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../../../QTfrontend/servermessages.h" line="23"/>
+ <source>REMOVE_TEAM: no such team</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../../../QTfrontend/servermessages.h" line="24"/>
<source>Not team owner!</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/servermessages.h" line="9"/>
+ <location filename="../../../../QTfrontend/servermessages.h" line="13"/>
<source>Less than two clans!</source>
<translation type="unfinished"></translation>
</message>
@@ -4116,161 +4171,211 @@
</message>
<message>
<location filename="../../../../QTfrontend/servermessages.h" line="3"/>
- <source>Voting closed</source>
+ <source>Your vote counted</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../../QTfrontend/servermessages.h" line="4"/>
- <source>New voting started</source>
+ <source>Voting closed</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../../QTfrontend/servermessages.h" line="5"/>
- <source>Voting expired</source>
+ <source>Pause toggled</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../../QTfrontend/servermessages.h" line="6"/>
- <source>kick</source>
+ <source>New voting started</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../../QTfrontend/servermessages.h" line="7"/>
- <source>map</source>
+ <source>Voting expired</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../../QTfrontend/servermessages.h" line="8"/>
+ <source>kick</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../../../QTfrontend/servermessages.h" line="9"/>
+ <source>map</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../../../QTfrontend/servermessages.h" line="10"/>
<source>pause</source>
<translation type="unfinished">暂停</translation>
</message>
<message>
- <location filename="../../../../QTfrontend/servermessages.h" line="21"/>
- <source>Illegal room name</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../../../QTfrontend/servermessages.h" line="22"/>
- <source>Room with such name already exists</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../../../QTfrontend/servermessages.h" line="23"/>
- <source>Nickname already chosen</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../../../QTfrontend/servermessages.h" line="24"/>
- <source>Illegal nickname</source>
+ <location filename="../../../../QTfrontend/servermessages.h" line="11"/>
+ <source>new seed</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../../../QTfrontend/servermessages.h" line="12"/>
+ <source>number of hedgehogs in team</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../../QTfrontend/servermessages.h" line="25"/>
- <source>Protocol already known</source>
+ <source>Illegal room name</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../../QTfrontend/servermessages.h" line="26"/>
- <source>Bad number</source>
+ <source>Room with such name already exists</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../../QTfrontend/servermessages.h" line="27"/>
- <source>Nickname is already in use</source>
+ <source>/maxteams: specify number from 2 to 8</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../../QTfrontend/servermessages.h" line="28"/>
- <source>No checker rights</source>
+ <source>Available callvote commands: kick <nickname>, map <name>, pause, newseed, hedgehogs</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../../QTfrontend/servermessages.h" line="29"/>
- <source>Authentication failed</source>
+ <source>callvote kick: specify nickname</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../../QTfrontend/servermessages.h" line="30"/>
- <source>60 seconds cooldown after kick</source>
+ <source>callvote kick: no such user</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../../QTfrontend/servermessages.h" line="31"/>
- <source>kicked</source>
+ <source>callvote map: no such map</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../../QTfrontend/servermessages.h" line="32"/>
- <source>Reconnected too fast</source>
+ <source>callvote pause: no game in progress</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../../QTfrontend/servermessages.h" line="33"/>
- <source>Ping timeout</source>
+ <source>callvote hedgehogs: specify number from 1 to 8</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../../QTfrontend/servermessages.h" line="34"/>
- <source>bye</source>
+ <source>Nickname already chosen</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../../QTfrontend/servermessages.h" line="35"/>
- <source>No such room</source>
+ <source>Illegal nickname</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../../QTfrontend/servermessages.h" line="36"/>
- <source>Room version incompatible to your hedgewars version</source>
+ <source>Protocol already known</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../../QTfrontend/servermessages.h" line="37"/>
- <source>Joining restricted</source>
+ <source>Bad number</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../../QTfrontend/servermessages.h" line="38"/>
- <source>Registered users only</source>
+ <source>Nickname is already in use</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../../QTfrontend/servermessages.h" line="39"/>
- <source>You are banned in this room</source>
+ <source>No checker rights</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../../QTfrontend/servermessages.h" line="40"/>
- <source>Warning! Chat flood protection activated</source>
+ <source>Authentication failed</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../../QTfrontend/servermessages.h" line="41"/>
- <source>Excess flood</source>
+ <source>60 seconds cooldown after kick</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../../QTfrontend/servermessages.h" line="42"/>
- <source>Game messages flood detected - 1</source>
+ <source>kicked</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../../QTfrontend/servermessages.h" line="43"/>
- <source>Game messages flood detected - 2</source>
+ <source>Reconnected too fast</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../../QTfrontend/servermessages.h" line="44"/>
- <source>Warning! Joins flood protection activated</source>
+ <source>Ping timeout</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../../QTfrontend/servermessages.h" line="45"/>
+ <source>bye</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../../../QTfrontend/servermessages.h" line="46"/>
+ <source>No such room</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../../../QTfrontend/servermessages.h" line="47"/>
+ <source>Room version incompatible to your hedgewars version</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../../../QTfrontend/servermessages.h" line="48"/>
+ <source>Joining restricted</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../../../QTfrontend/servermessages.h" line="49"/>
+ <source>Registered users only</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../../../QTfrontend/servermessages.h" line="50"/>
+ <source>You are banned in this room</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../../../QTfrontend/servermessages.h" line="51"/>
+ <source>Warning! Chat flood protection activated</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../../../QTfrontend/servermessages.h" line="52"/>
+ <source>Excess flood</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../../../QTfrontend/servermessages.h" line="53"/>
+ <source>Game messages flood detected - 1</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../../../QTfrontend/servermessages.h" line="54"/>
+ <source>Warning! Joins flood protection activated</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../../../QTfrontend/servermessages.h" line="55"/>
<source>There's no voting going on</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../QTfrontend/servermessages.h" line="10"/>
+ <location filename="../../../../QTfrontend/servermessages.h" line="14"/>
<source>Empty config entry</source>
<translation type="unfinished"></translation>
</message>
--- a/share/hedgewars/Data/Locale/hedgewars_zh_TW.ts Fri Jan 01 19:15:32 2016 +0300
+++ b/share/hedgewars/Data/Locale/hedgewars_zh_TW.ts Tue Feb 09 21:11:16 2016 +0300
@@ -76,6 +76,10 @@
<source>permanent</source>
<translation>永久</translation>
</message>
+ <message>
+ <source>Ban player</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>DataManager</name>
@@ -114,6 +118,10 @@
<source>Your email address is optional, but necessary if you want us to get back at you.</source>
<translation>如果希望我們回覆你, 請留下你的電子郵件地址。</translation>
</message>
+ <message>
+ <source>Feedback</source>
+ <translation type="unfinished">信息反饋</translation>
+ </message>
</context>
<context>
<name>FreqSpinBox</name>
@@ -469,6 +477,13 @@
</message>
</context>
<context>
+ <name>HWHostPortDialog</name>
+ <message>
+ <source>Connect to server</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
<name>HWMapContainer</name>
<message>
<source>All</source>
@@ -697,6 +712,10 @@
<source>Password:</source>
<translation>密碼:</translation>
</message>
+ <message>
+ <source>New Account</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>HWUploadVideoDialog</name>
@@ -730,6 +749,10 @@
<source>Search for a hat:</source>
<translation>搜索一頂帽子:</translation>
</message>
+ <message>
+ <source>Choose a hat</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>KB</name>
@@ -1677,6 +1700,14 @@
<source>Show games in-progress</source>
<translation>顯示正在進行的遊戲</translation>
</message>
+ <message>
+ <source>Show password protected</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Show join restricted</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>QCheckBox</name>
@@ -2165,6 +2196,10 @@
<source>Script parameter</source>
<translation type="unfinished">腳本參數</translation>
</message>
+ <message>
+ <source>Air Mines</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>QLineEdit</name>
@@ -2633,6 +2668,10 @@
<source>Close</source>
<translation>關閉</translation>
</message>
+ <message>
+ <source>Seed</source>
+ <translation type="unfinished">種子</translation>
+ </message>
</context>
<context>
<name>SelWeaponWidget</name>
@@ -2709,6 +2748,10 @@
<source>Use selected theme</source>
<translation type="unfinished">使用選定的主題</translation>
</message>
+ <message>
+ <source>Choose a theme</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>binds</name>
@@ -3474,7 +3517,7 @@
</message>
<message>
<source>Game messages flood detected - 2</source>
- <translation type="unfinished">已經偵測到遊戲訊息氾濫 - 2</translation>
+ <translation type="obsolete">已經偵測到遊戲訊息氾濫 - 2</translation>
</message>
<message>
<source>Warning! Joins flood protection activated</source>
@@ -3484,5 +3527,49 @@
<source>There's no voting going on</source>
<translation type="unfinished">沒有正在進行的投票</translation>
</message>
+ <message>
+ <source>Your vote counted</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Pause toggled</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>new seed</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>number of hedgehogs in team</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>/maxteams: specify number from 2 to 8</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Available callvote commands: kick <nickname>, map <name>, pause, newseed, hedgehogs</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>callvote kick: specify nickname</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>callvote kick: no such user</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>callvote map: no such map</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>callvote pause: no game in progress</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>callvote hedgehogs: specify number from 1 to 8</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
</TS>
--- a/share/hedgewars/Data/Missions/Campaign/A_Space_Adventure/moon02.lua Fri Jan 01 19:15:32 2016 +0300
+++ b/share/hedgewars/Data/Missions/Campaign/A_Space_Adventure/moon02.lua Tue Feb 09 21:11:16 2016 +0300
@@ -184,7 +184,8 @@
------------- other functions ---------------
function isHeroNextToRunner()
- if GetHealth(hero.gear) and math.abs(GetX(hero.gear) - GetX(runner.gear)) < 75 and
+ if GetGearType(hero.gear) == gtHedgehog and GetGearType(runner.gear) == gtHedgehog and
+ math.abs(GetX(hero.gear) - GetX(runner.gear)) < 75 and
math.abs(GetY(hero.gear) - GetY(runner.gear)) < 75 and StoppedGear(hero.gear) then
return true
end
--- a/share/hedgewars/Data/Missions/Training/Basic_Training_-_Sniper_Rifle.lua Fri Jan 01 19:15:32 2016 +0300
+++ b/share/hedgewars/Data/Missions/Training/Basic_Training_-_Sniper_Rifle.lua Tue Feb 09 21:11:16 2016 +0300
@@ -36,6 +36,9 @@
local target = nil
local last_hit_time = 0
+
+local cinematic = false
+
-- This is a custom function to make it easier to
-- spawn more targets with just one line of code
-- You may define as many custom functions as you
@@ -48,6 +51,10 @@
end
function blowUp(x, y)
+ if cinematic == false then
+ cinematic = true
+ SetCinematicMode(true)
+ end
-- adds some TNT
gear = AddGear(x, y, gtDynamite, 0, 0, 0, 0)
end
@@ -178,13 +185,20 @@
-- This function is called before a gear is destroyed.
-- We use it to count the number of targets destroyed.
function onGearDelete(gear)
+ local gt = GetGearType(gear)
- if GetGearType(gear) == gtCase then
+ if gt == gtCase then
game_lost = true
return
end
- if (GetGearType(gear) == gtTarget) then
+ if (gt == gtDynamite) and cinematic then
+ cinematic = false
+ SetCinematicMode(false)
+ return
+ end
+
+ if gt == gtTarget then
-- remember when the target was hit for adjusting the camera
last_hit_time = TurnTimeLeft
-- Add one point to our score/counter
--- a/share/hedgewars/Data/Missions/Training/User_Mission_-_That_Sinking_Feeling.lua Fri Jan 01 19:15:32 2016 +0300
+++ b/share/hedgewars/Data/Missions/Training/User_Mission_-_That_Sinking_Feeling.lua Tue Feb 09 21:11:16 2016 +0300
@@ -12,6 +12,7 @@
local waterPix = 0
local frig = 0
local watGear = nil
+local cinematic = false
-- allow skipping of the intro via hitting precise key
function onPrecise()
@@ -68,6 +69,8 @@
function onGameStart()
+ cinematic = true
+ SetCinematicMode(true)
SendHealthStatsOff()
ShowMission(loc("That Sinking Feeling"), loc("Challenge"), loc("Save as many hapless hogs as possible!"), 4, 1)
@@ -207,6 +210,11 @@
-- start the water rising when the intro is finished
if introStage == 110 then
+ if cinematic then
+ SetCinematicMode(false)
+ cinematic = false
+ end
+
waterCounter = waterCounter + 1
if (waterCounter == 100) and (waterPix < 1615) then
waterCounter = 0
--- a/share/hedgewars/Data/Scripts/Multiplayer/Continental_supplies.lua Fri Jan 01 19:15:32 2016 +0300
+++ b/share/hedgewars/Data/Scripts/Multiplayer/Continental_supplies.lua Tue Feb 09 21:11:16 2016 +0300
@@ -727,7 +727,7 @@
--============================================================================
--for custom made continent, follows the same standards as the globalism one. You can make your continent with <Name>~<Information>~<Weapons>. Take the weapons generated from globalism, if you want a GUI :P
---weapons=<ammo><types>, ammo = ascii[116(1 ammo) to 125(inf ammo)] types = ascii[36(Grenade), 37(Clusterbomb) to 90(knife)] see https://code.google.com/p/hedgewars/wiki/AmmoTypes
+--weapons=<ammo><types>, ammo = ascii[116(1 ammo) to 125(inf ammo)] types = ascii[36(Grenade), 37(Clusterbomb) to 90(knife)] see http://hedgewars.org/kb/AmmoTypes
--ex "Own continent~this continent rocks!~tZ}$" will get 1 knife and inf grenades
function onParameters()
--- a/share/hedgewars/Data/Scripts/Multiplayer/Highlander.lua Fri Jan 01 19:15:32 2016 +0300
+++ b/share/hedgewars/Data/Scripts/Multiplayer/Highlander.lua Tue Feb 09 21:11:16 2016 +0300
@@ -242,6 +242,8 @@
EnableGameFlags(gfInfAttack, gfRandomOrder, gfPerHogAmmo)
DisableGameFlags(gfResetWeps, gfSharedAmmo)
HealthCaseProb = 100
+ Goals = loc("Highlander: Eliminate enemy hogs and take their weapons.") .."|" ..
+ loc("Weapons are reset on end of turn.")
end
function onGameStart()
@@ -271,16 +273,6 @@
--WriteLnToConsole('utiltot:'..utiltot..' atktot:'..atktot)
- ShowMission (
- loc("HIGHLANDER"),
- loc("Not all hogs are born equal."),
-
- "- " .. loc("Eliminate enemy hogs and take their weapons.") .. "|" ..
- "- " .. loc("Per-Hog Ammo") .. "|" ..
- "- " .. loc("Weapons reset.") .. "|" ..
- "- " .. loc("Unlimited Attacks") .. "|" ..
- "", 4, 4000
- )
runOnGears(StartingSetUp)
runOnGears(ConvertValues)
--- a/share/hedgewars/Data/Scripts/Multiplayer/ShoppaMap.lua Fri Jan 01 19:15:32 2016 +0300
+++ b/share/hedgewars/Data/Scripts/Multiplayer/ShoppaMap.lua Tue Feb 09 21:11:16 2016 +0300
@@ -4,14 +4,26 @@
-- Overall padding for roping freedom
local Padding = 430
+local TeamRope = false
function onParameters()
parseParams()
if params["pad"] ~= nil then
Padding = params["pad"]
end
+ if params["teamrope"] ~= nil then
+ TeamRope = true
+ end
end
+function onGearAdd(gear)
+ if GetGearType(gear) == gtRope and TeamRope then
+ SetTag(gear,1)
+ SetGearValues(gear,nil,nil,nil,nil,nil,nil,nil,nil,nil,nil,GetClanColor(GetHogClan(CurrentHedgehog)))
+ end
+end
+
+
-- This could probably use less points and more precision
-- 700x700 for object space
function DrawStar(x, y, d, f)
--- a/share/hedgewars/Data/Scripts/OfficialChallenges.lua Fri Jan 01 19:15:32 2016 +0300
+++ b/share/hedgewars/Data/Scripts/OfficialChallenges.lua Tue Feb 09 21:11:16 2016 +0300
@@ -26,6 +26,10 @@
return("Racer Challenge #14")
elseif LandDigest == "M-528106034Scripts/Multiplayer/Racer.lua" then
return("Racer Challenge #16")
+ elseif LandDigest == "M-534640804Scripts/Multiplayer/Racer.lua" then
+ return("Racer Challenge #18")
+ elseif LandDigest == "M-1839546856Scripts/Multiplayer/Racer.lua" then
+ return("Racer Challenge #19")
end
-- challenges without border
elseif LandDigest == "M-134869715Scripts/Multiplayer/Racer.lua" then
--- a/share/hedgewars/Data/Sounds/voices/British/CMakeLists.txt Fri Jan 01 19:15:32 2016 +0300
+++ b/share/hedgewars/Data/Sounds/voices/British/CMakeLists.txt Tue Feb 09 21:11:16 2016 +0300
@@ -12,7 +12,7 @@
Illgetyou.ogg
Incoming.ogg
Jump*.ogg
-JustYouwait.ogg
+Justyouwait.ogg
Kamikaze.ogg
Laugh.ogg
Melon.ogg
--- a/share/hedgewars/Data/Sounds/voices/Classic/CMakeLists.txt Fri Jan 01 19:15:32 2016 +0300
+++ b/share/hedgewars/Data/Sounds/voices/Classic/CMakeLists.txt Tue Feb 09 21:11:16 2016 +0300
@@ -12,7 +12,7 @@
Illgetyou.ogg
Incoming.ogg
Jump*.ogg
-JustYouwait.ogg
+Justyouwait.ogg
Kamikaze.ogg
Laugh.ogg
Melon.ogg
--- a/share/hedgewars/Data/Sounds/voices/Default/CMakeLists.txt Fri Jan 01 19:15:32 2016 +0300
+++ b/share/hedgewars/Data/Sounds/voices/Default/CMakeLists.txt Tue Feb 09 21:11:16 2016 +0300
@@ -12,7 +12,7 @@
Illgetyou.ogg
Incoming.ogg
Jump*.ogg
-JustYouwait.ogg
+Justyouwait.ogg
Kamikaze.ogg
Laugh.ogg
Melon.ogg
--- a/share/hedgewars/Data/Sounds/voices/Default_es/CMakeLists.txt Fri Jan 01 19:15:32 2016 +0300
+++ b/share/hedgewars/Data/Sounds/voices/Default_es/CMakeLists.txt Tue Feb 09 21:11:16 2016 +0300
@@ -12,7 +12,7 @@
Illgetyou.ogg
Incoming.ogg
Jump*.ogg
-JustYouwait.ogg
+Justyouwait.ogg
Kamikaze.ogg
Laugh.ogg
Melon.ogg
--- a/share/hedgewars/Data/Sounds/voices/Default_ru/CMakeLists.txt Fri Jan 01 19:15:32 2016 +0300
+++ b/share/hedgewars/Data/Sounds/voices/Default_ru/CMakeLists.txt Tue Feb 09 21:11:16 2016 +0300
@@ -12,7 +12,7 @@
Illgetyou.ogg
Incoming.ogg
Jump*.ogg
-JustYouwait.ogg
+Justyouwait.ogg
Kamikaze.ogg
Laugh.ogg
Melon.ogg
--- a/share/hedgewars/Data/Sounds/voices/Default_uk/CMakeLists.txt Fri Jan 01 19:15:32 2016 +0300
+++ b/share/hedgewars/Data/Sounds/voices/Default_uk/CMakeLists.txt Tue Feb 09 21:11:16 2016 +0300
@@ -12,7 +12,7 @@
Illgetyou.ogg
Incoming.ogg
Jump*.ogg
-JustYouwait.ogg
+Justyouwait.ogg
Kamikaze.ogg
Laugh.ogg
Melon.ogg
--- a/share/hedgewars/Data/Sounds/voices/HillBilly/CMakeLists.txt Fri Jan 01 19:15:32 2016 +0300
+++ b/share/hedgewars/Data/Sounds/voices/HillBilly/CMakeLists.txt Tue Feb 09 21:11:16 2016 +0300
@@ -12,7 +12,7 @@
Illgetyou.ogg
Incoming.ogg
Jump*.ogg
-JustYouwait.ogg
+Justyouwait.ogg
Kamikaze.ogg
Laugh.ogg
Melon.ogg
--- a/share/hedgewars/Data/Sounds/voices/Mobster/CMakeLists.txt Fri Jan 01 19:15:32 2016 +0300
+++ b/share/hedgewars/Data/Sounds/voices/Mobster/CMakeLists.txt Tue Feb 09 21:11:16 2016 +0300
@@ -12,7 +12,7 @@
Illgetyou.ogg
Incoming.ogg
Jump*.ogg
-JustYouwait.ogg
+Justyouwait.ogg
Kamikaze.ogg
Laugh.ogg
Melon.ogg
--- a/share/hedgewars/Data/Sounds/voices/Pirate/CMakeLists.txt Fri Jan 01 19:15:32 2016 +0300
+++ b/share/hedgewars/Data/Sounds/voices/Pirate/CMakeLists.txt Tue Feb 09 21:11:16 2016 +0300
@@ -12,7 +12,7 @@
Illgetyou.ogg
Incoming.ogg
Jump*.ogg
-JustYouwait.ogg
+Justyouwait.ogg
Kamikaze.ogg
Laugh.ogg
Melon.ogg
--- a/share/hedgewars/Data/Sounds/voices/Robot/CMakeLists.txt Fri Jan 01 19:15:32 2016 +0300
+++ b/share/hedgewars/Data/Sounds/voices/Robot/CMakeLists.txt Tue Feb 09 21:11:16 2016 +0300
@@ -12,7 +12,7 @@
Illgetyou.ogg
Incoming.ogg
Jump*.ogg
-JustYouwait.ogg
+Justyouwait.ogg
Kamikaze.ogg
Laugh.ogg
Melon.ogg
--- a/share/hedgewars/Data/Sounds/voices/Russian/CMakeLists.txt Fri Jan 01 19:15:32 2016 +0300
+++ b/share/hedgewars/Data/Sounds/voices/Russian/CMakeLists.txt Tue Feb 09 21:11:16 2016 +0300
@@ -12,7 +12,7 @@
Illgetyou.ogg
Incoming.ogg
Jump*.ogg
-JustYouwait.ogg
+Justyouwait.ogg
Kamikaze.ogg
Laugh.ogg
Melon.ogg
--- a/share/hedgewars/Data/Sounds/voices/Singer/CMakeLists.txt Fri Jan 01 19:15:32 2016 +0300
+++ b/share/hedgewars/Data/Sounds/voices/Singer/CMakeLists.txt Tue Feb 09 21:11:16 2016 +0300
@@ -12,7 +12,7 @@
Illgetyou.ogg
Incoming.ogg
Jump*.ogg
-JustYouwait.ogg
+Justyouwait.ogg
Kamikaze.ogg
Laugh.ogg
Melon.ogg
--- a/share/hedgewars/Data/Sounds/voices/Surfer/CMakeLists.txt Fri Jan 01 19:15:32 2016 +0300
+++ b/share/hedgewars/Data/Sounds/voices/Surfer/CMakeLists.txt Tue Feb 09 21:11:16 2016 +0300
@@ -12,7 +12,7 @@
Illgetyou.ogg
Incoming.ogg
Jump*.ogg
-JustYouwait.ogg
+Justyouwait.ogg
Kamikaze.ogg
Laugh.ogg
Melon.ogg
--- a/tools/docgen.sh Fri Jan 01 19:15:32 2016 +0300
+++ b/tools/docgen.sh Tue Feb 09 21:11:16 2016 +0300
@@ -25,13 +25,7 @@
branch=$(hg identify -b)
rev=$(hg identify -rdefault -i)
-#branchurl="<a href=http://code.google.com/p/hedgewars/source/list?name=${branch}>${branch}</a>"
-#revurl="<a href=http://code.google.com/p/hedgewars/source/detail?r=${rev}>${rev}</a>"
-
-branchurl="$branch"
-revurl="$rev"
-
-export PROJECT_NUMBER="${branchurl} branch, ${revurl}"
+export PROJECT_NUMBER="${branch} branch, ${rev}"
export OUTPUT_DIRECTORY
fi
--- a/tools/rgit2hg.sh Fri Jan 01 19:15:32 2016 +0300
+++ b/tools/rgit2hg.sh Tue Feb 09 21:11:16 2016 +0300
@@ -26,7 +26,7 @@
echo "Checking $url ..."
echo
page=$(wget -q -O- "$url")
- author=$(echo "$page" | sed -rn 's/^.*"author-name">(<[^>]*>)*([^ <]*).*/\2/ p')
+ author=$(echo "$page" | sed -rn '1,/"user-mention"/{s/^.*"user-mention"( *[^>]*)?> *([^ <]*).*$/\2/ p}')
if [ -z "$author" ]; then
echo 'Couldn'\''t find author! Skipping '"$1"' ...' >&2
shift
@@ -45,13 +45,18 @@
echo
result=$(hg log -R "$HW_HG" -u "$author" -d "$date" -v -l1)
if [ -z "$result" ]; then
+ echo 'No match with this author'\''s name. It might differ, so let'\''s try using date only ...'
+ echo
+ result=$(hg log -R "$HW_HG" -d "$date" -v)
+ fi
+ if [ -z "$result" ]; then
echo 'No match :('
shift
continue
fi
rev=$(echo "$result" | sed 's/^.*://;q')
echo 'Found match: r'"$rev"
- echo 'Link: https://code.google.com/p/hedgewars/source/detail?r='"$rev"
+ echo 'Link: http://hg.hedgewars.org/hedgewars/rev/'"$rev"
echo
echo "$result"
# proceed to next parameter