diff options
37 files changed, 2650 insertions, 1541 deletions
diff --git a/dists/scummvm_logo.bmp b/dists/scummvm_logo.bmp Binary files differnew file mode 100644 index 0000000000..8217019be4 --- /dev/null +++ b/dists/scummvm_logo.bmp 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 Binary files differindex a882cf2c0b..3a9804f663 100644 --- a/gui/themes/translations.dat +++ b/gui/themes/translations.dat 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" |