aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--dists/scummvm_logo.bmpbin0 -> 16052 bytes
-rw-r--r--doc/cz/PrectiMe2
-rw-r--r--engines/engine.cpp61
-rw-r--r--engines/lab/anim.cpp11
-rw-r--r--engines/lab/anim.h6
-rw-r--r--engines/lab/console.cpp4
-rw-r--r--engines/lab/detection.cpp4
-rw-r--r--engines/lab/dispman.cpp118
-rw-r--r--engines/lab/dispman.h105
-rw-r--r--engines/lab/engine.cpp222
-rw-r--r--engines/lab/eventman.cpp12
-rw-r--r--engines/lab/eventman.h21
-rw-r--r--engines/lab/image.cpp91
-rw-r--r--engines/lab/image.h13
-rw-r--r--engines/lab/interface.cpp9
-rw-r--r--engines/lab/intro.cpp23
-rw-r--r--engines/lab/lab.cpp15
-rw-r--r--engines/lab/lab.h53
-rw-r--r--engines/lab/map.cpp37
-rw-r--r--engines/lab/module.mk2
-rw-r--r--engines/lab/music.cpp75
-rw-r--r--engines/lab/music.h15
-rw-r--r--engines/lab/processroom.cpp163
-rw-r--r--engines/lab/processroom.h46
-rw-r--r--engines/lab/resource.cpp6
-rw-r--r--engines/lab/resource.h6
-rw-r--r--engines/lab/savegame.cpp10
-rw-r--r--engines/lab/special.cpp54
-rw-r--r--engines/lab/speciallocks.cpp (renamed from engines/lab/tilepuzzle.cpp)75
-rw-r--r--engines/lab/speciallocks.h (renamed from engines/lab/tilepuzzle.h)32
-rw-r--r--engines/logo_data.h1099
-rw-r--r--gui/gui-manager.cpp2
-rw-r--r--gui/gui-manager.h2
-rw-r--r--gui/launcher.cpp2
-rw-r--r--gui/themes/translations.datbin477983 -> 484065 bytes
-rw-r--r--po/cs_CZ.po1432
-rw-r--r--po/fr_FR.po363
37 files changed, 2650 insertions, 1541 deletions
diff --git a/dists/scummvm_logo.bmp b/dists/scummvm_logo.bmp
new file mode 100644
index 0000000000..8217019be4
--- /dev/null
+++ b/dists/scummvm_logo.bmp
Binary files differ
diff --git a/doc/cz/PrectiMe b/doc/cz/PrectiMe
index 2baf145cd9..d360aa46f9 100644
--- a/doc/cz/PrectiMe
+++ b/doc/cz/PrectiMe
@@ -1841,7 +1841,7 @@ Nebo novější (starší verze mohou fungovat, ale nejsou podporovány) a podpo
Některé části ScummVM, zvláště zvětšovače, mají vysoce optimalizované verze napsané v assembleru. Pokud si přejete tuto možnost použít, potřebuje mít nainstalován assembler nasm (viz http://nasm.sf.net). Nezapomeňte, že v současnosti máme pouze verze optimalizované pro x86 MMX, a nebudou sestaveny pro jiné procesory.
-Na Win9x/NT/XP můžete určit USE_WINDBG a připojit WinDbg pro procházení ladících zpráv (viz http://www.sysinternals.com/ntw2k/freeware/debugview.shtml).
+Na Win9x/NT/XP můžete určit USE_WINDBG a připojit WinDbg pro procházení ladících zpráv (viz https://technet.microsoft.com/en-us/sysinternals/debugview.aspx).
GCC a MinGW32:
* Zadejte "./configure"
diff --git a/engines/engine.cpp b/engines/engine.cpp
index 24008dd073..1a143e17b4 100644
--- a/engines/engine.cpp
+++ b/engines/engine.cpp
@@ -41,6 +41,7 @@
#include "common/error.h"
#include "common/list.h"
#include "common/list_intern.h"
+#include "common/memstream.h"
#include "common/scummsys.h"
#include "common/taskbar.h"
#include "common/textconsole.h"
@@ -48,7 +49,9 @@
#include "common/singleton.h"
#include "backends/keymapper/keymapper.h"
+#include "base/version.h"
+#include "gui/gui-manager.h"
#include "gui/debugger.h"
#include "gui/dialog.h"
#include "gui/message.h"
@@ -56,7 +59,9 @@
#include "audio/mixer.h"
#include "graphics/cursorman.h"
+#include "graphics/fontman.h"
#include "graphics/pixelformat.h"
+#include "image/bmp.h"
#ifdef _WIN32_WCE
extern bool isSmartphone();
@@ -240,6 +245,59 @@ void initCommonGFX(bool defaultTo1XScaler) {
g_system->setFeatureState(OSystem::kFeatureFullscreenMode, ConfMan.getBool("fullscreen"));
}
+// Please leave the splash screen in working order for your releases, even if they're commercial.
+// This is a proper and good way to show your appreciation for our hard work over these years.
+bool splash = false;
+
+#include "logo_data.h"
+
+void splashScreen() {
+ Common::MemoryReadStream stream(logo_data, ARRAYSIZE(logo_data));
+
+ Image::BitmapDecoder bitmap;
+
+ if (!bitmap.loadStream(stream)) {
+ warning("Error loading logo file");
+ return;
+ }
+
+ g_system->showOverlay();
+
+ // Fill with orange
+ Graphics::Surface screen;
+ screen.create(g_system->getOverlayWidth(), g_system->getOverlayHeight(), g_system->getOverlayFormat());
+ screen.fillRect(Common::Rect(screen.w, screen.h), screen.format.ARGBToColor(0xff, 0xd4, 0x75, 0x0b));
+
+ // Load logo
+ Graphics::Surface *logo = bitmap.getSurface()->convertTo(g_system->getOverlayFormat(), bitmap.getPalette());
+ int lx = (g_system->getOverlayWidth() - logo->w) / 2;
+ int ly = (g_system->getOverlayHeight() - logo->h) / 2;
+
+ // Print version information
+ const Graphics::Font *font = FontMan.getFontByUsage(Graphics::FontManager::kConsoleFont);
+ int w = font->getStringWidth(gScummVMVersionDate);
+ int x = g_system->getOverlayWidth() - w - 5; // lx + logo->w - w + 5;
+ int y = g_system->getOverlayHeight() - font->getFontHeight() - 5; //ly + logo->h + 5;
+ font->drawString(&screen, gScummVMVersionDate, x, y, w, screen.format.ARGBToColor(0xff, 0, 0, 0));
+
+ g_system->copyRectToOverlay(screen.getPixels(), screen.pitch, 0, 0, screen.w, screen.h);
+
+ // Draw logo
+ g_system->copyRectToOverlay(logo->getPixels(), logo->pitch, lx, ly, logo->w, logo->h);
+
+ // Delay 0.6 secs
+ uint time0 = g_system->getMillis();
+ Common::Event event;
+ while (time0 + 600 > g_system->getMillis()) {
+ g_system->updateScreen();
+ g_system->getEventManager()->pollEvent(event);
+ g_system->delayMillis(10);
+ }
+ g_system->hideOverlay();
+
+ splash = true;
+}
+
void initGraphics(int width, int height, bool defaultTo1xScaler, const Graphics::PixelFormat *format) {
g_system->beginGFXTransaction();
@@ -258,6 +316,9 @@ void initGraphics(int width, int height, bool defaultTo1xScaler, const Graphics:
OSystem::TransactionError gfxError = g_system->endGFXTransaction();
+ if (!splash && !GUI::GuiManager::instance()._launched)
+ splashScreen();
+
if (gfxError == OSystem::kTransactionSuccess)
return;
diff --git a/engines/lab/anim.cpp b/engines/lab/anim.cpp
index eb825fb4c0..0c01b072c4 100644
--- a/engines/lab/anim.cpp
+++ b/engines/lab/anim.cpp
@@ -80,6 +80,9 @@ void Anim::setOutputBuffer(byte *memoryBuffer) {
_outputBuffer = memoryBuffer;
}
+uint16 Anim::getDIFFHeight() {
+ return _headerdata._height;
+}
void Anim::diffNextFrame(bool onlyDiffData) {
if (_lastBlockHeader == 65535)
@@ -90,14 +93,12 @@ void Anim::diffNextFrame(bool onlyDiffData) {
byte *startOfBuf = _outputBuffer;
int bufPitch = _vm->_graphics->_screenWidth;
- if (!_outputBuffer) {
+ if (!startOfBuf) {
startOfBuf = _vm->_graphics->getCurrentDrawingBuffer();
drawOnScreen = true;
}
byte *endOfBuf = startOfBuf + (int)_diffWidth * _diffHeight;
- _vm->_event->mouseHide();
-
int curBit = 0;
while (1) {
@@ -217,7 +218,9 @@ void Anim::diffNextFrame(bool onlyDiffData) {
_sampleSpeed = _diffFile->readUint16LE();
_diffFile->skip(2);
- _vm->_music->playSoundEffect(_sampleSpeed, _size, _diffFile);
+ // Sound effects embedded in animations are started here. These are
+ // usually animation-specific, like door opening sounds, and are not looped
+ _vm->_music->playSoundEffect(_sampleSpeed, _size, false, _diffFile);
break;
case 65535:
diff --git a/engines/lab/anim.h b/engines/lab/anim.h
index 1979aa5979..0118403842 100644
--- a/engines/lab/anim.h
+++ b/engines/lab/anim.h
@@ -66,12 +66,12 @@ private:
uint32 _diffHeight;
byte *_outputBuffer;
+ DIFFHeader _headerdata;
public:
Anim(LabEngine *vm);
- virtual ~Anim();
+ ~Anim();
- DIFFHeader _headerdata;
char _diffPalette[256 * 3];
bool _waitForEffect; // Wait for each sound effect to finish before continuing.
bool _doBlack; // Black the screen before new picture
@@ -94,6 +94,8 @@ public:
* Stops an animation from running.
*/
void stopDiffEnd();
+
+ uint16 getDIFFHeight();
};
} // End of namespace Lab
diff --git a/engines/lab/console.cpp b/engines/lab/console.cpp
index 31b52da0ba..12eafd3789 100644
--- a/engines/lab/console.cpp
+++ b/engines/lab/console.cpp
@@ -86,7 +86,7 @@ bool Console::Cmd_DumpSceneResources(int argc, const char **argv) {
debugPrintf(" (from %s to %s)", directions[rule->_param1], directions[rule->_param2]);
debugPrintf("\n");
- Common::List<Action>::iterator action;
+ ActionList::iterator action;
for (action = rule->_actionList.begin(); action != rule->_actionList.end(); ++action) {
debugPrintf(" - %s ('%s', %d, %d, %d)\n", actionTypes[action->_actionType], action->_messages[0].c_str(), action->_param1, action->_param2, action->_param3);
}
@@ -110,7 +110,7 @@ bool Console::Cmd_FindAction(int argc, const char **argv) {
_vm->_resource->readViews(i);
for (RuleList::iterator rule = _vm->_rooms[i]._rules.begin(); rule != _vm->_rooms[i]._rules.end(); ++rule) {
- Common::List<Action>::iterator action;
+ ActionList::iterator action;
for (action = rule->_actionList.begin(); action != rule->_actionList.end(); ++action) {
if (action->_actionType == actionId &&
(action->_param1 == param1 || param1 == -1) &&
diff --git a/engines/lab/detection.cpp b/engines/lab/detection.cpp
index 0810c4cb44..805594bf6a 100644
--- a/engines/lab/detection.cpp
+++ b/engines/lab/detection.cpp
@@ -43,7 +43,6 @@ static const ADGameDescription labDescriptions[] = {
"",
{
{ "doors", 0, "d77536010e7e5ae17ee066323ceb9585", 2537 }, // game/doors
- { "notes11", 0, "63e873f659f8f46f9809d16a2bf653c7", 3562 }, // fonts/notes11
{ "noteold.fon", 0, "6c1d90ad55149556e79d3f7bfddb4bd7", 9252 }, // game/spict/noteold.fon
{ NULL, 0, NULL, 0 }
},
@@ -57,7 +56,6 @@ static const ADGameDescription labDescriptions[] = {
"Lowres",
{
{ "doors", 0, "d77536010e7e5ae17ee066323ceb9585", 2537 }, // game/doors
- { "notes11", 0, "63e873f659f8f46f9809d16a2bf653c7", 3562 }, // fonts/notes11
{ "64b", 0, "3a84d41bcc6a782f22e8e954bce09721", 39916 }, // game/pict/h2/64b
{ NULL, 0, NULL, 0 }
},
@@ -71,7 +69,6 @@ static const ADGameDescription labDescriptions[] = {
"Rerelease",
{
{ "doors", 0, "d77536010e7e5ae17ee066323ceb9585", 2537 }, // game/doors
- { "notes11", 0, "63e873f659f8f46f9809d16a2bf653c7", 3562 }, // fonts/notes11
{ "noteold.fon", 0, "6c1d90ad55149556e79d3f7bfddb4bd7", 9252 }, // game/spict/noteold.fon
{ "wyrmkeep",0, "97c7064c54c28b952d37c4ebff6efa50", 52286 }, // game/spict/intro
{ NULL, 0, NULL, 0 }
@@ -94,7 +91,6 @@ static const ADGameDescription labDescriptions[] = {
};
static const char *const directoryGlobs[] = {
- "fonts",
"game",
"pict",
"spict",
diff --git a/engines/lab/dispman.cpp b/engines/lab/dispman.cpp
index 8ff6a61675..5dba424018 100644
--- a/engines/lab/dispman.cpp
+++ b/engines/lab/dispman.cpp
@@ -57,7 +57,7 @@ DisplayMan::DisplayMan(LabEngine *vm) : _vm(vm) {
_screenHeight = 0;
for (int i = 0; i < 256 * 3; i++)
- _curvgapal[i] = 0;
+ _curVgaPal[i] = 0;
}
DisplayMan::~DisplayMan() {
@@ -88,10 +88,6 @@ void DisplayMan::readPict(const Common::String filename, bool playOnce, bool onl
_vm->_anim->stopDiff();
loadPict(filename);
_vm->updateMusicAndEvents();
-
- if (!_vm->_music->_loopSoundEffect)
- _vm->_music->stopSoundEffect();
-
_vm->_anim->setOutputBuffer(memoryBuffer);
_vm->_anim->readDiff(_curBitmap, playOnce, onlyDiffData);
}
@@ -383,10 +379,10 @@ void DisplayMan::rectFill(Common::Rect fillRect, byte color) {
height = _screenHeight - fillRect.top;
if ((width > 0) && (height > 0)) {
- char *d = (char *)getCurrentDrawingBuffer() + fillRect.top * _screenWidth + fillRect.left;
+ byte *d = getCurrentDrawingBuffer() + fillRect.top * _screenWidth + fillRect.left;
while (height-- > 0) {
- char *dd = d;
+ byte *dd = d;
int ww = width;
while (ww-- > 0) {
@@ -458,11 +454,11 @@ void DisplayMan::writeColorRegs(byte *buf, uint16 first, uint16 numReg) {
tmp[i] = (buf[i] << 2) | (buf[i] >> 4); // better results than buf[i] * 4
_vm->_system->getPaletteManager()->setPalette(tmp, first, numReg);
- memcpy(&(_curvgapal[first * 3]), buf, numReg * 3);
+ memcpy(&(_curVgaPal[first * 3]), buf, numReg * 3);
}
void DisplayMan::setPalette(void *newPal, uint16 numColors) {
- if (memcmp(newPal, _curvgapal, numColors * 3) != 0)
+ if (memcmp(newPal, _curVgaPal, numColors * 3) != 0)
writeColorRegs((byte *)newPal, 0, numColors);
}
@@ -473,7 +469,7 @@ byte *DisplayMan::getCurrentDrawingBuffer() {
return _displayBuffer;
}
-void DisplayMan::checkerboardEffect(uint16 penColor, uint16 x1, uint16 y1, uint16 x2, uint16 y2) {
+void DisplayMan::checkerBoardEffect(uint16 penColor, uint16 x1, uint16 y1, uint16 x2, uint16 y2) {
int w = x2 - x1 + 1;
int h = y2 - y1 + 1;
@@ -677,20 +673,19 @@ void DisplayMan::doScrollWipe(const Common::String filename) {
uint16 nheight = height;
uint16 startLine = 0, onRow = 0;
- while (onRow < _vm->_anim->_headerdata._height) {
+ while (onRow < _vm->_anim->getDIFFHeight()) {
_vm->updateMusicAndEvents();
if ((by > nheight) && nheight)
by = nheight;
- if ((startLine + by) > (_vm->_anim->_headerdata._height - height - 1))
+ if ((startLine + by) > (_vm->_anim->getDIFFHeight() - height - 1))
break;
if (nheight)
nheight -= by;
copyPage(width, height, nheight, startLine, mem);
-
screenUpdate();
if (!nheight)
@@ -719,7 +714,7 @@ void DisplayMan::doScrollBounce() {
byte *mem = _vm->_anim->_scrollScreenBuffer;
_vm->updateMusicAndEvents();
- int startLine = _vm->_anim->_headerdata._height - height - 1;
+ int startLine = _vm->_anim->getDIFFHeight() - height - 1;
for (int i = 0; i < 5; i++) {
_vm->updateMusicAndEvents();
@@ -738,7 +733,7 @@ void DisplayMan::doScrollBounce() {
_vm->_event->mouseShow();
}
-void DisplayMan::doTransWipe(CloseDataPtr *closePtrList, const Common::String filename) {
+void DisplayMan::doTransWipe(const Common::String filename) {
uint16 lastY, linesLast;
if (_vm->_isHiRes) {
@@ -763,7 +758,7 @@ void DisplayMan::doTransWipe(CloseDataPtr *closePtrList, const Common::String fi
}
if (j == 0)
- checkerboardEffect(0, 0, curY, _screenWidth - 1, curY + 1);
+ checkerBoardEffect(0, 0, curY, _screenWidth - 1, curY + 1);
else
rectFill(0, curY, _screenWidth - 1, curY + 1, 0);
curY += 4;
@@ -773,26 +768,26 @@ void DisplayMan::doTransWipe(CloseDataPtr *closePtrList, const Common::String fi
} // for j
if (filename.empty())
- _vm->_curFileName = _vm->getPictName(closePtrList);
+ _vm->_curFileName = _vm->getPictName(true);
else if (filename[0] > ' ')
_vm->_curFileName = filename;
else
- _vm->_curFileName = _vm->getPictName(closePtrList);
+ _vm->_curFileName = _vm->getPictName(true);
byte *bitMapBuffer = new byte[_screenWidth * (lastY + 5)];
readPict(_vm->_curFileName, true, false, bitMapBuffer);
setPalette(_vm->_anim->_diffPalette, 256);
- Image imSource(_vm);
- imSource._width = _screenWidth;
- imSource._height = lastY;
- imSource._imageData = bitMapBuffer;
+ Image imgSource(_vm);
+ imgSource._width = _screenWidth;
+ imgSource._height = lastY;
+ imgSource.setData(bitMapBuffer, true);
- Image imDest(_vm);
- imDest._width = _screenWidth;
- imDest._height = _screenHeight;
- imDest._imageData = getCurrentDrawingBuffer();
+ Image imgDest(_vm);
+ imgDest._width = _screenWidth;
+ imgDest._height = _screenHeight;
+ imgDest.setData(getCurrentDrawingBuffer(), false);
for (int j = 0; j < 2; j++) {
for (int i = 0; i < 2; i++) {
@@ -805,14 +800,14 @@ void DisplayMan::doTransWipe(CloseDataPtr *closePtrList, const Common::String fi
linesDone = 0;
}
- imDest._imageData = getCurrentDrawingBuffer();
+ imgDest.setData(getCurrentDrawingBuffer(), false);
if (j == 0) {
- imSource.blitBitmap(0, curY, &imDest, 0, curY, _screenWidth, 2, false);
- checkerboardEffect(0, 0, curY, _screenWidth - 1, curY + 1);
+ imgSource.blitBitmap(0, curY, &imgDest, 0, curY, _screenWidth, 2, false);
+ checkerBoardEffect(0, 0, curY, _screenWidth - 1, curY + 1);
} else {
uint16 bitmapHeight = (curY == lastY) ? 1 : 2;
- imSource.blitBitmap(0, curY, &imDest, 0, curY, _screenWidth, bitmapHeight, false);
+ imgSource.blitBitmap(0, curY, &imgDest, 0, curY, _screenWidth, bitmapHeight, false);
}
curY += 4;
linesDone++;
@@ -820,31 +815,28 @@ void DisplayMan::doTransWipe(CloseDataPtr *closePtrList, const Common::String fi
} // for i
} // for j
- // Prevent the Image destructor from deleting the drawing buffer
- imDest._imageData = nullptr;
-
// bitMapBuffer will be deleted by the Image destructor
}
-void DisplayMan::doTransition(TransitionType transitionType, CloseDataPtr *closePtrList, const Common::String filename) {
+void DisplayMan::doTransition(TransitionType transitionType, const Common::String filename) {
switch (transitionType) {
case kTransitionWipe:
case kTransitionTransporter:
- doTransWipe(closePtrList, filename);
+ doTransWipe(filename);
break;
- case kTransitionScrollWipe:
+ case kTransitionScrollWipe: // only used in scene 7 (street, when teleporting to the surreal maze)
doScrollWipe(filename);
break;
- case kTransitionScrollBlack:
+ case kTransitionScrollBlack: // only used in scene 7 (street, when teleporting to the surreal maze)
doScrollBlack();
break;
- case kTransitionScrollBounce:
+ case kTransitionScrollBounce: // only used in scene 7 (street, when teleporting to the surreal maze)
doScrollBounce();
break;
- case kTransitionReadFirstFrame:
+ case kTransitionReadFirstFrame: // only used in scene 7 (street, when teleporting to the surreal maze)
readPict(filename, false);
break;
- case kTransitionReadNextFrame:
+ case kTransitionReadNextFrame: // only used in scene 7 (street, when teleporting to the surreal maze)
_vm->_anim->diffNextFrame();
break;
case kTransitionNone:
@@ -876,8 +868,8 @@ void DisplayMan::blackAllScreen() {
}
void DisplayMan::scrollDisplayX(int16 dx, uint16 x1, uint16 y1, uint16 x2, uint16 y2, byte *buffer) {
- Image im(_vm);
- im._imageData = buffer;
+ Image img(_vm);
+ img.setData(buffer, false);
if (x1 > x2)
SWAP<uint16>(x1, x2);
@@ -886,30 +878,27 @@ void DisplayMan::scrollDisplayX(int16 dx, uint16 x1, uint16 y1, uint16 x2, uint1
SWAP<uint16>(y1, y2);
if (dx > 0) {
- im._width = x2 - x1 + 1 - dx;
- im._height = y2 - y1 + 1;
+ img._width = x2 - x1 + 1 - dx;
+ img._height = y2 - y1 + 1;
- im.readScreenImage(x1, y1);
- im.drawImage(x1 + dx, y1);
+ img.readScreenImage(x1, y1);
+ img.drawImage(x1 + dx, y1);
rectFill(x1, y1, x1 + dx - 1, y2, 0);
} else if (dx < 0) {
- im._width = x2 - x1 + 1 + dx;
- im._height = y2 - y1 + 1;
+ img._width = x2 - x1 + 1 + dx;
+ img._height = y2 - y1 + 1;
- im.readScreenImage(x1 - dx, y1);
- im.drawImage(x1, y1);
+ img.readScreenImage(x1 - dx, y1);
+ img.drawImage(x1, y1);
rectFill(x2 + dx + 1, y1, x2, y2, 0);
}
-
- // Prevent the Image destructor from deleting the external buffer
- im._imageData = nullptr;
}
void DisplayMan::scrollDisplayY(int16 dy, uint16 x1, uint16 y1, uint16 x2, uint16 y2, byte *buffer) {
- Image im(_vm);
- im._imageData = buffer;
+ Image img(_vm);
+ img.setData(buffer, false);
if (x1 > x2)
SWAP<uint16>(x1, x2);
@@ -918,25 +907,22 @@ void DisplayMan::scrollDisplayY(int16 dy, uint16 x1, uint16 y1, uint16 x2, uint1
SWAP<uint16>(y1, y2);
if (dy > 0) {
- im._width = x2 - x1 + 1;
- im._height = y2 - y1 + 1 - dy;
+ img._width = x2 - x1 + 1;
+ img._height = y2 - y1 + 1 - dy;
- im.readScreenImage(x1, y1);
- im.drawImage(x1, y1 + dy);
+ img.readScreenImage(x1, y1);
+ img.drawImage(x1, y1 + dy);
rectFill(x1, y1, x2, y1 + dy - 1, 0);
} else if (dy < 0) {
- im._width = x2 - x1 + 1;
- im._height = y2 - y1 + 1 + dy;
+ img._width = x2 - x1 + 1;
+ img._height = y2 - y1 + 1 + dy;
- im.readScreenImage(x1, y1 - dy);
- im.drawImage(x1, y1);
+ img.readScreenImage(x1, y1 - dy);
+ img.drawImage(x1, y1);
rectFill(x1, y2 + dy + 1, x2, y2, 0);
}
-
- // Prevent the Image destructor from deleting the external buffer
- im._imageData = nullptr;
}
uint16 DisplayMan::fadeNumIn(uint16 num, uint16 res, uint16 counter) {
diff --git a/engines/lab/dispman.h b/engines/lab/dispman.h
index 2cf58c379f..6d70172f17 100644
--- a/engines/lab/dispman.h
+++ b/engines/lab/dispman.h
@@ -70,22 +70,12 @@ private:
*/
Common::String getWord(const char *mainBuffer);
- byte _curPen;
- Common::File *_curBitmap;
- byte _curvgapal[256 * 3];
-
-public:
- DisplayMan(LabEngine *lab);
- virtual ~DisplayMan();
-
- void loadPict(const Common::String filename);
- void loadBackPict(const Common::String fileName, uint16 *highPal);
+ void createBox(uint16 y2);
/**
- * Reads in a picture into the display bitmap.
+ * Sets up either a low-res or a high-res 256 color screen.
*/
- void readPict(const Common::String filename, bool playOnce = true, bool onlyDiffData = false, byte *memoryBuffer = nullptr);
- void freePict();
+ void createScreen(bool hiRes);
/**
* Scrolls the display to black.
@@ -106,12 +96,57 @@ public:
/**
* Does the transporter wipe.
*/
- void doTransWipe(CloseDataPtr *closePtrList, const Common::String filename);
+ void doTransWipe(const Common::String filename);
+
+ /**
+ * Draws a vertical line.
+ */
+ void drawHLine(uint16 x, uint16 y1, uint16 y2, byte color);
+
+ /**
+ * Draws a horizontal line.
+ */
+ void drawVLine(uint16 x1, uint16 y, uint16 x2, byte color);
+
+ /**
+ * Draws the text to the screen.
+ */
+ void drawText(TextFont *tf, uint16 x, uint16 y, uint16 color, const Common::String text);
+
+ /**
+ * Gets a line of text for flowText; makes sure that its length is less than
+ * or equal to the maximum width.
+ */
+ Common::String getLine(TextFont *tf, const char **mainBuffer, uint16 lineWidth);
+
+ /**
+ * Returns the length of a text in the specified font.
+ */
+ uint16 textLength(TextFont *font, const Common::String text);
+
+ bool _actionMessageShown;
+ byte _curPen;
+ Common::File *_curBitmap;
+ byte _curVgaPal[256 * 3];
+ byte *_currentDisplayBuffer;
+
+public:
+ DisplayMan(LabEngine *lab);
+ virtual ~DisplayMan();
+
+ void loadPict(const Common::String filename);
+ void loadBackPict(const Common::String fileName, uint16 *highPal);
+
+ /**
+ * Reads in a picture into the display bitmap.
+ */
+ void readPict(const Common::String filename, bool playOnce = true, bool onlyDiffData = false, byte *memoryBuffer = nullptr);
+ void freePict();
/**
* Does a certain number of pre-programmed wipes.
*/
- void doTransition(TransitionType transitionType, CloseDataPtr *closePtrList, const Common::String filename);
+ void doTransition(TransitionType transitionType, const Common::String filename);
/**
* Changes the front screen to black.
@@ -127,7 +162,6 @@ public:
* Changes the entire screen to black.
*/
void blackAllScreen();
- void createBox(uint16 y2);
/**
* Draws the control panel display.
@@ -149,11 +183,6 @@ public:
void setActionMessage(bool val) { _actionMessageShown = val; }
/**
- * Sets the pen number to use on all the drawing operations.
- */
- void setPen(byte pennum);
-
- /**
* Fills in a rectangle.
*/
void rectFill(uint16 x1, uint16 y1, uint16 x2, uint16 y2, byte color);
@@ -178,23 +207,9 @@ public:
int flowText(TextFont *font, int16 spacing, byte penColor, byte backPen, bool fillBack,
bool centerh, bool centerv, bool output, Common::Rect textRect, const char *text, Image *targetImage = nullptr);
- /**
- * Draws a vertical line.
- */
- void drawHLine(uint16 x, uint16 y1, uint16 y2, byte color);
-
- /**
- * Draws a horizontal line.
- */
- void drawVLine(uint16 x1, uint16 y, uint16 x2, byte color);
void screenUpdate();
/**
- * Sets up either a low-res or a high-res 256 color screen.
- */
- void createScreen(bool hiRes);
-
- /**
* Converts a 16-color Amiga palette to a VGA palette, then sets
* the VGA palette.
*/
@@ -216,7 +231,7 @@ public:
/**
* Overlays a region on the screen using the desired pen color.
*/
- void checkerboardEffect(uint16 penColor, uint16 x1, uint16 y1, uint16 x2, uint16 y2);
+ void checkerBoardEffect(uint16 penColor, uint16 x1, uint16 y1, uint16 x2, uint16 y2);
/**
* Returns the base address of the current VGA display.
@@ -242,34 +257,16 @@ public:
void freeFont(TextFont **font);
/**
- * Returns the length of a text in the specified font.
- */
- uint16 textLength(TextFont *font, const Common::String text);
-
- /**
* Returns the height of a specified font.
*/
uint16 textHeight(TextFont *tf);
- /**
- * Draws the text to the screen.
- */
- void drawText(TextFont *tf, uint16 x, uint16 y, uint16 color, const Common::String text);
-
- /**
- * Gets a line of text for flowText; makes sure that its length is less than
- * or equal to the maximum width.
- */
- Common::String getLine(TextFont *tf, const char **mainBuffer, uint16 lineWidth);
-
bool _longWinInFront;
bool _lastMessageLong;
- bool _actionMessageShown;
uint32 _screenBytesPerPage;
int _screenWidth;
int _screenHeight;
byte *_displayBuffer;
- byte *_currentDisplayBuffer;
uint16 *_fadePalette;
};
diff --git a/engines/lab/engine.cpp b/engines/lab/engine.cpp
index a01df7ec26..95dcc71923 100644
--- a/engines/lab/engine.cpp
+++ b/engines/lab/engine.cpp
@@ -39,15 +39,19 @@
#include "lab/music.h"
#include "lab/processroom.h"
#include "lab/resource.h"
-#include "lab/tilepuzzle.h"
+#include "lab/speciallocks.h"
#include "lab/utils.h"
namespace Lab {
-// LAB: Labyrinth specific code for the special puzzles
-#define SPECIALLOCK 100
-#define SPECIALBRICK 101
-#define SPECIALBRICKNOMOUSE 102
+#define CRUMBSWIDTH 24
+#define CRUMBSHEIGHT 24
+
+enum SpecialLock {
+ kLockCombination = 100,
+ kLockTiles = 101,
+ kLockTileSolution = 102
+};
enum Items {
kItemHelmet = 1,
@@ -103,7 +107,7 @@ void LabEngine::setQuarters(uint16 quarters) {
_inventory[kItemQuarter]._quantity = quarters;
}
-void LabEngine::drawRoomMessage(uint16 curInv, CloseDataPtr closePtr) {
+void LabEngine::drawRoomMessage(uint16 curInv, const CloseData *closePtr) {
if (_lastTooLong) {
_lastTooLong = false;
return;
@@ -165,7 +169,7 @@ void LabEngine::eatMessages() {
} while (msg && !shouldQuit());
}
-bool LabEngine::doCloseUp(CloseDataPtr closePtr) {
+bool LabEngine::doCloseUp(const CloseData *closePtr) {
if (!closePtr)
return false;
@@ -425,7 +429,7 @@ void LabEngine::mainGameLoop() {
// Sets the current picture properly on the screen
if (_mainDisplay)
- _nextFileName = getPictName(&_closeDataPtr);
+ _nextFileName = getPictName(true);
if (_noUpdateDiff) {
// Potentially entered another room
@@ -440,16 +444,14 @@ void LabEngine::mainGameLoop() {
_roomsFound->inclElement(_roomNum);
_curFileName = _nextFileName;
- if (_closeDataPtr) {
+ if (_closeDataPtr && _mainDisplay) {
switch (_closeDataPtr->_closeUpType) {
- case SPECIALLOCK:
- if (_mainDisplay)
- _tilePuzzle->showCombination(_curFileName);
+ case kLockCombination:
+ _specialLocks->showCombinationLock(_curFileName);
break;
- case SPECIALBRICK:
- case SPECIALBRICKNOMOUSE:
- if (_mainDisplay)
- _tilePuzzle->showTile(_curFileName, (_closeDataPtr->_closeUpType == SPECIALBRICKNOMOUSE));
+ case kLockTiles:
+ case kLockTileSolution:
+ _specialLocks->showTileLock(_curFileName, (_closeDataPtr->_closeUpType == kLockTileSolution));
break;
default:
_graphics->readPict(_curFileName, false);
@@ -498,7 +500,7 @@ void LabEngine::mainGameLoop() {
gotMessage = true;
mayShowCrumbIndicator();
_graphics->screenUpdate();
- if (!fromCrumbs(kMessageButtonUp, code, 0, _event->updateAndGetMousePos(), curInv, curMsg, forceDraw, code, actionMode))
+ if (!processEvent(kMessageButtonUp, code, 0, _event->updateAndGetMousePos(), curInv, curMsg, forceDraw, code, actionMode))
break;
}
}
@@ -508,7 +510,7 @@ void LabEngine::mainGameLoop() {
} else {
gotMessage = true;
_followingCrumbs = false;
- if (!fromCrumbs(curMsg->_msgClass, curMsg->_code, curMsg->_qualifier, curMsg->_mouse, curInv, curMsg, forceDraw, curMsg->_code, actionMode))
+ if (!processEvent(curMsg->_msgClass, curMsg->_code, curMsg->_qualifier, curMsg->_mouse, curInv, curMsg, forceDraw, curMsg->_code, actionMode))
break;
}
}
@@ -533,59 +535,47 @@ void LabEngine::showLab2Teaser() {
}
}
-bool LabEngine::fromCrumbs(uint32 tmpClass, uint16 code, uint16 qualifier, Common::Point tmpPos,
+bool LabEngine::processEvent(MessageClass tmpClass, uint16 code, uint16 qualifier, Common::Point tmpPos,
uint16 &curInv, IntuiMessage *curMsg, bool &forceDraw, uint16 buttonId, uint16 &actionMode) {
- uint32 msgClass = tmpClass;
+ MessageClass msgClass = tmpClass;
Common::Point curPos = tmpPos;
-
uint16 oldDirection = 0;
uint16 lastInv = kItemMap;
- bool leftButtonClick = false;
- bool rightButtonClick = false;
+
+ if (code == Common::KEYCODE_RETURN)
+ msgClass = kMessageLeftClick;
+
+ bool leftButtonClick = (msgClass == kMessageLeftClick);
+ bool rightButtonClick = (msgClass == kMessageRightClick);
_anim->_doBlack = false;
if (shouldQuit())
return false;
- if ((msgClass == kMessageRawKey) && !_graphics->_longWinInFront) {
- if (!processKey(curMsg, msgClass, qualifier, curPos, curInv, forceDraw, code))
- return false;
- }
-
- leftButtonClick = (msgClass == kMessageLeftClick);
- rightButtonClick = (msgClass == kMessageRightClick);
-
if (_graphics->_longWinInFront) {
- if ((msgClass == kMessageRawKey) || (leftButtonClick || rightButtonClick)) {
+ if (msgClass == kMessageRawKey || leftButtonClick || rightButtonClick) {
_graphics->_longWinInFront = false;
_graphics->drawPanel();
drawRoomMessage(curInv, _closeDataPtr);
_graphics->screenUpdate();
}
- } else if ((msgClass == kMessageButtonUp) && !_alternate) {
- processMainButton(curInv, lastInv, oldDirection, forceDraw, buttonId, actionMode);
- } else if ((msgClass == kMessageButtonUp) && _alternate) {
- processAltButton(curInv, lastInv, buttonId, actionMode);
+ } else if (msgClass == kMessageRawKey) {
+ return processKey(curMsg, msgClass, qualifier, curPos, curInv, forceDraw, code);
+ } else if (msgClass == kMessageButtonUp) {
+ if (!_alternate)
+ processMainButton(curInv, lastInv, oldDirection, forceDraw, buttonId, actionMode);
+ else
+ processAltButton(curInv, lastInv, buttonId, actionMode);
} else if (leftButtonClick && _mainDisplay) {
interfaceOff();
_mainDisplay = true;
- if (_closeDataPtr) {
- switch (_closeDataPtr->_closeUpType) {
- case SPECIALLOCK:
- if (_mainDisplay)
- _tilePuzzle->mouseCombination(curPos);
- break;
- case SPECIALBRICK:
- if (_mainDisplay)
- _tilePuzzle->mouseTile(curPos);
- break;
- default:
- performAction(actionMode, curPos, curInv);
- break;
- }
- } else
+ if (_closeDataPtr && _closeDataPtr->_closeUpType == kLockCombination)
+ _specialLocks->combinationClick(curPos);
+ else if (_closeDataPtr && _closeDataPtr->_closeUpType == kLockTiles)
+ _specialLocks->tileClick(curPos);
+ else
performAction(actionMode, curPos, curInv);
mayShowCrumbIndicator();
@@ -610,44 +600,20 @@ bool LabEngine::fromCrumbs(uint32 tmpClass, uint16 code, uint16 qualifier, Commo
mayShowCrumbIndicator();
_graphics->screenUpdate();
- } else if (msgClass == kMessageMoveCursorToCloseup) {
- CloseDataPtr tmpClosePtr = _closeDataPtr;
-
- // get next close-up in list after the one pointed to by curPos
- setCurrentClose(curPos, &tmpClosePtr, true, true);
-
- if (tmpClosePtr == _closeDataPtr) {
- tmpClosePtr = nullptr;
- if (!_closeDataPtr) {
- ViewData *vptr = getViewData(_roomNum, _direction);
- if (!vptr->_closeUps.empty())
- tmpClosePtr = &(*vptr->_closeUps.begin());
- } else {
- if (!_closeDataPtr->_subCloseUps.empty())
- tmpClosePtr = &(*_closeDataPtr->_subCloseUps.begin());
- }
- }
- if (tmpClosePtr)
- _event->setMousePos(Common::Point(_utils->scaleX((tmpClosePtr->_x1 + tmpClosePtr->_x2) / 2), _utils->scaleY((tmpClosePtr->_y1 + tmpClosePtr->_y2) / 2)));
}
return true;
}
-bool LabEngine::processKey(IntuiMessage *curMsg, uint32 &msgClass, uint16 &qualifier, Common::Point &curPos, uint16 &curInv, bool &forceDraw, uint16 code) {
- if (code == Common::KEYCODE_RETURN) {
- // The return key
- msgClass = kMessageLeftClick;
- qualifier = 0;
- curPos = _event->getMousePos();
- } else if ((getPlatform() == Common::kPlatformWindows) && (code == Common::KEYCODE_b)) {
+bool LabEngine::processKey(IntuiMessage *curMsg, uint32 msgClass, uint16 &qualifier, Common::Point &curPos, uint16 &curInv, bool &forceDraw, uint16 code) {
+ if ((getPlatform() == Common::kPlatformWindows) && (code == Common::KEYCODE_b)) {
// Start bread crumbs
_breadCrumbs[0]._roomNum = 0;
_numCrumbs = 0;
_droppingCrumbs = true;
mayShowCrumbIndicator();
_graphics->screenUpdate();
- } else if ((code == Common::KEYCODE_f) || (code == Common::KEYCODE_r)) {
+ } else if (getPlatform() == Common::kPlatformWindows && (code == Common::KEYCODE_f || code == Common::KEYCODE_r)) {
// Follow bread crumbs
if (_droppingCrumbs) {
if (_numCrumbs > 0) {
@@ -708,10 +674,17 @@ bool LabEngine::processKey(IntuiMessage *curMsg, uint32 &msgClass, uint16 &quali
forceDraw = true;
interfaceOn();
- } else if (code == Common::KEYCODE_TAB)
- msgClass = kMessageMoveCursorToCloseup;
- else if (code == Common::KEYCODE_ESCAPE)
+ } else if (code == Common::KEYCODE_ESCAPE) {
_closeDataPtr = nullptr;
+ } else if (code == Common::KEYCODE_TAB) {
+ const CloseData *tmpClosePtr = _closeDataPtr;
+
+ // get next close-up in list after the one pointed to by curPos
+ setCurrentClose(curPos, &tmpClosePtr, true, true);
+
+ if (tmpClosePtr != _closeDataPtr)
+ _event->setMousePos(Common::Point(_utils->scaleX((tmpClosePtr->_x1 + tmpClosePtr->_x2) / 2), _utils->scaleY((tmpClosePtr->_y1 + tmpClosePtr->_y2) / 2)));
+ }
eatMessages();
@@ -729,7 +702,7 @@ void LabEngine::processMainButton(uint16 &curInv, uint16 &lastInv, uint16 &oldDi
case kButtonClose:
case kButtonLook:
if ((actionMode == 4) && (buttonId == kButtonLook) && _closeDataPtr) {
- doMainView(&_closeDataPtr);
+ doMainView();
_anim->_doBlack = true;
_closeDataPtr = nullptr;
@@ -745,6 +718,7 @@ void LabEngine::processMainButton(uint16 &curInv, uint16 &lastInv, uint16 &oldDi
drawStaticMessage(kTextTakeWhat + buttonId);
}
break;
+
case kButtonInventory:
eatMessages();
@@ -778,7 +752,7 @@ void LabEngine::processMainButton(uint16 &curInv, uint16 &lastInv, uint16 &oldDi
oldDirection = _direction;
newDir = processArrow(_direction, buttonId - 6);
- doTurn(_direction, newDir, &_closeDataPtr);
+ doTurn(_direction, newDir);
_anim->_doBlack = true;
_direction = newDir;
forceDraw = true;
@@ -789,7 +763,7 @@ void LabEngine::processMainButton(uint16 &curInv, uint16 &lastInv, uint16 &oldDi
_closeDataPtr = nullptr;
oldRoomNum = _roomNum;
- if (doGoForward(&_closeDataPtr)) {
+ if (doGoForward()) {
if (oldRoomNum == _roomNum)
_anim->_doBlack = true;
} else {
@@ -846,6 +820,7 @@ void LabEngine::processMainButton(uint16 &curInv, uint16 &lastInv, uint16 &oldDi
mayShowCrumbIndicator();
break;
+
case kButtonMap:
doUse(kItemMap);
@@ -981,13 +956,13 @@ void LabEngine::performAction(uint16 actionMode, Common::Point curPos, uint16 &c
switch (actionMode) {
case 0:
// Take something.
- if (doActionRule(curPos, actionMode, _roomNum, &_closeDataPtr))
+ if (doActionRule(curPos, actionMode, _roomNum))
_curFileName = _newFileName;
- else if (takeItem(curPos, &_closeDataPtr))
+ else if (takeItem(curPos))
drawStaticMessage(kTextTakeItem);
- else if (doActionRule(curPos, kRuleActionTakeDef, _roomNum, &_closeDataPtr))
+ else if (doActionRule(curPos, kRuleActionTakeDef, _roomNum))
_curFileName = _newFileName;
- else if (doActionRule(curPos, kRuleActionTake, 0, &_closeDataPtr))
+ else if (doActionRule(curPos, kRuleActionTake, 0))
_curFileName = _newFileName;
else if (curPos.y < (_utils->vgaScaleY(149) + _utils->svgaCord(2)))
drawStaticMessage(kTextNothing);
@@ -998,9 +973,9 @@ void LabEngine::performAction(uint16 actionMode, Common::Point curPos, uint16 &c
case 2:
case 3:
// Manipulate an object, Open up a "door" or Close a "door"
- if (doActionRule(curPos, actionMode, _roomNum, &_closeDataPtr))
+ if (doActionRule(curPos, actionMode, _roomNum))
_curFileName = _newFileName;
- else if (!doActionRule(curPos, actionMode, 0, &_closeDataPtr)) {
+ else if (!doActionRule(curPos, actionMode, 0)) {
if (curPos.y < (_utils->vgaScaleY(149) + _utils->svgaCord(2)))
drawStaticMessage(kTextNothing);
}
@@ -1008,7 +983,7 @@ void LabEngine::performAction(uint16 actionMode, Common::Point curPos, uint16 &c
case 4: {
// Look at closeups
- CloseDataPtr tmpClosePtr = _closeDataPtr;
+ const CloseData *tmpClosePtr = _closeDataPtr;
setCurrentClose(curPos, &tmpClosePtr, true);
if (_closeDataPtr == tmpClosePtr) {
@@ -1025,7 +1000,7 @@ void LabEngine::performAction(uint16 actionMode, Common::Point curPos, uint16 &c
case 5:
if (_conditions->in(curInv)) {
// Use an item on something else
- if (doOperateRule(curPos, curInv, &_closeDataPtr)) {
+ if (doOperateRule(curPos, curInv)) {
_curFileName = _newFileName;
if (!_conditions->in(curInv))
@@ -1125,11 +1100,41 @@ MainButton LabEngine::followCrumbs() {
void LabEngine::mayShowCrumbIndicator() {
- static Image dropCrumbsImage(24, 24, nullptr, this);
+ static byte dropCrumbsImageData[CRUMBSWIDTH * CRUMBSHEIGHT] = {
+ 0, 0, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 0, 0,
+ 0, 4, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 4, 0,
+ 4, 7, 7, 3, 4, 4, 3, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 3, 7, 7, 4,
+ 4, 7, 4, 4, 0, 0, 3, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 4, 7, 4,
+ 4, 7, 4, 0, 0, 0, 3, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 4, 7, 4,
+ 4, 7, 4, 0, 0, 3, 2, 2, 2, 3, 0, 0, 0, 0, 0, 0, 0, 3, 2, 3, 0, 4, 7, 4,
+ 4, 7, 4, 0, 0, 0, 3, 3, 3, 4, 4, 4, 4, 4, 4, 0, 0, 3, 2, 3, 0, 4, 7, 4,
+ 4, 7, 4, 0, 0, 0, 0, 0, 4, 7, 7, 7, 7, 7, 7, 4, 3, 2, 2, 2, 3, 4, 7, 4,
+ 4, 7, 4, 0, 0, 0, 0, 4, 7, 7, 4, 4, 4, 4, 7, 7, 4, 3, 3, 3, 0, 4, 7, 4,
+ 4, 7, 4, 0, 0, 0, 0, 4, 7, 4, 4, 0, 0, 4, 4, 7, 4, 0, 0, 0, 0, 4, 7, 4,
+ 4, 7, 4, 0, 0, 0, 0, 4, 7, 4, 0, 0, 0, 0, 4, 7, 4, 0, 0, 0, 0, 4, 7, 4,
+ 4, 7, 4, 0, 0, 0, 0, 4, 4, 4, 3, 0, 0, 0, 4, 7, 4, 0, 0, 0, 0, 4, 7, 4,
+ 4, 7, 4, 0, 0, 0, 0, 0, 4, 3, 2, 3, 0, 0, 4, 7, 4, 0, 0, 0, 0, 4, 7, 4,
+ 4, 7, 4, 0, 0, 0, 0, 0, 0, 3, 2, 3, 0, 0, 4, 7, 4, 0, 0, 0, 0, 4, 7, 4,
+ 4, 7, 4, 0, 0, 0, 0, 0, 3, 2, 2, 2, 3, 4, 4, 7, 4, 0, 0, 0, 0, 4, 7, 4,
+ 4, 7, 7, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 7, 7, 4, 0, 0, 0, 0, 4, 7, 4,
+ 0, 4, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 4, 0, 0, 0, 0, 0, 4, 7, 4,
+ 0, 0, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 3, 0, 0, 0, 0, 0, 4, 7, 4,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 2, 3, 0, 0, 0, 0, 4, 7, 4,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 2, 3, 0, 0, 0, 0, 4, 7, 4,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 2, 2, 2, 3, 0, 0, 4, 4, 7, 4,
+ 0, 0, 0, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 7, 7, 4,
+ 0, 0, 4, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 4, 0,
+ 0, 0, 0, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 0, 0
+ };
+
if (getPlatform() != Common::kPlatformWindows)
return;
if (_droppingCrumbs && _mainDisplay) {
+ static byte *imgData = new byte[CRUMBSWIDTH * CRUMBSHEIGHT];
+ memcpy(imgData, dropCrumbsImageData, CRUMBSWIDTH * CRUMBSHEIGHT);
+ static Image dropCrumbsImage(CRUMBSWIDTH, CRUMBSHEIGHT, imgData, this);
+
_event->mouseHide();
dropCrumbsImage.drawMaskImage(612, 4);
_event->mouseShow();
@@ -1137,12 +1142,41 @@ void LabEngine::mayShowCrumbIndicator() {
}
void LabEngine::mayShowCrumbIndicatorOff() {
- static Image dropCrumbsOffImage(24, 24, nullptr, this);
+ static byte dropCrumbsOffImageData[CRUMBSWIDTH * CRUMBSHEIGHT] = {
+ 0, 0, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 0, 0,
+ 0, 4, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 4, 0,
+ 4, 8, 8, 3, 4, 4, 3, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 3, 8, 8, 4,
+ 4, 8, 4, 4, 0, 0, 3, 8, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 4, 8, 4,
+ 4, 8, 4, 0, 0, 0, 3, 8, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 4, 8, 4,
+ 4, 8, 4, 0, 0, 3, 8, 8, 8, 3, 0, 0, 0, 0, 0, 0, 0, 3, 8, 3, 0, 4, 8, 4,
+ 4, 8, 4, 0, 0, 0, 3, 3, 3, 4, 4, 4, 4, 4, 4, 0, 0, 3, 8, 3, 0, 4, 8, 4,
+ 4, 8, 4, 0, 0, 0, 0, 0, 4, 8, 8, 8, 8, 8, 8, 4, 3, 8, 8, 8, 3, 4, 8, 4,
+ 4, 8, 4, 0, 0, 0, 0, 4, 8, 8, 4, 4, 4, 4, 8, 8, 4, 3, 3, 3, 0, 4, 8, 4,
+ 4, 8, 4, 0, 0, 0, 0, 4, 8, 4, 4, 0, 0, 4, 4, 8, 4, 0, 0, 0, 0, 4, 8, 4,
+ 4, 8, 4, 0, 0, 0, 0, 4, 8, 4, 0, 0, 0, 0, 4, 8, 4, 0, 0, 0, 0, 4, 8, 4,
+ 4, 8, 4, 0, 0, 0, 0, 4, 4, 4, 3, 0, 0, 0, 4, 8, 4, 0, 0, 0, 0, 4, 8, 4,
+ 4, 8, 4, 0, 0, 0, 0, 0, 4, 3, 8, 3, 0, 0, 4, 8, 4, 0, 0, 0, 0, 4, 8, 4,
+ 4, 8, 4, 0, 0, 0, 0, 0, 0, 3, 8, 3, 0, 0, 4, 8, 4, 0, 0, 0, 0, 4, 8, 4,
+ 4, 8, 4, 0, 0, 0, 0, 0, 3, 8, 8, 8, 3, 4, 4, 8, 4, 0, 0, 0, 0, 4, 8, 4,
+ 4, 8, 8, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 8, 8, 4, 0, 0, 0, 0, 4, 8, 4,
+ 0, 4, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 4, 0, 0, 0, 0, 0, 4, 8, 4,
+ 0, 0, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 3, 0, 0, 0, 0, 0, 4, 8, 4,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 8, 3, 0, 0, 0, 0, 4, 8, 4,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 8, 3, 0, 0, 0, 0, 4, 8, 4,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 8, 8, 8, 3, 0, 0, 4, 4, 8, 4,
+ 0, 0, 0, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 8, 8, 4,
+ 0, 0, 4, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 4, 0,
+ 0, 0, 0, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 0, 0
+ };
if (getPlatform() != Common::kPlatformWindows)
return;
if (_mainDisplay) {
+ static byte *imgData = new byte[CRUMBSWIDTH * CRUMBSHEIGHT];
+ memcpy(imgData, dropCrumbsOffImageData, CRUMBSWIDTH * CRUMBSHEIGHT);
+ static Image dropCrumbsOffImage(CRUMBSWIDTH, CRUMBSHEIGHT, imgData, this);
+
_event->mouseHide();
dropCrumbsOffImage.drawMaskImage(612, 4);
_event->mouseShow();
diff --git a/engines/lab/eventman.cpp b/engines/lab/eventman.cpp
index 83c50b9771..d1db854863 100644
--- a/engines/lab/eventman.cpp
+++ b/engines/lab/eventman.cpp
@@ -137,7 +137,7 @@ void EventManager::initMouse() {
_vm->_system->setMouseCursor(mouseData, MOUSE_WIDTH, MOUSE_HEIGHT, 0, 0, 0);
_vm->_system->showMouse(false);
- setMousePos(Common::Point(0, 0));
+ setMousePos(Common::Point(_vm->_graphics->_screenWidth / 2, _vm->_graphics->_screenHeight / 2));
}
void EventManager::mouseShow() {
@@ -148,13 +148,6 @@ void EventManager::mouseHide() {
_vm->_system->showMouse(false);
}
-Common::Point EventManager::getMousePos() {
- if (_vm->_isHiRes)
- return _mousePos;
- else
- return Common::Point(_mousePos.x / 2, _mousePos.y);
-}
-
void EventManager::setMousePos(Common::Point pos) {
if (_vm->_isHiRes)
_vm->_system->warpMouse(pos.x, pos.y);
@@ -191,9 +184,6 @@ void EventManager::processInput() {
case Common::KEYCODE_RIGHTBRACKET:
_vm->changeVolume(1);
break;
- case Common::KEYCODE_z:
- //saveSettings();
- break;
case Common::KEYCODE_d:
if (event.kbd.hasFlags(Common::KBD_CTRL)) {
// Open debugger console
diff --git a/engines/lab/eventman.h b/engines/lab/eventman.h
index ec8f824cb2..cb91b12a76 100644
--- a/engines/lab/eventman.h
+++ b/engines/lab/eventman.h
@@ -38,22 +38,13 @@ namespace Lab {
class LabEngine;
class Image;
-enum MessageClasses {
- kMessageLeftClick,
- kMessageRightClick,
- kMessageButtonUp,
- kMessageRawKey,
- kMessageMoveCursorToCloseup
-};
-
struct IntuiMessage {
- uint32 _msgClass;
+ MessageClass _msgClass;
uint16 _code; // KeyCode or Button Id
uint16 _qualifier;
Common::Point _mouse;
};
-
struct Button {
uint16 _x, _y, _buttonId;
Common::KeyCode _keyEquiv; // the key which activates this button
@@ -92,11 +83,6 @@ private:
*/
Button *checkNumButtonHit(ButtonList *buttonList, Common::KeyCode key);
- /**
- * Make a key press have the right case for a button KeyEquiv value.
- */
- uint16 makeButtonKeyEquiv(uint16 key);
-
public:
EventManager (LabEngine *vm);
@@ -111,11 +97,6 @@ public:
void freeButtonList(ButtonList *buttonList);
Button *getButton(uint16 id);
- /**
- * Gets the current mouse co-ordinates. NOTE: On IBM version, will scale
- * from virtual to screen co-ordinates automatically.
- */
- Common::Point getMousePos();
IntuiMessage *getMsg();
/**
diff --git a/engines/lab/image.cpp b/engines/lab/image.cpp
index ce0d5431b6..ec516718e8 100644
--- a/engines/lab/image.cpp
+++ b/engines/lab/image.cpp
@@ -48,53 +48,56 @@ Image::Image(Common::File *s, LabEngine *vm) : _vm(vm) {
_imageData = new byte[size];
s->read(_imageData, size);
+ _autoFree = true;
}
Image::~Image() {
- delete[] _imageData;
+ if (_autoFree)
+ delete[] _imageData;
}
-void Image::blitBitmap(uint16 xs, uint16 ys, Image *imDest,
- uint16 xd, uint16 yd, uint16 width, uint16 height, byte masked) {
- int w = width;
- int h = height;
- int destWidth = (imDest) ? imDest->_width : _vm->_graphics->_screenWidth;
- int destHeight = (imDest) ? imDest->_height : _vm->_graphics->_screenHeight;
- byte *destBuffer = (imDest) ? imDest->_imageData : _vm->_graphics->getCurrentDrawingBuffer();
+void Image::setData(byte *d, bool autoFree) {
+ if (_autoFree)
+ delete[] _imageData;
+ _imageData = d;
+ _autoFree = autoFree;
+}
+
+void Image::blitBitmap(uint16 srcX, uint16 srcY, Image *imgDest,
+ uint16 destX, uint16 destY, uint16 width, uint16 height, byte masked) {
+ int clipWidth = width;
+ int clipHeight = height;
+ int destWidth = (imgDest) ? imgDest->_width : _vm->_graphics->_screenWidth;
+ int destHeight = (imgDest) ? imgDest->_height : _vm->_graphics->_screenHeight;
+ byte *destBuffer = (imgDest) ? imgDest->_imageData : _vm->_graphics->getCurrentDrawingBuffer();
- if (xd + w > destWidth)
- w = destWidth - xd;
+ if (destX + clipWidth > destWidth)
+ clipWidth = destWidth - destX;
- if (yd + h > destHeight)
- h = destHeight - yd;
+ if (destY + clipHeight > destHeight)
+ clipHeight = destHeight - destY;
- if ((w > 0) && (h > 0)) {
- byte *s = _imageData + ys * _width + xs;
- byte *d = destBuffer + yd * destWidth + xd;
+ if ((clipWidth > 0) && (clipHeight > 0)) {
+ byte *img = _imageData + srcY * _width + srcX;
+ byte *dest = destBuffer + destY * destWidth + destX;
if (!masked) {
- while (h-- > 0) {
- memcpy(d, s, w);
- s += _width;
- d += destWidth;
+ for (int i = 0; i < clipHeight; i++) {
+ memcpy(dest, img, clipWidth);
+ img += _width;
+ dest += destWidth;
}
} else {
- while (h-- > 0) {
- byte *ss = s;
- byte *dd = d;
- int ww = w;
-
- while (ww-- > 0) {
- byte c = *ss++;
+ for (int i = 0; i < clipHeight; i++) {
+ for (int j = 0; j < clipWidth; j++) {
+ byte c = img[j];
if (c)
- *dd++ = c - 1;
- else
- dd++;
+ dest[j] = c - 1;
}
- s += _width;
- d += destWidth;
+ img += _width;
+ dest += destWidth;
}
}
}
@@ -109,23 +112,23 @@ void Image::drawMaskImage(uint16 x, uint16 y) {
}
void Image::readScreenImage(uint16 x, uint16 y) {
- int w = _width;
- int h = _height;
+ int clipWidth = _width;
+ int clipHeight = _height;
- if (x + w > _vm->_graphics->_screenWidth)
- w = _vm->_graphics->_screenWidth - x;
+ if (x + clipWidth > _vm->_graphics->_screenWidth)
+ clipWidth = _vm->_graphics->_screenWidth - x;
- if (y + h > _vm->_graphics->_screenHeight)
- h = _vm->_graphics->_screenHeight - y;
+ if (y + clipHeight > _vm->_graphics->_screenHeight)
+ clipHeight = _vm->_graphics->_screenHeight - y;
- if ((w > 0) && (h > 0)) {
- byte *s = _imageData;
- byte *d = _vm->_graphics->getCurrentDrawingBuffer() + y * _vm->_graphics->_screenWidth + x;
+ if ((clipWidth > 0) && (clipHeight > 0)) {
+ byte *img = _imageData;
+ byte *screen = _vm->_graphics->getCurrentDrawingBuffer() + y * _vm->_graphics->_screenWidth + x;
- while (h-- > 0) {
- memcpy(s, d, w);
- s += _width;
- d += _vm->_graphics->_screenWidth;
+ while (clipHeight-- > 0) {
+ memcpy(img, screen, clipWidth);
+ img += _width;
+ screen += _vm->_graphics->_screenWidth;
}
}
}
diff --git a/engines/lab/image.h b/engines/lab/image.h
index bac32cd763..0f985e09eb 100644
--- a/engines/lab/image.h
+++ b/engines/lab/image.h
@@ -47,10 +47,12 @@ public:
uint16 _height;
byte *_imageData;
- Image(LabEngine *vm) : _width(0), _height(0), _imageData(nullptr), _vm(vm) {}
- Image(int w, int h, byte *d, LabEngine *vm) : _width(w), _height(h), _imageData(d), _vm(vm) {}
+ Image(LabEngine *vm) : _width(0), _height(0), _imageData(nullptr), _vm(vm), _autoFree(true) {}
+ Image(int w, int h, byte *d, LabEngine *vm, bool autoFree = true) : _width(w), _height(h), _imageData(d), _vm(vm), _autoFree(autoFree) {}
Image(Common::File *s, LabEngine *vm);
- virtual ~Image();
+ ~Image();
+
+ void setData(byte *d, bool autoFree = true);
/**
* Draws an image to the screen.
@@ -70,7 +72,10 @@ public:
/**
* Blits a piece of one image to another.
*/
- void blitBitmap(uint16 xs, uint16 ys, Image *ImDest, uint16 xd, uint16 yd, uint16 width, uint16 height, byte masked);
+ void blitBitmap(uint16 srcX, uint16 srcY, Image *imgDest, uint16 destX, uint16 destY, uint16 width, uint16 height, byte masked);
+
+private:
+ bool _autoFree; ///< Free _imageData in destructor?
};
} // End of namespace Lab
diff --git a/engines/lab/interface.cpp b/engines/lab/interface.cpp
index 507e0b27d5..30f2f13fa5 100644
--- a/engines/lab/interface.cpp
+++ b/engines/lab/interface.cpp
@@ -78,20 +78,13 @@ void EventManager::drawButtonList(ButtonList *buttonList) {
void EventManager::toggleButton(Button *button, uint16 disabledPenColor, bool enable) {
if (!enable)
- _vm->_graphics->checkerboardEffect(disabledPenColor, button->_x, button->_y, button->_x + button->_image->_width - 1, button->_y + button->_image->_height - 1);
+ _vm->_graphics->checkerBoardEffect(disabledPenColor, button->_x, button->_y, button->_x + button->_image->_width - 1, button->_y + button->_image->_height - 1);
else
button->_image->drawImage(button->_x, button->_y);
button->_isEnabled = enable;
}
-uint16 EventManager::makeButtonKeyEquiv(uint16 key) {
- if (Common::isAlnum(key))
- key = tolower(key);
-
- return key;
-}
-
Button *EventManager::checkNumButtonHit(ButtonList *buttonList, Common::KeyCode key) {
uint16 gkey = key - '0';
diff --git a/engines/lab/intro.cpp b/engines/lab/intro.cpp
index 8971c96786..46a20a502b 100644
--- a/engines/lab/intro.cpp
+++ b/engines/lab/intro.cpp
@@ -83,10 +83,10 @@ void Intro::doPictText(const Common::String filename, bool isScreen) {
bool begin = true;
Common::File *textFile = _vm->_resource->openDataFile(path);
- byte *textBuffer = new byte[textFile->size()];
+ char *textBuffer = new char[textFile->size()];
textFile->read(textBuffer, textFile->size());
delete textFile;
- byte *curText = textBuffer;
+ const char *curText = textBuffer;
while (1) {
if (drawNextText) {
@@ -98,10 +98,10 @@ void Intro::doPictText(const Common::String filename, bool isScreen) {
if (isScreen) {
_vm->_graphics->rectFillScaled(10, 10, 310, 190, 7);
- curText += _vm->_graphics->flowText(_font, _vm->_isHiRes ? 0 : -1, 5, 7, false, false, true, true, _vm->_utils->vgaRectScale(14, 11, 306, 189), (char *)curText);
+ curText += _vm->_graphics->flowText(_font, _vm->_isHiRes ? 0 : -1, 5, 7, false, false, true, true, _vm->_utils->vgaRectScale(14, 11, 306, 189), curText);
_vm->_graphics->fade(true);
} else
- curText += _vm->_graphics->longDrawMessage(Common::String((char *)curText), false);
+ curText += _vm->_graphics->longDrawMessage(Common::String(curText), false);
doneFl = (*curText == 0);
@@ -262,16 +262,13 @@ void Intro::play() {
_vm->_graphics->_fadePalette = palette;
for (int i = 0; i < 16; i++) {
- if (_quitIntro)
- break;
-
palette[i] = ((_vm->_anim->_diffPalette[i * 3] >> 2) << 8) +
((_vm->_anim->_diffPalette[i * 3 + 1] >> 2) << 4) +
(_vm->_anim->_diffPalette[i * 3 + 2] >> 2);
}
-
_vm->updateMusicAndEvents();
- _vm->_graphics->fade(true);
+ if (!_quitIntro)
+ _vm->_graphics->fade(true);
for (int times = 0; times < 150; times++) {
if (_quitIntro)
@@ -289,9 +286,11 @@ void Intro::play() {
_vm->waitTOF();
}
- _vm->_graphics->fade(false);
- _vm->_graphics->blackAllScreen();
- _vm->updateMusicAndEvents();
+ if (!_quitIntro) {
+ _vm->_graphics->fade(false);
+ _vm->_graphics->blackAllScreen();
+ _vm->updateMusicAndEvents();
+ }
nReadPict("Title.A");
nReadPict("AB");
diff --git a/engines/lab/lab.cpp b/engines/lab/lab.cpp
index e942617a26..be299a8236 100644
--- a/engines/lab/lab.cpp
+++ b/engines/lab/lab.cpp
@@ -44,7 +44,7 @@
#include "lab/music.h"
#include "lab/processroom.h"
#include "lab/resource.h"
-#include "lab/tilepuzzle.h"
+#include "lab/speciallocks.h"
#include "lab/utils.h"
namespace Lab {
@@ -85,7 +85,7 @@ LabEngine::LabEngine(OSystem *syst, const ADGameDescription *gameDesc)
_graphics = nullptr;
_rooms = nullptr;
_roomsFound = nullptr;
- _tilePuzzle = nullptr;
+ _specialLocks = nullptr;
_utils = nullptr;
_console = nullptr;
_journalBackImage = nullptr;
@@ -151,7 +151,7 @@ LabEngine::~LabEngine() {
delete _music;
delete _anim;
delete _graphics;
- delete _tilePuzzle;
+ delete _specialLocks;
delete _utils;
delete _console;
delete _journalBackImage;
@@ -168,7 +168,7 @@ Common::Error LabEngine::run() {
_music = new Music(this);
_graphics = new DisplayMan(this);
_anim = new Anim(this);
- _tilePuzzle = new TilePuzzle(this);
+ _specialLocks = new SpecialLocks(this);
_utils = new Utils(this);
_console = new Console(this);
_journalBackImage = new Image(this);
@@ -221,7 +221,12 @@ void LabEngine::drawStaticMessage(byte index) {
}
void LabEngine::changeVolume(int delta) {
- warning("STUB: changeVolume()");
+ int sfxPrev = _mixer->getVolumeForSoundType(Audio::Mixer::kSFXSoundType);
+ int musicPrev = _mixer->getVolumeForSoundType(Audio::Mixer::kMusicSoundType);
+ int sfxNew = (delta > 0) ? MIN<int>(sfxPrev + 10, Audio::Mixer::kMaxMixerVolume) : MAX<int>(sfxPrev - 10, 0);
+ int musicNew = (delta > 0) ? MIN<int>(musicPrev + 10, Audio::Mixer::kMaxMixerVolume) : MAX<int>(musicPrev - 10, 0);
+ _mixer->setVolumeForSoundType(Audio::Mixer::kSFXSoundType, sfxNew);
+ _mixer->setVolumeForSoundType(Audio::Mixer::kMusicSoundType, musicNew);
}
void LabEngine::waitTOF() {
diff --git a/engines/lab/lab.h b/engines/lab/lab.h
index 0a2e407d92..fd09db0a37 100644
--- a/engines/lab/lab.h
+++ b/engines/lab/lab.h
@@ -63,7 +63,7 @@ class EventManager;
class Image;
class Music;
class Resource;
-class TilePuzzle;
+class SpecialLocks;
class Utils;
struct SaveGameHeader {
@@ -87,8 +87,10 @@ struct CrumbData {
#define MAX_CRUMBS 128
-typedef CloseData *CloseDataPtr;
typedef Common::List<Rule> RuleList;
+typedef Common::List<Action> ActionList;
+typedef Common::List<CloseData> CloseDataList;
+typedef Common::List<ViewData> ViewDataList;
enum Direction {
kDirectionNorth,
@@ -111,6 +113,13 @@ enum MainButton {
kButtonMap
};
+enum MessageClass {
+ kMessageLeftClick,
+ kMessageRightClick,
+ kMessageButtonUp,
+ kMessageRawKey
+};
+
class LabEngine : public Engine {
private:
bool _interfaceOff;
@@ -140,7 +149,7 @@ private:
Common::String _newFileName;
Common::String _monitorTextFilename;
- CloseDataPtr _closeDataPtr;
+ const CloseData *_closeDataPtr;
ButtonList _journalButtonList;
ButtonList _mapButtonList;
Image *_imgMap, *_imgRoom, *_imgUpArrowRoom, *_imgDownArrowRoom, *_imgBridge;
@@ -184,7 +193,7 @@ public:
Resource *_resource;
RoomData *_rooms;
TextFont *_msgFont;
- TilePuzzle *_tilePuzzle;
+ SpecialLocks *_specialLocks;
Utils *_utils;
Console *_console;
GUI::Debugger *getDebugger() { return _console; }
@@ -209,7 +218,7 @@ public:
/**
* Returns the current picture name.
*/
- Common::String getPictName(CloseDataPtr *closePtrList);
+ Common::String getPictName(bool useClose);
uint16 getQuarters();
void setDirection(uint16 direction) { _direction = direction; };
void setQuarters(uint16 quarters);
@@ -230,27 +239,27 @@ private:
/**
* Processes the action list.
*/
- void doActions(const Common::List<Action> &actionList, CloseDataPtr *closePtrList);
+ void doActions(const ActionList &actionList);
/**
* Goes through the rules if an action is taken.
*/
- bool doActionRule(Common::Point pos, int16 action, int16 roomNum, CloseDataPtr *closePtrList);
+ bool doActionRule(Common::Point pos, int16 action, int16 roomNum);
/**
* Does the work for doActionRule.
*/
- bool doActionRuleSub(int16 action, int16 roomNum, CloseDataPtr closePtr, CloseDataPtr *setCloseList, bool allowDefaults);
+ bool doActionRuleSub(int16 action, int16 roomNum, const CloseData *closePtr, bool allowDefaults);
/**
* Checks whether the close up is one of the special case closeups.
*/
- bool doCloseUp(CloseDataPtr closePtr);
+ bool doCloseUp(const CloseData *closePtr);
/**
* Goes through the rules if the user tries to go forward.
*/
- bool doGoForward(CloseDataPtr *closePtrList);
+ bool doGoForward();
/**
* Does the journal processing.
@@ -260,7 +269,7 @@ private:
/**
* Goes through the rules if the user tries to go to the main view
*/
- bool doMainView(CloseDataPtr *closePtrList);
+ bool doMainView();
/**
* Does the map processing.
@@ -280,17 +289,17 @@ private:
/**
* Does the work for doActionRule.
*/
- bool doOperateRuleSub(int16 itemNum, int16 roomNum, CloseDataPtr closePtr, CloseDataPtr *setCloseList, bool allowDefaults);
+ bool doOperateRuleSub(int16 itemNum, int16 roomNum, const CloseData *closePtr, bool allowDefaults);
/**
* Goes through the rules if the user tries to operate an item on an object.
*/
- bool doOperateRule(Common::Point pos, int16 ItemNum, CloseDataPtr *closePtrList);
+ bool doOperateRule(Common::Point pos, int16 ItemNum);
/**
* Goes through the rules if the user tries to turn.
*/
- bool doTurn(uint16 from, uint16 to, CloseDataPtr *closePtrList);
+ bool doTurn(uint16 from, uint16 to);
/**
* If the user hits the "Use" button; things that can get used on themselves.
@@ -306,7 +315,7 @@ private:
/**
* Draws the current direction to the screen.
*/
- void drawDirection(CloseDataPtr closePtr);
+ void drawDirection(const CloseData *closePtr);
/**
* Draws the journal from page x.
@@ -336,7 +345,7 @@ private:
/**
* Draws the message for the room.
*/
- void drawRoomMessage(uint16 curInv, CloseDataPtr closePtr);
+ void drawRoomMessage(uint16 curInv, const CloseData *closePtr);
void drawStaticMessage(byte index);
/**
@@ -350,7 +359,7 @@ private:
* some of the closeups have the same hit boxes, then this returns the first
* occurrence of the object with the same hit box.
*/
- CloseDataPtr findClosePtrMatch(CloseDataPtr closePtr, Common::List<CloseData> &list);
+ const CloseData *findClosePtrMatch(const CloseData *closePtr, const CloseDataList &list);
/**
* Checks if a floor has been visited.
@@ -363,7 +372,7 @@ private:
MainButton followCrumbs();
void freeMapData();
void freeScreens();
- bool fromCrumbs(uint32 tmpClass, uint16 code, uint16 qualifier, Common::Point tmpPos,
+ bool processEvent(MessageClass tmpClass, uint16 code, uint16 qualifier, Common::Point tmpPos,
uint16 &curInv, IntuiMessage *curMsg, bool &forceDraw, uint16 buttonId, uint16 &actionMode);
/**
@@ -380,7 +389,7 @@ private:
/**
* Gets an object, if any, from the user's click on the screen.
*/
- CloseData *getObject(Common::Point pos, CloseDataPtr closePtr);
+ const CloseData *getObject(Common::Point pos, const CloseData *closePtr);
/**
* Returns the floor to show when the up arrow is pressed
@@ -455,18 +464,18 @@ private:
/**
* Sets the current close up data.
*/
- void setCurrentClose(Common::Point pos, CloseDataPtr *closePtrList, bool useAbsoluteCoords, bool next=false);
+ void setCurrentClose(Common::Point pos, const CloseData **closePtrList, bool useAbsoluteCoords, bool next=false);
/**
* Takes the currently selected item.
*/
- bool takeItem(Common::Point pos, CloseDataPtr *closePtrList);
+ bool takeItem(Common::Point pos);
/**
* Does the turn page wipe.
*/
void turnPage(bool fromLeft);
- bool processKey(IntuiMessage *curMsg, uint32 &msgClass, uint16 &qualifier, Common::Point &curPos, uint16 &curInv, bool &forceDraw, uint16 code);
+ bool processKey(IntuiMessage *curMsg, uint32 msgClass, uint16 &qualifier, Common::Point &curPos, uint16 &curInv, bool &forceDraw, uint16 code);
void processMainButton(uint16 &curInv, uint16 &lastInv, uint16 &oldDirection, bool &forceDraw, uint16 buttonId, uint16 &actionMode);
void processAltButton(uint16 &curInv, uint16 &lastInv, uint16 buttonId, uint16 &actionMode);
void performAction(uint16 actionMode, Common::Point curPos, uint16 &curInv);
diff --git a/engines/lab/map.cpp b/engines/lab/map.cpp
index 21a0830913..f7b2cfe9ea 100644
--- a/engines/lab/map.cpp
+++ b/engines/lab/map.cpp
@@ -83,16 +83,14 @@ void LabEngine::loadMapData() {
Common::File *mapFile = _resource->openDataFile("Lab:Maps", MKTAG('M', 'A', 'P', '0'));
updateMusicAndEvents();
- if (!_music->_loopSoundEffect)
- _music->stopSoundEffect();
_maxRooms = mapFile->readUint16LE();
_maps = new MapData[_maxRooms + 1]; // will be freed when the user exits the map
- for (int i = 1; i <= _maxRooms; i++) {
+ for (int i = 0; i <= _maxRooms; i++) {
_maps[i]._x = mapFile->readUint16LE();
_maps[i]._y = mapFile->readUint16LE();
_maps[i]._pageNumber = mapFile->readUint16LE();
- _maps[i]._specialID = mapFile->readUint16LE();
+ _maps[i]._specialID = (SpecialRoom) mapFile->readUint16LE();
_maps[i]._mapFlags = mapFile->readUint32LE();
}
@@ -135,18 +133,18 @@ Common::Rect LabEngine::roomCoords(uint16 curRoom) {
Image *curRoomImg = nullptr;
switch (_maps[curRoom]._specialID) {
- case NORMAL:
- case UPARROWROOM:
- case DOWNARROWROOM:
+ case kNormalRoom:
+ case kUpArrowRoom:
+ case kDownArrowRoom:
curRoomImg = _imgRoom;
break;
- case BRIDGEROOM:
+ case kBridgeRoom:
curRoomImg = _imgBridge;
break;
- case VCORRIDOR:
+ case kVerticalCorridor:
curRoomImg = _imgVRoom;
break;
- case HCORRIDOR:
+ case kHorizontalCorridor:
curRoomImg = _imgHRoom;
break;
default:
@@ -175,12 +173,12 @@ void LabEngine::drawRoomMap(uint16 curRoom, bool drawMarkFl) {
uint32 flags = _maps[curRoom]._mapFlags;
switch (_maps[curRoom]._specialID) {
- case NORMAL:
- case UPARROWROOM:
- case DOWNARROWROOM:
- if (_maps[curRoom]._specialID == NORMAL)
+ case kNormalRoom:
+ case kUpArrowRoom:
+ case kDownArrowRoom:
+ if (_maps[curRoom]._specialID == kNormalRoom)
_imgRoom->drawImage(x, y);
- else if (_maps[curRoom]._specialID == DOWNARROWROOM)
+ else if (_maps[curRoom]._specialID == kDownArrowRoom)
_imgDownArrowRoom->drawImage(x, y);
else
_imgUpArrowRoom->drawImage(x, y);
@@ -206,7 +204,7 @@ void LabEngine::drawRoomMap(uint16 curRoom, bool drawMarkFl) {
break;
- case BRIDGEROOM:
+ case kBridgeRoom:
_imgBridge->drawImage(x, y);
drawX = x + (_imgBridge->_width - _imgMapX[_direction]->_width) / 2;
@@ -214,7 +212,7 @@ void LabEngine::drawRoomMap(uint16 curRoom, bool drawMarkFl) {
break;
- case VCORRIDOR:
+ case kVerticalCorridor:
_imgVRoom->drawImage(x, y);
offset = (_imgVRoom->_width - _imgPath->_width) / 2;
@@ -252,7 +250,7 @@ void LabEngine::drawRoomMap(uint16 curRoom, bool drawMarkFl) {
break;
- case HCORRIDOR:
+ case kHorizontalCorridor:
_imgHRoom->drawImage(x, y);
offset = (_imgRoom->_width - _imgPath->_width) / 2;
@@ -339,10 +337,11 @@ void LabEngine::drawMap(uint16 curRoom, uint16 curMsg, uint16 floorNum, bool fad
for (int i = 1; i <= _maxRooms; i++) {
if ((_maps[i]._pageNumber == floorNum) && _roomsFound->in(i) && _maps[i]._x) {
drawRoomMap(i, (bool)(i == curRoom));
- updateMusicAndEvents();
}
}
+ updateMusicAndEvents();
+
// Makes sure the X is drawn in corridors
// NOTE: this here on purpose just in case there's some weird
// condition, like the surreal maze where there are no rooms
diff --git a/engines/lab/module.mk b/engines/lab/module.mk
index a619cba6ed..7bb86c8c1e 100644
--- a/engines/lab/module.mk
+++ b/engines/lab/module.mk
@@ -18,7 +18,7 @@ MODULE_OBJS := \
resource.o \
savegame.o \
special.o \
- tilepuzzle.o \
+ speciallocks.o \
utils.o
# This module can be built as a plugin
diff --git a/engines/lab/music.cpp b/engines/lab/music.cpp
index 95581aec5c..bdd9d8973f 100644
--- a/engines/lab/music.cpp
+++ b/engines/lab/music.cpp
@@ -56,21 +56,24 @@ Music::Music(LabEngine *vm) : _vm(vm) {
_leftInFile = 0;
_musicOn = false;
- _loopSoundEffect = false;
_queuingAudioStream = nullptr;
- _lastMusicRoom = 1;
- _doReset = true;
+ _curRoomMusic = 1;
+}
+
+byte Music::getSoundFlags() {
+ byte soundFlags = Audio::FLAG_LITTLE_ENDIAN;
+ if (_vm->getPlatform() == Common::kPlatformWindows)
+ soundFlags |= Audio::FLAG_16BITS;
+ else if (_vm->getPlatform() == Common::kPlatformDOS)
+ soundFlags |= Audio::FLAG_UNSIGNED;
+
+ return soundFlags;
}
void Music::updateMusic() {
if (!_musicOn || (getPlayingBufferCount() >= MAXBUFFERS))
return;
- // NOTE: We need to use malloc(), cause this will be freed with free()
- // by the music code
- byte *musicBuffer = (byte *)malloc(MUSICBUFSIZE);
- fillbuffer(musicBuffer);
-
// Queue a music block, and start the music, if needed
bool startMusicFlag = false;
@@ -79,13 +82,7 @@ void Music::updateMusic() {
startMusicFlag = true;
}
- byte soundFlags = Audio::FLAG_LITTLE_ENDIAN;
- if (_vm->getPlatform() == Common::kPlatformWindows)
- soundFlags |= Audio::FLAG_16BITS;
- else if (_vm->getPlatform() == Common::kPlatformDOS)
- soundFlags |= Audio::FLAG_UNSIGNED;
-
- _queuingAudioStream->queueBuffer(musicBuffer, MUSICBUFSIZE, DisposeAfterUse::YES, soundFlags);
+ _queuingAudioStream->queueBuffer(fillBuffer(), MUSICBUFSIZE, DisposeAfterUse::YES, getSoundFlags());
if (startMusicFlag)
_vm->_mixer->playStream(Audio::Mixer::kMusicSoundType, &_musicHandle, _queuingAudioStream);
@@ -95,26 +92,20 @@ uint16 Music::getPlayingBufferCount() {
return (_queuingAudioStream) ? _queuingAudioStream->numQueuedStreams() : 0;
}
-void Music::playSoundEffect(uint16 sampleSpeed, uint32 length, Common::File *dataFile) {
+void Music::playSoundEffect(uint16 sampleSpeed, uint32 length, bool loop, Common::File *dataFile) {
pauseBackMusic();
stopSoundEffect();
if (sampleSpeed < 4000)
sampleSpeed = 4000;
- byte soundFlags = Audio::FLAG_LITTLE_ENDIAN;
- if (_vm->getPlatform() == Common::kPlatformWindows)
- soundFlags |= Audio::FLAG_16BITS;
- else
- soundFlags |= Audio::FLAG_UNSIGNED;
-
// NOTE: We need to use malloc(), cause this will be freed with free()
// by the music code
byte *soundData = (byte *)malloc(length);
dataFile->read(soundData, length);
- Audio::SeekableAudioStream *audioStream = Audio::makeRawStream((const byte *)soundData, length, sampleSpeed, soundFlags);
- uint loops = (_loopSoundEffect) ? 0 : 1;
+ Audio::SeekableAudioStream *audioStream = Audio::makeRawStream(soundData, length, sampleSpeed, getSoundFlags());
+ uint loops = (loop) ? 0 : 1;
Audio::LoopingAudioStream *loopingAudioStream = new Audio::LoopingAudioStream(audioStream, loops);
_vm->_mixer->playStream(Audio::Mixer::kSFXSoundType, &_sfxHandle, loopingAudioStream);
}
@@ -128,18 +119,24 @@ bool Music::isSoundEffectActive() const {
return _vm->_mixer->isSoundHandleActive(_sfxHandle);
}
-void Music::fillbuffer(byte *musicBuffer) {
+byte *Music::fillBuffer() {
+ // NOTE: We need to use malloc(), cause this will be freed with free()
+ // by the music code
+ byte *musicBuffer = (byte *)malloc(MUSICBUFSIZE);
+
if (MUSICBUFSIZE < _leftInFile) {
_file->read(musicBuffer, MUSICBUFSIZE);
_leftInFile -= MUSICBUFSIZE;
} else {
_file->read(musicBuffer, _leftInFile);
- memset((char *)musicBuffer + _leftInFile, 0, MUSICBUFSIZE - _leftInFile);
+ memset(musicBuffer + _leftInFile, 0, MUSICBUFSIZE - _leftInFile);
_file->seek(0);
_leftInFile = _file->size();
}
+
+ return musicBuffer;
}
void Music::startMusic(bool restartFl) {
@@ -214,17 +211,15 @@ void Music::setMusic(bool on) {
}
void Music::checkRoomMusic() {
- if ((_lastMusicRoom == _vm->_roomNum) || !_musicOn)
+ if ((_curRoomMusic == _vm->_roomNum) || !_musicOn)
return;
if (_vm->_roomNum == CLOWNROOM)
changeMusic("Music:Laugh");
else if (_vm->_roomNum == DIMROOM)
changeMusic("Music:Rm81");
- else if (_doReset)
- resetMusic();
- _lastMusicRoom = _vm->_roomNum;
+ _curRoomMusic = _vm->_roomNum;
}
void Music::changeMusic(const Common::String filename) {
@@ -263,33 +258,27 @@ void Music::resetMusic() {
setMusic(false);
_vm->updateMusicAndEvents();
- if (!_oldMusicOn) {
- _tFile = 0;
- return;
- }
-
- _musicOn = _oldMusicOn;
- startMusic(false);
+ if (_oldMusicOn)
+ startMusic(false);
_tFile = 0;
}
-bool Music::readMusic(const Common::String filename, bool waitTillFinished) {
+bool Music::readMusic(const Common::String filename, bool loop, bool waitTillFinished) {
Common::File *file = _vm->_resource->openDataFile(filename, MKTAG('D', 'I', 'F', 'F'));
_vm->updateMusicAndEvents();
- if (!_loopSoundEffect)
- stopSoundEffect();
+ stopSoundEffect();
if (!file)
return false;
_vm->_anim->_doBlack = false;
- readSound(waitTillFinished, file);
+ readSound(waitTillFinished, loop, file);
return true;
}
-void Music::readSound(bool waitTillFinished, Common::File *file) {
+void Music::readSound(bool waitTillFinished, bool loop, Common::File *file) {
uint32 magicBytes = file->readUint32LE();
if (magicBytes != 1219009121) {
warning("readSound: Bad signature, skipping");
@@ -320,7 +309,7 @@ void Music::readSound(bool waitTillFinished, Common::File *file) {
uint16 sampleRate = file->readUint16LE();
file->skip(2);
- playSoundEffect(sampleRate, soundSize, file);
+ playSoundEffect(sampleRate, soundSize, loop, file);
} else if (soundTag == 65535) {
if (waitTillFinished) {
while (isSoundEffectActive()) {
diff --git a/engines/lab/music.h b/engines/lab/music.h
index 42fdf41d67..47c538ee25 100644
--- a/engines/lab/music.h
+++ b/engines/lab/music.h
@@ -52,12 +52,11 @@ private:
Common::File *_file;
Common::File *_tFile;
- bool _doReset;
bool _musicOn;
bool _musicPaused;
bool _oldMusicOn;
- uint16 _lastMusicRoom ;
+ uint16 _curRoomMusic ;
uint32 _tLeftInFile;
uint32 _leftInFile;
@@ -67,22 +66,21 @@ private:
Audio::QueuingAudioStream *_queuingAudioStream;
private:
- void fillbuffer(byte *musicBuffer);
+ byte *fillBuffer();
uint16 getPlayingBufferCount();
/**
* Pauses the background music.
*/
void pauseBackMusic();
- void readSound(bool waitTillFinished, Common::File *file);
+ void readSound(bool waitTillFinished, bool loop, Common::File *file);
/**
* Starts up the music initially.
*/
void startMusic(bool restartFl);
-public:
- bool _loopSoundEffect;
+ byte getSoundFlags();
public:
Music(LabEngine *vm);
@@ -107,12 +105,12 @@ public:
*/
bool initMusic(const Common::String filename);
bool isSoundEffectActive() const;
- void playSoundEffect(uint16 sampleSpeed, uint32 length, Common::File *dataFile);
+ void playSoundEffect(uint16 sampleSpeed, uint32 length, bool loop, Common::File *dataFile);
/**
* Reads in a music file. Ignores any graphics.
*/
- bool readMusic(const Common::String filename, bool waitTillFinished);
+ bool readMusic(const Common::String filename, bool loop, bool waitTillFinished);
/**
* Changes the background music to the original piece playing.
@@ -128,7 +126,6 @@ public:
* Turns the music on and off.
*/
void setMusic(bool on);
- void setMusicReset(bool reset) { _doReset = reset; }
void stopSoundEffect();
/**
diff --git a/engines/lab/processroom.cpp b/engines/lab/processroom.cpp
index c096c75e21..997eb75dce 100644
--- a/engines/lab/processroom.cpp
+++ b/engines/lab/processroom.cpp
@@ -56,9 +56,8 @@ ViewData *LabEngine::getViewData(uint16 roomNum, uint16 direction) {
if (_rooms[roomNum]._roomMsg.empty())
_resource->readViews(roomNum);
- Common::List<ViewData> &views = _rooms[roomNum]._view[direction];
-
- Common::List<ViewData>::iterator view;
+ ViewDataList &views = _rooms[roomNum]._view[direction];
+ ViewDataList::iterator view;
for (view = views.begin(); view != views.end(); ++view) {
if (checkConditions(view->_condition))
@@ -68,14 +67,15 @@ ViewData *LabEngine::getViewData(uint16 roomNum, uint16 direction) {
error("No view with matching condition found");
}
-CloseData *LabEngine::getObject(Common::Point pos, CloseDataPtr closePtr) {
- Common::List<CloseData> *list;
+const CloseData *LabEngine::getObject(Common::Point pos, const CloseData *closePtr) {
+ const CloseDataList *list;
if (!closePtr)
list = &(getViewData(_roomNum, _direction)->_closeUps);
else
list = &(closePtr->_subCloseUps);
- Common::List<CloseData>::iterator wrkClosePtr;
+ CloseDataList::const_iterator wrkClosePtr;
+
for (wrkClosePtr = list->begin(); wrkClosePtr != list->end(); ++wrkClosePtr) {
Common::Rect objRect;
objRect = _utils->rectScale(wrkClosePtr->_x1, wrkClosePtr->_y1, wrkClosePtr->_x2, wrkClosePtr->_y2);
@@ -86,8 +86,8 @@ CloseData *LabEngine::getObject(Common::Point pos, CloseDataPtr closePtr) {
return nullptr;
}
-CloseDataPtr LabEngine::findClosePtrMatch(CloseDataPtr closePtr, Common::List<CloseData> &list) {
- Common::List<CloseData>::iterator i;
+const CloseData *LabEngine::findClosePtrMatch(const CloseData *closePtr, const CloseDataList &list) {
+ CloseDataList::const_iterator i;
for (i = list.begin(); i != list.end(); ++i) {
if ((closePtr->_x1 == i->_x1) && (closePtr->_x2 == i->_x2) &&
@@ -95,8 +95,7 @@ CloseDataPtr LabEngine::findClosePtrMatch(CloseDataPtr closePtr, Common::List<Cl
(closePtr->_depth == i->_depth))
return &(*i);
- CloseDataPtr resClosePtr;
- resClosePtr = findClosePtrMatch(closePtr, i->_subCloseUps);
+ const CloseData *resClosePtr = findClosePtrMatch(closePtr, i->_subCloseUps);
if (resClosePtr)
return resClosePtr;
@@ -105,20 +104,20 @@ CloseDataPtr LabEngine::findClosePtrMatch(CloseDataPtr closePtr, Common::List<Cl
return nullptr;
}
-Common::String LabEngine::getPictName(CloseDataPtr *closePtrList) {
+Common::String LabEngine::getPictName(bool useClose) {
ViewData *viewPtr = getViewData(_roomNum, _direction);
- if (*closePtrList) {
- *closePtrList = findClosePtrMatch(*closePtrList, viewPtr->_closeUps);
+ if (useClose && _closeDataPtr) {
+ _closeDataPtr = findClosePtrMatch(_closeDataPtr, viewPtr->_closeUps);
- if (*closePtrList)
- return (*closePtrList)->_graphicName;
+ if (_closeDataPtr)
+ return _closeDataPtr->_graphicName;
}
return viewPtr->_graphicName;
}
-void LabEngine::drawDirection(CloseDataPtr closePtr) {
+void LabEngine::drawDirection(const CloseData *closePtr) {
if (closePtr && !closePtr->_message.empty()) {
_graphics->drawMessage(closePtr->_message, false);
return;
@@ -172,16 +171,15 @@ uint16 LabEngine::processArrow(uint16 curDirection, uint16 arrow) {
return curDirection;
}
-void LabEngine::setCurrentClose(Common::Point pos, CloseDataPtr *closePtrList, bool useAbsoluteCoords, bool next) {
-
- Common::List<CloseData> *list;
+void LabEngine::setCurrentClose(Common::Point pos, const CloseData **closePtrList, bool useAbsoluteCoords, bool next) {
+ const CloseDataList *list;
if (!*closePtrList)
list = &(getViewData(_roomNum, _direction)->_closeUps);
else
list = &((*closePtrList)->_subCloseUps);
- Common::List<CloseData>::iterator closePtr;
+ CloseDataList::const_iterator closePtr;
for (closePtr = list->begin(); closePtr != list->end(); ++closePtr) {
Common::Rect target;
if (!useAbsoluteCoords)
@@ -202,19 +200,26 @@ void LabEngine::setCurrentClose(Common::Point pos, CloseDataPtr *closePtrList, b
return;
}
}
+
+ // If we got here, no match was found. If we want the "next" close-up,
+ // return the first one in the list, if any.
+ if (next) {
+ if (!list->empty())
+ *closePtrList = &(*list->begin());
+ }
}
-bool LabEngine::takeItem(Common::Point pos, CloseDataPtr *closePtrList) {
- Common::List<CloseData> *list;
- if (!*closePtrList) {
+bool LabEngine::takeItem(Common::Point pos) {
+ const CloseDataList *list;
+ if (!_closeDataPtr) {
list = &(getViewData(_roomNum, _direction)->_closeUps);
- } else if ((*closePtrList)->_closeUpType < 0) {
- _conditions->inclElement(abs((*closePtrList)->_closeUpType));
+ } else if (_closeDataPtr->_closeUpType < 0) {
+ _conditions->inclElement(abs(_closeDataPtr->_closeUpType));
return true;
} else
- list = &((*closePtrList)->_subCloseUps);
+ list = &(_closeDataPtr->_subCloseUps);
- Common::List<CloseData>::iterator closePtr;
+ CloseDataList::const_iterator closePtr;
for (closePtr = list->begin(); closePtr != list->end(); ++closePtr) {
Common::Rect objRect;
objRect = _utils->rectScale(closePtr->_x1, closePtr->_y1, closePtr->_x2, closePtr->_y2);
@@ -227,25 +232,22 @@ bool LabEngine::takeItem(Common::Point pos, CloseDataPtr *closePtrList) {
return false;
}
-void LabEngine::doActions(const Common::List<Action> &actionList, CloseDataPtr *closePtrList) {
- Common::List<Action>::const_iterator action;
+void LabEngine::doActions(const ActionList &actionList) {
+ ActionList::const_iterator action;
for (action = actionList.begin(); action != actionList.end(); ++action) {
updateMusicAndEvents();
switch (action->_actionType) {
case kActionPlaySound:
- _music->_loopSoundEffect = false;
- _music->readMusic(action->_messages[0], true);
+ _music->readMusic(action->_messages[0], false, true);
break;
- case kActionPlaySoundNoWait:
- _music->_loopSoundEffect = false;
- _music->readMusic(action->_messages[0], false);
+ case kActionPlaySoundNoWait: // only used in scene 7 (street, when teleporting to the surreal maze)
+ _music->readMusic(action->_messages[0], false, false);
break;
case kActionPlaySoundLooping:
- _music->_loopSoundEffect = true;
- _music->readMusic(action->_messages[0], false);
+ _music->readMusic(action->_messages[0], true, false);
break;
case kActionShowDiff:
@@ -260,7 +262,6 @@ void LabEngine::doActions(const Common::List<Action> &actionList, CloseDataPtr *
if (!action->_messages[0].empty())
// Puts a file into memory
_graphics->loadPict(action->_messages[0]);
-
break;
case kActionLoadBitmap:
@@ -270,7 +271,7 @@ void LabEngine::doActions(const Common::List<Action> &actionList, CloseDataPtr *
error("Unused opcode kActionShowBitmap has been called");
case kActionTransition:
- _graphics->doTransition((TransitionType)action->_param1, closePtrList, action->_messages[0].c_str());
+ _graphics->doTransition((TransitionType)action->_param1, action->_messages[0].c_str());
break;
case kActionNoUpdate:
@@ -283,7 +284,7 @@ void LabEngine::doActions(const Common::List<Action> &actionList, CloseDataPtr *
break;
case kActionShowCurPict: {
- Common::String test = getPictName(closePtrList);
+ Common::String test = getPictName(true);
if (test != _curFileName) {
_curFileName = test;
@@ -308,7 +309,7 @@ void LabEngine::doActions(const Common::List<Action> &actionList, CloseDataPtr *
break;
case kActionCShowMessage:
- if (!*closePtrList)
+ if (!_closeDataPtr)
_graphics->drawMessage(action->_messages[0], true);
break;
@@ -320,7 +321,7 @@ void LabEngine::doActions(const Common::List<Action> &actionList, CloseDataPtr *
if (action->_param1 & 0x8000) {
// This is a Wyrmkeep Windows trial version, thus stop at this
// point, since we can't check for game payment status
- _graphics->readPict(getPictName(closePtrList));
+ _graphics->readPict(getPictName(true));
GUI::MessageDialog trialMessage("This is the end of the trial version. You can play the full game using the original interpreter from Wyrmkeep");
trialMessage.runModal();
break;
@@ -328,21 +329,21 @@ void LabEngine::doActions(const Common::List<Action> &actionList, CloseDataPtr *
_roomNum = action->_param1;
_direction = action->_param2 - 1;
- *closePtrList = nullptr;
+ _closeDataPtr = nullptr;
_anim->_doBlack = true;
break;
case kActionSetCloseup: {
Common::Point curPos = Common::Point(_utils->scaleX(action->_param1), _utils->scaleY(action->_param2));
- CloseDataPtr tmpClosePtr = getObject(curPos, *closePtrList);
+ const CloseData *tmpClosePtr = getObject(curPos, _closeDataPtr);
if (tmpClosePtr)
- *closePtrList = tmpClosePtr;
+ _closeDataPtr = tmpClosePtr;
}
break;
case kActionMainView:
- *closePtrList = nullptr;
+ _closeDataPtr = nullptr;
break;
case kActionSubInv:
@@ -385,12 +386,10 @@ void LabEngine::doActions(const Common::List<Action> &actionList, CloseDataPtr *
case kActionChangeMusic:
_music->changeMusic(action->_messages[0]);
- _music->setMusicReset(false);
break;
case kActionResetMusic:
_music->resetMusic();
- _music->setMusicReset(true);
break;
case kActionFillMusic:
@@ -407,12 +406,7 @@ void LabEngine::doActions(const Common::List<Action> &actionList, CloseDataPtr *
break;
case kActionClearSound:
- if (_music->_loopSoundEffect) {
- _music->_loopSoundEffect = false;
- _music->stopSoundEffect();
- } else if (_music->isSoundEffectActive())
- _music->stopSoundEffect();
-
+ _music->stopSoundEffect();
break;
case kActionWinMusic:
@@ -470,19 +464,10 @@ void LabEngine::doActions(const Common::List<Action> &actionList, CloseDataPtr *
}
}
- if (_music->_loopSoundEffect) {
- _music->_loopSoundEffect = false;
- _music->stopSoundEffect();
- } else {
- while (_music->isSoundEffectActive()) {
- updateMusicAndEvents();
- _anim->diffNextFrame();
- waitTOF();
- }
- }
+ _music->stopSoundEffect();
}
-bool LabEngine::doActionRuleSub(int16 action, int16 roomNum, CloseDataPtr closePtr, CloseDataPtr *setCloseList, bool allowDefaults) {
+bool LabEngine::doActionRuleSub(int16 action, int16 roomNum, const CloseData *closePtr, bool allowDefaults) {
action++;
if (closePtr) {
@@ -500,7 +485,7 @@ bool LabEngine::doActionRuleSub(int16 action, int16 roomNum, CloseDataPtr closeP
((rule->_param2 == 0) && allowDefaults)) ||
((action == 1) && (rule->_param2 == -closePtr->_closeUpType))) {
if (checkConditions(rule->_condition)) {
- doActions(rule->_actionList, setCloseList);
+ doActions(rule->_actionList);
return true;
}
}
@@ -511,27 +496,27 @@ bool LabEngine::doActionRuleSub(int16 action, int16 roomNum, CloseDataPtr closeP
return false;
}
-bool LabEngine::doActionRule(Common::Point pos, int16 action, int16 roomNum, CloseDataPtr *closePtrList) {
+bool LabEngine::doActionRule(Common::Point pos, int16 action, int16 roomNum) {
if (roomNum)
_newFileName = NOFILE;
else
_newFileName = _curFileName;
- CloseDataPtr curClosePtr = getObject(pos, *closePtrList);
+ const CloseData *curClosePtr = getObject(pos, _closeDataPtr);
- if (doActionRuleSub(action, roomNum, curClosePtr, closePtrList, false))
+ if (doActionRuleSub(action, roomNum, curClosePtr, false))
return true;
- else if (doActionRuleSub(action, roomNum, *closePtrList, closePtrList, false))
+ else if (doActionRuleSub(action, roomNum, _closeDataPtr, false))
return true;
- else if (doActionRuleSub(action, roomNum, curClosePtr, closePtrList, true))
+ else if (doActionRuleSub(action, roomNum, curClosePtr, true))
return true;
- else if (doActionRuleSub(action, roomNum, *closePtrList, closePtrList, true))
+ else if (doActionRuleSub(action, roomNum, _closeDataPtr, true))
return true;
return false;
}
-bool LabEngine::doOperateRuleSub(int16 itemNum, int16 roomNum, CloseDataPtr closePtr, CloseDataPtr *setCloseList, bool allowDefaults) {
+bool LabEngine::doOperateRuleSub(int16 itemNum, int16 roomNum, const CloseData *closePtr, bool allowDefaults) {
if (closePtr)
if (closePtr->_closeUpType > 0) {
RuleList *rules = &(_rooms[roomNum]._rules);
@@ -546,7 +531,7 @@ bool LabEngine::doOperateRuleSub(int16 itemNum, int16 roomNum, CloseDataPtr clos
((rule->_param1 == itemNum) || ((rule->_param1 == 0) && allowDefaults)) &&
((rule->_param2 == closePtr->_closeUpType) || ((rule->_param2 == 0) && allowDefaults))) {
if (checkConditions(rule->_condition)) {
- doActions(rule->_actionList, setCloseList);
+ doActions(rule->_actionList);
return true;
}
}
@@ -556,41 +541,41 @@ bool LabEngine::doOperateRuleSub(int16 itemNum, int16 roomNum, CloseDataPtr clos
return false;
}
-bool LabEngine::doOperateRule(Common::Point pos, int16 ItemNum, CloseDataPtr *closePtrList) {
+bool LabEngine::doOperateRule(Common::Point pos, int16 ItemNum) {
_newFileName = NOFILE;
- CloseDataPtr closePtr = getObject(pos, *closePtrList);
+ const CloseData *closePtr = getObject(pos, _closeDataPtr);
- if (doOperateRuleSub(ItemNum, _roomNum, closePtr, closePtrList, false))
+ if (doOperateRuleSub(ItemNum, _roomNum, closePtr, false))
return true;
- else if (doOperateRuleSub(ItemNum, _roomNum, *closePtrList, closePtrList, false))
+ else if (doOperateRuleSub(ItemNum, _roomNum, _closeDataPtr, false))
return true;
- else if (doOperateRuleSub(ItemNum, _roomNum, closePtr, closePtrList, true))
+ else if (doOperateRuleSub(ItemNum, _roomNum, closePtr, true))
return true;
- else if (doOperateRuleSub(ItemNum, _roomNum, *closePtrList, closePtrList, true))
+ else if (doOperateRuleSub(ItemNum, _roomNum, _closeDataPtr, true))
return true;
else {
_newFileName = _curFileName;
- if (doOperateRuleSub(ItemNum, 0, closePtr, closePtrList, false))
+ if (doOperateRuleSub(ItemNum, 0, closePtr, false))
return true;
- else if (doOperateRuleSub(ItemNum, 0, *closePtrList, closePtrList, false))
+ else if (doOperateRuleSub(ItemNum, 0, _closeDataPtr, false))
return true;
- else if (doOperateRuleSub(ItemNum, 0, closePtr, closePtrList, true))
+ else if (doOperateRuleSub(ItemNum, 0, closePtr, true))
return true;
- else if (doOperateRuleSub(ItemNum, 0, *closePtrList, closePtrList, true))
+ else if (doOperateRuleSub(ItemNum, 0, _closeDataPtr, true))
return true;
}
return false;
}
-bool LabEngine::doGoForward(CloseDataPtr *closePtrList) {
+bool LabEngine::doGoForward() {
RuleList &rules = _rooms[_roomNum]._rules;
for (RuleList::iterator rule = rules.begin(); rule != rules.end(); ++rule) {
if ((rule->_ruleType == kRuleTypeGoForward) && (rule->_param1 == (_direction + 1))) {
if (checkConditions(rule->_condition)) {
- doActions(rule->_actionList, closePtrList);
+ doActions(rule->_actionList);
return true;
}
}
@@ -599,7 +584,7 @@ bool LabEngine::doGoForward(CloseDataPtr *closePtrList) {
return false;
}
-bool LabEngine::doTurn(uint16 from, uint16 to, CloseDataPtr *closePtrList) {
+bool LabEngine::doTurn(uint16 from, uint16 to) {
from++;
to++;
@@ -610,7 +595,7 @@ bool LabEngine::doTurn(uint16 from, uint16 to, CloseDataPtr *closePtrList) {
((rule->_ruleType == kRuleTypeTurnFromTo) &&
(rule->_param1 == from) && (rule->_param2 == to))) {
if (checkConditions(rule->_condition)) {
- doActions(rule->_actionList, closePtrList);
+ doActions(rule->_actionList);
return true;
}
}
@@ -619,12 +604,12 @@ bool LabEngine::doTurn(uint16 from, uint16 to, CloseDataPtr *closePtrList) {
return false;
}
-bool LabEngine::doMainView(CloseDataPtr *closePtrList) {
+bool LabEngine::doMainView() {
RuleList &rules = _rooms[_roomNum]._rules;
for (RuleList::iterator rule = rules.begin(); rule != rules.end(); ++rule) {
if (rule->_ruleType == kRuleTypeGoMainView) {
if (checkConditions(rule->_condition)) {
- doActions(rule->_actionList, closePtrList);
+ doActions(rule->_actionList);
return true;
}
}
diff --git a/engines/lab/processroom.h b/engines/lab/processroom.h
index 5051588ab1..1d53ce01af 100644
--- a/engines/lab/processroom.h
+++ b/engines/lab/processroom.h
@@ -119,23 +119,20 @@ enum MapDoors {
kDoorBottomWest = 128
};
-// Special Map ID's
-#define NORMAL 0
-#define UPARROWROOM 1
-#define DOWNARROWROOM 2
-#define BRIDGEROOM 3
-#define VCORRIDOR 4
-#define HCORRIDOR 5
-#define MEDMAZE 6
-#define HEDGEMAZE 7
-#define SURMAZE 8
-#define MULTIMAZEF1 9
-#define MULTIMAZEF2 10
-#define MULTIMAZEF3 11
-
-#if defined(WIN32)
-#pragma pack(push, 1)
-#endif
+enum SpecialRoom {
+ kNormalRoom = 0,
+ kUpArrowRoom,
+ kDownArrowRoom,
+ kBridgeRoom,
+ kVerticalCorridor,
+ kHorizontalCorridor,
+ kMedMaze,
+ kHedgeMaze,
+ kSurMaze,
+ kMultiMazeF1,
+ kMultiMazeF2,
+ kMultiMazeF3
+};
struct CloseData {
uint16 _x1, _y1, _x2, _y2;
@@ -143,13 +140,13 @@ struct CloseData {
uint16 _depth; // Level of the closeup.
Common::String _graphicName;
Common::String _message;
- Common::List<CloseData> _subCloseUps;
+ CloseDataList _subCloseUps;
};
struct ViewData {
Common::Array<int16> _condition;
Common::String _graphicName;
- Common::List<CloseData> _closeUps;
+ CloseDataList _closeUps;
};
struct Action {
@@ -165,13 +162,13 @@ struct Rule {
int16 _param1;
int16 _param2;
Common::Array<int16> _condition;
- Common::List<Action> _actionList;
+ ActionList _actionList;
};
struct RoomData {
uint16 _doors[4];
byte _transitionType;
- Common::List<ViewData> _view[4];
+ ViewDataList _view[4];
RuleList _rules;
Common::String _roomMsg;
};
@@ -183,14 +180,11 @@ struct InventoryData {
};
struct MapData {
- uint16 _x, _y, _pageNumber, _specialID;
+ uint16 _x, _y, _pageNumber;
+ SpecialRoom _specialID;
uint32 _mapFlags;
};
-#if defined(WIN32)
-#pragma pack(pop)
-#endif
-
} // End of namespace Lab
#endif // LAB_PROCESSROOM_H
diff --git a/engines/lab/resource.cpp b/engines/lab/resource.cpp
index 985a71b490..17535a7659 100644
--- a/engines/lab/resource.cpp
+++ b/engines/lab/resource.cpp
@@ -253,7 +253,7 @@ void Resource::readRule(Common::File *file, RuleList &rules) {
}
}
-void Resource::readAction(Common::File *file, Common::List<Action>& list) {
+void Resource::readAction(Common::File *file, ActionList &list) {
list.clear();
while (file->readByte() == 1) {
@@ -275,7 +275,7 @@ void Resource::readAction(Common::File *file, Common::List<Action>& list) {
}
}
-void Resource::readCloseUps(uint16 depth, Common::File *file, Common::List<CloseData> &list) {
+void Resource::readCloseUps(uint16 depth, Common::File *file, CloseDataList &list) {
list.clear();
while (file->readByte() != '\0') {
list.push_back(CloseData());
@@ -293,7 +293,7 @@ void Resource::readCloseUps(uint16 depth, Common::File *file, Common::List<Close
}
}
-void Resource::readView(Common::File *file, Common::List<ViewData> &list) {
+void Resource::readView(Common::File *file, ViewDataList &list) {
list.clear();
while (file->readByte() == 1) {
list.push_back(ViewData());
diff --git a/engines/lab/resource.h b/engines/lab/resource.h
index 7a7cfb4b95..307eac3068 100644
--- a/engines/lab/resource.h
+++ b/engines/lab/resource.h
@@ -110,9 +110,9 @@ private:
Common::String readString(Common::File *file);
Common::Array<int16> readConditions(Common::File *file);
void readRule(Common::File *file, RuleList &rules);
- void readAction(Common::File *file, Common::List<Action> &action);
- void readCloseUps(uint16 depth, Common::File *file, Common::List<CloseData> &close);
- void readView(Common::File *file, Common::List<ViewData> &view);
+ void readAction(Common::File *file, ActionList &action);
+ void readCloseUps(uint16 depth, Common::File *file, CloseDataList &close);
+ void readView(Common::File *file, ViewDataList &view);
void readStaticText();
Common::String translateFileName(const Common::String filename);
diff --git a/engines/lab/savegame.cpp b/engines/lab/savegame.cpp
index 0bdaf74865..1564babfc8 100644
--- a/engines/lab/savegame.cpp
+++ b/engines/lab/savegame.cpp
@@ -43,7 +43,7 @@
#include "lab/labsets.h"
#include "lab/music.h"
#include "lab/processroom.h"
-#include "lab/tilepuzzle.h"
+#include "lab/speciallocks.h"
namespace Lab {
@@ -128,8 +128,8 @@ bool LabEngine::saveGame(int slot, const Common::String desc) {
return false;
// Load scene pic
- CloseDataPtr closePtr = nullptr;
- _graphics->readPict(getPictName(&closePtr));
+ _graphics->readPict(getPictName(false));
+
writeSaveGameHeader(file, desc);
file->writeUint16LE(_roomNum);
@@ -144,7 +144,7 @@ bool LabEngine::saveGame(int slot, const Common::String desc) {
for (int i = 0; i < _roomsFound->_lastElement / (8 * 2); i++)
file->writeUint16LE(_roomsFound->_array[i]);
- _tilePuzzle->save(file);
+ _specialLocks->save(file);
// Breadcrumbs
for (uint i = 0; i < MAX_CRUMBS; i++) {
@@ -181,7 +181,7 @@ bool LabEngine::loadGame(int slot) {
for (int i = 0; i < _roomsFound->_lastElement / (8 * 2); i++)
_roomsFound->_array[i] = file->readUint16LE();
- _tilePuzzle->load(file);
+ _specialLocks->load(file);
// Breadcrumbs
for (int i = 0; i < MAX_CRUMBS; i++) {
diff --git a/engines/lab/special.cpp b/engines/lab/special.cpp
index e15561d9fb..8e503665c7 100644
--- a/engines/lab/special.cpp
+++ b/engines/lab/special.cpp
@@ -134,7 +134,7 @@ void LabEngine::loadJournalData() {
delete journalFile;
_anim->_noPalChange = true;
- _journalBackImage->_imageData = new byte[_graphics->_screenBytesPerPage];
+ _journalBackImage->setData(new byte[_graphics->_screenBytesPerPage]);
_graphics->readPict("P:Journal.pic", true, false, _journalBackImage->_imageData);
_anim->_noPalChange = false;
@@ -232,13 +232,13 @@ void LabEngine::processJournal() {
if (!msg)
updateMusicAndEvents();
else {
- uint32 msgClass = msg->_msgClass;
- uint16 buttonId = msg->_code;
+ MessageClass msgClass = msg->_msgClass;
if ((msgClass == kMessageRightClick) ||
- ((msgClass == kMessageRawKey) && (buttonId == Common::KEYCODE_ESCAPE)))
+ ((msgClass == kMessageRawKey) && (msg->_code == Common::KEYCODE_ESCAPE)))
return;
else if (msgClass == kMessageButtonUp) {
+ uint16 buttonId = msg->_code;
if (buttonId == 0) {
if (_journalPage >= 2) {
_journalPage -= 2;
@@ -263,7 +263,7 @@ void LabEngine::doJournal() {
_journalBackImage->_width = _graphics->_screenWidth;
_journalBackImage->_height = _graphics->_screenHeight;
- _journalBackImage->_imageData = nullptr;
+ _journalBackImage->setData(nullptr, true);
updateMusicAndEvents();
loadJournalData();
@@ -276,8 +276,8 @@ void LabEngine::doJournal() {
_event->mouseHide();
delete[] _blankJournal;
- delete[] _journalBackImage->_imageData;
- _blankJournal = _journalBackImage->_imageData = nullptr;
+ _blankJournal = nullptr;
+ _journalBackImage->setData(nullptr, true);
_event->freeButtonList(&_journalButtonList);
_graphics->freeFont(&_journalFont);
@@ -333,13 +333,13 @@ void LabEngine::drawMonText(const char *text, TextFont *monitorFont, Common::Rec
curText = text + charsDrawn;
_lastPage = (*curText == 0);
- charsDrawn = _graphics->flowText(monitorFont, yspacing, 2, 0, false, false, false, true, textRect, curText);
+ _graphics->flowText(monitorFont, yspacing, 2, 0, false, false, false, true, textRect, curText);
_event->mouseShow();
}
void LabEngine::processMonitor(const char *ntext, TextFont *monitorFont, bool isInteractive, Common::Rect textRect) {
Common::String startFileName = _monitorTextFilename;
- CloseDataPtr startClosePtr = _closeDataPtr, lastClosePtr[10];
+ const CloseData *startClosePtr = _closeDataPtr, *lastClosePtr[10];
uint16 depth = 0;
lastClosePtr[0] = _closeDataPtr;
@@ -349,15 +349,15 @@ void LabEngine::processMonitor(const char *ntext, TextFont *monitorFont, bool is
if (!_closeDataPtr)
_closeDataPtr = startClosePtr;
- Common::String test;
+ Common::String filename;
if (_closeDataPtr == startClosePtr)
- test = startFileName;
+ filename = startFileName;
else
- test = _closeDataPtr->_graphicName;
+ filename = _closeDataPtr->_graphicName;
- if (test != _monitorTextFilename) {
+ if (filename != _monitorTextFilename) {
_monitorPage = 0;
- _monitorTextFilename = test;
+ _monitorTextFilename = filename;
Common::String text = _resource->getText(_monitorTextFilename);
_graphics->fade(false);
@@ -374,22 +374,24 @@ void LabEngine::processMonitor(const char *ntext, TextFont *monitorFont, bool is
return;
}
- if (!msg) {
+ if (!msg)
updateMusicAndEvents();
- } else {
- uint32 msgClass = msg->_msgClass;
- uint16 mouseX = msg->_mouse.x;
- uint16 mouseY = msg->_mouse.y;
- uint16 code = msg->_code;
+ else {
+ MessageClass msgClass = msg->_msgClass;
if ((msgClass == kMessageRightClick) ||
- ((msgClass == kMessageRawKey) && (code == Common::KEYCODE_ESCAPE)))
+ ((msgClass == kMessageRawKey) && (msg->_code == Common::KEYCODE_ESCAPE)))
return;
- else if (msgClass == kMessageLeftClick) {
+
+ if (msgClass == kMessageLeftClick) {
+ int16 mouseX = msg->_mouse.x;
+ int16 mouseY = msg->_mouse.y;
+
if ((mouseY >= _utils->vgaScaleY(171)) && (mouseY <= _utils->vgaScaleY(200))) {
- if (mouseX <= _utils->vgaScaleX(31)) {
+ if (mouseX <= _utils->vgaScaleX(31))
return;
- } else if (mouseX <= _utils->vgaScaleX(59)) {
+
+ if (mouseX <= _utils->vgaScaleX(59)) {
if (isInteractive) {
_monitorPage = 0;
@@ -409,12 +411,12 @@ void LabEngine::processMonitor(const char *ntext, TextFont *monitorFont, bool is
drawMonText(ntext, monitorFont, textRect, isInteractive);
}
} else if (_monitorPage >= 1) {
- // mouseX between 290 and 320 (scaled)
+ // mouseX is greater than 290 (scaled)
_monitorPage -= 1;
drawMonText(ntext, monitorFont, textRect, isInteractive);
}
} else if (isInteractive) {
- CloseDataPtr tmpClosePtr = _closeDataPtr;
+ const CloseData *tmpClosePtr = _closeDataPtr;
mouseY = 64 + (mouseY / _monitorButtonHeight) * 42;
mouseX = 101;
setCurrentClose(Common::Point(mouseX, mouseY), &_closeDataPtr, false);
diff --git a/engines/lab/tilepuzzle.cpp b/engines/lab/speciallocks.cpp
index 8f21cee4b4..fe70b0f111 100644
--- a/engines/lab/tilepuzzle.cpp
+++ b/engines/lab/speciallocks.cpp
@@ -38,7 +38,7 @@
#include "lab/image.h"
#include "lab/labsets.h"
#include "lab/resource.h"
-#include "lab/tilepuzzle.h"
+#include "lab/speciallocks.h"
#include "lab/utils.h"
namespace Lab {
@@ -69,7 +69,7 @@ const uint16 SOLUTION[4][4] = {
const int COMBINATION_X[6] = { 45, 83, 129, 166, 211, 248 };
-TilePuzzle::TilePuzzle(LabEngine *vm) : _vm(vm) {
+SpecialLocks::SpecialLocks(LabEngine *vm) : _vm(vm) {
for (int i = 0; i < 16; i++)
_tiles[i] = nullptr;
@@ -85,7 +85,7 @@ TilePuzzle::TilePuzzle(LabEngine *vm) : _vm(vm) {
_numberImages[i] = nullptr;
}
-TilePuzzle::~TilePuzzle() {
+SpecialLocks::~SpecialLocks() {
for (int i = 0; i < 16; i++)
delete _tiles[i];
@@ -95,7 +95,7 @@ TilePuzzle::~TilePuzzle() {
}
}
-void TilePuzzle::mouseTile(Common::Point pos) {
+void SpecialLocks::tileClick(Common::Point pos) {
Common::Point realPos = _vm->_utils->vgaUnscale(pos);
if ((realPos.x < 101) || (realPos.y < 26))
@@ -108,7 +108,7 @@ void TilePuzzle::mouseTile(Common::Point pos) {
changeTile(tileX, tileY);
}
-void TilePuzzle::changeTile(uint16 col, uint16 row) {
+void SpecialLocks::changeTile(uint16 col, uint16 row) {
int16 scrolltype = -1;
if (row > 0) {
@@ -174,7 +174,7 @@ void TilePuzzle::changeTile(uint16 col, uint16 row) {
}
}
-void TilePuzzle::mouseCombination(Common::Point pos) {
+void SpecialLocks::combinationClick(Common::Point pos) {
Common::Point realPos = _vm->_utils->vgaUnscale(pos);
if (!Common::Rect(44, 63, 285, 99).contains(realPos))
@@ -197,7 +197,7 @@ void TilePuzzle::mouseCombination(Common::Point pos) {
changeCombination(number);
}
-void TilePuzzle::doTile(bool showsolution) {
+void SpecialLocks::doTile(bool showsolution) {
uint16 row = 0, col = 0, rowm, colm, num;
int16 rows, cols;
@@ -235,7 +235,7 @@ void TilePuzzle::doTile(bool showsolution) {
}
}
-void TilePuzzle::showTile(const Common::String filename, bool showSolution) {
+void SpecialLocks::showTileLock(const Common::String filename, bool showSolution) {
_vm->_anim->_doBlack = true;
_vm->_anim->_noPalChange = true;
_vm->_graphics->readPict(filename);
@@ -255,7 +255,7 @@ void TilePuzzle::showTile(const Common::String filename, bool showSolution) {
_vm->_graphics->setPalette(_vm->_anim->_diffPalette, 256);
}
-void TilePuzzle::doTileScroll(uint16 col, uint16 row, uint16 scrolltype) {
+void SpecialLocks::doTileScroll(uint16 col, uint16 row, uint16 scrolltype) {
int16 dX = 0, dY = 0, dx = 0, dy = 0, sx = 0, sy = 0;
int last = 0;
@@ -296,7 +296,15 @@ void TilePuzzle::doTileScroll(uint16 col, uint16 row, uint16 scrolltype) {
delete[] buffer;
}
-void TilePuzzle::changeCombination(uint16 number) {
+void SpecialLocks::scrollRaster(int16 dx, int16 dy, uint16 x1, uint16 y1, uint16 x2, uint16 y2, byte *buffer) {
+ if (dx)
+ _vm->_graphics->scrollDisplayX(dx, x1, y1, x2, y2, buffer);
+
+ if (dy)
+ _vm->_graphics->scrollDisplayY(dy, x1, y1, x2, y2, buffer);
+}
+
+void SpecialLocks::changeCombination(uint16 number) {
const int solution[6] = { 0, 4, 0, 8, 7, 2 };
Image display(_vm);
@@ -308,27 +316,25 @@ void TilePuzzle::changeCombination(uint16 number) {
uint16 combnum = _combination[number];
- display._imageData = _vm->_graphics->getCurrentDrawingBuffer();
- display._width = _vm->_graphics->_screenWidth;
- display._height = _vm->_graphics->_screenHeight;
+ display.setData(_vm->_graphics->getCurrentDrawingBuffer(), false);
+ display._width = _vm->_graphics->_screenWidth;
+ display._height = _vm->_graphics->_screenHeight;
- byte *buffer = new byte[_tiles[1]->_width * _tiles[1]->_height * 2];
+ byte *buffer = new byte[_numberImages[1]->_width * _numberImages[1]->_height * 2];
for (int i = 1; i <= (_numberImages[combnum]->_height / 2); i++) {
if (_vm->_isHiRes) {
if (i & 1)
_vm->waitTOF();
- } else
+ }
+ else
_vm->waitTOF();
- display._imageData = _vm->_graphics->getCurrentDrawingBuffer();
+ display.setData(_vm->_graphics->getCurrentDrawingBuffer(), false);
_vm->_graphics->scrollDisplayY(2, _vm->_utils->vgaScaleX(COMBINATION_X[number]), _vm->_utils->vgaScaleY(65), _vm->_utils->vgaScaleX(COMBINATION_X[number]) + (_numberImages[combnum])->_width - 1, _vm->_utils->vgaScaleY(65) + (_numberImages[combnum])->_height, buffer);
_numberImages[combnum]->blitBitmap(0, (_numberImages[combnum])->_height - (2 * i), &(display), _vm->_utils->vgaScaleX(COMBINATION_X[number]), _vm->_utils->vgaScaleY(65), (_numberImages[combnum])->_width, 2, false);
}
- // Prevent the Image destructor from deleting the display buffer
- display._imageData = nullptr;
-
delete[] buffer;
bool unlocked = true;
@@ -341,20 +347,7 @@ void TilePuzzle::changeCombination(uint16 number) {
_vm->_conditions->exclElement(COMBINATIONUNLOCKED);
}
-void TilePuzzle::scrollRaster(int16 dx, int16 dy, uint16 x1, uint16 y1, uint16 x2, uint16 y2, byte *buffer) {
- if (dx)
- _vm->_graphics->scrollDisplayX(dx, x1, y1, x2, y2, buffer);
-
- if (dy)
- _vm->_graphics->scrollDisplayY(dy, x1, y1, x2, y2, buffer);
-}
-
-void TilePuzzle::doCombination() {
- for (int i = 0; i <= 5; i++)
- _numberImages[_combination[i]]->drawImage(_vm->_utils->vgaScaleX(COMBINATION_X[i]), _vm->_utils->vgaScaleY(65));
-}
-
-void TilePuzzle::showCombination(const Common::String filename) {
+void SpecialLocks::showCombinationLock(const Common::String filename) {
_vm->_anim->_doBlack = true;
_vm->_anim->_noPalChange = true;
_vm->_graphics->readPict(filename);
@@ -364,18 +357,20 @@ void TilePuzzle::showCombination(const Common::String filename) {
Common::File *numFile = _vm->_resource->openDataFile("P:Numbers");
- for (int CurBit = 0; CurBit < 10; CurBit++)
- _numberImages[CurBit] = new Image(numFile, _vm);
+ for (int i = 0; i < 10; i++) {
+ _numberImages[i] = new Image(numFile, _vm);
+ }
delete numFile;
- doCombination();
+ for (int i = 0; i <= 5; i++)
+ _numberImages[_combination[i]]->drawImage(_vm->_utils->vgaScaleX(COMBINATION_X[i]), _vm->_utils->vgaScaleY(65));
_vm->_graphics->setPalette(_vm->_anim->_diffPalette, 256);
}
-void TilePuzzle::save(Common::OutSaveFile *file) {
- // Combination lock and tile stuff
+void SpecialLocks::save(Common::OutSaveFile *file) {
+ // Combination lock
for (int i = 0; i < 6; i++)
file->writeByte(_combination[i]);
@@ -385,8 +380,8 @@ void TilePuzzle::save(Common::OutSaveFile *file) {
file->writeUint16LE(_curTile[i][j]);
}
-void TilePuzzle::load(Common::InSaveFile *file) {
- // Combination lock and tile stuff
+void SpecialLocks::load(Common::InSaveFile *file) {
+ // Combination lock
for (int i = 0; i < 6; i++)
_combination[i] = file->readByte();
diff --git a/engines/lab/tilepuzzle.h b/engines/lab/speciallocks.h
index dd4abba8ec..424eba242a 100644
--- a/engines/lab/tilepuzzle.h
+++ b/engines/lab/speciallocks.h
@@ -37,7 +37,7 @@ namespace Lab {
class LabEngine;
-class TilePuzzle {
+class SpecialLocks {
private:
LabEngine *_vm;
Image *_tiles[16];
@@ -46,28 +46,23 @@ private:
byte _combination[6];
public:
- TilePuzzle(LabEngine *vm);
- virtual ~TilePuzzle();
+ SpecialLocks(LabEngine *vm);
+ ~SpecialLocks();
- /**
- * Processes mouse clicks and changes the combination.
- */
- void mouseTile(Common::Point pos);
+ void showTileLock(const Common::String filename, bool showSolution);
/**
- * Processes mouse clicks and changes the combination.
+ * Processes mouse clicks and changes tile positions.
*/
- void mouseCombination(Common::Point pos);
+ void tileClick(Common::Point pos);
- /**
- * Reads in a backdrop picture.
- */
- void showCombination(const Common::String filename);
+ void showCombinationLock(const Common::String filename);
/**
- * Reads in a backdrop picture.
+ * Processes mouse clicks and changes the door combination.
*/
- void showTile(const Common::String filename, bool showSolution);
+ void combinationClick(Common::Point pos);
+
void save(Common::OutSaveFile *file);
void load(Common::InSaveFile *file);
@@ -78,18 +73,13 @@ private:
void changeCombination(uint16 number);
/**
- * Changes the combination number of one of the slots
+ * Changes the tile positions in the tile puzzle
*/
void changeTile(uint16 col, uint16 row);
/**
* Draws the images of the combination lock to the display bitmap.
*/
- void doCombination();
-
- /**
- * Draws the images of the combination lock to the display bitmap.
- */
void doTile(bool showsolution);
/**
diff --git a/engines/logo_data.h b/engines/logo_data.h
new file mode 100644
index 0000000000..2eaff6930f
--- /dev/null
+++ b/engines/logo_data.h
@@ -0,0 +1,1099 @@
+/* ScummVM - Graphic Adventure Engine
+ *
+ * ScummVM is the legal property of its developers, whose names
+ * are too numerous to list here. Please refer to the COPYRIGHT
+ * file distributed with this source distribution.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ */
+
+// This is a BMP file dumped into array.
+// recode ../d1 <dists/scummvm_logo.bmp >logo_data.h
+// The tool is from https://github.com/pinard/Recode
+
+byte logo_data[] = {
+ 66, 77, 180, 62, 0, 0, 0, 0, 0, 0, 54, 4, 0, 0, 40,
+ 0, 0, 0, 44, 1, 0, 0, 83, 0, 0, 0, 1, 0, 8, 0,
+ 1, 0, 0, 0, 126, 58, 0, 0, 19, 11, 0, 0, 19, 11, 0,
+ 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 2,
+ 0, 0, 0, 1, 9, 0, 0, 4, 1, 0, 1, 5, 3, 0, 2,
+ 4, 11, 0, 5, 7, 14, 0, 6, 10, 7, 0, 0, 10, 11, 0,
+ 0, 8, 18, 0, 3, 15, 14, 0, 5, 14, 21, 0, 13, 16, 14,
+ 0, 1, 16, 28, 0, 1, 20, 16, 0, 0, 22, 18, 0, 7, 19,
+ 31, 0, 3, 21, 35, 0, 2, 26, 21, 0, 22, 24, 23, 0, 12,
+ 26, 23, 0, 0, 29, 25, 0, 4, 24, 43, 0, 0, 33, 28, 0,
+ 2, 27, 48, 0, 29, 31, 29, 0, 8, 31, 52, 0, 4, 32, 57,
+ 0, 13, 39, 33, 0, 0, 41, 34, 0, 36, 38, 36, 0, 4, 36,
+ 64, 0, 8, 48, 40, 0, 42, 45, 43, 0, 5, 41, 73, 0, 2,
+ 52, 42, 0, 25, 53, 49, 0, 5, 46, 83, 0, 49, 52, 50, 0,
+ 0, 58, 47, 0, 54, 57, 55, 0, 6, 52, 92, 0, 4, 68, 56,
+ 0, 59, 62, 60, 0, 31, 67, 59, 0, 5, 57, 102, 0, 23, 70,
+ 61, 0, 63, 66, 64, 0, 0, 75, 62, 0, 3, 62, 110, 0, 7,
+ 63, 116, 0, 69, 71, 70, 0, 2, 67, 121, 0, 43, 79, 71, 0,
+ 6, 85, 70, 0, 75, 77, 76, 0, 7, 71, 126, 0, 38, 85, 77,
+ 0, 78, 81, 79, 0, 0, 91, 73, 0, 4, 74, 136, 0, 81, 84,
+ 82, 0, 9, 97, 77, 0, 10, 78, 141, 0, 85, 87, 86, 0, 1,
+ 80, 144, 0, 88, 91, 89, 0, 0, 103, 80, 0, 1, 106, 71, 0,
+ 0, 102, 85, 0, 5, 83, 148, 0, 41, 98, 86, 0, 3, 110, 67,
+ 0, 10, 85, 154, 0, 92, 95, 93, 0, 0, 112, 72, 0, 96, 99,
+ 97, 0, 6, 89, 162, 0, 0, 112, 87, 0, 0, 117, 76, 0, 2,
+117, 82, 0, 28, 111, 94, 0, 100, 102, 101, 0, 0, 95, 169, 0,
+ 0, 122, 80, 0, 0, 121, 87, 0, 103, 106, 104, 0, 3, 96, 172,
+ 0, 10, 97, 179, 0, 0, 126, 86, 0, 0, 128, 81, 0, 0, 123,
+ 98, 0, 107, 110, 108, 0, 1, 127, 94, 0, 19, 124, 101, 0, 110,
+113, 111, 0, 61, 120, 105, 0, 0, 132, 87, 0, 4, 103, 186, 0,
+114, 117, 115, 0, 0, 136, 91, 0, 0, 135, 96, 0, 0, 132, 107,
+ 0, 12, 107, 192, 0, 0, 135, 103, 0, 1, 140, 87, 0, 118, 121,
+119, 0, 2, 109, 199, 0, 5, 142, 89, 0, 0, 145, 94, 0, 122,
+125, 123, 0, 0, 143, 105, 0, 12, 140, 112, 0, 0, 145, 101, 0,
+ 11, 113, 206, 0, 0, 144, 115, 0, 1, 150, 99, 0, 127, 130, 128,
+ 0, 53, 140, 120, 0, 2, 118, 212, 0, 6, 152, 101, 0, 131, 134,
+132, 0, 41, 146, 123, 0, 0, 154, 111, 0, 0, 156, 106, 0, 0,
+153, 117, 0, 0, 158, 101, 0, 135, 138, 136, 0, 78, 147, 130, 0,
+ 4, 163, 106, 0, 139, 142, 140, 0, 0, 167, 111, 0, 0, 164, 122,
+ 0, 0, 169, 106, 0, 0, 166, 117, 0, 144, 147, 145, 0, 0, 171,
+115, 0, 21, 165, 136, 0, 6, 172, 124, 0, 44, 165, 137, 0, 7,
+176, 113, 0, 9, 175, 120, 0, 2, 171, 137, 0, 151, 154, 152, 0,
+ 0, 178, 124, 0, 0, 180, 118, 0, 82, 164, 146, 0, 30, 178, 122,
+ 0, 155, 158, 156, 0, 3, 186, 117, 0, 5, 186, 124, 0, 4, 185,
+131, 0, 0, 183, 145, 0, 0, 191, 123, 0, 29, 186, 131, 0, 40,
+185, 132, 0, 161, 164, 162, 0, 0, 190, 130, 0, 51, 185, 134, 0,
+ 32, 182, 155, 0, 46, 183, 151, 0, 0, 195, 127, 0, 4, 199, 123,
+ 0, 80, 181, 158, 0, 63, 184, 154, 0, 10, 196, 136, 0, 47, 189,
+147, 0, 169, 172, 170, 0, 21, 192, 153, 0, 0, 202, 128, 0, 26,
+195, 143, 0, 66, 191, 143, 0, 0, 201, 134, 0, 0, 199, 141, 0,
+ 57, 194, 145, 0, 42, 196, 144, 0, 0, 199, 154, 0, 0, 206, 132,
+ 0, 98, 188, 166, 0, 4, 211, 129, 0, 4, 206, 147, 0, 177, 180,
+178, 0, 6, 208, 142, 0, 84, 197, 153, 0, 28, 206, 146, 0, 0,
+212, 139, 0, 37, 205, 152, 0, 0, 215, 134, 0, 61, 202, 161, 0,
+ 58, 206, 156, 0, 43, 205, 166, 0, 0, 211, 163, 0, 183, 187, 185,
+ 0, 0, 215, 155, 0, 0, 218, 145, 0, 0, 220, 140, 0, 25, 216,
+151, 0, 5, 223, 135, 0, 25, 213, 162, 0, 0, 224, 137, 0, 43,
+215, 154, 0, 67, 207, 175, 0, 46, 213, 162, 0, 188, 191, 189, 0,
+ 0, 226, 139, 0, 101, 209, 171, 0, 192, 195, 193, 0, 67, 216, 165,
+ 0, 19, 227, 146, 0, 0, 228, 150, 0, 24, 227, 155, 0, 25, 230,
+149, 0, 109, 211, 187, 0, 196, 200, 198, 0, 120, 214, 179, 0, 44,
+230, 157, 0, 45, 225, 180, 0, 34, 227, 181, 0, 201, 204, 202, 0,
+ 7, 235, 164, 0, 59, 232, 164, 0, 65, 229, 179, 0, 61, 232, 173,
+ 0, 71, 234, 167, 0, 205, 209, 207, 0, 53, 234, 176, 0, 81, 235,
+174, 0, 210, 213, 211, 0, 92, 237, 178, 0, 93, 232, 195, 0, 213,
+216, 214, 0, 100, 236, 186, 0, 120, 229, 203, 0, 101, 238, 180, 0,
+108, 236, 186, 0, 28, 244, 188, 0, 34, 243, 199, 0, 121, 234, 202,
+ 0, 120, 239, 191, 0, 218, 221, 219, 0, 56, 247, 189, 0, 223, 226,
+224, 0, 83, 249, 202, 0, 98, 250, 200, 0, 130, 246, 204, 0, 110,
+250, 200, 0, 227, 230, 228, 0, 231, 234, 232, 0, 125, 252, 212, 0,
+117, 253, 214, 0, 105, 255, 215, 0, 234, 237, 235, 0, 134, 253, 222,
+ 0, 137, 255, 234, 0, 240, 243, 241, 0, 244, 247, 245, 0, 255, 119,
+ 24, 119, 0, 13, 114, 107, 103, 98, 88, 87, 77, 73, 70, 63, 70,
+ 77, 107, 0, 8, 119, 0, 0, 255, 119, 20, 119, 0, 5, 114, 87,
+ 65, 60, 60, 0, 11, 63, 1, 60, 1, 88, 7, 119, 0, 0, 255,
+119, 19, 119, 0, 3, 98, 63, 63, 0, 4, 65, 0, 9, 70, 63,
+ 60, 52, 50, 45, 45, 50, 65, 0, 3, 63, 1, 98, 6, 119, 0,
+ 0, 251, 119, 0, 6, 107, 98, 88, 77, 73, 63, 3, 60, 1, 77,
+ 1, 114, 11, 119, 0, 13, 114, 65, 52, 49, 41, 31, 22, 11, 4,
+ 1, 1, 4, 1, 0, 3, 4, 0, 5, 2, 49, 65, 63, 65, 0,
+ 6, 119, 0, 0, 204, 119, 4, 114, 41, 119, 1, 88, 1, 60, 5,
+ 63, 1, 65, 1, 65, 4, 63, 1, 88, 10, 119, 1, 52, 3, 4,
+ 1, 1, 3, 4, 1, 1, 4, 4, 1, 1, 4, 4, 0, 4, 45,
+ 65, 63, 103, 5, 119, 0, 0, 203, 119, 1, 77, 5, 63, 0, 4,
+ 77, 98, 114, 114, 16, 119, 5, 114, 14, 119, 0, 11, 70, 65, 65,
+ 63, 60, 60, 56, 52, 45, 45, 56, 0, 4, 63, 1, 88, 8, 119,
+ 1, 77, 4, 4, 0, 5, 1, 4, 1, 4, 1, 0, 3, 4, 1,
+ 1, 1, 1, 3, 4, 0, 5, 1, 1, 60, 63, 88, 0, 5, 119,
+ 0, 0, 202, 119, 4, 65, 8, 63, 1, 70, 1, 88, 6, 119, 0,
+ 4, 107, 87, 77, 70, 9, 63, 1, 77, 11, 119, 0, 4, 77, 56,
+ 24, 1, 3, 4, 0, 7, 1, 4, 1, 4, 1, 1, 52, 0, 3,
+ 63, 1, 107, 6, 119, 0, 7, 114, 1, 1, 4, 1, 4, 1, 0,
+ 3, 4, 0, 14, 1, 1, 4, 4, 1, 4, 4, 1, 4, 1, 4,
+ 31, 65, 87, 5, 119, 0, 0, 80, 119, 1, 114, 1, 88, 3, 77,
+ 1, 87, 1, 107, 4, 119, 0, 4, 103, 87, 83, 87, 3, 88, 0,
+ 4, 98, 98, 103, 114, 99, 119, 0, 6, 88, 45, 16, 9, 27, 49,
+ 10, 63, 0, 4, 114, 119, 119, 107, 15, 63, 1, 65, 10, 119, 1,
+ 16, 6, 4, 1, 1, 1, 1, 5, 4, 0, 4, 37, 65, 63, 73,
+ 6, 119, 1, 37, 4, 4, 1, 1, 5, 4, 0, 3, 19, 30, 33,
+ 0, 3, 43, 0, 7, 4, 4, 1, 4, 11, 70, 77, 0, 5, 119,
+ 0, 0, 15, 119, 0, 3, 107, 77, 65, 0, 8, 63, 1, 73, 1,
+ 98, 21, 119, 0, 3, 114, 88, 70, 0, 6, 63, 1, 77, 1, 98,
+ 16, 119, 1, 114, 1, 77, 25, 63, 0, 3, 65, 98, 98, 0, 7,
+ 77, 0, 8, 87, 88, 98, 114, 119, 119, 103, 70, 12, 63, 1, 77,
+ 6, 119, 0, 11, 114, 98, 77, 70, 63, 65, 77, 114, 119, 119, 98,
+ 0, 7, 77, 0, 8, 87, 88, 98, 114, 119, 119, 98, 70, 12, 63,
+ 1, 77, 6, 119, 0, 8, 107, 98, 77, 70, 63, 65, 83, 114, 7,
+119, 0, 3, 114, 4, 1, 0, 3, 4, 0, 8, 1, 4, 2, 4,
+ 17, 41, 60, 65, 4, 63, 0, 16, 119, 107, 63, 63, 65, 65, 63,
+ 56, 45, 34, 27, 17, 4, 4, 22, 56, 3, 63, 1, 77, 8, 119,
+ 0, 20, 13, 4, 1, 4, 1, 1, 4, 4, 1, 4, 1, 4, 1,
+ 1, 4, 4, 50, 63, 63, 98, 5, 119, 1, 4, 1, 4, 3, 1,
+ 1, 40, 3, 43, 0, 4, 47, 12, 47, 43, 4, 47, 0, 7, 7,
+ 4, 1, 4, 4, 70, 77, 0, 5, 119, 0, 0, 12, 119, 0, 3,
+ 88, 65, 65, 0, 14, 63, 0, 3, 65, 77, 114, 0, 14, 119, 0,
+ 3, 98, 65, 65, 0, 12, 63, 1, 65, 1, 83, 11, 119, 1, 98,
+ 1, 65, 3, 63, 6, 65, 5, 63, 10, 65, 17, 63, 1, 65, 1,
+ 65, 15, 63, 5, 65, 9, 63, 1, 65, 13, 63, 1, 65, 1, 65,
+ 15, 63, 5, 65, 9, 63, 1, 77, 6, 119, 1, 22, 5, 4, 0,
+ 4, 1, 4, 4, 1, 3, 4, 0, 18, 1, 11, 65, 63, 63, 107,
+ 70, 17, 4, 4, 2, 4, 1, 1, 4, 4, 1, 4, 3, 1, 0,
+ 5, 13, 65, 63, 63, 107, 0, 6, 119, 0, 4, 45, 4, 1, 1,
+ 3, 4, 0, 14, 1, 1, 4, 1, 4, 1, 1, 4, 4, 1, 1,
+ 65, 63, 65, 5, 119, 1, 1, 3, 4, 1, 19, 5, 47, 1, 19,
+ 1, 43, 5, 47, 0, 7, 19, 4, 4, 1, 1, 70, 73, 0, 5,
+119, 0, 0, 10, 119, 0, 14, 77, 65, 63, 63, 65, 70, 52, 37,
+ 31, 26, 26, 27, 34, 45, 3, 65, 5, 63, 1, 70, 1, 107, 10,
+119, 0, 12, 88, 65, 63, 63, 65, 70, 60, 45, 41, 37, 41, 50,
+ 3, 65, 4, 63, 1, 65, 1, 83, 8, 119, 0, 8, 70, 63, 65,
+ 63, 37, 13, 4, 4, 3, 1, 0, 11, 4, 11, 37, 56, 34, 9,
+ 4, 2, 4, 5, 2, 0, 4, 4, 0, 6, 5, 17, 45, 70, 65,
+ 65, 6, 70, 4, 65, 3, 63, 0, 15, 70, 56, 37, 31, 27, 27,
+ 26, 22, 17, 16, 13, 16, 34, 60, 65, 0, 6, 63, 0, 11, 65,
+ 65, 70, 65, 60, 70, 65, 63, 63, 65, 65, 0, 6, 70, 4, 65,
+ 3, 63, 0, 15, 70, 56, 37, 31, 27, 27, 26, 22, 17, 13, 13,
+ 16, 34, 63, 65, 0, 5, 63, 3, 65, 0, 5, 70, 65, 60, 70,
+ 65, 0, 3, 63, 1, 87, 4, 119, 1, 88, 4, 4, 0, 4, 1,
+ 1, 4, 1, 4, 4, 0, 7, 1, 4, 1, 4, 65, 63, 52, 0,
+ 3, 1, 4, 4, 1, 1, 1, 1, 6, 4, 0, 5, 1, 13, 70,
+ 63, 88, 0, 6, 119, 0, 15, 7, 4, 4, 1, 4, 4, 19, 30,
+ 38, 43, 43, 47, 43, 2, 1, 0, 3, 4, 0, 4, 37, 65, 63,
+ 87, 4, 119, 0, 6, 1, 4, 4, 1, 12, 51, 3, 47, 0, 3,
+ 51, 25, 40, 0, 4, 47, 0, 8, 51, 30, 1, 1, 4, 1, 60,
+ 70, 5, 119, 0, 0, 8, 119, 0, 8, 103, 65, 65, 70, 41, 16,
+ 5, 2, 9, 1, 0, 5, 4, 11, 31, 60, 65, 0, 4, 63, 1,
+ 77, 7, 119, 0, 8, 114, 70, 63, 70, 45, 22, 9, 4, 7, 1,
+ 0, 5, 4, 11, 37, 65, 65, 0, 3, 63, 1, 65, 1, 114, 4,
+119, 0, 5, 107, 65, 63, 22, 5, 0, 26, 1, 1, 4, 1, 9,
+ 3, 4, 0, 12, 2, 2, 4, 2, 4, 4, 5, 9, 22, 41, 17,
+ 4, 13, 1, 0, 17, 9, 52, 63, 49, 37, 24, 11, 9, 4, 4,
+ 1, 1, 2, 6, 27, 27, 9, 0, 3, 4, 0, 12, 2, 2, 4,
+ 2, 4, 4, 5, 9, 24, 41, 16, 2, 13, 1, 0, 9, 11, 52,
+ 60, 49, 37, 24, 11, 9, 4, 0, 4, 1, 0, 6, 5, 45, 65,
+ 63, 63, 114, 3, 119, 5, 4, 5, 1, 6, 4, 0, 3, 1, 22,
+ 63, 0, 3, 1, 0, 5, 4, 1, 1, 4, 1, 0, 3, 4, 1,
+ 1, 1, 1, 3, 4, 0, 5, 1, 1, 41, 63, 77, 0, 5, 119,
+ 0, 6, 114, 4, 4, 1, 4, 25, 3, 51, 1, 47, 5, 51, 5,
+ 4, 0, 4, 60, 63, 63, 114, 3, 119, 0, 5, 5, 1, 1, 4,
+ 7, 0, 5, 51, 1, 30, 1, 38, 5, 51, 0, 7, 33, 1, 4,
+ 4, 1, 52, 65, 0, 5, 119, 0, 0, 7, 119, 0, 4, 77, 65,
+ 50, 13, 18, 1, 0, 3, 9, 34, 70, 0, 3, 63, 1, 70, 1,
+114, 4, 119, 0, 5, 98, 65, 60, 17, 4, 0, 15, 1, 0, 3,
+ 13, 56, 65, 0, 3, 63, 0, 6, 103, 119, 119, 107, 65, 26, 119,
+ 1, 0, 7, 31, 65, 63, 98, 119, 119, 56, 0, 3, 1, 0, 22,
+ 4, 5, 40, 40, 38, 33, 19, 7, 1, 1, 4, 1, 4, 1, 4,
+ 11, 4, 4, 1, 1, 4, 4, 6, 1, 1, 7, 1, 5, 3, 1,
+ 0, 4, 4, 16, 70, 77, 5, 119, 1, 41, 3, 4, 1, 1, 1,
+ 43, 9, 51, 0, 9, 19, 1, 4, 1, 1, 24, 65, 63, 77, 0,
+ 3, 119, 0, 5, 22, 4, 4, 1, 1, 0, 5, 51, 1, 38, 1,
+ 33, 5, 51, 1, 43, 1, 1, 3, 4, 1, 49, 1, 63, 5, 119,
+ 0, 0, 6, 119, 0, 3, 70, 60, 13, 0, 22, 1, 0, 3, 4,
+ 41, 65, 0, 3, 63, 0, 6, 114, 119, 119, 98, 65, 24, 20, 1,
+ 1, 22, 1, 65, 3, 63, 0, 4, 98, 107, 56, 9, 121, 1, 0,
+ 5, 49, 63, 77, 119, 103, 0, 4, 4, 0, 3, 1, 40, 43, 0,
+ 5, 47, 0, 4, 43, 38, 4, 4, 4, 1, 3, 4, 0, 7, 2,
+ 33, 40, 43, 43, 47, 51, 0, 3, 55, 0, 8, 58, 12, 1, 1,
+ 4, 4, 70, 70, 5, 119, 0, 8, 5, 1, 4, 1, 1, 55, 55,
+ 51, 3, 55, 1, 51, 3, 55, 0, 24, 58, 4, 4, 1, 4, 4,
+ 50, 63, 63, 103, 119, 119, 37, 4, 4, 1, 1, 51, 55, 51, 55,
+ 55, 40, 30, 3, 55, 3, 51, 0, 6, 1, 1, 4, 4, 41, 63,
+ 5, 119, 0, 0, 5, 119, 1, 70, 1, 34, 26, 1, 1, 22, 1,
+ 70, 3, 63, 0, 4, 107, 98, 50, 5, 22, 1, 0, 6, 6, 56,
+ 65, 63, 63, 45, 10, 1, 0, 4, 8, 21, 23, 21, 6, 1, 0,
+ 6, 4, 10, 8, 4, 4, 0, 97, 1, 0, 5, 22, 65, 73, 119,
+ 31, 0, 4, 4, 1, 19, 9, 47, 1, 38, 3, 1, 0, 6, 4,
+ 1, 4, 1, 1, 38, 3, 55, 1, 58, 3, 55, 0, 10, 58, 55,
+ 58, 33, 1, 4, 1, 4, 56, 63, 5, 119, 1, 2, 3, 4, 1,
+ 25, 1, 58, 3, 55, 0, 20, 58, 55, 58, 58, 55, 58, 55, 33,
+ 1, 1, 4, 1, 11, 70, 63, 70, 119, 119, 50, 4, 3, 1, 0,
+ 20, 51, 58, 55, 58, 55, 43, 12, 38, 43, 58, 55, 58, 61, 1,
+ 1, 4, 1, 37, 63, 107, 4, 119, 0, 0, 4, 119, 1, 73, 1,
+ 22, 9, 1, 0, 4, 29, 48, 59, 62, 3, 67, 0, 4, 59, 48,
+ 35, 8, 8, 1, 1, 5, 1, 60, 3, 63, 1, 41, 9, 1, 0,
+ 9, 21, 39, 48, 54, 59, 59, 48, 32, 4, 0, 8, 1, 0, 3,
+ 50, 65, 50, 0, 7, 1, 0, 11, 18, 54, 78, 93, 89, 80, 79,
+ 89, 93, 78, 42, 0, 3, 1, 0, 4, 112, 89, 85, 85, 5, 93,
+ 1, 104, 1, 21, 3, 1, 0, 7, 8, 23, 21, 21, 18, 15, 14,
+ 0, 3, 8, 6, 1, 0, 3, 59, 62, 62, 0, 5, 67, 0, 3,
+ 78, 78, 8, 0, 9, 1, 0, 4, 4, 21, 35, 42, 5, 1, 0,
+ 10, 8, 23, 21, 21, 18, 14, 14, 8, 8, 4, 5, 1, 0, 4,
+ 10, 59, 62, 62, 5, 67, 0, 3, 78, 78, 4, 0, 9, 1, 0,
+ 4, 8, 21, 35, 48, 5, 1, 0, 3, 65, 63, 77, 0, 3, 4,
+ 0, 7, 1, 4, 51, 47, 47, 51, 51, 0, 5, 47, 0, 5, 43,
+ 4, 4, 1, 1, 0, 4, 4, 1, 33, 10, 58, 0, 8, 47, 2,
+ 1, 4, 4, 45, 63, 114, 3, 119, 1, 70, 1, 4, 3, 1, 1,
+ 47, 10, 58, 0, 3, 55, 61, 7, 0, 4, 4, 0, 11, 37, 63,
+ 63, 88, 119, 65, 4, 1, 4, 1, 51, 0, 4, 58, 0, 15, 55,
+ 40, 33, 25, 19, 61, 58, 61, 4, 4, 1, 1, 31, 63, 98, 0,
+ 4, 119, 0, 0, 3, 119, 1, 77, 1, 11, 7, 1, 0, 17, 35,
+ 67, 93, 79, 75, 72, 72, 68, 72, 75, 72, 72, 80, 93, 78, 42,
+ 4, 0, 7, 1, 0, 3, 60, 65, 41, 0, 7, 1, 0, 5, 29,
+ 59, 93, 85, 79, 0, 3, 75, 0, 6, 72, 72, 80, 93, 67, 35,
+ 7, 1, 1, 27, 1, 4, 5, 1, 0, 5, 14, 67, 89, 75, 75,
+ 0, 5, 79, 0, 7, 75, 68, 80, 93, 29, 1, 104, 0, 5, 79,
+ 0, 5, 72, 68, 68, 79, 32, 0, 3, 1, 0, 5, 115, 89, 89,
+ 85, 85, 0, 3, 89, 0, 3, 93, 93, 67, 0, 4, 1, 0, 12,
+ 18, 89, 75, 75, 79, 75, 75, 72, 68, 68, 80, 8, 3, 1, 0,
+ 11, 35, 42, 54, 67, 78, 93, 93, 85, 80, 80, 35, 0, 4, 1,
+ 1, 102, 1, 89, 6, 85, 0, 3, 89, 93, 59, 0, 4, 1, 0,
+ 4, 39, 89, 79, 79, 3, 75, 0, 19, 72, 68, 68, 80, 4, 1,
+ 1, 4, 35, 42, 54, 67, 78, 93, 93, 89, 80, 80, 14, 0, 4,
+ 1, 0, 8, 52, 65, 11, 4, 1, 1, 4, 33, 10, 51, 1, 47,
+ 1, 1, 5, 4, 0, 3, 1, 4, 19, 0, 4, 61, 1, 58, 1,
+ 58, 3, 61, 0, 9, 58, 61, 1, 4, 4, 1, 37, 63, 98, 0,
+ 3, 119, 0, 7, 16, 1, 4, 1, 1, 55, 58, 0, 4, 61, 0,
+ 3, 58, 61, 58, 0, 4, 61, 0, 17, 47, 2, 4, 4, 1, 5,
+ 65, 63, 65, 119, 88, 4, 4, 1, 1, 47, 58, 0, 7, 61, 1,
+ 2, 3, 19, 0, 7, 4, 1, 4, 1, 26, 65, 88, 0, 4, 119,
+ 0, 0, 0, 4, 119, 119, 98, 9, 6, 1, 0, 5, 32, 91, 79,
+ 75, 79, 0, 8, 90, 0, 7, 89, 79, 72, 68, 72, 93, 48, 0,
+ 6, 1, 1, 2, 1, 31, 6, 1, 0, 18, 18, 78, 85, 72, 79,
+ 79, 89, 90, 100, 100, 90, 79, 79, 75, 72, 79, 78, 18, 11, 1,
+ 0, 28, 39, 101, 79, 90, 90, 100, 100, 105, 105, 108, 105, 97, 90,
+ 89, 79, 101, 67, 100, 109, 120, 109, 108, 100, 90, 79, 72, 80, 29,
+ 3, 1, 0, 11, 125, 90, 89, 79, 89, 89, 79, 75, 68, 68, 67,
+ 0, 4, 1, 1, 8, 1, 113, 4, 100, 0, 5, 90, 90, 75, 68,
+ 80, 0, 3, 1, 1, 35, 1, 89, 3, 79, 0, 7, 89, 90, 90,
+ 75, 68, 72, 62, 0, 4, 1, 0, 11, 112, 79, 79, 90, 89, 79,
+ 79, 72, 68, 68, 78, 0, 4, 1, 0, 16, 39, 120, 100, 97, 100,
+100, 90, 90, 79, 72, 80, 4, 1, 1, 54, 89, 7, 79, 0, 3,
+ 75, 68, 42, 0, 4, 1, 0, 7, 45, 37, 1, 4, 4, 1, 7,
+ 0, 3, 51, 1, 55, 4, 51, 0, 4, 55, 51, 51, 55, 3, 1,
+ 5, 4, 1, 7, 1, 64, 5, 61, 0, 15, 64, 61, 64, 61, 64,
+ 4, 1, 4, 4, 31, 63, 88, 119, 119, 114, 0, 3, 4, 1, 1,
+ 1, 12, 4, 64, 4, 61, 1, 64, 4, 61, 0, 29, 64, 19, 1,
+ 1, 4, 4, 27, 65, 63, 77, 114, 1, 1, 4, 2, 47, 61, 61,
+ 64, 61, 61, 64, 61, 61, 58, 51, 55, 55, 7, 0, 3, 4, 0,
+ 3, 22, 65, 87, 0, 4, 119, 0, 0, 0, 3, 119, 119, 13, 0,
+ 6, 1, 0, 8, 67, 89, 79, 90, 97, 109, 129, 129, 3, 126, 3,
+109, 0, 9, 105, 100, 90, 79, 75, 72, 80, 93, 18, 0, 11, 1,
+ 0, 20, 39, 101, 79, 79, 90, 90, 109, 116, 109, 108, 109, 109, 100,
+ 97, 97, 89, 75, 68, 93, 32, 9, 1, 0, 29, 39, 89, 89, 100,
+109, 116, 109, 105, 109, 116, 126, 126, 116, 109, 108, 105, 109, 109, 120,
+131, 136, 129, 116, 108, 109, 108, 84, 79, 23, 0, 3, 1, 0, 11,
+168, 116, 109, 109, 108, 109, 116, 108, 84, 72, 67, 0, 5, 1, 0,
+ 10, 124, 120, 124, 126, 120, 116, 97, 79, 72, 80, 4, 1, 1, 124,
+ 4, 109, 0, 6, 126, 116, 90, 75, 68, 91, 4, 1, 1, 132, 4,
+109, 0, 6, 100, 97, 89, 75, 72, 78, 4, 1, 0, 4, 35, 136,
+126, 116, 3, 109, 0, 9, 108, 90, 79, 85, 4, 1, 1, 23, 124,
+ 0, 3, 108, 0, 7, 109, 109, 100, 100, 89, 72, 78, 0, 4, 1,
+ 0, 7, 34, 4, 1, 1, 4, 1, 47, 0, 12, 55, 0, 4, 19,
+ 4, 1, 1, 4, 4, 1, 1, 4, 64, 1, 66, 1, 61, 4, 64,
+ 0, 11, 66, 7, 1, 1, 4, 22, 65, 77, 119, 119, 98, 0, 4,
+ 4, 0, 4, 43, 64, 64, 61, 5, 64, 1, 66, 4, 64, 0, 3,
+ 61, 61, 4, 0, 4, 1, 0, 9, 60, 63, 63, 114, 5, 1, 4,
+ 4, 47, 0, 5, 64, 1, 61, 5, 64, 0, 8, 66, 12, 1, 1,
+ 4, 13, 70, 77, 4, 119, 0, 0, 1, 119, 1, 41, 5, 1, 0,
+ 13, 10, 104, 79, 90, 108, 116, 116, 109, 126, 147, 147, 141, 136, 0,
+ 5, 126, 0, 8, 109, 97, 90, 89, 75, 72, 93, 21, 9, 1, 0,
+ 22, 54, 89, 90, 105, 109, 105, 105, 116, 126, 116, 120, 126, 129, 126,
+116, 116, 109, 100, 79, 72, 80, 32, 7, 1, 0, 14, 21, 113, 90,
+100, 109, 124, 129, 129, 120, 120, 126, 129, 131, 129, 6, 126, 0, 10,
+129, 133, 131, 126, 109, 109, 116, 97, 89, 21, 3, 1, 0, 11, 191,
+133, 131, 129, 126, 109, 109, 129, 116, 79, 78, 0, 5, 1, 0, 3,
+145, 129, 126, 0, 3, 129, 0, 4, 116, 97, 79, 80, 4, 1, 1,
+151, 3, 129, 3, 126, 0, 4, 109, 90, 72, 91, 4, 1, 1, 152,
+ 1, 131, 3, 129, 0, 6, 126, 120, 100, 79, 72, 91, 4, 1, 0,
+ 12, 32, 150, 136, 136, 126, 109, 116, 116, 109, 90, 93, 4, 3, 1,
+ 0, 3, 170, 129, 129, 0, 3, 126, 0, 5, 120, 109, 90, 79, 104,
+ 0, 4, 1, 5, 4, 0, 7, 7, 51, 58, 58, 55, 58, 55, 0,
+ 7, 58, 0, 5, 33, 4, 4, 1, 1, 0, 3, 4, 1, 1, 1,
+ 58, 3, 66, 0, 25, 64, 66, 66, 64, 66, 64, 66, 12, 4, 4,
+ 1, 11, 70, 73, 119, 119, 37, 1, 4, 4, 1, 55, 66, 66, 64,
+ 0, 6, 66, 0, 20, 64, 64, 66, 64, 66, 66, 30, 1, 1, 4,
+ 4, 13, 65, 63, 65, 5, 1, 4, 1, 38, 5, 66, 1, 64, 4,
+ 66, 0, 9, 64, 66, 12, 4, 1, 4, 6, 70, 77, 0, 4, 119,
+ 0, 0, 1, 83, 5, 1, 0, 28, 8, 125, 90, 108, 120, 129, 131,
+131, 126, 126, 136, 147, 147, 136, 133, 129, 129, 133, 133, 129, 116, 100,
+ 90, 90, 79, 75, 85, 8, 7, 1, 0, 24, 42, 101, 100, 109, 126,
+133, 129, 126, 120, 126, 129, 129, 136, 147, 141, 133, 131, 129, 126, 108,
+ 90, 72, 85, 14, 6, 1, 0, 30, 115, 108, 116, 109, 109, 116, 129,
+147, 141, 133, 133, 136, 141, 141, 136, 136, 133, 129, 133, 133, 131, 133,
+136, 136, 129, 116, 109, 97, 89, 14, 3, 1, 0, 11, 217, 147, 147,
+141, 136, 126, 109, 116, 109, 84, 78, 0, 5, 1, 0, 10, 154, 141,
+129, 126, 126, 131, 136, 120, 90, 85, 4, 1, 0, 5, 190, 147, 147,
+136, 131, 0, 3, 129, 0, 3, 109, 79, 80, 0, 4, 1, 0, 11,
+168, 158, 147, 136, 136, 133, 131, 120, 90, 75, 91, 0, 4, 1, 0,
+ 12, 23, 170, 147, 147, 133, 126, 116, 109, 109, 105, 101, 4, 3, 1,
+ 0, 12, 160, 155, 147, 136, 131, 129, 129, 120, 105, 89, 104, 4, 4,
+ 1, 0, 12, 4, 4, 1, 4, 33, 7, 19, 47, 58, 61, 58, 61,
+ 5, 58, 0, 11, 61, 51, 4, 1, 4, 4, 1, 4, 4, 1, 47,
+ 0, 10, 66, 1, 19, 3, 1, 0, 10, 2, 70, 70, 119, 119, 4,
+ 1, 4, 1, 2, 16, 66, 0, 14, 74, 7, 1, 4, 4, 1, 50,
+ 63, 63, 5, 4, 1, 1, 33, 12, 66, 1, 25, 1, 1, 3, 4,
+ 1, 70, 1, 73, 4, 119, 0, 0, 1, 37, 4, 1, 0, 17, 8,
+132, 109, 116, 126, 129, 133, 136, 136, 131, 129, 136, 136, 147, 147, 136,
+133, 0, 4, 129, 0, 8, 126, 116, 108, 100, 90, 79, 72, 102, 6,
+ 1, 0, 16, 14, 123, 105, 120, 126, 129, 133, 133, 129, 131, 136, 141,
+136, 136, 147, 147, 3, 136, 0, 6, 133, 126, 109, 79, 68, 112, 5,
+ 1, 0, 10, 32, 113, 116, 126, 126, 120, 116, 120, 131, 141, 3, 136,
+ 0, 7, 147, 147, 155, 147, 147, 136, 136, 0, 4, 133, 0, 7, 136,
+131, 126, 116, 100, 89, 8, 0, 3, 1, 0, 11, 217, 155, 147, 147,
+141, 131, 116, 116, 105, 79, 78, 0, 5, 1, 0, 10, 154, 147, 131,
+126, 116, 126, 131, 126, 90, 80, 4, 1, 0, 11, 122, 171, 147, 141,
+136, 133, 129, 129, 116, 90, 80, 0, 4, 1, 0, 3, 166, 158, 147,
+ 0, 4, 136, 0, 4, 129, 105, 79, 91, 4, 1, 0, 11, 18, 170,
+136, 133, 131, 129, 120, 109, 100, 90, 104, 0, 4, 1, 0, 12, 122,
+171, 158, 147, 136, 133, 129, 126, 109, 90, 85, 8, 4, 1, 0, 4,
+ 4, 4, 1, 33, 3, 61, 0, 12, 25, 1, 25, 51, 61, 64, 61,
+ 58, 61, 61, 64, 55, 4, 1, 1, 4, 3, 1, 0, 35, 40, 74,
+ 66, 74, 74, 66, 74, 74, 66, 74, 74, 33, 1, 4, 4, 1, 60,
+ 65, 119, 103, 4, 1, 1, 4, 33, 74, 66, 74, 74, 66, 74, 74,
+ 66, 74, 66, 0, 4, 74, 0, 16, 66, 66, 74, 43, 1, 4, 1,
+ 4, 4, 65, 63, 4, 1, 4, 1, 25, 4, 74, 0, 5, 66, 66,
+ 74, 74, 66, 0, 3, 74, 1, 33, 3, 1, 0, 3, 4, 65, 70,
+ 0, 4, 119, 0, 0, 1, 17, 4, 1, 0, 5, 168, 126, 129, 131,
+133, 0, 3, 136, 0, 5, 141, 141, 136, 147, 158, 0, 3, 171, 0,
+ 14, 155, 136, 131, 129, 129, 126, 129, 126, 108, 90, 89, 75, 80, 32,
+ 5, 1, 0, 6, 104, 109, 126, 129, 129, 133, 3, 136, 0, 3, 131,
+140, 147, 0, 3, 155, 0, 11, 158, 147, 147, 141, 136, 129, 124, 100,
+ 79, 72, 39, 0, 4, 1, 1, 91, 1, 109, 3, 126, 0, 14, 129,
+126, 116, 120, 129, 133, 136, 147, 158, 171, 183, 171, 171, 155, 3, 136,
+ 0, 9, 133, 136, 136, 133, 126, 116, 100, 101, 4, 0, 3, 1, 0,
+ 11, 217, 155, 147, 136, 136, 133, 126, 120, 108, 79, 78, 0, 5, 1,
+ 0, 5, 154, 147, 136, 133, 126, 0, 3, 109, 1, 90, 1, 80, 4,
+ 1, 0, 12, 32, 171, 158, 147, 136, 133, 131, 131, 126, 100, 79, 14,
+ 3, 1, 0, 11, 170, 155, 147, 136, 136, 133, 131, 126, 109, 79, 102,
+ 0, 4, 1, 0, 11, 14, 165, 136, 133, 129, 126, 126, 120, 100, 79,
+ 93, 0, 4, 1, 0, 12, 71, 171, 171, 155, 141, 131, 131, 126, 116,
+ 90, 79, 8, 4, 1, 0, 4, 4, 1, 12, 66, 3, 64, 0, 31,
+ 61, 64, 51, 12, 1, 38, 64, 64, 61, 64, 64, 61, 1, 1, 4,
+ 4, 1, 4, 1, 1, 33, 76, 76, 66, 64, 66, 55, 40, 30, 12,
+ 1, 0, 4, 4, 0, 10, 1, 50, 63, 119, 63, 1, 1, 4, 4,
+ 64, 6, 74, 3, 76, 4, 74, 0, 6, 76, 66, 74, 74, 76, 12,
+ 4, 1, 1, 34, 1, 63, 4, 4, 0, 8, 19, 76, 74, 76, 76,
+ 74, 76, 76, 3, 74, 0, 9, 76, 66, 43, 1, 4, 1, 4, 56,
+ 65, 0, 4, 119, 0, 0, 1, 9, 3, 1, 0, 6, 14, 186, 147,
+155, 147, 147, 4, 141, 0, 12, 147, 158, 183, 183, 205, 214, 205, 205,
+171, 147, 136, 136, 3, 131, 0, 6, 126, 100, 97, 89, 75, 104, 4,
+ 1, 0, 14, 21, 134, 129, 136, 131, 131, 136, 136, 141, 147, 147, 141,
+147, 158, 4, 183, 0, 10, 158, 155, 141, 136, 129, 124, 100, 79, 112,
+ 4, 3, 1, 0, 21, 168, 129, 131, 131, 129, 131, 131, 124, 116, 129,
+136, 136, 155, 188, 205, 214, 214, 183, 171, 158, 147, 0, 4, 136, 0,
+ 5, 141, 136, 124, 97, 89, 0, 4, 1, 0, 4, 216, 155, 147, 136,
+ 3, 131, 0, 4, 129, 116, 90, 78, 5, 1, 0, 10, 166, 147, 141,
+141, 131, 116, 109, 109, 89, 80, 5, 1, 0, 11, 188, 171, 155, 141,
+136, 136, 131, 129, 109, 89, 35, 0, 3, 1, 0, 11, 170, 155, 147,
+141, 136, 131, 129, 124, 109, 89, 102, 0, 4, 1, 0, 11, 8, 186,
+147, 136, 136, 131, 129, 129, 108, 79, 93, 0, 4, 1, 0, 12, 18,
+207, 171, 155, 141, 141, 136, 129, 120, 100, 79, 15, 4, 1, 0, 3,
+ 4, 1, 51, 0, 3, 66, 0, 16, 61, 64, 64, 66, 66, 74, 12,
+ 66, 64, 64, 66, 64, 66, 2, 4, 4, 3, 1, 1, 4, 1, 1,
+ 4, 4, 0, 9, 7, 25, 40, 55, 74, 82, 82, 66, 1, 0, 3,
+ 4, 0, 4, 37, 63, 107, 13, 4, 1, 0, 4, 74, 76, 76, 74,
+ 6, 76, 1, 74, 8, 76, 1, 61, 1, 1, 3, 4, 0, 9, 1,
+ 65, 5, 4, 4, 1, 7, 82, 74, 0, 10, 76, 0, 7, 51, 1,
+ 1, 4, 4, 49, 65, 0, 4, 119, 0, 0, 1, 27, 4, 1, 0,
+ 5, 71, 171, 183, 171, 158, 0, 5, 155, 0, 3, 189, 201, 44, 0,
+ 3, 1, 0, 15, 7, 205, 158, 155, 141, 141, 136, 140, 131, 120, 109,
+100, 79, 80, 4, 0, 3, 1, 0, 5, 102, 129, 136, 141, 141, 0,
+ 4, 136, 0, 23, 141, 141, 155, 175, 229, 163, 212, 232, 214, 205, 171,
+155, 154, 141, 136, 126, 100, 89, 23, 1, 1, 23, 165, 0, 3, 141,
+ 0, 9, 136, 140, 136, 131, 124, 129, 141, 176, 62, 0, 3, 1, 0,
+ 8, 57, 237, 205, 171, 158, 141, 136, 136, 3, 131, 0, 3, 126, 100,
+ 93, 0, 4, 1, 0, 11, 216, 158, 147, 141, 141, 136, 131, 131, 126,
+100, 78, 0, 5, 1, 0, 10, 175, 155, 141, 141, 136, 126, 116, 116,
+100, 80, 5, 1, 0, 11, 188, 171, 158, 155, 141, 136, 131, 124, 100,
+ 79, 54, 0, 3, 1, 0, 11, 170, 147, 155, 141, 141, 136, 131, 129,
+116, 89, 104, 0, 4, 1, 0, 11, 8, 186, 155, 154, 141, 136, 136,
+131, 116, 89, 104, 0, 5, 1, 1, 207, 1, 155, 4, 141, 0, 5,
+136, 124, 100, 79, 32, 0, 5, 1, 1, 25, 7, 66, 0, 5, 64,
+ 66, 74, 12, 74, 0, 4, 66, 0, 11, 74, 25, 1, 4, 1, 4,
+ 1, 4, 1, 7, 86, 0, 3, 82, 4, 76, 0, 16, 82, 76, 86,
+ 4, 4, 1, 4, 27, 63, 77, 1, 1, 4, 4, 19, 82, 4, 76,
+ 1, 82, 8, 76, 1, 82, 3, 76, 0, 22, 82, 82, 33, 1, 4,
+ 1, 1, 17, 17, 1, 4, 4, 1, 86, 82, 76, 76, 82, 82, 76,
+ 76, 82, 3, 76, 0, 7, 66, 1, 4, 1, 4, 41, 63, 0, 4,
+119, 0, 0, 1, 50, 5, 1, 0, 10, 163, 214, 214, 205, 171, 174,
+155, 198, 94, 0, 6, 1, 1, 32, 1, 174, 3, 154, 0, 9, 141,
+141, 140, 131, 116, 116, 89, 80, 18, 0, 3, 1, 0, 6, 132, 131,
+140, 141, 154, 154, 5, 140, 1, 217, 1, 14, 4, 1, 0, 15, 128,
+214, 214, 183, 171, 166, 155, 140, 129, 100, 104, 1, 1, 48, 157, 0,
+ 3, 154, 1, 141, 3, 140, 0, 4, 129, 126, 151, 29, 5, 1, 0,
+ 6, 7, 237, 183, 174, 158, 154, 3, 140, 0, 4, 131, 124, 100, 93,
+ 4, 1, 0, 11, 216, 166, 155, 154, 141, 140, 140, 136, 124, 100, 78,
+ 0, 5, 1, 0, 10, 189, 174, 155, 154, 141, 136, 120, 116, 97, 85,
+ 5, 1, 0, 11, 188, 174, 155, 155, 154, 140, 136, 129, 109, 89, 69,
+ 0, 3, 1, 0, 11, 170, 155, 155, 154, 141, 141, 140, 131, 124, 97,
+104, 0, 4, 1, 0, 11, 8, 186, 155, 154, 154, 141, 140, 136, 126,
+ 90, 104, 0, 5, 1, 0, 3, 166, 155, 141, 0, 3, 140, 0, 5,
+141, 136, 116, 79, 48, 0, 4, 1, 1, 4, 4, 74, 1, 66, 1,
+ 74, 3, 66, 0, 10, 74, 74, 6, 76, 74, 66, 74, 66, 66, 40,
+ 3, 1, 0, 11, 4, 1, 4, 4, 1, 82, 82, 86, 86, 82, 86,
+ 0, 4, 82, 1, 86, 1, 7, 3, 4, 0, 3, 22, 65, 52, 0,
+ 4, 1, 0, 4, 58, 82, 86, 76, 5, 82, 0, 6, 86, 82, 86,
+ 82, 86, 76, 5, 82, 0, 9, 86, 74, 1, 1, 4, 1, 1, 24,
+ 4, 0, 3, 1, 0, 3, 76, 82, 86, 0, 4, 82, 0, 13, 86,
+ 82, 86, 82, 82, 86, 1, 4, 1, 4, 37, 63, 114, 0, 3, 119,
+ 0, 0, 1, 119, 6, 1, 0, 7, 232, 214, 214, 205, 188, 142, 4,
+ 0, 8, 1, 0, 21, 10, 170, 154, 145, 145, 141, 145, 145, 136, 124,
+120, 100, 79, 39, 1, 1, 14, 151, 136, 145, 145, 0, 4, 154, 0,
+ 4, 145, 145, 191, 8, 6, 1, 0, 24, 53, 214, 214, 205, 183, 174,
+155, 150, 180, 112, 1, 1, 81, 154, 154, 144, 145, 145, 136, 145, 140,
+124, 116, 91, 7, 1, 1, 28, 1, 205, 3, 174, 0, 7, 154, 154,
+144, 145, 131, 100, 93, 0, 4, 1, 0, 11, 216, 174, 154, 154, 144,
+145, 144, 145, 124, 100, 94, 0, 5, 1, 0, 10, 189, 154, 151, 145,
+144, 136, 124, 116, 90, 85, 5, 1, 0, 11, 160, 174, 166, 154, 155,
+154, 151, 140, 124, 100, 91, 0, 3, 1, 1, 190, 1, 166, 3, 154,
+ 0, 6, 144, 136, 136, 124, 100, 104, 4, 1, 0, 11, 8, 202, 154,
+154, 145, 145, 136, 131, 129, 97, 104, 0, 5, 1, 0, 4, 139, 166,
+144, 136, 3, 145, 0, 4, 144, 131, 90, 59, 4, 1, 1, 33, 1,
+ 76, 4, 74, 1, 66, 3, 74, 0, 4, 76, 82, 4, 76, 5, 74,
+ 1, 64, 1, 1, 6, 4, 0, 5, 1, 66, 86, 86, 82, 0, 3,
+ 86, 1, 82, 3, 86, 0, 7, 12, 4, 4, 1, 16, 70, 27, 0,
+ 3, 4, 0, 4, 1, 19, 19, 7, 4, 86, 1, 82, 5, 86, 1,
+ 82, 8, 86, 1, 47, 4, 1, 1, 4, 1, 4, 3, 1, 0, 4,
+ 74, 86, 86, 82, 8, 86, 0, 8, 95, 4, 4, 1, 1, 31, 63,
+103, 3, 119, 0, 0, 1, 119, 1, 87, 5, 1, 0, 5, 4, 232,
+214, 229, 57, 0, 10, 1, 0, 20, 142, 150, 145, 145, 144, 145, 144,
+145, 136, 131, 131, 116, 89, 42, 1, 1, 59, 144, 131, 145, 3, 150,
+ 0, 5, 151, 154, 145, 134, 29, 0, 8, 1, 0, 8, 128, 214, 205,
+237, 229, 122, 21, 8, 3, 1, 0, 12, 94, 175, 151, 145, 144, 145,
+144, 136, 136, 124, 113, 32, 7, 1, 0, 12, 4, 229, 174, 175, 154,
+175, 175, 150, 145, 136, 100, 85, 4, 1, 0, 11, 217, 175, 154, 145,
+145, 150, 145, 144, 136, 100, 91, 0, 5, 1, 0, 10, 170, 151, 150,
+145, 145, 141, 131, 124, 100, 85, 5, 1, 0, 11, 102, 189, 175, 154,
+151, 151, 154, 145, 129, 100, 102, 0, 3, 1, 0, 11, 168, 175, 151,
+150, 150, 144, 131, 136, 131, 100, 104, 0, 4, 1, 0, 11, 8, 202,
+175, 150, 144, 144, 141, 131, 124, 100, 104, 0, 5, 1, 0, 11, 122,
+175, 145, 131, 145, 150, 145, 144, 136, 100, 69, 0, 4, 1, 1, 38,
+ 7, 76, 0, 7, 74, 76, 76, 82, 61, 1, 55, 0, 3, 82, 0,
+ 6, 76, 74, 1, 4, 4, 1, 3, 4, 1, 1, 1, 51, 7, 86,
+ 0, 21, 92, 86, 92, 25, 4, 4, 1, 4, 70, 1, 1, 4, 4,
+ 1, 86, 95, 7, 92, 86, 86, 92, 0, 5, 86, 1, 40, 9, 86,
+ 0, 3, 92, 4, 4, 0, 3, 1, 0, 5, 4, 1, 4, 1, 66,
+ 0, 6, 86, 1, 92, 4, 86, 1, 95, 1, 7, 3, 1, 0, 3,
+ 24, 63, 98, 0, 3, 119, 0, 0, 0, 3, 119, 119, 56, 0, 5,
+ 1, 0, 3, 36, 249, 36, 0, 10, 1, 0, 6, 69, 151, 150, 150,
+145, 145, 3, 150, 0, 12, 145, 136, 136, 124, 100, 48, 1, 1, 115,
+170, 144, 144, 4, 150, 0, 3, 144, 129, 137, 0, 9, 1, 0, 4,
+ 7, 146, 46, 14, 7, 1, 0, 3, 94, 175, 170, 0, 5, 150, 0,
+ 4, 144, 124, 100, 21, 8, 1, 0, 11, 242, 188, 175, 170, 150, 150,
+145, 144, 131, 100, 91, 0, 4, 1, 0, 11, 217, 175, 170, 150, 145,
+150, 150, 145, 141, 116, 93, 0, 5, 1, 0, 10, 186, 170, 170, 157,
+150, 145, 136, 124, 100, 93, 5, 1, 0, 11, 54, 186, 175, 170, 170,
+150, 150, 136, 124, 100, 115, 0, 3, 1, 0, 11, 190, 157, 157, 150,
+150, 145, 136, 136, 124, 100, 104, 0, 4, 1, 0, 4, 8, 198, 175,
+157, 3, 150, 0, 5, 144, 136, 100, 104, 4, 0, 4, 1, 0, 11,
+ 81, 189, 170, 141, 136, 150, 150, 144, 124, 101, 67, 0, 4, 1, 0,
+ 7, 40, 82, 76, 76, 82, 82, 76, 0, 3, 82, 0, 13, 76, 82,
+ 76, 76, 19, 6, 7, 7, 33, 76, 1, 4, 1, 0, 4, 4, 1,
+ 1, 1, 40, 3, 92, 1, 95, 1, 38, 5, 12, 0, 14, 4, 1,
+ 1, 4, 1, 52, 4, 1, 1, 4, 40, 92, 95, 7, 4, 92, 1,
+ 86, 3, 92, 0, 3, 47, 4, 95, 0, 8, 92, 0, 3, 95, 64,
+ 1, 0, 4, 4, 0, 4, 1, 4, 1, 64, 9, 92, 0, 10, 86,
+ 92, 92, 12, 1, 4, 1, 17, 65, 88, 3, 119, 0, 0, 3, 119,
+ 1, 34, 5, 1, 1, 7, 10, 1, 0, 3, 91, 134, 145, 0, 5,
+157, 0, 13, 165, 170, 165, 157, 144, 124, 113, 29, 1, 1, 137, 170,
+170, 0, 4, 157, 0, 4, 150, 136, 113, 102, 20, 1, 0, 4, 94,
+175, 170, 170, 5, 157, 0, 3, 131, 101, 21, 0, 8, 1, 0, 11,
+216, 189, 170, 170, 157, 144, 136, 134, 134, 113, 91, 0, 4, 1, 0,
+ 11, 217, 175, 165, 145, 144, 145, 145, 136, 124, 113, 93, 0, 5, 1,
+ 1, 186, 4, 170, 0, 5, 165, 150, 136, 113, 93, 0, 5, 1, 1,
+ 35, 1, 202, 3, 170, 0, 6, 157, 145, 134, 113, 101, 115, 3, 1,
+ 0, 11, 190, 175, 170, 170, 157, 144, 131, 136, 134, 100, 104, 0, 4,
+ 1, 0, 4, 8, 198, 170, 170, 4, 157, 0, 4, 145, 113, 104, 4,
+ 4, 1, 0, 11, 54, 202, 175, 157, 145, 150, 157, 145, 134, 101, 67,
+ 0, 4, 1, 0, 13, 38, 82, 82, 86, 82, 86, 82, 86, 86, 82,
+ 82, 86, 82, 0, 5, 86, 1, 33, 1, 19, 3, 4, 1, 1, 1,
+ 1, 3, 4, 1, 7, 3, 19, 1, 5, 1, 51, 5, 82, 1, 47,
+ 1, 1, 3, 4, 1, 27, 1, 1, 3, 4, 0, 8, 86, 95, 99,
+ 7, 95, 92, 95, 95, 3, 92, 0, 8, 95, 12, 4, 19, 92, 95,
+ 92, 95, 4, 92, 0, 11, 95, 95, 19, 4, 4, 1, 4, 1, 4,
+ 1, 61, 0, 5, 95, 0, 8, 92, 95, 92, 95, 95, 92, 95, 19,
+ 3, 4, 0, 3, 13, 65, 77, 0, 3, 119, 0, 0, 4, 119, 1,
+ 11, 13, 1, 0, 4, 39, 115, 124, 144, 4, 165, 0, 3, 157, 151,
+150, 0, 3, 165, 0, 8, 157, 134, 123, 4, 1, 1, 159, 186, 4,
+165, 0, 5, 157, 157, 141, 113, 62, 0, 20, 1, 0, 12, 94, 189,
+189, 186, 165, 157, 144, 144, 157, 136, 101, 23, 8, 1, 0, 11, 217,
+189, 186, 165, 165, 157, 144, 136, 134, 124, 91, 0, 4, 1, 0, 4,
+216, 189, 186, 150, 3, 144, 0, 4, 124, 113, 101, 93, 5, 1, 0,
+ 4, 202, 184, 165, 157, 3, 165, 0, 3, 144, 113, 104, 0, 5, 1,
+ 0, 3, 18, 202, 186, 0, 3, 165, 0, 5, 157, 144, 124, 100, 115,
+ 0, 3, 1, 0, 11, 201, 189, 188, 189, 186, 157, 134, 134, 124, 101,
+104, 0, 4, 1, 0, 6, 14, 216, 186, 186, 165, 157, 3, 144, 0,
+ 3, 124, 104, 4, 0, 4, 1, 0, 11, 42, 198, 184, 165, 165, 157,
+157, 150, 136, 100, 69, 0, 4, 1, 1, 40, 3, 86, 1, 82, 8,
+ 86, 1, 82, 5, 86, 0, 4, 51, 1, 4, 1, 3, 4, 0, 7,
+ 1, 1, 19, 82, 76, 76, 92, 0, 6, 95, 0, 3, 76, 1, 1,
+ 0, 4, 4, 0, 8, 1, 4, 4, 95, 95, 99, 7, 99, 6, 95,
+ 1, 92, 3, 1, 1, 86, 9, 95, 1, 86, 1, 1, 6, 4, 6,
+ 12, 1, 76, 4, 95, 0, 9, 99, 95, 25, 4, 4, 1, 11, 70,
+ 73, 0, 3, 119, 0, 0, 4, 119, 1, 114, 11, 1, 0, 6, 14,
+ 91, 111, 123, 151, 165, 4, 184, 0, 9, 165, 157, 144, 151, 165, 165,
+157, 138, 152, 0, 3, 1, 0, 3, 160, 186, 184, 0, 3, 173, 0,
+ 5, 165, 173, 151, 113, 59, 0, 20, 1, 0, 12, 81, 207, 189, 186,
+184, 165, 151, 141, 136, 124, 101, 29, 8, 1, 1, 236, 1, 186, 3,
+184, 0, 6, 165, 157, 157, 144, 123, 91, 4, 1, 0, 11, 217, 207,
+186, 165, 144, 144, 151, 144, 124, 101, 93, 0, 5, 1, 0, 11, 198,
+186, 173, 157, 151, 157, 157, 151, 124, 101, 4, 0, 4, 1, 0, 11,
+ 14, 198, 186, 184, 173, 184, 165, 157, 134, 113, 115, 0, 3, 1, 1,
+190, 1, 207, 3, 186, 0, 6, 184, 144, 124, 123, 113, 104, 4, 1,
+ 0, 12, 29, 216, 186, 186, 184, 173, 157, 138, 134, 113, 104, 4, 4,
+ 1, 0, 11, 48, 198, 184, 165, 165, 172, 165, 157, 151, 113, 69, 0,
+ 4, 1, 1, 40, 3, 86, 1, 92, 11, 86, 0, 5, 92, 86, 86,
+ 92, 47, 0, 3, 1, 4, 4, 1, 0, 1, 110, 4, 99, 1, 95,
+ 4, 99, 0, 3, 106, 1, 1, 0, 6, 4, 0, 6, 25, 99, 99,
+106, 7, 106, 6, 99, 0, 5, 82, 1, 1, 4, 12, 0, 10, 99,
+ 0, 14, 38, 1, 1, 4, 1, 4, 4, 40, 92, 92, 86, 95, 40,
+ 76, 3, 99, 0, 4, 95, 99, 99, 30, 4, 4, 1, 70, 1, 73,
+ 3, 119, 0, 0, 5, 119, 1, 98, 9, 1, 0, 9, 59, 115, 101,
+113, 144, 173, 180, 184, 184, 0, 4, 180, 1, 173, 3, 157, 0, 3,
+151, 134, 115, 0, 3, 1, 0, 3, 139, 207, 202, 0, 3, 180, 0,
+ 5, 172, 172, 165, 123, 91, 0, 20, 1, 0, 12, 62, 207, 202, 202,
+200, 180, 173, 151, 138, 123, 101, 35, 8, 1, 0, 11, 236, 200, 184,
+180, 200, 184, 173, 144, 138, 113, 78, 0, 4, 1, 0, 11, 236, 207,
+207, 200, 173, 157, 173, 157, 134, 101, 104, 0, 4, 1, 0, 12, 21,
+180, 200, 180, 173, 157, 157, 151, 144, 124, 101, 32, 4, 1, 1, 35,
+ 1, 193, 5, 180, 0, 4, 173, 138, 113, 91, 3, 1, 0, 11, 190,
+184, 180, 180, 202, 202, 173, 151, 134, 113, 112, 0, 4, 1, 0, 3,
+ 54, 193, 200, 0, 3, 184, 0, 6, 172, 151, 138, 113, 101, 8, 4,
+ 1, 0, 11, 54, 198, 200, 180, 172, 172, 173, 165, 157, 123, 54, 0,
+ 4, 1, 1, 47, 8, 92, 1, 86, 6, 92, 0, 5, 86, 86, 92,
+ 92, 82, 0, 3, 4, 1, 1, 1, 4, 3, 1, 3, 99, 1, 106,
+ 6, 99, 0, 15, 110, 7, 1, 4, 4, 1, 1, 4, 1, 74, 99,
+ 99, 110, 7, 106, 0, 3, 99, 0, 9, 106, 99, 106, 43, 1, 4,
+ 1, 4, 76, 0, 6, 99, 1, 106, 3, 99, 4, 1, 0, 9, 4,
+ 1, 38, 106, 99, 106, 99, 43, 74, 0, 3, 99, 0, 10, 106, 99,
+ 99, 38, 1, 4, 1, 4, 70, 70, 3, 119, 0, 0, 5, 119, 1,
+114, 7, 1, 0, 11, 29, 104, 113, 124, 124, 134, 144, 157, 182, 182,
+180, 0, 5, 182, 0, 6, 172, 172, 165, 144, 134, 8, 3, 1, 0,
+ 4, 118, 231, 207, 198, 4, 182, 0, 3, 161, 134, 115, 0, 9, 1,
+ 0, 3, 4, 48, 29, 0, 8, 1, 0, 4, 48, 221, 202, 200, 3,
+182, 0, 5, 165, 144, 134, 100, 48, 0, 8, 1, 0, 11, 236, 200,
+200, 196, 196, 198, 182, 144, 136, 113, 78, 0, 4, 1, 1, 236, 3,
+200, 0, 7, 198, 182, 172, 165, 136, 113, 104, 0, 4, 1, 1, 69,
+ 4, 182, 0, 7, 172, 172, 161, 144, 124, 100, 69, 0, 4, 1, 1,
+ 78, 1, 193, 6, 182, 0, 3, 144, 113, 69, 0, 3, 1, 0, 11,
+202, 200, 182, 182, 196, 200, 196, 182, 150, 124, 115, 0, 4, 1, 0,
+ 3, 102, 182, 198, 0, 4, 182, 0, 5, 165, 145, 134, 100, 48, 0,
+ 4, 1, 0, 4, 91, 196, 200, 180, 3, 182, 0, 4, 172, 157, 124,
+ 39, 4, 1, 0, 5, 58, 95, 92, 95, 92, 0, 4, 95, 0, 7,
+ 92, 92, 95, 95, 92, 95, 92, 0, 3, 95, 0, 11, 92, 92, 1,
+ 4, 1, 4, 1, 4, 4, 1, 74, 0, 7, 106, 0, 4, 99, 106,
+110, 19, 5, 4, 0, 8, 1, 4, 106, 99, 106, 110, 7, 110, 6,
+106, 1, 4, 1, 4, 3, 1, 1, 7, 10, 106, 0, 8, 58, 4,
+ 4, 1, 1, 4, 30, 110, 3, 106, 1, 43, 1, 66, 6, 106, 0,
+ 7, 51, 1, 1, 4, 4, 60, 70, 0, 3, 119, 0, 0, 5, 119,
+ 1, 34, 6, 1, 0, 13, 54, 125, 124, 136, 150, 145, 136, 144, 150,
+177, 194, 196, 196, 0, 5, 185, 0, 4, 177, 172, 150, 115, 4, 1,
+ 0, 4, 46, 229, 207, 200, 3, 196, 0, 5, 185, 172, 144, 113, 18,
+ 0, 8, 1, 0, 8, 59, 101, 101, 111, 91, 48, 29, 4, 3, 1,
+ 0, 12, 35, 225, 200, 196, 194, 185, 185, 182, 157, 136, 113, 59, 8,
+ 1, 1, 236, 1, 200, 5, 196, 0, 4, 172, 144, 120, 78, 4, 1,
+ 1, 236, 4, 196, 0, 7, 194, 182, 172, 145, 113, 101, 18, 0, 3,
+ 1, 0, 3, 168, 172, 177, 0, 3, 185, 0, 6, 172, 172, 161, 144,
+124, 115, 4, 1, 0, 11, 152, 177, 194, 194, 196, 196, 194, 194, 161,
+124, 42, 0, 3, 1, 0, 12, 202, 196, 185, 172, 185, 196, 196, 185,
+161, 136, 113, 4, 3, 1, 0, 4, 142, 177, 196, 196, 3, 185, 0,
+ 5, 177, 161, 144, 124, 125, 0, 4, 1, 0, 11, 151, 185, 196, 196,
+194, 185, 185, 177, 157, 124, 21, 0, 4, 1, 1, 74, 4, 95, 1,
+ 99, 3, 95, 0, 3, 92, 61, 99, 0, 5, 95, 1, 99, 3, 95,
+ 3, 4, 0, 11, 1, 4, 4, 1, 1, 51, 106, 106, 110, 106, 106,
+ 0, 3, 110, 0, 6, 106, 110, 30, 1, 4, 1, 3, 4, 1, 7,
+ 3, 106, 0, 16, 117, 7, 110, 106, 110, 110, 106, 106, 95, 1, 4,
+ 4, 1, 4, 1, 64, 3, 110, 3, 106, 0, 16, 110, 106, 110, 110,
+ 7, 4, 1, 4, 1, 19, 117, 110, 106, 110, 47, 74, 3, 106, 3,
+110, 1, 64, 3, 1, 0, 3, 4, 50, 65, 0, 3, 119, 0, 0,
+ 4, 119, 1, 77, 6, 1, 0, 11, 91, 124, 131, 161, 177, 185, 177,
+161, 153, 161, 185, 0, 9, 194, 1, 177, 1, 168, 6, 1, 0, 12,
+221, 221, 200, 196, 194, 194, 185, 161, 145, 124, 115, 4, 6, 1, 0,
+ 4, 29, 111, 100, 113, 4, 100, 0, 16, 125, 91, 1, 1, 23, 225,
+222, 196, 194, 187, 194, 185, 172, 145, 116, 78, 7, 1, 0, 4, 4,
+235, 196, 196, 4, 194, 0, 4, 177, 150, 124, 67, 4, 1, 0, 18,
+235, 194, 196, 196, 194, 194, 196, 194, 177, 140, 116, 115, 23, 14, 59,
+157, 177, 177, 5, 194, 0, 10, 177, 172, 145, 124, 91, 18, 14, 78,
+145, 172, 4, 194, 0, 5, 185, 177, 153, 134, 10, 0, 3, 1, 0,
+ 17, 198, 194, 177, 161, 177, 194, 194, 185, 194, 172, 136, 125, 23, 14,
+ 69, 157, 185, 0, 3, 194, 0, 22, 185, 194, 185, 177, 161, 145, 120,
+ 67, 15, 15, 91, 150, 177, 185, 185, 194, 194, 185, 177, 145, 113, 8,
+ 4, 1, 8, 99, 0, 3, 106, 19, 30, 0, 10, 99, 0, 3, 4,
+ 4, 1, 0, 3, 4, 0, 3, 1, 1, 38, 0, 10, 117, 0, 8,
+ 38, 1, 4, 4, 1, 4, 4, 47, 3, 117, 1, 121, 1, 12, 6,
+117, 0, 3, 76, 4, 4, 0, 5, 1, 10, 117, 0, 7, 99, 1,
+ 1, 4, 4, 7, 121, 0, 3, 117, 1, 47, 1, 76, 6, 117, 0,
+ 7, 92, 1, 4, 1, 1, 45, 63, 0, 3, 119, 0, 0, 3, 119,
+ 1, 114, 6, 1, 0, 8, 104, 109, 136, 145, 161, 187, 194, 194, 4,
+195, 0, 4, 194, 210, 194, 194, 3, 210, 0, 4, 194, 187, 180, 8,
+ 6, 1, 0, 13, 201, 226, 220, 215, 194, 195, 195, 177, 153, 131, 100,
+115, 21, 0, 3, 1, 0, 26, 8, 42, 111, 109, 124, 131, 124, 120,
+113, 100, 100, 112, 1, 1, 4, 240, 220, 215, 210, 194, 195, 195, 177,
+145, 120, 115, 7, 1, 0, 12, 4, 235, 215, 210, 210, 194, 195, 185,
+177, 149, 124, 69, 4, 1, 1, 235, 1, 195, 3, 187, 0, 29, 177,
+194, 194, 195, 177, 150, 140, 136, 151, 161, 177, 185, 195, 195, 194, 195,
+187, 187, 185, 161, 150, 140, 124, 123, 134, 136, 153, 177, 187, 0, 3,
+195, 0, 4, 187, 177, 145, 123, 4, 1, 0, 42, 198, 215, 195, 161,
+161, 169, 185, 169, 161, 177, 162, 145, 144, 151, 150, 169, 195, 194, 195,
+195, 194, 195, 195, 187, 172, 153, 136, 116, 124, 134, 136, 153, 177, 177,
+185, 187, 195, 187, 177, 145, 132, 4, 3, 1, 1, 12, 1, 110, 7,
+106, 0, 4, 92, 0, 4, 106, 3, 99, 4, 106, 0, 12, 99, 99,
+ 33, 1, 4, 1, 1, 4, 1, 4, 30, 127, 5, 121, 0, 6, 127,
+127, 121, 127, 61, 1, 3, 4, 0, 10, 1, 1, 127, 127, 121, 127,
+130, 12, 127, 127, 3, 121, 0, 11, 127, 38, 1, 4, 1, 4, 1,
+ 1, 4, 58, 127, 0, 3, 121, 0, 12, 127, 127, 121, 127, 121, 127,
+ 25, 1, 4, 4, 1, 130, 3, 121, 0, 3, 51, 86, 127, 0, 6,
+121, 1, 1, 3, 4, 1, 37, 1, 63, 3, 119, 0, 0, 3, 119,
+ 1, 41, 5, 1, 0, 4, 115, 126, 136, 145, 3, 161, 0, 4, 177,
+195, 195, 187, 3, 195, 1, 210, 1, 220, 4, 215, 0, 3, 210, 210,
+ 14, 0, 7, 1, 0, 5, 118, 228, 226, 215, 210, 0, 3, 195, 0,
+ 20, 187, 153, 131, 116, 113, 115, 91, 115, 123, 126, 131, 140, 145, 149,
+145, 131, 124, 109, 100, 39, 3, 1, 0, 11, 240, 226, 220, 220, 215,
+210, 208, 195, 153, 124, 125, 0, 7, 1, 0, 4, 4, 235, 215, 210,
+ 3, 208, 0, 5, 195, 177, 149, 124, 59, 0, 4, 1, 1, 235, 1,
+208, 3, 187, 0, 11, 169, 161, 177, 187, 179, 162, 161, 161, 162, 179,
+208, 0, 4, 210, 0, 13, 215, 208, 187, 177, 169, 153, 145, 149, 145,
+145, 153, 177, 187, 0, 5, 195, 0, 3, 179, 145, 125, 0, 4, 1,
+ 0, 18, 216, 215, 215, 195, 177, 169, 177, 177, 153, 149, 161, 169, 153,
+161, 177, 187, 195, 210, 3, 215, 3, 210, 0, 17, 187, 162, 149, 140,
+133, 145, 161, 162, 177, 187, 187, 195, 195, 187, 177, 145, 115, 0, 4,
+ 1, 1, 38, 8, 106, 0, 3, 7, 4, 1, 0, 10, 106, 0, 10,
+ 55, 1, 1, 4, 4, 1, 4, 4, 19, 135, 9, 130, 0, 7, 95,
+ 1, 4, 4, 1, 4, 12, 0, 4, 130, 1, 135, 1, 12, 3, 130,
+ 0, 7, 127, 130, 130, 1, 4, 1, 4, 0, 5, 1, 1, 121, 1,
+127, 5, 130, 0, 9, 127, 130, 130, 135, 4, 1, 4, 1, 127, 0,
+ 3, 130, 1, 51, 1, 92, 6, 130, 0, 10, 135, 1, 1, 4, 1,
+ 27, 63, 107, 119, 119, 0, 0, 0, 3, 119, 119, 107, 0, 5, 1,
+ 0, 13, 78, 145, 162, 177, 179, 187, 195, 179, 177, 179, 162, 177, 195,
+ 0, 3, 208, 4, 215, 1, 211, 1, 191, 10, 1, 0, 4, 245, 228,
+220, 210, 3, 208, 0, 20, 199, 177, 153, 145, 140, 131, 131, 140, 149,
+162, 187, 187, 179, 187, 187, 177, 145, 126, 123, 8, 3, 1, 0, 5,
+221, 220, 220, 215, 211, 0, 3, 208, 0, 4, 187, 140, 123, 8, 6,
+ 1, 0, 3, 8, 219, 211, 0, 4, 208, 0, 5, 195, 177, 149, 126,
+ 54, 0, 4, 1, 0, 12, 240, 215, 208, 204, 197, 197, 187, 177, 179,
+162, 161, 177, 3, 187, 3, 208, 1, 211, 1, 211, 3, 215, 0, 18,
+211, 208, 187, 162, 153, 161, 162, 161, 177, 187, 195, 197, 197, 208, 209,
+187, 145, 54, 4, 1, 0, 5, 216, 220, 215, 211, 208, 0, 4, 195,
+ 0, 9, 177, 162, 162, 149, 161, 179, 195, 197, 204, 0, 5, 211, 0,
+ 8, 215, 210, 208, 195, 187, 169, 153, 161, 3, 177, 0, 7, 187, 197,
+199, 187, 177, 145, 32, 0, 4, 1, 1, 40, 5, 110, 0, 3, 106,
+110, 76, 0, 3, 1, 0, 4, 99, 110, 110, 106, 6, 110, 0, 10,
+106, 1, 4, 4, 1, 4, 1, 4, 4, 148, 10, 135, 1, 1, 1,
+ 1, 3, 4, 1, 33, 4, 135, 0, 3, 143, 12, 143, 0, 4, 135,
+ 1, 117, 1, 1, 3, 4, 0, 6, 5, 4, 4, 1, 1, 47, 10,
+135, 1, 43, 3, 1, 1, 117, 3, 135, 1, 55, 1, 99, 6, 135,
+ 0, 10, 143, 7, 1, 1, 4, 22, 63, 98, 119, 119, 0, 0, 0,
+ 3, 119, 119, 65, 0, 4, 1, 0, 16, 4, 151, 177, 199, 209, 204,
+199, 197, 197, 187, 187, 177, 187, 199, 208, 211, 4, 215, 1, 219, 1,
+115, 11, 1, 0, 26, 146, 231, 226, 215, 208, 197, 197, 187, 169, 153,
+153, 179, 179, 169, 177, 169, 177, 195, 208, 208, 204, 199, 197, 177, 145,
+ 59, 4, 1, 0, 12, 188, 220, 215, 215, 211, 208, 204, 204, 195, 149,
+124, 14, 6, 1, 0, 12, 10, 219, 208, 204, 195, 187, 187, 177, 161,
+133, 116, 54, 3, 1, 0, 14, 4, 240, 220, 215, 211, 208, 199, 199,
+197, 187, 177, 179, 197, 204, 4, 208, 0, 5, 211, 208, 208, 211, 215,
+ 0, 3, 220, 0, 10, 215, 209, 179, 177, 177, 162, 177, 187, 187, 195,
+ 3, 187, 1, 162, 1, 138, 5, 1, 1, 225, 1, 215, 3, 211, 0,
+ 11, 208, 208, 204, 197, 197, 195, 187, 177, 187, 197, 204, 0, 3, 208,
+ 0, 4, 211, 215, 211, 211, 4, 215, 0, 14, 211, 208, 187, 177, 179,
+179, 177, 187, 195, 195, 187, 161, 144, 4, 4, 1, 0, 4, 33, 30,
+121, 121, 4, 117, 0, 11, 1, 4, 1, 1, 86, 121, 117, 117, 121,
+117, 117, 0, 4, 86, 1, 4, 3, 1, 0, 8, 4, 1, 4, 1,
+135, 143, 148, 148, 6, 143, 0, 19, 156, 7, 1, 4, 4, 1, 110,
+143, 143, 148, 143, 148, 12, 148, 143, 148, 148, 143, 82, 0, 3, 1,
+ 1, 4, 1, 60, 3, 4, 0, 6, 1, 1, 121, 148, 143, 148, 3,
+143, 0, 13, 148, 143, 143, 156, 12, 4, 1, 110, 143, 143, 148, 64,
+106, 0, 6, 143, 0, 10, 156, 19, 4, 1, 4, 17, 65, 88, 119,
+119, 0, 0, 0, 3, 119, 119, 27, 0, 4, 1, 0, 21, 142, 161,
+177, 197, 208, 208, 204, 199, 197, 199, 195, 179, 195, 208, 208, 211, 215,
+215, 210, 217, 10, 0, 13, 1, 0, 13, 229, 234, 226, 211, 195, 187,
+179, 169, 161, 153, 187, 199, 187, 0, 3, 177, 1, 187, 4, 208, 0,
+ 4, 199, 179, 176, 4, 4, 1, 0, 12, 139, 223, 220, 211, 208, 199,
+197, 187, 169, 145, 124, 23, 6, 1, 0, 12, 14, 219, 208, 197, 187,
+177, 169, 162, 149, 129, 109, 48, 3, 1, 0, 12, 4, 240, 220, 215,
+215, 208, 208, 209, 208, 209, 197, 209, 5, 211, 4, 208, 0, 20, 211,
+215, 215, 220, 220, 215, 211, 204, 197, 197, 187, 177, 195, 197, 204, 197,
+187, 179, 161, 69, 5, 1, 0, 4, 225, 215, 208, 208, 3, 211, 3,
+208, 0, 3, 211, 208, 199, 0, 4, 208, 3, 211, 1, 210, 3, 215,
+ 0, 6, 211, 211, 215, 210, 208, 208, 3, 197, 0, 7, 179, 187, 197,
+197, 187, 161, 39, 0, 4, 1, 0, 4, 25, 135, 64, 12, 4, 127,
+ 1, 58, 3, 4, 0, 4, 1, 86, 127, 130, 3, 127, 0, 7, 121,
+ 4, 64, 61, 61, 4, 1, 0, 3, 4, 0, 6, 1, 4, 1, 106,
+156, 148, 5, 156, 0, 15, 148, 156, 156, 25, 1, 1, 4, 7, 156,
+156, 148, 156, 148, 156, 12, 0, 5, 127, 0, 26, 30, 1, 1, 4,
+ 4, 63, 45, 1, 1, 4, 4, 38, 156, 156, 148, 156, 148, 156, 156,
+148, 156, 148, 95, 1, 1, 99, 3, 156, 1, 66, 1, 110, 4, 156,
+ 0, 12, 148, 148, 156, 25, 1, 1, 4, 16, 65, 77, 119, 119, 0,
+ 0, 1, 119, 1, 119, 5, 1, 0, 14, 182, 179, 187, 195, 199, 204,
+199, 199, 197, 197, 187, 177, 195, 208, 3, 215, 1, 240, 1, 32, 15,
+ 1, 0, 6, 28, 248, 234, 226, 220, 215, 3, 208, 0, 15, 187, 197,
+209, 208, 197, 197, 187, 187, 204, 208, 211, 208, 197, 193, 14, 0, 5,
+ 1, 0, 5, 118, 228, 226, 215, 208, 0, 3, 197, 0, 4, 179, 149,
+120, 39, 6, 1, 0, 12, 14, 215, 211, 208, 204, 199, 195, 187, 177,
+149, 116, 42, 3, 1, 0, 6, 4, 225, 223, 220, 215, 215, 3, 211,
+ 0, 19, 208, 209, 225, 220, 223, 223, 220, 215, 215, 211, 208, 211, 220,
+242, 221, 226, 223, 220, 215, 0, 3, 211, 0, 9, 204, 187, 197, 208,
+211, 211, 208, 195, 142, 0, 6, 1, 0, 3, 222, 223, 215, 0, 6,
+211, 0, 4, 215, 225, 215, 211, 6, 215, 0, 8, 220, 220, 242, 226,
+226, 220, 215, 215, 3, 211, 0, 9, 208, 211, 211, 197, 197, 208, 204,
+195, 142, 0, 5, 1, 0, 9, 86, 130, 135, 110, 1, 121, 135, 127,
+ 1, 0, 3, 4, 0, 4, 1, 61, 135, 130, 3, 135, 0, 16, 130,
+ 4, 135, 130, 135, 7, 4, 4, 1, 4, 1, 4, 1, 64, 156, 167,
+ 7, 156, 0, 7, 167, 38, 1, 4, 1, 25, 167, 0, 4, 156, 0,
+ 22, 167, 76, 74, 76, 76, 74, 66, 1, 4, 1, 1, 6, 77, 119,
+ 6, 4, 4, 1, 1, 117, 156, 167, 7, 156, 0, 4, 167, 25, 1,
+ 86, 3, 156, 1, 74, 1, 117, 6, 156, 0, 10, 167, 33, 4, 1,
+ 1, 11, 70, 73, 119, 119, 0, 0, 1, 119, 1, 88, 4, 1, 0,
+ 18, 23, 209, 209, 199, 195, 197, 195, 197, 197, 199, 197, 179, 169, 195,
+208, 211, 235, 42, 18, 1, 0, 16, 36, 252, 238, 233, 226, 220, 215,
+215, 208, 211, 211, 215, 215, 211, 208, 208, 3, 211, 0, 3, 208, 219,
+ 29, 0, 6, 1, 0, 12, 71, 231, 233, 226, 215, 211, 211, 215, 208,
+179, 133, 59, 6, 1, 0, 12, 20, 220, 220, 215, 211, 208, 208, 204,
+197, 162, 129, 39, 3, 1, 0, 6, 4, 243, 233, 228, 223, 220, 4,
+215, 0, 24, 168, 14, 250, 233, 233, 228, 226, 223, 220, 215, 220, 221,
+ 1, 36, 248, 238, 234, 228, 223, 220, 220, 215, 208, 211, 3, 215, 1,
+209, 1, 168, 7, 1, 0, 16, 243, 233, 228, 223, 220, 215, 215, 220,
+220, 201, 10, 243, 226, 228, 228, 226, 3, 223, 0, 19, 226, 201, 1,
+ 36, 248, 238, 233, 228, 226, 223, 220, 215, 215, 220, 215, 211, 211, 209,
+168, 0, 5, 1, 0, 10, 12, 148, 143, 143, 135, 135, 4, 82, 40,
+ 4, 3, 1, 0, 3, 4, 38, 148, 0, 5, 143, 0, 6, 4, 148,
+143, 143, 38, 1, 3, 4, 0, 4, 1, 4, 4, 40, 10, 167, 0,
+ 5, 55, 4, 1, 1, 76, 0, 11, 167, 0, 15, 121, 1, 1, 4,
+ 4, 37, 114, 119, 63, 4, 1, 4, 1, 25, 181, 0, 9, 167, 0,
+ 3, 148, 1, 74, 0, 3, 167, 1, 76, 1, 117, 7, 167, 0, 9,
+ 40, 4, 1, 4, 4, 70, 70, 119, 119, 0, 0, 0, 1, 119, 1,
+ 73, 4, 1, 0, 17, 78, 211, 211, 208, 199, 199, 197, 199, 199, 208,
+208, 195, 162, 179, 219, 91, 4, 0, 20, 1, 0, 20, 10, 252, 244,
+238, 233, 226, 223, 220, 215, 215, 223, 223, 220, 220, 215, 220, 215, 210,
+235, 18, 7, 1, 0, 12, 46, 234, 238, 238, 233, 226, 223, 223, 220,
+195, 153, 115, 6, 1, 0, 12, 28, 228, 228, 226, 223, 220, 215, 211,
+209, 179, 136, 39, 3, 1, 0, 6, 4, 248, 244, 238, 234, 233, 3,
+226, 0, 29, 223, 139, 1, 12, 232, 244, 238, 234, 233, 226, 222, 188,
+ 4, 1, 1, 12, 212, 244, 238, 234, 233, 233, 228, 226, 223, 223, 220,
+235, 54, 0, 8, 1, 0, 5, 249, 244, 244, 234, 228, 0, 3, 226,
+ 0, 12, 223, 122, 1, 7, 229, 248, 238, 234, 233, 226, 226, 164, 3,
+ 1, 0, 7, 10, 232, 244, 238, 238, 234, 233, 0, 3, 228, 0, 4,
+226, 215, 235, 42, 6, 1, 1, 127, 6, 148, 0, 9, 30, 4, 4,
+ 1, 1, 4, 1, 19, 156, 0, 5, 148, 0, 7, 4, 156, 148, 148,
+ 82, 1, 1, 0, 4, 4, 1, 1, 1, 30, 8, 181, 0, 8, 167,
+181, 86, 1, 4, 1, 181, 167, 4, 181, 1, 167, 3, 181, 0, 4,
+167, 181, 66, 4, 3, 1, 1, 65, 3, 119, 1, 11, 3, 4, 0,
+ 6, 1, 95, 167, 181, 181, 167, 3, 181, 0, 5, 167, 181, 181, 43,
+ 61, 0, 3, 181, 1, 95, 1, 86, 7, 181, 0, 9, 55, 1, 4,
+ 1, 4, 70, 70, 119, 119, 0, 0, 0, 1, 119, 1, 63, 4, 1,
+ 0, 15, 137, 215, 215, 211, 208, 204, 199, 199, 204, 199, 197, 195, 153,
+170, 18, 0, 8, 1, 0, 3, 4, 104, 104, 0, 13, 1, 0, 17,
+ 57, 252, 244, 238, 234, 233, 228, 226, 226, 233, 228, 226, 226, 223, 240,
+ 94, 4, 0, 8, 1, 0, 12, 10, 253, 252, 252, 248, 249, 250, 250,
+242, 235, 219, 191, 6, 1, 0, 12, 44, 234, 238, 234, 233, 233, 226,
+223, 215, 195, 161, 35, 3, 1, 0, 7, 4, 237, 252, 253, 252, 249,
+250, 0, 3, 242, 1, 81, 3, 1, 0, 6, 20, 96, 163, 163, 81,
+ 18, 6, 1, 0, 11, 20, 128, 248, 248, 249, 249, 250, 242, 139, 28,
+ 4, 0, 9, 1, 0, 10, 232, 252, 253, 252, 249, 250, 250, 242, 242,
+ 46, 3, 1, 0, 6, 20, 96, 163, 163, 81, 14, 6, 1, 0, 11,
+ 20, 146, 248, 248, 249, 245, 250, 229, 122, 28, 4, 0, 6, 1, 1,
+ 95, 6, 156, 0, 10, 167, 19, 4, 1, 4, 4, 1, 4, 1, 167,
+ 5, 156, 0, 17, 4, 167, 156, 156, 148, 1, 4, 1, 4, 4, 1,
+ 4, 19, 203, 181, 181, 192, 0, 3, 181, 0, 8, 192, 181, 192, 127,
+ 1, 1, 25, 192, 10, 181, 0, 7, 192, 25, 1, 4, 4, 5, 65,
+ 0, 3, 119, 1, 87, 1, 1, 3, 4, 1, 12, 1, 206, 6, 181,
+ 0, 10, 192, 181, 181, 192, 47, 192, 181, 181, 148, 25, 7, 181, 0,
+ 9, 76, 1, 1, 4, 4, 65, 65, 119, 119, 0, 0, 0, 1, 119,
+ 1, 63, 4, 1, 1, 137, 3, 220, 0, 10, 210, 211, 208, 208, 209,
+195, 187, 179, 157, 23, 8, 1, 0, 5, 39, 111, 100, 100, 78, 0,
+ 13, 1, 0, 6, 4, 28, 128, 252, 248, 248, 3, 245, 0, 5, 250,
+250, 164, 46, 8, 0, 12, 1, 3, 4, 3, 7, 0, 4, 8, 8,
+ 10, 4, 6, 1, 0, 12, 44, 248, 252, 252, 248, 245, 245, 226, 223,
+219, 210, 35, 9, 1, 0, 4, 4, 4, 8, 8, 19, 1, 0, 4,
+ 7, 8, 12, 4, 18, 1, 0, 4, 4, 4, 8, 8, 19, 1, 0,
+ 4, 7, 8, 8, 4, 9, 1, 1, 66, 7, 167, 0, 10, 121, 1,
+ 1, 4, 4, 1, 4, 4, 1, 148, 4, 167, 1, 156, 1, 7, 4,
+167, 0, 5, 4, 1, 1, 4, 1, 0, 3, 4, 1, 213, 9, 192,
+ 0, 4, 167, 1, 1, 51, 11, 192, 1, 181, 1, 1, 3, 4, 1,
+ 16, 1, 88, 4, 119, 1, 22, 3, 4, 1, 1, 1, 66, 10, 192,
+ 1, 181, 4, 192, 1, 1, 7, 192, 1, 117, 1, 1, 3, 4, 0,
+ 4, 56, 65, 119, 119, 0, 0, 1, 119, 1, 70, 4, 1, 0, 13,
+ 94, 220, 220, 215, 215, 210, 211, 208, 208, 197, 187, 153, 134, 0, 7,
+ 1, 0, 8, 15, 91, 113, 109, 108, 100, 113, 18, 5, 1, 1, 24,
+ 1, 4, 9, 1, 0, 6, 7, 20, 28, 28, 18, 10, 33, 1, 1,
+ 10, 3, 20, 4, 28, 1, 32, 1, 32, 90, 1, 0, 12, 106, 181,
+181, 167, 181, 167, 181, 167, 181, 4, 4, 1, 4, 4, 0, 9, 1,
+ 1, 135, 167, 167, 181, 167, 167, 7, 0, 4, 181, 1, 12, 6, 4,
+ 1, 1, 1, 181, 5, 203, 3, 206, 0, 8, 203, 213, 1, 1, 148,
+203, 206, 206, 3, 203, 1, 206, 4, 203, 0, 6, 117, 1, 1, 4,
+ 1, 45, 5, 119, 0, 9, 103, 1, 1, 4, 1, 7, 213, 203, 206,
+ 0, 3, 203, 1, 206, 7, 203, 0, 3, 206, 47, 181, 0, 6, 203,
+ 0, 9, 143, 1, 1, 4, 1, 45, 65, 119, 119, 0, 0, 0, 1,
+119, 1, 87, 4, 1, 0, 14, 32, 223, 220, 215, 215, 211, 211, 208,
+208, 209, 187, 145, 124, 29, 4, 1, 0, 10, 35, 78, 113, 109, 126,
+140, 133, 109, 105, 115, 5, 1, 0, 3, 41, 63, 34, 0, 22, 1,
+ 0, 4, 31, 114, 119, 13, 74, 1, 0, 4, 11, 88, 114, 17, 41,
+ 1, 1, 25, 1, 156, 8, 181, 1, 95, 1, 1, 3, 4, 0, 6,
+ 9, 4, 4, 1, 1, 117, 5, 181, 1, 4, 4, 181, 1, 19, 1,
+ 4, 3, 1, 0, 8, 4, 1, 1, 121, 206, 213, 206, 213, 5, 206,
+ 0, 4, 218, 25, 12, 218, 4, 206, 1, 213, 5, 206, 0, 7, 213,
+ 58, 4, 1, 4, 4, 70, 0, 6, 119, 0, 6, 34, 1, 4, 4,
+ 1, 51, 14, 206, 1, 148, 1, 61, 6, 206, 1, 181, 1, 1, 3,
+ 4, 0, 4, 37, 63, 119, 119, 0, 0, 1, 119, 1, 119, 5, 1,
+ 0, 28, 228, 226, 215, 215, 211, 208, 197, 195, 187, 179, 149, 116, 123,
+ 67, 69, 78, 111, 113, 116, 131, 145, 153, 177, 177, 140, 109, 105, 59,
+ 4, 1, 0, 5, 27, 63, 119, 77, 11, 0, 19, 1, 1, 63, 3,
+119, 1, 114, 1, 24, 54, 1, 0, 5, 9, 45, 87, 88, 41, 0,
+ 12, 1, 1, 31, 1, 73, 4, 119, 1, 34, 21, 1, 0, 5, 11,
+ 45, 88, 87, 37, 0, 12, 1, 0, 3, 47, 130, 206, 0, 8, 192,
+ 1, 181, 3, 1, 0, 8, 4, 4, 98, 4, 1, 4, 4, 95, 5,
+192, 1, 7, 1, 135, 3, 192, 0, 3, 47, 1, 1, 0, 3, 4,
+ 0, 4, 1, 1, 66, 218, 6, 213, 0, 6, 206, 213, 218, 40, 43,
+218, 10, 213, 1, 224, 1, 12, 3, 4, 1, 9, 1, 73, 6, 119,
+ 1, 114, 1, 1, 4, 4, 1, 206, 13, 213, 1, 192, 1, 7, 6,
+213, 1, 218, 1, 1, 3, 4, 0, 4, 31, 63, 114, 119, 0, 0,
+ 0, 3, 119, 119, 22, 0, 4, 1, 0, 28, 229, 228, 220, 211, 211,
+208, 197, 199, 195, 187, 169, 145, 133, 131, 129, 129, 133, 133, 149, 162,
+169, 187, 195, 197, 169, 133, 109, 125, 4, 1, 1, 13, 1, 77, 3,
+119, 1, 73, 1, 31, 14, 1, 1, 24, 1, 60, 7, 119, 0, 7,
+ 77, 45, 31, 22, 17, 17, 16, 0, 3, 13, 0, 7, 11, 11, 17,
+ 37, 73, 119, 56, 0, 16, 1, 0, 21, 41, 56, 41, 34, 31, 27,
+ 27, 24, 17, 16, 17, 34, 56, 107, 119, 103, 70, 52, 52, 70, 107,
+ 0, 6, 119, 0, 10, 87, 52, 34, 17, 13, 16, 24, 37, 52, 87,
+ 8, 119, 0, 21, 98, 56, 41, 31, 31, 27, 27, 22, 17, 16, 17,
+ 34, 56, 114, 119, 103, 65, 50, 52, 70, 107, 0, 6, 119, 0, 3,
+ 87, 52, 4, 0, 3, 1, 0, 9, 4, 30, 99, 156, 213, 206, 203,
+203, 206, 0, 6, 203, 0, 14, 206, 64, 4, 4, 1, 4, 22, 119,
+ 5, 1, 4, 1, 55, 206, 4, 203, 0, 10, 192, 4, 206, 203, 203,
+110, 1, 4, 4, 1, 3, 4, 1, 33, 5, 218, 1, 213, 1, 213,
+ 3, 218, 0, 20, 64, 117, 218, 218, 213, 218, 218, 213, 218, 218, 213,
+218, 218, 181, 1, 1, 4, 1, 24, 98, 7, 119, 0, 6, 45, 1,
+ 4, 1, 1, 33, 7, 218, 1, 213, 4, 218, 0, 4, 213, 218, 12,
+224, 5, 218, 0, 9, 227, 4, 4, 1, 4, 22, 63, 98, 119, 0,
+ 0, 0, 0, 3, 119, 119, 56, 0, 4, 1, 0, 5, 28, 231, 226,
+215, 211, 0, 5, 208, 0, 18, 195, 177, 162, 177, 177, 162, 177, 179,
+195, 197, 187, 195, 199, 204, 195, 161, 138, 35, 4, 1, 1, 27, 7,
+119, 0, 5, 87, 50, 31, 17, 5, 0, 3, 1, 0, 4, 11, 27,
+ 41, 73, 27, 119, 0, 5, 114, 45, 24, 11, 4, 0, 4, 1, 1,
+ 4, 3, 1, 0, 3, 11, 34, 88, 0, 73, 119, 0, 10, 107, 4,
+ 1, 1, 4, 1, 181, 206, 206, 213, 10, 206, 0, 14, 167, 1, 1,
+ 4, 1, 4, 119, 119, 5, 1, 4, 4, 33, 218, 4, 206, 0, 7,
+213, 19, 218, 213, 213, 192, 1, 0, 3, 4, 0, 5, 1, 4, 4,
+ 25, 227, 0, 4, 218, 3, 224, 0, 4, 218, 218, 121, 218, 4, 224,
+ 1, 218, 5, 224, 0, 3, 218, 99, 1, 0, 3, 4, 1, 52, 9,
+119, 0, 9, 5, 4, 4, 1, 1, 203, 224, 218, 224, 0, 3, 218,
+ 0, 3, 224, 224, 218, 0, 4, 224, 1, 86, 1, 156, 5, 227, 0,
+ 9, 239, 19, 4, 4, 1, 13, 63, 88, 119, 0, 0, 0, 0, 3,
+119, 119, 98, 0, 5, 1, 0, 19, 163, 234, 228, 220, 215, 211, 211,
+215, 215, 211, 197, 179, 187, 204, 208, 209, 208, 211, 208, 0, 3, 211,
+ 0, 4, 208, 199, 193, 29, 5, 1, 1, 77, 135, 119, 0, 6, 11,
+ 4, 4, 1, 1, 82, 13, 213, 1, 224, 1, 40, 3, 1, 0, 10,
+ 4, 37, 119, 119, 13, 4, 1, 4, 1, 224, 4, 213, 0, 6, 218,
+ 7, 43, 43, 40, 43, 4, 1, 3, 4, 0, 4, 12, 239, 227, 227,
+ 7, 224, 0, 7, 227, 224, 227, 224, 224, 227, 227, 0, 4, 224, 0,
+ 4, 227, 230, 43, 1, 3, 4, 1, 73, 9, 119, 1, 56, 3, 4,
+ 1, 1, 1, 19, 3, 227, 4, 224, 4, 227, 0, 18, 224, 224, 206,
+ 19, 51, 51, 47, 43, 43, 47, 7, 1, 1, 4, 11, 65, 77, 119,
+ 0, 0, 3, 119, 1, 27, 5, 1, 0, 13, 212, 238, 231, 226, 215,
+208, 211, 215, 215, 210, 208, 208, 211, 0, 3, 215, 5, 220, 1, 219,
+ 1, 176, 6, 1, 1, 4, 135, 119, 1, 73, 3, 4, 1, 1, 1,
+ 7, 14, 218, 0, 6, 148, 1, 4, 1, 1, 4, 3, 119, 0, 6,
+ 37, 4, 4, 1, 1, 213, 5, 218, 0, 6, 203, 203, 192, 203, 206,
+ 19, 3, 1, 4, 4, 1, 241, 16, 227, 1, 230, 4, 227, 0, 7,
+241, 4, 4, 1, 4, 11, 77, 0, 10, 119, 0, 6, 9, 4, 1,
+ 4, 1, 167, 10, 227, 0, 3, 230, 227, 227, 0, 5, 213, 0, 10,
+206, 218, 40, 4, 4, 1, 9, 65, 73, 119, 0, 0, 3, 119, 1,
+107, 6, 1, 0, 7, 178, 244, 238, 233, 220, 215, 220, 0, 3, 215,
+ 0, 4, 210, 215, 215, 220, 3, 215, 0, 4, 220, 220, 225, 94, 6,
+ 1, 1, 2, 1, 103, 135, 119, 1, 4, 4, 1, 1, 148, 4, 224,
+ 1, 218, 5, 224, 0, 5, 218, 224, 224, 230, 25, 0, 3, 4, 1,
+ 1, 1, 52, 3, 119, 0, 6, 60, 1, 1, 4, 1, 181, 4, 224,
+ 1, 218, 5, 224, 0, 9, 30, 4, 1, 1, 4, 1, 4, 1, 206,
+ 0, 4, 230, 0, 3, 227, 230, 227, 0, 5, 230, 3, 227, 0, 8,
+230, 230, 227, 227, 230, 230, 167, 1, 3, 4, 1, 31, 1, 103, 10,
+119, 0, 9, 77, 4, 1, 4, 1, 4, 230, 227, 227, 0, 7, 230,
+ 3, 227, 3, 230, 3, 227, 0, 9, 239, 58, 4, 4, 1, 6, 70,
+ 65, 119, 0, 0, 0, 4, 119, 1, 73, 6, 1, 0, 6, 57, 237,
+244, 234, 228, 226, 3, 223, 0, 9, 220, 220, 223, 226, 226, 220, 215,
+225, 139, 0, 7, 1, 1, 4, 1, 107, 135, 119, 1, 41, 1, 1,
+ 3, 4, 0, 7, 33, 230, 224, 227, 224, 227, 224, 0, 4, 227, 0,
+ 10, 224, 227, 224, 227, 110, 1, 4, 1, 1, 13, 4, 119, 0, 10,
+103, 4, 1, 4, 1, 143, 227, 227, 224, 227, 5, 224, 0, 3, 227,
+ 55, 1, 0, 5, 4, 1, 1, 1, 127, 4, 230, 1, 239, 3, 230,
+ 0, 19, 239, 230, 230, 239, 230, 239, 230, 227, 230, 239, 230, 230, 239,
+ 74, 1, 4, 4, 1, 60, 0, 12, 119, 1, 17, 4, 1, 0, 3,
+135, 230, 239, 0, 10, 230, 1, 227, 6, 230, 0, 8, 82, 1, 1,
+ 4, 4, 70, 65, 119, 0, 0, 5, 119, 1, 37, 7, 1, 0, 7,
+ 53, 212, 237, 238, 234, 233, 231, 0, 4, 228, 0, 3, 231, 201, 42,
+ 0, 8, 1, 1, 11, 136, 119, 0, 7, 107, 1, 4, 4, 1, 1,
+203, 0, 3, 227, 0, 17, 230, 230, 227, 227, 230, 227, 230, 230, 227,
+227, 241, 12, 1, 4, 1, 1, 77, 0, 5, 119, 0, 5, 2, 1,
+ 4, 1, 110, 0, 3, 227, 1, 224, 1, 230, 5, 227, 0, 4, 130,
+ 1, 4, 1, 3, 4, 0, 3, 1, 58, 230, 0, 6, 239, 0, 5,
+230, 230, 239, 239, 230, 0, 7, 239, 0, 8, 230, 246, 33, 1, 4,
+ 4, 9, 77, 12, 119, 1, 88, 3, 4, 0, 3, 1, 1, 230, 0,
+ 7, 239, 1, 230, 3, 239, 0, 9, 230, 230, 239, 239, 230, 239, 239,
+110, 1, 0, 3, 4, 0, 3, 70, 65, 119, 0, 0, 0, 6, 119,
+ 1, 31, 9, 1, 1, 2, 1, 36, 3, 71, 1, 57, 1, 18, 11,
+ 1, 1, 41, 137, 119, 0, 10, 11, 4, 1, 4, 4, 95, 239, 230,
+227, 227, 3, 230, 0, 3, 227, 230, 227, 0, 4, 230, 0, 6, 61,
+ 1, 1, 4, 1, 24, 6, 119, 0, 5, 4, 1, 4, 4, 74, 0,
+ 10, 230, 0, 11, 218, 1, 4, 4, 1, 4, 4, 1, 25, 241, 241,
+ 0, 3, 239, 0, 3, 241, 239, 241, 0, 9, 239, 3, 241, 1, 247,
+ 4, 1, 1, 17, 1, 87, 13, 119, 0, 14, 31, 1, 1, 4, 4,
+ 99, 239, 241, 239, 241, 239, 241, 239, 241, 6, 239, 0, 12, 241, 239,
+241, 239, 135, 1, 1, 4, 4, 60, 65, 119, 0, 0, 7, 119, 1,
+ 60, 1, 2, 23, 1, 1, 5, 1, 107, 137, 119, 1, 77, 4, 4,
+ 0, 4, 1, 227, 239, 230, 5, 239, 1, 230, 1, 230, 3, 239, 0,
+ 8, 230, 241, 4, 1, 1, 4, 1, 107, 6, 119, 0, 30, 11, 1,
+ 4, 4, 40, 241, 230, 239, 230, 239, 239, 230, 239, 230, 239, 247, 7,
+ 4, 4, 1, 4, 4, 1, 19, 206, 203, 203, 206, 203, 224, 8, 241,
+ 1, 239, 3, 241, 0, 4, 239, 241, 148, 1, 3, 4, 1, 37, 1,
+114, 13, 119, 0, 9, 103, 4, 4, 1, 4, 1, 227, 241, 239, 0,
+ 15, 241, 0, 8, 167, 1, 4, 1, 4, 50, 65, 119, 0, 0, 8,
+119, 1, 114, 1, 11, 21, 1, 1, 63, 138, 119, 0, 7, 114, 4,
+ 4, 1, 4, 1, 135, 0, 3, 192, 1, 224, 10, 239, 1, 33, 1,
+ 1, 3, 4, 1, 37, 7, 119, 0, 7, 11, 4, 4, 1, 12, 247,
+241, 0, 3, 239, 0, 8, 230, 239, 241, 241, 239, 241, 25, 1, 6,
+ 4, 1, 117, 3, 110, 0, 3, 121, 7, 246, 0, 9, 241, 0, 10,
+246, 246, 241, 241, 47, 4, 1, 4, 1, 70, 15, 119, 0, 8, 45,
+ 1, 1, 4, 4, 61, 241, 246, 9, 241, 0, 3, 239, 241, 246, 0,
+ 3, 241, 1, 206, 1, 1, 3, 4, 0, 3, 41, 63, 119, 0, 0,
+ 0, 10, 119, 1, 88, 1, 11, 16, 1, 1, 16, 1, 87, 140, 119,
+ 1, 45, 4, 4, 1, 25, 3, 117, 1, 51, 1, 130, 9, 241, 0,
+ 6, 218, 1, 4, 1, 4, 4, 8, 119, 0, 9, 31, 1, 4, 4,
+ 1, 247, 241, 241, 239, 0, 3, 241, 0, 19, 246, 241, 239, 241, 38,
+ 4, 1, 4, 4, 1, 4, 1, 251, 241, 241, 246, 241, 25, 206, 0,
+ 6, 241, 1, 246, 4, 241, 0, 8, 246, 251, 25, 1, 4, 4, 11,
+ 77, 15, 119, 1, 114, 3, 4, 0, 3, 1, 1, 218, 0, 3, 241,
+ 1, 246, 8, 241, 1, 246, 3, 241, 0, 8, 239, 1, 1, 4, 1,
+ 31, 63, 114, 0, 0, 12, 119, 0, 3, 114, 88, 37, 0, 9, 1,
+ 0, 4, 11, 49, 98, 114, 141, 119, 0, 7, 98, 1, 1, 4, 4,
+ 1, 230, 0, 3, 241, 1, 117, 1, 130, 4, 241, 1, 246, 4, 241,
+ 0, 6, 19, 1, 4, 1, 1, 50, 8, 119, 0, 6, 50, 1, 1,
+ 4, 1, 213, 10, 241, 1, 66, 1, 1, 3, 4, 0, 4, 1, 4,
+ 1, 206, 4, 246, 0, 7, 127, 121, 247, 241, 241, 246, 241, 0, 4,
+246, 0, 10, 241, 246, 241, 246, 1, 4, 1, 4, 27, 88, 16, 119,
+ 0, 9, 60, 1, 4, 4, 1, 33, 255, 251, 254, 0, 3, 251, 1,
+254, 1, 251, 3, 246, 1, 241, 4, 246, 0, 8, 254, 1, 4, 1,
+ 1, 22, 63, 107, 0, 0, 16, 119, 1, 114, 1, 103, 4, 98, 1,
+107, 1, 114, 145, 119, 0, 6, 22, 1, 4, 4, 1, 82, 3, 241,
+ 0, 3, 246, 110, 130, 0, 3, 241, 0, 11, 246, 241, 246, 246, 241,
+148, 1, 1, 4, 4, 11, 0, 9, 119, 1, 87, 3, 4, 0, 21,
+ 1, 156, 241, 246, 246, 247, 241, 241, 246, 247, 241, 246, 143, 1, 4,
+ 1, 4, 1, 4, 1, 117, 0, 4, 247, 0, 5, 251, 19, 254, 246,
+247, 0, 7, 246, 0, 8, 247, 246, 121, 1, 1, 4, 1, 45, 18,
+119, 1, 1, 1, 4, 3, 1, 1, 33, 4, 40, 0, 4, 38, 38,
+ 12, 247, 6, 246, 0, 9, 247, 254, 12, 4, 1, 1, 11, 63, 98,
+ 0, 0, 0, 168, 119, 0, 27, 70, 4, 1, 4, 4, 1, 246, 246,
+241, 246, 241, 117, 130, 241, 241, 246, 241, 246, 241, 246, 246, 7, 4,
+ 1, 4, 1, 70, 0, 10, 119, 0, 24, 1, 1, 4, 4, 33, 58,
+ 55, 55, 4, 239, 246, 246, 241, 246, 241, 230, 1, 4, 1, 1, 4,
+ 1, 1, 47, 3, 247, 0, 12, 246, 251, 25, 213, 241, 239, 241, 241,
+239, 241, 241, 239, 3, 241, 1, 33, 4, 4, 1, 73, 18, 119, 1,
+ 77, 4, 4, 0, 3, 19, 254, 251, 0, 3, 247, 0, 18, 254, 38,
+241, 246, 247, 246, 246, 247, 247, 246, 251, 33, 1, 4, 4, 9, 65,
+ 87, 0, 0, 168, 119, 0, 6, 5, 4, 4, 1, 1, 167, 4, 246,
+ 0, 3, 241, 117, 143, 0, 3, 255, 0, 10, 251, 241, 241, 246, 99,
+ 1, 4, 4, 1, 24, 11, 119, 0, 5, 4, 1, 4, 4, 82, 0,
+ 3, 247, 1, 213, 1, 4, 5, 246, 0, 15, 254, 4, 4, 1, 4,
+ 1, 4, 4, 19, 247, 246, 246, 247, 247, 143, 0, 3, 58, 3, 61,
+ 0, 12, 58, 58, 61, 58, 55, 61, 4, 1, 4, 4, 17, 87, 19,
+119, 1, 6, 4, 1, 0, 3, 148, 247, 246, 0, 3, 247, 0, 17,
+192, 66, 246, 247, 247, 246, 246, 247, 247, 251, 47, 4, 4, 1, 9,
+ 65, 77, 0, 0, 0, 167, 119, 0, 7, 45, 4, 1, 4, 4, 25,
+247, 0, 5, 246, 1, 143, 3, 30, 0, 5, 19, 61, 255, 254, 251,
+ 0, 4, 1, 1, 4, 1, 88, 11, 119, 0, 10, 11, 1, 1, 4,
+ 47, 251, 247, 246, 247, 0, 3, 247, 0, 5, 246, 247, 251, 30, 1,
+ 0, 3, 4, 0, 8, 1, 4, 12, 251, 251, 246, 247, 247, 11, 251,
+ 0, 3, 254, 239, 1, 0, 3, 4, 1, 34, 1, 98, 19, 119, 0,
+ 7, 98, 4, 1, 4, 4, 7, 251, 0, 4, 247, 0, 6, 241, 4,
+251, 247, 251, 251, 3, 247, 0, 8, 251, 66, 4, 1, 1, 4, 65,
+ 65, 0, 0, 166, 119, 0, 11, 98, 4, 4, 1, 4, 4, 239, 247,
+246, 247, 246, 0, 3, 247, 0, 7, 254, 251, 251, 254, 47, 25, 25,
+ 0, 5, 4, 1, 37, 12, 119, 0, 6, 16, 1, 4, 4, 30, 254,
+ 3, 247, 1, 1, 4, 247, 0, 3, 246, 247, 47, 0, 6, 4, 1,
+ 7, 1, 251, 14, 247, 0, 8, 251, 247, 82, 1, 1, 4, 4, 50,
+ 21, 119, 0, 7, 17, 1, 1, 4, 1, 117, 251, 0, 3, 247, 0,
+ 5, 251, 38, 246, 247, 246, 0, 4, 247, 0, 8, 251, 95, 1, 1,
+ 4, 4, 65, 65, 0, 0, 166, 119, 0, 6, 27, 4, 1, 4, 1,
+ 61, 12, 247, 0, 9, 251, 255, 241, 1, 4, 1, 1, 4, 107, 0,
+ 12, 119, 1, 26, 3, 4, 1, 1, 1, 255, 3, 247, 1, 1, 1,
+251, 5, 247, 1, 86, 1, 1, 3, 4, 3, 1, 1, 251, 1, 251,
+ 6, 247, 1, 251, 7, 247, 0, 7, 251, 19, 1, 4, 4, 2, 77,
+ 0, 21, 119, 1, 114, 1, 2, 4, 1, 1, 246, 4, 247, 0, 3,
+203, 74, 251, 0, 6, 247, 0, 7, 127, 1, 1, 4, 2, 70, 65,
+ 0, 0, 0, 166, 119, 0, 6, 1, 4, 1, 1, 7, 255, 8, 247,
+ 1, 251, 4, 247, 0, 3, 251, 30, 4, 0, 3, 1, 1, 52, 13,
+119, 0, 11, 45, 4, 4, 1, 1, 241, 247, 251, 251, 1, 251, 0,
+ 5, 247, 0, 5, 156, 1, 4, 4, 1, 0, 3, 4, 1, 192, 1,
+251, 8, 247, 0, 13, 251, 247, 251, 251, 247, 247, 254, 7, 4, 1,
+ 1, 24, 88, 0, 22, 119, 1, 27, 3, 4, 0, 8, 1, 74, 251,
+251, 247, 247, 246, 1, 6, 247, 0, 8, 251, 148, 1, 4, 1, 4,
+ 65, 65, 0, 0, 166, 119, 1, 1, 3, 4, 0, 9, 1, 95, 181,
+227, 254, 254, 251, 247, 251, 0, 6, 247, 0, 7, 192, 1, 1, 4,
+ 1, 1, 114, 0, 13, 119, 1, 70, 4, 1, 0, 5, 181, 247, 251,
+251, 1, 0, 4, 247, 0, 6, 251, 247, 230, 1, 1, 4, 4, 1,
+ 0, 3, 99, 251, 251, 0, 8, 247, 3, 251, 0, 4, 247, 247, 206,
+ 1, 3, 4, 1, 41, 1, 107, 23, 119, 0, 15, 5, 4, 1, 4,
+ 1, 230, 247, 251, 247, 251, 33, 241, 251, 247, 247, 0, 3, 251, 0,
+ 7, 181, 1, 4, 1, 4, 52, 77, 0, 0, 0, 166, 119, 0, 5,
+ 11, 1, 4, 1, 4, 0, 4, 1, 0, 6, 55, 135, 206, 230, 254,
+251, 4, 247, 4, 4, 1, 1, 1, 77, 14, 119, 0, 6, 114, 1,
+ 4, 1, 1, 130, 3, 247, 1, 1, 1, 251, 4, 247, 1, 251, 1,
+255, 5, 4, 0, 3, 1, 1, 38, 0, 3, 251, 0, 3, 247, 251,
+247, 0, 3, 251, 0, 3, 247, 247, 251, 0, 3, 247, 1, 51, 3,
+ 1, 1, 4, 1, 56, 24, 119, 0, 25, 41, 4, 4, 1, 4, 43,
+251, 251, 247, 247, 192, 82, 247, 251, 247, 251, 247, 247, 203, 1, 4,
+ 4, 1, 45, 114, 0, 0, 0, 166, 119, 0, 4, 45, 4, 1, 1,
+ 4, 4, 5, 1, 0, 6, 4, 61, 156, 213, 224, 76, 3, 4, 1,
+ 1, 1, 9, 16, 119, 4, 4, 0, 13, 76, 247, 247, 251, 135, 33,
+247, 251, 247, 247, 251, 254, 33, 0, 4, 1, 0, 3, 4, 1, 7,
+ 0, 3, 251, 3, 247, 0, 15, 251, 247, 251, 247, 247, 251, 247, 247,
+251, 7, 4, 4, 1, 5, 83, 0, 25, 119, 1, 6, 1, 4, 3,
+ 1, 1, 203, 3, 251, 0, 15, 247, 1, 247, 241, 239, 224, 213, 206,
+ 33, 1, 4, 4, 1, 77, 119, 0, 0, 0, 167, 119, 0, 3, 26,
+ 4, 1, 0, 5, 4, 0, 7, 1, 4, 1, 4, 1, 4, 4, 0,
+ 3, 1, 0, 5, 4, 4, 1, 4, 107, 0, 16, 119, 0, 5, 11,
+ 4, 4, 1, 51, 0, 3, 251, 0, 16, 247, 1, 247, 247, 251, 251,
+247, 251, 58, 1, 4, 4, 1, 1, 4, 7, 4, 247, 4, 251, 7,
+247, 3, 4, 0, 3, 1, 31, 98, 0, 25, 119, 0, 11, 52, 4,
+ 4, 1, 4, 1, 74, 95, 58, 33, 4, 0, 5, 1, 0, 8, 4,
+ 4, 1, 4, 1, 6, 119, 119, 0, 0, 168, 119, 0, 3, 73, 11,
+ 6, 0, 4, 4, 0, 4, 1, 4, 4, 1, 3, 4, 1, 1, 1,
+ 4, 4, 1, 1, 26, 17, 119, 1, 17, 3, 4, 0, 8, 33, 255,
+247, 251, 247, 1, 251, 247, 3, 251, 0, 5, 247, 106, 1, 4, 1,
+ 0, 4, 4, 0, 4, 251, 247, 247, 251, 4, 247, 3, 251, 0, 4,
+247, 247, 251, 156, 3, 1, 0, 3, 4, 45, 114, 0, 26, 119, 0,
+ 3, 16, 4, 1, 0, 4, 4, 0, 7, 1, 1, 4, 4, 1, 4,
+ 1, 0, 4, 4, 0, 5, 1, 4, 50, 119, 119, 0, 0, 0, 172,
+119, 0, 5, 87, 41, 6, 7, 2, 0, 3, 4, 3, 1, 1, 4,
+ 1, 1, 3, 4, 18, 119, 1, 26, 3, 1, 0, 17, 12, 255, 251,
+251, 247, 47, 58, 247, 251, 247, 251, 251, 167, 1, 4, 1, 1, 0,
+ 3, 4, 0, 3, 247, 251, 251, 0, 3, 247, 1, 251, 4, 247, 0,
+ 5, 251, 247, 247, 33, 4, 0, 3, 1, 1, 63, 27, 119, 1, 88,
+ 4, 4, 4, 1, 0, 4, 4, 4, 1, 1, 3, 4, 0, 4, 1,
+ 4, 4, 31, 3, 119, 0, 0, 177, 119, 0, 11, 77, 37, 7, 2,
+ 1, 1, 4, 4, 1, 1, 98, 0, 18, 119, 1, 41, 3, 4, 0,
+ 40, 1, 254, 251, 247, 251, 251, 4, 246, 247, 251, 251, 247, 230, 1,
+ 1, 4, 4, 1, 4, 4, 167, 247, 251, 251, 247, 247, 251, 251, 247,
+251, 247, 254, 247, 247, 4, 1, 1, 4, 11, 107, 28, 119, 0, 8,
+ 88, 4, 4, 1, 1, 4, 1, 4, 3, 1, 0, 7, 4, 1, 4,
+ 4, 2, 4, 73, 0, 4, 119, 0, 0, 182, 119, 0, 4, 77, 37,
+ 31, 60, 20, 119, 0, 7, 60, 1, 1, 4, 1, 110, 251, 0, 3,
+247, 0, 16, 1, 246, 251, 251, 247, 247, 255, 1, 4, 4, 1, 1,
+ 4, 1, 86, 247, 3, 251, 1, 247, 4, 251, 0, 4, 254, 241, 181,
+ 12, 4, 1, 1, 50, 31, 119, 0, 13, 52, 4, 4, 1, 1, 4,
+ 13, 27, 41, 56, 77, 107, 114, 0, 7, 119, 0, 0, 206, 119, 0,
+ 43, 88, 4, 1, 4, 1, 4, 19, 82, 192, 254, 1, 247, 251, 247,
+251, 247, 255, 33, 4, 4, 1, 1, 4, 1, 4, 156, 167, 117, 64,
+ 33, 12, 12, 7, 4, 4, 1, 1, 4, 4, 1, 4, 4, 98, 0,
+ 33, 119, 1, 114, 1, 114, 16, 119, 0, 0, 207, 119, 0, 24, 4,
+ 4, 1, 1, 4, 4, 1, 1, 4, 4, 19, 76, 192, 255, 254, 255,
+ 58, 1, 1, 4, 4, 1, 4, 4, 7, 1, 1, 4, 1, 1, 6,
+ 4, 1, 1, 1, 52, 52, 119, 0, 0, 207, 119, 1, 41, 3, 4,
+ 0, 3, 1, 4, 4, 0, 3, 1, 1, 4, 3, 1, 0, 7, 19,
+ 30, 4, 1, 4, 1, 4, 0, 3, 1, 1, 4, 3, 1, 0, 7,
+ 4, 4, 1, 1, 4, 1, 1, 0, 4, 4, 1, 45, 53, 119, 0,
+ 0, 208, 119, 1, 37, 4, 4, 0, 5, 1, 4, 1, 4, 1, 0,
+ 4, 4, 1, 1, 4, 4, 0, 10, 5, 4, 4, 1, 1, 4, 1,
+ 4, 1, 1, 3, 4, 0, 6, 1, 1, 4, 1, 17, 83, 54, 119,
+ 0, 0, 209, 119, 0, 5, 88, 56, 31, 4, 4, 0, 3, 1, 1,
+ 4, 1, 1, 4, 4, 0, 8, 1, 4, 1, 1, 27, 98, 27, 1,
+ 4, 4, 0, 9, 5, 17, 31, 41, 56, 73, 77, 88, 107, 0, 56,
+119, 0, 0, 213, 119, 0, 4, 107, 77, 52, 31, 6, 4, 0, 4,
+ 1, 1, 4, 5, 3, 119, 0, 4, 114, 88, 88, 107, 66, 119, 0,
+ 0, 218, 119, 0, 8, 107, 77, 50, 34, 13, 1, 11, 41, 74, 119,
+ 0, 1
+};
diff --git a/gui/gui-manager.cpp b/gui/gui-manager.cpp
index 9b6cf5a0b6..20c6d3fa13 100644
--- a/gui/gui-manager.cpp
+++ b/gui/gui-manager.cpp
@@ -64,6 +64,8 @@ GuiManager::GuiManager() : _redrawStatus(kRedrawDisabled), _stateIsSaved(false),
_width = _system->getOverlayWidth();
_height = _system->getOverlayHeight();
+ _launched = false;
+
// Clear the cursor
memset(_cursor, 0xFF, sizeof(_cursor));
diff --git a/gui/gui-manager.h b/gui/gui-manager.h
index 4186a93ccb..26c8d6def9 100644
--- a/gui/gui-manager.h
+++ b/gui/gui-manager.h
@@ -98,6 +98,8 @@ public:
*/
bool checkScreenChange();
+ bool _launched;
+
protected:
enum RedrawStatus {
kRedrawDisabled = 0,
diff --git a/gui/launcher.cpp b/gui/launcher.cpp
index 5abf0aba26..bae894cba1 100644
--- a/gui/launcher.cpp
+++ b/gui/launcher.cpp
@@ -683,6 +683,8 @@ LauncherDialog::LauncherDialog()
// Create Load dialog
_loadDialog = new SaveLoadChooser(_("Load game:"), _("Load"), false);
+
+ GUI::GuiManager::instance()._launched = true;
}
void LauncherDialog::selectTarget(const String &target) {
diff --git a/gui/themes/translations.dat b/gui/themes/translations.dat
index a882cf2c0b..3a9804f663 100644
--- a/gui/themes/translations.dat
+++ b/gui/themes/translations.dat
Binary files differ
diff --git a/po/cs_CZ.po b/po/cs_CZ.po
index 56d37e7f8d..562f774de5 100644
--- a/po/cs_CZ.po
+++ b/po/cs_CZ.po
@@ -1,15 +1,15 @@
# Czech translation for ScummVM.
# Copyright (C) 2001-2015 The ScummVM Team
# This file is distributed under the same license as the ScummVM package.
-# Zbynk Schwarz <zbynek.schwarz@gmail.com>, 2011-2013.
+# Zbyněk Schwarz <zbynek.schwarz@gmail.com>, 2011-2013.
#
msgid ""
msgstr ""
"Project-Id-Version: ScummVM 1.7.0git\n"
"Report-Msgid-Bugs-To: scummvm-devel@lists.sf.net\n"
-"POT-Creation-Date: 2015-12-23 00:28+0000\n"
-"PO-Revision-Date: 2015-07-26 18:51+0200\n"
-"Last-Translator: Zbynk Schwarz <zbynek.schwarz@gmail.com>\n"
+"POT-Creation-Date: 2015-12-24 13:36+0100\n"
+"PO-Revision-Date: 2015-12-24 13:37+0100\n"
+"Last-Translator: Zbyněk Schwarz <zbynek.schwarz@gmail.com>\n"
"Language-Team: \n"
"Language: Cesky\n"
"MIME-Version: 1.0\n"
@@ -17,7 +17,7 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n"
"X-Poedit-SourceCharset: iso-8859-2\n"
-"X-Generator: Poedit 1.8.3\n"
+"X-Generator: Poedit 1.8.6\n"
"X-Poedit-Basepath: ..\n"
#: gui/about.cpp:94
@@ -27,32 +27,32 @@ msgstr "(sestaveno %s)"
#: gui/about.cpp:101
msgid "Features compiled in:"
-msgstr "Zakompilovan funkce:"
+msgstr "Zakompilované funkce:"
#: gui/about.cpp:110
msgid "Available engines:"
-msgstr "Dostupn jdra:"
+msgstr "Dostupná jádra:"
#: gui/browser.cpp:68 gui/browser_osx.mm:104
msgid "Show hidden files"
-msgstr "Zobrazit skryt soubory"
+msgstr "Zobrazit skryté soubory"
#: gui/browser.cpp:68
msgid "Show files marked with the hidden attribute"
-msgstr "Zobrazit soubory s vlastnost skryt"
+msgstr "Zobrazit soubory s vlastností skryté"
#: gui/browser.cpp:72
msgid "Go up"
-msgstr "Jt nahoru"
+msgstr "Jít nahoru"
#: gui/browser.cpp:72 gui/browser.cpp:74
msgid "Go to previous directory level"
-msgstr "Jt na pedchoz rove adrese"
+msgstr "Jít na předchozí úroveň adresáře"
#: gui/browser.cpp:74
msgctxt "lowres"
msgid "Go up"
-msgstr "Jt nahoru"
+msgstr "Jít nahoru"
#: gui/browser.cpp:75 gui/chooser.cpp:46 gui/editrecorddialog.cpp:67
#: gui/filebrowser-dialog.cpp:64 gui/KeysDialog.cpp:43 gui/launcher.cpp:351
@@ -60,14 +60,14 @@ msgstr "Jt nahoru"
#: gui/recorderdialog.cpp:70 gui/recorderdialog.cpp:156
#: gui/saveload-dialog.cpp:216 gui/saveload-dialog.cpp:276
#: gui/saveload-dialog.cpp:547 gui/saveload-dialog.cpp:931
-#: gui/themebrowser.cpp:55 gui/fluidsynth-dialog.cpp:152
-#: engines/engine.cpp:483 backends/platform/wii/options.cpp:48
+#: gui/themebrowser.cpp:55 gui/fluidsynth-dialog.cpp:152 engines/engine.cpp:483
+#: backends/platform/wii/options.cpp:48
#: backends/events/default/default-events.cpp:196
#: backends/events/default/default-events.cpp:218
#: engines/drascula/saveload.cpp:49 engines/parallaction/saveload.cpp:274
#: engines/scumm/dialogs.cpp:191 engines/sword1/control.cpp:865
msgid "Cancel"
-msgstr "Zruit"
+msgstr "Zrušit"
#: gui/browser.cpp:76 gui/browser_osx.mm:103 gui/chooser.cpp:47
#: gui/filebrowser-dialog.cpp:65 gui/themebrowser.cpp:56
@@ -75,35 +75,32 @@ msgid "Choose"
msgstr "Zvolit"
#: gui/editrecorddialog.cpp:58
-#, fuzzy
msgid "Author:"
msgstr "Autor:"
#: gui/editrecorddialog.cpp:59 gui/launcher.cpp:204
msgid "Name:"
-msgstr "Jmno"
+msgstr "Jméno"
#: gui/editrecorddialog.cpp:60
-#, fuzzy
msgid "Notes:"
-msgstr "Poznmky:"
+msgstr "Poznámky:"
#: gui/editrecorddialog.cpp:68 gui/predictivedialog.cpp:75
msgid "Ok"
-msgstr ""
+msgstr "Ok"
#: gui/filebrowser-dialog.cpp:49
msgid "Choose file for loading"
-msgstr ""
+msgstr "Zvolte soubor pro načtení"
#: gui/filebrowser-dialog.cpp:49
msgid "Enter filename for saving"
-msgstr ""
+msgstr "Zadejte název souboru pro uložení"
#: gui/filebrowser-dialog.cpp:132
-#, fuzzy
msgid "Do you really want to overwrite the file?"
-msgstr "Opravdu chcete tento zznam smazat?"
+msgstr "Opravdu chcete tento soubor přepsat?"
#: gui/filebrowser-dialog.cpp:132 gui/launcher.cpp:793 gui/launcher.cpp:941
#: gui/launcher.cpp:1000 gui/fluidsynth-dialog.cpp:217
@@ -130,27 +127,27 @@ msgstr "Ne"
#: engines/scumm/help.cpp:166 engines/scumm/help.cpp:192
#: engines/scumm/help.cpp:210
msgid "Close"
-msgstr "Zavt"
+msgstr "Zavřít"
#: gui/gui-manager.cpp:120
msgid "Mouse click"
-msgstr "Kliknut my"
+msgstr "Kliknutí myší"
#: gui/gui-manager.cpp:124 base/main.cpp:319
msgid "Display keyboard"
-msgstr "Zobrazit klvesnici"
+msgstr "Zobrazit klávesnici"
#: gui/gui-manager.cpp:128 base/main.cpp:323
msgid "Remap keys"
-msgstr "Pemapovat klvesy"
+msgstr "Přemapovat klávesy"
#: gui/gui-manager.cpp:131 base/main.cpp:326 engines/scumm/help.cpp:87
msgid "Toggle fullscreen"
-msgstr "Pepnout celou obrazovku"
+msgstr "Přepnout celou obrazovku"
#: gui/KeysDialog.h:36 gui/KeysDialog.cpp:145
msgid "Choose an action to map"
-msgstr "Zvolte innost k mapovn"
+msgstr "Zvolte činnost k mapování"
#: gui/KeysDialog.cpp:41
msgid "Map"
@@ -178,25 +175,25 @@ msgstr "OK"
#: gui/KeysDialog.cpp:49
msgid "Select an action and click 'Map'"
-msgstr "Zvolte innost a kliknte 'Mapovat'"
+msgstr "Zvolte činnost a klikněte 'Mapovat'"
#: gui/KeysDialog.cpp:80 gui/KeysDialog.cpp:102 gui/KeysDialog.cpp:141
#, c-format
msgid "Associated key : %s"
-msgstr "Piazen klvesa: %s"
+msgstr "Přiřazená klávesa: %s"
#: gui/KeysDialog.cpp:82 gui/KeysDialog.cpp:104 gui/KeysDialog.cpp:143
#, c-format
msgid "Associated key : none"
-msgstr "Piazen klvesa: dn"
+msgstr "Přiřazená klávesa: žádná"
#: gui/KeysDialog.cpp:90
msgid "Please select an action"
-msgstr "Prosm vyberte innost"
+msgstr "Prosím vyberte činnost"
#: gui/KeysDialog.cpp:106
msgid "Press the key to associate"
-msgstr "Zmknte klvesu pro piazen"
+msgstr "Zmáčkněte klávesu pro přiřazení"
#: gui/launcher.cpp:193
msgid "Game"
@@ -211,8 +208,8 @@ msgid ""
"Short game identifier used for referring to saved games and running the game "
"from the command line"
msgstr ""
-"Krtk identifiktor her, pouvan jako odkaz k uloenm hrm a sputn "
-"hry z pkazovho dku"
+"Krátký identifikátor her, používaný jako odkaz k uloženým hrám a spuštění "
+"hry z příkazového řádku"
#: gui/launcher.cpp:199
msgctxt "lowres"
@@ -221,12 +218,12 @@ msgstr "ID:"
#: gui/launcher.cpp:204 gui/launcher.cpp:206 gui/launcher.cpp:207
msgid "Full title of the game"
-msgstr "pln nzev hry"
+msgstr "Úplný název hry"
#: gui/launcher.cpp:206
msgctxt "lowres"
msgid "Name:"
-msgstr "Jmno:"
+msgstr "Jméno:"
#: gui/launcher.cpp:210
msgid "Language:"
@@ -236,13 +233,13 @@ msgstr "Jazyk:"
msgid ""
"Language of the game. This will not turn your Spanish game version into "
"English"
-msgstr "Jazyk hry. Toto z va panlsk verze neudl Anglickou"
+msgstr "Jazyk hry. Toto z vaší Španělské verze neudělá Anglickou"
#: gui/launcher.cpp:212 gui/launcher.cpp:226 gui/options.cpp:87
#: gui/options.cpp:735 gui/options.cpp:748 gui/options.cpp:1208
#: audio/null.cpp:41
msgid "<default>"
-msgstr "<vchoz>"
+msgstr "<výchozí>"
#: gui/launcher.cpp:222
msgid "Platform:"
@@ -250,7 +247,7 @@ msgstr "Platforma:"
#: gui/launcher.cpp:222 gui/launcher.cpp:224 gui/launcher.cpp:225
msgid "Platform the game was originally designed for"
-msgstr "Platforma, pro kterou byla hra pvodn vytvoena"
+msgstr "Platforma, pro kterou byla hra původně vytvořena"
#: gui/launcher.cpp:224
msgctxt "lowres"
@@ -259,7 +256,7 @@ msgstr "Platforma:"
#: gui/launcher.cpp:237
msgid "Engine"
-msgstr "Jdro"
+msgstr "Jádro"
#: gui/launcher.cpp:245 gui/options.cpp:1071 gui/options.cpp:1088
msgid "Graphics"
@@ -271,12 +268,12 @@ msgstr "GFX"
#: gui/launcher.cpp:248
msgid "Override global graphic settings"
-msgstr "Potlait globln nastaven obrazu"
+msgstr "Potlačit globální nastavení obrazu"
#: gui/launcher.cpp:250
msgctxt "lowres"
msgid "Override global graphic settings"
-msgstr "Potlait globln nastaven obrazu"
+msgstr "Potlačit globální nastavení obrazu"
#: gui/launcher.cpp:257 gui/options.cpp:1094
msgid "Audio"
@@ -284,12 +281,12 @@ msgstr "Zvuk"
#: gui/launcher.cpp:260
msgid "Override global audio settings"
-msgstr "Potlait globln nastaven zvuku"
+msgstr "Potlačit globální nastavení zvuku"
#: gui/launcher.cpp:262
msgctxt "lowres"
msgid "Override global audio settings"
-msgstr "Potlait globln nastaven zvuku"
+msgstr "Potlačit globální nastavení zvuku"
#: gui/launcher.cpp:271 gui/options.cpp:1099
msgid "Volume"
@@ -302,12 +299,12 @@ msgstr "Hlasitost"
#: gui/launcher.cpp:276
msgid "Override global volume settings"
-msgstr "Potlait globln nastaven hlasitosti"
+msgstr "Potlačit globální nastavení hlasitosti"
#: gui/launcher.cpp:278
msgctxt "lowres"
msgid "Override global volume settings"
-msgstr "Potlait globln nastaven hlasitosti"
+msgstr "Potlačit globální nastavení hlasitosti"
#: gui/launcher.cpp:286 gui/options.cpp:1109
msgid "MIDI"
@@ -315,12 +312,12 @@ msgstr "MIDI"
#: gui/launcher.cpp:289
msgid "Override global MIDI settings"
-msgstr "Potlait globln nastaven MIDI"
+msgstr "Potlačit globální nastavení MIDI"
#: gui/launcher.cpp:291
msgctxt "lowres"
msgid "Override global MIDI settings"
-msgstr "Potlait globln nastaven MIDI"
+msgstr "Potlačit globální nastavení MIDI"
#: gui/launcher.cpp:300 gui/options.cpp:1115
msgid "MT-32"
@@ -328,12 +325,12 @@ msgstr "MT-32"
#: gui/launcher.cpp:303
msgid "Override global MT-32 settings"
-msgstr "Potlait globln nastaven MT-32"
+msgstr "Potlačit globální nastavení MT-32"
#: gui/launcher.cpp:305
msgctxt "lowres"
msgid "Override global MT-32 settings"
-msgstr "Potlait globln nastaven MT-32"
+msgstr "Potlačit globální nastavení MT-32"
#: gui/launcher.cpp:314 gui/options.cpp:1122
msgid "Paths"
@@ -355,30 +352,30 @@ msgstr "Cesta Hry:"
#: gui/launcher.cpp:330 gui/options.cpp:1148
msgid "Extra Path:"
-msgstr "Dodaten Cesta:"
+msgstr "Dodatečná Cesta:"
#: gui/launcher.cpp:330 gui/launcher.cpp:332 gui/launcher.cpp:333
msgid "Specifies path to additional data used by the game"
-msgstr "Stanov cestu pro dodaten data pouit ve he"
+msgstr "Stanoví cestu pro dodatečná data použitá ve hře"
#: gui/launcher.cpp:332 gui/options.cpp:1150
msgctxt "lowres"
msgid "Extra Path:"
-msgstr "Dodaten Cesta:"
+msgstr "Dodatečná Cesta:"
#: gui/launcher.cpp:339 gui/options.cpp:1132
msgid "Save Path:"
-msgstr "Cesta pro uloen:"
+msgstr "Cesta pro uložení:"
#: gui/launcher.cpp:339 gui/launcher.cpp:341 gui/launcher.cpp:342
#: gui/options.cpp:1132 gui/options.cpp:1134 gui/options.cpp:1135
msgid "Specifies where your saved games are put"
-msgstr "Stanovuje, kam jsou umstny vae uloen hry"
+msgstr "Stanovuje, kam jsou umístěny vaše uložené hry"
#: gui/launcher.cpp:341 gui/options.cpp:1134
msgctxt "lowres"
msgid "Save Path:"
-msgstr "Cesta pro uloen:"
+msgstr "Cesta pro uložení:"
#: gui/launcher.cpp:360 gui/launcher.cpp:459 gui/launcher.cpp:517
#: gui/launcher.cpp:571 gui/options.cpp:1143 gui/options.cpp:1151
@@ -388,13 +385,13 @@ msgstr "Cesta pro uloen:"
#: gui/options.cpp:1440
msgctxt "path"
msgid "None"
-msgstr "dn"
+msgstr "Žádné"
#: gui/launcher.cpp:365 gui/launcher.cpp:465 gui/launcher.cpp:575
#: gui/options.cpp:1269 gui/options.cpp:1313 gui/options.cpp:1431
#: backends/platform/wii/options.cpp:56
msgid "Default"
-msgstr "Vchoz"
+msgstr "Výchozí"
#: gui/launcher.cpp:510 gui/options.cpp:1434
msgid "Select SoundFont"
@@ -402,27 +399,27 @@ msgstr "Vybrat SoundFont"
#: gui/launcher.cpp:529 gui/launcher.cpp:682
msgid "Select directory with game data"
-msgstr "Vyberte adres s daty hry"
+msgstr "Vyberte adresář s daty hry"
#: gui/launcher.cpp:547
msgid "Select additional game directory"
-msgstr "Vyberte dodaten adres hry"
+msgstr "Vyberte dodatečný adresář hry"
#: gui/launcher.cpp:559 gui/options.cpp:1377
msgid "Select directory for saved games"
-msgstr "Vyberte adres pro uloen hry"
+msgstr "Vyberte adresář pro uložené hry"
#: gui/launcher.cpp:586
msgid "This game ID is already taken. Please choose another one."
-msgstr "Toto ID hry je u zabran. Vyberte si, prosm, jin."
+msgstr "Toto ID hry je už zabrané. Vyberte si, prosím, jiné."
#: gui/launcher.cpp:626 engines/dialogs.cpp:111
msgid "~Q~uit"
-msgstr "~U~konit"
+msgstr "~U~končit"
#: gui/launcher.cpp:626 backends/platform/sdl/macosx/appmenu_osx.mm:106
msgid "Quit ScummVM"
-msgstr "Ukonit ScummVM"
+msgstr "Ukončit ScummVM"
#: gui/launcher.cpp:627
msgid "A~b~out..."
@@ -438,7 +435,7 @@ msgstr "~V~olby..."
#: gui/launcher.cpp:628
msgid "Change global ScummVM options"
-msgstr "Zmnit globln volby ScummVM"
+msgstr "Změnit globální volby ScummVM"
#: gui/launcher.cpp:630
msgid "~S~tart"
@@ -450,19 +447,19 @@ msgstr "Spustit zvolenou hru"
#: gui/launcher.cpp:633
msgid "~L~oad..."
-msgstr "~N~ahrt..."
+msgstr "~N~ahrát..."
#: gui/launcher.cpp:633
msgid "Load saved game for selected game"
-msgstr "Nahrt uloenou pozici pro zvolenou hru"
+msgstr "Nahrát uloženou pozici pro zvolenou hru"
#: gui/launcher.cpp:638
msgid "~A~dd Game..."
-msgstr "~P~idat hru..."
+msgstr "~P~řidat hru..."
#: gui/launcher.cpp:638 gui/launcher.cpp:645
msgid "Hold Shift for Mass Add"
-msgstr "Podrte Shift pro Hromadn Pidn"
+msgstr "Podržte Shift pro Hromadné Přidání"
#: gui/launcher.cpp:640
msgid "~E~dit Game..."
@@ -470,7 +467,7 @@ msgstr "~U~pravit Hru..."
#: gui/launcher.cpp:640 gui/launcher.cpp:647
msgid "Change game options"
-msgstr "Zmnit volby hry"
+msgstr "Změnit volby hry"
#: gui/launcher.cpp:642
msgid "~R~emove Game"
@@ -478,12 +475,12 @@ msgstr "~O~dstranit Hru"
#: gui/launcher.cpp:642 gui/launcher.cpp:649
msgid "Remove game from the list. The game data files stay intact"
-msgstr "Odstranit hru ze seznamu. Hern data zstanou zachovna"
+msgstr "Odstranit hru ze seznamu. Herní data zůstanou zachována"
#: gui/launcher.cpp:645
msgctxt "lowres"
msgid "~A~dd Game..."
-msgstr "~P~idat hru..."
+msgstr "~P~řidat hru..."
#: gui/launcher.cpp:647
msgctxt "lowres"
@@ -507,7 +504,7 @@ msgstr "Hledat:"
#: engines/mohawk/myst.cpp:245 engines/mohawk/riven.cpp:718
#: engines/pegasus/pegasus.cpp:353 engines/tsage/scenes.cpp:600
msgid "Load game:"
-msgstr "Nahrt hru:"
+msgstr "Nahrát hru:"
#: gui/launcher.cpp:685 engines/dialogs.cpp:115
#: backends/platform/wince/CEActionsPocket.cpp:267
@@ -516,23 +513,23 @@ msgstr "Nahrt hru:"
#: engines/mohawk/riven.cpp:718 engines/pegasus/pegasus.cpp:353
#: engines/scumm/dialogs.cpp:189 engines/tsage/scenes.cpp:600
msgid "Load"
-msgstr "Nahrt"
+msgstr "Nahrát"
#: gui/launcher.cpp:792
msgid ""
"Do you really want to run the mass game detector? This could potentially add "
"a huge number of games."
msgstr ""
-"Opravdu chcete spustit hromadnou detekci her? Toto by mohlo potenciln "
-"pidat velkou spoustu her. "
+"Opravdu chcete spustit hromadnou detekci her? Toto by mohlo potenciálně "
+"přidat velkou spoustu her. "
#: gui/launcher.cpp:841
msgid "ScummVM couldn't open the specified directory!"
-msgstr "ScummVM nemohl tento adres otevt!"
+msgstr "ScummVM nemohl tento adresář otevřít!"
#: gui/launcher.cpp:853
msgid "ScummVM could not find any game in the specified directory!"
-msgstr "ScummVM nemohl v zadanm adresi najt dnou hru!"
+msgstr "ScummVM nemohl v zadaném adresáři najít žádnou hru!"
#: gui/launcher.cpp:867
msgid "Pick the game:"
@@ -540,68 +537,66 @@ msgstr "Vybrat hru:"
#: gui/launcher.cpp:941
msgid "Do you really want to remove this game configuration?"
-msgstr "Opravdu chcete odstranit nastaven tto hry?"
+msgstr "Opravdu chcete odstranit nastavení této hry?"
#: gui/launcher.cpp:999
msgid "Do you want to load saved game?"
-msgstr "Chcete nast uloenou pozici?"
+msgstr "Chcete načíst uloženou pozici?"
#: gui/launcher.cpp:1048
msgid "This game does not support loading games from the launcher."
-msgstr "Tato hra nepodporuje spoutn her ze spoute"
+msgstr "Tato hra nepodporuje spouštění her ze spouštěče"
#: gui/launcher.cpp:1052
msgid "ScummVM could not find any engine capable of running the selected game!"
-msgstr "ScummVM nemohl najt dn jdro schopn vybranou hru spustit!"
+msgstr "ScummVM nemohl najít žádné jádro schopné vybranou hru spustit!"
#: gui/launcher.cpp:1159
msgid "Mass Add..."
-msgstr "Hromadn Pidn..."
+msgstr "Hromadné Přidání..."
#: gui/launcher.cpp:1161
msgid "Record..."
-msgstr "Nahrt..."
+msgstr "Nahrát..."
#: gui/massadd.cpp:79 gui/massadd.cpp:82
msgid "... progress ..."
-msgstr "... prbh ..."
+msgstr "... průběh ..."
#: gui/massadd.cpp:259
msgid "Scan complete!"
-msgstr "Hledn dokoneno!"
+msgstr "Hledání dokončeno!"
#: gui/massadd.cpp:262
#, c-format
msgid "Discovered %d new games, ignored %d previously added games."
-msgstr "Objeveno %d novch her, ignorovno %d dve pidanch her."
+msgstr "Objeveno %d nových her, ignorováno %d dříve přidaných her."
#: gui/massadd.cpp:266
#, c-format
msgid "Scanned %d directories ..."
-msgstr "Prohledno %d adres..."
+msgstr "Prohledáno %d adresářů..."
#: gui/massadd.cpp:269
#, c-format
msgid "Discovered %d new games, ignored %d previously added games ..."
-msgstr "Objeveno %d novch her, ignorovno %d dve pidanch her ..."
+msgstr "Objeveno %d nových her, ignorováno %d dříve přidaných her ..."
#: gui/onscreendialog.cpp:101 gui/onscreendialog.cpp:103
msgid "Stop"
-msgstr ""
+msgstr "Zastavit"
#: gui/onscreendialog.cpp:106
msgid "Edit record description"
-msgstr ""
+msgstr "Upravit popis záznamu"
#: gui/onscreendialog.cpp:108
-#, fuzzy
msgid "Switch to Game"
-msgstr "Pepnout"
+msgstr "Přepnout do hry"
#: gui/onscreendialog.cpp:110
-#, fuzzy
msgid "Fast replay"
-msgstr "Rychl reim"
+msgstr "Rychlé přehrávání"
#: gui/options.cpp:85
msgid "Never"
@@ -609,19 +604,19 @@ msgstr "Nikdy"
#: gui/options.cpp:85
msgid "every 5 mins"
-msgstr "Kadch 5 min"
+msgstr "Každých 5 min"
#: gui/options.cpp:85
msgid "every 10 mins"
-msgstr "Kadch 10 min"
+msgstr "Každých 10 min"
#: gui/options.cpp:85
msgid "every 15 mins"
-msgstr "Kadch 15 min"
+msgstr "Každých 15 min"
#: gui/options.cpp:85
msgid "every 30 mins"
-msgstr "Kadch 30 min"
+msgstr "Každých 30 min"
#: gui/options.cpp:87
msgid "8 kHz"
@@ -647,110 +642,110 @@ msgstr "48 kHz"
#: gui/options.cpp:649 gui/options.cpp:857
msgctxt "soundfont"
msgid "None"
-msgstr "dn"
+msgstr "Žádné"
#: gui/options.cpp:389
msgid "Failed to apply some of the graphic options changes:"
-msgstr "Nelze pout nkter zmny monost grafiky:"
+msgstr "Nelze použít některé změny možností grafiky:"
#: gui/options.cpp:401
msgid "the video mode could not be changed."
-msgstr "reim obrazu nemohl bt zmnn."
+msgstr "režim obrazu nemohl být změněn."
#: gui/options.cpp:407
msgid "the fullscreen setting could not be changed"
-msgstr "nastaven cel obrazovky nemohlo bt zmnno"
+msgstr "nastavení celé obrazovky nemohlo být změněno"
#: gui/options.cpp:413
msgid "the aspect ratio setting could not be changed"
-msgstr "nastaven pomru stran nemohlo bt zmnno"
+msgstr "nastavení poměru stran nemohlo být změněno"
#: gui/options.cpp:732
msgid "Graphics mode:"
-msgstr "Reim obrazu:"
+msgstr "Režim obrazu:"
#: gui/options.cpp:746
msgid "Render mode:"
-msgstr "Reim vykreslen:"
+msgstr "Režim vykreslení:"
#: gui/options.cpp:746 gui/options.cpp:747
msgid "Special dithering modes supported by some games"
-msgstr "Speciln reimy chvn podporovan nktermi hrami"
+msgstr "Speciální režimy chvění podporované některými hrami"
#: gui/options.cpp:758
#: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:2313
msgid "Fullscreen mode"
-msgstr "Reim cel obrazovky"
+msgstr "Režim celé obrazovky"
#: gui/options.cpp:761
msgid "Aspect ratio correction"
-msgstr "Korekce pomru stran"
+msgstr "Korekce poměru stran"
#: gui/options.cpp:761
msgid "Correct aspect ratio for 320x200 games"
-msgstr "Korigovat pomr stran pro hry 320x200"
+msgstr "Korigovat poměr stran pro hry 320x200"
#: gui/options.cpp:769
msgid "Preferred Device:"
-msgstr "Prioritn Zazen:"
+msgstr "Prioritní Zařízení:"
#: gui/options.cpp:769
msgid "Music Device:"
-msgstr "Hudebn zazen"
+msgstr "Hudební zařízení"
#: gui/options.cpp:769 gui/options.cpp:771
msgid "Specifies preferred sound device or sound card emulator"
-msgstr "Stanov prioritn zvukov zazen nebo emultor zvukov karty"
+msgstr "Stanoví prioritní zvukové zařízení nebo emulátor zvukové karty"
#: gui/options.cpp:769 gui/options.cpp:771 gui/options.cpp:772
msgid "Specifies output sound device or sound card emulator"
-msgstr "Stanov vstupn zvukov zazen nebo emultor zvukov karty"
+msgstr "Stanoví výstupní zvukové zařízení nebo emulátor zvukové karty"
#: gui/options.cpp:771
msgctxt "lowres"
msgid "Preferred Dev.:"
-msgstr "Prioritn Za.:"
+msgstr "Prioritní Zař.:"
#: gui/options.cpp:771
msgctxt "lowres"
msgid "Music Device:"
-msgstr "Hudebn zazen"
+msgstr "Hudební zařízení"
#: gui/options.cpp:798
msgid "AdLib emulator:"
-msgstr "AdLib emultor"
+msgstr "AdLib emulátor"
#: gui/options.cpp:798 gui/options.cpp:799
msgid "AdLib is used for music in many games"
-msgstr "AdLib se pouv pro hudbu v mnoha hrch"
+msgstr "AdLib se používá pro hudbu v mnoha hrách"
#: gui/options.cpp:809
msgid "Output rate:"
-msgstr "Vstup. frekvence:"
+msgstr "Výstup. frekvence:"
#: gui/options.cpp:809 gui/options.cpp:810
msgid ""
"Higher value specifies better sound quality but may be not supported by your "
"soundcard"
msgstr ""
-"Vy hodnota zpsob lep kvalitu zvuku, ale nemus bt podporovna Vai "
+"Vyšší hodnota způsobí lepší kvalitu zvuku, ale nemusí být podporována Vaši "
"zvukovou kartou"
#: gui/options.cpp:820
msgid "GM Device:"
-msgstr "GM Zazen:"
+msgstr "GM Zařízení:"
#: gui/options.cpp:820
msgid "Specifies default sound device for General MIDI output"
-msgstr "Stanov vchoz zvukov zazen pro vstup General MIDI"
+msgstr "Stanoví výchozí zvukové zařízení pro výstup General MIDI"
#: gui/options.cpp:831
msgid "Don't use General MIDI music"
-msgstr "Nepouvat hudbu General MIDI"
+msgstr "Nepoužívat hudbu General MIDI"
#: gui/options.cpp:842 gui/options.cpp:908
msgid "Use first available device"
-msgstr "Pout prvn dostupn zazen"
+msgstr "Použít první dostupné zařízení"
#: gui/options.cpp:854
msgid "SoundFont:"
@@ -759,7 +754,7 @@ msgstr "SoundFont:"
#: gui/options.cpp:854 gui/options.cpp:856 gui/options.cpp:857
msgid "SoundFont is supported by some audio cards, FluidSynth and Timidity"
msgstr ""
-"SoundFont je podporovn nktermi zvukovmi kartami, FluidSynth a Timidity"
+"SoundFont je podporován některými zvukovými kartami, FluidSynth a Timidity"
#: gui/options.cpp:856
msgctxt "lowres"
@@ -768,69 +763,69 @@ msgstr "SoundFont:"
#: gui/options.cpp:862
msgid "Mixed AdLib/MIDI mode"
-msgstr "Smen reim AdLib/MIDI"
+msgstr "Smíšený režim AdLib/MIDI"
#: gui/options.cpp:862
msgid "Use both MIDI and AdLib sound generation"
-msgstr "Pout ob zvukov generace MIDI a AdLib"
+msgstr "Použít obě zvukové generace MIDI a AdLib"
#: gui/options.cpp:865
msgid "MIDI gain:"
-msgstr "Zeslen MIDI:"
+msgstr "Zesílení MIDI:"
#: gui/options.cpp:872
msgid "FluidSynth Settings"
-msgstr "Nastaven FluidSynth"
+msgstr "Nastavení FluidSynth"
#: gui/options.cpp:879
msgid "MT-32 Device:"
-msgstr "Zazen MT-32:"
+msgstr "Zařízení MT-32:"
#: gui/options.cpp:879
msgid "Specifies default sound device for Roland MT-32/LAPC1/CM32l/CM64 output"
msgstr ""
-"Stanov vchoz zvukov vstupn zazen pro Roland MT-32/LAPC1/CM32l/CM64"
+"Stanoví výchozí zvukové výstupní zařízení pro Roland MT-32/LAPC1/CM32l/CM64"
#: gui/options.cpp:884
msgid "True Roland MT-32 (disable GM emulation)"
-msgstr "Opravdov Roland MT-32 (vypne GM emulaci)"
+msgstr "Opravdový Roland MT-32 (vypne GM emulaci)"
#: gui/options.cpp:884 gui/options.cpp:886
msgid ""
"Check if you want to use your real hardware Roland-compatible sound device "
"connected to your computer"
msgstr ""
-"Zakrtnte, pokud chcete pout prav hardwarov zazen kompatibiln s "
-"Roland, pipojen k vaemu potai"
+"Zaškrtněte, pokud chcete použít pravé hardwarové zařízení kompatibilní s "
+"Roland, připojené k vašemu počítači"
#: gui/options.cpp:886
msgctxt "lowres"
msgid "True Roland MT-32 (no GM emulation)"
-msgstr "Opravdov Roland MT-32 (dn GM emulace)"
+msgstr "Opravdový Roland MT-32 (žádná GM emulace)"
#: gui/options.cpp:889
msgid "Roland GS Device (enable MT-32 mappings)"
-msgstr "Zazen Roland GS (zapne mapovn MT-32)"
+msgstr "Zařízení Roland GS (zapne mapování MT-32)"
#: gui/options.cpp:889
msgid ""
"Check if you want to enable patch mappings to emulate an MT-32 on a Roland "
"GS device"
msgstr ""
-"Zakrtnte, pokud chcete povolit zplaty mapovn umoujc emulovat MT-32 "
-"na zazen Roland GS"
+"Zaškrtněte, pokud chcete povolit záplaty mapování umožňující emulovat MT-32 "
+"na zařízení Roland GS"
#: gui/options.cpp:898
msgid "Don't use Roland MT-32 music"
-msgstr "Nepouvat hudbu Roland MT-32"
+msgstr "Nepoužívat hudbu Roland MT-32"
#: gui/options.cpp:925
msgid "Text and Speech:"
-msgstr "Text a e"
+msgstr "Text a Řeč"
#: gui/options.cpp:929 gui/options.cpp:939
msgid "Speech"
-msgstr "e"
+msgstr "Řeč"
#: gui/options.cpp:930 gui/options.cpp:940
msgid "Subtitles"
@@ -842,16 +837,16 @@ msgstr "Oba"
#: gui/options.cpp:933
msgid "Subtitle speed:"
-msgstr "Rychlost titulk:"
+msgstr "Rychlost titulků:"
#: gui/options.cpp:935
msgctxt "lowres"
msgid "Text and Speech:"
-msgstr "Text a e:"
+msgstr "Text a Řeč:"
#: gui/options.cpp:939
msgid "Spch"
-msgstr "e"
+msgstr "Řeč"
#: gui/options.cpp:940
msgid "Subs"
@@ -864,12 +859,12 @@ msgstr "Oba"
#: gui/options.cpp:941
msgid "Show subtitles and play speech"
-msgstr "Zobrazit titulky a pehrvat e"
+msgstr "Zobrazit titulky a přehrávat řeč"
#: gui/options.cpp:943
msgctxt "lowres"
msgid "Subtitle speed:"
-msgstr "Rychlost titulk"
+msgstr "Rychlost titulků"
#: gui/options.cpp:959
msgid "Music volume:"
@@ -882,29 +877,29 @@ msgstr "Hlasitost hudby"
#: gui/options.cpp:968
msgid "Mute All"
-msgstr "Ztlumit Ve"
+msgstr "Ztlumit Vše"
#: gui/options.cpp:971
msgid "SFX volume:"
-msgstr "Hlasitost zvuk"
+msgstr "Hlasitost zvuků"
#: gui/options.cpp:971 gui/options.cpp:973 gui/options.cpp:974
msgid "Special sound effects volume"
-msgstr "Hlasitost specilnch zvukovch efekt"
+msgstr "Hlasitost speciálních zvukových efektů"
#: gui/options.cpp:973
msgctxt "lowres"
msgid "SFX volume:"
-msgstr "Hlasitost zvuk"
+msgstr "Hlasitost zvuků"
#: gui/options.cpp:981
msgid "Speech volume:"
-msgstr "Hlasitost ei"
+msgstr "Hlasitost řeči"
#: gui/options.cpp:983
msgctxt "lowres"
msgid "Speech volume:"
-msgstr "Hlasitost ei"
+msgstr "Hlasitost řeči"
#: gui/options.cpp:1140
msgid "Theme Path:"
@@ -917,25 +912,25 @@ msgstr "Cesta ke Vzhledu:"
#: gui/options.cpp:1148 gui/options.cpp:1150 gui/options.cpp:1151
msgid "Specifies path to additional data used by all games or ScummVM"
-msgstr "Stanov cestu k dodatenm datm pouvan vemi hrami nebo ScummVM"
+msgstr "Stanoví cestu k dodatečným datům používaná všemi hrami nebo ScummVM"
#: gui/options.cpp:1157
msgid "Plugins Path:"
-msgstr "Cesta k Pluginm:"
+msgstr "Cesta k Pluginům:"
#: gui/options.cpp:1159
msgctxt "lowres"
msgid "Plugins Path:"
-msgstr "Cesta k Pluginm:"
+msgstr "Cesta k Pluginům:"
#: gui/options.cpp:1168 gui/fluidsynth-dialog.cpp:138
msgid "Misc"
-msgstr "Rzn"
+msgstr "Různé"
#: gui/options.cpp:1170
msgctxt "lowres"
msgid "Misc"
-msgstr "Rzn"
+msgstr "Různé"
#: gui/options.cpp:1172
msgid "Theme:"
@@ -943,20 +938,20 @@ msgstr "Vzhled:"
#: gui/options.cpp:1176
msgid "GUI Renderer:"
-msgstr "GUI Vykreslova:"
+msgstr "GUI Vykreslovač:"
#: gui/options.cpp:1188
msgid "Autosave:"
-msgstr "Autoukldn:"
+msgstr "Autoukládání:"
#: gui/options.cpp:1190
msgctxt "lowres"
msgid "Autosave:"
-msgstr "Autoukldn:"
+msgstr "Autoukládání:"
#: gui/options.cpp:1198
msgid "Keys"
-msgstr "Klvesy"
+msgstr "Klávesy"
#: gui/options.cpp:1205
msgid "GUI Language:"
@@ -968,58 +963,57 @@ msgstr "Jazyk GUI ScummVM"
#: gui/options.cpp:1364
msgid "You have to restart ScummVM before your changes will take effect."
-msgstr "Pro pouit tchto nastaven muste restartovat ScummVM."
+msgstr "Pro použití těchto nastavení musíte restartovat ScummVM."
#: gui/options.cpp:1384
msgid "The chosen directory cannot be written to. Please select another one."
-msgstr "Do zvolenho adrese nelze zapisovat. Vyberte, prosm, jin."
+msgstr "Do zvoleného adresáře nelze zapisovat. Vyberte, prosím, jiný."
#: gui/options.cpp:1393
msgid "Select directory for GUI themes"
-msgstr "Vyberte adres pro vhledy GUI"
+msgstr "Vyberte adresář pro vhledy GUI"
#: gui/options.cpp:1403
msgid "Select directory for extra files"
-msgstr "Vyberte adres pro dodaten soubory"
+msgstr "Vyberte adresář pro dodatečné soubory"
#: gui/options.cpp:1414
msgid "Select directory for plugins"
-msgstr "Vyberte adres pro zsuvn moduly"
+msgstr "Vyberte adresář pro zásuvné moduly"
#: gui/options.cpp:1467
msgid ""
"The theme you selected does not support your current language. If you want "
"to use this theme you need to switch to another language first."
msgstr ""
-"Vzhled, kter jste zvolili, nepodporuje V souasn jazyk. Pokud chcete "
-"tento vzhled pout, muste nejdve pepnout na jin jazyk."
+"Vzhled, který jste zvolili, nepodporuje Váš současný jazyk. Pokud chcete "
+"tento vzhled použít, musíte nejdříve přepnout na jiný jazyk."
#. I18N: You must leave "#" as is, only word 'next' is translatable
#: gui/predictivedialog.cpp:87
msgid "# next"
-msgstr ""
+msgstr "# další"
#: gui/predictivedialog.cpp:88
msgid "add"
-msgstr ""
+msgstr "přidat"
#: gui/predictivedialog.cpp:92
-#, fuzzy
msgid "Delete char"
-msgstr "Smazat"
+msgstr "Smazat znak"
#: gui/predictivedialog.cpp:96
msgid "<"
-msgstr ""
+msgstr "<"
#. I18N: Pre means 'Predictive', leave '*' as is
#: gui/predictivedialog.cpp:98
msgid "* Pre"
-msgstr ""
+msgstr "* Prediktivní"
#: gui/recorderdialog.cpp:64
msgid "Recorder or Playback Gameplay"
-msgstr "Nahrvat nebo pehrt hru"
+msgstr "Nahrávat nebo přehrát hru"
#: gui/recorderdialog.cpp:69 gui/recorderdialog.cpp:156
#: gui/saveload-dialog.cpp:220 gui/saveload-dialog.cpp:276
@@ -1028,11 +1022,11 @@ msgstr "Smazat"
#: gui/recorderdialog.cpp:71
msgid "Record"
-msgstr "Nahrt"
+msgstr "Nahrát"
#: gui/recorderdialog.cpp:72
msgid "Playback"
-msgstr "Pehrt"
+msgstr "Přehrát"
#: gui/recorderdialog.cpp:74
msgid "Edit"
@@ -1046,16 +1040,15 @@ msgstr "Autor:"
#: gui/recorderdialog.cpp:87 gui/recorderdialog.cpp:244
#: gui/recorderdialog.cpp:254
msgid "Notes: "
-msgstr "Poznmky:"
+msgstr "Poznámky:"
#: gui/recorderdialog.cpp:155
msgid "Do you really want to delete this record?"
-msgstr "Opravdu chcete tento zznam smazat?"
+msgstr "Opravdu chcete tento záznam smazat?"
#: gui/recorderdialog.cpp:174
-#, fuzzy
msgid "Unknown Author"
-msgstr "Neznm chyba"
+msgstr "Neznámý autor"
#: gui/saveload-dialog.cpp:167
msgid "List view"
@@ -1063,23 +1056,23 @@ msgstr "Seznam"
#: gui/saveload-dialog.cpp:168
msgid "Grid view"
-msgstr "Mka"
+msgstr "Mřížka"
#: gui/saveload-dialog.cpp:211 gui/saveload-dialog.cpp:360
msgid "No date saved"
-msgstr "Neuloena dn data"
+msgstr "Neuložena žádná data"
#: gui/saveload-dialog.cpp:212 gui/saveload-dialog.cpp:361
msgid "No time saved"
-msgstr "dn uloen as"
+msgstr "Žádný uložený čas"
#: gui/saveload-dialog.cpp:213 gui/saveload-dialog.cpp:362
msgid "No playtime saved"
-msgstr "dn uloen doba hran"
+msgstr "Žádná uložená doba hraní"
#: gui/saveload-dialog.cpp:275
msgid "Do you really want to delete this saved game?"
-msgstr "Opravdu chcete tuto uloenou hru vymazat"
+msgstr "Opravdu chcete tuto uloženou hru vymazat"
#: gui/saveload-dialog.cpp:385 gui/saveload-dialog.cpp:884
msgid "Date: "
@@ -1087,35 +1080,35 @@ msgstr "Datum:"
#: gui/saveload-dialog.cpp:389 gui/saveload-dialog.cpp:890
msgid "Time: "
-msgstr "as:"
+msgstr "Čas:"
#: gui/saveload-dialog.cpp:395 gui/saveload-dialog.cpp:898
msgid "Playtime: "
-msgstr "Doba hran:"
+msgstr "Doba hraní:"
#: gui/saveload-dialog.cpp:408 gui/saveload-dialog.cpp:496
msgid "Untitled savestate"
-msgstr "Bezejmenn uloen stav"
+msgstr "Bezejmenný uložený stav"
#: gui/saveload-dialog.cpp:548
msgid "Next"
-msgstr "Dal"
+msgstr "Další"
#: gui/saveload-dialog.cpp:551
msgid "Prev"
-msgstr "Pedchoz"
+msgstr "Předchozí"
#: gui/saveload-dialog.cpp:748
msgid "New Save"
-msgstr "Nov uloen pozice"
+msgstr "Nová uložená pozice"
#: gui/saveload-dialog.cpp:748
msgid "Create a new save game"
-msgstr "Vytvoit novou uloenou hru."
+msgstr "Vytvořit novou uloženou hru."
#: gui/saveload-dialog.cpp:877
msgid "Name: "
-msgstr "Nzev:"
+msgstr "Název:"
#: gui/saveload-dialog.cpp:949
#, c-format
@@ -1128,32 +1121,32 @@ msgstr "Vyberte Vzhled"
#: gui/ThemeEngine.cpp:347
msgid "Disabled GFX"
-msgstr "GFX zakzno"
+msgstr "GFX zakázáno"
#: gui/ThemeEngine.cpp:347
msgctxt "lowres"
msgid "Disabled GFX"
-msgstr "GFX zakzno"
+msgstr "GFX zakázáno"
#: gui/ThemeEngine.cpp:348
msgid "Standard Renderer"
-msgstr "Standardn Vykreslova"
+msgstr "Standardní Vykreslovač"
#: gui/ThemeEngine.cpp:348 engines/scumm/dialogs.cpp:663
msgid "Standard"
-msgstr "Standardn"
+msgstr "Standardní"
#: gui/ThemeEngine.cpp:350
msgid "Antialiased Renderer"
-msgstr "Vykreslova s vyhlazenmi hranami"
+msgstr "Vykreslovač s vyhlazenými hranami"
#: gui/ThemeEngine.cpp:350
msgid "Antialiased"
-msgstr "S vyhlazenmi hranami"
+msgstr "S vyhlazenými hranami"
#: gui/widget.cpp:323 gui/widget.cpp:325 gui/widget.cpp:331 gui/widget.cpp:333
msgid "Clear value"
-msgstr "Vyistit hodnotu"
+msgstr "Vyčistit hodnotu"
#: gui/fluidsynth-dialog.cpp:68
msgid "Reverb"
@@ -1161,23 +1154,23 @@ msgstr "Dozvuk"
#: gui/fluidsynth-dialog.cpp:70 gui/fluidsynth-dialog.cpp:102
msgid "Active"
-msgstr "Aktivn"
+msgstr "Aktivní"
#: gui/fluidsynth-dialog.cpp:72
msgid "Room:"
-msgstr "Mstnost:"
+msgstr "Místnost:"
#: gui/fluidsynth-dialog.cpp:79
msgid "Damp:"
-msgstr "Tlumen:"
+msgstr "Tlumení:"
#: gui/fluidsynth-dialog.cpp:86
msgid "Width:"
-msgstr "ka:"
+msgstr "Šířka:"
#: gui/fluidsynth-dialog.cpp:93 gui/fluidsynth-dialog.cpp:111
msgid "Level:"
-msgstr "rove:"
+msgstr "Úroveň:"
#: gui/fluidsynth-dialog.cpp:100
msgid "Chorus"
@@ -1205,7 +1198,7 @@ msgstr "Sinus"
#: gui/fluidsynth-dialog.cpp:136
msgid "Triangle"
-msgstr "Trojhrlnk"
+msgstr "Trojúhrlník"
#: gui/fluidsynth-dialog.cpp:140
msgid "Interpolation:"
@@ -1213,19 +1206,19 @@ msgstr "Interpolace:"
#: gui/fluidsynth-dialog.cpp:143
msgid "None (fastest)"
-msgstr "dn (Nejrychlej)"
+msgstr "Žádná (Nejrychlejší)"
#: gui/fluidsynth-dialog.cpp:144
msgid "Linear"
-msgstr "Linern"
+msgstr "Lineární"
#: gui/fluidsynth-dialog.cpp:145
msgid "Fourth-order"
-msgstr "Interpolace tvrtho du"
+msgstr "Interpolace čtvrtého řádu"
#: gui/fluidsynth-dialog.cpp:146
msgid "Seventh-order"
-msgstr "Interpolace sedmho du"
+msgstr "Interpolace sedmého řádu"
#: gui/fluidsynth-dialog.cpp:150
msgid "Reset"
@@ -1233,19 +1226,19 @@ msgstr "Resetovat"
#: gui/fluidsynth-dialog.cpp:150
msgid "Reset all FluidSynth settings to their default values."
-msgstr "Resetovat veker nastaven FludSynth n ajejich vchoz hodnoty."
+msgstr "Resetovat veškerá nastavení FludSynth n ajejich výchozí hodnoty."
#: gui/fluidsynth-dialog.cpp:217
msgid ""
"Do you really want to reset all FluidSynth settings to their default values?"
msgstr ""
-"Opravdu chcete resetovat veker nastaven FluidSynth na jejich vchoz "
+"Opravdu chcete resetovat veškerá nastavení FluidSynth na jejich výchozí "
"hodnoty?"
#: base/main.cpp:228
#, c-format
msgid "Engine does not support debug level '%s'"
-msgstr "Jdro nepodporuje rove ladn '%s'"
+msgstr "Jádro nepodporuje úroveň ladění '%s'"
#: base/main.cpp:306
msgid "Menu"
@@ -1255,7 +1248,7 @@ msgstr "Menu"
#: backends/platform/wince/CEActionsPocket.cpp:45
#: backends/platform/wince/CEActionsSmartphone.cpp:46
msgid "Skip"
-msgstr "Peskoit"
+msgstr "Přeskočit"
#: base/main.cpp:312 backends/platform/symbian/src/SymbianActions.cpp:50
#: backends/platform/wince/CEActionsPocket.cpp:42
@@ -1264,19 +1257,19 @@ msgstr "Pauza"
#: base/main.cpp:315
msgid "Skip line"
-msgstr "Peskoit dek"
+msgstr "Přeskočit řádek"
#: base/main.cpp:507
msgid "Error running game:"
-msgstr "Chyba pi sputn hry:"
+msgstr "Chyba při spuštění hry:"
#: base/main.cpp:554
msgid "Could not find any engine capable of running the selected game"
-msgstr "Nelze nalzt dn jdro schopn vybranou hru spustit"
+msgstr "Nelze nalézt žádné jádro schopné vybranou hru spustit"
#: common/error.cpp:38
msgid "No error"
-msgstr "dn chyba"
+msgstr "Žádná chyba"
#: common/error.cpp:40
msgid "Game data not found"
@@ -1284,19 +1277,19 @@ msgstr "Data hry nenalezena"
#: common/error.cpp:42
msgid "Game id not supported"
-msgstr "Id hry nen podporovno"
+msgstr "Id hry není podporováno"
#: common/error.cpp:44
msgid "Unsupported color mode"
-msgstr "Nepodporovan barevn reim"
+msgstr "Nepodporovaný barevný režim"
#: common/error.cpp:47
msgid "Read permission denied"
-msgstr "Oprvnn ke ten zamtnuto"
+msgstr "Oprávnění ke čtení zamítnuto"
#: common/error.cpp:49
msgid "Write permission denied"
-msgstr "Oprvnn k zpisu zamtnuto"
+msgstr "Oprávnění k zápisu zamítnuto"
#: common/error.cpp:52
msgid "Path does not exist"
@@ -1304,64 +1297,64 @@ msgstr "Cesta neexistuje"
#: common/error.cpp:54
msgid "Path not a directory"
-msgstr "Cesta nen adres"
+msgstr "Cesta není adresář"
#: common/error.cpp:56
msgid "Path not a file"
-msgstr "Cesta nen soubor"
+msgstr "Cesta není soubor"
#: common/error.cpp:59
msgid "Cannot create file"
-msgstr "Nelze vytvoit soubor"
+msgstr "Nelze vytvořit soubor"
#: common/error.cpp:61
msgid "Reading data failed"
-msgstr "ten dat selhalo"
+msgstr "Čtení dat selhalo"
#: common/error.cpp:63
msgid "Writing data failed"
-msgstr "Zpis dat selhal"
+msgstr "Zápis dat selhal"
#: common/error.cpp:66
msgid "Could not find suitable engine plugin"
-msgstr "Nelze nalzt vhodn zs. modul jdra"
+msgstr "Nelze nalézt vhodný zás. modul jádra"
#: common/error.cpp:68
msgid "Engine plugin does not support save states"
-msgstr "Zs. modul jdra nepodporuje uloen stavy"
+msgstr "Zás. modul jádra nepodporuje uložené stavy"
#: common/error.cpp:71
msgid "User canceled"
-msgstr "Zrueno uivatelem"
+msgstr "Zrušeno uživatelem"
#: common/error.cpp:75
msgid "Unknown error"
-msgstr "Neznm chyba"
+msgstr "Neznámá chyba"
#: engines/advancedDetector.cpp:317
#, c-format
msgid "The game in '%s' seems to be unknown."
-msgstr "Hra v '%s' se zd bt neznm."
+msgstr "Hra v '%s' se zdá být neznámá."
#: engines/advancedDetector.cpp:318
msgid "Please, report the following data to the ScummVM team along with name"
-msgstr "Prosm nahlaste nsledujc data tmu ScummVM spolu se jmnem"
+msgstr "Prosím nahlaste následující data týmu ScummVM spolu se jménem"
#: engines/advancedDetector.cpp:320
msgid "of the game you tried to add and its version/language/etc.:"
-msgstr "hry, kterou jste se pokusili pidat a jej verzi/jazyk/atd.:"
+msgstr "hry, kterou jste se pokusili přidat a její verzi/jazyk/atd.:"
#: engines/dialogs.cpp:85
msgid "~R~esume"
-msgstr "~P~okraovat"
+msgstr "~P~okračovat"
#: engines/dialogs.cpp:87
msgid "~L~oad"
-msgstr "~N~ahrt"
+msgstr "~N~ahrát"
#: engines/dialogs.cpp:91
msgid "~S~ave"
-msgstr "~U~loit"
+msgstr "~U~ložit"
#: engines/dialogs.cpp:95
msgid "~O~ptions"
@@ -1369,7 +1362,7 @@ msgstr "~V~olby"
#: engines/dialogs.cpp:100
msgid "~H~elp"
-msgstr "~N~povda"
+msgstr "~N~ápověda"
#: engines/dialogs.cpp:102
msgid "~A~bout"
@@ -1377,12 +1370,12 @@ msgstr "~O~ programu"
#: engines/dialogs.cpp:105 engines/dialogs.cpp:181
msgid "~R~eturn to Launcher"
-msgstr "~N~vrat do Spoute"
+msgstr "~N~ávrat do Spouštěče"
#: engines/dialogs.cpp:107 engines/dialogs.cpp:183
msgctxt "lowres"
msgid "~R~eturn to Launcher"
-msgstr "~N~vrat do Spoute"
+msgstr "~N~ávrat do Spouštěče"
#: engines/dialogs.cpp:116 engines/agi/saveload.cpp:803
#: engines/cruise/menu.cpp:212 engines/drascula/saveload.cpp:336
@@ -1390,7 +1383,7 @@ msgstr "~N~vrat do Spoute"
#: engines/pegasus/pegasus.cpp:377 engines/sci/engine/kfile.cpp:759
#: engines/toltecs/menu.cpp:281 engines/tsage/scenes.cpp:598
msgid "Save game:"
-msgstr "Uloit hru:"
+msgstr "Uložit hru:"
#: engines/dialogs.cpp:116 backends/platform/symbian/src/SymbianActions.cpp:44
#: backends/platform/wince/CEActionsPocket.cpp:43
@@ -1403,7 +1396,7 @@ msgstr "Uloit hru:"
#: engines/sci/engine/kfile.cpp:759 engines/scumm/dialogs.cpp:188
#: engines/toltecs/menu.cpp:281 engines/tsage/scenes.cpp:598
msgid "Save"
-msgstr "Uloit"
+msgstr "Uložit"
#: engines/dialogs.cpp:145
msgid ""
@@ -1411,9 +1404,9 @@ msgid ""
"the README for basic information, and for instructions on how to obtain "
"further assistance."
msgstr ""
-"Je nm lto, ale toto jdro v souasnosti nepodporuje hern npovdu. Prosm "
-"prohldnte si README pro zkladn informace a pro instrukce jak zskat "
-"dal pomoc."
+"Je nám líto, ale toto jádro v současnosti nepodporuje herní nápovědu. Prosím "
+"prohlédněte si README pro základní informace a pro instrukce jak získat "
+"další pomoc."
#: engines/dialogs.cpp:234 engines/pegasus/pegasus.cpp:393
#, c-format
@@ -1421,8 +1414,8 @@ msgid ""
"Gamestate save failed (%s)! Please consult the README for basic information, "
"and for instructions on how to obtain further assistance."
msgstr ""
-"Uloen stavu hry selhalo (%s)! Prosm pette si dokumentaci pro zkladn "
-"informace a pokyny k zskn dal podpory."
+"Uložení stavu hry selhalo (%s)! Prosím přečtěte si dokumentaci pro základní "
+"informace a pokyny k získání další podpory."
#: engines/dialogs.cpp:307 engines/mohawk/dialogs.cpp:109
#: engines/mohawk/dialogs.cpp:170 engines/tsage/dialogs.cpp:106
@@ -1432,27 +1425,27 @@ msgstr "~O~K"
#: engines/dialogs.cpp:308 engines/mohawk/dialogs.cpp:110
#: engines/mohawk/dialogs.cpp:171 engines/tsage/dialogs.cpp:107
msgid "~C~ancel"
-msgstr "~Z~ruit"
+msgstr "~Z~rušit"
#: engines/dialogs.cpp:311
msgid "~K~eys"
-msgstr "~K~lvesy"
+msgstr "~K~lávesy"
#: engines/engine.cpp:276
msgid "Could not initialize color format."
-msgstr "Nelze zavst barevn formt."
+msgstr "Nelze zavést barevný formát."
#: engines/engine.cpp:284
msgid "Could not switch to video mode: '"
-msgstr "Nelze pepnout na reim obrazu: '"
+msgstr "Nelze přepnout na režim obrazu: '"
#: engines/engine.cpp:293
msgid "Could not apply aspect ratio setting."
-msgstr "Nelze pout nastaven pomru stran."
+msgstr "Nelze použít nastavení poměru stran."
#: engines/engine.cpp:298
msgid "Could not apply fullscreen setting."
-msgstr "Nelze pout nastaven cel obrazovky."
+msgstr "Nelze použít nastavení celé obrazovky."
#: engines/engine.cpp:398
msgid ""
@@ -1462,11 +1455,11 @@ msgid ""
"the data files to your hard disk instead.\n"
"See the README file for details."
msgstr ""
-"Vypad to, e tuto hru hrajete pmo z\n"
-" CD. Je znmo, e toto zpsobuje problmy\n"
-" a je tedy doporueno, a msto toho zkoprujete\n"
-"datov soubory na V pevn disk.\n"
-"Pro podrobnosti si pette README."
+"Vypadá to, že tuto hru hrajete přímo z\n"
+" CD. Je známo, že toto způsobuje problémy\n"
+" a je tedy doporučeno, ať místo toho zkopírujete\n"
+"datové soubory na Váš pevný disk.\n"
+"Pro podrobnosti si přečtěte README."
#: engines/engine.cpp:409
msgid ""
@@ -1476,11 +1469,11 @@ msgid ""
"order to listen to the game's music.\n"
"See the README file for details."
msgstr ""
-"Tato hra m na svm disku zvukov stopy. Tyto\n"
-"stopy mus bt z disku zkoprovny pouitm\n"
-"vhodnho nstroje pro extrakci zvuku z CD,\n"
-"abyste mohli poslouchat hudbu ve he.\n"
-"Pro podrobnosti si pette README."
+"Tato hra má na svém disku zvukové stopy. Tyto\n"
+"stopy musí být z disku zkopírovány použitím\n"
+"vhodného nástroje pro extrakci zvuku z CD,\n"
+"abyste mohli poslouchat hudbu ve hře.\n"
+"Pro podrobnosti si přečtěte README."
#: engines/engine.cpp:467
#, c-format
@@ -1488,8 +1481,8 @@ msgid ""
"Gamestate load failed (%s)! Please consult the README for basic information, "
"and for instructions on how to obtain further assistance."
msgstr ""
-"Naten stavu hry selhalo (%s)! Prosm pette si dokumentaci pro zkladn "
-"informace a pokyny k zskn dal podpory."
+"Načtení stavu hry selhalo (%s)! Prosím přečtěte si dokumentaci pro základní "
+"informace a pokyny k získání další podpory."
#: engines/engine.cpp:480
msgid ""
@@ -1497,25 +1490,25 @@ msgid ""
"ScummVM. As such, it is likely to be unstable, and any saves you make might "
"not work in future versions of ScummVM."
msgstr ""
-"VAROVN: Hra, kterou se chystte spustit, nen jet pln podporovna "
-"ScummVM. Proto je mon, e bude nestabiln a jakkoli uloen hry nemus "
-"fungovat v budoucch verzch ScummVM."
+"VAROVÁNÍ: Hra, kterou se chystáte spustit, není ještě plně podporována "
+"ScummVM. Proto je možné, že bude nestabilní a jakékoli uložené hry nemusí "
+"fungovat v budoucích verzích ScummVM."
#: engines/engine.cpp:483
msgid "Start anyway"
-msgstr "Pesto spustit"
+msgstr "Přesto spustit"
#: audio/fmopl.cpp:62
msgid "MAME OPL emulator"
-msgstr "MAME OPL Emultor"
+msgstr "MAME OPL Emulátor"
#: audio/fmopl.cpp:64
msgid "DOSBox OPL emulator"
-msgstr "DOSBox OPL Emultor"
+msgstr "DOSBox OPL Emulátor"
#: audio/fmopl.cpp:67
msgid "ALSA Direct FM"
-msgstr ""
+msgstr "ALSA Přímá FM"
#: audio/mididrv.cpp:209
#, c-format
@@ -1523,13 +1516,13 @@ msgid ""
"The selected audio device '%s' was not found (e.g. might be turned off or "
"disconnected)."
msgstr ""
-"Zvolen zvukov zazen '%s' nebylo nalezeno (nap. me bt vypnuto nebo "
+"Zvolené zvukové zařízení '%s' nebylo nalezeno (např. může být vypnuto nebo "
"odpojeno)."
#: audio/mididrv.cpp:209 audio/mididrv.cpp:221 audio/mididrv.cpp:257
#: audio/mididrv.cpp:272
msgid "Attempting to fall back to the next available device..."
-msgstr "Pokus o navrcen na nejbli dostupn zazen..."
+msgstr "Pokus o navrácení na nejbližší dostupné zařízení..."
#: audio/mididrv.cpp:221
#, c-format
@@ -1537,8 +1530,8 @@ msgid ""
"The selected audio device '%s' cannot be used. See log file for more "
"information."
msgstr ""
-"Zvolen zvukov zazen '%s' nelze pout. Podvejte se na zznam pro vce "
-"informac."
+"Zvolené zvukové zařízení '%s' nelze použít. Podívejte se na záznam pro více "
+"informací."
#: audio/mididrv.cpp:257
#, c-format
@@ -1546,7 +1539,7 @@ msgid ""
"The preferred audio device '%s' was not found (e.g. might be turned off or "
"disconnected)."
msgstr ""
-"Upednostovan zvukov zazen '%s' nebylo nalezeno (nap. me bt "
+"Upřednostňované zvukové zařízení '%s' nebylo nalezeno (např. může být "
"vypnuto nebo odpojeno)."
#: audio/mididrv.cpp:272
@@ -1555,8 +1548,8 @@ msgid ""
"The preferred audio device '%s' cannot be used. See log file for more "
"information."
msgstr ""
-"Upednostovan zvukov zazen '%s' nelze pout. Podvejte se na zznam "
-"pro vce informac."
+"Upřednostňované zvukové zařízení '%s' nelze použít. Podívejte se na záznam "
+"pro více informací."
#: audio/null.h:44
msgid "No music"
@@ -1564,55 +1557,55 @@ msgstr "Bez hudby"
#: audio/mods/paula.cpp:196
msgid "Amiga Audio Emulator"
-msgstr "Emultor zvuku Amiga"
+msgstr "Emulátor zvuku Amiga"
#: audio/adlib.cpp:2291
msgid "AdLib Emulator"
-msgstr "AdLib Emultor"
+msgstr "AdLib Emulátor"
#: audio/softsynth/appleiigs.cpp:33
msgid "Apple II GS Emulator (NOT IMPLEMENTED)"
-msgstr "Apple II GS Emultor (NEN ZAVEDEN)"
+msgstr "Apple II GS Emulátor (NENÍ ZAVEDEN)"
#: audio/softsynth/sid.cpp:1430
msgid "C64 Audio Emulator"
-msgstr "Emultor zvuku C64"
+msgstr "Emulátor zvuku C64"
#: audio/softsynth/mt32.cpp:200
msgid "Initializing MT-32 Emulator"
-msgstr "Zavdm MT-32 Emultor"
+msgstr "Zavádím MT-32 Emulátor"
#: audio/softsynth/mt32.cpp:426
msgid "MT-32 Emulator"
-msgstr "MT-32 Emultor"
+msgstr "MT-32 Emulátor"
#: audio/softsynth/pcspk.cpp:139
msgid "PC Speaker Emulator"
-msgstr "PC Speaker Emultor"
+msgstr "PC Speaker Emulátor"
#: audio/softsynth/pcspk.cpp:158
msgid "IBM PCjr Emulator"
-msgstr "IBM PCjr Emultor"
+msgstr "IBM PCjr Emulátor"
#: backends/keymapper/remap-dialog.cpp:48
msgid "Keymap:"
-msgstr "Mapa Klves:"
+msgstr "Mapa Kláves:"
#: backends/keymapper/remap-dialog.cpp:67
msgid " (Effective)"
-msgstr " (Aktivn)"
+msgstr " (Aktivní)"
#: backends/keymapper/remap-dialog.cpp:107
msgid " (Active)"
-msgstr "(Aktivn)"
+msgstr "(Aktivní)"
#: backends/keymapper/remap-dialog.cpp:107
msgid " (Blocked)"
-msgstr " (Blokovno)"
+msgstr " (Blokováno)"
#: backends/keymapper/remap-dialog.cpp:120
msgid " (Global)"
-msgstr "(Globln)"
+msgstr "(Globální)"
#: backends/keymapper/remap-dialog.cpp:128
msgid " (Game)"
@@ -1625,43 +1618,43 @@ msgstr "Windows MIDI"
#: backends/platform/ds/arm9/source/dsoptions.cpp:56
#: engines/scumm/dialogs.cpp:291
msgid "~C~lose"
-msgstr "~Z~avt"
+msgstr "~Z~avřít"
#: backends/platform/ds/arm9/source/dsoptions.cpp:57
msgid "ScummVM Main Menu"
-msgstr "Hlavn Menu ScummVM"
+msgstr "Hlavní Menu ScummVM"
#: backends/platform/ds/arm9/source/dsoptions.cpp:63
msgid "~L~eft handed mode"
-msgstr "~R~eim pro levky"
+msgstr "~R~ežim pro leváky"
#: backends/platform/ds/arm9/source/dsoptions.cpp:64
msgid "~I~ndy fight controls"
-msgstr "~O~vldn Indyho boje"
+msgstr "~O~vládání Indyho boje"
#: backends/platform/ds/arm9/source/dsoptions.cpp:65
msgid "Show mouse cursor"
-msgstr "Zobrazit kurzor myi"
+msgstr "Zobrazit kurzor myši"
#: backends/platform/ds/arm9/source/dsoptions.cpp:66
msgid "Snap to edges"
-msgstr "Pichytit k okrajm"
+msgstr "Přichytit k okrajům"
#: backends/platform/ds/arm9/source/dsoptions.cpp:68
msgid "Touch X Offset"
-msgstr "Dotykov vyrovnni na ose X"
+msgstr "Dotykové vyrovnáni na ose X"
#: backends/platform/ds/arm9/source/dsoptions.cpp:75
msgid "Touch Y Offset"
-msgstr "Dotykov vyrovnni na ose Y"
+msgstr "Dotykové vyrovnáni na ose Y"
#: backends/platform/ds/arm9/source/dsoptions.cpp:87
msgid "Use laptop trackpad-style cursor control"
-msgstr "Pout styl kontroly kurzoru jako u ovldac poduky laptopu"
+msgstr "Použít styl kontroly kurzoru jako u ovládací podušky laptopu"
#: backends/platform/ds/arm9/source/dsoptions.cpp:88
msgid "Tap for left click, double tap right click"
-msgstr "uknte pro lev kliknut, dvakrt pro prav kliknut"
+msgstr "Ťukněte pro levé kliknutí, dvakrát pro pravé kliknutí"
#: backends/platform/ds/arm9/source/dsoptions.cpp:90
msgid "Sensitivity"
@@ -1669,23 +1662,23 @@ msgstr "Citlivost"
#: backends/platform/ds/arm9/source/dsoptions.cpp:99
msgid "Initial top screen scale:"
-msgstr "Poten zmna velikosti horn obrazovky:"
+msgstr "Počáteční změna velikosti horní obrazovky:"
#: backends/platform/ds/arm9/source/dsoptions.cpp:105
msgid "Main screen scaling:"
-msgstr "Zmna velikosti hlavn obrazovky:"
+msgstr "Změna velikosti hlavní obrazovky:"
#: backends/platform/ds/arm9/source/dsoptions.cpp:107
msgid "Hardware scale (fast, but low quality)"
-msgstr "Hardwarov zmna velikosti (rychl, ale nzk kvalita)"
+msgstr "Hardwarová změna velikosti (rychlé, ale nízká kvalita)"
#: backends/platform/ds/arm9/source/dsoptions.cpp:108
msgid "Software scale (good quality, but slower)"
-msgstr "Softwarov zmna velikosti (dobr kvalita, ale pomalej)"
+msgstr "Softwarová změna velikosti (dobrá kvalita, ale pomalejší)"
#: backends/platform/ds/arm9/source/dsoptions.cpp:109
msgid "Unscaled (you must scroll left and right)"
-msgstr "Beze zmny velikosti (muste posunovat doleva a doprava)"
+msgstr "Beze změny velikosti (musíte posunovat doleva a doprava)"
#: backends/platform/ds/arm9/source/dsoptions.cpp:111
msgid "Brightness:"
@@ -1693,31 +1686,31 @@ msgstr "Jas:"
#: backends/platform/ds/arm9/source/dsoptions.cpp:121
msgid "High quality audio (slower) (reboot)"
-msgstr "Vysok kvalita zvuku (pomalej) (restart) "
+msgstr "Vysoká kvalita zvuku (pomalejší) (restart) "
#: backends/platform/ds/arm9/source/dsoptions.cpp:122
msgid "Disable power off"
-msgstr "Zakzat vypnut"
+msgstr "Zakázat vypnutí"
#: backends/platform/iphone/osys_events.cpp:300
msgid "Mouse-click-and-drag mode enabled."
-msgstr "Reim pethnut myi zapnut."
+msgstr "Režim přetáhnutí myši zapnut."
#: backends/platform/iphone/osys_events.cpp:302
msgid "Mouse-click-and-drag mode disabled."
-msgstr "Reim pethnut myi vypnut."
+msgstr "Režim přetáhnutí myši vypnut."
#: backends/platform/iphone/osys_events.cpp:313
msgid "Touchpad mode enabled."
-msgstr "Touchpad reim zapnut"
+msgstr "Touchpad režim zapnut"
#: backends/platform/iphone/osys_events.cpp:315
msgid "Touchpad mode disabled."
-msgstr "Touchpad reim vypnut"
+msgstr "Touchpad režim vypnut"
#: backends/platform/maemo/maemo.cpp:208
msgid "Click Mode"
-msgstr "Reim kliknut"
+msgstr "Režim kliknutí"
#: backends/platform/maemo/maemo.cpp:214
#: backends/platform/symbian/src/SymbianActions.cpp:42
@@ -1725,30 +1718,30 @@ msgstr "Reim kliknut"
#: backends/platform/wince/CEActionsSmartphone.cpp:43
#: backends/platform/tizen/form.cpp:275
msgid "Left Click"
-msgstr "Lev Kliknut"
+msgstr "Levé Kliknutí"
#: backends/platform/maemo/maemo.cpp:217
msgid "Middle Click"
-msgstr "Kliknut prostednm tlatkem"
+msgstr "Kliknutí prostředním tlačítkem"
#: backends/platform/maemo/maemo.cpp:220
#: backends/platform/symbian/src/SymbianActions.cpp:43
#: backends/platform/wince/CEActionsSmartphone.cpp:44
#: backends/platform/tizen/form.cpp:267
msgid "Right Click"
-msgstr "Prav kliknut"
+msgstr "Pravé kliknutí"
#: backends/platform/sdl/macosx/appmenu_osx.mm:88
msgid "Hide ScummVM"
-msgstr "Skrt ScummVM"
+msgstr "Skrýt ScummVM"
#: backends/platform/sdl/macosx/appmenu_osx.mm:93
msgid "Hide Others"
-msgstr "Skrt Ostatn"
+msgstr "Skrýt Ostatní"
#: backends/platform/sdl/macosx/appmenu_osx.mm:98
msgid "Show All"
-msgstr "Zobrazit Ve"
+msgstr "Zobrazit Vše"
#: backends/platform/sdl/macosx/appmenu_osx.mm:120
#: backends/platform/sdl/macosx/appmenu_osx.mm:131
@@ -1761,28 +1754,28 @@ msgstr "Minimalizovat"
#: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:47
msgid "Normal (no scaling)"
-msgstr "Normln (bez zmny velikosti)"
+msgstr "Normální (bez změny velikosti)"
#: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:66
msgctxt "lowres"
msgid "Normal (no scaling)"
-msgstr "Normln (bez zmny velikosti)"
+msgstr "Normální (bez změny velikosti)"
#: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:2212
msgid "Enabled aspect ratio correction"
-msgstr "Povolena korekce pomru stran"
+msgstr "Povolena korekce poměru stran"
#: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:2218
msgid "Disabled aspect ratio correction"
-msgstr "Zakzna korekce pomru stran"
+msgstr "Zakázána korekce poměru stran"
#: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:2273
msgid "Active graphics filter:"
-msgstr "Aktivn grafick filtr:"
+msgstr "Aktivní grafický filtr:"
#: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:2315
msgid "Windowed mode"
-msgstr "Reim do okna"
+msgstr "Režim do okna"
#: backends/graphics/opengl/opengl-graphics.cpp:119
msgid "OpenGL"
@@ -1790,7 +1783,7 @@ msgstr "OpenGL"
#: backends/graphics/opengl/opengl-graphics.cpp:120
msgid "OpenGL (No filtering)"
-msgstr "OpenGL (bez filtrovn)"
+msgstr "OpenGL (bez filtrování)"
#: backends/platform/symbian/src/SymbianActions.cpp:38
#: backends/platform/wince/CEActionsSmartphone.cpp:39
@@ -1800,7 +1793,7 @@ msgstr "Nahoru"
#: backends/platform/symbian/src/SymbianActions.cpp:39
#: backends/platform/wince/CEActionsSmartphone.cpp:40
msgid "Down"
-msgstr "Dol"
+msgstr "Dolů"
#: backends/platform/symbian/src/SymbianActions.cpp:40
#: backends/platform/wince/CEActionsSmartphone.cpp:41
@@ -1825,44 +1818,43 @@ msgstr "Multi Funkce"
#: backends/platform/symbian/src/SymbianActions.cpp:48
msgid "Swap character"
-msgstr "Zamnit znaky"
+msgstr "Zaměnit znaky"
#: backends/platform/symbian/src/SymbianActions.cpp:49
msgid "Skip text"
-msgstr "Peskoit text"
+msgstr "Přeskočit text"
#: backends/platform/symbian/src/SymbianActions.cpp:51
msgid "Fast mode"
-msgstr "Rychl reim"
+msgstr "Rychlý režim"
#: backends/platform/symbian/src/SymbianActions.cpp:52
#: backends/platform/wince/CEActionsPocket.cpp:44
#: backends/platform/wince/CEActionsSmartphone.cpp:52
-#: backends/events/default/default-events.cpp:218
-#: engines/scumm/dialogs.cpp:192 engines/scumm/help.cpp:83
-#: engines/scumm/help.cpp:85
+#: backends/events/default/default-events.cpp:218 engines/scumm/dialogs.cpp:192
+#: engines/scumm/help.cpp:83 engines/scumm/help.cpp:85
msgid "Quit"
-msgstr "Ukonit"
+msgstr "Ukončit"
#: backends/platform/symbian/src/SymbianActions.cpp:53
msgid "Debugger"
-msgstr "Ladc program"
+msgstr "Ladící program"
#: backends/platform/symbian/src/SymbianActions.cpp:54
msgid "Global menu"
-msgstr "Globln menu"
+msgstr "Globální menu"
#: backends/platform/symbian/src/SymbianActions.cpp:55
msgid "Virtual keyboard"
-msgstr "Virtuln klvesnice"
+msgstr "Virtuální klávesnice"
#: backends/platform/symbian/src/SymbianActions.cpp:56
msgid "Key mapper"
-msgstr "Mapova klves"
+msgstr "Mapovač kláves"
#: backends/events/symbiansdl/symbiansdl-events.cpp:186
msgid "Do you want to quit ?"
-msgstr "Chcete ukonit ?"
+msgstr "Chcete ukončit ?"
#: backends/platform/wii/options.cpp:51
msgid "Video"
@@ -1870,19 +1862,19 @@ msgstr "Video"
#: backends/platform/wii/options.cpp:54
msgid "Current video mode:"
-msgstr "Souasn reim obrazu:"
+msgstr "Současný režim obrazu:"
#: backends/platform/wii/options.cpp:56
msgid "Double-strike"
-msgstr "Dvojit pekrtnut"
+msgstr "Dvojité přeškrtnutí"
#: backends/platform/wii/options.cpp:60
msgid "Horizontal underscan:"
-msgstr "Horizontln zmenen"
+msgstr "Horizontální zmenšení"
#: backends/platform/wii/options.cpp:66
msgid "Vertical underscan:"
-msgstr "Vertikln zmenen"
+msgstr "Vertikální zmenšení"
#: backends/platform/wii/options.cpp:71
msgid "Input"
@@ -1894,7 +1886,7 @@ msgstr "Citlivost GC Padu"
#: backends/platform/wii/options.cpp:80
msgid "GC Pad acceleration:"
-msgstr "Zrychlen GC Padu"
+msgstr "Zrychlení GC Padu"
#: backends/platform/wii/options.cpp:86
msgid "DVD"
@@ -1906,11 +1898,11 @@ msgstr "Stav:"
#: backends/platform/wii/options.cpp:90 backends/platform/wii/options.cpp:102
msgid "Unknown"
-msgstr "Neznm"
+msgstr "Neznámé"
#: backends/platform/wii/options.cpp:93
msgid "Mount DVD"
-msgstr "Pipojit DVD"
+msgstr "Připojit DVD"
#: backends/platform/wii/options.cpp:94
msgid "Unmount DVD"
@@ -1926,11 +1918,11 @@ msgstr "Server:"
#: backends/platform/wii/options.cpp:110
msgid "Share:"
-msgstr "Sdlen:"
+msgstr "Sdílení:"
#: backends/platform/wii/options.cpp:114
msgid "Username:"
-msgstr "Uivatelsk jmno"
+msgstr "Uživatelské jméno"
#: backends/platform/wii/options.cpp:118
msgid "Password:"
@@ -1938,11 +1930,11 @@ msgstr "Heslo"
#: backends/platform/wii/options.cpp:121
msgid "Init network"
-msgstr "Spustit s"
+msgstr "Spustit síť"
#: backends/platform/wii/options.cpp:123
msgid "Mount SMB"
-msgstr "Pipojit SMB"
+msgstr "Připojit SMB"
#: backends/platform/wii/options.cpp:124
msgid "Unmount SMB"
@@ -1950,56 +1942,56 @@ msgstr "Odpojit SMB"
#: backends/platform/wii/options.cpp:143
msgid "DVD Mounted successfully"
-msgstr "DVD spn pipojeno"
+msgstr "DVD úspěšně připojeno"
#: backends/platform/wii/options.cpp:146
msgid "Error while mounting the DVD"
-msgstr "Chyba pi pipojovn DVD"
+msgstr "Chyba při připojování DVD"
#: backends/platform/wii/options.cpp:148
msgid "DVD not mounted"
-msgstr "DVD nepipojeno"
+msgstr "DVD nepřipojeno"
#: backends/platform/wii/options.cpp:161
msgid "Network up, share mounted"
-msgstr "S je zapnuta, sdlen pipojeno"
+msgstr "Síť je zapnuta, sdílení připojeno"
#: backends/platform/wii/options.cpp:163
msgid "Network up"
-msgstr "S je zapnuta"
+msgstr "Síť je zapnuta"
#: backends/platform/wii/options.cpp:166
msgid ", error while mounting the share"
-msgstr ", chyba pi pipojovn sdlen"
+msgstr ", chyba při připojování sdílení"
#: backends/platform/wii/options.cpp:168
msgid ", share not mounted"
-msgstr ", sdlen nen pipojeno"
+msgstr ", sdílení není připojeno"
#: backends/platform/wii/options.cpp:174
msgid "Network down"
-msgstr "S je nedostupn"
+msgstr "Síť je nedostupná"
#: backends/platform/wii/options.cpp:178
msgid "Initializing network"
-msgstr "Zavdm s"
+msgstr "Zavádím síť"
#: backends/platform/wii/options.cpp:182
msgid "Timeout while initializing network"
-msgstr "Pi zavdn st vyprel limit"
+msgstr "Při zavádění sítě vypršel limit"
#: backends/platform/wii/options.cpp:186
#, c-format
msgid "Network not initialized (%d)"
-msgstr "S nen zavedena (%d)"
+msgstr "Síť není zavedena (%d)"
#: backends/platform/wince/CEActionsPocket.cpp:46
msgid "Hide Toolbar"
-msgstr "Skrt Panel nstroj"
+msgstr "Skrýt Panel nástrojů"
#: backends/platform/wince/CEActionsPocket.cpp:47
msgid "Show Keyboard"
-msgstr "Zobrazit klvesnici"
+msgstr "Zobrazit klávesnici"
#: backends/platform/wince/CEActionsPocket.cpp:48
msgid "Sound on/off"
@@ -2007,66 +1999,66 @@ msgstr "Zvuk zapnout/vypnout"
#: backends/platform/wince/CEActionsPocket.cpp:49
msgid "Right click"
-msgstr "Prav kliknut"
+msgstr "Pravé kliknutí"
#: backends/platform/wince/CEActionsPocket.cpp:50
msgid "Show/Hide Cursor"
-msgstr "Ukzat/Skrt Kurzor"
+msgstr "Ukázat/Skrýt Kurzor"
#: backends/platform/wince/CEActionsPocket.cpp:51
msgid "Free look"
-msgstr "Rozhlen pomoc myi"
+msgstr "Rozhlížení pomocí myši"
#: backends/platform/wince/CEActionsPocket.cpp:52
msgid "Zoom up"
-msgstr "Piblen nahoru"
+msgstr "Přiblížení nahoru"
#: backends/platform/wince/CEActionsPocket.cpp:53
msgid "Zoom down"
-msgstr "Piblen dol"
+msgstr "Přiblížení dolů"
#: backends/platform/wince/CEActionsPocket.cpp:55
#: backends/platform/wince/CEActionsSmartphone.cpp:49
msgid "Bind Keys"
-msgstr "Piadit klvesy"
+msgstr "Přiřadit klávesy"
#: backends/platform/wince/CEActionsPocket.cpp:56
msgid "Cursor Up"
-msgstr "ipka Nahoru"
+msgstr "Šipka Nahoru"
#: backends/platform/wince/CEActionsPocket.cpp:57
msgid "Cursor Down"
-msgstr "ipka Dol"
+msgstr "Šipka Dolů"
#: backends/platform/wince/CEActionsPocket.cpp:58
msgid "Cursor Left"
-msgstr "ipka Doleva"
+msgstr "Šipka Doleva"
#: backends/platform/wince/CEActionsPocket.cpp:59
msgid "Cursor Right"
-msgstr "ipka Doprava"
+msgstr "Šipka Doprava"
#: backends/platform/wince/CEActionsPocket.cpp:267
#: backends/platform/wince/CEActionsSmartphone.cpp:231
msgid "Do you want to load or save the game?"
-msgstr "Chcete hru nahrt nebo uloit?"
+msgstr "Chcete hru nahrát nebo uložit?"
#: backends/platform/wince/CEActionsPocket.cpp:326
#: backends/platform/wince/CEActionsSmartphone.cpp:287
msgid " Are you sure you want to quit ? "
-msgstr " Jste si jisti, e chcete odejt ? "
+msgstr " Jste si jisti, že chcete odejít ? "
#: backends/platform/wince/CEActionsSmartphone.cpp:50
msgid "Keyboard"
-msgstr "Klvesnice"
+msgstr "Klávesnice"
#: backends/platform/wince/CEActionsSmartphone.cpp:51
msgid "Rotate"
-msgstr "Otet"
+msgstr "Otáčet"
#: backends/platform/wince/CELauncherDialog.cpp:56
msgid "Using SDL driver "
-msgstr "Pouv ovlada SDL"
+msgstr "Používá ovladač SDL"
#: backends/platform/wince/CELauncherDialog.cpp:60
msgid "Display "
@@ -2074,92 +2066,92 @@ msgstr "Displej"
#: backends/platform/wince/CELauncherDialog.cpp:83
msgid "Do you want to perform an automatic scan ?"
-msgstr "Chcete provst automatick hledn ?"
+msgstr "Chcete provést automatické hledání ?"
#: backends/platform/wince/wince-sdl.cpp:516
msgid "Map right click action"
-msgstr "Mapovat innost prav kliknut"
+msgstr "Mapovat činnost pravé kliknutí"
#: backends/platform/wince/wince-sdl.cpp:520
msgid "You must map a key to the 'Right Click' action to play this game"
msgstr ""
-"Muste namapovat klvesu pro innost 'Prav Kliknut', abyste tuto hru mohli "
-"hrt"
+"Musíte namapovat klávesu pro činnost 'Pravé Kliknutí', abyste tuto hru mohli "
+"hrát"
#: backends/platform/wince/wince-sdl.cpp:529
msgid "Map hide toolbar action"
-msgstr "Mapovat innost skrt panel nstroj"
+msgstr "Mapovat činnost skrýt panel nástrojů"
#: backends/platform/wince/wince-sdl.cpp:533
msgid "You must map a key to the 'Hide toolbar' action to play this game"
msgstr ""
-"Muste namapovat klvesu pro innost 'Skrt Panel nstroj', abyste tuto hru "
-"mohli hrt"
+"Musíte namapovat klávesu pro činnost 'Skrýt Panel nástrojů', abyste tuto hru "
+"mohli hrát"
#: backends/platform/wince/wince-sdl.cpp:542
msgid "Map Zoom Up action (optional)"
-msgstr "Namapovat innost Piblit Nahoru (nepovinn)"
+msgstr "Namapovat činnost Přiblížit Nahoru (nepovinné)"
#: backends/platform/wince/wince-sdl.cpp:545
msgid "Map Zoom Down action (optional)"
-msgstr "Namapovat innost Piblit Dol (nepovinn)"
+msgstr "Namapovat činnost Přiblížit Dolů (nepovinné)"
#: backends/platform/wince/wince-sdl.cpp:553
msgid ""
"Don't forget to map a key to 'Hide Toolbar' action to see the whole inventory"
msgstr ""
-"Nezapomete namapovat klvesu k innosti 'Skrt Panel Nstroj, abyste "
-"vidli cel invent"
+"Nezapomeňte namapovat klávesu k činnosti 'Skrýt Panel Nástrojů, abyste "
+"viděli celý inventář"
#: backends/events/default/default-events.cpp:196
msgid "Do you really want to return to the Launcher?"
-msgstr "Opravdu se chcete vrtit do Spoute?"
+msgstr "Opravdu se chcete vrátit do Spouštěče?"
#: backends/events/default/default-events.cpp:196
msgid "Launcher"
-msgstr "Spout"
+msgstr "Spouštěč"
#: backends/events/default/default-events.cpp:218
msgid "Do you really want to quit?"
-msgstr "Opravdu chcete skonit?"
+msgstr "Opravdu chcete skončit?"
#: backends/events/gph/gph-events.cpp:385
#: backends/events/gph/gph-events.cpp:428
#: backends/events/openpandora/op-events.cpp:168
msgid "Touchscreen 'Tap Mode' - Left Click"
-msgstr "'Reim uknut' Dotykov Obrazovky - Lev Kliknut"
+msgstr "'Režim Ťuknutí' Dotykové Obrazovky - Levé Kliknutí"
#: backends/events/gph/gph-events.cpp:387
#: backends/events/gph/gph-events.cpp:430
#: backends/events/openpandora/op-events.cpp:170
msgid "Touchscreen 'Tap Mode' - Right Click"
-msgstr "'Reim uknut' Dotykov Obrazovky - Prav Kliknut"
+msgstr "'Režim Ťuknutí' Dotykové Obrazovky - Pravé Kliknutí"
#: backends/events/gph/gph-events.cpp:389
#: backends/events/gph/gph-events.cpp:432
#: backends/events/openpandora/op-events.cpp:172
msgid "Touchscreen 'Tap Mode' - Hover (No Click)"
-msgstr "'Reim uknut' Dotykov Obrazovky - Najet (Bez Kliknut)"
+msgstr "'Režim Ťuknutí' Dotykové Obrazovky - Najetí (Bez Kliknutí)"
#: backends/events/gph/gph-events.cpp:409
msgid "Maximum Volume"
-msgstr "Maximln Hlasitost"
+msgstr "Maximální Hlasitost"
#: backends/events/gph/gph-events.cpp:411
msgid "Increasing Volume"
-msgstr "Zvyuji Hlasitost"
+msgstr "Zvyšuji Hlasitost"
#: backends/events/gph/gph-events.cpp:417
msgid "Minimal Volume"
-msgstr "Minimln Hlasitost"
+msgstr "Minimální Hlasitost"
#: backends/events/gph/gph-events.cpp:419
msgid "Decreasing Volume"
-msgstr "Sniuji Hlasitost"
+msgstr "Snižuji Hlasitost"
#: backends/events/openpandora/op-events.cpp:174
msgid "Touchscreen 'Tap Mode' - Hover (DPad Clicks)"
-msgstr "'Reim uknut' Dotykov Obrazovky - Najet (Dpad klik)"
+msgstr "'Režim Ťuknutí' Dotykové Obrazovky - Najetí (Dpad kliká)"
#: backends/updates/macosx/macosx-updates.mm:67
msgid "Check for Updates..."
@@ -2167,7 +2159,7 @@ msgstr "Zkontrolovat Aktualizace..."
#: backends/platform/tizen/form.cpp:263
msgid "Right Click Once"
-msgstr "Prav kliknut jednou"
+msgstr "Pravé kliknutí jednou"
#: backends/platform/tizen/form.cpp:271
msgid "Move Only"
@@ -2175,7 +2167,7 @@ msgstr "Pouze Pohyb"
#: backends/platform/tizen/form.cpp:294
msgid "Escape Key"
-msgstr "Klvesa Escape"
+msgstr "Klávesa Escape"
#: backends/platform/tizen/form.cpp:299
msgid "Game Menu"
@@ -2183,55 +2175,55 @@ msgstr "Menu Hry"
#: backends/platform/tizen/form.cpp:304
msgid "Show Keypad"
-msgstr "Zobrazit Klvesnici"
+msgstr "Zobrazit Klávesnici"
#: backends/platform/tizen/form.cpp:309
msgid "Control Mouse"
-msgstr "Ovldn Myi"
+msgstr "Ovládání Myši"
#: backends/events/maemosdl/maemosdl-events.cpp:180
msgid "Clicking Enabled"
-msgstr "Kliknut Povoleno"
+msgstr "Kliknutí Povoleno"
#: backends/events/maemosdl/maemosdl-events.cpp:180
msgid "Clicking Disabled"
-msgstr "Kliknut Zakzno"
+msgstr "Kliknutí Zakázáno"
#: engines/agi/detection.cpp:147 engines/drascula/detection.cpp:302
#: engines/dreamweb/detection.cpp:47 engines/neverhood/detection.cpp:160
#: engines/sci/detection.cpp:394 engines/toltecs/detection.cpp:200
#: engines/zvision/detection_tables.h:51
msgid "Use original save/load screens"
-msgstr "Pout pvodn obrazovky naten/uloen"
+msgstr "Použít původní obrazovky načtení/uložení"
#: engines/agi/detection.cpp:148 engines/drascula/detection.cpp:303
#: engines/dreamweb/detection.cpp:48 engines/neverhood/detection.cpp:161
#: engines/sci/detection.cpp:395 engines/toltecs/detection.cpp:201
msgid "Use the original save/load screens, instead of the ScummVM ones"
-msgstr "Pout pvodn obrazovky naten/uloen msto ze ScummVM"
+msgstr "Použít původní obrazovky načtení/uložení místo ze ScummVM"
#: engines/agi/detection.cpp:157
msgid "Use an alternative palette"
-msgstr "Pout jinou paletu"
+msgstr "Použít jinou paletu"
#: engines/agi/detection.cpp:158
msgid ""
"Use an alternative palette, common for all Amiga games. This was the old "
"behavior"
msgstr ""
-"Pout alternativn paletu, bn pro hry Amiga. Toto byl pvodn star "
+"Použít alternativní paletu, běžné pro hry Amiga. Toto byl původní starý "
"standard"
#: engines/agi/detection.cpp:167
msgid "Mouse support"
-msgstr "Podpora myi"
+msgstr "Podpora myši"
#: engines/agi/detection.cpp:168
msgid ""
"Enables mouse support. Allows to use mouse for movement and in game menus."
msgstr ""
-"Povol podporu myi. Umon pout my pro pohyb a pro ovldn hernch "
-"nabdek."
+"Povolí podporu myši. Umožní použít myš pro pohyb a pro ovládání herních "
+"nabídek."
#: engines/agi/saveload.cpp:816 engines/drascula/saveload.cpp:349
#: engines/dreamweb/saveload.cpp:169 engines/neverhood/menumodule.cpp:890
@@ -2252,7 +2244,7 @@ msgid ""
"\n"
"%s"
msgstr ""
-"Nahrn stavu hry selhalo ze souboru:\n"
+"Nahrání stavu hry selhalo ze souboru:\n"
"\n"
"%s"
@@ -2263,7 +2255,7 @@ msgid ""
"\n"
"%s"
msgstr ""
-"Uloen stavu hry selhalo do souboru:\n"
+"Uložení stavu hry selhalo do souboru:\n"
"\n"
"%s"
@@ -2274,7 +2266,7 @@ msgid ""
"\n"
"%s"
msgstr ""
-"Stav hry spn uloen do:\n"
+"Stav hry úspěšně uložen do:\n"
"\n"
"%s"
@@ -2285,11 +2277,11 @@ msgstr "Soubor videa '%s' nenalezen'"
#: engines/cge/detection.cpp:105 engines/cge2/detection.cpp:101
msgid "Color Blind Mode"
-msgstr "Reim pro barvoslep"
+msgstr "Režim pro barvoslepé"
#: engines/cge/detection.cpp:106 engines/cge2/detection.cpp:102
msgid "Enable Color Blind Mode by default"
-msgstr "Standardn zapnat reim pro barvoslep"
+msgstr "Standardně zapínat režim pro barvoslepé"
#: engines/drascula/saveload.cpp:47
msgid ""
@@ -2301,31 +2293,31 @@ msgid ""
"Press OK to convert them now, otherwise you will be asked again the next "
"time you start the game.\n"
msgstr ""
-"ScummVM zjistil, e mte star uloen pozice pro Drascula, kter by mly "
-"bt pevedeny.\n"
-"Star formt uloench her ji nen podporovn, take pokud je nepevedete, "
-"nebudete moci vae hry nast.\n"
+"ScummVM zjistil, že máte staré uložené pozice pro Drascula, které by měly "
+"být převedeny.\n"
+"Starý formát uložených her již není podporován, takže pokud je nepřevedete, "
+"nebudete moci vaše hry načíst.\n"
"\n"
-"Stisknte OK, abyste je pevedli te, jinak budete podni znovu, pi "
-"sputn tto hry.\n"
+"Stiskněte OK, abyste je převedli teď, jinak budete požádáni znovu, při "
+"spuštění této hry.\n"
#: engines/dreamweb/detection.cpp:57
msgid "Use bright palette mode"
-msgstr "Pout reim jasn palety"
+msgstr "Použít režim jasné palety"
#: engines/dreamweb/detection.cpp:58
msgid "Display graphics using the game's bright palette"
-msgstr "Zobrazit grafiku pomoc jasn palety hry"
+msgstr "Zobrazit grafiku pomocí jasné palety hry"
#: engines/gob/inter_playtoons.cpp:256 engines/gob/inter_v2.cpp:1470
#: engines/gob/inter_geisha.cpp:232 engines/tinsel/saveload.cpp:532
msgid "Failed to load game state from file."
-msgstr "Nelze nast stav hry ze souboru."
+msgstr "Nelze načíst stav hry ze souboru."
#: engines/gob/inter_v2.cpp:1540 engines/gob/inter_geisha.cpp:263
#: engines/tinsel/saveload.cpp:545
msgid "Failed to save game state to file."
-msgstr "Nelze uloit stav hry do souboru."
+msgstr "Nelze uložit stav hry do souboru."
#: engines/gob/inter_v5.cpp:107
msgid "Failed to delete file."
@@ -2333,23 +2325,23 @@ msgstr "Nelze smazat soubor."
#: engines/groovie/detection.cpp:312
msgid "Fast movie speed"
-msgstr "Zven rychlost videa"
+msgstr "Zvýšená rychlost videa"
#: engines/groovie/detection.cpp:313
msgid "Play movies at an increased speed"
-msgstr "Pehrt videa se zvenou rychlost"
+msgstr "Přehrát videa se zvýšenou rychlostí"
#: engines/groovie/script.cpp:408
msgid "Failed to save game"
-msgstr "Nelze uloit hru."
+msgstr "Nelze uložit hru."
#: engines/hopkins/detection.cpp:76 engines/hopkins/detection.cpp:86
msgid "Gore Mode"
-msgstr "Povolit nsiln scny"
+msgstr "Povolit násilné scény"
#: engines/hopkins/detection.cpp:77 engines/hopkins/detection.cpp:87
msgid "Enable Gore Mode when available"
-msgstr "Povolit nsiln scny, jsou-li dostupn"
+msgstr "Povolit násilné scény, jsou-li dostupné"
#. I18N: Studio audience adds an applause and cheering sounds whenever
#. Malcolm makes a joke.
@@ -2364,66 +2356,66 @@ msgstr "Povolit publikum ve studiu"
#. I18N: This option allows the user to skip text and cutscenes.
#: engines/kyra/detection.cpp:73
msgid "Skip support"
-msgstr "Podpora peskoen"
+msgstr "Podpora přeskočení"
#: engines/kyra/detection.cpp:74
msgid "Allow text and cutscenes to be skipped"
-msgstr "Umonit, aby text a videa mohly bt peskoeny"
+msgstr "Umožnit, aby text a videa mohly být přeskočeny"
#. I18N: Helium mode makes people sound like they've inhaled Helium.
#: engines/kyra/detection.cpp:84
msgid "Helium mode"
-msgstr "Hliov reim"
+msgstr "Héliový režim"
#: engines/kyra/detection.cpp:85
msgid "Enable helium mode"
-msgstr "Zapnout hliov reim"
+msgstr "Zapnout héliový režim"
#. I18N: When enabled, this option makes scrolling smoother when
#. changing from one screen to another.
#: engines/kyra/detection.cpp:99
msgid "Smooth scrolling"
-msgstr "Plynul posunovn"
+msgstr "Plynulé posunování"
#: engines/kyra/detection.cpp:100
msgid "Enable smooth scrolling when walking"
-msgstr "Povolit plynul posunovn pi chzi"
+msgstr "Povolit plynulé posunování při chůzi"
#. I18N: When enabled, this option changes the cursor when it floats to the
#. edge of the screen to a directional arrow. The player can then click to
#. walk towards that direction.
#: engines/kyra/detection.cpp:112
msgid "Floating cursors"
-msgstr "Plovouc kurzory"
+msgstr "Plovoucí kurzory"
#: engines/kyra/detection.cpp:113
msgid "Enable floating cursors"
-msgstr "Povolit plovouc kurzory"
+msgstr "Povolit plovoucí kurzory"
#. I18N: HP stands for Hit Points
#: engines/kyra/detection.cpp:127
msgid "HP bar graphs"
-msgstr "Sloupcov indiktor zdrav"
+msgstr "Sloupcový indikátor zdraví"
#: engines/kyra/detection.cpp:128
msgid "Enable hit point bar graphs"
-msgstr "Povolit sloupcov indiktor zdrav"
+msgstr "Povolit sloupcový indikátor zdraví"
#: engines/kyra/lol.cpp:478
msgid "Attack 1"
-msgstr "tok 1"
+msgstr "Útok 1"
#: engines/kyra/lol.cpp:479
msgid "Attack 2"
-msgstr "tok 2"
+msgstr "Útok 2"
#: engines/kyra/lol.cpp:480
msgid "Attack 3"
-msgstr "tok 3"
+msgstr "Útok 3"
#: engines/kyra/lol.cpp:481
msgid "Move Forward"
-msgstr "Vped"
+msgstr "Vpřed"
#: engines/kyra/lol.cpp:482
msgid "Move Back"
@@ -2431,23 +2423,23 @@ msgstr "Vzad"
#: engines/kyra/lol.cpp:483
msgid "Slide Left"
-msgstr "Pesunout se Doleva"
+msgstr "Přesunout se Doleva"
#: engines/kyra/lol.cpp:484
msgid "Slide Right"
-msgstr "Pesunout se Doprava"
+msgstr "Přesunout se Doprava"
#: engines/kyra/lol.cpp:485 engines/pegasus/pegasus.cpp:2509
msgid "Turn Left"
-msgstr "Otoit se doleva"
+msgstr "Otočit se doleva"
#: engines/kyra/lol.cpp:486 engines/pegasus/pegasus.cpp:2510
msgid "Turn Right"
-msgstr "Otoit se doprava"
+msgstr "Otočit se doprava"
#: engines/kyra/lol.cpp:487
msgid "Rest"
-msgstr "Odpoinout si"
+msgstr "Odpočinout si"
#: engines/kyra/lol.cpp:488
msgid "Options"
@@ -2465,11 +2457,11 @@ msgid ""
"General MIDI ones. It is still possible that\n"
"some tracks sound incorrect."
msgstr ""
-"Zd se, e pouvte zazen General MIDI,\n"
-"ale vae hra podporuje pouze Roland MT32 MIDI.\n"
-"Sname se mapovat nstroje Roland MT32 na\n"
-"ty od General MIDI. Je stle mon, e\n"
-"nkter stopy nebudou znt sprvn."
+"Zdá se, že používáte zařízení General MIDI,\n"
+"ale vaše hra podporuje pouze Roland MT32 MIDI.\n"
+"Snažíme se mapovat nástroje Roland MT32 na\n"
+"ty od General MIDI. Je stále možné, že\n"
+"některé stopy nebudou znít správně."
#: engines/kyra/saveload_eob.cpp:557
#, c-format
@@ -2481,11 +2473,11 @@ msgid ""
"Do you wish to use this save game file with ScummVM?\n"
"\n"
msgstr ""
-"V cest va hry byl nalezen nsledujc soubor s uloenou hrou:\n"
+"V cestě vaší hry byl nalezen následující soubor s uloženou hrou:\n"
"\n"
"%s %s\n"
"\n"
-"Chcete tento soubor pout v ScummVM?\n"
+"Chcete tento soubor použít v ScummVM?\n"
"\n"
#: engines/kyra/saveload_eob.cpp:590
@@ -2494,7 +2486,7 @@ msgid ""
"A save game file was found in the specified slot %d. Overwrite?\n"
"\n"
msgstr ""
-"V uren pozici %d byl nalezen soubor s uloenou hrou. Pepsat?\n"
+"V určené pozici %d byl nalezen soubor s uloženou hrou. Přepsat?\n"
"\n"
#: engines/kyra/saveload_eob.cpp:623
@@ -2507,24 +2499,24 @@ msgid ""
"'import_savefile'.\n"
"\n"
msgstr ""
-"%d pvodnch soubor s uloenou hrou bylo spn importovno do\n"
-"ScummVM. Pokud chcete pozdji toto uinit znovu run, je teba otevt\n"
-"ladc konzoli ScummVM a pout pkaz 'import_savefile'.\n"
+"%d původních souborů s uloženou hrou bylo úspěšně importováno do\n"
+"ScummVM. Pokud chcete později toto učinit znovu ručně, je třeba otevřít\n"
+"ladící konzoli ScummVM a použít příkaz 'import_savefile'.\n"
"\n"
#. I18N: Option for fast scene switching
#: engines/mohawk/dialogs.cpp:92 engines/mohawk/dialogs.cpp:167
msgid "~Z~ip Mode Activated"
-msgstr "~R~eim Svitn Aktivovn"
+msgstr "~R~ežim Svištění Aktivován"
#: engines/mohawk/dialogs.cpp:93
msgid "~T~ransitions Enabled"
-msgstr "~P~echody zapnuty"
+msgstr "~P~řechody zapnuty"
#. I18N: Drop book page
#: engines/mohawk/dialogs.cpp:95
msgid "~D~rop Page"
-msgstr "~Z~ahodit Strnku"
+msgstr "~Z~ahodit Stránku"
#: engines/mohawk/dialogs.cpp:99
msgid "~S~how Map"
@@ -2532,7 +2524,7 @@ msgstr "~Z~obrazit Mapu"
#: engines/mohawk/dialogs.cpp:105
msgid "~M~ain Menu"
-msgstr "~H~lavn Menu"
+msgstr "~H~lavní Menu"
#: engines/mohawk/dialogs.cpp:168
msgid "~W~ater Effect Enabled"
@@ -2540,19 +2532,19 @@ msgstr "~E~fekt Vody Zapnut"
#: engines/neverhood/detection.cpp:167
msgid "Skip the Hall of Records storyboard scenes"
-msgstr "Peskoit scny v Sni zznam"
+msgstr "Přeskočit scény v Síni záznamů"
#: engines/neverhood/detection.cpp:168
msgid "Allows the player to skip past the Hall of Records storyboard scenes"
-msgstr "Umouje hri peskoit scny v Sni zznam"
+msgstr "Umožňuje hráči přeskočit scény v Síni záznamů"
#: engines/neverhood/detection.cpp:174
msgid "Scale the making of videos to full screen"
-msgstr "Zvtit filmy o vrob na celou obrazovku"
+msgstr "Zvětšit filmy o výrobě na celou obrazovku"
#: engines/neverhood/detection.cpp:175
msgid "Scale the making of videos, so that they use the whole screen"
-msgstr "Zvtit filmy o vrob tak, aby vyuivaly celou obrazovku"
+msgstr "Zvětšit filmy o výrobě tak, aby využivaly celou obrazovku"
#: engines/parallaction/saveload.cpp:133
#, c-format
@@ -2560,16 +2552,16 @@ msgid ""
"Can't save game in slot %i\n"
"\n"
msgstr ""
-"Nelze uloit hru do pozice %i\n"
+"Nelze uložit hru do pozice %i\n"
"\n"
#: engines/parallaction/saveload.cpp:204
msgid "Loading game..."
-msgstr "Nahrvn hry..."
+msgstr "Nahrávání hry..."
#: engines/parallaction/saveload.cpp:219
msgid "Saving game..."
-msgstr "Ukldn hry..."
+msgstr "Ukládání hry..."
#: engines/parallaction/saveload.cpp:272
msgid ""
@@ -2580,16 +2572,16 @@ msgid ""
"\n"
"Press OK to convert them now, otherwise you will be asked next time.\n"
msgstr ""
-"ScummVM zjistil, e mte star uloen pozice pro Nippon Safes, kter by "
-"mly bt pejmenovny.\n"
-"Star nzvy ji nejsou podporovny, take pokud je nepevedete, nebudete "
-"moci vae hry nast.\n"
+"ScummVM zjistil, že máte staré uložené pozice pro Nippon Safes, které by "
+"měly být přejmenovány.\n"
+"Staré názvy již nejsou podporovány, takže pokud je nepřevedete, nebudete "
+"moci vaše hry načíst.\n"
"\n"
-"Stisknte OK, abyste je pevedli te, jinak budete podni pt.\n"
+"Stiskněte OK, abyste je převedli teď, jinak budete požádáni příště.\n"
#: engines/parallaction/saveload.cpp:319
msgid "ScummVM successfully converted all your savefiles."
-msgstr "ScummVM spn pevedl vechny vae uloen pozice. "
+msgstr "ScummVM úspěšně převedl všechny vaše uložené pozice. "
#: engines/parallaction/saveload.cpp:321
msgid ""
@@ -2598,200 +2590,200 @@ msgid ""
"\n"
"Please report to the team."
msgstr ""
-"ScummVM vytiskl nkter varovn ve vaem okn konzole a neme zaruit, e "
-"vechny vae soubory byly pevedeny.\n"
+"ScummVM vytiskl některá varování ve vašem okně konzole a nemůže zaručit, že "
+"všechny vaše soubory byly převedeny.\n"
"\n"
-"Prosm nahlaste to tmu"
+"Prosím nahlaste to týmu"
#: engines/pegasus/pegasus.cpp:714
msgid "Invalid save file name"
-msgstr "Neplatn nzev souboru"
+msgstr "Neplatný název souboru"
#: engines/pegasus/pegasus.cpp:2507
msgid "Up/Zoom In/Move Forward/Open Doors"
-msgstr "Nahoru/Piblit/Pohyb dopedu/Otevt dvee"
+msgstr "Nahoru/Přiblížit/Pohyb dopředu/Otevřít dveře"
#: engines/pegasus/pegasus.cpp:2508
msgid "Down/Zoom Out"
-msgstr "Dol/Oddlen"
+msgstr "Dolů/Oddálení"
#: engines/pegasus/pegasus.cpp:2511
msgid "Display/Hide Inventory Tray"
-msgstr "Zobrazit/Skrt podnos invente"
+msgstr "Zobrazit/Skrýt podnos inventáře"
#: engines/pegasus/pegasus.cpp:2512
msgid "Display/Hide Biochip Tray"
-msgstr "Zobrazit/Skrt podnos bioipu"
+msgstr "Zobrazit/Skrýt podnos biočipu"
#: engines/pegasus/pegasus.cpp:2513
msgid "Action/Select"
-msgstr "innost/Vybrat"
+msgstr "Činnost/Vybrat"
#: engines/pegasus/pegasus.cpp:2514
msgid "Toggle Center Data Display"
-msgstr "Pepnout centrln datovou obrazovku"
+msgstr "Přepnout centrální datovou obrazovku"
#: engines/pegasus/pegasus.cpp:2515
msgid "Display/Hide Info Screen"
-msgstr "Zobrazit/Skrto obrazovku informac"
+msgstr "Zobrazit/Skrýto obrazovku informací"
#: engines/pegasus/pegasus.cpp:2516
msgid "Display/Hide Pause Menu"
-msgstr "Zobrazit/Skrt "
+msgstr "Zobrazit/Skrýt "
#: engines/queen/detection.cpp:56
msgid "Alternative intro"
-msgstr "Alternativn vod"
+msgstr "Alternativní úvod"
#: engines/queen/detection.cpp:57
msgid "Use an alternative game intro (CD version only)"
-msgstr "Pout jinou verzi vodu (Pouze verze CD)"
+msgstr "Použít jinou verzi úvodu (Pouze verze CD)"
#: engines/sci/detection.cpp:374
msgid "Skip EGA dithering pass (full color backgrounds)"
-msgstr "Pekoit prchod rozkladu barev EGA (pozad v plnch barvch)"
+msgstr "Překočit průchod rozkladu barev EGA (pozadí v plných barvách)"
#: engines/sci/detection.cpp:375
msgid "Skip dithering pass in EGA games, graphics are shown with full colors"
msgstr ""
-"Peskoit prchod rozkladu barev EGA, obraze je zobrazen v plnch barvch"
+"Přeskočit průchod rozkladu barev EGA, obraze je zobrazen v plných barvách"
#: engines/sci/detection.cpp:384
msgid "Prefer digital sound effects"
-msgstr "Upednostovat digitln zvukov efekty"
+msgstr "Upřednostňovat digitální zvukové efekty"
#: engines/sci/detection.cpp:385
msgid "Prefer digital sound effects instead of synthesized ones"
-msgstr "Upednostovat digitln zvukov efekty ped syntetizovanmi"
+msgstr "Upřednostňovat digitální zvukové efekty před syntetizovanými"
#: engines/sci/detection.cpp:404
msgid "Use IMF/Yamaha FB-01 for MIDI output"
-msgstr "Pout IMF/Yamaha FB-01 pro vstup MIDI"
+msgstr "Použít IMF/Yamaha FB-01 pro výstup MIDI"
#: engines/sci/detection.cpp:405
msgid ""
"Use an IBM Music Feature card or a Yamaha FB-01 FM synth module for MIDI "
"output"
msgstr ""
-"Pout kartu IBM Music Feature nebo modul syntetiztoru Yamaha FB-01 FM pro "
-"vstup MIDI"
+"Použít kartu IBM Music Feature nebo modul syntetizátoru Yamaha FB-01 FM pro "
+"výstup MIDI"
#: engines/sci/detection.cpp:415
msgid "Use CD audio"
-msgstr "Pout zvuky na CD"
+msgstr "Použít zvuky na CD"
#: engines/sci/detection.cpp:416
msgid "Use CD audio instead of in-game audio, if available"
-msgstr "Pout zvuky na CD msto ve he, pokud je dostupn"
+msgstr "Použít zvuky na CD místo ve hře, pokud je dostupné"
#: engines/sci/detection.cpp:426
msgid "Use Windows cursors"
-msgstr "Pout kurzory Windows"
+msgstr "Použít kurzory Windows"
#: engines/sci/detection.cpp:427
msgid ""
"Use the Windows cursors (smaller and monochrome) instead of the DOS ones"
-msgstr "Pout kurzory Windows (men a ernobl) msto kurzor z DOS"
+msgstr "Použít kurzory Windows (menší a černobílé) místo kurzorů z DOS"
#: engines/sci/detection.cpp:437
msgid "Use silver cursors"
-msgstr "Pout stbrn kurzory"
+msgstr "Použít stříbrné kurzory"
#: engines/sci/detection.cpp:438
msgid ""
"Use the alternate set of silver cursors, instead of the normal golden ones"
-msgstr "Pout alternativn sadu stbrnch kurzor msto standardnch zlatch"
+msgstr "Použít alternativní sadu stříbrných kurzorů místo standardních zlatých"
#: engines/scumm/dialogs.cpp:176
#, c-format
msgid "Insert Disk %c and Press Button to Continue."
-msgstr "Vlote Disk %c a Stisknte Tlatko Pro Pokraovn."
+msgstr "Vložte Disk %c a Stiskněte Tlačítko Pro Pokračování."
#: engines/scumm/dialogs.cpp:177
#, c-format
msgid "Unable to Find %s, (%c%d) Press Button."
-msgstr "Nelze Najt %s, (%c%d) Stisknte Tlatko."
+msgstr "Nelze Najít %s, (%c%d) Stiskněte Tlačítko."
#: engines/scumm/dialogs.cpp:178
#, c-format
msgid "Error reading disk %c, (%c%d) Press Button."
-msgstr "Chyba pi ten disku %c, (%c%d) Stisknte Tlatko."
+msgstr "Chyba při čtení disku %c, (%c%d) Stiskněte Tlačítko."
#: engines/scumm/dialogs.cpp:179
msgid "Game Paused. Press SPACE to Continue."
-msgstr "Hra Pozastavena. Stisknte MEZERNK pro pokraovn."
+msgstr "Hra Pozastavena. Stiskněte MEZERNÍK pro pokračování."
#. I18N: You may specify 'Yes' symbol at the end of the line, like this:
#. "Moechten Sie wirklich neu starten? (J/N)J"
#. Will react to J as 'Yes'
#: engines/scumm/dialogs.cpp:183
msgid "Are you sure you want to restart? (Y/N)Y"
-msgstr "Jste si jisti, e chcete restartovat? (A/N)A"
+msgstr "Jste si jisti, že chcete restartovat? (A/N)A"
#. I18N: you may specify 'Yes' symbol at the end of the line. See previous comment
#: engines/scumm/dialogs.cpp:185
msgid "Are you sure you want to quit? (Y/N)Y"
-msgstr "Jste si jisti, e chcete odejt? (A/N)A"
+msgstr "Jste si jisti, že chcete odejít? (A/N)A"
#: engines/scumm/dialogs.cpp:190
msgid "Play"
-msgstr "Hrt"
+msgstr "Hrát"
#: engines/scumm/dialogs.cpp:194
msgid "Insert save/load game disk"
-msgstr "Vlote hern disk pro uloen/naten"
+msgstr "Vložte herní disk pro uložení/načtení"
#: engines/scumm/dialogs.cpp:195
msgid "You must enter a name"
-msgstr "Muste zadat jmno"
+msgstr "Musíte zadat jméno"
#: engines/scumm/dialogs.cpp:196
msgid "The game was NOT saved (disk full?)"
-msgstr "Hra NEBYLA uloena (pln disk?)"
+msgstr "Hra NEBYLA uložena (plný disk?)"
#: engines/scumm/dialogs.cpp:197
msgid "The game was NOT loaded"
-msgstr "Hra NEBYLA natena"
+msgstr "Hra NEBYLA načtena"
#: engines/scumm/dialogs.cpp:198
#, c-format
msgid "Saving '%s'"
-msgstr "Ukldm '%s'"
+msgstr "Ukládám '%s'"
#: engines/scumm/dialogs.cpp:199
#, c-format
msgid "Loading '%s'"
-msgstr "Natm '%s'"
+msgstr "Načítám '%s'"
#: engines/scumm/dialogs.cpp:200
msgid "Name your SAVE game"
-msgstr "Pojmenujte svoji ULOENOU hru"
+msgstr "Pojmenujte svoji ULOŽENOU hru"
#: engines/scumm/dialogs.cpp:201
msgid "Select a game to LOAD"
-msgstr "Vyberte hru k NATEN"
+msgstr "Vyberte hru k NAČTENÍ"
#: engines/scumm/dialogs.cpp:202
msgid "Game title)"
-msgstr "Nzev hry"
+msgstr "Název hry"
#. I18N: Previous page button
#: engines/scumm/dialogs.cpp:288
msgid "~P~revious"
-msgstr "~P~edchoz"
+msgstr "~P~ředchozí"
#. I18N: Next page button
#: engines/scumm/dialogs.cpp:290
msgid "~N~ext"
-msgstr "~D~al"
+msgstr "~D~alší"
#: engines/scumm/dialogs.cpp:602
msgid "Speech Only"
-msgstr "Pouze e"
+msgstr "Pouze Řeč"
#: engines/scumm/dialogs.cpp:603
msgid "Speech and Subtitles"
-msgstr "e a Titulky"
+msgstr "Řeč a Titulky"
#: engines/scumm/dialogs.cpp:604
msgid "Subtitles Only"
@@ -2800,47 +2792,47 @@ msgstr "Pouze Titulky"
#: engines/scumm/dialogs.cpp:612
msgctxt "lowres"
msgid "Speech & Subs"
-msgstr "e a Titulky"
+msgstr "Řeč a Titulky"
#: engines/scumm/dialogs.cpp:658
msgid "Select a Proficiency Level."
-msgstr "Vyberte rove odbornosti."
+msgstr "Vyberte úroveň odbornosti."
#: engines/scumm/dialogs.cpp:660
msgid "Refer to your Loom(TM) manual for help."
-msgstr "Pro npovdu si pette manul Loom(TM)."
+msgstr "Pro nápovědu si přečtěte manuál Loom(TM)."
#: engines/scumm/dialogs.cpp:664
msgid "Practice"
-msgstr "Cvien"
+msgstr "Cvičení"
#: engines/scumm/dialogs.cpp:665
msgid "Expert"
-msgstr "Pokroil"
+msgstr "Pokročilý"
#: engines/scumm/help.cpp:74
msgid "Common keyboard commands:"
-msgstr "Bn klvesov pkazy"
+msgstr "Běžné klávesové příkazy"
#: engines/scumm/help.cpp:75
msgid "Save / Load dialog"
-msgstr "Dialog Nahrt / Uloit"
+msgstr "Dialog Nahrát / Uložit"
#: engines/scumm/help.cpp:77
msgid "Skip line of text"
-msgstr "Peskoit dek textu"
+msgstr "Přeskočit řádek textu"
#: engines/scumm/help.cpp:78
msgid "Esc"
-msgstr "Mezernk"
+msgstr "Mezerník"
#: engines/scumm/help.cpp:78
msgid "Skip cutscene"
-msgstr "Peskoit video"
+msgstr "Přeskočit video"
#: engines/scumm/help.cpp:79
msgid "Space"
-msgstr "Mezernk"
+msgstr "Mezerník"
#: engines/scumm/help.cpp:79
msgid "Pause game"
@@ -2856,7 +2848,7 @@ msgstr "Ctrl"
#: engines/scumm/help.cpp:80
msgid "Load game state 1-10"
-msgstr "Nahrt stav hry 1-10"
+msgstr "Nahrát stav hry 1-10"
#: engines/scumm/help.cpp:81 engines/scumm/help.cpp:85
#: engines/scumm/help.cpp:87 engines/scumm/help.cpp:101
@@ -2866,7 +2858,7 @@ msgstr "Alt"
#: engines/scumm/help.cpp:81
msgid "Save game state 1-10"
-msgstr "Uloit stav hry 1-10"
+msgstr "Uložit stav hry 1-10"
#: engines/scumm/help.cpp:87 engines/scumm/help.cpp:90
msgid "Enter"
@@ -2874,15 +2866,15 @@ msgstr "Enter"
#: engines/scumm/help.cpp:88
msgid "Music volume up / down"
-msgstr "Hlasitost hudby nahoru / dol"
+msgstr "Hlasitost hudby nahoru / dolů"
#: engines/scumm/help.cpp:89
msgid "Text speed slower / faster"
-msgstr "Zvit / Snit rychlost textu"
+msgstr "Zvýšit / Snížit rychlost textu"
#: engines/scumm/help.cpp:90
msgid "Simulate left mouse button"
-msgstr "Napodobit lev tlatko myi"
+msgstr "Napodobit levé tlačítko myši"
#: engines/scumm/help.cpp:91
msgid "Tab"
@@ -2890,116 +2882,116 @@ msgstr "Tab"
#: engines/scumm/help.cpp:91
msgid "Simulate right mouse button"
-msgstr "Napodobit prav tlatko myi"
+msgstr "Napodobit pravé tlačítko myši"
#: engines/scumm/help.cpp:94
msgid "Special keyboard commands:"
-msgstr "Speciln klvesov pkazy"
+msgstr "Speciální klávesové příkazy"
#: engines/scumm/help.cpp:95
msgid "Show / Hide console"
-msgstr "Ukzat / Skrt konzoli"
+msgstr "Ukázat / Skrýt konzoli"
#: engines/scumm/help.cpp:96
msgid "Start the debugger"
-msgstr "Spustit ladc program"
+msgstr "Spustit ladící program"
#: engines/scumm/help.cpp:97
msgid "Show memory consumption"
-msgstr "Zobrazit spotebu pamti"
+msgstr "Zobrazit spotřebu paměti"
#: engines/scumm/help.cpp:98
msgid "Run in fast mode (*)"
-msgstr "Spustit v rychlm reimu (*)"
+msgstr "Spustit v rychlém režimu (*)"
#: engines/scumm/help.cpp:99
msgid "Run in really fast mode (*)"
-msgstr "Spustit ve velmi rychlm reimu (*)"
+msgstr "Spustit ve velmi rychlém režimu (*)"
#: engines/scumm/help.cpp:100
msgid "Toggle mouse capture"
-msgstr "Povolit zachycovn myi"
+msgstr "Povolit zachycování myši"
#: engines/scumm/help.cpp:101
msgid "Switch between graphics filters"
-msgstr "Pepnat mezi grafickmi filtry"
+msgstr "Přepínat mezi grafickými filtry"
#: engines/scumm/help.cpp:102
msgid "Increase / Decrease scale factor"
-msgstr "Zvtit / Zmenit faktor zmny velikosti"
+msgstr "Zvětšit / Zmenšit faktor změny velikosti"
#: engines/scumm/help.cpp:103
msgid "Toggle aspect-ratio correction"
-msgstr "Povolit korekci pomru stran"
+msgstr "Povolit korekci poměru stran"
#: engines/scumm/help.cpp:108
msgid "* Note that using ctrl-f and"
-msgstr "Upozorujeme, e pouvn ctrl-f a"
+msgstr "Upozorňujeme, že používání ctrl-f a"
#: engines/scumm/help.cpp:109
msgid " ctrl-g are not recommended"
-msgstr " ctrl-g nen doporueno"
+msgstr " ctrl-g není doporučeno"
#: engines/scumm/help.cpp:110
msgid " since they may cause crashes"
-msgstr "jeliko mou zpsobit pd"
+msgstr "jelikož můžou způsobit pád"
#: engines/scumm/help.cpp:111
msgid " or incorrect game behavior."
-msgstr " nebo nesprvn chovn hry."
+msgstr " nebo nesprávné chování hry."
#: engines/scumm/help.cpp:115
msgid "Spinning drafts on the keyboard:"
-msgstr "Pleten nrtk na klvesnici:"
+msgstr "Pletení náčrtků na klávesnici:"
#: engines/scumm/help.cpp:117
msgid "Main game controls:"
-msgstr "Hlavn ovldac prvky:"
+msgstr "Hlavní ovládací prvky:"
#: engines/scumm/help.cpp:122 engines/scumm/help.cpp:137
#: engines/scumm/help.cpp:162
msgid "Push"
-msgstr "Tlait"
+msgstr "Tlačit"
#: engines/scumm/help.cpp:123 engines/scumm/help.cpp:138
#: engines/scumm/help.cpp:163
msgid "Pull"
-msgstr "Thnout"
+msgstr "Táhnout"
#: engines/scumm/help.cpp:124 engines/scumm/help.cpp:139
#: engines/scumm/help.cpp:164 engines/scumm/help.cpp:198
#: engines/scumm/help.cpp:208
msgid "Give"
-msgstr "Dt"
+msgstr "Dát"
#: engines/scumm/help.cpp:125 engines/scumm/help.cpp:140
#: engines/scumm/help.cpp:165 engines/scumm/help.cpp:191
#: engines/scumm/help.cpp:209
msgid "Open"
-msgstr "Otevt"
+msgstr "Otevřít"
#: engines/scumm/help.cpp:127
msgid "Go to"
-msgstr "Jt do"
+msgstr "Jít do"
#: engines/scumm/help.cpp:128
msgid "Get"
-msgstr "Vzt"
+msgstr "Vzít"
#: engines/scumm/help.cpp:129 engines/scumm/help.cpp:153
#: engines/scumm/help.cpp:171 engines/scumm/help.cpp:199
#: engines/scumm/help.cpp:214 engines/scumm/help.cpp:225
#: engines/scumm/help.cpp:251
msgid "Use"
-msgstr "Pout"
+msgstr "Použít"
#: engines/scumm/help.cpp:130 engines/scumm/help.cpp:142
msgid "Read"
-msgstr "Pest"
+msgstr "Přečíst"
#: engines/scumm/help.cpp:131 engines/scumm/help.cpp:148
msgid "New kid"
-msgstr "Nov dt"
+msgstr "Nové dítě"
#: engines/scumm/help.cpp:132 engines/scumm/help.cpp:154
#: engines/scumm/help.cpp:172
@@ -3014,7 +3006,7 @@ msgstr "Vypnout"
#: engines/scumm/help.cpp:143 engines/scumm/help.cpp:168
#: engines/scumm/help.cpp:195
msgid "Walk to"
-msgstr "Pejt na"
+msgstr "Přejít na"
#: engines/scumm/help.cpp:144 engines/scumm/help.cpp:169
#: engines/scumm/help.cpp:196 engines/scumm/help.cpp:211
@@ -3032,11 +3024,11 @@ msgstr "Odemknout"
#: engines/scumm/help.cpp:150
msgid "Put on"
-msgstr "Oblct"
+msgstr "Obléct"
#: engines/scumm/help.cpp:151
msgid "Take off"
-msgstr "Svlct"
+msgstr "Svléct"
#: engines/scumm/help.cpp:157
msgid "Fix"
@@ -3044,11 +3036,11 @@ msgstr "Spravit"
#: engines/scumm/help.cpp:159
msgid "Switch"
-msgstr "Pepnout"
+msgstr "Přepnout"
#: engines/scumm/help.cpp:167 engines/scumm/help.cpp:229
msgid "Look"
-msgstr "Dvat se"
+msgstr "Dívat se"
#: engines/scumm/help.cpp:174 engines/scumm/help.cpp:224
msgid "Talk"
@@ -3065,43 +3057,43 @@ msgstr "Henrymu / Indymu"
#. I18N: These are different musical notes
#: engines/scumm/help.cpp:180
msgid "play C minor on distaff"
-msgstr "zahrt c moll na peslici"
+msgstr "zahrát c moll na přeslici"
#: engines/scumm/help.cpp:181
msgid "play D on distaff"
-msgstr "zahrt D na peslici"
+msgstr "zahrát D na přeslici"
#: engines/scumm/help.cpp:182
msgid "play E on distaff"
-msgstr "zahrt E na peslici"
+msgstr "zahrát E na přeslici"
#: engines/scumm/help.cpp:183
msgid "play F on distaff"
-msgstr "zahrt F na peslici"
+msgstr "zahrát F na přeslici"
#: engines/scumm/help.cpp:184
msgid "play G on distaff"
-msgstr "zahrt G na peslici"
+msgstr "zahrát G na přeslici"
#: engines/scumm/help.cpp:185
msgid "play A on distaff"
-msgstr "zahrt A na peslici"
+msgstr "zahrát A na přeslici"
#: engines/scumm/help.cpp:186
msgid "play B on distaff"
-msgstr "zahrt B na peslici"
+msgstr "zahrát B na přeslici"
#: engines/scumm/help.cpp:187
msgid "play C major on distaff"
-msgstr "zahrt C dur na peslici"
+msgstr "zahrát C dur na přeslici"
#: engines/scumm/help.cpp:193 engines/scumm/help.cpp:215
msgid "puSh"
-msgstr "tlaIt"
+msgstr "tlačIt"
#: engines/scumm/help.cpp:194 engines/scumm/help.cpp:216
msgid "pull (Yank)"
-msgstr "thnout (kubnout)"
+msgstr "táhnout (Škubnout)"
#: engines/scumm/help.cpp:197 engines/scumm/help.cpp:213
#: engines/scumm/help.cpp:249
@@ -3110,7 +3102,7 @@ msgstr "Mluvit s"
#: engines/scumm/help.cpp:200 engines/scumm/help.cpp:212
msgid "Look at"
-msgstr "Dvat se na"
+msgstr "Dívat se na"
#: engines/scumm/help.cpp:201
msgid "turn oN"
@@ -3122,28 +3114,28 @@ msgstr "vypnoUt"
#: engines/scumm/help.cpp:218
msgid "KeyUp"
-msgstr "KlvesaNahoru"
+msgstr "KlávesaNahoru"
#: engines/scumm/help.cpp:218
msgid "Highlight prev dialogue"
-msgstr "Zvraznit pedchoz dialog"
+msgstr "Zvýraznit předchozí dialog"
#: engines/scumm/help.cpp:219
msgid "KeyDown"
-msgstr "KlvesaDol"
+msgstr "KlávesaDolů"
#: engines/scumm/help.cpp:219
msgid "Highlight next dialogue"
-msgstr "Zvraznit nsledujc dialog"
+msgstr "Zvýraznit následující dialog"
#: engines/scumm/help.cpp:223
msgid "Walk"
-msgstr "Jt"
+msgstr "Jít"
#: engines/scumm/help.cpp:226 engines/scumm/help.cpp:235
#: engines/scumm/help.cpp:242 engines/scumm/help.cpp:250
msgid "Inventory"
-msgstr "Invent"
+msgstr "Inventář"
#: engines/scumm/help.cpp:227
msgid "Object"
@@ -3151,11 +3143,11 @@ msgstr "Objekt"
#: engines/scumm/help.cpp:230
msgid "Black and White / Color"
-msgstr "ernobl / Barva"
+msgstr "Černobílé / Barva"
#: engines/scumm/help.cpp:233
msgid "Eyes"
-msgstr "Oi"
+msgstr "Oči"
#: engines/scumm/help.cpp:234
msgid "Tongue"
@@ -3163,7 +3155,7 @@ msgstr "Jazyk"
#: engines/scumm/help.cpp:236
msgid "Punch"
-msgstr "Udeit"
+msgstr "Udeřit"
#: engines/scumm/help.cpp:237
msgid "Kick"
@@ -3171,11 +3163,11 @@ msgstr "Kopnout"
#: engines/scumm/help.cpp:240 engines/scumm/help.cpp:248
msgid "Examine"
-msgstr "Prohldnout"
+msgstr "Prohlédnout"
#: engines/scumm/help.cpp:241
msgid "Regular cursor"
-msgstr "Obyejn kurzor"
+msgstr "Obyčejný kurzor"
#. I18N: Comm is a communication device
#: engines/scumm/help.cpp:244
@@ -3184,15 +3176,15 @@ msgstr "Komunikace"
#: engines/scumm/help.cpp:247
msgid "Save / Load / Options"
-msgstr "Uloit / Nahrt / Volby"
+msgstr "Uložit / Nahrát / Volby"
#: engines/scumm/help.cpp:256
msgid "Other game controls:"
-msgstr "Dal ovldac prvky hry"
+msgstr "Další ovládací prvky hry"
#: engines/scumm/help.cpp:258 engines/scumm/help.cpp:268
msgid "Inventory:"
-msgstr "Invent:"
+msgstr "Inventář:"
#: engines/scumm/help.cpp:259 engines/scumm/help.cpp:275
msgid "Scroll list up"
@@ -3204,63 +3196,63 @@ msgstr "Posunout seznam dolu"
#: engines/scumm/help.cpp:261 engines/scumm/help.cpp:269
msgid "Upper left item"
-msgstr "Poloka vlevo nahoe"
+msgstr "Položka vlevo nahoře"
#: engines/scumm/help.cpp:262 engines/scumm/help.cpp:271
msgid "Lower left item"
-msgstr "Poloka vlevo dole"
+msgstr "Položka vlevo dole"
#: engines/scumm/help.cpp:263 engines/scumm/help.cpp:272
msgid "Upper right item"
-msgstr "Poloka vpravo nahoe"
+msgstr "Položka vpravo nahoře"
#: engines/scumm/help.cpp:264 engines/scumm/help.cpp:274
msgid "Lower right item"
-msgstr "Poloka vpravo dole"
+msgstr "Položka vpravo dole"
#: engines/scumm/help.cpp:270
msgid "Middle left item"
-msgstr "Poloka vlevo uprosted"
+msgstr "Položka vlevo uprostřed"
#: engines/scumm/help.cpp:273
msgid "Middle right item"
-msgstr "Poloka vpravo uprosted"
+msgstr "Položka vpravo uprostřed"
#: engines/scumm/help.cpp:280 engines/scumm/help.cpp:285
msgid "Switching characters:"
-msgstr "Mnn postav:"
+msgstr "Měnění postav:"
#: engines/scumm/help.cpp:282
msgid "Second kid"
-msgstr "Druh dt"
+msgstr "Druhé dítě"
#: engines/scumm/help.cpp:283
msgid "Third kid"
-msgstr "Tet dt"
+msgstr "Třetí dítě"
#: engines/scumm/help.cpp:292
msgid "Toggle Inventory/IQ Points display"
-msgstr "Pepnat zobrazen invente/chytrostnch bod"
+msgstr "Přepínat zobrazení inventáře/chytrostních bodů"
#: engines/scumm/help.cpp:293
msgid "Toggle Keyboard/Mouse Fighting (*)"
-msgstr "Pepnat bojovn pomoc klves/myi (*)"
+msgstr "Přepínat bojování pomocí kláves/myši (*)"
#: engines/scumm/help.cpp:295
msgid "* Keyboard Fighting is always on,"
-msgstr "* Bojovn pomoc klvesnice je vdy zapnuto,"
+msgstr "* Bojování pomocí klávesnice je vždy zapnuto,"
#: engines/scumm/help.cpp:296
msgid " so despite the in-game message this"
-msgstr " take nehled a to, co k hra,"
+msgstr " takže nehledě a to, co říká hra,"
#: engines/scumm/help.cpp:297
msgid " actually toggles Mouse Fighting Off/On"
-msgstr " toto ve skutenosti ovld bojovn s my"
+msgstr " toto ve skutečnosti ovládá bojování s myší"
#: engines/scumm/help.cpp:304
msgid "Fighting controls (numpad):"
-msgstr "Ovldn boje (num. klv.)"
+msgstr "Ovládání boje (num. kláv.)"
#: engines/scumm/help.cpp:305 engines/scumm/help.cpp:306
#: engines/scumm/help.cpp:307
@@ -3269,31 +3261,31 @@ msgstr "Ustoupit"
#: engines/scumm/help.cpp:308
msgid "Block high"
-msgstr "Brnit nahoe"
+msgstr "Bránit nahoře"
#: engines/scumm/help.cpp:309
msgid "Block middle"
-msgstr "Brnit uprosted"
+msgstr "Bránit uprostřed"
#: engines/scumm/help.cpp:310
msgid "Block low"
-msgstr "Brnit dole"
+msgstr "Bránit dole"
#: engines/scumm/help.cpp:311
msgid "Punch high"
-msgstr "Udeit nahoru"
+msgstr "Udeřit nahoru"
#: engines/scumm/help.cpp:312
msgid "Punch middle"
-msgstr "Udeit doprosted"
+msgstr "Udeřit doprostřed"
#: engines/scumm/help.cpp:313
msgid "Punch low"
-msgstr "Udeit dol"
+msgstr "Udeřit dolů"
#: engines/scumm/help.cpp:315
msgid "Sucker punch"
-msgstr "Neekan rna"
+msgstr "Nečekaná rána"
#: engines/scumm/help.cpp:318
msgid "These are for Indy on left."
@@ -3301,74 +3293,71 @@ msgstr "Tyto jsou pro Indyho nalevo."
#: engines/scumm/help.cpp:319
msgid "When Indy is on the right,"
-msgstr "Kdy je Indy napravo,"
+msgstr "Když je Indy napravo,"
#: engines/scumm/help.cpp:320
msgid "7, 4, and 1 are switched with"
-msgstr "7, 4 a 1 jsou zamnny s"
+msgstr "7, 4 a 1 jsou zaměněny s"
#: engines/scumm/help.cpp:321
msgid "9, 6, and 3, respectively."
-msgstr "9, 6 a 3, v tomto poad."
+msgstr "9, 6 a 3, v tomto pořadí."
#: engines/scumm/help.cpp:328
msgid "Biplane controls (numpad):"
-msgstr "Kontrola dvojplonku (numerick klvesnice)"
+msgstr "Kontrola dvojplošníku (numerická klávesnice)"
#: engines/scumm/help.cpp:329
msgid "Fly to upper left"
-msgstr "Lett doprava nahoru"
+msgstr "Letět doprava nahoru"
#: engines/scumm/help.cpp:330
msgid "Fly to left"
-msgstr "Lett doleva"
+msgstr "Letět doleva"
#: engines/scumm/help.cpp:331
msgid "Fly to lower left"
-msgstr "Lett doleva dol"
+msgstr "Letět doleva dolů"
#: engines/scumm/help.cpp:332
msgid "Fly upwards"
-msgstr "Lett nahoru"
+msgstr "Letět nahoru"
#: engines/scumm/help.cpp:333
msgid "Fly straight"
-msgstr "Lett rovn"
+msgstr "Letět rovně"
#: engines/scumm/help.cpp:334
msgid "Fly down"
-msgstr "Lett dol"
+msgstr "Letět dolů"
#: engines/scumm/help.cpp:335
msgid "Fly to upper right"
-msgstr "Lett doprava nahoru"
+msgstr "Letět doprava nahoru"
#: engines/scumm/help.cpp:336
msgid "Fly to right"
-msgstr "Lett doprava"
+msgstr "Letět doprava"
#: engines/scumm/help.cpp:337
msgid "Fly to lower right"
-msgstr "Lett doprava dol"
+msgstr "Letět doprava dolů"
#: engines/scumm/input.cpp:572
-#, fuzzy
msgid "Snap scroll on"
-msgstr "Plynul posunovn"
+msgstr "Přichycení při posunování zapnuto"
#: engines/scumm/input.cpp:574
msgid "Snap scroll off"
-msgstr ""
+msgstr "Přichycení při posunování zapnuto"
#: engines/scumm/input.cpp:587
-#, fuzzy
msgid "Music volume: "
-msgstr "Hlasitost hudby"
+msgstr "Hlasitost hudby:"
#: engines/scumm/input.cpp:604
-#, fuzzy
msgid "Subtitle speed: "
-msgstr "Rychlost titulk:"
+msgstr "Rychlost titulkù:"
#: engines/scumm/scumm.cpp:1832
#, c-format
@@ -3376,8 +3365,8 @@ msgid ""
"Native MIDI support requires the Roland Upgrade from LucasArts,\n"
"but %s is missing. Using AdLib instead."
msgstr ""
-"Pirozen podpora MIDI vyaduje Aktualizaci Roland od LucasArts,\n"
-"ale %s chyb. Msto toho je pouit AdLib."
+"Přirozená podpora MIDI vyžaduje Aktualizaci Roland od LucasArts,\n"
+"ale %s chybí. Místo toho je použit AdLib."
#: engines/scumm/scumm.cpp:2644
msgid ""
@@ -3385,54 +3374,54 @@ msgid ""
"files for Maniac Mansion have to be in the 'Maniac' directory inside the "
"Tentacle game directory, and the game has to be added to ScummVM."
msgstr ""
-"Normln by te byl sputn Maniac Mansion. Ale aby toto mohlo fungovat, "
-"mus bt soubory se hrou umstny do sloky 'Maniac' uvnit sloky se hrou "
-"Tentacle a hra mus bt pidna do ScummVM."
+"Normálně by teď byl spuštěn Maniac Mansion. Ale aby toto mohlo fungovat, "
+"musí být soubory se hrou umístěny do složky 'Maniac' uvnitř složky se hrou "
+"Tentacle a hra musí být přidána do ScummVM."
#: engines/scumm/players/player_v3m.cpp:129
msgid ""
"Could not find the 'Loom' Macintosh executable to read the\n"
"instruments from. Music will be disabled."
msgstr ""
-"Nelze najt spustiteln soubor 'Loom' pro Macintosh z jeho\n"
-"maj bt nateny hudebn nstroje. Hudba bude zakzna."
+"Nelze najít spustitelný soubor 'Loom' pro Macintosh z jehož\n"
+"mají být načteny hudební nástroje. Hudba bude zakázána."
#: engines/scumm/players/player_v5m.cpp:107
msgid ""
"Could not find the 'Monkey Island' Macintosh executable to read the\n"
"instruments from. Music will be disabled."
msgstr ""
-"Nelze najt spustiteln soubor 'Monkey Island' pro Macintosh z\n"
-"jeho maj bt nateny hudebn nstroje. Hudba bude zakzna."
+"Nelze najít spustitelný soubor 'Monkey Island' pro Macintosh z\n"
+"jehož mají být načteny hudební nástroje. Hudba bude zakázána."
#: engines/sky/compact.cpp:130
msgid ""
"Unable to find \"sky.cpt\" file!\n"
"Please download it from www.scummvm.org"
msgstr ""
-"Nelze nalzt soubor \"sky.cpt\"!\n"
-"Sthnte si ho, prosm z www.scummvm.org"
+"Nelze nalézt soubor \"sky.cpt\"!\n"
+"Stáhněte si ho, prosím z www.scummvm.org"
#: engines/sky/compact.cpp:141
msgid ""
"The \"sky.cpt\" file has an incorrect size.\n"
"Please (re)download it from www.scummvm.org"
msgstr ""
-"Soubor \"sky.cpt\" m nesprvnou velikost.\n"
-"Sthnte si ho, prosm, (znovu) z www.scummvm.org"
+"Soubor \"sky.cpt\" má nesprávnou velikost.\n"
+"Stáhněte si ho, prosím, (znovu) z www.scummvm.org"
#: engines/sky/detection.cpp:44
msgid "Floppy intro"
-msgstr "vod z diskety"
+msgstr "Úvod z diskety"
#: engines/sky/detection.cpp:45
msgid "Use the floppy version's intro (CD version only)"
-msgstr "Pout verzi vodu z diskety (Pouze verze CD)"
+msgstr "Použít verzi úvodu z diskety (Pouze verze CD)"
#: engines/sword1/animation.cpp:524
#, c-format
msgid "PSX stream cutscene '%s' cannot be played in paletted mode"
-msgstr "Proud videa PSX '%s' neme bt pehrn v reimu palety"
+msgstr "Proud videa PSX '%s' nemůže být přehrán v režimu palety"
#: engines/sword1/animation.cpp:545 engines/sword2/animation.cpp:445
msgid "DXA cutscenes found but ScummVM has been built without zlib"
@@ -3458,13 +3447,13 @@ msgid ""
"Press OK to convert them now, otherwise you will be asked again the next "
"time you start the game.\n"
msgstr ""
-"ScummVM zjistil, e mte star uloen pozice pro Broken Sword 1, kter by "
-"mly bt pevedeny.\n"
-"Star formt uloench her ji nen podporovn, take pokud je nepevedete, "
-"nebudete moci vae hry nast.\n"
+"ScummVM zjistil, že máte staré uložené pozice pro Broken Sword 1, které by "
+"měly být převedeny.\n"
+"Starý formát uložených her již není podporován, takže pokud je nepřevedete, "
+"nebudete moci vaše hry načíst.\n"
"\n"
-"Stisknte OK, abyste je pevedli te, jinak budete podni znovu, pi "
-"sputn tto hry.\n"
+"Stiskněte OK, abyste je převedli teď, jinak budete požádáni znovu, při "
+"spuštění této hry.\n"
#: engines/sword1/control.cpp:1232
#, c-format
@@ -3472,8 +3461,8 @@ msgid ""
"Target new save game already exists!\n"
"Would you like to keep the old save game (%s) or the new one (%s)?\n"
msgstr ""
-"Nov clov uloen hra ji existuje!\n"
-"Chtli byste ponechat starou uloenou hru (%s), nebo novou (%s)?\n"
+"Nová cílová uložená hra již existuje!\n"
+"Chtěli byste ponechat starou uloženou hru (%s), nebo novou (%s)?\n"
#: engines/sword1/control.cpp:1235
msgid "Keep the old one"
@@ -3494,46 +3483,44 @@ msgstr "Videa PSX nalezena, ale ScummVM byl sestaven bez podpory barev RGB"
#: engines/sword2/sword2.cpp:79
msgid "Show object labels"
-msgstr "Zobrazit jmenovky objekt"
+msgstr "Zobrazit jmenovky objektů"
#: engines/sword2/sword2.cpp:80
msgid "Show labels for objects on mouse hover"
-msgstr "Zobrazit jmenovky objekt pi najet myi"
+msgstr "Zobrazit jmenovky objektů při najetí myši"
#: engines/teenagent/resources.cpp:95
msgid ""
"You're missing the 'teenagent.dat' file. Get it from the ScummVM website"
-msgstr "Chyb vm soubor 'teenagent.dat'. Mete ho zskat ze strnky ScummVM."
+msgstr "Chybí vám soubor 'teenagent.dat'. Můžete ho získat ze stránky ScummVM."
#: engines/teenagent/resources.cpp:116
msgid ""
"The teenagent.dat file is compressed and zlib hasn't been included in this "
"executable. Please decompress it"
msgstr ""
-"Soubor teenagent.dat je komprimovn a zlib nen soust spustitelnho "
-"souboru. Prosm dekomprimujte ho"
+"Soubor teenagent.dat je komprimován a zlib není součástí spustitelného "
+"souboru. Prosím dekomprimujte ho"
#: engines/wintermute/detection.cpp:58
msgid "Show FPS-counter"
-msgstr "Zobrazit potadlo FPS"
+msgstr "Zobrazit počítadlo FPS"
#: engines/wintermute/detection.cpp:59
msgid "Show the current number of frames per second in the upper left corner"
-msgstr "Zobrazit souasn poet snmk za sekundu v hornm levm rohu"
+msgstr "Zobrazit současný počet snímků za sekundu v horním levém rohu"
#: engines/zvision/detection_tables.h:52
-#, fuzzy
msgid "Use the original save/load screens instead of the ScummVM interface"
-msgstr "Pout pvodn obrazovky naten/uloen msto ze ScummVM"
+msgstr "Použít původní obrazovky načtení/uložení místo rozhraní ScummVM"
#: engines/zvision/detection_tables.h:61
msgid "Double FPS"
-msgstr "Dvojit snmky za sekundu"
+msgstr "Dvojité snímky za sekundu"
#: engines/zvision/detection_tables.h:62
-#, fuzzy
msgid "Increase framerate from 30 to 60 FPS"
-msgstr "Zvit hern snmky za sekundu z 30 na 60"
+msgstr "Zvýšit snímkovou frekvenci z 30 na 60"
#: engines/zvision/detection_tables.h:71
msgid "Enable Venus"
@@ -3541,137 +3528,134 @@ msgstr "Povolit Venus"
#: engines/zvision/detection_tables.h:72
msgid "Enable the Venus help system"
-msgstr "Povolit systm npovdy Venus"
+msgstr "Povolit systém nápovědy Venus"
#: engines/zvision/detection_tables.h:81
msgid "Disable animation while turning"
-msgstr "Zakzat animaci pi oten"
+msgstr "Zakázat animaci při otáčení"
#: engines/zvision/detection_tables.h:82
-#, fuzzy
msgid "Disable animation while turning in panorama mode"
-msgstr "Zakzat animaci pi oten v panoramatickm reimu"
+msgstr "Zakázat animaci při otáčení v panoramatickém režimu"
#: engines/zvision/detection_tables.h:91
-#, fuzzy
msgid "Use high resolution MPEG video"
-msgstr "Pout videa MPEG ve vysokm rozlien"
+msgstr "Použít video MPEG ve vysokém rozlišení"
#: engines/zvision/detection_tables.h:92
-#, fuzzy
msgid "Use MPEG video from the DVD version, instead of lower resolution AVI"
msgstr ""
-"Pout videa MPEG ve vysokm rozlien pochzejc z DVD verze, namsto "
-"vide AVI v nzkm rozlien."
+"Použít video MPEG pocházející z DVD verze, namísto videa AVI v nízkém "
+"rozlišení."
#~ msgid "EGA undithering"
-#~ msgstr "Nerozkldn EGA"
+#~ msgstr "Nerozkládání EGA"
#~ msgid "Enable undithering in EGA games"
-#~ msgstr "Povolit nerozkldn v EGA hrch"
+#~ msgstr "Povolit nerozkládání v EGA hrách"
#~ msgid "Are you sure you want to restart? (Y/N)"
-#~ msgstr "Jste si jisti, e chcete restartovat? (A/N)A"
+#~ msgstr "Jste si jisti, že chcete restartovat? (A/N)A"
#~ msgid "Are you sure you want to quit? (Y/N)"
-#~ msgstr "Jste si jisti, e chcete odejt? (A/N)A"
+#~ msgstr "Jste si jisti, že chcete odejít? (A/N)A"
#~ msgid ""
#~ "Usually, Maniac Mansion would start now. But ScummVM doesn't do that yet. "
#~ "To play it, go to 'Add Game' in the ScummVM start menu and select the "
#~ "'Maniac' directory inside the Tentacle game directory."
#~ msgstr ""
-#~ "Normln by te Maniac Mansion byl sputn. Ale ScummVM toto zatm "
-#~ "nedl. Abyste toto mohli hrt, pejdte do 'Pidat Hru' v potenm "
-#~ "menu ScummVM a vyberte adres 'Maniac' uvnit hernho adrese Tentacle."
+#~ "Normálně by teď Maniac Mansion byl spuštěn. Ale ScummVM toto zatím "
+#~ "nedělá. Abyste toto mohli hrát, přejděte do 'Přidat Hru' v počátečním "
+#~ "menu ScummVM a vyberte adresář 'Maniac' uvnitř herního adresáře Tentacle."
#~ msgid "MPEG-2 cutscenes found but ScummVM has been built without MPEG-2"
#~ msgstr "Videa MPEG-2 nalezena, ale ScummVM byl sestaven bez MPEG-2"
#~ msgctxt "lowres"
#~ msgid "Mass Add..."
-#~ msgstr "Hromadn Pidn..."
+#~ msgstr "Hromadné Přidání..."
#~ msgid ""
#~ "Turns off General MIDI mapping for games with Roland MT-32 soundtrack"
#~ msgstr ""
-#~ "Vypne mapovn General MIDI pro hry s Roland MT-32 zvukovm doprovodem"
+#~ "Vypne mapování General MIDI pro hry s Roland MT-32 zvukovým doprovodem"
#~ msgid "Standard (16bpp)"
-#~ msgstr "Standardn (16bpp)"
+#~ msgstr "Standardní (16bpp)"
#~ msgid "MPEG2 cutscenes are no longer supported"
-#~ msgstr "Videa MPGE2 ji nejsou podporovna"
+#~ msgstr "Videa MPGE2 již nejsou podporována"
#~ msgid "OpenGL Normal"
-#~ msgstr "OpenGL Normln"
+#~ msgstr "OpenGL Normální"
#~ msgid "OpenGL Conserve"
-#~ msgstr "OpenGL Zachovvajc"
+#~ msgstr "OpenGL Zachovávající"
#~ msgid "OpenGL Original"
-#~ msgstr "OpenGL Pvodn"
+#~ msgstr "OpenGL Původní"
#~ msgid "Current display mode"
-#~ msgstr "Souasn reim obrazu"
+#~ msgstr "Současný režim obrazu"
#~ msgid "Current scale"
-#~ msgstr "Souasn velikost"
+#~ msgstr "Současná velikost"
#~ msgid "Active filter mode: Linear"
-#~ msgstr "Aktivn reim filtru: Linern"
+#~ msgstr "Aktivní režim filtru: Lineární"
#~ msgid "Active filter mode: Nearest"
-#~ msgstr "Aktivn reim filtru: Nejbli"
+#~ msgstr "Aktivní režim filtru: Nejbližší"
#~ msgid "Enable Roland GS Mode"
-#~ msgstr "Zapnout reim Roland GS"
+#~ msgstr "Zapnout režim Roland GS"
#~ msgid "Hercules Green"
-#~ msgstr "Hercules Zelen"
+#~ msgstr "Hercules Zelená"
#~ msgid "Hercules Amber"
-#~ msgstr "Hercules Jantarov"
+#~ msgstr "Hercules Jantarová"
#~ msgctxt "lowres"
#~ msgid "Hercules Green"
-#~ msgstr "Hercules Zelen"
+#~ msgstr "Hercules Zelená"
#~ msgctxt "lowres"
#~ msgid "Hercules Amber"
-#~ msgstr "Hercules Jantarov"
+#~ msgstr "Hercules Jantarová"
#~ msgid "Save game failed!"
-#~ msgstr "Ukldn hry selhalo!"
+#~ msgstr "Ukládání hry selhalo!"
#~ msgctxt "lowres"
#~ msgid "Add Game..."
-#~ msgstr "Pidat Hru..."
+#~ msgstr "Přidat Hru..."
#~ msgid "Add Game..."
-#~ msgstr "Pidat Hru..."
+#~ msgstr "Přidat Hru..."
#~ msgid ""
#~ "Your game version has been detected using filename matching as a variant "
#~ "of %s."
#~ msgstr ""
-#~ "Bylo zjitno, e Vae verze hry pouv jmno souboru shodujc se s "
+#~ "Bylo zjištěno, že Vaše verze hry používá jméno souboru shodující se s "
#~ "variantou %s."
#~ msgid "If this is an original and unmodified version, please report any"
-#~ msgstr "Pokud je toto pvodn a nezmnn verze, ohlaste prosm jakkoli"
+#~ msgstr "Pokud je toto původní a nezměněná verze, ohlaste prosím jakékoli"
#~ msgid "information previously printed by ScummVM to the team."
-#~ msgstr "pedele vypsan informace od ScummVM zptky tmu."
+#~ msgstr "předešle vypsané informace od ScummVM zpátky týmu."
#~ msgid "Discovered %d new games."
-#~ msgstr "Objeveno %d novch her."
+#~ msgstr "Objeveno %d nových her."
#~ msgid "Command line argument not processed"
-#~ msgstr "Argument pkazov dky nebyl zpracovn"
+#~ msgstr "Argument příkazové řádky nebyl zpracován"
#~ msgid "FM Towns Emulator"
-#~ msgstr "FM Towns Emultor"
+#~ msgstr "FM Towns Emulátor"
#~ msgid "Invalid Path"
-#~ msgstr "Neplatn Cesta"
+#~ msgstr "Neplatná Cesta"
diff --git a/po/fr_FR.po b/po/fr_FR.po
index c34836e324..337b0a8dbc 100644
--- a/po/fr_FR.po
+++ b/po/fr_FR.po
@@ -5,10 +5,10 @@
#
msgid ""
msgstr ""
-"Project-Id-Version: ScummVM 1.3.0svn\n"
+"Project-Id-Version: ScummVM 1.8.0git\n"
"Report-Msgid-Bugs-To: scummvm-devel@lists.sf.net\n"
"POT-Creation-Date: 2015-12-23 00:28+0000\n"
-"PO-Revision-Date: 2014-07-05 13:49-0000\n"
+"PO-Revision-Date: 2015-12-26 16:06+0000\n"
"Last-Translator: Thierry Crozat <criezy@scummvm.org>\n"
"Language-Team: French <scummvm-devel@lists.sf.net>\n"
"Language: Francais\n"
@@ -16,7 +16,7 @@ msgstr ""
"Content-Type: text/plain; charset=iso-8859-1\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n>1;\n"
-"X-Generator: Poedit 1.6.6\n"
+"X-Generator: Poedit 1.8.6\n"
#: gui/about.cpp:94
#, c-format
@@ -25,11 +25,11 @@ msgstr "(compil sur %s)"
#: gui/about.cpp:101
msgid "Features compiled in:"
-msgstr "Options incluses:"
+msgstr "Options incluses :"
#: gui/about.cpp:110
msgid "Available engines:"
-msgstr "Moteurs disponibles:"
+msgstr "Moteurs disponibles :"
#: gui/browser.cpp:68 gui/browser_osx.mm:104
msgid "Show hidden files"
@@ -58,8 +58,8 @@ msgstr "Remonter"
#: gui/recorderdialog.cpp:70 gui/recorderdialog.cpp:156
#: gui/saveload-dialog.cpp:216 gui/saveload-dialog.cpp:276
#: gui/saveload-dialog.cpp:547 gui/saveload-dialog.cpp:931
-#: gui/themebrowser.cpp:55 gui/fluidsynth-dialog.cpp:152
-#: engines/engine.cpp:483 backends/platform/wii/options.cpp:48
+#: gui/themebrowser.cpp:55 gui/fluidsynth-dialog.cpp:152 engines/engine.cpp:483
+#: backends/platform/wii/options.cpp:48
#: backends/events/default/default-events.cpp:196
#: backends/events/default/default-events.cpp:218
#: engines/drascula/saveload.cpp:49 engines/parallaction/saveload.cpp:274
@@ -74,32 +74,31 @@ msgstr "Choisir"
#: gui/editrecorddialog.cpp:58
msgid "Author:"
-msgstr ""
+msgstr "Auteur :"
#: gui/editrecorddialog.cpp:59 gui/launcher.cpp:204
msgid "Name:"
-msgstr "Nom:"
+msgstr "Nom :"
#: gui/editrecorddialog.cpp:60
msgid "Notes:"
-msgstr ""
+msgstr "Notes :"
#: gui/editrecorddialog.cpp:68 gui/predictivedialog.cpp:75
msgid "Ok"
-msgstr ""
+msgstr "Ok"
#: gui/filebrowser-dialog.cpp:49
msgid "Choose file for loading"
-msgstr ""
+msgstr "Choisir le fichier charger"
#: gui/filebrowser-dialog.cpp:49
msgid "Enter filename for saving"
-msgstr ""
+msgstr "Choisir le nom de fichier pour la sauvegarde"
#: gui/filebrowser-dialog.cpp:132
-#, fuzzy
msgid "Do you really want to overwrite the file?"
-msgstr "Voulez-vous vraiment supprimer cette sauvegarde ?"
+msgstr "Voulez-vous vraiment remplacer ce fichier ?"
#: gui/filebrowser-dialog.cpp:132 gui/launcher.cpp:793 gui/launcher.cpp:941
#: gui/launcher.cpp:1000 gui/fluidsynth-dialog.cpp:217
@@ -184,7 +183,7 @@ msgstr "Touche associe: %s"
#: gui/KeysDialog.cpp:82 gui/KeysDialog.cpp:104 gui/KeysDialog.cpp:143
#, c-format
msgid "Associated key : none"
-msgstr "Touche associe: aucune"
+msgstr "Touche associe : aucune"
#: gui/KeysDialog.cpp:90
msgid "Please select an action"
@@ -200,7 +199,7 @@ msgstr "Jeu"
#: gui/launcher.cpp:197
msgid "ID:"
-msgstr "ID:"
+msgstr "ID :"
#: gui/launcher.cpp:197 gui/launcher.cpp:199 gui/launcher.cpp:200
msgid ""
@@ -213,7 +212,7 @@ msgstr ""
#: gui/launcher.cpp:199
msgctxt "lowres"
msgid "ID:"
-msgstr "ID:"
+msgstr "ID :"
#: gui/launcher.cpp:204 gui/launcher.cpp:206 gui/launcher.cpp:207
msgid "Full title of the game"
@@ -222,11 +221,11 @@ msgstr "Nom complet du jeu"
#: gui/launcher.cpp:206
msgctxt "lowres"
msgid "Name:"
-msgstr "Nom:"
+msgstr "Nom :"
#: gui/launcher.cpp:210
msgid "Language:"
-msgstr "Langue:"
+msgstr "Langue :"
#: gui/launcher.cpp:210 gui/launcher.cpp:211
msgid ""
@@ -244,7 +243,7 @@ msgstr "<defaut>"
#: gui/launcher.cpp:222
msgid "Platform:"
-msgstr "Plateforme:"
+msgstr "Systme :"
#: gui/launcher.cpp:222 gui/launcher.cpp:224 gui/launcher.cpp:225
msgid "Platform the game was originally designed for"
@@ -253,7 +252,7 @@ msgstr "Plateforme pour laquelle votre jeu a t conu"
#: gui/launcher.cpp:224
msgctxt "lowres"
msgid "Platform:"
-msgstr "Systme:"
+msgstr "Systme :"
#: gui/launcher.cpp:237
msgid "Engine"
@@ -344,16 +343,16 @@ msgstr "Chemins"
#: gui/launcher.cpp:323
msgid "Game Path:"
-msgstr "Chemin du Jeu:"
+msgstr "Chemin du Jeu :"
#: gui/launcher.cpp:325
msgctxt "lowres"
msgid "Game Path:"
-msgstr "Chemin du Jeu:"
+msgstr "Chemin du Jeu :"
#: gui/launcher.cpp:330 gui/options.cpp:1148
msgid "Extra Path:"
-msgstr "Extra:"
+msgstr "Extra :"
#: gui/launcher.cpp:330 gui/launcher.cpp:332 gui/launcher.cpp:333
msgid "Specifies path to additional data used by the game"
@@ -362,11 +361,11 @@ msgstr "Dfinie un chemin vers des donnes suplmentaires utilises par le jeu"
#: gui/launcher.cpp:332 gui/options.cpp:1150
msgctxt "lowres"
msgid "Extra Path:"
-msgstr "Extra:"
+msgstr "Extra :"
#: gui/launcher.cpp:339 gui/options.cpp:1132
msgid "Save Path:"
-msgstr "Sauvegardes:"
+msgstr "Sauvegardes :"
#: gui/launcher.cpp:339 gui/launcher.cpp:341 gui/launcher.cpp:342
#: gui/options.cpp:1132 gui/options.cpp:1134 gui/options.cpp:1135
@@ -376,7 +375,7 @@ msgstr "Dfinie l'emplacement o les fichiers de sauvegarde sont crs"
#: gui/launcher.cpp:341 gui/options.cpp:1134
msgctxt "lowres"
msgid "Save Path:"
-msgstr "Sauvegardes:"
+msgstr "Sauvegardes :"
#: gui/launcher.cpp:360 gui/launcher.cpp:459 gui/launcher.cpp:517
#: gui/launcher.cpp:571 gui/options.cpp:1143 gui/options.cpp:1151
@@ -500,13 +499,13 @@ msgstr "Recherche dans la liste de jeux"
#: gui/launcher.cpp:661 gui/launcher.cpp:1222
msgid "Search:"
-msgstr "Filtre:"
+msgstr "Filtre :"
#: gui/launcher.cpp:685 engines/dialogs.cpp:115 engines/cruise/menu.cpp:214
#: engines/mohawk/myst.cpp:245 engines/mohawk/riven.cpp:718
#: engines/pegasus/pegasus.cpp:353 engines/tsage/scenes.cpp:600
msgid "Load game:"
-msgstr "Charger le jeu:"
+msgstr "Charger le jeu :"
#: gui/launcher.cpp:685 engines/dialogs.cpp:115
#: backends/platform/wince/CEActionsPocket.cpp:267
@@ -535,7 +534,7 @@ msgstr "ScummVM n'a pas trouv de jeux dans le rpertoire slectionn."
#: gui/launcher.cpp:867
msgid "Pick the game:"
-msgstr "Choisissez le jeu:"
+msgstr "Choisissez le jeu :"
#: gui/launcher.cpp:941
msgid "Do you really want to remove this game configuration?"
@@ -560,7 +559,7 @@ msgstr "Ajout Massif..."
#: gui/launcher.cpp:1161
msgid "Record..."
-msgstr ""
+msgstr "Enregistrer..."
#: gui/massadd.cpp:79 gui/massadd.cpp:82
msgid "... progress ..."
@@ -568,7 +567,7 @@ msgstr "... en cours ..."
#: gui/massadd.cpp:259
msgid "Scan complete!"
-msgstr "Examen termin!"
+msgstr "Examen termin !"
#: gui/massadd.cpp:262
#, c-format
@@ -588,21 +587,19 @@ msgstr ""
#: gui/onscreendialog.cpp:101 gui/onscreendialog.cpp:103
msgid "Stop"
-msgstr ""
+msgstr "Arrter"
#: gui/onscreendialog.cpp:106
msgid "Edit record description"
-msgstr ""
+msgstr "Changer la description de l'enregistrement"
#: gui/onscreendialog.cpp:108
-#, fuzzy
msgid "Switch to Game"
-msgstr "Commuter"
+msgstr "Retourner au jeu"
#: gui/onscreendialog.cpp:110
-#, fuzzy
msgid "Fast replay"
-msgstr "Mode rapide"
+msgstr "Rejouer rapidement"
#: gui/options.cpp:85
msgid "Never"
@@ -652,7 +649,7 @@ msgstr "Aucune"
#: gui/options.cpp:389
msgid "Failed to apply some of the graphic options changes:"
-msgstr "Certaines options graphiques n'ont pu tre changes:"
+msgstr "Certaines options graphiques n'ont pu tre changes :"
#: gui/options.cpp:401
msgid "the video mode could not be changed."
@@ -668,11 +665,11 @@ msgstr "la correction de rapport d'aspect n'a pu tre change."
#: gui/options.cpp:732
msgid "Graphics mode:"
-msgstr "Mode graphique:"
+msgstr "Mode graphique :"
#: gui/options.cpp:746
msgid "Render mode:"
-msgstr "Mode de rendu:"
+msgstr "Mode de rendu :"
#: gui/options.cpp:746 gui/options.cpp:747
msgid "Special dithering modes supported by some games"
@@ -693,11 +690,11 @@ msgstr "Corrige le rapport d'aspect pour les jeu 320x200"
#: gui/options.cpp:769
msgid "Preferred Device:"
-msgstr "Sortie Prfr:"
+msgstr "Sortie Prfr :"
#: gui/options.cpp:769
msgid "Music Device:"
-msgstr "Sortie Audio:"
+msgstr "Sortie Audio :"
#: gui/options.cpp:769 gui/options.cpp:771
msgid "Specifies preferred sound device or sound card emulator"
@@ -712,16 +709,16 @@ msgstr "Spcifie le priphrique de sortie audio ou l'mulateur de carte audio"
#: gui/options.cpp:771
msgctxt "lowres"
msgid "Preferred Dev.:"
-msgstr "Sortie Prfr:"
+msgstr "Sortie Prfr :"
#: gui/options.cpp:771
msgctxt "lowres"
msgid "Music Device:"
-msgstr "Sortie Audio:"
+msgstr "Sortie Audio :"
#: gui/options.cpp:798
msgid "AdLib emulator:"
-msgstr "mulateur AdLib:"
+msgstr "mulateur AdLib :"
#: gui/options.cpp:798 gui/options.cpp:799
msgid "AdLib is used for music in many games"
@@ -729,7 +726,7 @@ msgstr "AdLib est utilis pour la musique dans de nombreux jeux"
#: gui/options.cpp:809
msgid "Output rate:"
-msgstr "Frquence:"
+msgstr "Frquence :"
#: gui/options.cpp:809 gui/options.cpp:810
msgid ""
@@ -741,7 +738,7 @@ msgstr ""
#: gui/options.cpp:820
msgid "GM Device:"
-msgstr "Sortie GM:"
+msgstr "Sortie GM :"
#: gui/options.cpp:820
msgid "Specifies default sound device for General MIDI output"
@@ -757,7 +754,7 @@ msgstr "Utiliser le premier priphrique disponible"
#: gui/options.cpp:854
msgid "SoundFont:"
-msgstr "Banque de sons:"
+msgstr "Banque de sons :"
#: gui/options.cpp:854 gui/options.cpp:856 gui/options.cpp:857
msgid "SoundFont is supported by some audio cards, FluidSynth and Timidity"
@@ -768,7 +765,7 @@ msgstr ""
#: gui/options.cpp:856
msgctxt "lowres"
msgid "SoundFont:"
-msgstr "SoundFont:"
+msgstr "SoundFont :"
#: gui/options.cpp:862
msgid "Mixed AdLib/MIDI mode"
@@ -780,7 +777,7 @@ msgstr "Utiliser la fois MIDI et AdLib"
#: gui/options.cpp:865
msgid "MIDI gain:"
-msgstr "Gain MIDI:"
+msgstr "Gain MIDI :"
#: gui/options.cpp:872
msgid "FluidSynth Settings"
@@ -788,7 +785,7 @@ msgstr "Paramtres FluidSynth"
#: gui/options.cpp:879
msgid "MT-32 Device:"
-msgstr "Sortie MT-32:"
+msgstr "Sortie MT-32 :"
#: gui/options.cpp:879
msgid "Specifies default sound device for Roland MT-32/LAPC1/CM32l/CM64 output"
@@ -831,7 +828,7 @@ msgstr "Ne pas utiliser la musique Roland MT-32"
#: gui/options.cpp:925
msgid "Text and Speech:"
-msgstr "Dialogue:"
+msgstr "Dialogue :"
#: gui/options.cpp:929 gui/options.cpp:939
msgid "Speech"
@@ -847,12 +844,12 @@ msgstr "Les deux"
#: gui/options.cpp:933
msgid "Subtitle speed:"
-msgstr "Vitesse des ST:"
+msgstr "Vitesse des ST :"
#: gui/options.cpp:935
msgctxt "lowres"
msgid "Text and Speech:"
-msgstr "Dialogue:"
+msgstr "Dialogue :"
#: gui/options.cpp:939
msgid "Spch"
@@ -874,16 +871,16 @@ msgstr "Affiche les sous-titres et joue les dialogues audio"
#: gui/options.cpp:943
msgctxt "lowres"
msgid "Subtitle speed:"
-msgstr "Vitesse des ST:"
+msgstr "Vitesse des ST :"
#: gui/options.cpp:959
msgid "Music volume:"
-msgstr "Volume Musique:"
+msgstr "Volume Musique :"
#: gui/options.cpp:961
msgctxt "lowres"
msgid "Music volume:"
-msgstr "Musique:"
+msgstr "Musique :"
#: gui/options.cpp:968
msgid "Mute All"
@@ -891,7 +888,7 @@ msgstr "Silence"
#: gui/options.cpp:971
msgid "SFX volume:"
-msgstr "Volume Bruitage:"
+msgstr "Volume Bruitage :"
#: gui/options.cpp:971 gui/options.cpp:973 gui/options.cpp:974
msgid "Special sound effects volume"
@@ -900,25 +897,25 @@ msgstr "Volume des effets spciaux sonores"
#: gui/options.cpp:973
msgctxt "lowres"
msgid "SFX volume:"
-msgstr "Bruitage:"
+msgstr "Bruitage :"
#: gui/options.cpp:981
msgid "Speech volume:"
-msgstr "Volume Dialogues:"
+msgstr "Volume Dialogues :"
#: gui/options.cpp:983
msgctxt "lowres"
msgid "Speech volume:"
-msgstr "Dialogues:"
+msgstr "Dialogues :"
#: gui/options.cpp:1140
msgid "Theme Path:"
-msgstr "Thmes:"
+msgstr "Thmes :"
#: gui/options.cpp:1142
msgctxt "lowres"
msgid "Theme Path:"
-msgstr "Thmes:"
+msgstr "Thmes :"
#: gui/options.cpp:1148 gui/options.cpp:1150 gui/options.cpp:1151
msgid "Specifies path to additional data used by all games or ScummVM"
@@ -928,12 +925,12 @@ msgstr ""
#: gui/options.cpp:1157
msgid "Plugins Path:"
-msgstr "Plugins:"
+msgstr "Plugins :"
#: gui/options.cpp:1159
msgctxt "lowres"
msgid "Plugins Path:"
-msgstr "Plugins:"
+msgstr "Plugins :"
#: gui/options.cpp:1168 gui/fluidsynth-dialog.cpp:138
msgid "Misc"
@@ -946,20 +943,20 @@ msgstr "Divers"
#: gui/options.cpp:1172
msgid "Theme:"
-msgstr "Thme:"
+msgstr "Thme :"
#: gui/options.cpp:1176
msgid "GUI Renderer:"
-msgstr "Interface:"
+msgstr "Interface :"
#: gui/options.cpp:1188
msgid "Autosave:"
-msgstr "Sauvegarde auto:"
+msgstr "Sauvegarde auto :"
#: gui/options.cpp:1190
msgctxt "lowres"
msgid "Autosave:"
-msgstr "Sauvegarde:"
+msgstr "Sauvegarde :"
#: gui/options.cpp:1198
msgid "Keys"
@@ -967,7 +964,7 @@ msgstr "Touches"
#: gui/options.cpp:1205
msgid "GUI Language:"
-msgstr "Langue:"
+msgstr "Langue :"
#: gui/options.cpp:1205
msgid "Language of ScummVM GUI"
@@ -1007,29 +1004,28 @@ msgstr ""
#. I18N: You must leave "#" as is, only word 'next' is translatable
#: gui/predictivedialog.cpp:87
msgid "# next"
-msgstr ""
+msgstr "# suivant"
#: gui/predictivedialog.cpp:88
msgid "add"
-msgstr ""
+msgstr "ajouter"
#: gui/predictivedialog.cpp:92
-#, fuzzy
msgid "Delete char"
-msgstr "Supprimer"
+msgstr "Supprimer le caractre"
#: gui/predictivedialog.cpp:96
msgid "<"
-msgstr ""
+msgstr "<"
#. I18N: Pre means 'Predictive', leave '*' as is
#: gui/predictivedialog.cpp:98
msgid "* Pre"
-msgstr ""
+msgstr "* Pr"
#: gui/recorderdialog.cpp:64
msgid "Recorder or Playback Gameplay"
-msgstr ""
+msgstr "Enregistreur ou Joueur de Gameplay"
#: gui/recorderdialog.cpp:69 gui/recorderdialog.cpp:156
#: gui/saveload-dialog.cpp:220 gui/saveload-dialog.cpp:276
@@ -1038,36 +1034,33 @@ msgstr "Supprimer"
#: gui/recorderdialog.cpp:71
msgid "Record"
-msgstr ""
+msgstr "Enregistrer"
#: gui/recorderdialog.cpp:72
-#, fuzzy
msgid "Playback"
-msgstr "Jouer"
+msgstr "Lecture"
#: gui/recorderdialog.cpp:74
msgid "Edit"
-msgstr ""
+msgstr "Editer"
#: gui/recorderdialog.cpp:86 gui/recorderdialog.cpp:243
#: gui/recorderdialog.cpp:253
msgid "Author: "
-msgstr ""
+msgstr "Auteur : "
#: gui/recorderdialog.cpp:87 gui/recorderdialog.cpp:244
#: gui/recorderdialog.cpp:254
msgid "Notes: "
-msgstr ""
+msgstr "Notes : "
#: gui/recorderdialog.cpp:155
-#, fuzzy
msgid "Do you really want to delete this record?"
-msgstr "Voulez-vous vraiment supprimer cette sauvegarde ?"
+msgstr "Voulez-vous vraiment supprimer cet enregistrement ?"
#: gui/recorderdialog.cpp:174
-#, fuzzy
msgid "Unknown Author"
-msgstr "Erreur inconnue"
+msgstr "Auteur inconnu"
#: gui/saveload-dialog.cpp:167
msgid "List view"
@@ -1095,15 +1088,15 @@ msgstr "Voulez-vous vraiment supprimer cette sauvegarde ?"
#: gui/saveload-dialog.cpp:385 gui/saveload-dialog.cpp:884
msgid "Date: "
-msgstr "Date: "
+msgstr "Date : "
#: gui/saveload-dialog.cpp:389 gui/saveload-dialog.cpp:890
msgid "Time: "
-msgstr "Heure: "
+msgstr "Heure : "
#: gui/saveload-dialog.cpp:395 gui/saveload-dialog.cpp:898
msgid "Playtime: "
-msgstr "Dure de jeu: "
+msgstr "Dure de jeu : "
#: gui/saveload-dialog.cpp:408 gui/saveload-dialog.cpp:496
msgid "Untitled savestate"
@@ -1177,19 +1170,19 @@ msgstr "Actif"
#: gui/fluidsynth-dialog.cpp:72
msgid "Room:"
-msgstr "Pice:"
+msgstr "Pice :"
#: gui/fluidsynth-dialog.cpp:79
msgid "Damp:"
-msgstr "Attnuation:"
+msgstr "Attnuation :"
#: gui/fluidsynth-dialog.cpp:86
msgid "Width:"
-msgstr "Largeur:"
+msgstr "Largeur :"
#: gui/fluidsynth-dialog.cpp:93 gui/fluidsynth-dialog.cpp:111
msgid "Level:"
-msgstr "Niveau:"
+msgstr "Niveau :"
#: gui/fluidsynth-dialog.cpp:100
msgid "Chorus"
@@ -1197,19 +1190,19 @@ msgstr "Chorus"
#: gui/fluidsynth-dialog.cpp:104
msgid "N:"
-msgstr "N:"
+msgstr "N :"
#: gui/fluidsynth-dialog.cpp:118
msgid "Speed:"
-msgstr "Vitesse:"
+msgstr "Vitesse :"
#: gui/fluidsynth-dialog.cpp:125
msgid "Depth:"
-msgstr "Profondeur:"
+msgstr "Profondeur :"
#: gui/fluidsynth-dialog.cpp:132
msgid "Type:"
-msgstr "Type:"
+msgstr "Type :"
#: gui/fluidsynth-dialog.cpp:135
msgid "Sine"
@@ -1221,7 +1214,7 @@ msgstr "Triangle"
#: gui/fluidsynth-dialog.cpp:140
msgid "Interpolation:"
-msgstr "Interpolation:"
+msgstr "Interpolation :"
#: gui/fluidsynth-dialog.cpp:143
msgid "None (fastest)"
@@ -1279,7 +1272,7 @@ msgstr "Passer la phrase"
#: base/main.cpp:507
msgid "Error running game:"
-msgstr "Erreur lors de l'xcution du jeu:"
+msgstr "Erreur lors de l'xcution du jeu : "
#: base/main.cpp:554
msgid "Could not find any engine capable of running the selected game"
@@ -1315,7 +1308,7 @@ msgstr "Chemin inexistant"
#: common/error.cpp:54
msgid "Path not a directory"
-msgstr "Chemin n'est pas un rpertoire"
+msgstr "Le chemin n'est pas un rpertoire"
#: common/error.cpp:56
msgid "Path not a file"
@@ -1327,11 +1320,11 @@ msgstr "Impossible de crer le fichier"
#: common/error.cpp:61
msgid "Reading data failed"
-msgstr "Echec de la lecture"
+msgstr "chec de la lecture"
#: common/error.cpp:63
msgid "Writing data failed"
-msgstr "Echec de l'criture des donnes"
+msgstr "chec de l'criture des donnes"
#: common/error.cpp:66
msgid "Could not find suitable engine plugin"
@@ -1403,7 +1396,7 @@ msgstr "Retour au ~L~anceur"
#: engines/pegasus/pegasus.cpp:377 engines/sci/engine/kfile.cpp:759
#: engines/toltecs/menu.cpp:281 engines/tsage/scenes.cpp:598
msgid "Save game:"
-msgstr "Sauvegarde:"
+msgstr "Sauvegarde :"
#: engines/dialogs.cpp:116 backends/platform/symbian/src/SymbianActions.cpp:44
#: backends/platform/wince/CEActionsPocket.cpp:43
@@ -1501,7 +1494,7 @@ msgid ""
"Gamestate load failed (%s)! Please consult the README for basic information, "
"and for instructions on how to obtain further assistance."
msgstr ""
-"Echec du chargement (%s)! . Lisez le fichier README pour les informations de "
+"Echec du chargement (%s) ! Lisez le fichier README pour les informations de "
"base et les instructions pour obtenir de l'aide supplmentaire."
#: engines/engine.cpp:480
@@ -1510,7 +1503,7 @@ msgid ""
"ScummVM. As such, it is likely to be unstable, and any saves you make might "
"not work in future versions of ScummVM."
msgstr ""
-"Attention:le jeu que vous vous apprtez jouer n'est pas encore "
+"Attention : le jeu que vous vous apprtez jouer n'est pas encore "
"compltement support par ScummVM. Il est donc instable et les sauvegardes "
"peuvent ne pas marcher avec une future version de ScummVM."
@@ -1528,7 +1521,7 @@ msgstr "mulateur DOSBox OPL"
#: audio/fmopl.cpp:67
msgid "ALSA Direct FM"
-msgstr ""
+msgstr "ALSA direct-FM"
#: audio/mididrv.cpp:209
#, c-format
@@ -1550,8 +1543,8 @@ msgid ""
"The selected audio device '%s' cannot be used. See log file for more "
"information."
msgstr ""
-"The selected audio device '%s' ne peut pas tre utilis. Voir le fichier de "
-"log pour plus de dtails."
+"Le priphrique audio slectionn '%s' ne peut pas tre utilis. Voir le "
+"fichier de log pour plus de dtails."
#: audio/mididrv.cpp:257
#, c-format
@@ -1702,7 +1695,7 @@ msgstr "Sans changement d'chelle (vous devez faire dfiler l'cran)"
#: backends/platform/ds/arm9/source/dsoptions.cpp:111
msgid "Brightness:"
-msgstr "Luminosit:"
+msgstr "Luminosit :"
#: backends/platform/ds/arm9/source/dsoptions.cpp:121
msgid "High quality audio (slower) (reboot)"
@@ -1851,9 +1844,8 @@ msgstr "Mode rapide"
#: backends/platform/symbian/src/SymbianActions.cpp:52
#: backends/platform/wince/CEActionsPocket.cpp:44
#: backends/platform/wince/CEActionsSmartphone.cpp:52
-#: backends/events/default/default-events.cpp:218
-#: engines/scumm/dialogs.cpp:192 engines/scumm/help.cpp:83
-#: engines/scumm/help.cpp:85
+#: backends/events/default/default-events.cpp:218 engines/scumm/dialogs.cpp:192
+#: engines/scumm/help.cpp:83 engines/scumm/help.cpp:85
msgid "Quit"
msgstr "Quitter"
@@ -1915,7 +1907,7 @@ msgstr "DVD"
#: backends/platform/wii/options.cpp:89 backends/platform/wii/options.cpp:101
msgid "Status:"
-msgstr "Status:"
+msgstr "tat :"
#: backends/platform/wii/options.cpp:90 backends/platform/wii/options.cpp:102
msgid "Unknown"
@@ -1939,15 +1931,15 @@ msgstr "Serveur:"
#: backends/platform/wii/options.cpp:110
msgid "Share:"
-msgstr "Disque partag:"
+msgstr "Disque partag :"
#: backends/platform/wii/options.cpp:114
msgid "Username:"
-msgstr "Nom d'utilisateur:"
+msgstr "Nom d'utilisateur :"
#: backends/platform/wii/options.cpp:118
msgid "Password:"
-msgstr "Mot de passe:"
+msgstr "Mot de passe :"
#: backends/platform/wii/options.cpp:121
msgid "Init network"
@@ -2226,31 +2218,33 @@ msgstr ""
"ScummVM"
#: engines/agi/detection.cpp:157
-#, fuzzy
msgid "Use an alternative palette"
-msgstr "Utiliser une intro alternative (version CD uniquement)"
+msgstr "Utiliser une palette alternative"
#: engines/agi/detection.cpp:158
msgid ""
"Use an alternative palette, common for all Amiga games. This was the old "
"behavior"
msgstr ""
+"Utiliser une palette de remplacement commune tous les jeux Amiga. C'est "
+"l'ancien comportement."
#: engines/agi/detection.cpp:167
-#, fuzzy
msgid "Mouse support"
-msgstr "Support des interruptions"
+msgstr "Support de la souris"
#: engines/agi/detection.cpp:168
msgid ""
"Enables mouse support. Allows to use mouse for movement and in game menus."
msgstr ""
+"Activer le support de la souris. Cela permet d'utiliser la souris pour les "
+"mouvements et la navigation dans les menus."
#: engines/agi/saveload.cpp:816 engines/drascula/saveload.cpp:349
#: engines/dreamweb/saveload.cpp:169 engines/neverhood/menumodule.cpp:890
#: engines/sci/engine/kfile.cpp:858 engines/toltecs/menu.cpp:256
msgid "Restore game:"
-msgstr "Charger le jeu:"
+msgstr "Charger le jeu :"
#: engines/agi/saveload.cpp:816 engines/drascula/saveload.cpp:349
#: engines/dreamweb/saveload.cpp:169 engines/neverhood/menumodule.cpp:890
@@ -2265,7 +2259,7 @@ msgid ""
"\n"
"%s"
msgstr ""
-"chec du chargement de l'tat du jeu depuis le fichier:\n"
+"chec du chargement de l'tat du jeu depuis le fichier :\n"
"\n"
"%s"
@@ -2276,7 +2270,7 @@ msgid ""
"\n"
"%s"
msgstr ""
-"chec de l'enregistrement de l'tat du jeu dans le fichier:\n"
+"chec de l'enregistrement de l'tat du jeu dans le fichier :\n"
"\n"
"%s"
@@ -2287,23 +2281,22 @@ msgid ""
"\n"
"%s"
msgstr ""
-"tat du jeu enregistr avec succs dans le fichier:\n"
+"tat du jeu enregistr avec succs dans le fichier :\n"
"\n"
"%s"
#: engines/agos/animation.cpp:557
#, c-format
msgid "Cutscene file '%s' not found!"
-msgstr "Fichier de squence '%s' non trouv!"
+msgstr "Fichier de squence '%s' non trouv !"
#: engines/cge/detection.cpp:105 engines/cge2/detection.cpp:101
-#, fuzzy
msgid "Color Blind Mode"
-msgstr "Mode Clic"
+msgstr "Mode Daltonien"
#: engines/cge/detection.cpp:106 engines/cge2/detection.cpp:102
msgid "Enable Color Blind Mode by default"
-msgstr ""
+msgstr "Activer le mode Daltonien par dfaut"
#: engines/drascula/saveload.cpp:47
msgid ""
@@ -2359,11 +2352,11 @@ msgstr "chec de la sauvegarde."
#: engines/hopkins/detection.cpp:76 engines/hopkins/detection.cpp:86
msgid "Gore Mode"
-msgstr ""
+msgstr "Mode Sanglant"
#: engines/hopkins/detection.cpp:77 engines/hopkins/detection.cpp:87
msgid "Enable Gore Mode when available"
-msgstr ""
+msgstr "Activer le Mode Sanglant quand il est disponible"
#. I18N: Studio audience adds an applause and cheering sounds whenever
#. Malcolm makes a joke.
@@ -2479,8 +2472,8 @@ msgid ""
"General MIDI ones. It is still possible that\n"
"some tracks sound incorrect."
msgstr ""
-"Il semble que vous utilisiez un priphrique General MIDI,\n"
-"mais ce jeu ne support que le MIDI Roland MT32. Nous essayons\n"
+"Il semble que vous utilisez un priphrique General MIDI,\n"
+"mais ce jeu ne supporte que le MIDI Roland MT32. Nous essayons\n"
"d'associer les instruments Roland MT32 aux instruments General\n"
"MIDI. Cependant il est possible que quelques pistes ne soient\n"
" pas joues correctement."
@@ -2495,6 +2488,13 @@ msgid ""
"Do you wish to use this save game file with ScummVM?\n"
"\n"
msgstr ""
+"Le fichier de sauvegarde original suivant a t trouv dans le rpertoire du "
+"jeu :\n"
+"\n"
+"%s %s\n"
+"\n"
+"Voulez-vous utiliser cette sauvegarde avec ScummVM ?\n"
+"\n"
#: engines/kyra/saveload_eob.cpp:590
#, c-format
@@ -2502,6 +2502,8 @@ msgid ""
"A save game file was found in the specified slot %d. Overwrite?\n"
"\n"
msgstr ""
+"Une sauvegarde existe dj dans l'emplacement %d. craser ?\n"
+"\n"
#: engines/kyra/saveload_eob.cpp:623
#, c-format
@@ -2513,6 +2515,11 @@ msgid ""
"'import_savefile'.\n"
"\n"
msgstr ""
+"%d sauvegardes originales ont t importes avec succs. Si vous voulez\n"
+"importer d'autre sauvegardes originales plus tard, vous devrez ouvrir la\n"
+"console de debug de ScummVM et utiliser la commande 'import_savefile'.\n"
+"\n"
+" \n"
#. I18N: Option for fast scene switching
#: engines/mohawk/dialogs.cpp:92 engines/mohawk/dialogs.cpp:167
@@ -2653,15 +2660,17 @@ msgstr "Utiliser une intro alternative (version CD uniquement)"
#: engines/sci/detection.cpp:374
msgid "Skip EGA dithering pass (full color backgrounds)"
-msgstr ""
+msgstr "Passer l'tape de tramage EGA (fonds de couleurs pleines)"
#: engines/sci/detection.cpp:375
msgid "Skip dithering pass in EGA games, graphics are shown with full colors"
msgstr ""
+"Passer l'tape de tramage dans les jeux EGA ; les images utilisent des "
+"couleurs pleines"
#: engines/sci/detection.cpp:384
msgid "Prefer digital sound effects"
-msgstr "Prfrer les effets sonors digitals"
+msgstr "Prfrer les effets sonores digitaux"
#: engines/sci/detection.cpp:385
msgid "Prefer digital sound effects instead of synthesized ones"
@@ -2732,13 +2741,11 @@ msgstr "Jeu en pause. Appuyer sur Espace pour Reprendre."
#. "Moechten Sie wirklich neu starten? (J/N)J"
#. Will react to J as 'Yes'
#: engines/scumm/dialogs.cpp:183
-#, fuzzy
msgid "Are you sure you want to restart? (Y/N)Y"
msgstr "Voulez-vous vraiment recommencer ? (O/N)O"
#. I18N: you may specify 'Yes' symbol at the end of the line. See previous comment
#: engines/scumm/dialogs.cpp:185
-#, fuzzy
msgid "Are you sure you want to quit? (Y/N)Y"
msgstr "Voulez-vous vraiment quitter ? (O/N)O"
@@ -2829,7 +2836,7 @@ msgstr "Expert"
#: engines/scumm/help.cpp:74
msgid "Common keyboard commands:"
-msgstr "Commandes clavier communes:"
+msgstr "Commandes clavier communes :"
#: engines/scumm/help.cpp:75
msgid "Save / Load dialog"
@@ -2853,7 +2860,7 @@ msgstr "Espace"
#: engines/scumm/help.cpp:79
msgid "Pause game"
-msgstr "Mettre en pause:"
+msgstr "Mettre en pause"
#: engines/scumm/help.cpp:80 engines/scumm/help.cpp:85
#: engines/scumm/help.cpp:96 engines/scumm/help.cpp:97
@@ -2865,7 +2872,7 @@ msgstr "Ctrl"
#: engines/scumm/help.cpp:80
msgid "Load game state 1-10"
-msgstr "Charger sauvegarde 1-10:"
+msgstr "Charger sauvegarde 1-10"
#: engines/scumm/help.cpp:81 engines/scumm/help.cpp:85
#: engines/scumm/help.cpp:87 engines/scumm/help.cpp:101
@@ -2875,7 +2882,7 @@ msgstr "Alt"
#: engines/scumm/help.cpp:81
msgid "Save game state 1-10"
-msgstr "crire sauvegarde 1-10:"
+msgstr "crire sauvegarde 1-10"
#: engines/scumm/help.cpp:87 engines/scumm/help.cpp:90
msgid "Enter"
@@ -2903,7 +2910,7 @@ msgstr "Simuler bouton droit de la souris"
#: engines/scumm/help.cpp:94
msgid "Special keyboard commands:"
-msgstr "Commandes clavier spciales:"
+msgstr "Commandes clavier spciales :"
#: engines/scumm/help.cpp:95
msgid "Show / Hide console"
@@ -2915,7 +2922,7 @@ msgstr "Ouvrir le dbugger"
#: engines/scumm/help.cpp:97
msgid "Show memory consumption"
-msgstr "Afficher la consomation de mmoire"
+msgstr "Afficher la consommation de mmoire"
#: engines/scumm/help.cpp:98
msgid "Run in fast mode (*)"
@@ -2959,11 +2966,11 @@ msgstr " ou comportement incorrect du jeu."
#: engines/scumm/help.cpp:115
msgid "Spinning drafts on the keyboard:"
-msgstr "Filage au clavier:"
+msgstr "Filage au clavier :"
#: engines/scumm/help.cpp:117
msgid "Main game controls:"
-msgstr "Controles principaux du jeu:"
+msgstr "Contrles principaux du jeu :"
#: engines/scumm/help.cpp:122 engines/scumm/help.cpp:137
#: engines/scumm/help.cpp:162
@@ -3248,25 +3255,24 @@ msgid "Third kid"
msgstr "Troisime enfant"
#: engines/scumm/help.cpp:292
-#, fuzzy
msgid "Toggle Inventory/IQ Points display"
-msgstr "Basculer l'Affichage Central"
+msgstr "Basculer entre Inventaire/Points QI"
#: engines/scumm/help.cpp:293
msgid "Toggle Keyboard/Mouse Fighting (*)"
-msgstr ""
+msgstr "Basculer entre Clavier et Souris pour les combats (*)"
#: engines/scumm/help.cpp:295
msgid "* Keyboard Fighting is always on,"
-msgstr ""
+msgstr "* Le clavier peut toujours tre utilis pour les combats,"
#: engines/scumm/help.cpp:296
msgid " so despite the in-game message this"
-msgstr ""
+msgstr " donc malgr le message dans le jeu cela simplement"
#: engines/scumm/help.cpp:297
msgid " actually toggles Mouse Fighting Off/On"
-msgstr ""
+msgstr " active/dsactive le combat la souris"
#: engines/scumm/help.cpp:304
msgid "Fighting controls (numpad):"
@@ -3303,7 +3309,7 @@ msgstr "Frapper bas"
#: engines/scumm/help.cpp:315
msgid "Sucker punch"
-msgstr ""
+msgstr "Sucker punch"
#: engines/scumm/help.cpp:318
msgid "These are for Indy on left."
@@ -3362,23 +3368,20 @@ msgid "Fly to lower right"
msgstr "Voler vers la bas droite"
#: engines/scumm/input.cpp:572
-#, fuzzy
msgid "Snap scroll on"
-msgstr "Dfilement rgulier"
+msgstr "Dfilement par -coups"
#: engines/scumm/input.cpp:574
msgid "Snap scroll off"
-msgstr ""
+msgstr "Dfilement rgulier"
#: engines/scumm/input.cpp:587
-#, fuzzy
msgid "Music volume: "
-msgstr "Volume Musique:"
+msgstr "Volume Musique :"
#: engines/scumm/input.cpp:604
-#, fuzzy
msgid "Subtitle speed: "
-msgstr "Vitesse des ST:"
+msgstr "Vitesse des ST :"
#: engines/scumm/scumm.cpp:1832
#, c-format
@@ -3390,28 +3393,31 @@ msgstr ""
"mais %s manque. Utilise AdLib la place."
#: engines/scumm/scumm.cpp:2644
-#, fuzzy
msgid ""
"Usually, Maniac Mansion would start now. But for that to work, the game "
"files for Maniac Mansion have to be in the 'Maniac' directory inside the "
"Tentacle game directory, and the game has to be added to ScummVM."
msgstr ""
-"Normalement, Maniac Mansion devrait dmarrer maintenant. Cependant ScummVM "
-"ne supporte pas encore cette fonctionalit. Pour jouer Maniac Mansion, "
-"choisissez 'Ajouter...' dans le Lanceur de ScummVM et slectionnez le "
-"rpertoire 'Maniac Mansion' dans le rpertoire du jeu Day Of The Tentacle."
+"Normalement, Maniac Mansion devrait dmarrer maintenant. Mais pour que cela "
+"marche il faut que les fichiers du jeu Maniac Mansion soient dans e "
+"rpertoire 'Maniac' l'intrieur du rpertoire du jeu Day of the Tentacle, "
+"et le jeu doit tre ajouter ScummVM."
#: engines/scumm/players/player_v3m.cpp:129
msgid ""
"Could not find the 'Loom' Macintosh executable to read the\n"
"instruments from. Music will be disabled."
msgstr ""
+"L'excutable Macintosh de 'Loom' n'a pas t trouv pour\n"
+"y lire les instruments. La musique sera dsactive."
#: engines/scumm/players/player_v5m.cpp:107
msgid ""
"Could not find the 'Monkey Island' Macintosh executable to read the\n"
"instruments from. Music will be disabled."
msgstr ""
+"L'excutable Macintosh de 'Monkey Island' n'a pas t trouv pour\n"
+"y lire les instruments. La musique sera dsactive."
#: engines/sky/compact.cpp:130
msgid ""
@@ -3532,14 +3538,14 @@ msgstr ""
#: engines/wintermute/detection.cpp:58
msgid "Show FPS-counter"
-msgstr ""
+msgstr "Afficher le compteur FPS"
#: engines/wintermute/detection.cpp:59
msgid "Show the current number of frames per second in the upper left corner"
msgstr ""
+"Affiche le nombre d'images par seconde (FPS) dans le coin en haut gauche"
#: engines/zvision/detection_tables.h:52
-#, fuzzy
msgid "Use the original save/load screens instead of the ScummVM interface"
msgstr ""
"Utiliser les dialogues sauvegarde/chargement d'origine plutt que ceux de "
@@ -3547,38 +3553,37 @@ msgstr ""
#: engines/zvision/detection_tables.h:61
msgid "Double FPS"
-msgstr ""
+msgstr "Doubler les FPS"
#: engines/zvision/detection_tables.h:62
msgid "Increase framerate from 30 to 60 FPS"
-msgstr ""
+msgstr "Augmente de 30 60 le nombre d'images par seconde"
#: engines/zvision/detection_tables.h:71
-#, fuzzy
msgid "Enable Venus"
-msgstr "Activer le mode helium"
+msgstr "Activer Venus"
#: engines/zvision/detection_tables.h:72
-#, fuzzy
msgid "Enable the Venus help system"
-msgstr "Activer le mode helium"
+msgstr "Active le systme d'aide Venus"
#: engines/zvision/detection_tables.h:81
msgid "Disable animation while turning"
-msgstr ""
+msgstr "Dsactiver les animations en tournant"
#: engines/zvision/detection_tables.h:82
msgid "Disable animation while turning in panorama mode"
-msgstr ""
+msgstr "Dsactiver les animations en tournant dans le mode panorama"
#: engines/zvision/detection_tables.h:91
msgid "Use high resolution MPEG video"
-msgstr ""
+msgstr "Utiliser les vidos MPEG haute rsolution"
#: engines/zvision/detection_tables.h:92
-#, fuzzy
msgid "Use MPEG video from the DVD version, instead of lower resolution AVI"
-msgstr "Utiliser les curseurs argents au lieu des curseurs normaux dors"
+msgstr ""
+"Utiliser les vidos MPEG du DVD la place des vidos AVI de plus basse "
+"rsolution"
#~ msgid "EGA undithering"
#~ msgstr "Dtramage EGA"