diff options
294 files changed, 11542 insertions, 8106 deletions
@@ -2,10 +2,28 @@ For a more comprehensive changelog of the latest experimental code, see: https://github.com/scummvm/scummvm/commits/ 1.10.0 (YYYY-MM-DD) + General: + - Added a command-line option to automatically scan for supported games in + the current or a specified directory. + - Many options in GUI could be applied without closing the dialog. + - On-the-fly language switching was implemented. + + AGOS: + - Fixed subtitle speed setting in the Hebrew version of Simon the Sorcerer 1. + + Composer: + - Added save/load from General Main Menu. 1.9.1 (YYYY-MM-DD) General: - Added bilinear filtering option for SDL2 fullscreen mode. + - Fixed a bug that caused a crash in the options dialog of the GUI. + + Kyra: + - Fixed a buffer overflow in Lands of Lore. + + MADS: + - Fixed a bug that caused a crash after starting Rex Nebular and the Cosmic Gender Bender. 1.9.0 (2016-10-17) New Games: @@ -1309,6 +1309,10 @@ arguments -- see the next section. -z, --list-games Display list of supported games and exit -t, --list-targets Display list of configured targets and exit --list-saves=TARGET Display a list of saved games for the game (TARGET) specified + --auto-detect Display a list of games from current or specified + directory and start the first one found. Use + --path=PATH before--auto-detect to specify a + directory. --console Enable the console window (default: enabled) (Windows only) -c, --config=CONFIG Use alternate configuration file diff --git a/audio/softsynth/mt32.cpp b/audio/softsynth/mt32.cpp index d514e64fe9..aaf95b65da 100644 --- a/audio/softsynth/mt32.cpp +++ b/audio/softsynth/mt32.cpp @@ -42,6 +42,7 @@ #include "common/archive.h" #include "common/textconsole.h" #include "common/translation.h" +#include "common/osd_message_queue.h" #include "graphics/fontman.h" #include "graphics/surface.h" @@ -79,7 +80,7 @@ protected: error("MT32emu: Init Error - Missing PCM ROM image"); } void showLCDMessage(const char *message) { - g_system->displayMessageOnOSD(message); + Common::OSDMessageQueue::instance().addMessage(message); } }; diff --git a/backends/cloud/storage.cpp b/backends/cloud/storage.cpp index 4cccacf6d6..3a9ae53a43 100644 --- a/backends/cloud/storage.cpp +++ b/backends/cloud/storage.cpp @@ -28,6 +28,7 @@ #include "common/debug.h" #include "common/file.h" #include <common/translation.h> +#include "common/osd_message_queue.h" namespace Cloud { @@ -207,7 +208,7 @@ void Storage::savesSyncDefaultCallback(BoolResponse response) { if (!response.value) warning("SavesSyncRequest called success callback with `false` argument"); - g_system->displayMessageOnOSD(_("Saved games sync complete.")); + Common::OSDMessageQueue::instance().addMessage(_("Saved games sync complete.")); } void Storage::savesSyncDefaultErrorCallback(Networking::ErrorResponse error) { @@ -218,9 +219,9 @@ void Storage::savesSyncDefaultErrorCallback(Networking::ErrorResponse error) { printErrorResponse(error); if (error.interrupted) - g_system->displayMessageOnOSD(_("Saved games sync was cancelled.")); + Common::OSDMessageQueue::instance().addMessage(_("Saved games sync was cancelled.")); else - g_system->displayMessageOnOSD(_("Saved games sync failed.\nCheck your Internet connection.")); + Common::OSDMessageQueue::instance().addMessage(_("Saved games sync failed.\nCheck your Internet connection.")); } ///// DownloadFolderRequest-related ///// @@ -328,7 +329,7 @@ void Storage::directoryDownloadedCallback(FileArrayResponse response) { } else { message = _("Download complete."); } - g_system->displayMessageOnOSD(message.c_str()); + Common::OSDMessageQueue::instance().addMessage(message.c_str()); } void Storage::directoryDownloadedErrorCallback(Networking::ErrorResponse error) { @@ -336,7 +337,7 @@ void Storage::directoryDownloadedErrorCallback(Networking::ErrorResponse error) _downloadFolderRequest = nullptr; _runningRequestsMutex.unlock(); - g_system->displayMessageOnOSD(_("Download failed.")); + Common::OSDMessageQueue::instance().addMessage(_("Download failed.")); } } // End of namespace Cloud diff --git a/backends/events/androidsdl/androidsdl-events.cpp b/backends/events/androidsdl/androidsdl-events.cpp index c8a730aa8e..0adcff817e 100644 --- a/backends/events/androidsdl/androidsdl-events.cpp +++ b/backends/events/androidsdl/androidsdl-events.cpp @@ -66,9 +66,8 @@ bool AndroidSdlEventSource::handleMouseButtonDown(SDL_Event &ev, Common::Event & bool AndroidSdlEventSource::remapKey(SDL_Event &ev, Common::Event &event) { if (false) {} - if (ev.key.keysym.sym == SDLK_LCTRL) { - event.type = Common::EVENT_KEYDOWN; - event.kbd.keycode = Common::KEYCODE_F5; + if (ev.key.keysym.sym == SDLK_F13) { + event.type = Common::EVENT_MAINMENU; return true; } else { // Let the events fall through if we didn't change them, this may not be the best way to diff --git a/backends/events/sdl/sdl-events.cpp b/backends/events/sdl/sdl-events.cpp index 7caa177819..5fb66a7ec4 100644 --- a/backends/events/sdl/sdl-events.cpp +++ b/backends/events/sdl/sdl-events.cpp @@ -110,13 +110,51 @@ SdlEventSource::~SdlEventSource() { int SdlEventSource::mapKey(SDLKey sdlKey, SDLMod mod, Uint16 unicode) { Common::KeyCode key = SDLToOSystemKeycode(sdlKey); + // Keep unicode in case it's regular ASCII text or in case we didn't get a valid keycode + // + // We need to use unicode in those cases, simply because SDL1.x passes us non-layout-adjusted keycodes. + // So unicode is the only way to get layout-adjusted keys. + if (unicode < 0x20) { + // don't use unicode, in case it's control characters + unicode = 0; + } else { + // Use unicode, in case keycode is invalid. + // Umlauts and others will set KEYCODE_INVALID on SDL2, so in such a case always keep unicode. + if (key != Common::KEYCODE_INVALID) { + // keycode is valid, check further also depending on modifiers + if (mod & (KMOD_CTRL | KMOD_ALT)) { + // Ctrl and/or Alt is active + // + // We need to restrict unicode to only up to 0x7E, because on macOS the option/alt key will switch to + // an alternate keyboard, which will cause us to receive Unicode characters for some keys, which are outside + // of the ASCII range (e.g. alt-x will get us U+2248). We need to return 'x' for alt-x, so using unicode + // in that case would break alt-shortcuts. + if (unicode > 0x7E) + unicode = 0; // do not allow any characters above 0x7E + } else { + // We must not restrict as much as when Ctrl/Alt-modifiers are active, otherwise + // we wouldn't let umlauts through for SDL1. For SDL1 umlauts may set for example KEYCODE_QUOTE, KEYCODE_MINUS, etc. + if (unicode > 0xFF) + unicode = 0; // do not allow any characters above 0xFF + } + } + } + + // Attention: + // When using SDL1.x, we will get scancodes via sdlKey, that are raw scancodes, so NOT adjusted to keyboard layout/ + // mapping. So for example for certain locales, we will get KEYCODE_y, when 'z' is pressed and so on. + // When using SDL2.x however, we will get scancodes based on the keyboard layout. + if (key >= Common::KEYCODE_F1 && key <= Common::KEYCODE_F9) { return key - Common::KEYCODE_F1 + Common::ASCII_F1; } else if (key >= Common::KEYCODE_KP0 && key <= Common::KEYCODE_KP9) { + if ((mod & KMOD_NUM) == 0) + return 0; // In case Num-Lock is NOT enabled, return 0 for ascii, so that directional keys on numpad work return key - Common::KEYCODE_KP0 + '0'; } else if (key >= Common::KEYCODE_UP && key <= Common::KEYCODE_PAGEDOWN) { return key; } else if (unicode) { + // Return unicode in case it's stil set and wasn't filtered. return unicode; } else if (key >= 'a' && key <= 'z' && (mod & KMOD_SHIFT)) { return key & ~0x20; diff --git a/backends/graphics/opengl/opengl-graphics.cpp b/backends/graphics/opengl/opengl-graphics.cpp index a0882347b5..7b41699e80 100644 --- a/backends/graphics/opengl/opengl-graphics.cpp +++ b/backends/graphics/opengl/opengl-graphics.cpp @@ -377,7 +377,6 @@ void OpenGLGraphicsManager::updateScreen() { #ifdef USE_OSD { - Common::StackLock lock(_osdMutex); if (_osdMessageChangeRequest) { osdMessageUpdateSurface(); } @@ -741,11 +740,6 @@ void OpenGLGraphicsManager::setCursorPalette(const byte *colors, uint start, uin void OpenGLGraphicsManager::displayMessageOnOSD(const char *msg) { #ifdef USE_OSD - // HACK: Actually no client code should use graphics functions from - // another thread. But the MT-32 emulator and network synchronization still do, - // thus we need to make sure this doesn't happen while a updateScreen call is done. - Common::StackLock lock(_osdMutex); - _osdMessageChangeRequest = true; _osdMessageNextData = msg; diff --git a/backends/graphics/opengl/opengl-graphics.h b/backends/graphics/opengl/opengl-graphics.h index 01672f4f5c..d3f8d792ba 100644 --- a/backends/graphics/opengl/opengl-graphics.h +++ b/backends/graphics/opengl/opengl-graphics.h @@ -596,14 +596,6 @@ private: kOSDIconTopMargin = 10, kOSDIconRightMargin = 10 }; - - /** - * Mutex for the OSD draw calls. - * - * Mutex to allow displayMessageOnOSD and displayActivityIconOnOSD - * to be used from the audio and network threads. - */ - Common::Mutex _osdMutex; #endif }; diff --git a/backends/platform/androidsdl/androidsdl-sdl.cpp b/backends/platform/androidsdl/androidsdl-sdl.cpp index 3d0429e098..d04512475a 100644 --- a/backends/platform/androidsdl/androidsdl-sdl.cpp +++ b/backends/platform/androidsdl/androidsdl-sdl.cpp @@ -20,6 +20,8 @@ * */ +#define FORBIDDEN_SYMBOL_EXCEPTION_getenv(a) + #include "common/config-manager.h" #include "backends/platform/androidsdl/androidsdl-sdl.h" @@ -36,7 +38,7 @@ void OSystem_ANDROIDSDL::initBackend() { _graphicsManager = new AndroidSdlGraphicsManager(_eventSource, _window); if (!ConfMan.hasKey("browser_lastpath")) - ConfMan.set("browser_lastpath", "/storage"); + ConfMan.set("browser_lastpath", getenv("SDCARD")); if (!ConfMan.hasKey("gfx_mode")) ConfMan.set("gfx_mode", "2x"); diff --git a/base/commandLine.cpp b/base/commandLine.cpp index 558c147b96..2d7b9f2d9f 100644 --- a/base/commandLine.cpp +++ b/base/commandLine.cpp @@ -68,6 +68,9 @@ static const char HELP_STRING[] = " -z, --list-games Display list of supported games and exit\n" " -t, --list-targets Display list of configured targets and exit\n" " --list-saves=TARGET Display a list of saved games for the game (TARGET) specified\n" + " --auto-detect Display a list of games from current or specified directory\n" + " and start the first one. Use --path=PATH before --auto-detect\n" + " to specify a directory.\n" #if defined(WIN32) && !defined(_WIN32_WCE) && !defined(__SYMBIAN32__) " --console Enable the console window (default:enabled)\n" #endif @@ -402,6 +405,9 @@ Common::String parseCommandLine(Common::StringMap &settings, int argc, const cha DO_COMMAND('z', "list-games") END_COMMAND + DO_LONG_COMMAND("auto-detect") + END_COMMAND + #ifdef DETECTOR_TESTING_HACK // HACK FIXME TODO: This command is intentionally *not* documented! DO_LONG_COMMAND("test-detector") @@ -771,6 +777,34 @@ static void listAudioDevices() { } } +/** Display all games in the given directory, or current directory if empty */ +static bool autoDetect(Common::String path) { + if (path.empty()) + path = "."; + //Current directory + Common::FSNode dir(path); + + Common::FSList files; + + //Collect all files from directory + dir.getChildren(files, Common::FSNode::kListAll); + + GameList candidates(EngineMan.detectGames(files)); + if (candidates.empty()) { + printf("ScummVM could not find any game in %s\n", path.c_str()); + return false; + } + + // Print all the candidate found + printf("ID Description\n"); + printf("-------------------- ---------------------------------------------------------\n"); + for (GameList::iterator v = candidates.begin(); v != candidates.end(); ++v) { + printf("%-20s %s\n", v->gameid().c_str(), v->description().c_str()); + } + // Set the active domain to the first one to start it. + ConfMan.setActiveDomain(candidates.begin()->gameid()); + return true; +} #ifdef DETECTOR_TESTING_HACK static void runDetectorTest() { @@ -997,6 +1031,10 @@ bool processSettings(Common::String &command, Common::StringMap &settings, Commo } else if (command == "help") { printf(HELP_STRING, s_appName); return true; + } else if (command == "auto-detect") { + // If auto-detects succeed, we want to return false so that the game is started + return !autoDetect(settings["path"]); + //return true; } #ifdef DETECTOR_TESTING_HACK else if (command == "test-detector") { diff --git a/base/main.cpp b/base/main.cpp index 42f5910b3b..c52888a827 100644 --- a/base/main.cpp +++ b/base/main.cpp @@ -51,6 +51,7 @@ #include "common/textconsole.h" #include "common/tokenizer.h" #include "common/translation.h" +#include "common/osd_message_queue.h" #include "gui/gui-manager.h" #include "gui/error.h" @@ -477,6 +478,8 @@ extern "C" int scummvm_main(int argc, const char * const argv[]) { g_eventRec.RegisterEventSource(); #endif + Common::OSDMessageQueue::instance().registerEventSource(); + // Now as the event manager is created, setup the keymapper setupKeymapper(system); @@ -615,6 +618,7 @@ extern "C" int scummvm_main(int argc, const char * const argv[]) { GUI::GuiManager::destroy(); Common::ConfigManager::destroy(); Common::DebugManager::destroy(); + Common::OSDMessageQueue::destroy(); #ifdef ENABLE_EVENTRECORDER GUI::EventRecorder::destroy(); #endif diff --git a/common/json.cpp b/common/json.cpp index f7a54d23b2..792d1967e9 100644 --- a/common/json.cpp +++ b/common/json.cpp @@ -980,7 +980,7 @@ String JSONValue::stringifyImpl(size_t const indentDepth) const { ret_string = "null"; else { char str[80]; - sprintf(str, "%lg", _numberValue); + sprintf(str, "%g", _numberValue); ret_string = str; } break; diff --git a/common/module.mk b/common/module.mk index 54aa16f557..6742fef3e8 100644 --- a/common/module.mk +++ b/common/module.mk @@ -23,6 +23,7 @@ MODULE_OBJS := \ memorypool.o \ md5.o \ mutex.o \ + osd_message_queue.o \ platform.o \ quicktime.o \ random.o \ diff --git a/common/osd_message_queue.cpp b/common/osd_message_queue.cpp new file mode 100644 index 0000000000..b8abf18bb5 --- /dev/null +++ b/common/osd_message_queue.cpp @@ -0,0 +1,62 @@ +/* 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. + * + */ + +#include "common/osd_message_queue.h" +#include "common/system.h" + +namespace Common { + +DECLARE_SINGLETON(OSDMessageQueue); + +OSDMessageQueue::OSDMessageQueue() : _lastUpdate(0) { +} + +OSDMessageQueue::~OSDMessageQueue() { + g_system->getEventManager()->getEventDispatcher()->unregisterSource(this); +} + +void OSDMessageQueue::registerEventSource() { + g_system->getEventManager()->getEventDispatcher()->registerSource(this, false); +} + +void OSDMessageQueue::addMessage(const char *msg) { + _mutex.lock(); + _messages.push(msg); + _mutex.unlock(); +} + +bool OSDMessageQueue::pollEvent(Common::Event &event) { + _mutex.lock(); + if (!_messages.empty()) { + uint t = g_system->getMillis(); + if (t - _lastUpdate >= kMinimumDelay) { + _lastUpdate = t; + String msg = _messages.pop(); + g_system->displayMessageOnOSD(msg.c_str()); + } + } + _mutex.unlock(); + + return false; +} + +} // End of namespace Common diff --git a/common/osd_message_queue.h b/common/osd_message_queue.h new file mode 100644 index 0000000000..7aa7cf4792 --- /dev/null +++ b/common/osd_message_queue.h @@ -0,0 +1,72 @@ +/* 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. + * + */ + +#ifndef COMMON_OSD_MESSAGE_QUEUE_H +#define COMMON_OSD_MESSAGE_QUEUE_H + +#include "common/events.h" +#include "common/singleton.h" +#include "common/str.h" +#include "common/queue.h" +#include "common/mutex.h" + +namespace Common { + +/** + * Queue OSD messages from any thread to be displayed by the graphic thread. + */ +class OSDMessageQueue : public Singleton<OSDMessageQueue>, public EventSource { +public: + OSDMessageQueue(); + ~OSDMessageQueue(); + + void registerEventSource(); + + enum { + kMinimumDelay = 1000 /** < Minimum delay between two OSD messages (in milliseconds) */ + }; + + /** + * Add a message to the OSD message queue. + */ + void addMessage(const char *msg); + + /** + * Common::EventSource interface + * + * The OSDMessageQueue registers itself as an event source even if it does not + * actually produce events as a mean to be polled periodically by the GUI or + * engine code. + * + * The periodical polling is used to update the OSD messages. + */ + virtual bool pollEvent(Common::Event &event) override; + +private: + Mutex _mutex; + Queue<String> _messages; + uint32 _lastUpdate; +}; + +} // End of namespace Common + +#endif diff --git a/common/stream.cpp b/common/stream.cpp index a8446a9086..08774312fd 100644 --- a/common/stream.cpp +++ b/common/stream.cpp @@ -247,6 +247,19 @@ uint32 SafeSeekableSubReadStream::read(void *dataPtr, uint32 dataSize) { return SeekableSubReadStream::read(dataPtr, dataSize); } +void SeekableReadStream::hexdump(int len, int bytesPerLine, int startOffset) { + uint pos_ = pos(); + uint size_ = size(); + uint toRead = MIN<uint>(len + startOffset, size_ - pos_); + byte *data = (byte *)calloc(toRead, 1); + + read(data, toRead); + Common::hexdump(data, toRead, bytesPerLine, startOffset); + + free(data); + + seek(pos_); +} #pragma mark - diff --git a/common/stream.h b/common/stream.h index e0ffc47d7f..30107720dc 100644 --- a/common/stream.h +++ b/common/stream.h @@ -514,6 +514,15 @@ public: * err() or eos() to determine whether an exception occurred. */ virtual String readLine(); + + /** + * Print a hexdump of the stream while maintaing position. The number + * of bytes per line is customizable. + * @param len the length of that data + * @param bytesPerLine number of bytes to print per line (default: 16) + * @param startOffset shift the shown offsets by the starting offset (default: 0) + */ + void hexdump(int len, int bytesPerLine = 16, int startOffset = 0); }; /** @@ -1420,6 +1420,11 @@ androidsdl-x86) _host_cpu=i686 _host_alias=i686-linux-android ;; +androidsdl-x86_64) + _host_os=androidsdl + _host_cpu=x86_64 + _host_alias=x86_64-linux-android + ;; arm-riscos) _host_os=riscos _host_cpu=arm diff --git a/devtools/create_titanic/create_titanic_dat.cpp b/devtools/create_titanic/create_titanic_dat.cpp index fc9222467f..b788733002 100644 --- a/devtools/create_titanic/create_titanic_dat.cpp +++ b/devtools/create_titanic/create_titanic_dat.cpp @@ -416,7 +416,7 @@ static const BedheadEntry OFF_RESTING_D_WRONG[1] = { { "Any", "Any", "Any", "ClosedWrong", 59, 70 } }; -static const char *const STRINGS_EN[] = { +static const char *const STRINGS_EN[108] = { "", "You are standing outside the Pellerator.", "I'm sorry, you cannot enter this pellerator at present as a bot is in the way.", @@ -478,11 +478,62 @@ static const char *const STRINGS_EN[] = { "Go where?", "It would be nice if you could take that but you can't.", "A bowl of pistachio nuts.", - "Not a bowl of pistachio nuts." + "Not a bowl of pistachio nuts.", + + "Sadly, it is not possible to summon the DoorBot from this location.", + "Sadly, it is not possible to summon the BellBot from this location.", + "There is no one here to talk to", + "Talking to ", + "the DoorBot", + "the DeskBot", + "a LiftBot", + "the Parrot", + "the BarBot", + "a ChatterBot", + "the BellBot", + "the Maitre d'Bot", + "a Succ-U-Bus", + "Unknown", + "The arm is already holding something.", + "You can't get this.", + "That doesn't seem to do anything.", + "It doesn't seem to want this.", + "This does not reach.", + "The chicken is already clean.", + "Succ-U-Bus auxiliary hose attachment incompatible with sliding glass cover.", + "This item is incorrectly calibrated.", + "Only First Class passengers are allowed to use the Gondoliers.", + "There is currently nothing available for your viewing pleasure on this channel.", + "Television control", + "Operate visual entertainment device", + "Operate the lights", + "Deploy floral enhancement", + "Deploy fully recumbent relaxation device", + "Deploy comfort workstation", + "Deploy minor horizontally mobile storage compartment", + "Deploy major semi-recumbent relaxation device", + "Inflate fully recumbent relaxation device ", + "Deploy personal maintenance hub", + "Deploy executive horizontal worksurface", + "Deploy minor semi-recumbent relaxation device", + "Deploy aqueous cleansing receptacle", + "Deploy major horizontally mobile storage compartment", + "Succ-U-Bus delivery system control", + "Navigation controller", + "Summon Elevator", + "Summon Pellerator", + "Go to the Bottom of the Well", + "Go to the Top of the Well", + "Go to your stateroom", + "Go to the Bar", + "Go to the Promenade Deck", + "Go to the Arboretum", + "Go to the Music Room", + "Go to the First Class Restaurant" }; -static const char *const STRINGS_DE[] = { - // TODO: Translate these to their German versions +static const char *const STRINGS_DE[152] = { + // TODO: Still many strings to translate to German "", "Sie befinden sich vor dem Pellerator.", "Wir bedauern, Zutritt zu diesem Pellerator ist nicht m\0xF6" @@ -561,6 +612,57 @@ static const char *const STRINGS_DE[] = { "Eine Schale Pistazien.", "Keine Schale Pistazien.", + "Sadly, it is not possible to summon the DoorBot from this location.", + "Sadly, it is not possible to summon the BellBot from this location.", + "There is no one here to talk to", + "Talking to ", + "the DoorBot", + "the DeskBot", + "a LiftBot", + "the Parrot", + "the BarBot", + "a ChatterBot", + "the BellBot", + "the Maitre d'Bot", + "a Succ-U-Bus", + "Unknown" + "The arm is already holding something.", + "You can't get this.", + "That doesn't seem to do anything.", + "It doesn't seem to want this.", + "This does not reach.", + "The chicken is already clean.", + "Succ-U-Bus auxiliary hose attachment incompatible with sliding glass cover.", + "This item is incorrectly calibrated.", + "Only First Class passengers are allowed to use the Gondoliers.", + "There is currently nothing available for your viewing pleasure on this channel.", + "Television control", + "Operate visual entertainment device", + "Operate the lights", + "Deploy floral enhancement", + "Deploy fully recumbent relaxation device", + "Deploy comfort workstation", + "Deploy minor horizontally mobile storage compartment", + "Deploy major semi-recumbent relaxation device", + "Inflate fully recumbent relaxation device ", + "Deploy personal maintenance hub", + "Deploy executive horizontal worksurface", + "Deploy minor semi-recumbent relaxation device", + "Deploy aqueous cleansing receptacle", + "Deploy major horizontally mobile storage compartment", + "Succ-U-Bus delivery system control", + "Navigation controller", + "Summon Elevator", + "Summon Pellerator", + "Go to the Bottom of the Well", + "Go to the Top of the Well", + "Go to your stateroom", + "Go to the Bar", + "Go to the Promenade Deck", + "Go to the Arboretum", + "Go to the Music Room", + "Go to the First Class Restaurant" + "Sommer", "Herbst", "Winter", @@ -779,12 +881,16 @@ void writeNumbers() { } void writeString(uint offset) { - inputFile.seek(offset - FILE_DIFF[_version]); - char c; - do { - c = inputFile.readByte(); - outputFile.writeByte(c); - } while (c); + if (offset == 0) { + outputFile.writeByte(0); + } else { + inputFile.seek(offset - FILE_DIFF[_version]); + char c; + do { + c = inputFile.readByte(); + outputFile.writeByte(c); + } while (c); + } } void writeResponseTree() { @@ -818,7 +924,7 @@ void writeResponseTree() { void writeSentenceEntries(const char *name, uint tableOffset) { outputFile.seek(dataOffset); - uint v1, v2, v9, v11, v12, v13; + uint v1, category, v4, v9, v11, v12, v13; uint offset3, offset5, offset6, offset7, offset8, offset10; for (uint idx = 0; ; ++idx) { @@ -829,9 +935,9 @@ void writeSentenceEntries(const char *name, uint tableOffset) { break; // Read data fields - v2 = inputFile.readLong(); + category = inputFile.readLong(); offset3 = inputFile.readLong(); - /* v4 = */inputFile.readLong(); + v4 = inputFile.readLong(); offset5 = inputFile.readLong(); offset6 = inputFile.readLong(); offset7 = inputFile.readLong(); @@ -843,9 +949,9 @@ void writeSentenceEntries(const char *name, uint tableOffset) { v13 = inputFile.readLong(); outputFile.writeLong(v1); - outputFile.writeLong(v2); + outputFile.writeLong(category); writeString(offset3); - outputFile.writeLong(v1); + outputFile.writeLong(v4); writeString(offset5); writeString(offset6); writeString(offset7); @@ -1085,8 +1191,8 @@ void writeData() { writeStringArray("TEXT/ITEM_NAMES", ITEM_NAMES, 46); writeStringArray("TEXT/ITEM_IDS", ITEM_IDS, 40); writeStringArray("TEXT/ROOM_NAMES", ROOM_NAMES, 34); - writeStringArray("TEXT/STRINGS", STRINGS_EN, 58); - writeStringArray("TEXT/STRINGS/DE", STRINGS_DE, 104); + writeStringArray("TEXT/STRINGS", STRINGS_EN, 108); + writeStringArray("TEXT/STRINGS/DE", STRINGS_DE, 152); const int TEXT_PHRASES[3] = { 0x61D3C8, 0x618340, 0x61B1E0 }; const int TEXT_REPLACEMENTS1[3] = { 0x61D9B0, 0x61C788, 0x61B7C8 }; const int TEXT_REPLACEMENTS2[3] = { 0x61DD20, 0x61CAF8, 0x61BB38 }; diff --git a/devtools/create_translations/po_parser.cpp b/devtools/create_translations/po_parser.cpp index ecc3ba540c..f1ad833932 100644 --- a/devtools/create_translations/po_parser.cpp +++ b/devtools/create_translations/po_parser.cpp @@ -108,7 +108,7 @@ const char *PoMessageList::operator[](int index) const { } PoMessageEntryList::PoMessageEntryList(const char *lang) : - _lang(NULL), _charset(NULL), _langName(NULL), + _lang(NULL), _charset(NULL), _langName(NULL), _langNameAlt(NULL), _list(NULL), _size(0), _allocated(0) { _lang = new char[1 + strlen(lang)]; @@ -117,14 +117,15 @@ PoMessageEntryList::PoMessageEntryList(const char *lang) : _charset = new char[1]; _charset[0] = '\0'; // Set default langName to lang - _langName = new char[1 + strlen(lang)]; - strcpy(_langName, lang); + _langNameAlt = new char[1 + strlen(lang)]; + strcpy(_langNameAlt, lang); } PoMessageEntryList::~PoMessageEntryList() { delete[] _lang; delete[] _charset; delete[] _langName; + delete[] _langNameAlt; for (int i = 0; i < _size; ++i) delete _list[i]; delete[] _list; @@ -134,11 +135,16 @@ void PoMessageEntryList::addMessageEntry(const char *translation, const char *me if (*message == '\0') { // This is the header. // We get the charset and the language name from the translation string - char *str = parseLine(translation, "Language:"); + char *str = parseLine(translation, "X-Language-name:"); if (str != NULL) { delete[] _langName; _langName = str; } + str = parseLine(translation, "Language:"); + if (str != NULL) { + delete[] _langNameAlt; + _langNameAlt = str; + } str = parseLine(translation, "charset="); if (str != NULL) { delete[] _charset; @@ -236,7 +242,7 @@ const char *PoMessageEntryList::language() const { } const char *PoMessageEntryList::languageName() const { - return _langName; + return _langName ? _langName : _langNameAlt; } const char *PoMessageEntryList::charset() const { diff --git a/devtools/create_translations/po_parser.h b/devtools/create_translations/po_parser.h index a3b1c9a9d7..0c30517017 100644 --- a/devtools/create_translations/po_parser.h +++ b/devtools/create_translations/po_parser.h @@ -96,6 +96,7 @@ private: char *_lang; char *_charset; char *_langName; + char *_langNameAlt; PoMessageEntry **_list; int _size; diff --git a/dists/androidsdl/scummvm/AndroidAppSettings.cfg b/dists/androidsdl/scummvm/AndroidAppSettings.cfg index a4db29093f..1c044fef3e 100644 --- a/dists/androidsdl/scummvm/AndroidAppSettings.cfg +++ b/dists/androidsdl/scummvm/AndroidAppSettings.cfg @@ -125,7 +125,7 @@ NonBlockingSwapBuffers=n # SEARCH and CALL by default return same keycode as DPAD_CENTER - one of those keys is available on most devices # Use word NO_REMAP if you want to preserve native functionality for certain key (volume keys are 3-rd and 4-th) # Keys: TOUCHSCREEN (works only when AppUsesMouse=n), DPAD_CENTER/SEARCH, VOLUMEUP, VOLUMEDOWN, MENU, BACK, CAMERA -RedefinedKeys="SPACE RETURN NO_REMAP NO_REMAP ESCAPE LCTRL F7 F4 F2 MOUSE_LEFT" +RedefinedKeys="SPACE RETURN NO_REMAP NO_REMAP ESCAPE F13 F7 F4 F2 MOUSE_LEFT" # Number of virtual keyboard keys (currently 6 is maximum) AppTouchscreenKeyboardKeysAmount=0 @@ -134,10 +134,10 @@ AppTouchscreenKeyboardKeysAmount=0 AppTouchscreenKeyboardKeysAmountAutoFire=0 # Redefine on-screen keyboard keys to SDL keysyms - 6 keyboard keys + 4 multitouch gestures (zoom in/out and rotate left/right) -RedefinedKeysScreenKb="MOUSE_RIGHT F7 LCTRL" +RedefinedKeysScreenKb="MOUSE_RIGHT F7 F13" # Names for on-screen keyboard keys, such as Fire, Jump, Run etc, separated by spaces, they are used in SDL config menu -RedefinedKeysScreenKbNames="MOUSE_RIGHT F7 LCTRL" +RedefinedKeysScreenKbNames="MOUSE_RIGHT F7 F13" # On-screen keys theme # 0 = Ultimate Droid by Sean Stieber (green, with gamepad joystick) @@ -148,7 +148,7 @@ TouchscreenKeysTheme=1 # Redefine gamepad keys to SDL keysyms, button order is: # A B X Y L1 R1 L2 R2 LThumb RThumb -RedefinedKeysGamepad="MOUSE_RIGHT F7 LCTRL ESCAPE F5 SPACE RETURN MOUSE_LEFT" +RedefinedKeysGamepad="MOUSE_RIGHT F7 F13 ESCAPE F5 SPACE RETURN MOUSE_LEFT" # How long to show startup menu button, in msec, 0 to disable startup menu StartupMenuButtonTimeout=3000 @@ -165,7 +165,7 @@ FirstStartMenuOptions='' # Enable multi-ABI binary, with hardware FPU support - it will also work on old devices, # but .apk size is 2x bigger (y) / (n) / (x86) / (all) -MultiABI="armeabi" +MultiABI="armeabi armeabi-v7a arm64-v8a x86 x86_64 mips" # Minimum amount of RAM application requires, in Mb, SDL will print warning to user if it's lower AppMinimumRAM=256 diff --git a/dists/androidsdl/scummvm/AndroidAppSettings.cfg.in b/dists/androidsdl/scummvm/AndroidAppSettings.cfg.in index dea60277df..78756b0da6 100644 --- a/dists/androidsdl/scummvm/AndroidAppSettings.cfg.in +++ b/dists/androidsdl/scummvm/AndroidAppSettings.cfg.in @@ -125,7 +125,7 @@ NonBlockingSwapBuffers=n # SEARCH and CALL by default return same keycode as DPAD_CENTER - one of those keys is available on most devices # Use word NO_REMAP if you want to preserve native functionality for certain key (volume keys are 3-rd and 4-th) # Keys: TOUCHSCREEN (works only when AppUsesMouse=n), DPAD_CENTER/SEARCH, VOLUMEUP, VOLUMEDOWN, MENU, BACK, CAMERA -RedefinedKeys="SPACE RETURN NO_REMAP NO_REMAP ESCAPE LCTRL F7 F4 F2 MOUSE_LEFT" +RedefinedKeys="SPACE RETURN NO_REMAP NO_REMAP ESCAPE F13 F7 F4 F2 MOUSE_LEFT" # Number of virtual keyboard keys (currently 6 is maximum) AppTouchscreenKeyboardKeysAmount=0 @@ -134,10 +134,10 @@ AppTouchscreenKeyboardKeysAmount=0 AppTouchscreenKeyboardKeysAmountAutoFire=0 # Redefine on-screen keyboard keys to SDL keysyms - 6 keyboard keys + 4 multitouch gestures (zoom in/out and rotate left/right) -RedefinedKeysScreenKb="MOUSE_RIGHT F7 LCTRL" +RedefinedKeysScreenKb="MOUSE_RIGHT F7 F13" # Names for on-screen keyboard keys, such as Fire, Jump, Run etc, separated by spaces, they are used in SDL config menu -RedefinedKeysScreenKbNames="MOUSE_RIGHT F7 LCTRL" +RedefinedKeysScreenKbNames="MOUSE_RIGHT F7 F13" # On-screen keys theme # 0 = Ultimate Droid by Sean Stieber (green, with gamepad joystick) @@ -148,7 +148,7 @@ TouchscreenKeysTheme=1 # Redefine gamepad keys to SDL keysyms, button order is: # A B X Y L1 R1 L2 R2 LThumb RThumb -RedefinedKeysGamepad="MOUSE_RIGHT F7 LCTRL ESCAPE F5 SPACE RETURN MOUSE_LEFT" +RedefinedKeysGamepad="MOUSE_RIGHT F7 F13 ESCAPE F5 SPACE RETURN MOUSE_LEFT" # How long to show startup menu button, in msec, 0 to disable startup menu StartupMenuButtonTimeout=3000 @@ -165,7 +165,7 @@ FirstStartMenuOptions='' # Enable multi-ABI binary, with hardware FPU support - it will also work on old devices, # but .apk size is 2x bigger (y) / (n) / (x86) / (all) -MultiABI="armeabi" +MultiABI="armeabi armeabi-v7a arm64-v8a x86 x86_64 mips" # Minimum amount of RAM application requires, in Mb, SDL will print warning to user if it's lower AppMinimumRAM=256 diff --git a/dists/androidsdl/scummvm/AndroidBuild.sh b/dists/androidsdl/scummvm/AndroidBuild.sh index b5dc538b9e..beeb7a3845 100644..100755 --- a/dists/androidsdl/scummvm/AndroidBuild.sh +++ b/dists/androidsdl/scummvm/AndroidBuild.sh @@ -7,9 +7,12 @@ LOCAL_PATH=`cd $LOCAL_PATH && pwd` ln -sf libflac.a $LOCAL_PATH/../../../obj/local/$1/libFLAC.a ln -sf libvorbis.a $LOCAL_PATH/../../../obj/local/$1/libvorbisfile.a ln -sf libtheora.so $LOCAL_PATH/../../../obj/local/$1/libtheoradec.so +ln -sf libsdl_net.so $LOCAL_PATH/../../../obj/local/$1/libSDL_net.so ln -sf libglshim.a $LOCAL_PATH/../../../obj/local/$1/libGL.a -if [ \! -f scummvm/config.mk ] ; then - ../setEnvironment-$1.sh sh -c "cd scummvm && env LIBS='-lflac -lvorbis -logg -lmad -lz -lgcc -ltheora -lpng -lfreetype -lfaad -lgnustl_static' ./configure --host=androidsdl-$1 --enable-zlib --enable-vorbis --enable-mad --enable-flac --enable-png --enable-theoradec --enable-vkeybd --enable-release --enable-mt32emu --disable-readline --disable-nasm --disable-timidity --disable-fluidsynth --datadir=. " +mkdir -p scummvm/bin-$1 + +if [ \! -f scummvm/bin-$1/config.mk ] ; then + ../setEnvironment-$1.sh sh -c "cd scummvm/bin-$1 && env LIBS='-lflac -lvorbis -logg -lmad -lz -lgcc -ltheora -lpng -lfreetype -lfaad -lgnustl_static' ../configure --host=androidsdl-$1 --enable-zlib --enable-vorbis --enable-mad --enable-flac --enable-png --enable-theoradec --disable-sdlnet --disable-libcurl --enable-vkeybd --enable-release --enable-mt32emu --disable-readline --disable-nasm --disable-timidity --disable-fluidsynth --datadir=. " fi -../setEnvironment-$1.sh make -C scummvm -j2 && cp -f scummvm/scummvm libapplication-$1.so +../setEnvironment-$1.sh make -C scummvm/bin-$1 && cp -f scummvm/bin-$1/scummvm libapplication-$1.so diff --git a/dists/androidsdl/scummvm/DataBuild.sh b/dists/androidsdl/scummvm/DataBuild.sh index f38c82f8b1..c8e8c84788 100755 --- a/dists/androidsdl/scummvm/DataBuild.sh +++ b/dists/androidsdl/scummvm/DataBuild.sh @@ -3,7 +3,7 @@ LOCAL_PATH=`dirname $0` LOCAL_PATH=`cd $LOCAL_PATH && pwd` -rm AndroidData/* +rm AndroidData/scummvm* make -C scummvm androidsdl cp -f scummvm/scummvm*.z* AndroidData rm scummvm/scummvm*.z*
\ No newline at end of file diff --git a/doc/de/LIESMICH b/doc/de/LIESMICH index 92c7e4d625..df36208d7b 100644 --- a/doc/de/LIESMICH +++ b/doc/de/LIESMICH @@ -1394,6 +1394,10 @@ gestartet werden -- siehe nƤchster Abschnitt. -t, --list-targets Zeigt Liste konfigurierter Ziele und beendet. --list-saves=ZIEL Zeigt Liste von SpielstƤnden für das festgelegte Spiel (ZIEL) + --auto-detect Zeigt eine Liste unterstützter Spiele im aktuellen + oder in einem anderen gewƤhlten Verzeichnis an. + Verwenden Sie --path=PFAD vor --auto-detect, um + ein Verzeichnis zu wƤhlen. --console Aktiviert das Konsolenfenster (standardmƤĆig aktiviert) (nur Windows) diff --git a/doc/de/NEUES b/doc/de/NEUES index 3ba46be524..5260bdfaa6 100644 --- a/doc/de/NEUES +++ b/doc/de/NEUES @@ -3,10 +3,31 @@ Programmcodes finden Sie auf Englisch unter: https://github.com/scummvm/scummvm/commits/ 1.10.0 (DD.MM.YYYY) + Allgemein: + - Kommandozeilen-Option hinzugefügt, mit der das aktuelle oder ein gewƤhltes + Verzeichnis nach unterstützten Spielen durchsucht werden kann. + - Viele Optionen der BenutzeroberflƤche kƶnnen nun übernommen werden, ohne + den Optionen-Dialog zu schlieĆen. + - Sprache der BenutzeroberflƤche kann ohne Programmneustart geƤndert werden. + + AGOS: + - Einstellung für die Untertitel-Geschwindigkeit in der hebrƤischen Version von + "Simon the Sorcerer 1" korrigiert. + + Composer: + - Unterstützung für das Speichern und Laden von SpielstƤnden aus dem Hauptmenü heraus hinzugefügt. 1.9.1 (DD.MM.YYYY) Allgemein: - Option für bilineare Filterung im SDL2-Vollbildmodus hinzugefügt. + - Fehler behoben, der einen Absturz im Optionen-Dialog der BenutzeroberflƤche verursacht. + + Kyra: + - Pufferüberlauf in "Lands of Lore" behoben. + + MADS: + - Fehler behoben, der einen Absturz verursacht, wenn "Rex Nebular and the Cosmic Gender Bender" + gestartet wird. 1.9.0 (17.10.2016) Neue Spiele: diff --git a/engines/adl/adl.cpp b/engines/adl/adl.cpp index 62f07ad639..63b0937354 100644 --- a/engines/adl/adl.cpp +++ b/engines/adl/adl.cpp @@ -58,6 +58,7 @@ AdlEngine::AdlEngine(OSystem *syst, const AdlGameDescription *gd) : _graphics(nullptr), _isRestarting(false), _isRestoring(false), + _isQuitting(false), _skipOneCommand(false), _gameDescription(gd), _saveVerb(0), @@ -553,7 +554,7 @@ Common::Error AdlEngine::run() { _display->setMode(DISPLAY_MODE_MIXED); - while (1) { + while (!_isQuitting) { uint verb = 0, noun = 0; _isRestarting = false; @@ -1101,7 +1102,13 @@ int AdlEngine::o1_quit(ScriptEnv &e) { OP_DEBUG_0("\tQUIT_GAME()"); printMessage(_messageIds.thanksForPlaying); - quitGame(); + // Wait for a key here to ensure that the user gets a chance + // to read the thank-you message + _display->printAsciiString("PRESS ANY KEY TO QUIT"); + inputKey(); + + // We use _isRestarting to abort the current game loop iteration + _isQuitting = _isRestarting = true; return -1; } diff --git a/engines/adl/adl.h b/engines/adl/adl.h index 971336ef50..fc696f074f 100644 --- a/engines/adl/adl.h +++ b/engines/adl/adl.h @@ -359,7 +359,7 @@ protected: // Game state State _state; - bool _isRestarting, _isRestoring; + bool _isRestarting, _isRestoring, _isQuitting; bool _skipOneCommand; private: diff --git a/engines/adl/adl_v2.cpp b/engines/adl/adl_v2.cpp index 979d794146..45810d64ca 100644 --- a/engines/adl/adl_v2.cpp +++ b/engines/adl/adl_v2.cpp @@ -182,8 +182,8 @@ Common::String AdlEngine_v2::loadMessage(uint idx) const { void AdlEngine_v2::printString(const Common::String &str) { Common::String s(str); - byte endPos = TEXT_WIDTH - 1; - byte pos = 0; + uint endPos = TEXT_WIDTH - 1; + uint pos = 0; while (true) { while (pos <= endPos && pos != s.size()) { diff --git a/engines/bladerunner/actor_clues.cpp b/engines/bladerunner/actor_clues.cpp index a84d54906b..f9a4389b71 100644 --- a/engines/bladerunner/actor_clues.cpp +++ b/engines/bladerunner/actor_clues.cpp @@ -67,9 +67,7 @@ ActorClues::ActorClues(BladeRunnerEngine *vm, int cluesType) { } ActorClues::~ActorClues() { - if (_clues) { - delete[] _clues; - } + delete[] _clues; _maxCount = 0; _count = 0; @@ -78,7 +76,7 @@ ActorClues::~ActorClues() { void ActorClues::acquire(int clueId, char flag2, int fromActorId) { int clueIndex = findClueIndex(clueId); _clues[clueIndex]._flags |= 0x01; - _clues[_count]._flags = (_clues[_count]._flags & ~0x02) | ((flag2 << 1) & 0x02); + _clues[clueIndex]._flags = (_clues[clueIndex]._flags & ~0x02) | ((flag2 << 1) & 0x02); _clues[clueIndex]._fromActorId = fromActorId; debug("Actor acquired clue: \"%s\" from %d", _vm->_crimesDatabase->getClueText(clueId), fromActorId); diff --git a/engines/bladerunner/bladerunner.cpp b/engines/bladerunner/bladerunner.cpp index 33110c07de..e60fe77d26 100644 --- a/engines/bladerunner/bladerunner.cpp +++ b/engines/bladerunner/bladerunner.cpp @@ -457,6 +457,8 @@ void BladeRunnerEngine::shutdown() { // TODO: Delete sine and cosine lookup tables // TODO: Unload AI dll + delete _aiScripts; + _aiScripts = nullptr; delete[] _gameVars; _gameVars = nullptr; @@ -481,7 +483,12 @@ void BladeRunnerEngine::shutdown() { // TODO: Delete datetime - not used - // TODO: Delete actors + int actorCount = (int)_gameInfo->getActorCount(); + for (int i = 0; i != actorCount; ++i) { + delete _actors[i]; + _actors[i] = nullptr; + } + _playerActor = nullptr; // TODO: Delete proper ZBuf class delete[] _zBuffer1; diff --git a/engines/bladerunner/light.cpp b/engines/bladerunner/light.cpp index 08eb8ab5be..8be8d0112b 100644 --- a/engines/bladerunner/light.cpp +++ b/engines/bladerunner/light.cpp @@ -27,9 +27,13 @@ namespace BladeRunner { Light::Light() { + _animationData = nullptr; } Light::~Light() { + if (_animationData != nullptr) { + delete[] _animationData; + } } void Light::read(Common::ReadStream *stream, int framesCount, int frame, int animated) { @@ -43,6 +47,9 @@ void Light::read(Common::ReadStream *stream, int framesCount, int frame, int ani _animatedParameters = stream->readUint32LE(); + if (_animationData != nullptr) { + delete[] _animationData; + } int floatsCount = size / 4; _animationData = new float[floatsCount]; for (int i = 0; i < floatsCount; i++) { @@ -80,6 +87,10 @@ void Light::readVqa(Common::ReadStream *stream, int framesCount, int frame, int int size = stream->readUint32LE(); + if(_animationData != nullptr) { + delete[] _animationData; + } + int floatsCount = size / 4; _animationData = new float[floatsCount]; for (int i = 0; i < floatsCount; i++) { diff --git a/engines/bladerunner/scene.cpp b/engines/bladerunner/scene.cpp index a629b4263b..c29a6345cc 100644 --- a/engines/bladerunner/scene.cpp +++ b/engines/bladerunner/scene.cpp @@ -29,6 +29,7 @@ #include "bladerunner/chapters.h" #include "bladerunner/gameinfo.h" #include "bladerunner/items.h" +#include "bladerunner/settings.h" #include "bladerunner/scene_objects.h" #include "bladerunner/script/script.h" #include "bladerunner/slice_renderer.h" @@ -56,8 +57,8 @@ bool Scene::open(int setId, int sceneId, bool isLoadingGame) { // TODO: Clear regions // TODO: Destroy all overlays _defaultLoop = 0; - _defaultLoopSet = 0; - _field_20_loop_stuff = 0; + _defaultLoopSet = false; + _specialLoopAtEnd = false; _specialLoopMode = -1; _specialLoop = -1; _frame = -1; @@ -76,9 +77,6 @@ bool Scene::open(int setId, int sceneId, bool isLoadingGame) { _vqaPlayer = new VQAPlayer(_vm); - if (!_vqaPlayer->open(vqaName)) - return false; - Common::String sceneName = _vm->_gameInfo->getSceneName(sceneId); if (!_vm->_script->open(sceneName)) return false; @@ -99,8 +97,15 @@ bool Scene::open(int setId, int sceneId, bool isLoadingGame) { return true; } - // TODO: set VQADecoder parameters - //_vm->_scene->advanceFrame(0, 0); + if (!_vqaPlayer->open(vqaName)) + return false; + + if (_specialLoop == -1) { + _vqaPlayer->setLoop(_defaultLoop, -1, 2, nullptr, nullptr); + _defaultLoopSet = true; + _specialLoopAtEnd = false; + } + _vm->_scene->advanceFrame(_vm->_surface1, _vm->_zBuffer1); _vm->_playerActor->setAtXYZ(_actorStartPosition, _actorStartFacing); //_vm->_playerActor->setSetId(setId); @@ -148,6 +153,7 @@ bool Scene::close(bool isLoadingGame) { if (isLoadingGame) { _vm->_script->PlayerWalkedOut(); } + // if (SceneScript_isLoaded() && !SceneScript_unload()) { // result = false; // } @@ -171,18 +177,26 @@ int Scene::advanceFrame(Graphics::Surface &surface, uint16 *&zBuffer) { _vqaPlayer->updateLights(_vm->_lights); } - if (frame < 0) { - return frame; + if (_specialLoopMode && _specialLoopMode != 2 && _specialLoopMode != 3) { + if (_specialLoopMode == 1) { + if (frame == -3) { // TODO: when will this happen? bad data in/eof of vqa + _vm->_settings->setNewSetAndScene(_nextSetId, _nextSceneId); + _vm->playerGainsControl(); + } + } else if (!_specialLoopAtEnd) { + _vqaPlayer->setLoop(_defaultLoop + 1, -1, 0, &Scene::loopEndedStatic, this); + _specialLoopAtEnd = true; + } + } else if (!this->_defaultLoopSet) { + _vqaPlayer->setLoop(_defaultLoop, -1, 1, &Scene::loopEndedStatic, this); + _defaultLoopSet = true; + if (_specialLoopMode == 0) { + _vm->playerLosesControl(); + } } - _frame = frame; - if (_specialLoopMode == 0 && frame == _vqaPlayer->getLoopEndFrame(_specialLoop)) { - _playerWalkedIn = true; - _specialLoopMode = -1; - } - if (_specialLoopMode == 0 && !_defaultLoopSet) { - _vqaPlayer->setLoop(_defaultLoop + 1); - _defaultLoopSet = true; + if (frame >= 0) { + _frame = frame; } return frame; @@ -193,25 +207,32 @@ void Scene::setActorStart(Vector3 position, int facing) { _actorStartFacing = facing; } -void Scene::loopSetDefault(int a) { - // warning("\t\t\tScene::loopSetDefault(%d)", a); - _defaultLoop = a; +void Scene::loopSetDefault(int loopId) { + _defaultLoop = loopId; } -void Scene::loopStartSpecial(int a, int b, int c) { - // warning("\t\t\tScene::loopStartSpecial(%d, %d, %d)", a, b, c); - _specialLoopMode = a; - _specialLoop = b; +void Scene::loopStartSpecial(int specialLoopMode, int loopId, int flags) { + _specialLoopMode = specialLoopMode; + _specialLoop = loopId; - if (_specialLoop == 1) { - // a1->on_loop_end_switch_to_set_id = sub_42BE08_options_get_set_enter_arg_1(&unk_48E910_options); - // a1->on_loop_end_switch_to_scene_id = sub_42BE00_options_get_set_enter_arg_2(&unk_48E910_options); + int unknown = -1; + if (_specialLoopMode == 1) { + unknown = 0; } - if (c) { - // _field_20_loop_stuff = 1; - // v6 = a1->_field_28_loop_special_loop_number; - // sub_453434_scene_method_loop(a1); + int loopMode = 1; + if (flags) { + loopMode = 2; + } + + _vqaPlayer->setLoop(_specialLoop, unknown, loopMode, &Scene::loopEndedStatic, this); + if (_specialLoopMode == 1) { + this->_nextSetId = _vm->_settings->getNewSet(); + this->_nextSceneId = _vm->_settings->getNewScene(); + } + if (flags) { + this->_specialLoopAtEnd = true; + loopEnded(0, _specialLoop); } } @@ -265,4 +286,37 @@ const char *Scene::objectGetName(int objectId) { return _set->objectGetName(objectId); } +void Scene::loopEnded(int frame, int loopId) { + if (_specialLoopMode && _specialLoopMode != 2 && _specialLoopMode != 3) { + if (_specialLoopMode == 1) { + _defaultLoopSet = true; + _specialLoopAtEnd = false; + _vm->playerLosesControl(); + } + } else if (_specialLoopAtEnd) { + _vqaPlayer->setLoop(_defaultLoop, -1, 1, &Scene::loopEndedStatic, this); + _defaultLoopSet = true; + _specialLoopAtEnd = false; + if (_specialLoopMode == 0) { + _vm->playerLosesControl(); + } + } else { + if (_specialLoopMode == 0) { + _vm->playerGainsControl(); + _playerWalkedIn = true; + } + if (_specialLoopMode == 3) { + //TODO: + //spinner::open(Spinner); + } + _specialLoopMode = -1; + _specialLoop = -1; + _vqaPlayer->setLoop(_defaultLoop + 1, -1, 0, nullptr, nullptr); + _specialLoopAtEnd = true; + } +} + +void Scene::loopEndedStatic(void *data, int frame, int loopId) { + ((Scene*)data)->loopEnded(frame, loopId); +} } // End of namespace BladeRunner diff --git a/engines/bladerunner/scene.h b/engines/bladerunner/scene.h index 6a34fcd249..5bc25fc6fc 100644 --- a/engines/bladerunner/scene.h +++ b/engines/bladerunner/scene.h @@ -44,10 +44,10 @@ public: VQAPlayer *_vqaPlayer; int _defaultLoop; - int _defaultLoopSet; - int _field_20_loop_stuff; + bool _defaultLoopSet; int _specialLoopMode; int _specialLoop; + bool _specialLoopAtEnd; int _introFinished; int _nextSetId; int _nextSceneId; @@ -83,9 +83,7 @@ public: delete _set; delete _regions; delete _exits; - if (_vqaPlayer != nullptr) { - delete _vqaPlayer; - } + delete _vqaPlayer; } bool open(int setId, int sceneId, bool isLoadingGame); @@ -109,6 +107,10 @@ public: void objectSetIsObstacleAll(bool isObstacle, bool sceneLoaded); void objectSetIsTarget(int objectId, bool isTarget, bool sceneLoaded); const char *objectGetName(int objectId); + +private: + void loopEnded(int frame, int loopId); + static void loopEndedStatic(void* data, int frame, int loopId); }; } // End of namespace BladeRunner diff --git a/engines/bladerunner/scene_objects.cpp b/engines/bladerunner/scene_objects.cpp index 6d10edd83f..c55097358d 100644 --- a/engines/bladerunner/scene_objects.cpp +++ b/engines/bladerunner/scene_objects.cpp @@ -65,6 +65,7 @@ void SceneObjects::clear() { _sceneObjects[i]._isMoving = 0; _sceneObjects[i]._isRetired = 0; } + _count = 0; } bool SceneObjects::addActor(int sceneObjectId, BoundingBox *boundingBox, Common::Rect *screenRectangle, uint8 isClickable, uint8 isMoving, uint8 isTarget, uint8 isRetired) { @@ -207,7 +208,7 @@ bool SceneObjects::addSceneObject(int sceneObjectId, SceneObjectType sceneObject break; } } - for (int j = _count - 1; j >= i; --j) { + for (int j = _count - 2; j >= i; --j) { _sceneObjectsSortedByDistance[j + 1] = _sceneObjectsSortedByDistance[j]; } diff --git a/engines/bladerunner/script/script.cpp b/engines/bladerunner/script/script.cpp index b0bb638440..45b23120d5 100644 --- a/engines/bladerunner/script/script.cpp +++ b/engines/bladerunner/script/script.cpp @@ -55,14 +55,12 @@ namespace BladeRunner { bool Script::open(const Common::String &name) { delete _currentScript; - if (name == "RC01") { _currentScript = new ScriptRC01(_vm); return true; } if (name == "RC02") { _currentScript = new ScriptRC02(_vm); return true; } if (name == "RC03") { _currentScript = new ScriptRC03(_vm); return true; } if (name == "RC04") { _currentScript = new ScriptRC04(_vm); return true; } if (name == "RC51") { _currentScript = new ScriptRC51(_vm); return true; } - return false; } @@ -916,18 +914,18 @@ void ScriptBase::Overlay_Remove(const char *overlay) { warning("Overlay_Remove(%s)", overlay); } -void ScriptBase::Scene_Loop_Set_Default(int a) { - // debug("Scene_Loop_Set_Default(%d)", a); - - _vm->_scene->loopSetDefault(a); - // _vm->_scene->_defaultLoop = a; +void ScriptBase::Scene_Loop_Set_Default(int loopId) { + _vm->_scene->loopSetDefault(loopId); } -void ScriptBase::Scene_Loop_Start_Special(int a, int b, int c) { - // debug("Scene_Loop_Start_Special(%d, %d, %d)", a, b, c); - - _vm->_scene->loopStartSpecial(a, b, c); - // _vm->_scene->_field_24_loop_start_special_param_1 = a; +void ScriptBase::Scene_Loop_Start_Special(int sceneLoopMode, int loopId, int c) { + if (sceneLoopMode == 1) { + c = 1; + } + _vm->_scene->loopStartSpecial(sceneLoopMode, loopId, c); + if (sceneLoopMode == 1) { + _vm->_settings->clearNewSetAndScene(); + } } void ScriptBase::Outtake_Play(int id, int noLocalization, int container) { @@ -1427,12 +1425,19 @@ void ScriptBase::VK_Play_Speech_Line(int actorIndex, int a2, float a3) { AIScripts::AIScripts(BladeRunnerEngine *vm) : _vm(vm), _inScriptCounter(0) { for (int i = 0; i != 100; ++i) - _AIScripts[i] = 0; + _AIScripts[i] = nullptr; _AIScripts[0] = new AIScript_McCoy(_vm); _AIScripts[23] = new AIScript_Officer_Leroy(_vm); } +AIScripts::~AIScripts() { + for (int i = 0; i != 100; ++i) { + delete _AIScripts[i]; + _AIScripts[i] = nullptr; + } +} + void AIScripts::Initialize(int actor) { if (_AIScripts[actor]) _AIScripts[actor]->Initialize(); diff --git a/engines/bladerunner/set_effects.cpp b/engines/bladerunner/set_effects.cpp index 54894e2a1c..c4038f6726 100644 --- a/engines/bladerunner/set_effects.cpp +++ b/engines/bladerunner/set_effects.cpp @@ -38,7 +38,7 @@ SetEffects::SetEffects(BladeRunnerEngine *vm) { _fadeDensity = 0.0f; _fogsCount = 0; - _fogs = NULL; + _fogs = nullptr; } SetEffects::~SetEffects() { @@ -55,7 +55,7 @@ void SetEffects::read(Common::ReadStream *stream, int framesCount) { int i; for (i = 0; i < _fogsCount; i++) { int type = stream->readUint32LE(); - Fog *fog = NULL; + Fog *fog = nullptr; switch (type) { case 0: fog = new FogCone(); diff --git a/engines/bladerunner/vqa_decoder.cpp b/engines/bladerunner/vqa_decoder.cpp index 940f53ee25..fe94012c51 100644 --- a/engines/bladerunner/vqa_decoder.cpp +++ b/engines/bladerunner/vqa_decoder.cpp @@ -34,8 +34,6 @@ #include "common/util.h" #include "common/memstream.h" - - namespace BladeRunner { #define kAESC 0x41455343 @@ -488,7 +486,7 @@ bool VQADecoder::readLNIN(Common::SeekableReadStream *s, uint32 size) { if (chd.id != kLNIO || chd.size != 4u * loopNamesCount) return false; - uint32 *loopNameOffsets = (uint32*)alloca(loopNamesCount * sizeof(uint32)); + uint32 *loopNameOffsets = (uint32*)malloc(loopNamesCount * sizeof(uint32)); for (int i = 0; i != loopNamesCount; ++i) { loopNameOffsets[i] = s->readUint32LE(); } @@ -497,7 +495,7 @@ bool VQADecoder::readLNIN(Common::SeekableReadStream *s, uint32 size) { if (chd.id != kLNID) return false; - char *names = (char*)alloca(roundup(chd.size)); + char *names = (char*)malloc(roundup(chd.size)); s->read(names, roundup(chd.size)); for (int i = 0; i != loopNamesCount; ++i) { @@ -509,6 +507,8 @@ bool VQADecoder::readLNIN(Common::SeekableReadStream *s, uint32 size) { // debug("%2d: %s", i, _loopInfo.loops[i].name.c_str()); } + free(loopNameOffsets); + free(names); return true; } diff --git a/engines/bladerunner/vqa_player.cpp b/engines/bladerunner/vqa_player.cpp index f875b84cce..4fb19cf561 100644 --- a/engines/bladerunner/vqa_player.cpp +++ b/engines/bladerunner/vqa_player.cpp @@ -121,7 +121,7 @@ void VQAPlayer::updateLights(Lights *lights) { _decoder.decodeLights(lights); } -bool VQAPlayer::setLoop(int loop) { +bool VQAPlayer::setLoop(int loop, int unknown, int loopMode, void(*callback)(void*, int, int), void *callbackData) { int begin, end; if (!_decoder.getLoopBeginAndEndFrame(loop, &begin, &end)) { return false; @@ -131,6 +131,9 @@ bool VQAPlayer::setLoop(int loop) { _loopBegin = begin; _loopEnd = end; + _callbackLoopEnded = callback; + _callbackData = callbackData; + // warning("\t\t\tActive Loop: %d - %d\n", begin, end); return true; @@ -158,6 +161,9 @@ int VQAPlayer::calcNextFrame(int frame) const { if (_curLoop != -1 && frame >= _loopEnd) { frame = _loopBegin; + if (_callbackLoopEnded != nullptr) { + _callbackLoopEnded(_callbackData, 0, _curLoop); + } } else { frame++; } diff --git a/engines/bladerunner/vqa_player.h b/engines/bladerunner/vqa_player.h index f5769944cf..3a821a8323 100644 --- a/engines/bladerunner/vqa_player.h +++ b/engines/bladerunner/vqa_player.h @@ -55,6 +55,9 @@ class VQAPlayer { bool _audioStarted; Audio::SoundHandle _soundHandle; + void (*_callbackLoopEnded)(void*, int frame, int loopId); + void *_callbackData; + public: VQAPlayer(BladeRunnerEngine *vm) @@ -69,7 +72,8 @@ public: _loopEnd(-1), _nextFrameTime(0), _hasAudio(false), - _audioStarted(false) { + _audioStarted(false), + _callbackLoopEnded(nullptr) { } ~VQAPlayer() { @@ -85,9 +89,7 @@ public: void updateView(View *view); void updateLights(Lights *lights); - bool setLoop(int loop); - // void setLoopSpecial(int loop, bool wait); - // void setLoopDefault(int loop); + bool setLoop(int loop, int unknown, int loopMode, void(*callback)(void*, int, int), void* callbackData); int getLoopBeginFrame(int loop); int getLoopEndFrame(int loop); diff --git a/engines/chewy/detection.cpp b/engines/chewy/detection.cpp index a59355f166..f6f66efba0 100644 --- a/engines/chewy/detection.cpp +++ b/engines/chewy/detection.cpp @@ -73,8 +73,9 @@ static const ChewyGameDescription gameDescriptions[] = { { // Chewy - ESC von F5 - German + // Master version 1.1 (CHEWY.EXE - offset 0x8AB28) // The source CD-ROM has the Matrix code SONOPRESS R-7885 B - // Most likely a newer re-release, it contains several demos and files from 1996 + // The disc contains several demos and files from 1996 // Provided by rootfather { "chewy", @@ -89,6 +90,7 @@ static const ChewyGameDescription gameDescriptions[] = { { // Chewy - ESC von F5 - German + // Master version 1.0 (CHEWY.EXE - offset 0x8AB10) // The source CD-ROM has the Matrix code SONOPRESS M-2742 A // CD-ROM has the label "CHEWY_V1_0" // Provided by rootfather diff --git a/engines/composer/composer.cpp b/engines/composer/composer.cpp index 73d97e100d..13ba76191b 100644 --- a/engines/composer/composer.cpp +++ b/engines/composer/composer.cpp @@ -21,6 +21,7 @@ */ #include "common/scummsys.h" +#include "common/config-manager.h" #include "common/events.h" #include "common/random.h" #include "common/keyboard.h" @@ -120,6 +121,9 @@ Common::Error ComposerEngine::run() { else warning("FPS in book.ini is zero. Defaulting to 8..."); uint32 lastDrawTime = 0; + _lastSaveTime = _system->getMillis(); + + bool loadFromLauncher = ConfMan.hasKey("save_slot"); while (!shouldQuit()) { for (uint i = 0; i < _pendingPageChanges.size(); i++) { @@ -169,7 +173,12 @@ Common::Error ComposerEngine::run() { } else if (_needsUpdate) { redraw(); } - + if (loadFromLauncher) { + loadGameState(ConfMan.getInt("save_slot")); + loadFromLauncher = false; + } + if (shouldPerformAutoSave(_lastSaveTime)) + saveGameState(0, "Autosave"); while (_eventMan->pollEvent(event)) { switch (event.type) { case Common::EVENT_LBUTTONDOWN: @@ -378,7 +387,7 @@ void ComposerEngine::loadLibrary(uint id) { } Common::String filename; - + Common::String oldGroup = _bookGroup; if (getGameType() == GType_ComposerV1) { if (!id || _bookGroup.empty()) filename = getStringFromConfig("Common", "StartPage"); @@ -412,6 +421,7 @@ void ComposerEngine::loadLibrary(uint id) { Library library; library._id = id; + library._group = oldGroup; library._archive = new ComposerArchive(); if (!library._archive->openFile(filename)) error("failed to open '%s'", filename.c_str()); diff --git a/engines/composer/composer.h b/engines/composer/composer.h index d1a85e975a..a4b421bfa0 100644 --- a/engines/composer/composer.h +++ b/engines/composer/composer.h @@ -29,6 +29,7 @@ #include "common/debug.h" #include "common/debug-channels.h" #include "common/error.h" +#include "common/serializer.h" #include "common/textconsole.h" #include "common/rect.h" @@ -114,6 +115,7 @@ struct Library { uint _id; Archive *_archive; + Common::String _group; Common::List<Button> _buttons; Common::List<KeyboardHandler> _keyboardHandlers; }; @@ -150,6 +152,19 @@ class ComposerEngine : public Engine { protected: Common::Error run(); + template <typename T> + void syncArray(Common::Serializer &ser, Common::Array<T> &data, Common::Serializer::Version minVersion = 0, Common::Serializer::Version maxVersion = Common::Serializer::kLastVersion); + template <typename T> + void syncList(Common::Serializer &ser, Common::List<T> &data, Common::Serializer::Version minVersion = 0, Common::Serializer::Version maxVersion = Common::Serializer::kLastVersion); + template <typename T> + void syncListReverse(Common::Serializer &ser, Common::List<T> &data, Common::Serializer::Version minVersion = 0, Common::Serializer::Version maxVersion = Common::Serializer::kLastVersion); + template <typename T> + void sync(Common::Serializer &ser, T &data, Common::Serializer::Version minVersion, Common::Serializer::Version maxVersion); + bool canLoadGameStateCurrently() { return true; } + Common::Error loadGameState(int slot); + bool canSaveGameStateCurrently() { return true; } + Common::Error saveGameState(int slot, const Common::String &desc); + public: ComposerEngine(OSystem *syst, const ComposerGameDescription *gameDesc); virtual ~ComposerEngine(); @@ -173,7 +188,7 @@ private: Audio::QueuingAudioStream *_audioStream; uint16 _currSoundPriority; - uint32 _currentTime, _lastTime; + uint32 _currentTime, _lastTime, _timeDelta, _lastSaveTime; bool _needsUpdate; Common::Array<Common::Rect> _dirtyRects; @@ -210,6 +225,7 @@ private: uint16 _mouseSpriteId; Common::Point _mouseOffset; + Common::String makeSaveGameName(int slot); Common::String getStringFromConfig(const Common::String §ion, const Common::String &key); Common::String getFilename(const Common::String §ion, uint id); Common::String mangleFilename(Common::String filename); @@ -231,6 +247,7 @@ private: void tickOldScripts(); bool tickOldScript(OldScript *script); + void loadAnimation(Animation *&anim, uint16 animId, int16 x, int16 y, int16 eventParam, int32 size = 0); void playAnimation(uint16 animId, int16 param1, int16 param2, int16 param3); void stopAnimation(Animation *anim, bool localOnly = false, bool pipesOnly = false); void playWaveForAnim(uint16 id, uint16 priority, bool bufferingOnly); diff --git a/engines/composer/detection.cpp b/engines/composer/detection.cpp index 689a72a743..8de3b33134 100644 --- a/engines/composer/detection.cpp +++ b/engines/composer/detection.cpp @@ -21,6 +21,9 @@ */ #include "base/plugins.h" +#include "common/savefile.h" +#include "common/serializer.h" +#include "common/str-array.h" #include "engines/advancedDetector.h" #include "composer/composer.h" @@ -448,6 +451,8 @@ public: virtual bool createInstance(OSystem *syst, Engine **engine, const ADGameDescription *desc) const; virtual bool hasFeature(MetaEngineFeature f) const; + virtual int getMaximumSaveSlot() const; + virtual SaveStateList listSaves(const char* target) const; }; bool ComposerMetaEngine::createInstance(OSystem *syst, Engine **engine, const ADGameDescription *desc) const { @@ -459,11 +464,52 @@ bool ComposerMetaEngine::createInstance(OSystem *syst, Engine **engine, const AD } bool ComposerMetaEngine::hasFeature(MetaEngineFeature f) const { - return false; + return ((f == kSupportsListSaves) || (f == kSupportsLoadingDuringStartup)); +} + +Common::String getSaveName(Common::InSaveFile *in) { + Common::Serializer ser(in, NULL); + Common::String name; + uint32 tmp; + ser.syncAsUint32LE(tmp); + ser.syncAsUint32LE(tmp); + ser.syncString(name); + return name; +} +int ComposerMetaEngine::getMaximumSaveSlot() const { + return 99; +} +SaveStateList ComposerMetaEngine::listSaves(const char *target) const { + Common::SaveFileManager *saveFileMan = g_system->getSavefileManager(); + Common::StringArray filenames; + Common::String saveDesc; + Common::String pattern = Common::String::format("%s.??", target); + + filenames = saveFileMan->listSavefiles(pattern); + sort(filenames.begin(), filenames.end()); // Sort (hopefully ensuring we are sorted numerically..) + + SaveStateList saveList; + for (Common::StringArray::const_iterator file = filenames.begin(); file != filenames.end(); ++file) { + // Obtain the last 3 digits of the filename, since they correspond to the save slot + int slotNum = atoi(file->c_str() + file->size() - 2); + + if (slotNum >= 0 && slotNum <= 99) { + Common::InSaveFile *in = saveFileMan->openForLoading(*file); + if (in) { + saveDesc = getSaveName(in); + saveList.push_back(SaveStateDescriptor(slotNum, saveDesc)); + delete in; + } + } + } + + return saveList; } bool Composer::ComposerEngine::hasFeature(EngineFeature f) const { - return (f == kSupportsRTL); + return (f == kSupportsRTL + || f == kSupportsSavingDuringRuntime + || f == kSupportsLoadingDuringRuntime); } #if PLUGIN_ENABLED_DYNAMIC(COMPOSER) diff --git a/engines/composer/graphics.cpp b/engines/composer/graphics.cpp index 87694636d8..32b9812f32 100644 --- a/engines/composer/graphics.cpp +++ b/engines/composer/graphics.cpp @@ -44,9 +44,9 @@ bool Sprite::contains(const Common::Point &pos) const { } enum { - kAnimOpEvent = 1, - kAnimOpPlayWave = 2, - kAnimOpPlayAnim = 3, + kAnimOpEvent = 1, + kAnimOpPlayWave = 2, + kAnimOpPlayAnim = 3, kAnimOpDrawSprite = 4 }; @@ -57,6 +57,7 @@ Animation::Animation(Common::SeekableReadStream *stream, uint16 id, Common::Poin // probably total size? uint32 unknown = _stream->readUint32LE(); + _size = unknown; debug(8, "anim: size %d, state %08x, unknown %08x", size, _state, unknown); @@ -82,17 +83,7 @@ void Animation::seekToCurrPos() { _stream->seek(_offset, SEEK_SET); } -void ComposerEngine::playAnimation(uint16 animId, int16 x, int16 y, int16 eventParam) { - // First, we check if this animation is already playing, - // and if it is, we sabotage that running one first. - for (Common::List<Animation *>::iterator i = _anims.begin(); i != _anims.end(); i++) { - Animation *anim = *i; - if (anim->_id != animId) - continue; - - stopAnimation(*i); - } - +void ComposerEngine::loadAnimation(Animation *&anim, uint16 animId, int16 x, int16 y, int16 eventParam, int32 size) { Common::SeekableReadStream *stream = NULL; Pipe *newPipe = NULL; @@ -102,7 +93,10 @@ void ComposerEngine::playAnimation(uint16 animId, int16 x, int16 y, int16 eventP if (!pipe->hasResource(ID_ANIM, animId)) continue; stream = pipe->getResource(ID_ANIM, animId, false); - break; + + // When loading from savegame, make sure we have the correct stream + if ((!size) || (stream->size() >= size)) break; + stream = NULL; } // If we didn't find it, try the libraries. @@ -111,33 +105,50 @@ void ComposerEngine::playAnimation(uint16 animId, int16 x, int16 y, int16 eventP warning("ignoring attempt to play invalid anim %d", animId); return; } - stream = getResource(ID_ANIM, animId); + Common::List<Library>::iterator j; + for (j = _libraries.begin(); j != _libraries.end(); j++) { + stream = j->_archive->getResource(ID_ANIM, animId); - uint32 type = 0; - for (Common::List<Library>::iterator i = _libraries.begin(); i != _libraries.end(); i++) - if (i->_archive->hasResource(ID_ANIM, animId)) { - type = i->_archive->getResourceFlags(ID_ANIM, animId); - break; - } + // When loading from savegame, make sure we have the correct stream + if ((!size) || (stream->size() >= size)) break; + stream = NULL; + } + + uint32 type = j->_archive->getResourceFlags(ID_ANIM, animId); // If the resource is a pipe itself, then load the pipe // and then fish the requested animation out of it. if (type != 1) { _pipeStreams.push_back(stream); - newPipe = new Pipe(stream); + newPipe = new Pipe(stream, animId); _pipes.push_front(newPipe); newPipe->nextFrame(); stream = newPipe->getResource(ID_ANIM, animId, false); } } - Animation *anim = new Animation(stream, animId, Common::Point(x, y), eventParam); - _anims.push_back(anim); - runEvent(kEventAnimStarted, animId, eventParam, 0); + anim = new Animation(stream, animId, Common::Point(x, y), eventParam); if (newPipe) newPipe->_anim = anim; } +void ComposerEngine::playAnimation(uint16 animId, int16 x, int16 y, int16 eventParam) { + // First, we check if this animation is already playing, + // and if it is, we sabotage that running one first. + for (Common::List<Animation *>::iterator i = _anims.begin(); i != _anims.end(); i++) { + Animation *anim = *i; + if (anim->_id != animId) + continue; + + stopAnimation(*i); + } + + Animation *anim = NULL; + loadAnimation(anim, animId, x, y, eventParam); + _anims.push_back(anim); + runEvent(kEventAnimStarted, animId, eventParam, 0); +} + void ComposerEngine::stopAnimation(Animation *anim, bool localOnly, bool pipesOnly) { // disable the animation anim->_state = 0; @@ -376,7 +387,7 @@ void ComposerEngine::playPipe(uint16 id) { } Common::SeekableReadStream *stream = getResource(ID_PIPE, id); - OldPipe *pipe = new OldPipe(stream); + OldPipe *pipe = new OldPipe(stream, id); _pipes.push_front(pipe); //pipe->nextFrame(); diff --git a/engines/composer/graphics.h b/engines/composer/graphics.h index a8f37ddf60..4805e5017d 100644 --- a/engines/composer/graphics.h +++ b/engines/composer/graphics.h @@ -59,6 +59,7 @@ struct Animation { uint32 _eventParam; uint32 _state; + uint32 _size; Common::Array<AnimationEntry> _entries; diff --git a/engines/composer/module.mk b/engines/composer/module.mk index c879d53630..74465cf156 100644 --- a/engines/composer/module.mk +++ b/engines/composer/module.mk @@ -6,6 +6,7 @@ MODULE_OBJS = \ detection.o \ graphics.o \ resource.o \ + saveload.o \ scripting.o # This module can be built as a plugin diff --git a/engines/composer/resource.cpp b/engines/composer/resource.cpp index d867f734a9..fa1811c05a 100644 --- a/engines/composer/resource.cpp +++ b/engines/composer/resource.cpp @@ -248,10 +248,11 @@ bool ComposerArchive::openStream(Common::SeekableReadStream *stream) { return true; } -Pipe::Pipe(Common::SeekableReadStream *stream) { +Pipe::Pipe(Common::SeekableReadStream *stream, uint16 id) { _offset = 0; _stream = stream; _anim = NULL; + _pipeId = id; } Pipe::~Pipe() { @@ -312,8 +313,14 @@ Common::SeekableReadStream *Pipe::getResource(uint32 tag, uint16 id, bool buffer if (res.entries.size() == 1) { Common::SeekableReadStream *stream = new Common::SeekableSubReadStream(_stream, res.entries[0].offset, res.entries[0].offset + res.entries[0].size); - if (buffering) + if (buffering) { _types[tag].erase(id); + bool found = false; + for (Common::List<uint16>::const_iterator i = _bufferedResources[tag].begin(); !found && (i != _bufferedResources[tag].end()); i++) + if ((*i) == id) found = true; + if (!found) + _bufferedResources[tag].push_back(id); + } return stream; } @@ -330,12 +337,18 @@ Common::SeekableReadStream *Pipe::getResource(uint32 tag, uint16 id, bool buffer _stream->read(buffer + offset, res.entries[i].size); offset += res.entries[i].size; } - if (buffering) + if (buffering) { _types[tag].erase(id); + bool found = false; + for (Common::List<uint16>::const_iterator i = _bufferedResources[tag].begin(); !found && (i != _bufferedResources[tag].end()); i++) + if ((*i) == id) found = true; + if (!found) + _bufferedResources[tag].push_back(id); + } return new Common::MemoryReadStream(buffer, size, DisposeAfterUse::YES); } -OldPipe::OldPipe(Common::SeekableReadStream *stream) : Pipe(stream), _currFrame(0) { +OldPipe::OldPipe(Common::SeekableReadStream *stream, uint16 pipeId) : Pipe(stream, pipeId), _currFrame(0) { uint32 tag = _stream->readUint32BE(); if (tag != ID_PIPE) error("invalid tag for pipe (%08x)", tag); diff --git a/engines/composer/resource.h b/engines/composer/resource.h index b624da1776..fc4e20a2cd 100644 --- a/engines/composer/resource.h +++ b/engines/composer/resource.h @@ -106,7 +106,7 @@ struct PipeResource { class Pipe { public: - Pipe(Common::SeekableReadStream *stream); + Pipe(Common::SeekableReadStream *stream, uint16 id); virtual ~Pipe(); virtual void nextFrame(); @@ -116,6 +116,11 @@ public: Common::SeekableReadStream *getResource(uint32 tag, uint16 id, bool buffering); virtual const Common::Array<uint16> *getScripts() { return NULL; } + uint16 getPipeId() const { return _pipeId; } + virtual uint32 getOffset() const { return _offset; } + virtual void setOffset(uint32 offset) { while (_offset < offset) nextFrame(); } + typedef Common::HashMap<uint32, Common::List<uint16> > DelMap; + DelMap _bufferedResources; protected: Common::SeekableReadStream *_stream; @@ -123,16 +128,19 @@ protected: typedef Common::HashMap<uint16, PipeResource> ResourceMap; typedef Common::HashMap<uint32, ResourceMap> TypeMap; TypeMap _types; + uint16 _pipeId; uint32 _offset; }; class OldPipe : public Pipe { public: - OldPipe(Common::SeekableReadStream *stream); + OldPipe(Common::SeekableReadStream *stream, uint16 pipeId); void nextFrame(); const Common::Array<uint16> *getScripts() { return &_scripts; } + uint32 getOffset() const { return _currFrame; } + void setOffset(uint32 offset) { while (_currFrame < offset) nextFrame(); } protected: uint32 _currFrame, _numFrames; diff --git a/engines/composer/saveload.cpp b/engines/composer/saveload.cpp new file mode 100644 index 0000000000..ea657a9dd4 --- /dev/null +++ b/engines/composer/saveload.cpp @@ -0,0 +1,428 @@ +/* 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. + * + */ + +#include "audio/audiostream.h" +#include "audio/decoders/raw.h" +#include "common/config-manager.h" +#include "common/memstream.h" +#include "common/savefile.h" +#include "common/serializer.h" +#include "common/system.h" +#include "common/zlib.h" +#include "graphics/palette.h" + +#include "composer/composer.h" +#include "composer/graphics.h" + +namespace Composer { + +template<class T> +void ComposerEngine::syncArray(Common::Serializer &ser, Common::Array<T> &data, Common::Serializer::Version minVersion, Common::Serializer::Version maxVersion) { + if (ser.isSaving()) { + uint32 size = data.size(); + ser.syncAsUint32LE(size, minVersion, maxVersion); + for (typename Common::Array<T>::iterator i = data.begin(); i != data.end(); i++) { + sync<T>(ser, *i, minVersion, maxVersion); + } + } else { + uint32 size; + data.clear(); + ser.syncAsUint32LE(size, minVersion, maxVersion); + for (uint32 i = 0; i < size; i++) { + T item; + sync<T>(ser, item, minVersion, maxVersion); + data.push_back(item); + } + } +} +template<class T> +void ComposerEngine::syncList(Common::Serializer &ser, Common::List<T> &data, Common::Serializer::Version minVersion, Common::Serializer::Version maxVersion) { + if (ser.isSaving()) { + uint32 size = data.size(); + ser.syncAsUint32LE(size, minVersion, maxVersion); + for (typename Common::List<T>::iterator i = data.begin(); i != data.end(); i++) { + sync<T>(ser, *i, minVersion, maxVersion); + } + } else { + uint32 size; + data.clear(); + ser.syncAsUint32LE(size, minVersion, maxVersion); + for (uint32 i = 0; i < size; i++) { + T item; + sync<T>(ser, item, minVersion, maxVersion); + data.push_back(item); + } + } +} +template<class T> +void ComposerEngine::syncListReverse(Common::Serializer &ser, Common::List<T> &data, Common::Serializer::Version minVersion, Common::Serializer::Version maxVersion) { + if (ser.isSaving()) { + uint32 size = data.size(); + ser.syncAsUint32LE(size, minVersion, maxVersion); + for (typename Common::List<T>::iterator i = data.reverse_begin(); i != data.end(); i--) { + sync<T>(ser, *i, minVersion, maxVersion); + } + } else { + uint32 size; + data.clear(); + ser.syncAsUint32LE(size, minVersion, maxVersion); + for (uint32 i = 0; i < size; i++) { + T item; + sync<T>(ser, item, minVersion, maxVersion); + data.push_front(item); + } + } +} +template<> +void ComposerEngine::sync<uint16>(Common::Serializer &ser, uint16 &data, Common::Serializer::Version minVersion, Common::Serializer::Version maxVersion) { + ser.syncAsUint16LE(data, minVersion, maxVersion); +} +template<> +void ComposerEngine::sync<uint32>(Common::Serializer &ser, uint32 &data, Common::Serializer::Version minVersion, Common::Serializer::Version maxVersion) { + ser.syncAsUint32LE(data, minVersion, maxVersion); +} +template<> +void ComposerEngine::sync<Library>(Common::Serializer &ser, Library &data, Common::Serializer::Version minVersion, Common::Serializer::Version maxVersion) { + if (ser.isSaving()) { + ser.syncAsUint16LE(data._id, minVersion, maxVersion); + ser.syncString(data._group, minVersion, maxVersion); + } else { + uint16 id; + ser.syncAsUint16LE(id, minVersion, maxVersion); + ser.syncString(_bookGroup, minVersion, maxVersion); + loadLibrary(id); + } +} +template<> +void ComposerEngine::syncListReverse<Library>(Common::Serializer &ser, Common::List<Library> &data, Common::Serializer::Version minVersion, Common::Serializer::Version maxVersion) { + if (ser.isSaving()) { + uint32 size = data.size(); + ser.syncAsUint32LE(size, minVersion, maxVersion); + for (Common::List<Library>::iterator i = data.reverse_begin(); i != data.end(); i--) { + sync<Library>(ser, *i, minVersion, maxVersion); + } + } else { + uint32 size; + ser.syncAsUint32LE(size, minVersion, maxVersion); + for (uint32 i = 0; i < size; i++) { + Library item; + sync<Library>(ser, item, minVersion, maxVersion); + } + } +} +template<> +void ComposerEngine::sync<PendingPageChange>(Common::Serializer &ser, PendingPageChange &data, Common::Serializer::Version minVersion, Common::Serializer::Version maxVersion) { + ser.syncAsUint16LE(data._pageId, minVersion, maxVersion); + ser.syncAsByte(data._remove, minVersion, maxVersion); +} +template<> +void ComposerEngine::sync<OldScript *>(Common::Serializer &ser, OldScript *&data, Common::Serializer::Version minVersion, Common::Serializer::Version maxVersion) { + uint16 id; + uint32 pos, delay; + if (ser.isSaving()) { + pos = data->_stream->pos(); + id = data->_id; + delay = data->_currDelay; + } + ser.syncAsUint32LE(pos); + ser.syncAsUint16LE(id); + ser.syncAsUint32LE(delay); + if (ser.isLoading()) { + data = new OldScript(id, getResource(ID_SCRP, id)); + data->_currDelay = delay; + data->_stream->seek(pos, SEEK_SET); + } +} +template<> +void ComposerEngine::sync<QueuedScript>(Common::Serializer &ser, QueuedScript &data, Common::Serializer::Version minVersion, Common::Serializer::Version maxVersion) { + ser.syncAsUint32LE(data._baseTime); + ser.syncAsUint32LE(data._duration); + ser.syncAsUint32LE(data._count); + ser.syncAsUint16LE(data._scriptId); + if (ser.isLoading()) data._baseTime += _timeDelta; +} +template<> +void ComposerEngine::sync<Pipe *>(Common::Serializer &ser, Pipe *&data, Common::Serializer::Version minVersion, Common::Serializer::Version maxVersion) { + uint16 id; + uint32 offset, tmp; + if (ser.isSaving()) { + id = data->getPipeId(); + offset = data->getOffset(); + tmp = data->_bufferedResources.size(); + } + ser.syncAsUint16LE(id); + ser.syncAsUint32LE(offset); + + if (ser.isLoading()) { + // On load, get and initialize streams + Common::SeekableReadStream *stream; + if (getGameType() == GType_ComposerV1) { + stream = getResource(ID_PIPE, id); + data = new OldPipe(stream, id); + } else { + stream = getResource(ID_ANIM, id); + data = new Pipe(stream, id); + } + _pipeStreams.push_back(stream); + data->setOffset(offset); + ser.syncAsUint32LE(tmp); + for (uint32 j = tmp; j > 0; j--) { + uint32 tag; + ser.syncAsUint32LE(tag); + ser.syncAsUint32LE(tmp); + for (uint32 k = tmp; k > 0; k--) { + ser.syncAsUint16LE(id); + if (data->hasResource(tag, id)) + data->getResource(tag, id, true); + } + } + } else { + ser.syncAsUint32LE(tmp); + for (Pipe::DelMap::iterator i = data->_bufferedResources.begin(); i != data->_bufferedResources.end(); i++) { + uint32 key = (*i)._key; + ser.syncAsUint32LE(key); + syncList<uint16>(ser, (*i)._value, minVersion, maxVersion); + } + } +} +template<> +void ComposerEngine::sync<AnimationEntry>(Common::Serializer &ser, AnimationEntry &data, Common::Serializer::Version minVersion, Common::Serializer::Version maxVersion) { + ser.syncAsUint32LE(data.state); + ser.syncAsUint16LE(data.counter); + ser.syncAsUint16LE(data.prevValue); +} +template<> +void ComposerEngine::sync<Animation *>(Common::Serializer &ser, Animation *&data, Common::Serializer::Version minVersion, Common::Serializer::Version maxVersion) { + uint16 animId, x, y; + uint32 offset, state, param; + int32 size; + if (ser.isSaving()) { + animId = data->_id; + offset = data->_offset; + x = data->_basePos.x; + y = data->_basePos.x; + state = data->_state; + param = data->_eventParam; + size = data->_size; + } + ser.syncAsUint16LE(animId); + ser.syncAsUint32LE(offset); + ser.syncAsUint16LE(x); + ser.syncAsUint16LE(y); + ser.syncAsUint32LE(state); + ser.syncAsUint32LE(param); + ser.syncAsUint32LE(size); + if (ser.isLoading()) { + // On load, get and initialize streams + loadAnimation(data, animId, x, y, param, size); + data->_offset = offset; + data->_state = state; + uint32 tmp; + ser.syncAsUint32LE(tmp); + for (uint32 i = 0; i < tmp; i++) { + sync<AnimationEntry>(ser, data->_entries[i], minVersion, maxVersion); + } + } else { + syncArray<AnimationEntry>(ser, data->_entries, minVersion, maxVersion); + } +} +template<> +void ComposerEngine::sync<Sprite>(Common::Serializer &ser, Sprite &data, Common::Serializer::Version minVersion, Common::Serializer::Version maxVersion) { + ser.syncAsUint16LE(data._id); + ser.syncAsUint16LE(data._animId); + ser.syncAsSint16LE(data._pos.x); + ser.syncAsSint16LE(data._pos.y); + ser.syncAsUint16LE(data._surface.w); + ser.syncAsUint16LE(data._surface.h); + ser.syncAsUint16LE(data._surface.pitch); + ser.syncAsUint16LE(data._zorder); + if (ser.isLoading()) + data._surface.setPixels(malloc(data._surface.h * data._surface.pitch)); + byte *pix = static_cast<byte *>(data._surface.getPixels()); + for (uint16 y = 0; y < data._surface.h; y++) { + for (uint16 x = 0; x < data._surface.w; x++) { + ser.syncAsByte(pix[x]); + } + pix += data._surface.pitch; + } + +} +Common::String ComposerEngine::makeSaveGameName(int slot) { + return (_targetName + Common::String::format(".%02d", slot)); +} + +Common::Error ComposerEngine::loadGameState(int slot) { + Common::String filename = makeSaveGameName(slot); + Common::InSaveFile *in; + if (!(in = _saveFileMan->openForLoading(filename))) + return Common::kPathNotFile; + + Common::Serializer ser(in, NULL); + byte magic[4]; + ser.syncBytes(magic, 4); + if (magic[0] != 'C' || magic[1] != 'M' || magic[2] != 'P' || magic[3] != 'S') + return Common::kUnknownError; + + ser.syncVersion(0); + Common::String desc; + ser.syncString(desc); + uint32 tmp; + ser.syncAsUint32LE(tmp); + _rnd->setSeed(tmp); + ser.syncAsUint32LE(_currentTime); + _timeDelta = _system->getMillis() - _currentTime; + _currentTime += _timeDelta; + ser.syncAsUint32LE(_lastTime); + _lastTime += _timeDelta; + + // Unload all Libraries + Common::Array<uint16> libIds; + for (Common::List<Library>::iterator i = _libraries.begin(); i != _libraries.end(); i++) + libIds.push_back((*i)._id); + for (uint32 i = 0; i < libIds.size(); i++) + unloadLibrary(libIds[i]); + + syncListReverse<Library>(ser, _libraries); + ser.syncString(_bookGroup); + + syncArray<PendingPageChange>(ser, _pendingPageChanges); + syncArray<uint16>(ser, _stack); + syncArray<uint16>(ser, _vars); + + // Free outdated pointers + for (Common::List<OldScript *>::iterator i = _oldScripts.begin(); i != _oldScripts.end(); i++) { + delete *i; + } + + syncList<OldScript *>(ser, _oldScripts); + syncArray<QueuedScript>(ser, _queuedScripts); + + ser.syncAsSint16LE(_lastMousePos.x); + ser.syncAsSint16LE(_lastMousePos.y); + g_system->warpMouse(_lastMousePos.x, _lastMousePos.y); + ser.syncAsByte(_mouseEnabled); + ser.syncAsByte(_mouseVisible); + ser.syncAsUint16LE(_mouseSpriteId); + + // Free outdated pointers + for (Common::List<Pipe *>::iterator i = _pipes.begin(); i != _pipes.end(); i++) { + delete *i; + } + for (Common::Array<Common::SeekableReadStream *>::iterator i = _pipeStreams.begin(); i != _pipeStreams.end(); i++) { + delete *i; + } + + _pipeStreams.clear(); + syncListReverse<Pipe *>(ser, _pipes); + + // Free outdated pointers + for (Common::List<Animation *>::iterator i = _anims.begin(); i != _anims.end(); i++) { + delete *i; + } + + syncList<Animation *>(ser, _anims); + syncList<Sprite>(ser, _sprites); + + _dirtyRects.clear(); + + // Redraw the whole screen + _dirtyRects.push_back(Common::Rect(0, 0, 640, 480)); + byte palbuf[256 * 3]; + ser.syncBytes(palbuf, 256 * 3); + _system->getPaletteManager()->setPalette(palbuf, 0, 256); + _needsUpdate = true; + + _mixer->stopAll(); + _audioStream = NULL; + + // Restore the buffered audio + ser.syncAsSint16LE(_currSoundPriority); + int32 numSamples; + ser.syncAsSint32LE(numSamples); + int16 *audioBuffer = (int16 *)malloc(numSamples * 2); + for (int32 i = 0; i < numSamples; i++) + ser.syncAsSint16LE(audioBuffer[i]); + _audioStream = Audio::makeQueuingAudioStream(22050, false); + _audioStream->queueBuffer((byte *)audioBuffer, numSamples * 2, DisposeAfterUse::YES, Audio::FLAG_16BITS); + if (!_mixer->isSoundHandleActive(_soundHandle)) + _mixer->playStream(Audio::Mixer::kSFXSoundType, &_soundHandle, _audioStream); + + + // Reset autosave duration on load + _lastSaveTime = _system->getMillis(); + + return Common::kNoError; +} + +Common::Error ComposerEngine::saveGameState(int slot, const Common::String &desc) { + Common::String filename = makeSaveGameName(slot); + Common::OutSaveFile *out; + _lastSaveTime = _system->getMillis(); + if (!(out = _saveFileMan->openForSaving(filename))) + return Common::kWritingFailed; + + Common::Serializer ser(NULL, out); + byte magic[4] = {'C', 'M', 'P', 'S'}; + ser.syncBytes(magic, 4); + ser.syncVersion(0); + Common::String desctmp = desc; + ser.syncString(desctmp); + uint32 tmp = _rnd->getSeed(); + ser.syncAsUint32LE(tmp); + ser.syncAsUint32LE(_currentTime); + ser.syncAsUint32LE(_lastTime); + + syncListReverse<Library>(ser, _libraries); + ser.syncString(_bookGroup); + + syncArray<PendingPageChange>(ser, _pendingPageChanges); + syncArray<uint16>(ser, _stack); + syncArray<uint16>(ser, _vars); + syncList<OldScript *>(ser, _oldScripts); + syncArray<QueuedScript>(ser, _queuedScripts); + + ser.syncAsSint16LE(_lastMousePos.x); + ser.syncAsSint16LE(_lastMousePos.y); + ser.syncAsByte(_mouseEnabled); + ser.syncAsByte(_mouseVisible); + ser.syncAsUint16LE(_mouseSpriteId); + + syncListReverse<Pipe *>(ser, _pipes); + syncList<Animation *>(ser, _anims); + syncList<Sprite>(ser, _sprites); + + byte paletteBuffer[256 * 3]; + _system->getPaletteManager()->grabPalette(paletteBuffer, 0, 256); + ser.syncBytes(paletteBuffer, 256 * 3); + + ser.syncAsSint16LE(_currSoundPriority); + int16 audioBuffer[22050]; + int32 numSamples = _audioStream->readBuffer(audioBuffer, 22050); + if (numSamples == -1) numSamples = 0; + ser.syncAsSint32LE(numSamples); + for (int32 i = 0; i < numSamples; i++) + ser.syncAsSint16LE(audioBuffer[i]); + + out->finalize(); + return Common::kNoError; +} +} // End of namespace Composer diff --git a/engines/director/archive.cpp b/engines/director/archive.cpp index 1af63a81b7..ff97d3fce1 100644 --- a/engines/director/archive.cpp +++ b/engines/director/archive.cpp @@ -20,229 +20,455 @@ * */ -#include "common/macresman.h" - +#include "director/archive.h" #include "director/director.h" -#include "director/resource.h" -#include "director/lingo/lingo.h" + +#include "common/debug.h" +#include "common/macresman.h" namespace Director { -Archive *DirectorEngine::createArchive() { - if (getPlatform() == Common::kPlatformMacintosh) { - if (getVersion() < 4) - return new MacArchive(); - else - return new RIFXArchive(); - } else { - return new RIFFArchive(); - } +// Base Archive code + +Archive::Archive() { + _stream = 0; + _isBigEndian = true; } -void DirectorEngine::loadMainArchive() { - if (getPlatform() == Common::kPlatformWindows) - loadEXE(); - else - loadMac(); -} - -void DirectorEngine::cleanupMainArchive() { - delete _mainArchive; - delete _macBinary; -} - -void DirectorEngine::loadEXE() { - Common::SeekableReadStream *exeStream = SearchMan.createReadStreamForMember(getEXEName()); - if (!exeStream) - error("Failed to open EXE '%s'", getEXEName().c_str()); - - _lingo->processEvent(kEventStart, 0); - - exeStream->seek(-4, SEEK_END); - exeStream->seek(exeStream->readUint32LE()); - - switch (getVersion()) { - case 3: - loadEXEv3(exeStream); - break; - case 4: - loadEXEv4(exeStream); - break; - case 5: - loadEXEv5(exeStream); - break; - case 7: - loadEXEv7(exeStream); - break; - default: - error("Unhandled Windows EXE version %d", getVersion()); +Archive::~Archive() { + close(); +} + +bool Archive::openFile(const Common::String &fileName) { + Common::File *file = new Common::File(); + + if (!file->open(fileName)) { + delete file; + return false; + } + + if (!openStream(file)) { + close(); + return false; } + + _fileName = fileName; + + return true; } -void DirectorEngine::loadEXEv3(Common::SeekableReadStream *stream) { - uint16 entryCount = stream->readUint16LE(); - if (entryCount != 1) - error("Unhandled multiple entry v3 EXE"); +void Archive::close() { + _types.clear(); + + if (_stream) + delete _stream; - stream->skip(5); // unknown + _stream = 0; +} + +bool Archive::hasResource(uint32 tag, uint16 id) const { + if (!_types.contains(tag)) + return false; - stream->readUint32LE(); // Main MMM size - Common::String mmmFileName = readPascalString(*stream); - Common::String directoryName = readPascalString(*stream); + return _types[tag].contains(id); +} - debugC(1, kDebugLoading, "Main MMM: '%s'", mmmFileName.c_str()); - debugC(1, kDebugLoading, "Directory Name: '%s'", directoryName.c_str()); +bool Archive::hasResource(uint32 tag, const Common::String &resName) const { + if (!_types.contains(tag) || resName.empty()) + return false; - _mainArchive = new RIFFArchive(); + const ResourceMap &resMap = _types[tag]; - if (!_mainArchive->openFile(mmmFileName)) - error("Could not open '%s'", mmmFileName.c_str()); + for (ResourceMap::const_iterator it = resMap.begin(); it != resMap.end(); it++) + if (it->_value.name.matchString(resName)) + return true; - delete stream; + return false; } -void DirectorEngine::loadEXEv4(Common::SeekableReadStream *stream) { - if (stream->readUint32BE() != MKTAG('P', 'J', '9', '3')) - error("Invalid projector tag found in v4 EXE"); +Common::SeekableSubReadStreamEndian *Archive::getResource(uint32 tag, uint16 id) { + if (!_types.contains(tag)) + error("Archive does not contain '%s' %04x", tag2str(tag), id); + + const ResourceMap &resMap = _types[tag]; - uint32 rifxOffset = stream->readUint32LE(); - /* uint32 fontMapOffset = */ stream->readUint32LE(); - /* uint32 resourceForkOffset1 = */ stream->readUint32LE(); - /* uint32 resourceForkOffset2 = */ stream->readUint32LE(); - stream->readUint32LE(); // graphics DLL offset - stream->readUint32LE(); // sound DLL offset - /* uint32 rifxOffsetAlt = */ stream->readUint32LE(); // equivalent to rifxOffset + if (!resMap.contains(id)) + error("Archive does not contain '%s' %04x", tag2str(tag), id); - loadEXERIFX(stream, rifxOffset); + const Resource &res = resMap[id]; + + return new Common::SeekableSubReadStreamEndian(_stream, res.offset, res.offset + res.size, _isBigEndian, DisposeAfterUse::NO); } -void DirectorEngine::loadEXEv5(Common::SeekableReadStream *stream) { - if (stream->readUint32LE() != MKTAG('P', 'J', '9', '5')) - error("Invalid projector tag found in v5 EXE"); +uint32 Archive::getOffset(uint32 tag, uint16 id) const { + if (!_types.contains(tag)) + error("Archive does not contain '%s' %04x", tag2str(tag), id); + + const ResourceMap &resMap = _types[tag]; - uint32 rifxOffset = stream->readUint32LE(); - stream->readUint32LE(); // unknown - stream->readUint32LE(); // unknown - stream->readUint32LE(); // unknown - /* uint16 screenWidth = */ stream->readUint16LE(); - /* uint16 screenHeight = */ stream->readUint16LE(); - stream->readUint32LE(); // unknown - stream->readUint32LE(); // unknown - /* uint32 fontMapOffset = */ stream->readUint32LE(); + if (!resMap.contains(id)) + error("Archive does not contain '%s' %04x", tag2str(tag), id); - loadEXERIFX(stream, rifxOffset); + return resMap[id].offset; } -void DirectorEngine::loadEXEv7(Common::SeekableReadStream *stream) { - if (stream->readUint32LE() != MKTAG('P', 'J', '0', '0')) - error("Invalid projector tag found in v7 EXE"); +uint16 Archive::findResourceID(uint32 tag, const Common::String &resName) const { + if (!_types.contains(tag) || resName.empty()) + return 0xFFFF; - uint32 rifxOffset = stream->readUint32LE(); - stream->readUint32LE(); // unknown - stream->readUint32LE(); // unknown - stream->readUint32LE(); // unknown - stream->readUint32LE(); // unknown - stream->readUint32LE(); // some DLL offset + const ResourceMap &resMap = _types[tag]; - loadEXERIFX(stream, rifxOffset); + for (ResourceMap::const_iterator it = resMap.begin(); it != resMap.end(); it++) + if (it->_value.name.matchString(resName)) + return it->_key; + + return 0xFFFF; } -void DirectorEngine::loadEXERIFX(Common::SeekableReadStream *stream, uint32 offset) { - _mainArchive = new RIFXArchive(); +Common::String Archive::getName(uint32 tag, uint16 id) const { + if (!_types.contains(tag)) + error("Archive does not contain '%s' %04x", tag2str(tag), id); + + const ResourceMap &resMap = _types[tag]; - if (!_mainArchive->openStream(stream, offset)) - error("Failed to load RIFX from EXE"); + if (!resMap.contains(id)) + error("Archive does not contain '%s' %04x", tag2str(tag), id); + + return resMap[id].name; } -void DirectorEngine::loadMac() { - if (getVersion() < 4) { - // The data is part of the resource fork of the executable - _mainArchive = new MacArchive(); +Common::Array<uint32> Archive::getResourceTypeList() const { + Common::Array<uint32> typeList; - if (!_mainArchive->openFile(getEXEName())) - error("Failed to open Mac binary '%s'", getEXEName().c_str()); - } else { - // The RIFX is located in the data fork of the executable - _macBinary = new Common::MacResManager(); + for (TypeMap::const_iterator it = _types.begin(); it != _types.end(); it++) + typeList.push_back(it->_key); - if (!_macBinary->open(getEXEName()) || !_macBinary->hasDataFork()) - error("Failed to open Mac binary '%s'", getEXEName().c_str()); + return typeList; +} - Common::SeekableReadStream *dataFork = _macBinary->getDataFork(); - _mainArchive = new RIFXArchive(); +Common::Array<uint16> Archive::getResourceIDList(uint32 type) const { + Common::Array<uint16> idList; - // First we need to detect PPC vs. 68k + if (!_types.contains(type)) + return idList; - uint32 tag = dataFork->readUint32BE(); - uint32 startOffset; + const ResourceMap &resMap = _types[type]; - if (SWAP_BYTES_32(tag) == MKTAG('P', 'J', '9', '3') || tag == MKTAG('P', 'J', '9', '5') || tag == MKTAG('P', 'J', '0', '0')) { - // PPC: The RIFX shares the data fork with the binary - startOffset = dataFork->readUint32BE(); - } else { - // 68k: The RIFX is the only thing in the data fork - startOffset = 0; - } + for (ResourceMap::const_iterator it = resMap.begin(); it != resMap.end(); it++) + idList.push_back(it->_key); - if (!_mainArchive->openStream(dataFork, startOffset)) - error("Failed to load RIFX from Mac binary"); - } + return idList; } -void DirectorEngine::loadSharedCastsFrom(Common::String filename) { - Archive *shardcst = createArchive(); +uint32 Archive::convertTagToUppercase(uint32 tag) { + uint32 newTag = toupper(tag >> 24) << 24; + newTag |= toupper((tag >> 16) & 0xFF) << 16; + newTag |= toupper((tag >> 8) & 0xFF) << 8; - debugC(1, kDebugLoading, "Loading Shared cast '%s'", filename.c_str()); + return newTag | toupper(tag & 0xFF); +} - shardcst->openFile(filename); +// Mac Archive code - _sharedDIB = new Common::HashMap<int, Common::SeekableSubReadStreamEndian *>; - _sharedSTXT = new Common::HashMap<int, Common::SeekableSubReadStreamEndian *>; - _sharedSound = new Common::HashMap<int, Common::SeekableSubReadStreamEndian *>; - _sharedBMP = new Common::HashMap<int, Common::SeekableSubReadStreamEndian *>; +MacArchive::MacArchive() : Archive(), _resFork(0) { +} - Score *castScore = new Score(this, shardcst); +MacArchive::~MacArchive() { + delete _resFork; +} - castScore->loadConfig(*shardcst->getResource(MKTAG('V','W','C','F'), 1024)); - castScore->loadCastData(*shardcst->getResource(MKTAG('V','W','C','R'), 1024)); +void MacArchive::close() { + Archive::close(); + delete _resFork; + _resFork = 0; +} - _sharedCasts = &castScore->_casts; +bool MacArchive::openFile(const Common::String &fileName) { + close(); - Common::Array<uint16> dib = shardcst->getResourceIDList(MKTAG('D','I','B',' ')); - if (dib.size() != 0) { - debugC(3, kDebugLoading, "Loading %d DIBs", dib.size()); + _resFork = new Common::MacResManager(); - for (Common::Array<uint16>::iterator iterator = dib.begin(); iterator != dib.end(); ++iterator) { - debugC(3, kDebugLoading, "Shared DIB %d", *iterator); - _sharedDIB->setVal(*iterator, shardcst->getResource(MKTAG('D','I','B',' '), *iterator)); - } + if (!_resFork->open(fileName) || !_resFork->hasResFork()) { + close(); + return false; + } + + _fileName = _resFork->getBaseFileName(); + if (_fileName.hasSuffix(".bin")) { + for (int i = 0; i < 4; i++) + _fileName.deleteLastChar(); } - Common::Array<uint16> stxt = shardcst->getResourceIDList(MKTAG('S','T','X','T')); - if (stxt.size() != 0) { - debugC(3, kDebugLoading, "Loading %d STXTs", stxt.size()); + Common::MacResTagArray tagArray = _resFork->getResTagArray(); - for (Common::Array<uint16>::iterator iterator = stxt.begin(); iterator != stxt.end(); ++iterator) { - debugC(3, kDebugLoading, "Shared STXT %d", *iterator); - _sharedSTXT->setVal(*iterator, shardcst->getResource(MKTAG('S','T','X','T'), *iterator)); + for (uint32 i = 0; i < tagArray.size(); i++) { + ResourceMap &resMap = _types[tagArray[i]]; + Common::MacResIDArray idArray = _resFork->getResIDArray(tagArray[i]); + + for (uint32 j = 0; j < idArray.size(); j++) { + Resource &res = resMap[idArray[j]]; + + res.offset = res.size = 0; // unused + res.name = _resFork->getResName(tagArray[i], idArray[j]); + debug(3, "Found MacArchive resource '%s' %d: %s", tag2str(tagArray[i]), idArray[j], res.name.c_str()); } } - Common::Array<uint16> bmp = shardcst->getResourceIDList(MKTAG('B','I','T','D')); - if (bmp.size() != 0) { - debugC(3, kDebugLoading, "Loading %d BITDs", bmp.size()); - for (Common::Array<uint16>::iterator iterator = bmp.begin(); iterator != bmp.end(); ++iterator) { - _sharedBMP->setVal(*iterator, shardcst->getResource(MKTAG('B','I','T','D'), *iterator)); + return true; +} + +bool MacArchive::openStream(Common::SeekableReadStream *stream, uint32 startOffset) { + // TODO: Add support for this (v4 Windows games) + return false; +} + +Common::SeekableSubReadStreamEndian *MacArchive::getResource(uint32 tag, uint16 id) { + assert(_resFork); + Common::SeekableReadStream *stream = _resFork->getResource(tag, id); + return new Common::SeekableSubReadStreamEndian(stream, 0, stream->size(), true, DisposeAfterUse::NO); +} + +// RIFF Archive code + +bool RIFFArchive::openStream(Common::SeekableReadStream *stream, uint32 startOffset) { + close(); + + stream->seek(startOffset); + + if (convertTagToUppercase(stream->readUint32BE()) != MKTAG('R', 'I', 'F', 'F')) + return false; + + stream->readUint32LE(); // size + + if (convertTagToUppercase(stream->readUint32BE()) != MKTAG('R', 'M', 'M', 'P')) + return false; + + if (convertTagToUppercase(stream->readUint32BE()) != MKTAG('C', 'F', 'T', 'C')) + return false; + + uint32 cftcSize = stream->readUint32LE(); + uint32 startPos = stream->pos(); + stream->readUint32LE(); // unknown (always 0?) + + while ((uint32)stream->pos() < startPos + cftcSize) { + uint32 tag = convertTagToUppercase(stream->readUint32BE()); + + uint32 size = stream->readUint32LE(); + uint32 id = stream->readUint32LE(); + uint32 offset = stream->readUint32LE(); + + if (tag == 0) + break; + + uint16 startResPos = stream->pos(); + stream->seek(offset + 12); + + Common::String name = ""; + byte nameSize = stream->readByte(); + + if (nameSize) { + for (uint8 i = 0; i < nameSize; i++) { + name += stream->readByte(); + } } + + stream->seek(startResPos); + + debug(3, "Found RIFF resource '%s' %d: %d @ 0x%08x", tag2str(tag), id, size, offset); + + ResourceMap &resMap = _types[tag]; + Resource &res = resMap[id]; + res.offset = offset; + res.size = size; + res.name = name; } - Common::Array<uint16> sound = shardcst->getResourceIDList(MKTAG('S','N','D',' ')); - if (stxt.size() != 0) { - debugC(3, kDebugLoading, "Loading %d SNDs", sound.size()); - for (Common::Array<uint16>::iterator iterator = sound.begin(); iterator != sound.end(); ++iterator) { - _sharedSound->setVal(*iterator, shardcst->getResource(MKTAG('S','N','D',' '), *iterator)); + _stream = stream; + return true; +} + +Common::SeekableSubReadStreamEndian *RIFFArchive::getResource(uint32 tag, uint16 id) { + if (!_types.contains(tag)) + error("Archive does not contain '%s' %04x", tag2str(tag), id); + + const ResourceMap &resMap = _types[tag]; + + if (!resMap.contains(id)) + error("Archive does not contain '%s' %04x", tag2str(tag), id); + + const Resource &res = resMap[id]; + + // Adjust to skip the resource header + uint32 offset = res.offset + 12; + uint32 size = res.size - 4; + // Skip the Pascal string + _stream->seek(offset); + byte stringSize = _stream->readByte(); // 1 for this byte + + offset += stringSize + 1; + size -= stringSize + 1; + + // Align to nearest word boundary + if (offset & 1) { + offset++; + size--; + } + + return new Common::SeekableSubReadStreamEndian(_stream, offset, offset + size, true, DisposeAfterUse::NO); +} + +// RIFX Archive code + +bool RIFXArchive::openStream(Common::SeekableReadStream *stream, uint32 startOffset) { + close(); + + stream->seek(startOffset); + + uint32 headerTag = stream->readUint32BE(); + + if (headerTag == MKTAG('R', 'I', 'F', 'X')) + _isBigEndian = true; + else if (SWAP_BYTES_32(headerTag) == MKTAG('R', 'I', 'F', 'X')) + _isBigEndian = false; + else + return false; + + Common::SeekableSubReadStreamEndian subStream(stream, startOffset + 4, stream->size(), _isBigEndian, DisposeAfterUse::NO); + + subStream.readUint32(); // size + + uint32 rifxType = subStream.readUint32(); + + if (rifxType != MKTAG('M', 'V', '9', '3') && rifxType != MKTAG('A', 'P', 'P', 'L')) + return false; + + if (subStream.readUint32() != MKTAG('i', 'm', 'a', 'p')) + return false; + + subStream.readUint32(); // imap length + subStream.readUint32(); // unknown + uint32 mmapOffset = subStream.readUint32() - startOffset - 4; + uint32 version = subStream.readUint32(); // 0 for 4.0, 0x4c1 for 5.0, 0x4c7 for 6.0, 0x708 for 8.5, 0x742 for 10.0 + warning("RIFX: version: %x", version); + + subStream.seek(mmapOffset); + + if (subStream.readUint32() != MKTAG('m', 'm', 'a', 'p')) + return false; + + subStream.readUint32(); // mmap length + subStream.readUint16(); // unknown + subStream.readUint16(); // unknown + subStream.readUint32(); // resCount + empty entries + uint32 resCount = subStream.readUint32(); + subStream.skip(8); // all 0xFF + subStream.readUint32(); // unknown + + Common::Array<Resource> resources; + + // Need to look for these two resources + const Resource *keyRes = 0; + const Resource *casRes = 0; + + for (uint32 i = 0; i < resCount; i++) { + uint32 tag = subStream.readUint32(); + uint32 size = subStream.readUint32(); + uint32 offset = subStream.readUint32(); + uint16 flags = subStream.readUint16(); + uint16 unk1 = subStream.readUint16(); + uint32 unk2 = subStream.readUint32(); + + debug(3, "Found RIFX resource index %d: '%s', %d @ 0x%08x (%d), flags: %x unk1: %x unk2: %x", + i, tag2str(tag), size, offset, offset, flags, unk1, unk2); + + Resource res; + res.offset = offset; + res.size = size; + resources.push_back(res); + + // APPL is a special case; it has an embedded "normal" archive + if (rifxType == MKTAG('A', 'P', 'P', 'L') && tag == MKTAG('F', 'i', 'l', 'e')) + return openStream(stream, offset); + + // Looking for two types here + if (tag == MKTAG('K', 'E', 'Y', '*')) + keyRes = &resources[resources.size() - 1]; + else if (tag == MKTAG('C', 'A', 'S', '*')) + casRes = &resources[resources.size() - 1]; + } + + // We need to have found the 'File' resource already + if (rifxType == MKTAG('A', 'P', 'P', 'L')) { + warning("No 'File' resource present in APPL archive"); + return false; + } + + // A KEY* must be present + if (!keyRes) { + warning("No 'KEY*' resource present"); + return false; + } + + // Parse the CAS*, if present + if (casRes) { + Common::SeekableSubReadStreamEndian casStream(stream, casRes->offset + 8, casRes->offset + 8 + casRes->size, _isBigEndian, DisposeAfterUse::NO); + + uint casSize = casRes->size / 4; + + debugCN(2, kDebugLoading, "CAS*: %d [", casSize); + + for (uint i = 0; i < casSize; i++) { + uint32 index = casStream.readUint32(); + + const Resource &res = resources[index]; + _types[MKTAG('C', 'A', 'S', 't')][i + 1] = res; + + debugCN(2, kDebugLoading, "%d ", index); } + debugC(2, kDebugLoading, "]"); } + + // Parse the KEY* + Common::SeekableSubReadStreamEndian keyStream(stream, keyRes->offset + 8, keyRes->offset + 8 + keyRes->size, _isBigEndian, DisposeAfterUse::NO); + uint16 unk1 = keyStream.readUint16(); + uint16 unk2 = keyStream.readUint16(); + uint32 unk3 = keyStream.readUint32(); + uint32 keyCount = keyStream.readUint32(); + + debugC(2, kDebugLoading, "KEY*: unk1: %d unk2: %d unk3: %d keyCount: %d", unk1, unk2, unk3, keyCount); + + for (uint32 i = 0; i < keyCount; i++) { + uint32 index = keyStream.readUint32(); + uint32 id = keyStream.readUint32(); + uint32 resTag = keyStream.readUint32(); + + debugC(2, kDebugLoading, "KEY*: index: %d id: %d resTag: %s", index, id, tag2str(resTag)); + + const Resource &res = resources[index]; + debug(3, "Found RIFX resource: '%s' id: 0x%04x, %d @ 0x%08x (%d)", tag2str(resTag), id, res.size, res.offset, res.offset); + _types[resTag][id] = res; + } + + _stream = stream; + return true; +} + +Common::SeekableSubReadStreamEndian *RIFXArchive::getResource(uint32 tag, uint16 id) { + if (!_types.contains(tag)) + error("Archive does not contain '%s' %04x", tag2str(tag), id); + + const ResourceMap &resMap = _types[tag]; + + if (!resMap.contains(id)) + error("Archive does not contain '%s' %04x", tag2str(tag), id); + + const Resource &res = resMap[id]; + + uint32 offset = res.offset + 8; + uint32 size = res.size; + + return new Common::SeekableSubReadStreamEndian(_stream, offset, offset + size, true, DisposeAfterUse::NO); } + } // End of namespace Director diff --git a/engines/director/resource.h b/engines/director/archive.h index 1265908cba..93f4ce7ee9 100644 --- a/engines/director/resource.h +++ b/engines/director/archive.h @@ -20,8 +20,8 @@ * */ -#ifndef DIRECTOR_RESOURCE_H -#define DIRECTOR_RESOURCE_H +#ifndef DIRECTOR_ARCHIVE_H +#define DIRECTOR_ARCHIVE_H #include "common/file.h" #include "common/substream.h" @@ -102,6 +102,7 @@ public: ~RIFXArchive() {} bool openStream(Common::SeekableReadStream *stream, uint32 startOffset = 0); + Common::SeekableSubReadStreamEndian *getResource(uint32 tag, uint16 id); }; } // End of namespace Director diff --git a/engines/director/cast.cpp b/engines/director/cast.cpp new file mode 100644 index 0000000000..667fc248ea --- /dev/null +++ b/engines/director/cast.cpp @@ -0,0 +1,136 @@ +/* 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. + * + */ + +#include "director/director.h" +#include "director/cast.h" +#include "director/score.h" + +namespace Director { + +BitmapCast::BitmapCast(Common::ReadStreamEndian &stream, uint16 version) { + if (version < 4) { + flags = stream.readByte(); + someFlaggyThing = stream.readUint16(); + initialRect = Score::readRect(stream); + boundingRect = Score::readRect(stream); + regY = stream.readUint16(); + regX = stream.readUint16(); + unk1 = unk2 = 0; + + if (someFlaggyThing & 0x8000) { + unk1 = stream.readUint16(); + unk2 = stream.readUint16(); + } + } else { + initialRect = Score::readRect(stream); + boundingRect = Score::readRect(stream); + regX = stream.readUint16(); + regY = stream.readUint16(); + } + modified = 0; +} + +TextCast::TextCast(Common::ReadStreamEndian &stream, uint16 version) { + if (version < 4) { + flags1 = stream.readByte(); + borderSize = static_cast<SizeType>(stream.readByte()); + gutterSize = static_cast<SizeType>(stream.readByte()); + boxShadow = static_cast<SizeType>(stream.readByte()); + textType = static_cast<TextType>(stream.readByte()); + textAlign = static_cast<TextAlignType>(stream.readUint16()); + palinfo1 = stream.readUint16(); + palinfo2 = stream.readUint16(); + palinfo3 = stream.readUint16(); + + int t = stream.readUint32(); + assert(t == 0); // So far we saw only 0 here + + initialRect = Score::readRect(stream); + textShadow = static_cast<SizeType>(stream.readByte()); + byte flags = stream.readByte(); + if (flags & 0x1) + textFlags.push_back(kTextFlagEditable); + if (flags & 0x2) + textFlags.push_back(kTextFlagAutoTab); + if (flags & 0x4) + textFlags.push_back(kTextFlagDoNotWrap); + if (flags & 0xf8) + warning("Unproxessed text cast flags: %x", flags & 0xf8); + + // TODO: FIXME: guesswork + fontId = stream.readByte(); + fontSize = stream.readByte(); + } else { + initialRect = Score::readRect(stream); + boundingRect = Score::readRect(stream); + } + + modified = 0; +} + +ShapeCast::ShapeCast(Common::ReadStreamEndian &stream, uint16 version) { + if (version < 4) { + /*byte flags = */ stream.readByte(); + /*unk1 = */ stream.readByte(); + shapeType = static_cast<ShapeType>(stream.readByte()); + initialRect = Score::readRect(stream); + pattern = stream.readUint16BE(); + fgCol = stream.readByte(); + bgCol = stream.readByte(); + fillType = stream.readByte(); + lineThickness = stream.readByte(); + lineDirection = stream.readByte(); + } else { + initialRect = Score::readRect(stream); + boundingRect = Score::readRect(stream); + } + modified = 0; +} + +ButtonCast::ButtonCast(Common::ReadStreamEndian &stream, uint16 version) : TextCast(stream, version) { + if (version < 4) { + buttonType = static_cast<ButtonType>(stream.readUint16BE()); + } else { + initialRect = Score::readRect(stream); + boundingRect = Score::readRect(stream); + } + modified = 0; +} + +ScriptCast::ScriptCast(Common::ReadStreamEndian &stream, uint16 version) { + if (version < 4) { + error("Unhandled Script cast"); + } else { + initialRect = Score::readRect(stream); + boundingRect = Score::readRect(stream); + + id = stream.readUint32(); + + debugC(4, kDebugLoading, "CASt: Script id: %d", id); + + stream.readByte(); // There should be no more data + assert(stream.eos()); + } + modified = 0; +} + +} // End of namespace Director diff --git a/engines/director/cast.h b/engines/director/cast.h new file mode 100644 index 0000000000..69edf8ce89 --- /dev/null +++ b/engines/director/cast.h @@ -0,0 +1,162 @@ +/* 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. + * + */ + +#ifndef DIRECTOR_CAST_H +#define DIRECTOR_CAST_H + +#include "common/rect.h" +#include "common/substream.h" + +namespace Director { + +enum CastType { + kCastBitmap = 1, + kCastFilmLoop = 2, + kCastText = 3, + kCastPalette = 4, + kCastPicture = 5, + kCastSound = 6, + kCastButton = 7, + kCastShape = 8, + kCastMovie = 9, + kCastDigitalVideo = 10, + kCastScript = 11 +}; + +struct Cast { + CastType type; + Common::Rect initialRect; + Common::Rect boundingRect; + + byte modified; +}; + +struct BitmapCast : Cast { + BitmapCast(Common::ReadStreamEndian &stream, uint16 version = 2); + + uint16 regX; + uint16 regY; + uint8 flags; + uint16 someFlaggyThing; + uint16 unk1, unk2; +}; + +enum ShapeType { + kShapeRectangle, + kShapeRoundRect, + kShapeOval, + kShapeLine +}; + +struct ShapeCast : Cast { + ShapeCast(Common::ReadStreamEndian &stream, uint16 version = 2); + + ShapeType shapeType; + uint16 pattern; + byte fgCol; + byte bgCol; + byte fillType; + byte lineThickness; + byte lineDirection; +}; + +enum TextType { + kTextTypeAdjustToFit, + kTextTypeScrolling, + kTextTypeFixed +}; + +enum TextAlignType { + kTextAlignRight = -1, + kTextAlignLeft, + kTextAlignCenter +}; + +enum TextFlag { + kTextFlagEditable, + kTextFlagAutoTab, + kTextFlagDoNotWrap +}; + +enum SizeType { + kSizeNone, + kSizeSmallest, + kSizeSmall, + kSizeMedium, + kSizeLarge, + kSizeLargest +}; + +struct TextCast : Cast { + TextCast(Common::ReadStreamEndian &stream, uint16 version = 2); + + SizeType borderSize; + SizeType gutterSize; + SizeType boxShadow; + + byte flags1; + uint32 fontId; + uint16 fontSize; + TextType textType; + TextAlignType textAlign; + SizeType textShadow; + Common::Array<TextFlag> textFlags; + int16 palinfo1, palinfo2, palinfo3; +}; + +enum ButtonType { + kTypeButton, + kTypeCheckBox, + kTypeRadio +}; + +struct ButtonCast : TextCast { + ButtonCast(Common::ReadStreamEndian &stream, uint16 version = 2); + + ButtonType buttonType; +}; + +struct ScriptCast : Cast { + ScriptCast(Common::ReadStreamEndian &stream, uint16 version = 2); + + uint32 id; +}; + + + +struct CastInfo { + Common::String script; + Common::String name; + Common::String directory; + Common::String fileName; + Common::String type; +}; + +struct Label { + Common::String name; + uint16 number; + Label(Common::String name1, uint16 number1) { name = name1; number = number1; } +}; + +} // End of namespace Director + +#endif diff --git a/engines/director/director.cpp b/engines/director/director.cpp index 8c5e456781..32358e4b6e 100644 --- a/engines/director/director.cpp +++ b/engines/director/director.cpp @@ -27,7 +27,7 @@ #include "graphics/macgui/macwindowmanager.h" #include "director/director.h" -#include "director/resource.h" +#include "director/archive.h" #include "director/sound.h" #include "director/lingo/lingo.h" @@ -120,10 +120,13 @@ Common::Error DirectorEngine::run() { //testFont(); - _movies = scanMovies(ConfMan.get("path")); + if (getPlatform() == Common::kPlatformWindows) + _sharedCastFile = "SHARDCST.MMM"; + else + _sharedCastFile = "Shared Cast*"; + + loadSharedCastsFrom(_sharedCastFile); - if (!_sharedCastFile.empty()) - loadSharedCastsFrom(_sharedCastFile); loadMainArchive(); _currentScore = new Score(this, _mainArchive); diff --git a/engines/director/frame.cpp b/engines/director/frame.cpp index 0ce7f2be9b..6464943d99 100644 --- a/engines/director/frame.cpp +++ b/engines/director/frame.cpp @@ -27,9 +27,10 @@ #include "image/bmp.h" #include "director/director.h" +#include "director/cast.h" #include "director/frame.h" #include "director/images.h" -#include "director/resource.h" +#include "director/archive.h" #include "director/score.h" #include "director/sprite.h" @@ -54,7 +55,7 @@ Frame::Frame(DirectorEngine *vm) { _palette = NULL; - _sprites.resize(CHANNEL_COUNT); + _sprites.resize(CHANNEL_COUNT + 1); for (uint16 i = 0; i < _sprites.size(); i++) { Sprite *sp = new Sprite(); @@ -80,9 +81,9 @@ Frame::Frame(const Frame &frame) { debugC(1, kDebugLoading, "Frame. action: %d transType: %d transDuration: %d", _actionId, _transType, _transDuration); - _sprites.resize(CHANNEL_COUNT); + _sprites.resize(CHANNEL_COUNT + 1); - for (uint16 i = 0; i < CHANNEL_COUNT; i++) { + for (uint16 i = 0; i < CHANNEL_COUNT + 1; i++) { _sprites[i] = new Sprite(*frame._sprites[i]); } } @@ -112,6 +113,105 @@ void Frame::readChannel(Common::SeekableSubReadStreamEndian &stream, uint16 offs } } +void Frame::readChannels(Common::ReadStreamEndian *stream) { + _actionId = stream->readByte(); + _soundType1 = stream->readByte(); // type: 0x17 for sounds (sound is cast id), 0x16 for MIDI (sound is cmd id) + uint8 transFlags = stream->readByte(); // 0x80 is whole stage (vs changed area), rest is duration in 1/4ths of a second + + if (transFlags & 0x80) + _transArea = 1; + else + _transArea = 0; + _transDuration = transFlags & 0x7f; + + _transChunkSize = stream->readByte(); + _tempo = stream->readByte(); + _transType = static_cast<TransitionType>(stream->readByte()); + _sound1 = stream->readUint16(); + if (_vm->getPlatform() == Common::kPlatformMacintosh) { + _sound2 = stream->readUint16(); + _soundType2 = stream->readByte(); + } else { + byte unk[3]; + stream->read(unk, 3); + warning("unk1: %x unk2: %x unk3: %x", unk[0], unk[1], unk[2]); + } + _skipFrameFlag = stream->readByte(); + _blend = stream->readByte(); + + if (_vm->getPlatform() != Common::kPlatformMacintosh) { + _sound2 = stream->readUint16(); + _soundType2 = stream->readByte(); + } + + uint16 palette = stream->readUint16(); + + if (palette) { + warning("STUB: Palette info"); + } + + debugC(kDebugLoading, 8, "%d %d %d %d %d %d %d %d %d %d %d", _actionId, _soundType1, _transDuration, _transChunkSize, _tempo, _transType, _sound1, _skipFrameFlag, _blend, _sound2, _soundType2); + + _palette = new PaletteInfo(); + _palette->firstColor = stream->readByte(); // for cycles. note: these start at 0x80 (for pal entry 0)! + _palette->lastColor = stream->readByte(); + _palette->flags = stream->readByte(); + _palette->speed = stream->readByte(); + _palette->frameCount = stream->readUint16(); + + _palette->cycleCount = stream->readUint16(); + + byte unk[11]; + stream->read(unk, 6); + + if (_vm->getPlatform() == Common::kPlatformMacintosh) { + if (_vm->getVersion() < 4) { + stream->read(unk, 3); + } else { + stream->read(unk, 11); + //Common::hexdump(unk, 11); + + if (_vm->getVersion() >= 5) { + stream->read(unk, 7); + //Common::hexdump(unk, 7); + } + } + } + + for (int i = 0; i < CHANNEL_COUNT; i++) { + Sprite &sprite = *_sprites[i + 1]; + + sprite._x1 = stream->readByte(); + sprite._enabled = (stream->readByte() != 0); + sprite._x2 = stream->readUint16(); + + sprite._flags = stream->readUint16(); + sprite._ink = static_cast<InkType>(sprite._flags & 0x3f); + + if (sprite._flags & 0x40) + sprite._trails = 1; + else + sprite._trails = 0; + + sprite._castId = stream->readUint16(); + sprite._startPoint.y = stream->readUint16(); + sprite._startPoint.x = stream->readUint16(); + sprite._height = stream->readUint16(); + sprite._width = stream->readUint16(); + + debugC(kDebugLoading, 8, "%03d(%d)[%x,%x,%04x,%d/%d/%d/%d]", sprite._castId, sprite._enabled, sprite._x1, sprite._x2, sprite._flags, sprite._startPoint.x, sprite._startPoint.y, sprite._width, sprite._height); + + if (_vm->getPlatform() == Common::kPlatformMacintosh && _vm->getVersion() >= 4) { + sprite._scriptId = stream->readUint16(); + sprite._flags2 = stream->readByte(); // 0x40 editable, 0x80 moveable + sprite._unk2 = stream->readByte(); + + if (_vm->getVersion() >= 5) + sprite._unk3 = stream->readUint32(); + } + } +} + void Frame::readMainChannels(Common::SeekableSubReadStreamEndian &stream, uint16 offset, uint16 size) { uint16 finishPosition = offset + size; @@ -179,6 +279,8 @@ void Frame::readMainChannels(Common::SeekableSubReadStreamEndian &stream, uint16 break; } } + + warning("%d %d %d %d %d %d %d %d %d %d %d", _actionId, _soundType1, _transDuration, _transChunkSize, _tempo, _transType, _sound1, _skipFrameFlag, _blend, _sound2, _soundType2); } void Frame::readPaletteInfo(Common::SeekableSubReadStreamEndian &stream) { @@ -198,11 +300,13 @@ void Frame::readSprite(Common::SeekableSubReadStreamEndian &stream, uint16 offse uint16 finishPosition = fieldPosition + size; Sprite &sprite = *_sprites[spritePosition]; + int x1 = 0; + int x2 = 0; while (fieldPosition < finishPosition) { switch (fieldPosition) { case kSpritePositionUnk1: - /*byte x1 = */ stream.readByte(); + x1 = stream.readByte(); fieldPosition++; break; case kSpritePositionEnabled: @@ -210,7 +314,7 @@ void Frame::readSprite(Common::SeekableSubReadStreamEndian &stream, uint16 offse fieldPosition++; break; case kSpritePositionUnk2: - /*byte x2 = */ stream.readUint16(); + x2 = stream.readUint16(); fieldPosition += 2; break; case kSpritePositionFlags: @@ -251,6 +355,8 @@ void Frame::readSprite(Common::SeekableSubReadStreamEndian &stream, uint16 offse break; } } + warning("%03d(%d)[%x,%x,%04x,%d/%d/%d/%d]", sprite._castId, sprite._enabled, x1, x2, sprite._flags, sprite._startPoint.x, sprite._startPoint.y, sprite._width, sprite._height); + } void Frame::prepareFrame(Score *score) { diff --git a/engines/director/frame.h b/engines/director/frame.h index 68eb1e33bb..ce82fa527c 100644 --- a/engines/director/frame.h +++ b/engines/director/frame.h @@ -35,6 +35,10 @@ class Sprite; #define CHANNEL_COUNT 24 +enum { + kChannelDataSize = (25 * 50) +}; + enum TransitionType { kTransNone, kTransWipeRight, @@ -97,6 +101,7 @@ struct PaletteInfo { uint8 flags; uint8 speed; uint16 frameCount; + uint16 cycleCount; }; @@ -105,6 +110,7 @@ public: Frame(DirectorEngine *vm); Frame(const Frame &frame); ~Frame(); + void readChannels(Common::ReadStreamEndian *stream); void readChannel(Common::SeekableSubReadStreamEndian &stream, uint16 offset, uint16 size); void prepareFrame(Score *score); uint16 getSpriteIDFromPos(Common::Point pos); @@ -123,7 +129,9 @@ private: void drawMatteSprite(Graphics::ManagedSurface &target, const Graphics::Surface &sprite, Common::Rect &drawRect); void drawGhostSprite(Graphics::ManagedSurface &target, const Graphics::Surface &sprite, Common::Rect &drawRect); void drawReverseSprite(Graphics::ManagedSurface &target, const Graphics::Surface &sprite, Common::Rect &drawRect); + public: + byte _channelData[kChannelDataSize]; uint8 _actionId; uint8 _transDuration; uint8 _transArea; //1 - Whole Stage, 0 - Changing Area @@ -144,6 +152,6 @@ public: DirectorEngine *_vm; }; -} //End of namespace Director +} // End of namespace Director #endif diff --git a/engines/director/images.cpp b/engines/director/images.cpp index cd8223ae8e..0ec84af0d3 100644 --- a/engines/director/images.cpp +++ b/engines/director/images.cpp @@ -41,6 +41,7 @@ DIBDecoder::~DIBDecoder() { } void DIBDecoder::destroy() { + delete _surface; _surface = 0; delete[] _palette; diff --git a/engines/director/lingo/lingo-code.cpp b/engines/director/lingo/lingo-code.cpp index 37a333ba10..dd5977673e 100644 --- a/engines/director/lingo/lingo-code.cpp +++ b/engines/director/lingo/lingo-code.cpp @@ -729,6 +729,8 @@ void Lingo::c_repeatwithcode(void) { if (!g_lingo->_returning) g_lingo->_pc = end; /* next stmt */ + + delete counter; } void Lingo::c_exitRepeat(void) { @@ -972,6 +974,8 @@ void Lingo::c_global() { s->global = true; g_lingo->_pc += g_lingo->calcStringAlignment(name.c_str()); + + delete s; } void Lingo::c_instance() { diff --git a/engines/director/lingo/lingo-the.cpp b/engines/director/lingo/lingo-the.cpp index a8633f1765..270746678b 100644 --- a/engines/director/lingo/lingo-the.cpp +++ b/engines/director/lingo/lingo-the.cpp @@ -21,6 +21,7 @@ */ #include "director/lingo/lingo.h" +#include "director/cast.h" #include "director/sprite.h" namespace Director { diff --git a/engines/director/module.mk b/engines/director/module.mk index 1ea361590a..38e3cfea4a 100644 --- a/engines/director/module.mk +++ b/engines/director/module.mk @@ -2,6 +2,7 @@ MODULE := engines/director MODULE_OBJS = \ archive.o \ + cast.o \ detection.o \ director.o \ frame.o \ diff --git a/engines/director/movie.cpp b/engines/director/movie.cpp index f952346d16..9799510c6b 100644 --- a/engines/director/movie.cpp +++ b/engines/director/movie.cpp @@ -79,4 +79,4 @@ Movie::~Movie() { delete _currentVideo; } -} //End of namespace Director +} // End of namespace Director diff --git a/engines/director/movie.h b/engines/director/movie.h index 888262a2d1..e4729a62c3 100644 --- a/engines/director/movie.h +++ b/engines/director/movie.h @@ -60,6 +60,6 @@ private: Video::VideoDecoder *_currentVideo; DirectorEngine *_vm; }; -} //End of namespace Director +} // End of namespace Director #endif diff --git a/engines/director/resource.cpp b/engines/director/resource.cpp index 8efec141d1..54ab2198e1 100644 --- a/engines/director/resource.cpp +++ b/engines/director/resource.cpp @@ -20,430 +20,243 @@ * */ -#include "director/resource.h" - -#include "common/debug.h" #include "common/macresman.h" -namespace Director { - -// Base Archive code - -Archive::Archive() { - _stream = 0; - _isBigEndian = true; -} - -Archive::~Archive() { - close(); -} - -bool Archive::openFile(const Common::String &fileName) { - Common::File *file = new Common::File(); +#include "director/director.h" +#include "director/archive.h" +#include "director/lingo/lingo.h" - if (!file->open(fileName)) { - delete file; - return false; - } +namespace Director { - if (!openStream(file)) { - close(); - return false; +Archive *DirectorEngine::createArchive() { + if (getPlatform() == Common::kPlatformMacintosh) { + if (getVersion() < 4) + return new MacArchive(); + else + return new RIFXArchive(); + } else { + return new RIFFArchive(); } - - _fileName = fileName; - - return true; -} - -void Archive::close() { - _types.clear(); - - if (_stream) - delete _stream; - - _stream = 0; -} - -bool Archive::hasResource(uint32 tag, uint16 id) const { - if (!_types.contains(tag)) - return false; - - return _types[tag].contains(id); -} - -bool Archive::hasResource(uint32 tag, const Common::String &resName) const { - if (!_types.contains(tag) || resName.empty()) - return false; - - const ResourceMap &resMap = _types[tag]; - - for (ResourceMap::const_iterator it = resMap.begin(); it != resMap.end(); it++) - if (it->_value.name.matchString(resName)) - return true; - - return false; } -Common::SeekableSubReadStreamEndian *Archive::getResource(uint32 tag, uint16 id) { - if (!_types.contains(tag)) - error("Archive does not contain '%s' %04x", tag2str(tag), id); - - const ResourceMap &resMap = _types[tag]; - - if (!resMap.contains(id)) - error("Archive does not contain '%s' %04x", tag2str(tag), id); - - const Resource &res = resMap[id]; - - return new Common::SeekableSubReadStreamEndian(_stream, res.offset, res.offset + res.size, _isBigEndian, DisposeAfterUse::NO); -} - -uint32 Archive::getOffset(uint32 tag, uint16 id) const { - if (!_types.contains(tag)) - error("Archive does not contain '%s' %04x", tag2str(tag), id); - - const ResourceMap &resMap = _types[tag]; - - if (!resMap.contains(id)) - error("Archive does not contain '%s' %04x", tag2str(tag), id); - - return resMap[id].offset; -} - -uint16 Archive::findResourceID(uint32 tag, const Common::String &resName) const { - if (!_types.contains(tag) || resName.empty()) - return 0xFFFF; - - const ResourceMap &resMap = _types[tag]; - - for (ResourceMap::const_iterator it = resMap.begin(); it != resMap.end(); it++) - if (it->_value.name.matchString(resName)) - return it->_key; - - return 0xFFFF; +void DirectorEngine::loadMainArchive() { + if (getPlatform() == Common::kPlatformWindows) + loadEXE(); + else + loadMac(); } -Common::String Archive::getName(uint32 tag, uint16 id) const { - if (!_types.contains(tag)) - error("Archive does not contain '%s' %04x", tag2str(tag), id); - - const ResourceMap &resMap = _types[tag]; - - if (!resMap.contains(id)) - error("Archive does not contain '%s' %04x", tag2str(tag), id); - - return resMap[id].name; +void DirectorEngine::cleanupMainArchive() { + delete _mainArchive; + delete _macBinary; } -Common::Array<uint32> Archive::getResourceTypeList() const { - Common::Array<uint32> typeList; - - for (TypeMap::const_iterator it = _types.begin(); it != _types.end(); it++) - typeList.push_back(it->_key); - - return typeList; +void DirectorEngine::loadEXE() { + Common::SeekableReadStream *exeStream = SearchMan.createReadStreamForMember(getEXEName()); + if (!exeStream) + error("Failed to open EXE '%s'", getEXEName().c_str()); + + _lingo->processEvent(kEventStart, 0); + + exeStream->seek(-4, SEEK_END); + exeStream->seek(exeStream->readUint32LE()); + + switch (getVersion()) { + case 3: + loadEXEv3(exeStream); + break; + case 4: + loadEXEv4(exeStream); + break; + case 5: + loadEXEv5(exeStream); + break; + case 7: + loadEXEv7(exeStream); + break; + default: + error("Unhandled Windows EXE version %d", getVersion()); + } } -Common::Array<uint16> Archive::getResourceIDList(uint32 type) const { - Common::Array<uint16> idList; +void DirectorEngine::loadEXEv3(Common::SeekableReadStream *stream) { + uint16 entryCount = stream->readUint16LE(); + if (entryCount != 1) + error("Unhandled multiple entry v3 EXE"); - if (!_types.contains(type)) - return idList; + stream->skip(5); // unknown - const ResourceMap &resMap = _types[type]; + stream->readUint32LE(); // Main MMM size + Common::String mmmFileName = readPascalString(*stream); + Common::String directoryName = readPascalString(*stream); - for (ResourceMap::const_iterator it = resMap.begin(); it != resMap.end(); it++) - idList.push_back(it->_key); + debugC(1, kDebugLoading, "Main MMM: '%s'", mmmFileName.c_str()); + debugC(1, kDebugLoading, "Directory Name: '%s'", directoryName.c_str()); - return idList; -} + _mainArchive = new RIFFArchive(); -uint32 Archive::convertTagToUppercase(uint32 tag) { - uint32 newTag = toupper(tag >> 24) << 24; - newTag |= toupper((tag >> 16) & 0xFF) << 16; - newTag |= toupper((tag >> 8) & 0xFF) << 8; + if (!_mainArchive->openFile(mmmFileName)) + error("Could not open '%s'", mmmFileName.c_str()); - return newTag | toupper(tag & 0xFF); + delete stream; } -// Mac Archive code +void DirectorEngine::loadEXEv4(Common::SeekableReadStream *stream) { + if (stream->readUint32BE() != MKTAG('P', 'J', '9', '3')) + error("Invalid projector tag found in v4 EXE"); -MacArchive::MacArchive() : Archive(), _resFork(0) { -} + uint32 rifxOffset = stream->readUint32LE(); + /* uint32 fontMapOffset = */ stream->readUint32LE(); + /* uint32 resourceForkOffset1 = */ stream->readUint32LE(); + /* uint32 resourceForkOffset2 = */ stream->readUint32LE(); + stream->readUint32LE(); // graphics DLL offset + stream->readUint32LE(); // sound DLL offset + /* uint32 rifxOffsetAlt = */ stream->readUint32LE(); // equivalent to rifxOffset -MacArchive::~MacArchive() { - delete _resFork; + loadEXERIFX(stream, rifxOffset); } -void MacArchive::close() { - Archive::close(); - delete _resFork; - _resFork = 0; +void DirectorEngine::loadEXEv5(Common::SeekableReadStream *stream) { + if (stream->readUint32LE() != MKTAG('P', 'J', '9', '5')) + error("Invalid projector tag found in v5 EXE"); + + uint32 rifxOffset = stream->readUint32LE(); + stream->readUint32LE(); // unknown + stream->readUint32LE(); // unknown + stream->readUint32LE(); // unknown + /* uint16 screenWidth = */ stream->readUint16LE(); + /* uint16 screenHeight = */ stream->readUint16LE(); + stream->readUint32LE(); // unknown + stream->readUint32LE(); // unknown + /* uint32 fontMapOffset = */ stream->readUint32LE(); + + loadEXERIFX(stream, rifxOffset); } -bool MacArchive::openFile(const Common::String &fileName) { - close(); +void DirectorEngine::loadEXEv7(Common::SeekableReadStream *stream) { + if (stream->readUint32LE() != MKTAG('P', 'J', '0', '0')) + error("Invalid projector tag found in v7 EXE"); - _resFork = new Common::MacResManager(); + uint32 rifxOffset = stream->readUint32LE(); + stream->readUint32LE(); // unknown + stream->readUint32LE(); // unknown + stream->readUint32LE(); // unknown + stream->readUint32LE(); // unknown + stream->readUint32LE(); // some DLL offset - if (!_resFork->open(fileName) || !_resFork->hasResFork()) { - close(); - return false; - } - - _fileName = _resFork->getBaseFileName(); - if (_fileName.hasSuffix(".bin")) { - for (int i = 0; i < 4; i++) - _fileName.deleteLastChar(); - } - - Common::MacResTagArray tagArray = _resFork->getResTagArray(); - - for (uint32 i = 0; i < tagArray.size(); i++) { - ResourceMap &resMap = _types[tagArray[i]]; - Common::MacResIDArray idArray = _resFork->getResIDArray(tagArray[i]); - - for (uint32 j = 0; j < idArray.size(); j++) { - Resource &res = resMap[idArray[j]]; - - res.offset = res.size = 0; // unused - res.name = _resFork->getResName(tagArray[i], idArray[j]); - debug(3, "Found MacArchive resource '%s' %d: %s", tag2str(tagArray[i]), idArray[j], res.name.c_str()); - } - } - - return true; + loadEXERIFX(stream, rifxOffset); } -bool MacArchive::openStream(Common::SeekableReadStream *stream, uint32 startOffset) { - // TODO: Add support for this (v4 Windows games) - return false; -} +void DirectorEngine::loadEXERIFX(Common::SeekableReadStream *stream, uint32 offset) { + _mainArchive = new RIFXArchive(); -Common::SeekableSubReadStreamEndian *MacArchive::getResource(uint32 tag, uint16 id) { - assert(_resFork); - Common::SeekableReadStream *stream = _resFork->getResource(tag, id); - return new Common::SeekableSubReadStreamEndian(stream, 0, stream->size(), true, DisposeAfterUse::NO); + if (!_mainArchive->openStream(stream, offset)) + error("Failed to load RIFX from EXE"); } -// RIFF Archive code - -bool RIFFArchive::openStream(Common::SeekableReadStream *stream, uint32 startOffset) { - close(); +void DirectorEngine::loadMac() { + if (getVersion() < 4) { + // The data is part of the resource fork of the executable + _mainArchive = new MacArchive(); - stream->seek(startOffset); + if (!_mainArchive->openFile(getEXEName())) + error("Failed to open Mac binary '%s'", getEXEName().c_str()); + } else { + // The RIFX is located in the data fork of the executable + _macBinary = new Common::MacResManager(); - if (convertTagToUppercase(stream->readUint32BE()) != MKTAG('R', 'I', 'F', 'F')) - return false; + if (!_macBinary->open(getEXEName()) || !_macBinary->hasDataFork()) + error("Failed to open Mac binary '%s'", getEXEName().c_str()); - stream->readUint32LE(); // size + Common::SeekableReadStream *dataFork = _macBinary->getDataFork(); + _mainArchive = new RIFXArchive(); - if (convertTagToUppercase(stream->readUint32BE()) != MKTAG('R', 'M', 'M', 'P')) - return false; + // First we need to detect PPC vs. 68k - if (convertTagToUppercase(stream->readUint32BE()) != MKTAG('C', 'F', 'T', 'C')) - return false; + uint32 tag = dataFork->readUint32BE(); + uint32 startOffset; - uint32 cftcSize = stream->readUint32LE(); - uint32 startPos = stream->pos(); - stream->readUint32LE(); // unknown (always 0?) - - while ((uint32)stream->pos() < startPos + cftcSize) { - uint32 tag = convertTagToUppercase(stream->readUint32BE()); - - uint32 size = stream->readUint32LE(); - uint32 id = stream->readUint32LE(); - uint32 offset = stream->readUint32LE(); - - if (tag == 0) - break; - - uint16 startResPos = stream->pos(); - stream->seek(offset + 12); - - Common::String name = ""; - byte nameSize = stream->readByte(); - - if (nameSize) { - for (uint8 i = 0; i < nameSize; i++) { - name += stream->readByte(); - } + if (SWAP_BYTES_32(tag) == MKTAG('P', 'J', '9', '3') || tag == MKTAG('P', 'J', '9', '5') || tag == MKTAG('P', 'J', '0', '0')) { + // PPC: The RIFX shares the data fork with the binary + startOffset = dataFork->readUint32BE(); + } else { + // 68k: The RIFX is the only thing in the data fork + startOffset = 0; } - stream->seek(startResPos); - - debug(3, "Found RIFF resource '%s' %d: %d @ 0x%08x", tag2str(tag), id, size, offset); - - ResourceMap &resMap = _types[tag]; - Resource &res = resMap[id]; - res.offset = offset; - res.size = size; - res.name = name; + if (!_mainArchive->openStream(dataFork, startOffset)) + error("Failed to load RIFX from Mac binary"); } - - _stream = stream; - return true; } -Common::SeekableSubReadStreamEndian *RIFFArchive::getResource(uint32 tag, uint16 id) { - if (!_types.contains(tag)) - error("Archive does not contain '%s' %04x", tag2str(tag), id); +void DirectorEngine::loadSharedCastsFrom(Common::String filename) { + Archive *shardcst = createArchive(); - const ResourceMap &resMap = _types[tag]; + debugC(1, kDebugLoading, "Loading Shared cast '%s'", filename.c_str()); - if (!resMap.contains(id)) - error("Archive does not contain '%s' %04x", tag2str(tag), id); + if (!shardcst->openFile(filename)) { + warning("No shared cast %s", filename.c_str()); - const Resource &res = resMap[id]; + _sharedCasts = new Common::HashMap<int, Cast *>; - // Adjust to skip the resource header - uint32 offset = res.offset + 12; - uint32 size = res.size - 4; - // Skip the Pascal string - _stream->seek(offset); - byte stringSize = _stream->readByte(); // 1 for this byte - - offset += stringSize + 1; - size -= stringSize + 1; - - // Align to nearest word boundary - if (offset & 1) { - offset++; - size--; + return; } - return new Common::SeekableSubReadStreamEndian(_stream, offset, offset + size, true, DisposeAfterUse::NO); -} + _sharedDIB = new Common::HashMap<int, Common::SeekableSubReadStreamEndian *>; + _sharedSTXT = new Common::HashMap<int, Common::SeekableSubReadStreamEndian *>; + _sharedSound = new Common::HashMap<int, Common::SeekableSubReadStreamEndian *>; + _sharedBMP = new Common::HashMap<int, Common::SeekableSubReadStreamEndian *>; -// RIFX Archive code + Score *castScore = new Score(this, shardcst); -bool RIFXArchive::openStream(Common::SeekableReadStream *stream, uint32 startOffset) { - close(); + castScore->loadConfig(*shardcst->getResource(MKTAG('V','W','C','F'), 1024)); - stream->seek(startOffset); + if (getVersion() < 4) + castScore->loadCastDataVWCR(*shardcst->getResource(MKTAG('V','W','C','R'), 1024)); - uint32 headerTag = stream->readUint32BE(); - - if (headerTag == MKTAG('R', 'I', 'F', 'X')) - _isBigEndian = true; - else if (SWAP_BYTES_32(headerTag) == MKTAG('R', 'I', 'F', 'X')) - _isBigEndian = false; - else - return false; - - Common::SeekableSubReadStreamEndian subStream(stream, startOffset + 4, stream->size(), _isBigEndian, DisposeAfterUse::NO); - - subStream.readUint32(); // size - - uint32 rifxType = subStream.readUint32(); - - if (rifxType != MKTAG('M', 'V', '9', '3') && rifxType != MKTAG('A', 'P', 'P', 'L')) - return false; - - if (subStream.readUint32() != MKTAG('i', 'm', 'a', 'p')) - return false; - - subStream.readUint32(); // imap length - subStream.readUint32(); // unknown - uint32 mmapOffset = subStream.readUint32() - startOffset - 4; - - subStream.seek(mmapOffset); - - if (subStream.readUint32() != MKTAG('m', 'm', 'a', 'p')) - return false; - - subStream.readUint32(); // mmap length - subStream.readUint16(); // unknown - subStream.readUint16(); // unknown - subStream.readUint32(); // resCount + empty entries - uint32 resCount = subStream.readUint32(); - subStream.skip(8); // all 0xFF - subStream.readUint32(); // unknown - - Common::Array<Resource> resources; - - // Need to look for these two resources - const Resource *keyRes = 0; - const Resource *casRes = 0; - - for (uint32 i = 0; i < resCount; i++) { - uint32 tag = subStream.readUint32(); - uint32 size = subStream.readUint32(); - uint32 offset = subStream.readUint32(); - /*uint16 flags = */ subStream.readUint16(); - /*uint16 unk1 = */ subStream.readUint16(); - /*uint32 unk2 = */ subStream.readUint32(); - - debug(3, "Found RIFX resource index %d: '%s', %d @ 0x%08x", i, tag2str(tag), size, offset); + Common::Array<uint16> cast = shardcst->getResourceIDList(MKTAG('C','A','S','t')); + if (cast.size() > 0) { + for (Common::Array<uint16>::iterator iterator = cast.begin(); iterator != cast.end(); ++iterator) + castScore->loadCastData(*shardcst->getResource(MKTAG('C','A','S','t'), *iterator), *iterator); + } - Resource res; - res.offset = offset; - res.size = size; - resources.push_back(res); + _sharedCasts = &castScore->_casts; - // APPL is a special case; it has an embedded "normal" archive - if (rifxType == MKTAG('A', 'P', 'P', 'L') && tag == MKTAG('F', 'i', 'l', 'e')) - return openStream(stream, offset); + Common::Array<uint16> dib = shardcst->getResourceIDList(MKTAG('D','I','B',' ')); + if (dib.size() != 0) { + debugC(3, kDebugLoading, "Loading %d DIBs", dib.size()); - // Looking for two types here - if (tag == MKTAG('K', 'E', 'Y', '*')) - keyRes = &resources[resources.size() - 1]; - else if (tag == MKTAG('C', 'A', 'S', '*')) - casRes = &resources[resources.size() - 1]; + for (Common::Array<uint16>::iterator iterator = dib.begin(); iterator != dib.end(); ++iterator) { + debugC(3, kDebugLoading, "Shared DIB %d", *iterator); + _sharedDIB->setVal(*iterator, shardcst->getResource(MKTAG('D','I','B',' '), *iterator)); + } } - // We need to have found the 'File' resource already - if (rifxType == MKTAG('A', 'P', 'P', 'L')) { - warning("No 'File' resource present in APPL archive"); - return false; - } + Common::Array<uint16> stxt = shardcst->getResourceIDList(MKTAG('S','T','X','T')); + if (stxt.size() != 0) { + debugC(3, kDebugLoading, "Loading %d STXTs", stxt.size()); - // A KEY* must be present - if (!keyRes) { - warning("No 'KEY*' resource present"); - return false; + for (Common::Array<uint16>::iterator iterator = stxt.begin(); iterator != stxt.end(); ++iterator) { + debugC(3, kDebugLoading, "Shared STXT %d", *iterator); + _sharedSTXT->setVal(*iterator, shardcst->getResource(MKTAG('S','T','X','T'), *iterator)); + } } - // Parse the CAS*, if present - Common::Array<uint32> casEntries; - if (casRes) { - Common::SeekableSubReadStreamEndian casStream(stream, casRes->offset + 8, casRes->offset + 8 + casRes->size, _isBigEndian, DisposeAfterUse::NO); - casEntries.resize(casRes->size / 4); - - for (uint32 i = 0; i < casEntries.size(); i++) - casEntries[i] = casStream.readUint32(); + Common::Array<uint16> bmp = shardcst->getResourceIDList(MKTAG('B','I','T','D')); + if (bmp.size() != 0) { + debugC(3, kDebugLoading, "Loading %d BITDs", bmp.size()); + for (Common::Array<uint16>::iterator iterator = bmp.begin(); iterator != bmp.end(); ++iterator) { + _sharedBMP->setVal(*iterator, shardcst->getResource(MKTAG('B','I','T','D'), *iterator)); + } } - // Parse the KEY* - Common::SeekableSubReadStreamEndian keyStream(stream, keyRes->offset + 8, keyRes->offset + 8 + keyRes->size, _isBigEndian, DisposeAfterUse::NO); - /*uint16 unk1 = */ keyStream.readUint16(); - /*uint16 unk2 = */ keyStream.readUint16(); - /*uint32 unk3 = */ keyStream.readUint32(); - uint32 keyCount = keyStream.readUint32(); - - for (uint32 i = 0; i < keyCount; i++) { - uint32 index = keyStream.readUint32(); - uint32 id = keyStream.readUint32(); - uint32 resTag = keyStream.readUint32(); - - // Handle CAS*/CASt nonsense - if (resTag == MKTAG('C', 'A', 'S', 't')) { - for (uint32 j = 0; j < casEntries.size(); j++) { - if (casEntries[j] == index) { - id += j + 1; - break; - } - } + Common::Array<uint16> sound = shardcst->getResourceIDList(MKTAG('S','N','D',' ')); + if (stxt.size() != 0) { + debugC(3, kDebugLoading, "Loading %d SNDs", sound.size()); + for (Common::Array<uint16>::iterator iterator = sound.begin(); iterator != sound.end(); ++iterator) { + _sharedSound->setVal(*iterator, shardcst->getResource(MKTAG('S','N','D',' '), *iterator)); } - - const Resource &res = resources[index]; - debug(3, "Found RIFX resource: '%s' 0x%04x, %d @ 0x%08x", tag2str(resTag), id, res.size, res.offset); - _types[resTag][id] = res; } - - _stream = stream; - return true; } } // End of namespace Director diff --git a/engines/director/score.cpp b/engines/director/score.cpp index 5c594c20fc..1c78745330 100644 --- a/engines/director/score.cpp +++ b/engines/director/score.cpp @@ -23,6 +23,7 @@ #include "common/system.h" #include "common/config-manager.h" #include "common/events.h" +#include "common/memstream.h" #include "engines/util.h" #include "graphics/font.h" @@ -30,9 +31,10 @@ #include "graphics/macgui/macfontmanager.h" #include "graphics/macgui/macwindowmanager.h" +#include "director/cast.h" #include "director/score.h" #include "director/frame.h" -#include "director/resource.h" +#include "director/archive.h" #include "director/sound.h" #include "director/sprite.h" #include "director/lingo/lingo.h" @@ -191,7 +193,7 @@ void Score::loadArchive() { if (_vm->getVersion() < 4) { assert(_movieArchive->hasResource(MKTAG('V','W','C','R'), 1024)); - loadCastData(*_movieArchive->getResource(MKTAG('V','W','C','R'), 1024)); + loadCastDataVWCR(*_movieArchive->getResource(MKTAG('V','W','C','R'), 1024)); } if (_movieArchive->hasResource(MKTAG('V','W','A','C'), 1024)) { @@ -208,12 +210,16 @@ void Score::loadArchive() { Common::Array<uint16> vwci = _movieArchive->getResourceIDList(MKTAG('V','W','C','I')); if (vwci.size() > 0) { - Common::Array<uint16>::iterator iterator; - - for (iterator = vwci.begin(); iterator != vwci.end(); ++iterator) + for (Common::Array<uint16>::iterator iterator = vwci.begin(); iterator != vwci.end(); ++iterator) loadCastInfo(*_movieArchive->getResource(MKTAG('V','W','C','I'), *iterator), *iterator); } + Common::Array<uint16> cast = _movieArchive->getResourceIDList(MKTAG('C','A','S','t')); + if (cast.size() > 0) { + for (Common::Array<uint16>::iterator iterator = cast.begin(); iterator != cast.end(); ++iterator) + loadCastData(*_movieArchive->getResource(MKTAG('C','A','S','t'), *iterator), *iterator); + } + Common::Array<uint16> stxt = _movieArchive->getResourceIDList(MKTAG('S','T','X','T')); if (stxt.size() > 0) { loadScriptText(*_movieArchive->getResource(MKTAG('S','T','X','T'), *stxt.begin())); @@ -262,10 +268,16 @@ void Score::loadFrames(Common::SeekableSubReadStreamEndian &stream) { size -= 4; if (_vm->getVersion() > 3) { - stream.skip(16); + uint32 unk1 = stream.readUint32(); + uint32 unk2 = stream.readUint32(); + uint16 unk3 = stream.readUint16(); + uint16 unk4 = stream.readUint16(); + uint16 unk5 = stream.readUint16(); + uint16 unk6 = stream.readUint16(); + size -= 16; - warning("STUB: Score::loadFrames. Skipping initial bytes"); - //Unknown, some bytes - constant (refer to contuinity). + warning("STUB: Score::loadFrames. unk1: %x unk2: %x unk3: %x unk4: %x unk5: %x unk6: %x", unk1, unk2, unk3, unk4, unk5, unk6); + // Unknown, some bytes - constant (refer to contuinity). } uint16 channelSize; @@ -274,11 +286,20 @@ void Score::loadFrames(Common::SeekableSubReadStreamEndian &stream) { Frame *initial = new Frame(_vm); _frames.push_back(initial); + // This is a representation of the channelData. It gets overridden + // partically by channels, hence we keep it and read the score from left to right + // + // TODO Merge it with shared cast + byte channelData[kChannelDataSize]; + memset(channelData, 0, kChannelDataSize); + while (size != 0) { uint16 frameSize = stream.readUint16(); + debugC(kDebugLoading, 8, "++++ score frame %d (frameSize %d) size %d", _frames.size(), frameSize, size); size -= frameSize; frameSize -= 2; - Frame *frame = new Frame(*_frames.back()); + + Frame *frame = new Frame(_vm); while (frameSize != 0) { if (_vm->getVersion() < 4) { @@ -286,17 +307,25 @@ void Score::loadFrames(Common::SeekableSubReadStreamEndian &stream) { channelOffset = stream.readByte() * 2; frameSize -= channelSize + 2; } else { - channelSize = stream.readByte(); - channelOffset = stream.readByte(); + channelSize = stream.readUint16(); + channelOffset = stream.readUint16(); frameSize -= channelSize + 4; } - frame->readChannel(stream, channelOffset, channelSize); + + assert(channelOffset + channelSize < kChannelDataSize); + + stream.read(&channelData[channelOffset], channelSize); } + Common::MemoryReadStreamEndian *str = new Common::MemoryReadStreamEndian(channelData, ARRAYSIZE(channelData), stream.isBE()); + frame->readChannels(str); + + delete str; + _frames.push_back(frame); } - //remove initial frame + // Remove initial frame _frames.remove_at(0); } @@ -319,8 +348,8 @@ void Score::readVersion(uint32 rid) { debug("Version: %d.%d", _versionMajor, _versionMinor); } -void Score::loadCastData(Common::SeekableSubReadStreamEndian &stream) { - debugC(1, kDebugLoading, "Score::loadCastData(). start: %d, end: %d", _castArrayStart, _castArrayEnd); +void Score::loadCastDataVWCR(Common::SeekableSubReadStreamEndian &stream) { + debugC(1, kDebugLoading, "Score::loadCastDataVWCR(). start: %d, end: %d", _castArrayStart, _castArrayEnd); for (uint16 id = _castArrayStart; id <= _castArrayEnd; id++) { byte size = stream.readByte(); @@ -347,13 +376,13 @@ void Score::loadCastData(Common::SeekableSubReadStreamEndian &stream) { _casts[id]->type = kCastButton; break; default: - warning("Unhandled cast type: %d", castType); + warning("Score::loadCastDataVWCR(): Unhandled cast type: %d", castType); stream.skip(size - 1); break; } } - //Set cast pointers to sprites + // Set cast pointers to sprites for (uint16 i = 0; i < _frames.size(); i++) { for (uint16 j = 0; j < _frames[i]->_sprites.size(); j++) { byte castId = _frames[i]->_sprites[j]->_castId; @@ -364,6 +393,116 @@ void Score::loadCastData(Common::SeekableSubReadStreamEndian &stream) { } } +void Score::loadCastData(Common::SeekableSubReadStreamEndian &stream, uint16 id) { + // d4+ variant + if (stream.size() == 0) + return; + + if (stream.size() < 26) { + warning("CAST data id %d is too small", id); + return; + } + + debugC(3, kDebugLoading, "CASt: id: %d", id); + + if (debugChannelSet(5, kDebugLoading)) + stream.hexdump(stream.size()); + + uint32 size1, size2, size3, castType; + byte unk1 = 0, unk2 = 0, unk3 = 0; + + if (_vm->getVersion() < 5) { + size1 = stream.readUint16(); + size2 = stream.readUint32(); + size3 = 0; + castType = stream.readByte(); + unk1 = stream.readByte(); + unk2 = stream.readByte(); + unk3 = stream.readByte(); + } else { + // FIXME: only the cast type and the strings are good + castType = stream.readUint32(); + size2 = stream.readUint32(); + size3 = stream.readUint32(); + size1 = stream.readUint32(); + assert(size1 == 0x14); + size1 = 0; + } + + debugC(3, kDebugLoading, "CASt: id: %d type: %x size1: %d size2: %d (%x) size3: %d unk1: %d unk2: %d unk3: %d", + id, castType, size1, size2, size2, size3, unk1, unk2, unk3); + + byte *data = (byte *)calloc(size1 + 16, 1); + stream.read(data, size1 + 16); + + Common::MemoryReadStreamEndian castStream(data, size1 + 16, stream.isBE()); + + switch (castType) { + case kCastBitmap: + warning("CASt: Bitmap"); + Common::hexdump(data, size1 + 16); + _casts[id] = new BitmapCast(castStream, _vm->getVersion()); + _casts[id]->type = kCastBitmap; + break; + case kCastText: + warning("CASt: Text"); + Common::hexdump(data, size1 + 16); + _casts[id] = new TextCast(castStream, _vm->getVersion()); + _casts[id]->type = kCastText; + break; + case kCastShape: + warning("CASt: Shape"); + Common::hexdump(data, size1 + 16); + + _casts[id] = new ShapeCast(castStream, _vm->getVersion()); + _casts[id]->type = kCastShape; + break; + case kCastButton: + warning("CASt: Button"); + Common::hexdump(data, size1 + 16); + + _casts[id] = new ButtonCast(castStream, _vm->getVersion()); + _casts[id]->type = kCastButton; + break; + case kCastScript: + _casts[id] = new ScriptCast(castStream, _vm->getVersion()); + _casts[id]->type = kCastScript; + break; + default: + warning("Score::loadCastData(): Unhandled cast type: %d", castType); + break; + } + + free(data); + + if (size2) { + uint32 entryType = 0; + Common::Array<Common::String> castStrings = loadStrings(stream, entryType, false); + + debugCN(4, kDebugLoading, "str(%d): '", castStrings.size()); + + for (uint i = 0; i < castStrings.size(); i++) { + debugCN(4, kDebugLoading, "%s'", castStrings[i].c_str()); + if (i != castStrings.size() - 1) + debugCN(4, kDebugLoading, ", '"); + } + debugC(4, kDebugLoading, "'"); + + CastInfo *ci = new CastInfo(); + + ci->script = castStrings[0]; + ci->name = castStrings[1]; + ci->directory = castStrings[2]; + ci->fileName = castStrings[3]; + ci->type = castStrings[4]; + + _castsInfo[id] = ci; + } + + if (size3) + warning("size3: %x", size3); +} + void Score::loadLabels(Common::SeekableSubReadStreamEndian &stream) { _labels = new Common::SortedArray<Label *>(compareLabels); uint16 count = stream.readUint16() + 1; @@ -379,9 +518,11 @@ void Score::loadLabels(Common::SeekableSubReadStreamEndian &stream) { stream.seek(stringPos); Common::String label; + for (uint16 j = stringPos; j < nextStringPos; j++) { label += stream.readByte(); } + _labels->insert(new Label(label, frame)); stream.seek(streamPos); @@ -405,7 +546,7 @@ void Score::loadActions(Common::SeekableSubReadStreamEndian &stream) { uint16 offset = count * 4 + 2; byte id = stream.readByte(); - /*byte subId = */ stream.readByte(); //I couldn't find how it used in continuity (except print). Frame actionId = 1 byte. + /*byte subId = */ stream.readByte(); // I couldn't find how it used in continuity (except print). Frame actionId = 1 byte. uint16 stringPos = stream.readUint16() + offset; for (uint16 i = 0; i < count; i++) { @@ -647,28 +788,31 @@ Common::Array<Common::String> Score::loadStrings(Common::SeekableSubReadStreamEn stream.seek(offset); } - uint16 count = stream.readUint16(); - offset += (count + 1) * 4 + 2; // positions info + uint16 count - uint32 startPos = stream.readUint32() + offset; + uint16 count = stream.readUint16() + 1; - for (uint16 i = 0; i < count; i++) { - Common::String entryString; - uint32 nextPos = stream.readUint32() + offset; - uint32 streamPos = stream.pos(); + uint32 *entries = (uint32 *)calloc(count, sizeof(uint32)); - stream.seek(startPos); + for (uint i = 0; i < count; i++) + entries[i] = stream.readUint32(); - while (startPos != nextPos) { - entryString += stream.readByte(); - ++startPos; - } + byte *data = (byte *)malloc(entries[count - 1]); + stream.read(data, entries[count - 1]); - strings.push_back(entryString); + for (uint i = 0; i < count - 1; i++) { + Common::String entryString; - stream.seek(streamPos); - startPos = nextPos; + for (uint j = entries[i]; j < entries[i + 1]; j++) + if (data[j] == '\r') + entryString += '\n'; + else + entryString += data[j]; + + strings.push_back(entryString); } + free(data); + free(entries); + return strings; } @@ -697,77 +841,14 @@ void Score::loadFontMap(Common::SeekableSubReadStreamEndian &stream) { } } -BitmapCast::BitmapCast(Common::SeekableSubReadStreamEndian &stream) { - flags = stream.readByte(); - someFlaggyThing = stream.readUint16(); - initialRect = Score::readRect(stream); - boundingRect = Score::readRect(stream); - regY = stream.readUint16(); - regX = stream.readUint16(); - unk1 = unk2 = 0; - - if (someFlaggyThing & 0x8000) { - unk1 = stream.readUint16(); - unk2 = stream.readUint16(); - } - modified = 0; -} - -TextCast::TextCast(Common::SeekableSubReadStreamEndian &stream) { - flags1 = stream.readByte(); - borderSize = static_cast<SizeType>(stream.readByte()); - gutterSize = static_cast<SizeType>(stream.readByte()); - boxShadow = static_cast<SizeType>(stream.readByte()); - textType = static_cast<TextType>(stream.readByte()); - textAlign = static_cast<TextAlignType>(stream.readUint16()); - palinfo1 = stream.readUint16(); - palinfo2 = stream.readUint16(); - palinfo3 = stream.readUint16(); - - int t = stream.readUint32(); - assert(t == 0); // So far we saw only 0 here - - initialRect = Score::readRect(stream); - textShadow = static_cast<SizeType>(stream.readByte()); - byte flags = stream.readByte(); - if (flags & 0x1) - textFlags.push_back(kTextFlagEditable); - if (flags & 0x2) - textFlags.push_back(kTextFlagAutoTab); - if (flags & 0x4) - textFlags.push_back(kTextFlagDoNotWrap); - if (flags & 0xf8) - warning("Unproxessed text cast flags: %x", flags & 0xf8); - - // TODO: FIXME: guesswork - fontId = stream.readByte(); - fontSize = stream.readByte(); - - modified = 0; -} - -ShapeCast::ShapeCast(Common::SeekableSubReadStreamEndian &stream) { - /*byte flags = */ stream.readByte(); - /*unk1 = */ stream.readByte(); - shapeType = static_cast<ShapeType>(stream.readByte()); - initialRect = Score::readRect(stream); - pattern = stream.readUint16BE(); - fgCol = stream.readByte(); - bgCol = stream.readByte(); - fillType = stream.readByte(); - lineThickness = stream.readByte(); - lineDirection = stream.readByte(); - modified = 0; -} - -Common::Rect Score::readRect(Common::SeekableSubReadStreamEndian &stream) { - Common::Rect *rect = new Common::Rect(); - rect->top = stream.readUint16(); - rect->left = stream.readUint16(); - rect->bottom = stream.readUint16(); - rect->right = stream.readUint16(); +Common::Rect Score::readRect(Common::ReadStreamEndian &stream) { + Common::Rect rect; + rect.top = stream.readUint16(); + rect.left = stream.readUint16(); + rect.bottom = stream.readUint16(); + rect.right = stream.readUint16(); - return *rect; + return rect; } void Score::startLoop() { @@ -930,4 +1011,4 @@ Sprite *Score::getSpriteById(uint16 id) { } } -} //End of namespace Director +} // End of namespace Director diff --git a/engines/director/score.h b/engines/director/score.h index 83f25284b1..9f6088307b 100644 --- a/engines/director/score.h +++ b/engines/director/score.h @@ -34,26 +34,14 @@ namespace Graphics { namespace Director { class Archive; +struct CastInfo; class DirectorEngine; class DirectorSound; class Frame; +struct Label; class Lingo; class Sprite; -enum CastType { - kCastBitmap = 1, - kCastFilmLoop, - kCastText, - kCastPalette, - kCastPicture, - kCastSound, - kCastButton, - kCastShape, - kCastMovie, - kCastDigitalVideo, - kCastScript -}; - enum ScriptType { kMovieScript = 0, kSpriteScript = 1, @@ -62,120 +50,12 @@ enum ScriptType { kMaxScriptType = 2 }; -struct Cast { - CastType type; - Common::Rect initialRect; - byte modified; -}; - -struct BitmapCast : Cast { - BitmapCast(Common::SeekableSubReadStreamEndian &stream); - - Common::Rect boundingRect; - uint16 regX; - uint16 regY; - uint8 flags; - uint16 someFlaggyThing; - uint16 unk1, unk2; -}; - -enum ShapeType { - kShapeRectangle, - kShapeRoundRect, - kShapeOval, - kShapeLine -}; - -struct ShapeCast : Cast { - ShapeCast(Common::SeekableSubReadStreamEndian &stream); - - ShapeType shapeType; - uint16 pattern; - byte fgCol; - byte bgCol; - byte fillType; - byte lineThickness; - byte lineDirection; -}; - -enum TextType { - kTextTypeAdjustToFit, - kTextTypeScrolling, - kTextTypeFixed -}; - -enum TextAlignType { - kTextAlignRight = -1, - kTextAlignLeft, - kTextAlignCenter -}; - -enum TextFlag { - kTextFlagEditable, - kTextFlagAutoTab, - kTextFlagDoNotWrap -}; - -enum SizeType { - kSizeNone, - kSizeSmallest, - kSizeSmall, - kSizeMedium, - kSizeLarge, - kSizeLargest -}; - -struct TextCast : Cast { - TextCast(Common::SeekableSubReadStreamEndian &stream); - - SizeType borderSize; - SizeType gutterSize; - SizeType boxShadow; - - byte flags1; - uint32 fontId; - uint16 fontSize; - TextType textType; - TextAlignType textAlign; - SizeType textShadow; - Common::Array<TextFlag> textFlags; - int16 palinfo1, palinfo2, palinfo3; -}; - -enum ButtonType { - kTypeButton, - kTypeCheckBox, - kTypeRadio -}; - -struct ButtonCast : TextCast { - ButtonCast(Common::SeekableSubReadStreamEndian &stream) : TextCast(stream) { - buttonType = static_cast<ButtonType>(stream.readUint16BE()); - } - - ButtonType buttonType; -}; - -struct CastInfo { - Common::String script; - Common::String name; - Common::String directory; - Common::String fileName; - Common::String type; -}; - -struct Label { - Common::String name; - uint16 number; - Label(Common::String name1, uint16 number1) { name = name1; number = number1; } -}; - class Score { public: Score(DirectorEngine *vm, Archive *); ~Score(); - static Common::Rect readRect(Common::SeekableSubReadStreamEndian &stream); + static Common::Rect readRect(Common::ReadStreamEndian &stream); static int compareLabels(const void *a, const void *b); void loadArchive(); void setStartToLabel(Common::String label); @@ -186,7 +66,8 @@ public: void processEvents(); Archive *getArchive() const { return _movieArchive; }; void loadConfig(Common::SeekableSubReadStreamEndian &stream); - void loadCastData(Common::SeekableSubReadStreamEndian &stream); + void loadCastDataVWCR(Common::SeekableSubReadStreamEndian &stream); + void loadCastData(Common::SeekableSubReadStreamEndian &stream, uint16 id); void setCurrentFrame(uint16 frameId) { _currentFrame = frameId; } int getCurrentFrame() { return _currentFrame; } Common::String getMacName() const { return _macName; } @@ -243,6 +124,6 @@ private: DirectorEngine *_vm; }; -} //End of namespace Director +} // End of namespace Director #endif diff --git a/engines/director/sound.cpp b/engines/director/sound.cpp index af08094821..1bd70d257d 100644 --- a/engines/director/sound.cpp +++ b/engines/director/sound.cpp @@ -102,4 +102,4 @@ void DirectorSound::stopSound() { _mixer->stopHandle(*_sound2); } -} //End of namespace Director +} // End of namespace Director diff --git a/engines/director/sprite.cpp b/engines/director/sprite.cpp index 24db236563..a59313ad33 100644 --- a/engines/director/sprite.cpp +++ b/engines/director/sprite.cpp @@ -21,6 +21,7 @@ */ #include "director/director.h" +#include "director/cast.h" #include "director/score.h" #include "director/sprite.h" @@ -93,4 +94,4 @@ Sprite::~Sprite() { delete _cast; } -} //End of namespace Director +} // End of namespace Director diff --git a/engines/director/sprite.h b/engines/director/sprite.h index e879f83599..d248036693 100644 --- a/engines/director/sprite.h +++ b/engines/director/sprite.h @@ -51,18 +51,18 @@ enum InkType { //Director v4 enum SpriteType { - kInactiveSprite, //turns the sprite off + kInactiveSprite, // turns the sprite off kBitmapSprite, kRectangleSprite, kRoundedRectangleSprite, kOvalSprite, - kLineTopBottomSprite, //line from top left to bottom right - kLineBottomTopSprite, //line from bottom left to top right + kLineTopBottomSprite, // line from top left to bottom right + kLineBottomTopSprite, // line from bottom left to top right kTextSprite, kButtonSprite, kCheckboxSprite, kRadioButtonSprite, - kUndeterminedSprite = 16 //use castType property to examine the type of cast member associated with sprite + kUndeterminedSprite = 16 // use castType property to examine the type of cast member associated with sprite }; enum SpritePosition { @@ -97,6 +97,14 @@ public: Sprite(); Sprite(const Sprite &sprite); ~Sprite(); + + byte _x1; + uint16 _x2; + uint16 _scriptId; + byte _flags2; // x40 editable, 0x80 moveable + byte _unk2; + uint32 _unk3; + bool _enabled; byte _castId; InkType _ink; @@ -106,8 +114,8 @@ public: Common::Point _startPoint; uint16 _width; uint16 _height; - //TODO: default constraint = 0, if turned on, sprite is constrainted to the bounding rect - //As i know, constrainted != 0 only if sprite moveable + // TODO: default constraint = 0, if turned on, sprite is constrainted to the bounding rect + // As i know, constrainted != 0 only if sprite moveable byte _constraint; byte _moveable; byte _backColor; @@ -119,19 +127,19 @@ public: byte _blend; bool _visible; SpriteType _type; - //Using in digital movie sprites + // Using in digital movie sprites byte _movieRate; uint16 _movieTime; uint16 _startTime; uint16 _stopTime; byte _volume; byte _stretch; - //Using in shape sprites + // Using in shape sprites byte _lineSize; - //Using in text sprites + // Using in text sprites Common::String _editableText; }; -} //End of namespace Director +} // End of namespace Director #endif diff --git a/engines/dm/group.cpp b/engines/dm/group.cpp index cf748ffa41..a72342da3d 100644 --- a/engines/dm/group.cpp +++ b/engines/dm/group.cpp @@ -1672,7 +1672,10 @@ int16 GroupMan::getChampionDamage(Group *group, uint16 champIndex) { uint16 poisonAttack = creatureInfo._poisonAttack; if (poisonAttack && _vm->getRandomNumber(2)) { poisonAttack = championMan.getStatisticAdjustedAttack(curChampion, kDMStatVitality, poisonAttack); - if (poisonAttack >= 0) + + // Strangerke: In the original, the check was on >= 0, which is pretty useless for a unsigned variable. + // I changed the check to > 0 because, considering the code of championPoison, it avoids a potential bug. + if (poisonAttack > 0) championMan.championPoison(champIndex, poisonAttack); } return damage; diff --git a/engines/fullpipe/statics.cpp b/engines/fullpipe/statics.cpp index 404a8edecc..bf769e2f61 100644 --- a/engines/fullpipe/statics.cpp +++ b/engines/fullpipe/statics.cpp @@ -547,7 +547,7 @@ void Movement::draw(bool flipFlag, int angle) { if (flipFlag) { bmp->flipVertical()->drawShaded(1, x, y + 30 + _currDynamicPhase->_rect->bottom, _currDynamicPhase->_paletteData, _currDynamicPhase->_alpha); - } if (angle) { + } else if (angle) { bmp->drawRotated(x, y, angle, _currDynamicPhase->_paletteData, _currDynamicPhase->_alpha); } else { bmp->putDib(x, y, (int32 *)_currDynamicPhase->_paletteData, _currDynamicPhase->_alpha); diff --git a/engines/kyra/lol.h b/engines/kyra/lol.h index af58397200..9f952e5df6 100644 --- a/engines/kyra/lol.h +++ b/engines/kyra/lol.h @@ -987,8 +987,7 @@ private: uint16 _specialGuiShapeY; uint16 _specialGuiShapeMirrorFlag; - char _lastOverridePalFile[12]; - char *_lastOverridePalFilePtr; + Common::String _lastOverridePalFile; int _lastSpecialColor; int _lastSpecialColorWeight; diff --git a/engines/kyra/scene_lol.cpp b/engines/kyra/scene_lol.cpp index 391de5e49c..a746080190 100644 --- a/engines/kyra/scene_lol.cpp +++ b/engines/kyra/scene_lol.cpp @@ -303,12 +303,10 @@ void LoLEngine::loadLevelGraphics(const char *file, int specialColor, int weight _lastSpecialColor = specialColor; _lastSpecialColorWeight = weight; strcpy(_lastBlockDataFile, file); - if (palFile) { - strcpy(_lastOverridePalFile, palFile); - _lastOverridePalFilePtr = _lastOverridePalFile; - } else { - _lastOverridePalFilePtr = 0; - } + if (palFile) + _lastOverridePalFile = palFile; + else + _lastOverridePalFile.clear(); } if (_flags.use16ColorMode) { @@ -361,8 +359,8 @@ void LoLEngine::loadLevelGraphics(const char *file, int specialColor, int weight memcpy(_vcnColTable, v, 128); v += 128; - if (_lastOverridePalFilePtr) { - _res->loadFileToBuf(_lastOverridePalFilePtr, _screen->getPalette(0).getData(), 384); + if (!_lastOverridePalFile.empty()) { + _res->loadFileToBuf(_lastOverridePalFile.c_str(), _screen->getPalette(0).getData(), 384); } else { _screen->getPalette(0).copy(v, 0, 128); } diff --git a/engines/kyra/timer.cpp b/engines/kyra/timer.cpp index edca3ef5bf..97e989ea38 100644 --- a/engines/kyra/timer.cpp +++ b/engines/kyra/timer.cpp @@ -90,7 +90,7 @@ void TimerManager::reset() { void TimerManager::addTimer(uint8 id, TimerFunc *func, int countdown, bool enabled) { Iterator timer = Common::find_if(_timers.begin(), _timers.end(), TimerEqual(id)); if (timer != _timers.end()) { - warning("Adding allready existing timer %d", id); + warning("Adding already existing timer %d", id); return; } diff --git a/engines/lab/console.cpp b/engines/lab/console.cpp index 20b1f5645b..a90c2605a7 100644 --- a/engines/lab/console.cpp +++ b/engines/lab/console.cpp @@ -81,7 +81,7 @@ bool Console::Cmd_DumpSceneResources(int argc, const char **argv) { "ResetBuffer", "SpecialCmd", "CShowMessage", "PlaySoundNoWait" }; - debugPrintf("Room mesage: %s\n", roomData->_roomMsg.c_str()); + debugPrintf("Room message: %s\n", roomData->_roomMsg.c_str()); debugPrintf("Transition: %s (%d)\n", transitions[roomData->_transitionType], roomData->_transitionType); debugPrintf("Script:\n"); diff --git a/engines/mads/palette.cpp b/engines/mads/palette.cpp index 7651fe8e65..de870295a5 100644 --- a/engines/mads/palette.cpp +++ b/engines/mads/palette.cpp @@ -665,15 +665,15 @@ void Fader::insertionSort(int size, byte *id, byte *value) { int moveCount = size - arrIndex - 1; if (moveCount > 0) { - Common::copy(idP + 1, idP + moveCount + 2, idP); - Common::copy(valueP + 1, valueP + moveCount + 2, valueP); + Common::copy(idP + 1, idP + moveCount + 1, idP); + Common::copy(valueP + 1, valueP + moveCount + 1, valueP); } // Scan for insert spot int idx = 0; if (endIndex > 0) { bool breakFlag = false; - for (; idx <= endIndex && !breakFlag; ++idx) { + for (; idx <= endIndex - 1 && !breakFlag; ++idx) { breakFlag = savedId < id[idx]; } } diff --git a/engines/mads/staticres.cpp b/engines/mads/staticres.cpp index b659d9a27c..6cb76a1d89 100644 --- a/engines/mads/staticres.cpp +++ b/engines/mads/staticres.cpp @@ -43,7 +43,7 @@ const char *const kFenceStr = "fence"; const char *const kOverStr = "over"; const char *const kGameReleaseInfoStr = "ScummVM rev: 8.43 14-Sept-92"; -const char *const kGameReleaseTitleStr = "GAME RELASE VERSION INFO"; +const char *const kGameReleaseTitleStr = "GAME RELEASE VERSION INFO"; const uint32 DEFAULT_VGA_LOW_PALETTE[16] = { 0x000000, 0x0000a8, 0x00a800, 0x00a8a8, 0xa80000, 0xa800a8, 0xa85400, 0xa8a8a8, diff --git a/engines/mohawk/POTFILES b/engines/mohawk/POTFILES index ced02735c7..42d1d084c2 100644 --- a/engines/mohawk/POTFILES +++ b/engines/mohawk/POTFILES @@ -2,4 +2,5 @@ engines/mohawk/detection.cpp engines/mohawk/dialogs.cpp engines/mohawk/myst.cpp engines/mohawk/riven.cpp +engines/mohawk/riven_external.cpp engines/mohawk/mohawk.cpp diff --git a/engines/mohawk/riven.cpp b/engines/mohawk/riven.cpp index a1eef85a69..12b4851a9c 100644 --- a/engines/mohawk/riven.cpp +++ b/engines/mohawk/riven.cpp @@ -147,8 +147,8 @@ Common::Error MohawkEngine_Riven::run() { // We need to have a cursor source, or the game won't work if (!_cursor->hasSource()) { - Common::String message = "You're missing a Riven executable. The Windows executable is 'riven.exe' or 'rivendmo.exe'. "; - message += "Using the 'arcriven.z' installer file also works. In addition, you can use the Mac 'Riven' executable."; + Common::String message = _("You're missing a Riven executable. The Windows executable is 'riven.exe' or 'rivendmo.exe'. "); + message += _("Using the 'arcriven.z' installer file also works. In addition, you can use the Mac 'Riven' executable."); GUIErrorMessage(message); warning("%s", message.c_str()); return Common::kNoGameDataFoundError; @@ -159,7 +159,7 @@ Common::Error MohawkEngine_Riven::run() { // We need extras.mhk for inventory images, marble images, and credits images if (!_extrasFile->openFile("extras.mhk")) { - Common::String message = "You're missing 'extras.mhk'. Using the 'arcriven.z' installer file also works."; + Common::String message = _("You're missing 'extras.mhk'. Using the 'arcriven.z' installer file also works."); GUIErrorMessage(message); warning("%s", message.c_str()); return Common::kNoGameDataFoundError; diff --git a/engines/mohawk/riven_external.cpp b/engines/mohawk/riven_external.cpp index 125630445e..fb98145b44 100644 --- a/engines/mohawk/riven_external.cpp +++ b/engines/mohawk/riven_external.cpp @@ -30,6 +30,7 @@ #include "gui/message.h" #include "common/events.h" #include "common/system.h" +#include "common/translation.h" namespace Mohawk { @@ -209,8 +210,8 @@ void RivenExternal::runCommand(uint16 argc, uint16 *argv) { } void RivenExternal::runDemoBoundaryDialog() { - GUI::MessageDialog dialog("Exploration beyond this point available only within the full version of\n" - "the game."); + GUI::MessageDialog dialog(_("Exploration beyond this point available only within the full version of\n" + "the game.")); dialog.runModal(); } @@ -651,11 +652,11 @@ void RivenExternal::xalaunchbrowser(uint16 argc, uint16 *argv) { // // [YES] [NO] - GUI::MessageDialog dialog("At this point, the Riven Demo would\n" + GUI::MessageDialog dialog(_("At this point, the Riven Demo would\n" "ask if you would like to open a web browser\n" "to bring you to the Red Orb store to buy\n" "the game. ScummVM cannot do that and\n" - "the site no longer exists."); + "the site no longer exists.")); dialog.runModal(); } diff --git a/engines/sci/console.cpp b/engines/sci/console.cpp index 8737c8b954..83f1271252 100644 --- a/engines/sci/console.cpp +++ b/engines/sci/console.cpp @@ -53,6 +53,7 @@ #ifdef ENABLE_SCI32 #include "sci/graphics/frameout.h" #include "sci/graphics/paint32.h" +#include "sci/graphics/palette32.h" #include "video/coktel_decoder.h" #endif @@ -228,6 +229,8 @@ Console::Console(SciEngine *engine) : GUI::Debugger(), registerCmd("view_listnode", WRAP_METHOD(Console, cmdViewListNode)); registerCmd("view_reference", WRAP_METHOD(Console, cmdViewReference)); registerCmd("vr", WRAP_METHOD(Console, cmdViewReference)); // alias + registerCmd("dump_reference", WRAP_METHOD(Console, cmdDumpReference)); + registerCmd("dr", WRAP_METHOD(Console, cmdDumpReference)); // alias registerCmd("view_object", WRAP_METHOD(Console, cmdViewObject)); registerCmd("vo", WRAP_METHOD(Console, cmdViewObject)); // alias registerCmd("active_object", WRAP_METHOD(Console, cmdViewActiveObject)); @@ -446,6 +449,7 @@ bool Console::cmdHelp(int argc, const char **argv) { debugPrintf(" value_type - Determines the type of a value\n"); debugPrintf(" view_listnode - Examines the list node at the given address\n"); debugPrintf(" view_reference / vr - Examines an arbitrary reference\n"); + debugPrintf(" dump_reference / dr - Dumps an arbitrary reference to disk\n"); debugPrintf(" view_object / vo - Examines the object at the given address\n"); debugPrintf(" active_object - Shows information on the currently active object or class\n"); debugPrintf(" acc_object - Shows information on the object or class at the address indexed by the accumulator\n"); @@ -2843,6 +2847,125 @@ bool Console::cmdViewReference(int argc, const char **argv) { return true; } +bool Console::cmdDumpReference(int argc, const char **argv) { + if (argc < 2) { + debugPrintf("Dumps an arbitrary reference to disk.\n"); + debugPrintf("Usage: %s <start address> [<end address>]\n", argv[0]); + debugPrintf("Where <start address> is the starting address to dump\n"); + debugPrintf("<end address>, if provided, is the address where the dump ends\n"); + debugPrintf("Check the \"addresses\" command on how to use addresses\n"); + return true; + } + + reg_t reg = NULL_REG; + reg_t reg_end = NULL_REG; + + if (parse_reg_t(_engine->_gamestate, argv[1], ®, false)) { + debugPrintf("Invalid address passed.\n"); + debugPrintf("Check the \"addresses\" command on how to use addresses\n"); + return true; + } + + if (argc > 2) { + if (parse_reg_t(_engine->_gamestate, argv[2], ®_end, false)) { + debugPrintf("Invalid address passed.\n"); + debugPrintf("Check the \"addresses\" command on how to use addresses\n"); + return true; + } + } + + if (reg.getSegment() == 0 && reg.getOffset() == 0) { + debugPrintf("Register is null.\n"); + return true; + } + + if (g_sci->getKernel()->findRegType(reg) != SIG_TYPE_REFERENCE) { + debugPrintf("%04x:%04x is not a reference\n", PRINT_REG(reg)); + return true; + } + + if (reg_end.getSegment() != reg.getSegment() && reg_end != NULL_REG) { + debugPrintf("Ending segment different from starting segment. Assuming no bound on dump.\n"); + reg_end = NULL_REG; + } + + Common::DumpFile out; + Common::String outFileName; + uint32 bytesWritten; + + switch (_engine->_gamestate->_segMan->getSegmentType(reg.getSegment())) { +#ifdef ENABLE_SCI32 + case SEG_TYPE_BITMAP: { + outFileName = Common::String::format("%04x_%04x.tga", PRINT_REG(reg)); + out.open(outFileName); + SciBitmap &bitmap = *_engine->_gamestate->_segMan->lookupBitmap(reg); + const Color *color = g_sci->_gfxPalette32->getCurrentPalette().colors; + const uint16 numColors = ARRAYSIZE(g_sci->_gfxPalette32->getCurrentPalette().colors); + + out.writeByte(0); // image id length + out.writeByte(1); // color map type (present) + out.writeByte(1); // image type (uncompressed color-mapped) + out.writeSint16LE(0); // index of first color map entry + out.writeSint16LE(numColors); // number of color map entries + out.writeByte(24); // number of bits per color entry (RGB24) + out.writeSint16LE(0); // bottom-left x-origin + out.writeSint16LE(bitmap.getHeight() - 1); // bottom-left y-origin + out.writeSint16LE(bitmap.getWidth()); // width + out.writeSint16LE(bitmap.getHeight()); // height + out.writeByte(8); // bits per pixel + out.writeByte(1 << 5); // origin of pixel data (top-left) + + bytesWritten = 18; + + for (int i = 0; i < numColors; ++i) { + out.writeByte(color->b); + out.writeByte(color->g); + out.writeByte(color->r); + ++color; + } + + bytesWritten += numColors * 3; + bytesWritten += out.write(bitmap.getPixels(), bitmap.getWidth() * bitmap.getHeight()); + break; + } +#endif + + default: { + const SegmentRef block = _engine->_gamestate->_segMan->dereference(reg); + uint32 size = block.maxSize; + + if (size == 0) { + debugPrintf("Size of reference is zero.\n"); + return true; + } + + if (reg_end.getSegment() != 0 && (size < reg_end.getOffset() - reg.getOffset())) { + debugPrintf("Block end out of bounds (size %d). Resetting.\n", size); + reg_end = NULL_REG; + } + + if (reg_end.getSegment() != 0 && (size >= reg_end.getOffset() - reg.getOffset())) { + size = reg_end.getOffset() - reg.getOffset(); + } + + if (reg_end.getSegment() != 0) { + debugPrintf("Block size less than or equal to %d\n", size); + } + + outFileName = Common::String::format("%04x_%04x.dmp", PRINT_REG(reg)); + out.open(outFileName); + bytesWritten = out.write(block.raw, size); + break; + } + } + + out.finalize(); + out.close(); + + debugPrintf("Wrote %u bytes to %s\n", bytesWritten, outFileName.c_str()); + return true; +} + bool Console::cmdViewObject(int argc, const char **argv) { if (argc != 2) { debugPrintf("Examines the object at the given address.\n"); @@ -4530,7 +4653,7 @@ int Console::printObject(reg_t pos) { uint i; if (!obj) { - debugPrintf("[%04x:%04x]: Not an object.", PRINT_REG(pos)); + debugPrintf("[%04x:%04x]: Not an object.\n", PRINT_REG(pos)); return 1; } diff --git a/engines/sci/console.h b/engines/sci/console.h index 0b87a4408b..d4b17ee802 100644 --- a/engines/sci/console.h +++ b/engines/sci/console.h @@ -163,6 +163,7 @@ private: bool cmdValueType(int argc, const char **argv); bool cmdViewListNode(int argc, const char **argv); bool cmdViewReference(int argc, const char **argv); + bool cmdDumpReference(int argc, const char **argv); bool cmdViewObject(int argc, const char **argv); bool cmdViewActiveObject(int argc, const char **argv); bool cmdViewAccumulatorObject(int argc, const char **argv); diff --git a/engines/sci/detection.cpp b/engines/sci/detection.cpp index 83f1d30916..a00da7c5fd 100644 --- a/engines/sci/detection.cpp +++ b/engines/sci/detection.cpp @@ -556,7 +556,7 @@ const ADGameDescription *SciMetaEngine::fallbackDetect(const FileMap &allFiles, s_fallbackDesc.guiOptions = GUIO3(GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI); if (allFiles.contains("resource.map") || allFiles.contains("Data1") - || allFiles.contains("resmap.001") || allFiles.contains("resmap.001")) { + || allFiles.contains("resmap.000") || allFiles.contains("resmap.001")) { foundResMap = true; } diff --git a/engines/sci/detection_tables.h b/engines/sci/detection_tables.h index 22d2b6f308..4a3d13cbed 100644 --- a/engines/sci/detection_tables.h +++ b/engines/sci/detection_tables.h @@ -3398,7 +3398,7 @@ static const struct ADGameDescription SciGameDescriptions[] = { AD_LISTEND}, Common::EN_ANY, Common::kPlatformDOS, 0, GUIO5(GUIO_NOSPEECH, GAMEOPTION_EGA_UNDITHER, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, - // Quest for Glory 1 / Hero's Quest - English DOS 3.5" Floppy (supplied by alonzotg in bug report #3206006) + // Quest for Glory 1 / Hero's Quest - English DOS 3.5" Floppy v1.001 Int#0.000.566 (supplied by alonzotg in bug report #3206006) {"qfg1", "", { {"resource.map", 0, "85512508ed4e4ef1e3b309adabceeda9", 6486}, {"resource.000", 0, "481b034132106390cb5160fe61dd5f58", 80334}, diff --git a/engines/sci/engine/features.h b/engines/sci/engine/features.h index 15c80a7277..36b0d06360 100644 --- a/engines/sci/engine/features.h +++ b/engines/sci/engine/features.h @@ -117,6 +117,17 @@ public: inline bool hasNewPaletteCode() const { return getSciVersion() >= SCI_VERSION_2_1_MIDDLE || g_sci->getGameId() == GID_KQ7; } + + inline bool VMDOpenStopsAudio() const { + // Of the games that use VMDs: + // Yes: Phant1, Shivers, Torin + // No: SQ6 + // TODO: Optional extra flag to kPlayVMD which defaults to Yes: PQ:SWAT + // TODO: SCI3, GK2 (GK2's VMD code is closer to SCI3 than SCI21) + return getSciVersion() == SCI_VERSION_2_1_MIDDLE && + g_sci->getGameId() != GID_SQ6 && + g_sci->getGameId() != GID_GK2; + } #endif /** diff --git a/engines/sci/engine/kernel.h b/engines/sci/engine/kernel.h index cce9a223d3..03c8a673a8 100644 --- a/engines/sci/engine/kernel.h +++ b/engines/sci/engine/kernel.h @@ -466,6 +466,7 @@ reg_t kPlayVMD(EngineState *s, int argc, reg_t *argv); reg_t kPlayVMDOpen(EngineState *s, int argc, reg_t *argv); reg_t kPlayVMDInit(EngineState *s, int argc, reg_t *argv); reg_t kPlayVMDClose(EngineState *s, int argc, reg_t *argv); +reg_t kPlayVMDIgnorePalettes(EngineState *s, int argc, reg_t *argv); reg_t kPlayVMDGetStatus(EngineState *s, int argc, reg_t *argv); reg_t kPlayVMDPlayUntilEvent(EngineState *s, int argc, reg_t *argv); reg_t kPlayVMDShowCursor(EngineState *s, int argc, reg_t *argv); diff --git a/engines/sci/engine/kernel_tables.h b/engines/sci/engine/kernel_tables.h index 6e88112992..8093147cb4 100644 --- a/engines/sci/engine/kernel_tables.h +++ b/engines/sci/engine/kernel_tables.h @@ -466,6 +466,7 @@ static const SciKernelMapSubEntry kPlayVMD_subops[] = { { SIG_SINCE_SCI21, 0, MAP_CALL(PlayVMDOpen), "r(i)(i)", NULL }, { SIG_SINCE_SCI21, 1, MAP_CALL(PlayVMDInit), "ii(i)(i)(ii)", NULL }, { SIG_SINCE_SCI21, 6, MAP_CALL(PlayVMDClose), "", NULL }, + { SIG_SINCE_SCI21, 7, MAP_CALL(PlayVMDIgnorePalettes), "", NULL }, { SIG_SINCE_SCI21, 10, MAP_CALL(PlayVMDGetStatus), "", NULL }, { SIG_SINCE_SCI21, 14, MAP_CALL(PlayVMDPlayUntilEvent), "i(i)(i)", NULL }, { SIG_SINCE_SCI21, 16, MAP_CALL(PlayVMDShowCursor), "i", NULL }, diff --git a/engines/sci/engine/kstring.cpp b/engines/sci/engine/kstring.cpp index 6ec61343b0..74c1f99778 100644 --- a/engines/sci/engine/kstring.cpp +++ b/engines/sci/engine/kstring.cpp @@ -733,11 +733,12 @@ namespace { } bool isSignedType(const char type) { - return type == 'd' || type == 'i'; + // For whatever reason, %d ends up being treated as unsigned in SSCI + return type == 'i'; } bool isUnsignedType(const char type) { - return strchr("uxXoc", type); + return strchr("duxXoc", type); } bool isStringType(const char type) { @@ -805,8 +806,11 @@ Common::String format(const Common::String &source, int argc, const reg_t *argv) continue; } - assert(argIndex < argc); - out += readPlaceholder(in, argv[argIndex++]); + if (argIndex < argc) { + out += readPlaceholder(in, argv[argIndex++]); + } else { + out += readPlaceholder(in, NULL_REG); + } } else { out += *in++; } diff --git a/engines/sci/engine/kvideo.cpp b/engines/sci/engine/kvideo.cpp index 83a02883af..11378d7647 100644 --- a/engines/sci/engine/kvideo.cpp +++ b/engines/sci/engine/kvideo.cpp @@ -428,6 +428,11 @@ reg_t kPlayVMDClose(EngineState *s, int argc, reg_t *argv) { return make_reg(0, g_sci->_video32->getVMDPlayer().close()); } +reg_t kPlayVMDIgnorePalettes(EngineState *s, int argc, reg_t *argv) { + g_sci->_video32->getVMDPlayer().ignorePalettes(); + return s->r_acc; +} + reg_t kPlayVMDGetStatus(EngineState *s, int argc, reg_t *argv) { return make_reg(0, g_sci->_video32->getVMDPlayer().getStatus()); } diff --git a/engines/sci/engine/message.cpp b/engines/sci/engine/message.cpp index b0615b4213..26ab9b47a5 100644 --- a/engines/sci/engine/message.cpp +++ b/engines/sci/engine/message.cpp @@ -333,12 +333,14 @@ void MessageState::popCursorStack() { error("Message: attempt to pop from empty stack"); } -int MessageState::hexDigitToInt(char h) { +int MessageState::hexDigitToWrongInt(char h) { + // Hex digits above 9 are incorrectly interpreted by SSCI as 11-16 instead + // of 10-15 because of a never-fixed typo if ((h >= 'A') && (h <= 'F')) - return h - 'A' + 10; + return h - 'A' + 11; if ((h >= 'a') && (h <= 'f')) - return h - 'a' + 10; + return h - 'a' + 11; if ((h >= '0') && (h <= '9')) return h - '0'; @@ -355,8 +357,8 @@ bool MessageState::stringHex(Common::String &outStr, const Common::String &inStr if (index + 2 >= inStr.size()) return false; - int digit1 = hexDigitToInt(inStr[index + 1]); - int digit2 = hexDigitToInt(inStr[index + 2]); + int digit1 = hexDigitToWrongInt(inStr[index + 1]); + int digit2 = hexDigitToWrongInt(inStr[index + 2]); // Check for hex if ((digit1 == -1) || (digit2 == -1)) diff --git a/engines/sci/engine/message.h b/engines/sci/engine/message.h index ff76534d2d..5847e4767e 100644 --- a/engines/sci/engine/message.h +++ b/engines/sci/engine/message.h @@ -73,7 +73,7 @@ private: bool getRecord(CursorStack &stack, bool recurse, MessageRecord &record); void outputString(reg_t buf, const Common::String &str); Common::String processString(const char *s); - int hexDigitToInt(char h); + int hexDigitToWrongInt(char h); bool stringHex(Common::String &outStr, const Common::String &inStr, uint &index); bool stringLit(Common::String &outStr, const Common::String &inStr, uint &index); bool stringStage(Common::String &outStr, const Common::String &inStr, uint &index); diff --git a/engines/sci/engine/savegame.cpp b/engines/sci/engine/savegame.cpp index 2e4da46b70..720f6783ee 100644 --- a/engines/sci/engine/savegame.cpp +++ b/engines/sci/engine/savegame.cpp @@ -643,20 +643,33 @@ void SoundCommandParser::reconstructPlayList() { _music->_mutex.unlock(); for (MusicList::iterator i = songs.begin(); i != songs.end(); ++i) { - initSoundResource(*i); + MusicEntry *entry = *i; + initSoundResource(entry); - if ((*i)->status == kSoundPlaying) { +#ifdef ENABLE_SCI32 + if (_soundVersion >= SCI_VERSION_2_1_EARLY && entry->isSample) { + const reg_t &soundObj = entry->soundObj; + + if ((int)readSelectorValue(_segMan, soundObj, SELECTOR(loop)) != -1 && + readSelector(_segMan, soundObj, SELECTOR(handle)) != NULL_REG) { + + writeSelector(_segMan, soundObj, SELECTOR(handle), NULL_REG); + processPlaySound(soundObj, entry->playBed); + } + } else +#endif + if (entry->status == kSoundPlaying) { // WORKAROUND: PQ3 (German?) scripts can set volume negative in the // sound object directly without going through DoSound. // Since we re-read this selector when re-playing the sound after loading, // this will lead to unexpected behaviour. As a workaround we // sync the sound object's selectors here. (See bug #5501) - writeSelectorValue(_segMan, (*i)->soundObj, SELECTOR(loop), (*i)->loop); - writeSelectorValue(_segMan, (*i)->soundObj, SELECTOR(priority), (*i)->priority); + writeSelectorValue(_segMan, entry->soundObj, SELECTOR(loop), entry->loop); + writeSelectorValue(_segMan, entry->soundObj, SELECTOR(priority), entry->priority); if (_soundVersion >= SCI_VERSION_1_EARLY) - writeSelectorValue(_segMan, (*i)->soundObj, SELECTOR(vol), (*i)->volume); + writeSelectorValue(_segMan, entry->soundObj, SELECTOR(vol), entry->volume); - processPlaySound((*i)->soundObj, (*i)->playBed); + processPlaySound(entry->soundObj, entry->playBed); } } } diff --git a/engines/sci/engine/script_patches.cpp b/engines/sci/engine/script_patches.cpp index 5ac4b758ba..5f3370bad5 100644 --- a/engines/sci/engine/script_patches.cpp +++ b/engines/sci/engine/script_patches.cpp @@ -2190,8 +2190,27 @@ static const SciScriptPatcherEntry larry6Signatures[] = { #pragma mark - #pragma mark Leisure Suit Larry 6 Hires +// When entering room 270 (diving board) from room 230, a typo in the game +// script means that `setScale` is called accidentally instead of `setScaler`. +// In SSCI this did not do much because the first argument happened to be +// smaller than the y-position of `ego`, but in ScummVM the first argument is +// larger and so a debug message "y value less than vanishingY" is displayed. +static const uint16 larry6HiresSignatureSetScale[] = { + SIG_MAGICDWORD, + 0x38, SIG_UINT16(0x14b), // pushi 014b (setScale) + 0x38, SIG_UINT16(0x05), // pushi 0005 + 0x51, 0x2c, // class 2c (Scaler) + SIG_END +}; + +static const uint16 larry6HiresPatchSetScale[] = { + 0x38, SIG_UINT16(0x14f), // pushi 014f (setScaler) + PATCH_END +}; + // script, description, signature patch static const SciScriptPatcherEntry larry6HiresSignatures[] = { + { true, 270, "fix incorrect setScale call", 1, larry6HiresSignatureSetScale, larry6HiresPatchSetScale }, { true, 64990, "increase number of save games", 1, sci2NumSavesSignature1, sci2NumSavesPatch1 }, { true, 64990, "increase number of save games", 1, sci2NumSavesSignature2, sci2NumSavesPatch2 }, { true, 64990, "disable change directory button", 1, sci2ChangeDirSignature, sci2ChangeDirPatch }, diff --git a/engines/sci/engine/segment.h b/engines/sci/engine/segment.h index 361c1cb895..e8f0be3a79 100644 --- a/engines/sci/engine/segment.h +++ b/engines/sci/engine/segment.h @@ -552,8 +552,17 @@ public: case kArrayTypeID: return ((reg_t *)_data)[index]; case kArrayTypeByte: - case kArrayTypeString: - return make_reg(0, ((byte *)_data)[index]); + case kArrayTypeString: { + int16 value; + + if (getSciVersion() < SCI_VERSION_2_1_MIDDLE) { + value = ((int8 *)_data)[index]; + } else { + value = ((uint8 *)_data)[index]; + } + + return make_reg(0, value); + } default: error("Invalid array type %d", _type); } diff --git a/engines/sci/engine/workarounds.cpp b/engines/sci/engine/workarounds.cpp index dabf79a54b..4e9c59b225 100644 --- a/engines/sci/engine/workarounds.cpp +++ b/engines/sci/engine/workarounds.cpp @@ -399,6 +399,7 @@ const SciWorkaroundEntry kAbs_workarounds[] = { // gameID, room,script,lvl, object-name, method-name, local-call-signature, index, workaround const SciWorkaroundEntry kArraySetElements_workarounds[] = { + { GID_GK1, 302, 64918, 0, "Str", "callKernel", NULL, 0, { WORKAROUND_FAKE, 0 } }, // when erasing a letter on the wall in St Louis Cemetery { GID_PHANTASMAGORIA,902, 64918, 0, "Str", "callKernel", NULL, 0, { WORKAROUND_FAKE, 0 } }, // tries to set an element of a string array to the ego object when starting a new game and selecting a chapter above 1 SCI_WORKAROUNDENTRY_TERMINATOR }; @@ -684,21 +685,6 @@ const SciWorkaroundEntry kNewWindow_workarounds[] = { }; // gameID, room,script,lvl, object-name, method-name, local-call-signature, index, workaround -const SciWorkaroundEntry kNumCels_workarounds[] = { - { GID_GK1, 460, 64998, -1, "GKEgo", "lastCel", NULL, -1, { WORKAROUND_FAKE, 5 } }, // when Gabriel clicks "ask" on the bartender from a distance - { GID_GK1, 808, 64998, -1, "sDJEnters", "changeState", NULL, -1, { WORKAROUND_FAKE, 6 } }, // - { GID_GK2, 470, 64998, -1, "pLookieLoos", "lastCel", NULL, -1, { WORKAROUND_FAKE, 50 } }, // random background movement in the crime scene in Munich city centre - { GID_GK2, 470, 64998, -1, "pNewsCrew", "lastCel", NULL, -1, { WORKAROUND_FAKE, 18 } }, // random background movement in the crime scene in Munich city centre - { GID_GK2, 470, 64998, -1, "pLeberGroup", "lastCel", NULL, -1, { WORKAROUND_FAKE, 22 } }, // random background movement in the crime scene in Munich city centre - { GID_SQ6, 270, 64998, -1, "offWorld", "lastCel", NULL, -1, { WORKAROUND_FAKE, 3 } }, // when exiting the kidnapping room - { GID_SQ6, 320, 64998, -1, "wandererB", "lastCel", NULL, -1, { WORKAROUND_FAKE, 8 } }, // random background movement on Polysorbate LX street 3 - { GID_SQ6, 340, 64998, -1, "wandererB", "lastCel", NULL, -1, { WORKAROUND_FAKE, 8 } }, // random background movement on Polysorbate LX street 1 - { GID_SQ6, 530, 64998, -1, "monitors", "lastCel", NULL, -1, { WORKAROUND_FAKE, 5 } }, // random background movement during cutscene - { GID_SQ6, 680, 64998, -1, "ego", "lastCel", NULL, -1, { WORKAROUND_FAKE, 44 } }, // when double-clicking hand icon on blockage - SCI_WORKAROUNDENTRY_TERMINATOR -}; - -// gameID, room,script,lvl, object-name, method-name, local-call-signature, index, workaround const SciWorkaroundEntry kPalVarySetPercent_workarounds[] = { { GID_GK1, 370, 370, 0, "graceComeOut", "changeState", NULL, 0, { WORKAROUND_STILLCALL, 0 } }, // there's an extra parameter in GK1, when changing chapters. This extra parameter seems to be a bug or just unimplemented functionality, as there's no visible change from the original in the chapter change room SCI_WORKAROUNDENTRY_TERMINATOR diff --git a/engines/sci/engine/workarounds.h b/engines/sci/engine/workarounds.h index c50a7fb04e..2d72ae5811 100644 --- a/engines/sci/engine/workarounds.h +++ b/engines/sci/engine/workarounds.h @@ -85,7 +85,6 @@ extern const SciWorkaroundEntry kIsObject_workarounds[]; extern const SciWorkaroundEntry kMemory_workarounds[]; extern const SciWorkaroundEntry kMoveCursor_workarounds[]; extern const SciWorkaroundEntry kNewWindow_workarounds[]; -extern const SciWorkaroundEntry kNumCels_workarounds[]; extern const SciWorkaroundEntry kPalVarySetPercent_workarounds[]; extern const SciWorkaroundEntry kRandom_workarounds[]; extern const SciWorkaroundEntry kReadNumber_workarounds[]; diff --git a/engines/sci/graphics/celobj32.cpp b/engines/sci/graphics/celobj32.cpp index 430500ce1e..09ea05bd59 100644 --- a/engines/sci/graphics/celobj32.cpp +++ b/engines/sci/graphics/celobj32.cpp @@ -800,7 +800,7 @@ int16 CelObjView::getNumLoops(const GuiResourceId viewId) { return resource->data[2]; } -int16 CelObjView::getNumCels(const GuiResourceId viewId, const int16 loopNo) { +int16 CelObjView::getNumCels(const GuiResourceId viewId, int16 loopNo) { const Resource *const resource = g_sci->getResMan()->findResource(ResourceId(kResourceTypeView, viewId), false); if (!resource) { @@ -813,25 +813,15 @@ int16 CelObjView::getNumCels(const GuiResourceId viewId, const int16 loopNo) { // Every version of SCI32 has a logic error in this function that causes // random memory to be read if a script requests the cel count for one - // past the maximum loop index. At least GK1 room 800 does this, and gets - // stuck in an infinite loop because the game script expects this method - // to return a non-zero value. - // The scope of this bug means it is likely to pop up in other games, so we - // explicitly trap the bad condition here and report it so that any other - // game scripts relying on this broken behavior can be fixed as well + // past the maximum loop index. For example, GK1 room 808 does this, and + // gets stuck in an infinite loop because the game script expects this + // method to return a non-zero value. + // This bug is triggered in basically every SCI32 game and appears to be + // universally fixable simply by always using the next lowest loop instead. if (loopNo == loopCount) { - SciCallOrigin origin; - SciWorkaroundSolution solution = trackOriginAndFindWorkaround(0, kNumCels_workarounds, &origin); - switch (solution.type) { - case WORKAROUND_NONE: - error("[CelObjView::getNumCels]: loop number %d is equal to loop count in view %u, %s", loopNo, viewId, origin.toString().c_str()); - case WORKAROUND_FAKE: - return (int16)solution.value; - case WORKAROUND_IGNORE: - return 0; - case WORKAROUND_STILLCALL: - break; - } + const SciCallOrigin origin = g_sci->getEngineState()->getCurrentCallOrigin(); + debugC(kDebugLevelWorkarounds, "Workaround: kNumCels loop %d -> loop %d in view %u, %s", loopNo, loopNo - 1, viewId, origin.toString().c_str()); + --loopNo; } if (loopNo > loopCount || loopNo < 0) { diff --git a/engines/sci/graphics/lists32.h b/engines/sci/graphics/lists32.h index 4f74c77325..ff0bc6ceae 100644 --- a/engines/sci/graphics/lists32.h +++ b/engines/sci/graphics/lists32.h @@ -170,6 +170,13 @@ public: } /** + * The maximum number of elements the container is able to hold. + */ + size_type max_size() const { + return N; + } + + /** * The number of populated slots in the array. The size * of the array will only go down once `pack` is called. */ diff --git a/engines/sci/graphics/palette32.h b/engines/sci/graphics/palette32.h index 81e9bbbfd3..c4cfb35096 100644 --- a/engines/sci/graphics/palette32.h +++ b/engines/sci/graphics/palette32.h @@ -23,7 +23,6 @@ #ifndef SCI_GRAPHICS_PALETTE32_H #define SCI_GRAPHICS_PALETTE32_H -#include "sci/graphics/palette.h" namespace Sci { #pragma mark HunkPalette diff --git a/engines/sci/graphics/screen.cpp b/engines/sci/graphics/screen.cpp index 23e92ef6a9..de6df39bb9 100644 --- a/engines/sci/graphics/screen.cpp +++ b/engines/sci/graphics/screen.cpp @@ -84,11 +84,6 @@ GfxScreen::GfxScreen(ResourceManager *resMan) : _resMan(resMan) { } } - if (_resMan->detectHires()) { - _scriptWidth = 640; - _scriptHeight = 480; - } - // if not yet set, set those to script-width/height if (!_width) _width = _scriptWidth; diff --git a/engines/sci/graphics/text32.cpp b/engines/sci/graphics/text32.cpp index d142ff75c3..7375fdeffd 100644 --- a/engines/sci/graphics/text32.cpp +++ b/engines/sci/graphics/text32.cpp @@ -527,7 +527,7 @@ int16 GfxText32::getTextWidth(const uint index, uint length) const { --length; } } else { - width += font->getCharWidth(currentChar); + width += font->getCharWidth((unsigned char)currentChar); } if (length > 0) { diff --git a/engines/sci/graphics/transitions32.cpp b/engines/sci/graphics/transitions32.cpp index ddcb50b140..bad0185179 100644 --- a/engines/sci/graphics/transitions32.cpp +++ b/engines/sci/graphics/transitions32.cpp @@ -778,7 +778,7 @@ bool GfxTransitions32::processPixelDissolve21Mid(const PlaneShowStyle &showStyle int seq = 1; uint iteration = 0; - const uint numIterationsPerTick = ARRAYSIZE(g_sci->_gfxFrameout->_showList); + const uint numIterationsPerTick = g_sci->_gfxFrameout->_showList.max_size(); clearShowRects(); diff --git a/engines/sci/graphics/video32.cpp b/engines/sci/graphics/video32.cpp index 1db66644c8..bf0c990015 100644 --- a/engines/sci/graphics/video32.cpp +++ b/engines/sci/graphics/video32.cpp @@ -28,6 +28,7 @@ #include "engine.h" // for Engine, g_engine #include "engines/util.h" // for initGraphics #include "sci/console.h" // for Console +#include "sci/engine/features.h" // for GameFeatures #include "sci/engine/state.h" // for EngineState #include "sci/engine/vm_types.h" // for reg_t #include "sci/event.h" // for SciEvent, EventManager, SCI_... @@ -39,10 +40,12 @@ #include "sci/graphics/plane32.h" // for Plane, PlanePictureCodes::kP... #include "sci/graphics/screen_item32.h" // for ScaleInfo, ScreenItem, Scale... #include "sci/sci.h" // for SciEngine, g_sci, getSciVersion -#include "sci/graphics/video32.h" +#include "sci/sound/audio32.h" // for Audio32 #include "sci/video/seq_decoder.h" // for SEQDecoder #include "video/avi_decoder.h" // for AVIDecoder #include "video/coktel_decoder.h" // for AdvancedVMDDecoder +#include "sci/graphics/video32.h" + namespace Graphics { struct Surface; } namespace Sci { @@ -68,7 +71,8 @@ void SEQPlayer::play(const Common::String &fileName, const int16 numTicks, const // mechanism that is very similar to that used by the VMD player, which // allows the SEQ to be drawn into a bitmap ScreenItem and displayed using // the normal graphics system. - _segMan->allocateBitmap(&_bitmap, _decoder->getWidth(), _decoder->getHeight(), kDefaultSkipColor, 0, 0, kLowResX, kLowResY, 0, false, false); + SciBitmap &bitmap = *_segMan->allocateBitmap(&_bitmap, _decoder->getWidth(), _decoder->getHeight(), kDefaultSkipColor, 0, 0, kLowResX, kLowResY, 0, false, false); + bitmap.getBuffer().fillRect(Common::Rect(_decoder->getWidth(), _decoder->getHeight()), 0); CelInfo32 celInfo; celInfo.type = kCelTypeMem; @@ -163,49 +167,37 @@ AVIPlayer::IOStatus AVIPlayer::init1x(const int16 x, const int16 y, int16 width, _pixelDouble = false; if (!width || !height) { - width = _decoder->getWidth(); - height = _decoder->getHeight(); - } else if (getSciVersion() == SCI_VERSION_2_1_EARLY && g_sci->getGameId() == GID_KQ7) { - // KQ7 1.51 provides an explicit width and height when it wants scaling, - // though the width and height it provides are not scaled - _pixelDouble = true; - width *= 2; - height *= 2; - } - - // QFG4CD gives non-multiple-of-2 values for width and height, - // which would normally be OK except the source video is a pixel bigger - // in each dimension + const int16 screenWidth = g_sci->_gfxFrameout->getCurrentBuffer().screenWidth; + const int16 screenHeight = g_sci->_gfxFrameout->getCurrentBuffer().screenHeight; + const int16 scriptWidth = g_sci->_gfxFrameout->getCurrentBuffer().scriptWidth; + const int16 scriptHeight = g_sci->_gfxFrameout->getCurrentBuffer().scriptHeight; + const Ratio screenToScriptX(scriptWidth, screenWidth); + const Ratio screenToScriptY(scriptHeight, screenHeight); + width = (_decoder->getWidth() * screenToScriptX).toInt(); + height = (_decoder->getHeight() * screenToScriptY).toInt(); + } + + // QFG4CD gives non-multiple-of-2 values for width and height of the intro + // video, which would normally be OK except the source video is a pixel + // bigger in each dimension so it just causes part of the video to get cut + // off width = (width + 1) & ~1; height = (height + 1) & ~1; - _drawRect.left = x; - _drawRect.top = y; - _drawRect.right = x + width; - _drawRect.bottom = y + height; - - // SCI2.1mid uses init2x to draw a pixel-doubled AVI, but SCI2 has only the - // one play routine which automatically pixel-doubles in hi-res mode - if (getSciVersion() == SCI_VERSION_2) { - // This is somewhat of a hack; credits.avi from GK1 is not - // rendered correctly in SSCI because it is a 640x480 video, but the - // game script gives the wrong dimensions. Since this is the only - // high-resolution AVI ever used, just set the draw rectangle to draw - // the entire screen - if (_decoder->getWidth() > 320) { - _drawRect.left = 0; - _drawRect.top = 0; - _drawRect.right = 320; - _drawRect.bottom = 200; - } - - // In hi-res mode, video will be pixel doubled, so the origin (which - // corresponds to the correct position without pixel doubling) needs to - // be corrected - if (g_sci->_gfxFrameout->_isHiRes && _decoder->getWidth() <= 320) { - _drawRect.left /= 2; - _drawRect.top /= 2; - } + // GK1 CREDITS.AVI is not rendered correctly in SSCI because it is a 640x480 + // video and the game script gives the wrong dimensions. + // Since this is the only high-resolution AVI ever used by any SCI game, + // just set the draw rectangle to draw across the entire screen + if (g_sci->getGameId() == GID_GK1 && _decoder->getWidth() > 320) { + _drawRect.left = 0; + _drawRect.top = 0; + _drawRect.right = 320; + _drawRect.bottom = 200; + } else { + _drawRect.left = x; + _drawRect.top = y; + _drawRect.right = x + width; + _drawRect.bottom = y + height; } init(); @@ -222,8 +214,8 @@ AVIPlayer::IOStatus AVIPlayer::init2x(const int16 x, const int16 y) { _drawRect.top = y; _drawRect.right = x + _decoder->getWidth() * 2; _drawRect.bottom = y + _decoder->getHeight() * 2; - _pixelDouble = true; + init(); return kIOSuccess; @@ -233,42 +225,38 @@ void AVIPlayer::init() { int16 xRes; int16 yRes; - bool useScreenDimensions = false; - if (g_sci->_gfxFrameout->_isHiRes && _decoder->getWidth() > 320) { - useScreenDimensions = true; - } - - // KQ7 1.51 gives video position in screen coordinates, not game - // coordinates, because in SSCI they are passed to Video for Windows, which - // renders as an overlay on the game video. Because we put the video into a - // ScreenItem instead of rendering directly to the hardware surface, the - // coordinates need to be converted to game script coordinates - if (g_sci->getGameId() == GID_KQ7 && getSciVersion() == SCI_VERSION_2_1_EARLY) { - useScreenDimensions = !_pixelDouble; - // This y-translation is arbitrary, based on what roughly centers the - // videos in the game window - _drawRect.translate(-_drawRect.left / 2, -_drawRect.top * 2 / 3); - } - - if (useScreenDimensions) { + // GK1 CREDITS.AVI or KQ7 1.51 half-size videos + if ((g_sci->_gfxFrameout->_isHiRes && _decoder->getWidth() > 320) || + (g_sci->getGameId() == GID_KQ7 && getSciVersion() == SCI_VERSION_2_1_EARLY && _drawRect.width() <= 160)) { xRes = g_sci->_gfxFrameout->getCurrentBuffer().screenWidth; yRes = g_sci->_gfxFrameout->getCurrentBuffer().screenHeight; } else { xRes = g_sci->_gfxFrameout->getCurrentBuffer().scriptWidth; - yRes = g_sci->_gfxFrameout->getCurrentBuffer().scriptHeight; + + const Ratio videoRatio(_decoder->getWidth(), _decoder->getHeight()); + const Ratio screenRatio(4, 3); + + // Videos that already have a 4:3 aspect ratio should not receive any + // aspect ratio correction + if (videoRatio == screenRatio) { + yRes = 240; + } else { + yRes = g_sci->_gfxFrameout->getCurrentBuffer().scriptHeight; + } } _plane = new Plane(_drawRect); g_sci->_gfxFrameout->addPlane(*_plane); if (_decoder->getPixelFormat().bytesPerPixel == 1) { - _segMan->allocateBitmap(&_bitmap, _decoder->getWidth(), _decoder->getHeight(), kDefaultSkipColor, 0, 0, xRes, yRes, 0, false, false); + SciBitmap &bitmap = *_segMan->allocateBitmap(&_bitmap, _decoder->getWidth(), _decoder->getHeight(), kDefaultSkipColor, 0, 0, xRes, yRes, 0, false, false); + bitmap.getBuffer().fillRect(Common::Rect(_decoder->getWidth(), _decoder->getHeight()), 0); CelInfo32 celInfo; celInfo.type = kCelTypeMem; celInfo.bitmap = _bitmap; - _screenItem = new ScreenItem(_plane->_object, celInfo, Common::Point(_drawRect.left, _drawRect.top), ScaleInfo()); + _screenItem = new ScreenItem(_plane->_object, celInfo, Common::Point(), ScaleInfo()); g_sci->_gfxFrameout->addScreenItem(*_screenItem); g_sci->_gfxFrameout->frameOut(true); } else { @@ -384,7 +372,7 @@ void AVIPlayer::renderFrame() const { const uint8 *end = (const uint8 *)surface->getPixels() + surface->w * surface->h; while (source != end) { - uint8 value = *source++; + const uint8 value = *source++; *target++ = value == 0 ? 255 : value; } } else { @@ -414,12 +402,19 @@ void AVIPlayer::renderFrame() const { } else { assert(surface->format.bytesPerPixel == 4); + const int16 screenWidth = g_sci->_gfxFrameout->getCurrentBuffer().screenWidth; + const int16 screenHeight = g_sci->_gfxFrameout->getCurrentBuffer().screenHeight; + const int16 scriptWidth = g_sci->_gfxFrameout->getCurrentBuffer().scriptWidth; + const int16 scriptHeight = g_sci->_gfxFrameout->getCurrentBuffer().scriptHeight; + Common::Rect drawRect(_drawRect); + mulru(drawRect, Ratio(screenWidth, scriptWidth), Ratio(screenHeight, scriptHeight), 1); if (_pixelDouble) { const uint32 *source = (const uint32 *)surface->getPixels(); uint32 *target = (uint32 *)_scaleBuffer; - // target pitch here is in uint32s, not bytes + // target pitch here is in uint32s, not bytes, because the surface + // bpp is 4 const uint16 pitch = surface->pitch / 2; for (int y = 0; y < surface->h; ++y) { for (int x = 0; x < surface->w; ++x) { @@ -434,17 +429,12 @@ void AVIPlayer::renderFrame() const { target += pitch; } - g_system->copyRectToScreen(_scaleBuffer, surface->pitch * 2, _drawRect.left, _drawRect.top, _drawRect.width(), _drawRect.height()); + g_system->copyRectToScreen(_scaleBuffer, surface->pitch * 2, drawRect.left, drawRect.top, _drawRect.width(), _drawRect.height()); } else { - const int16 screenWidth = g_sci->_gfxFrameout->getCurrentBuffer().screenWidth; - const int16 screenHeight = g_sci->_gfxFrameout->getCurrentBuffer().screenHeight; - const int16 scriptWidth = g_sci->_gfxFrameout->getCurrentBuffer().scriptWidth; - const int16 scriptHeight = g_sci->_gfxFrameout->getCurrentBuffer().scriptHeight; - - mulinc(drawRect, Ratio(screenWidth, scriptWidth), Ratio(screenHeight, scriptHeight)); - g_system->copyRectToScreen(surface->getPixels(), surface->pitch, drawRect.left, drawRect.top, surface->w, surface->h); } + + g_system->updateScreen(); } } @@ -500,6 +490,7 @@ VMDPlayer::VMDPlayer(SegManager *segMan, EventManager *eventMan) : _isOpen(false), _isInitialized(false), + _yieldFrame(0), _yieldInterval(0), _lastYieldedFrameNo(0), @@ -512,6 +503,7 @@ VMDPlayer::VMDPlayer(SegManager *segMan, EventManager *eventMan) : _blackLines(false), _leaveScreenBlack(false), _leaveLastFrame(false), + _ignorePalettes(false), _blackoutPlane(nullptr), @@ -538,6 +530,10 @@ VMDPlayer::IOStatus VMDPlayer::open(const Common::String &fileName, const OpenFl error("Attempted to play %s, but another VMD was loaded", fileName.c_str()); } + if (g_sci->_features->VMDOpenStopsAudio()) { + g_sci->_audio32->stop(kAllChannels); + } + if (_decoder->loadFile(fileName)) { if (flags & kOpenFlagMute) { _decoder->setVolume(0); @@ -571,6 +567,7 @@ VMDPlayer::IOStatus VMDPlayer::close() { _decoder->close(); _isOpen = false; _isInitialized = false; + _ignorePalettes = false; if (!_planeIsOwned && _screenItem != nullptr) { g_sci->_gfxFrameout->deleteScreenItem(*_screenItem); @@ -625,12 +622,12 @@ VMDPlayer::VMDStatus VMDPlayer::getStatus() const { VMDPlayer::EventFlags VMDPlayer::kernelPlayUntilEvent(const EventFlags flags, const int16 lastFrameNo, const int16 yieldInterval) { assert(lastFrameNo >= -1); - const int32 maxFrameNo = (int32)(_decoder->getFrameCount() - 1); + const int32 maxFrameNo = _decoder->getFrameCount() - 1; - if ((flags & kEventFlagToFrame) && lastFrameNo > 0) { - _decoder->setEndFrame(MIN<int32>(lastFrameNo, maxFrameNo)); + if (flags & kEventFlagToFrame) { + _yieldFrame = MIN<int32>(lastFrameNo, maxFrameNo); } else { - _decoder->setEndFrame(maxFrameNo); + _yieldFrame = maxFrameNo; } if (flags & kEventFlagYieldToVM) { @@ -705,6 +702,7 @@ VMDPlayer::EventFlags VMDPlayer::playUntilEvent(const EventFlags flags) { reg_t bitmapId; SciBitmap &vmdBitmap = *_segMan->allocateBitmap(&bitmapId, vmdRect.width(), vmdRect.height(), 255, 0, 0, screenWidth, screenHeight, 0, false, false); + vmdBitmap.getBuffer().fillRect(Common::Rect(vmdRect.width(), vmdRect.height()), 0); if (screenWidth != scriptWidth || screenHeight != scriptHeight) { mulru(vmdRect, Ratio(scriptWidth, screenWidth), Ratio(scriptHeight, screenHeight), 1); @@ -767,6 +765,11 @@ VMDPlayer::EventFlags VMDPlayer::playUntilEvent(const EventFlags flags) { const int currentFrameNo = _decoder->getCurFrame(); + if (currentFrameNo == _yieldFrame) { + stopFlag = kEventFlagEnd; + break; + } + if (_yieldInterval > 0 && currentFrameNo != _lastYieldedFrameNo && (currentFrameNo % _yieldInterval) == 0 @@ -826,7 +829,7 @@ void VMDPlayer::renderFrame() const { // we are just submitting it directly here because the decoder exposes // this information a little bit differently than the one in SSCI const bool dirtyPalette = _decoder->hasDirtyPalette(); - if (dirtyPalette) { + if (dirtyPalette && !_ignorePalettes) { Palette palette; palette.timestamp = g_sci->getTickCount(); for (uint16 i = 0; i < _startColor; ++i) { diff --git a/engines/sci/graphics/video32.h b/engines/sci/graphics/video32.h index 75b8fb2d21..4fc627e674 100644 --- a/engines/sci/graphics/video32.h +++ b/engines/sci/graphics/video32.h @@ -326,6 +326,12 @@ private: bool _isInitialized; /** + * For VMDs played with the `kEventFlagToFrame` flag, + * the target frame for yielding back to the SCI VM. + */ + int32 _yieldFrame; + + /** * For VMDs played with the `kEventFlagYieldToVM` flag, * the number of frames that should be rendered until * yielding back to the SCI VM. @@ -347,6 +353,13 @@ private: #pragma mark - #pragma mark VMDPlayer - Rendering +public: + /** + * Causes the VMD player to ignore all palettes in + * the currently playing video. + */ + void ignorePalettes() { _ignorePalettes = true; } + private: /** * The location of the VMD plane, in game script @@ -408,6 +421,11 @@ private: bool _leaveLastFrame; /** + * Whether or not palettes from the VMD should be ignored. + */ + bool _ignorePalettes; + + /** * Renders a frame of video to the output bitmap. */ void renderFrame() const; diff --git a/engines/sci/parser/vocabulary.cpp b/engines/sci/parser/vocabulary.cpp index a09ba8f3ce..a0f958167d 100644 --- a/engines/sci/parser/vocabulary.cpp +++ b/engines/sci/parser/vocabulary.cpp @@ -365,7 +365,7 @@ bool Vocabulary::checkAltInput(Common::String& text, uint16& cursorPos) { } } } - } while (changed && loopCount < 10); + } while (changed && loopCount++ < 10); return ret; } diff --git a/engines/sci/resource.cpp b/engines/sci/resource.cpp index 8826b0625a..5b57eed123 100644 --- a/engines/sci/resource.cpp +++ b/engines/sci/resource.cpp @@ -2459,38 +2459,6 @@ void ResourceManager::detectSciVersion() { } } -bool ResourceManager::detectHires() { - // SCI 1.1 and prior is never hires - if (getSciVersion() <= SCI_VERSION_1_1) - return false; - -#ifdef ENABLE_SCI32 - for (int i = 0; i < 32768; i++) { - Resource *res = findResource(ResourceId(kResourceTypePic, i), 0); - - if (res) { - if (READ_SCI11ENDIAN_UINT16(res->data) == 0x0e) { - // SCI32 picture - uint16 width = READ_SCI11ENDIAN_UINT16(res->data + 10); - uint16 height = READ_SCI11ENDIAN_UINT16(res->data + 12); - // Surely lowres (e.g. QFG4CD) - if ((width == 320) && ((height == 190) || (height == 200))) - return false; - // Surely hires - if ((width >= 600) || (height >= 400)) - return true; - } - } - } - - // We haven't been able to find hires content - - return false; -#else - error("no sci32 support"); -#endif -} - bool ResourceManager::detectFontExtended() { Resource *res = findResource(ResourceId(kResourceTypeFont, 0), 0); diff --git a/engines/sci/resource.h b/engines/sci/resource.h index 70db5909b7..928d571dbc 100644 --- a/engines/sci/resource.h +++ b/engines/sci/resource.h @@ -424,7 +424,6 @@ private: public: #endif - bool detectHires(); // Detects, if standard font of current game includes extended characters (>0x80) bool detectFontExtended(); // Detects, if SCI1.1 game uses palette merging diff --git a/engines/sci/sci.cpp b/engines/sci/sci.cpp index 246c031c06..e89d05217c 100644 --- a/engines/sci/sci.cpp +++ b/engines/sci/sci.cpp @@ -1166,7 +1166,9 @@ void SciEngine::syncIngameAudioOptions() { void SciEngine::updateScummVMAudioOptions() { // Update ScummVM's speech/subtitles settings for SCI1.1 CD games, // depending on the in-game settings - if (isCD() && getSciVersion() == SCI_VERSION_1_1) { + if ((isCD() && getSciVersion() == SCI_VERSION_1_1) || + getSciVersion() >= SCI_VERSION_2) { + uint16 ingameSetting = _gamestate->variables[VAR_GLOBAL][kGlobalVarMessageType].getOffset(); switch (ingameSetting) { diff --git a/engines/scumm/sound.cpp b/engines/scumm/sound.cpp index a62092f493..98958a3050 100644 --- a/engines/scumm/sound.cpp +++ b/engines/scumm/sound.cpp @@ -359,7 +359,7 @@ void Sound::playSound(int soundID) { _currentCDSound = soundID; } else { // All other sound types are ignored - warning("Scumm::Sound::playSound: encountered audio resoure with chunk type 'SOUN' and sound type %d", type); + warning("Scumm::Sound::playSound: encountered audio resource with chunk type 'SOUN' and sound type %d", type); } } else if ((_vm->_game.platform == Common::kPlatformMacintosh) && (_vm->_game.id == GID_INDY3) && READ_BE_UINT16(ptr + 8) == 0x1C) { diff --git a/engines/titanic/carry/arm.cpp b/engines/titanic/carry/arm.cpp index cbc14da477..1f77247e93 100644 --- a/engines/titanic/carry/arm.cpp +++ b/engines/titanic/carry/arm.cpp @@ -108,7 +108,7 @@ bool CArm::TranslateObjectMsg(CTranslateObjectMsg *msg) { bool CArm::UseWithOtherMsg(CUseWithOtherMsg *msg) { if (_string6 != "None") { - CShowTextMsg textMsg("The arm is already holding something."); + CShowTextMsg textMsg(ARM_ALREADY_HOLDING); textMsg.execute("PET"); return false; } else if (msg->_other->getName() == "GondolierLeftLever") { @@ -138,9 +138,10 @@ bool CArm::UseWithOtherMsg(CUseWithOtherMsg *msg) { bool CArm::MouseDragStartMsg(CMouseDragStartMsg *msg) { if (!_fieldE0) { - CShowTextMsg textMsg("You can't get this."); + CShowTextMsg textMsg(YOU_CANT_GET_THIS); textMsg.execute("PET"); } else if (checkStartDragging(msg)) { + hideMouse(); _tempPos = msg->_mousePos - _bounds; setPosition(msg->_mousePos - _tempPos); diff --git a/engines/titanic/carry/carry.cpp b/engines/titanic/carry/carry.cpp index 03798e8713..4f8df11260 100644 --- a/engines/titanic/carry/carry.cpp +++ b/engines/titanic/carry/carry.cpp @@ -25,6 +25,7 @@ #include "titanic/npcs/character.h" #include "titanic/npcs/succubus.h" #include "titanic/pet_control/pet_control.h" +#include "titanic/titanic.h" namespace Titanic { @@ -48,8 +49,8 @@ CCarry::CCarry() : CGameObject(), _fieldDC(0), _fieldE0(1), _itemFrame(0), _enterFrame(0), _enterFrameSet(false), _visibleFrame(0), _string1("None"), _fullViewName("NULL"), - _string3("That doesn't seem to do anything."), - _string4("It doesn't seem to want this.") { + _string3(g_vm->_strings[DOESNT_DO_ANYTHING]), + _string4(g_vm->_strings[DOESNT_WANT_THIS]) { } void CCarry::save(SimpleFile *file, int indent) { @@ -98,18 +99,19 @@ void CCarry::load(SimpleFile *file) { bool CCarry::MouseDragStartMsg(CMouseDragStartMsg *msg) { CString name = getName(); + debugC(ERROR_BASIC, kDebugScripts, "MosueDragStartMsg - %s", name.c_str()); if (_fieldE0) { - if (_visible) { - CShowTextMsg textMsg("You can't get this."); - textMsg.execute("PET"); - } - } else { if (checkStartDragging(msg)) { CPassOnDragStartMsg startMsg(msg->_mousePos); startMsg.execute(this); return true; } + } else { + if (_visible) { + CShowTextMsg textMsg(YOU_CANT_GET_THIS); + textMsg.execute("PET"); + } } return false; @@ -121,6 +123,9 @@ bool CCarry::MouseDragMoveMsg(CMouseDragMoveMsg *msg) { } bool CCarry::MouseDragEndMsg(CMouseDragEndMsg *msg) { + debugC(ERROR_BASIC, kDebugScripts, "MosueDragEndMsg"); + showMouse(); + if (msg->_dropTarget) { if (msg->_dropTarget->isPet()) { petAddToInventory(); @@ -224,6 +229,8 @@ bool CCarry::EnterViewMsg(CEnterViewMsg *msg) { } bool CCarry::PassOnDragStartMsg(CPassOnDragStartMsg *msg) { + hideMouse(); + if (_visibleFrame != -1) loadFrame(_visibleFrame); @@ -234,7 +241,7 @@ bool CCarry::PassOnDragStartMsg(CPassOnDragStartMsg *msg) { _tempPos = msg->_mousePos - _bounds; } - setPosition(_tempPos - getMousePos()); + setPosition(getMousePos() - _tempPos); return true; } diff --git a/engines/titanic/carry/carry_parrot.cpp b/engines/titanic/carry/carry_parrot.cpp index 57d82af78a..ed86384147 100644 --- a/engines/titanic/carry/carry_parrot.cpp +++ b/engines/titanic/carry/carry_parrot.cpp @@ -145,6 +145,7 @@ bool CCarryParrot::MouseDragEndMsg(CMouseDragEndMsg *msg) { } } + showMouse(); return true; } @@ -153,8 +154,8 @@ bool CCarryParrot::PassOnDragStartMsg(CPassOnDragStartMsg *msg) { moveToView(); setPosition(Point(0, 0)); setVisible(true); - playClip("Pick Up", 2); - playClip("Flapping", 1); + playClip("Pick Up", MOVIE_STOP_PREVIOUS); + playClip("Flapping", MOVIE_REPEAT); stopTimer(_timerId); _timerId = addTimer(1000, 1000); diff --git a/engines/titanic/carry/central_core.cpp b/engines/titanic/carry/central_core.cpp index e210b34cbe..afc3b85bf0 100644 --- a/engines/titanic/carry/central_core.cpp +++ b/engines/titanic/carry/central_core.cpp @@ -47,7 +47,7 @@ bool CCentralCore::UseWithOtherMsg(CUseWithOtherMsg *msg) { CPuzzleSolvedMsg solvedMsg; solvedMsg.execute("BigHammer"); } else if (name == "SpeechCentre") { - CShowTextMsg textMsg("This does not reach."); + CShowTextMsg textMsg(DOES_NOT_REACH); textMsg.execute("PET"); } diff --git a/engines/titanic/carry/chicken.cpp b/engines/titanic/carry/chicken.cpp index 0e8f6b3653..b80096b718 100644 --- a/engines/titanic/carry/chicken.cpp +++ b/engines/titanic/carry/chicken.cpp @@ -74,7 +74,7 @@ bool CChicken::UseWithOtherMsg(CUseWithOtherMsg *msg) { actMsg.execute(this); petAddToInventory(); } else { - CShowTextMsg textMsg("The chicken is already clean."); + CShowTextMsg textMsg(CHICKEN_ALREADY_CLEAN); textMsg.execute("PET"); } @@ -200,10 +200,12 @@ bool CChicken::ParrotTriesChickenMsg(CParrotTriesChickenMsg *msg) { } bool CChicken::MouseDragEndMsg(CMouseDragEndMsg *msg) { - if (_field13C) + if (_field13C) { + showMouse(); return true; - else + } else { return CCarry::MouseDragEndMsg(msg); + } } bool CChicken::PETObjectStateMsg(CPETObjectStateMsg *msg) { diff --git a/engines/titanic/carry/hose.cpp b/engines/titanic/carry/hose.cpp index e90119138a..3bfb4eae47 100644 --- a/engines/titanic/carry/hose.cpp +++ b/engines/titanic/carry/hose.cpp @@ -22,6 +22,7 @@ #include "titanic/carry/hose.h" #include "titanic/npcs/succubus.h" +#include "titanic/titanic.h" namespace Titanic { @@ -44,7 +45,7 @@ void CHose::deinit() { } CHose::CHose() : CCarry(), - _string6("Succ-U-Bus auxiliary hose attachment incompatible with sliding glass cover.") { + _string6(g_vm->_strings[HOSE_INCOMPATIBLE]) { } void CHose::save(SimpleFile *file, int indent) { diff --git a/engines/titanic/carry/perch.cpp b/engines/titanic/carry/perch.cpp index 4f0e76bdb0..f432dafa85 100644 --- a/engines/titanic/carry/perch.cpp +++ b/engines/titanic/carry/perch.cpp @@ -40,7 +40,7 @@ void CPerch::load(SimpleFile *file) { bool CPerch::UseWithOtherMsg(CUseWithOtherMsg *msg) { if (msg->_other->isEquals("SpeechCentre")) { - CShowTextMsg textMsg("This does not reach."); + CShowTextMsg textMsg(DOES_NOT_REACH); textMsg.execute("PET"); } diff --git a/engines/titanic/carry/plug_in.cpp b/engines/titanic/carry/plug_in.cpp index 438b9a5883..55767ce9a8 100644 --- a/engines/titanic/carry/plug_in.cpp +++ b/engines/titanic/carry/plug_in.cpp @@ -50,7 +50,7 @@ bool CPlugIn::UseWithOtherMsg(CUseWithOtherMsg *msg) { if (otherName == "PET") { return CCarry::UseWithOtherMsg(msg); } else if (isEquals("DatasideTransporter")) { - CShowTextMsg textMsg("This item is incorrectly calibrated."); + CShowTextMsg textMsg(INCORRECTLY_CALIBRATED); textMsg.execute("PET"); } else if (isEquals("DatasideTransporter")) { error("TODO: Set msg->_other->fieldC4 = 2"); diff --git a/engines/titanic/continue_save_dialog.cpp b/engines/titanic/continue_save_dialog.cpp index 39b7d1942a..0982cab408 100644 --- a/engines/titanic/continue_save_dialog.cpp +++ b/engines/titanic/continue_save_dialog.cpp @@ -54,9 +54,10 @@ CContinueSaveDialog::~CContinueSaveDialog() { } void CContinueSaveDialog::addSavegame(int slot, const CString &name) { - assert(_saves.size() < SAVEGAME_SLOTS_COUNT); - _slotNames[_saves.size()].setText(name); - _saves.push_back(SaveEntry(slot, name)); + if (_saves.size() < SAVEGAME_SLOTS_COUNT) { + _slotNames[_saves.size()].setText(name); + _saves.push_back(SaveEntry(slot, name)); + } } Rect CContinueSaveDialog::getSlotBounds(int index) { diff --git a/engines/titanic/core/background.cpp b/engines/titanic/core/background.cpp index 733dfc1cf3..792cd28346 100644 --- a/engines/titanic/core/background.cpp +++ b/engines/titanic/core/background.cpp @@ -58,7 +58,7 @@ void CBackground::load(SimpleFile *file) { bool CBackground::StatusChangeMsg(CStatusChangeMsg *msg) { setVisible(true); if (_fieldDC) { - playMovie(_startFrame, _endFrame, 16); + playMovie(_startFrame, _endFrame, MOVIE_GAMESTATE); } else { playMovie(_startFrame, _endFrame, 0); } diff --git a/engines/titanic/core/game_object.cpp b/engines/titanic/core/game_object.cpp index 8f71b3d995..76a2f2d5c0 100644 --- a/engines/titanic/core/game_object.cpp +++ b/engines/titanic/core/game_object.cpp @@ -403,8 +403,11 @@ void CGameObject::loadImage(const CString &name, bool pendingFlag) { void CGameObject::loadFrame(int frameNumber) { _frameNumber = -1; - if (!_resource.empty()) + + if (!_surface && !_resource.empty()) { loadResource(_resource); + _resource.clear(); + } if (_surface) _surface->setMovieFrame(frameNumber); @@ -612,9 +615,8 @@ void CGameObject::playMovie(uint flags) { void CGameObject::playMovie(int startFrame, int endFrame, uint flags) { _frameNumber = -1; - if (!_surface) { - if (!_resource.empty()) - loadResource(_resource); + if (!_surface && !_resource.empty()) { + loadResource(_resource); _resource.clear(); } @@ -630,9 +632,8 @@ void CGameObject::playMovie(int startFrame, int endFrame, uint flags) { void CGameObject::playMovie(int startFrame, int endFrame, int initialFrame, uint flags) { _frameNumber = -1; - if (!_surface) { - if (!_resource.empty()) - loadResource(_resource); + if (!_surface && !_resource.empty()) { + loadResource(_resource); _resource.clear(); } @@ -645,6 +646,8 @@ void CGameObject::playMovie(int startFrame, int endFrame, int initialFrame, uint } void CGameObject::playClip(const CString &name, uint flags) { + debugC(ERROR_DETAILED, kDebugScripts, "playClip - %s", name.c_str()); + _frameNumber = -1; CMovieClip *clip = _movieClips.findByName(name); if (clip) @@ -652,6 +655,8 @@ void CGameObject::playClip(const CString &name, uint flags) { } void CGameObject::playClip(uint startFrame, uint endFrame) { + debugC(ERROR_DETAILED, kDebugScripts, "playClip - %d to %d", startFrame, endFrame); + CMovieClip *clip = new CMovieClip("", startFrame, endFrame); CGameManager *gameManager = getGameManager(); CRoomItem *room = gameManager->getRoom(); @@ -753,7 +758,7 @@ int CGameObject::playSound(const CString &name, CProximity &prox) { if (gameManager && !name.empty()) { g_vm->_filesManager->preload(name); - gameManager->_sound.playSound(name, prox); + return gameManager->_sound.playSound(name, prox); } return -1; @@ -864,7 +869,8 @@ CViewItem *CGameObject::parseView(const CString &viewString) { if (project) { if (room->getName() != roomName) { // Scan for the correct room - for (room = project->findFirstRoom(); room && room->getName() != roomName; + for (room = project->findFirstRoom(); + room && room->getName() != roomName; room = project->findNextRoom(room)) ; } } @@ -912,12 +918,12 @@ Point CGameObject::getMousePos() const { } bool CGameObject::compareViewNameTo(const CString &name) const { - return getViewFullName().compareToIgnoreCase(name); + return !getViewFullName().compareToIgnoreCase(name); } int CGameObject::compareRoomNameTo(const CString &name) { CRoomItem *room = getGameManager()->getRoom(); - return room->getName().compareToIgnoreCase(name); + return !room->getName().compareToIgnoreCase(name); } CString CGameObject::getRoomName() const { @@ -1142,11 +1148,11 @@ void CGameObject::lockMouse() { } void CGameObject::hideMouse() { - CScreenManager::_screenManagerPtr->_mouseCursor->hide(); + CScreenManager::_screenManagerPtr->_mouseCursor->incHideCounter(); } void CGameObject::showMouse() { - CScreenManager::_screenManagerPtr->_mouseCursor->show(); + CScreenManager::_screenManagerPtr->_mouseCursor->decHideCounter(); } void CGameObject::disableMouse() { @@ -1159,12 +1165,12 @@ void CGameObject::enableMouse() { showMouse(); } -void CGameObject::mouseLockE4() { - CScreenManager::_screenManagerPtr->_mouseCursor->lockE4(); +void CGameObject::mouseDisableControl() { + CScreenManager::_screenManagerPtr->_mouseCursor->disableControl(); } -void CGameObject::mouseUnlockE4() { - CScreenManager::_screenManagerPtr->_mouseCursor->unlockE4(); +void CGameObject::mouseEnableControl() { + CScreenManager::_screenManagerPtr->_mouseCursor->enableControl(); } void CGameObject::mouseSetPosition(const Point &pt, double rate) { @@ -1330,17 +1336,17 @@ CMusicRoom *CGameObject::getMusicRoom() const { return gameManager ? &gameManager->_musicRoom : nullptr; } -int CGameObject::getPassengerClass() const { +PassengerClass CGameObject::getPassengerClass() const { CGameManager *gameManager = getGameManager(); - return gameManager ? gameManager->_gameState._passengerClass : 3; + return gameManager ? gameManager->_gameState._passengerClass : THIRD_CLASS; } -int CGameObject::getPriorClass() const { +PassengerClass CGameObject::getPriorClass() const { CGameManager *gameManager = getGameManager(); - return gameManager ? gameManager->_gameState._priorClass : 3; + return gameManager ? gameManager->_gameState._priorClass : THIRD_CLASS; } -void CGameObject::setPassengerClass(int newClass) { +void CGameObject::setPassengerClass(PassengerClass newClass) { if (newClass >= 1 && newClass <= 4) { // Change the passenger class CGameManager *gameMan = getGameManager(); @@ -1575,7 +1581,7 @@ void CGameObject::petMoveToHiddenRoom() { } } -void CGameObject::petReassignRoom(int passClassNum) { +void CGameObject::petReassignRoom(PassengerClass passClassNum) { CPetControl *petControl = getPetControl(); if (petControl) petControl->reassignRoom(passClassNum); @@ -1607,7 +1613,7 @@ void CGameObject::petSetRooms1D4(int v) { void CGameObject::petOnSummonBot(const CString &name, int val) { CPetControl *pet = getPetControl(); if (pet) - pet->summonBot(name, val); + pet->onSummonBot(name, val); } void CGameObject::petUnlockInput() { @@ -1654,7 +1660,7 @@ void CGameObject::startTalking(CTrueTalkNPC *npc, uint id, CViewItem *view) { } } -void CGameObject::endTalking(CTrueTalkNPC *npc, bool viewFlag, CViewItem *view) { +void CGameObject::setTalking(CTrueTalkNPC *npc, bool viewFlag, CViewItem *view) { CPetControl *pet = getPetControl(); if (pet) pet->setActiveNPC(npc); diff --git a/engines/titanic/core/game_object.h b/engines/titanic/core/game_object.h index b50278cf21..ae35e2ba5b 100644 --- a/engines/titanic/core/game_object.h +++ b/engines/titanic/core/game_object.h @@ -165,8 +165,15 @@ protected: */ void enableMouse(); - void mouseLockE4(); - void mouseUnlockE4(); + /** + * Disables user control of the mouse + */ + void mouseDisableControl(); + + /** + * Re-enables user control of the mouse + */ + void mouseEnableControl(); /** * Sets the mouse to a new position @@ -445,7 +452,7 @@ protected: /** * Set's the player's passenger class */ - void setPassengerClass(int newClass); + void setPassengerClass(PassengerClass newClass); /** * Overrides whether the object's movie has audio timing @@ -705,12 +712,12 @@ public: /** * Return the player's passenger class */ - int getPassengerClass() const; + PassengerClass getPassengerClass() const; /** * Return the player's previous passenger class */ - int getPriorClass() const; + PassengerClass getPriorClass() const; /** * Sets the mail identifier for an object @@ -877,7 +884,7 @@ public: /** * Gives the player a new assigned room in the specified passenger class */ - void petReassignRoom(int passClassNum); + void petReassignRoom(PassengerClass passClassNum); /** * Sets a new area in the PET @@ -925,19 +932,20 @@ public: /*--- CTrueTalkManager Methods ---*/ /** - * Stop a conversation with the NPC + * Start a conversation with the NPC */ - void endTalking(CTrueTalkNPC *npc, bool viewFlag, CViewItem *view = nullptr); + void startTalking(CTrueTalkNPC *npc, uint id, CViewItem *view = nullptr); /** * Start a conversation with the NPC */ - void startTalking(CTrueTalkNPC *npc, uint id, CViewItem *view = nullptr); + void startTalking(const CString &name, uint id, CViewItem *view = nullptr); /** * Start a conversation with the NPC */ - void startTalking(const CString &name, uint id, CViewItem *view = nullptr); + void setTalking(CTrueTalkNPC *npc, bool viewFlag, CViewItem *view = nullptr); + /** * Sets a dial region for a given NPC diff --git a/engines/titanic/core/project_item.cpp b/engines/titanic/core/project_item.cpp index 65e8645baa..af67f69580 100644 --- a/engines/titanic/core/project_item.cpp +++ b/engines/titanic/core/project_item.cpp @@ -372,15 +372,20 @@ CTreeItem *CProjectItem::findChildInstance(ClassDef *classDef) const { } CRoomItem *CProjectItem::findNextRoom(CRoomItem *priorRoom) const { - return dynamic_cast<CRoomItem *>(findSiblingInstanceOf(CRoomItem::_type, priorRoom)); + return dynamic_cast<CRoomItem *>(findSiblingChildInstanceOf(CRoomItem::_type, priorRoom)); } -CTreeItem *CProjectItem::findSiblingInstanceOf(ClassDef *classDef, CTreeItem *startItem) const { - CTreeItem *treeItem = startItem->getParent()->getNextSibling(); - if (treeItem == nullptr) - return nullptr; +CTreeItem *CProjectItem::findSiblingChildInstanceOf(ClassDef *classDef, CTreeItem *startItem) const { + for (CTreeItem *treeItem = startItem->getParent()->getNextSibling(); + treeItem; treeItem = treeItem->getNextSibling()) { + for (CTreeItem *childItem = treeItem->getFirstChild(); + childItem; childItem = childItem->getNextSibling()) { + if (childItem->isInstanceOf(classDef)) + return childItem; + } + } - return findChildInstance(classDef); + return nullptr; } CDontSaveFileItem *CProjectItem::getDontSaveFileItem() const { diff --git a/engines/titanic/core/project_item.h b/engines/titanic/core/project_item.h index 4d009dd50b..20c4a4377a 100644 --- a/engines/titanic/core/project_item.h +++ b/engines/titanic/core/project_item.h @@ -118,7 +118,7 @@ private: /** * Finds the next sibling occurance of a given class type */ - CTreeItem *findSiblingInstanceOf(ClassDef *classDef, CTreeItem *startItem) const; + CTreeItem *findSiblingChildInstanceOf(ClassDef *classDef, CTreeItem *startItem) const; private: /** * Load project data from the passed file diff --git a/engines/titanic/core/saveable_object.cpp b/engines/titanic/core/saveable_object.cpp index 7522a34737..73b4bf861f 100644 --- a/engines/titanic/core/saveable_object.cpp +++ b/engines/titanic/core/saveable_object.cpp @@ -421,14 +421,14 @@ CSaveableObject *ClassDef::create() { /*------------------------------------------------------------------------*/ -Common::HashMap<Common::String, CSaveableObject::CreateFunction> * - CSaveableObject::_classList = nullptr; -Common::List<ClassDef *> *CSaveableObject::_classDefs; +CSaveableObject::ClassListMap *CSaveableObject::_classList; +CSaveableObject::ClassDefList *CSaveableObject::_classDefs; #define DEFFN(T) CSaveableObject *Function##T() { return new T(); } \ ClassDef *T::_type #define ADDFN(CHILD, PARENT) \ CHILD::_type = new TypeTemplate<CHILD>(#CHILD, PARENT::_type); \ + _classDefs->push_back(CHILD::_type); \ (*_classList)[#CHILD] = Function##CHILD DEFFN(CArm); @@ -835,6 +835,7 @@ DEFFN(CMouseDragMsg); DEFFN(CMouseDragStartMsg); DEFFN(CMouseDragMoveMsg); DEFFN(CMouseDragEndMsg); +DEFFN(CMouseWheelMsg); DEFFN(CMoveToStartPosMsg); DEFFN(CMovieEndMsg); DEFFN(CMovieFrameMsg); @@ -1019,8 +1020,8 @@ DEFFN(CStarControl); DEFFN(CTimeEventInfo); void CSaveableObject::initClassList() { - _classDefs = new Common::List<ClassDef *>(); - _classList = new Common::HashMap<Common::String, CreateFunction>(); + _classDefs = new ClassDefList(); + _classList = new ClassListMap(); ADDFN(CArm, CCarry); ADDFN(CAuditoryCentre, CBrain); ADDFN(CBowlEar, CEar); @@ -1426,6 +1427,7 @@ void CSaveableObject::initClassList() { ADDFN(CMouseDragStartMsg, CMouseDragMsg); ADDFN(CMouseDragMoveMsg, CMouseDragMsg); ADDFN(CMouseDragEndMsg, CMouseDragMsg); + ADDFN(CMouseWheelMsg, CMouseMsg); ADDFN(CMoveToStartPosMsg, CMessage); ADDFN(CMovieEndMsg, CMessage); ADDFN(CMovieFrameMsg, CMessage); @@ -1615,7 +1617,7 @@ void CSaveableObject::initClassList() { } void CSaveableObject::freeClassList() { - Common::List<ClassDef *>::iterator i; + ClassDefList::iterator i; for (i = _classDefs->begin(); i != _classDefs->end(); ++i) delete *i; diff --git a/engines/titanic/core/saveable_object.h b/engines/titanic/core/saveable_object.h index 4c7c1a7737..80525f1156 100644 --- a/engines/titanic/core/saveable_object.h +++ b/engines/titanic/core/saveable_object.h @@ -59,8 +59,10 @@ public: class CSaveableObject { typedef CSaveableObject *(*CreateFunction)(); private: - static Common::List<ClassDef *> *_classDefs; - static Common::HashMap<Common::String, CreateFunction> *_classList; + typedef Common::List<ClassDef *> ClassDefList; + typedef Common::HashMap<Common::String, CreateFunction> ClassListMap; + static ClassDefList *_classDefs; + static ClassListMap *_classList; public: /** * Sets up the list of saveable object classes diff --git a/engines/titanic/core/view_item.cpp b/engines/titanic/core/view_item.cpp index 9b20860a46..aa1ff7108e 100644 --- a/engines/titanic/core/view_item.cpp +++ b/engines/titanic/core/view_item.cpp @@ -270,7 +270,7 @@ bool CViewItem::handleMouseMsg(CMouseMsg *msg, bool flag) { if (gameObjects.size() == 0) return false; - for (int idx = (int)gameObjects.size() - 1; idx >= 0; ++idx) { + for (int idx = (int)gameObjects.size() - 1; idx >= 0; --idx) { if (gameObjects[idx]->_cursorId != CURSOR_IGNORE) { CScreenManager::_screenManagerPtr->_mouseCursor->setCursor(gameObjects[idx]->_cursorId); break; diff --git a/engines/titanic/events.cpp b/engines/titanic/events.cpp index fa057de432..97f9a86eb3 100644 --- a/engines/titanic/events.cpp +++ b/engines/titanic/events.cpp @@ -31,7 +31,7 @@ namespace Titanic { Events::Events(TitanicEngine *vm): _vm(vm), _frameCounter(1), - _priorFrameTime(0) { + _priorFrameTime(0), _specialButtons(0) { } void Events::pollEvents() { @@ -47,33 +47,46 @@ void Events::pollEvents() { eventTarget()->mouseMove(_mousePos); break; case Common::EVENT_LBUTTONDOWN: + _specialButtons |= MK_LBUTTON; _mousePos = event.mouse; eventTarget()->leftButtonDown(_mousePos); break; case Common::EVENT_LBUTTONUP: + _specialButtons &= ~MK_LBUTTON; _mousePos = event.mouse; eventTarget()->leftButtonUp(_mousePos); break; case Common::EVENT_MBUTTONDOWN: + _specialButtons |= MK_MBUTTON; _mousePos = event.mouse; eventTarget()->middleButtonDown(_mousePos); break; case Common::EVENT_MBUTTONUP: + _specialButtons &= ~MK_MBUTTON; _mousePos = event.mouse; eventTarget()->middleButtonUp(_mousePos); break; case Common::EVENT_RBUTTONDOWN: + _specialButtons |= MK_RBUTTON; _mousePos = event.mouse; eventTarget()->rightButtonDown(_mousePos); break; case Common::EVENT_RBUTTONUP: + _specialButtons &= ~MK_RBUTTON; _mousePos = event.mouse; eventTarget()->rightButtonUp(_mousePos); break; + case Common::EVENT_WHEELUP: + case Common::EVENT_WHEELDOWN: + _mousePos = event.mouse; + eventTarget()->mouseWheel(_mousePos, event.type == Common::EVENT_WHEELUP); + break; case Common::EVENT_KEYDOWN: + handleKbdSpecial(event.kbd); eventTarget()->keyDown(event.kbd); break; case Common::EVENT_KEYUP: + handleKbdSpecial(event.kbd); eventTarget()->keyUp(event.kbd); break; default: @@ -125,31 +138,34 @@ void Events::sleep(uint time) { } bool Events::waitForPress(uint expiry) { - CGameManager *gameManager = g_vm->_window->_gameManager; uint32 delayEnd = g_system->getMillis() + expiry; + CPressTarget pressTarget; + addTarget(&pressTarget); - while (!_vm->shouldQuit() && g_system->getMillis() < delayEnd) { - g_system->delayMillis(10); - checkForNextFrameCounter(); - - // Regularly update the sound mixer - if (gameManager) - gameManager->_sound.updateMixer(); - - Common::Event event; - if (g_system->getEventManager()->pollEvent(event)) { - switch (event.type) { - case Common::EVENT_LBUTTONDOWN: - case Common::EVENT_MBUTTONDOWN: - case Common::EVENT_KEYDOWN: - return true; - default: - break; - } - } + while (!_vm->shouldQuit() && g_system->getMillis() < delayEnd && !pressTarget._pressed) { + pollEventsAndWait(); } - return false; + removeTarget(); + return pressTarget._pressed; +} + +void Events::setMousePos(const Common::Point &pt) { + g_system->warpMouse(pt.x, pt.y); + _mousePos = pt; + eventTarget()->mouseMove(_mousePos); +} + +void Events::handleKbdSpecial(Common::KeyState keyState) { + if (keyState.flags & Common::KBD_CTRL) + _specialButtons |= MK_CONTROL; + else + _specialButtons &= ~MK_CONTROL; + + if (keyState.flags & Common::KBD_SHIFT) + _specialButtons |= MK_SHIFT; + else + _specialButtons &= ~MK_SHIFT; } } // End of namespace Titanic diff --git a/engines/titanic/events.h b/engines/titanic/events.h index 3ea9b63217..52e900c2ef 100644 --- a/engines/titanic/events.h +++ b/engines/titanic/events.h @@ -65,10 +65,26 @@ public: virtual void middleButtonDoubleClick(const Point &mousePos) {} virtual void rightButtonDown(const Point &mousePos) {} virtual void rightButtonUp(const Point &mousePos) {} + virtual void mouseWheel(const Point &mousePos, bool wheelUp) {} virtual void keyDown(Common::KeyState keyState) {} virtual void keyUp(Common::KeyState keyState) {} }; +/** + * An eent target used for waiting for a mouse or keypress + */ +class CPressTarget : public CEventTarget { +public: + bool _pressed; +public: + CPressTarget() : _pressed(false) {} + virtual ~CPressTarget() {} + virtual void leftButtonDown(const Point &mousePos) { _pressed = true; } + virtual void middleButtonDown(const Point &mousePos) { _pressed = true; } + virtual void rightButtonDown(const Point &mousePos) { _pressed = true; } + virtual void keyDown(Common::KeyState keyState) { _pressed = true; } +}; + class Events { private: TitanicEngine *_vm; @@ -76,6 +92,7 @@ private: uint32 _frameCounter; uint32 _priorFrameTime; Common::Point _mousePos; + uint _specialButtons; /** * Check whether it's time to display the next screen frame @@ -88,6 +105,11 @@ private: CEventTarget *eventTarget() const { return _eventTargets.top(); } + + /** + * Handles setting/resettings special buttons on key up/down + */ + void handleKbdSpecial(Common::KeyState keyState); public: Events(TitanicEngine *vm); ~Events() {} @@ -138,6 +160,28 @@ public: * Wait for a mouse or keypress */ bool waitForPress(uint expiry); + + /** + * Get the mouse position + */ + Common::Point getMousePos() const { return _mousePos; } + + /** + * Sets the mouse position + */ + void setMousePos(const Common::Point &pt); + + /* + * Return whether a given special key is currently pressed + */ + bool isSpecialPressed(SpecialButtons btn) const { + return (_specialButtons & btn) != 0; + } + + /** + * Returns the bitset of the currently pressed special buttons + */ + uint getSpecialButtons() const { return _specialButtons; } }; } // End of namespace Titanic diff --git a/engines/titanic/game/cdrom.cpp b/engines/titanic/game/cdrom.cpp index cd913d05f7..0d1cd3a6f2 100644 --- a/engines/titanic/game/cdrom.cpp +++ b/engines/titanic/game/cdrom.cpp @@ -50,6 +50,7 @@ void CCDROM::load(SimpleFile *file) { bool CCDROM::MouseDragStartMsg(CMouseDragStartMsg *msg) { if (checkStartDragging(msg)) { + hideMouse(); _tempPos = msg->_mousePos - _bounds; setPosition(msg->_mousePos - _tempPos); return true; @@ -59,6 +60,8 @@ bool CCDROM::MouseDragStartMsg(CMouseDragStartMsg *msg) { } bool CCDROM::MouseDragEndMsg(CMouseDragEndMsg *msg) { + showMouse(); + if (msg->_dropTarget && msg->_dropTarget->getName() == "newComputer") { CCDROMTray *newTray = dynamic_cast<CCDROMTray *>(getRoom()->findByName("newTray")); diff --git a/engines/titanic/game/cdrom_tray.cpp b/engines/titanic/game/cdrom_tray.cpp index 505bdad319..d6aa32c702 100644 --- a/engines/titanic/game/cdrom_tray.cpp +++ b/engines/titanic/game/cdrom_tray.cpp @@ -95,6 +95,7 @@ bool CCDROMTray::ActMsg(CActMsg *msg) { playSound("a#35.wav", 50, 0, 0); } else if (msg->_action == "newSTCD") { // Starship Titanic CD dropped on CDROM Tray + disableMouse(); playMovie(11, 21, MOVIE_NOTIFY_OBJECT); playSound("a#35.wav", 50, 0, 0); } else { diff --git a/engines/titanic/game/computer.cpp b/engines/titanic/game/computer.cpp index 3077b46178..9aa5db252c 100644 --- a/engines/titanic/game/computer.cpp +++ b/engines/titanic/game/computer.cpp @@ -54,7 +54,7 @@ bool CComputer::ActMsg(CActMsg *msg) { else if (msg->_action == "CD2") playMovie(50, 79, 0); else if (msg->_action == "STCD") - playMovie(80, 90, 4); + playMovie(80, 90, MOVIE_NOTIFY_OBJECT); _currentCD = msg->_action; _state = 0; diff --git a/engines/titanic/game/maitred/maitred_prod_receptor.cpp b/engines/titanic/game/maitred/maitred_prod_receptor.cpp index 95e029af44..6f64a76d7f 100644 --- a/engines/titanic/game/maitred/maitred_prod_receptor.cpp +++ b/engines/titanic/game/maitred/maitred_prod_receptor.cpp @@ -81,7 +81,7 @@ bool CMaitreDProdReceptor::MouseMoveMsg(CMouseMoveMsg *msg) { prodMsg._value = 125; CMaitreD *maitreD = dynamic_cast<CMaitreD *>(findRoomObject("MaitreD")); - if (maitreD && maitreD->_field100 <= 0) + if (maitreD && maitreD->_speechCounter == 0) prodMsg.execute(this); return true; @@ -90,7 +90,7 @@ bool CMaitreDProdReceptor::MouseMoveMsg(CMouseMoveMsg *msg) { bool CMaitreDProdReceptor::ProdMaitreDMsg(CProdMaitreDMsg *msg) { if (_fieldC4) { CMaitreD *maitreD = static_cast<CMaitreD *>(findRoomObject("MaitreD")); - if (maitreD->_field100 <= 0) { + if (maitreD->_speechCounter == 0) { CViewItem *view = findView(); startTalking(maitreD, msg->_value, view); diff --git a/engines/titanic/game/pet/pet.cpp b/engines/titanic/game/pet/pet.cpp index 99c9e01eb3..235d68f242 100644 --- a/engines/titanic/game/pet/pet.cpp +++ b/engines/titanic/game/pet/pet.cpp @@ -62,7 +62,7 @@ void CPET::load(SimpleFile *file) { bool CPET::ShowTextMsg(CShowTextMsg *msg) { CPetControl *pet = getPetControl(); if (pet) - pet->petDisplayMessage(1, msg->_value); + pet->petDisplayMessage(1, msg->_message); return true; } diff --git a/engines/titanic/game/pet/pet_lift.cpp b/engines/titanic/game/pet/pet_lift.cpp index a7b48853e6..75a48a6a6c 100644 --- a/engines/titanic/game/pet/pet_lift.cpp +++ b/engines/titanic/game/pet/pet_lift.cpp @@ -50,8 +50,8 @@ bool CPETLift::TransportMsg(CTransportMsg *msg) { } else if (msg->_roomName == "BottomOfWell") { floorNum = 39; } else if (msg->_roomName == "PlayersRoom" && pet) { - int assignedFloor = pet->getAssignedFloorNum(); - if (assignedFloor < 1 || assignedFloor > 39) { + floorNum = pet->getAssignedFloorNum(); + if (floorNum < 1 || floorNum > 39) { pet->petDisplayMessage(NO_ROOM_ASSIGNED); floorNum = -1; } diff --git a/engines/titanic/game/pet/pet_position.cpp b/engines/titanic/game/pet/pet_position.cpp index d3d030eb16..db6f9997c9 100644 --- a/engines/titanic/game/pet/pet_position.cpp +++ b/engines/titanic/game/pet/pet_position.cpp @@ -171,8 +171,8 @@ bool CPETPosition::EnterViewMsg(CEnterViewMsg *msg) { bool CPETPosition::LeaveViewMsg(CLeaveViewMsg *msg) { CPetControl *pet = getPetControl(); - CString oldView = msg->_oldView->getName(); - CString newView = msg->_newView->getName(); + CString oldView = msg->_oldView->getFullViewName(); + CString newView = msg->_newView->getFullViewName(); if (pet && newView == "Lift.Node 1.N") { int elevatorNum = pet->getRoomsElevatorNum(); diff --git a/engines/titanic/game/pet/pet_transport.cpp b/engines/titanic/game/pet/pet_transport.cpp index a48e70ed01..29dce6c1b6 100644 --- a/engines/titanic/game/pet/pet_transport.cpp +++ b/engines/titanic/game/pet/pet_transport.cpp @@ -26,6 +26,7 @@ namespace Titanic { BEGIN_MESSAGE_MAP(CPETTransport, CGameObject) ON_MESSAGE(EnterRoomMsg) + ON_MESSAGE(LeaveRoomMsg) END_MESSAGE_MAP() void CPETTransport::save(SimpleFile *file, int indent) { @@ -39,6 +40,11 @@ void CPETTransport::load(SimpleFile *file) { } bool CPETTransport::EnterRoomMsg(CEnterRoomMsg *msg) { + petSetRemoteTarget(); + return true; +} + +bool CPETTransport::LeaveRoomMsg(CLeaveRoomMsg *msg) { petClear(); return true; } diff --git a/engines/titanic/game/pet/pet_transport.h b/engines/titanic/game/pet/pet_transport.h index 58aefe6743..6a08c4bdf3 100644 --- a/engines/titanic/game/pet/pet_transport.h +++ b/engines/titanic/game/pet/pet_transport.h @@ -31,6 +31,7 @@ namespace Titanic { class CPETTransport : public CGameObject { DECLARE_MESSAGE_MAP; virtual bool EnterRoomMsg(CEnterRoomMsg *msg); + virtual bool LeaveRoomMsg(CLeaveRoomMsg *msg); public: CLASSDEF; diff --git a/engines/titanic/game/service_elevator_window.cpp b/engines/titanic/game/service_elevator_window.cpp index 13db7a26f8..d548bbf37e 100644 --- a/engines/titanic/game/service_elevator_window.cpp +++ b/engines/titanic/game/service_elevator_window.cpp @@ -35,25 +35,25 @@ END_MESSAGE_MAP() static const int FACTORS[4] = { 0, 20, 100, 0 }; CServiceElevatorWindow::CServiceElevatorWindow() : CBackground(), - _fieldE0(0), _fieldE4(0), _fieldE8(0), _fieldEC(0) { + _destFloor(0), _notifyFlag(false), _isIndicator(false), _intoSpace(false) { } void CServiceElevatorWindow::save(SimpleFile *file, int indent) { file->writeNumberLine(1, indent); - file->writeNumberLine(_fieldE0, indent); - file->writeNumberLine(_fieldE4, indent); - file->writeNumberLine(_fieldE8, indent); - file->writeNumberLine(_fieldEC, indent); + file->writeNumberLine(_destFloor, indent); + file->writeNumberLine(_notifyFlag, indent); + file->writeNumberLine(_isIndicator, indent); + file->writeNumberLine(_intoSpace, indent); CBackground::save(file, indent); } void CServiceElevatorWindow::load(SimpleFile *file) { file->readNumber(); - _fieldE0 = file->readNumber(); - _fieldE4 = file->readNumber(); - _fieldE8 = file->readNumber(); - _fieldEC = file->readNumber(); + _destFloor = file->readNumber(); + _notifyFlag = file->readNumber(); + _isIndicator = file->readNumber(); + _intoSpace = file->readNumber(); CBackground::load(file); } @@ -61,39 +61,42 @@ void CServiceElevatorWindow::load(SimpleFile *file) { bool CServiceElevatorWindow::ServiceElevatorFloorChangeMsg(CServiceElevatorFloorChangeMsg *msg) { if (getView() == findView()) { CDoorbot *doorbot = dynamic_cast<CDoorbot *>(findRoom()->findByName("Doorbot")); - int val = (_fieldE8 && doorbot) ? 65 : 15; + int fps = (_isIndicator && doorbot) ? 65 : 15; CMovieClip *clip = _movieClips.findByName("Going Up"); if (!clip) return true; - int count = _endFrame - _startFrame; - setMovieFrameRate(1.0 * count / val); + int count = clip->_endFrame - clip->_startFrame; + setMovieFrameRate(1.0 * count / fps); - int startFrame = clip->_startFrame + count * FACTORS[msg->_value1] / 100; - int endFrame = clip->_startFrame + count * FACTORS[msg->_value2] / 100; + int startFrame = clip->_startFrame + count * FACTORS[msg->_startFloor] / 100; + int endFrame = clip->_startFrame + count * FACTORS[msg->_endFloor] / 100; - if (_fieldE4) { + if (_notifyFlag) { + // Service elevator indicator playMovie(startFrame, endFrame, MOVIE_NOTIFY_OBJECT); } else { + // Background outside elevator playMovie(startFrame, endFrame, 0); - if (_fieldEC) + if (_intoSpace) playClip("Into Space"); } } - _fieldE0 = msg->_value2; + _destFloor = msg->_endFloor; return true; } bool CServiceElevatorWindow::MovieEndMsg(CMovieEndMsg *msg) { + // Called when indicator reaches desired destination floor CServiceElevatorMsg elevMsg(5); elevMsg.execute(findRoom()->findByName("Service Elevator Entity")); return true; } bool CServiceElevatorWindow::EnterViewMsg(CEnterViewMsg *msg) { - if (_fieldEC) { + if (_intoSpace) { playClip("Fade Up"); playMovie(1, 2, 0); } else { @@ -101,7 +104,7 @@ bool CServiceElevatorWindow::EnterViewMsg(CEnterViewMsg *msg) { if (clip) { int frameNum = clip->_startFrame + (clip->_endFrame - clip->_startFrame) - * FACTORS[_fieldE0] / 100; + * FACTORS[_destFloor] / 100; loadFrame(frameNum); } else { loadFrame(0); diff --git a/engines/titanic/game/service_elevator_window.h b/engines/titanic/game/service_elevator_window.h index 88e1663aba..baeef5aeb8 100644 --- a/engines/titanic/game/service_elevator_window.h +++ b/engines/titanic/game/service_elevator_window.h @@ -33,10 +33,10 @@ class CServiceElevatorWindow : public CBackground { bool MovieEndMsg(CMovieEndMsg *msg); bool EnterViewMsg(CEnterViewMsg *msg); public: - int _fieldE0; - int _fieldE4; - int _fieldE8; - int _fieldEC; + int _destFloor; + bool _notifyFlag; + bool _isIndicator; + bool _intoSpace; public: CLASSDEF; CServiceElevatorWindow(); diff --git a/engines/titanic/game/television.cpp b/engines/titanic/game/television.cpp index 571ebcd6fa..2d5a09790b 100644 --- a/engines/titanic/game/television.cpp +++ b/engines/titanic/game/television.cpp @@ -257,11 +257,11 @@ bool CTelevision::MovieEndMsg(CMovieEndMsg *msg) { if (_turnOn) loadFrame(502); else - warning("There is currently nothing available for your viewing pleasure on this channel."); + petDisplayMessage(NOTHING_ON_CHANNEL); } else if (_fieldE0 == 5 && *CGetLiftEye2::_destObject != "NULL") { loadFrame(393 + _v4); } else { - warning("There is currently nothing available for your viewing pleasure on this channel."); + petDisplayMessage(NOTHING_ON_CHANNEL); } return true; diff --git a/engines/titanic/game/transport/gondolier.cpp b/engines/titanic/game/transport/gondolier.cpp index 8c28ff9b66..85f3b365b5 100644 --- a/engines/titanic/game/transport/gondolier.cpp +++ b/engines/titanic/game/transport/gondolier.cpp @@ -46,7 +46,7 @@ void CGondolier::load(SimpleFile *file) { } bool CGondolier::StatusChangeMsg(CStatusChangeMsg *msg) { - CShowTextMsg textMsg("Only First Class passengers are allowed to use the Gondoliers."); + CShowTextMsg textMsg(GONDOLIERS_FIRST_CLASS_ONLY); textMsg.execute("PET"); return true; } diff --git a/engines/titanic/game/transport/lift_indicator.cpp b/engines/titanic/game/transport/lift_indicator.cpp index a642451fe0..df0ff397da 100644 --- a/engines/titanic/game/transport/lift_indicator.cpp +++ b/engines/titanic/game/transport/lift_indicator.cpp @@ -38,31 +38,31 @@ BEGIN_MESSAGE_MAP(CLiftindicator, CLift) END_MESSAGE_MAP() CLiftindicator::CLiftindicator() : CLift(), - _fieldFC(0), _start(0), _end(0) { + _multiplier(0), _startY(0), _endY(0) { } void CLiftindicator::save(SimpleFile *file, int indent) { file->writeNumberLine(1, indent); - file->writeNumberLine(_fieldFC, indent); + file->writeNumberLine(_multiplier, indent); file->writePoint(_indicatorPos, indent); - file->writeNumberLine(_start, indent); - file->writeNumberLine(_end, indent); + file->writeNumberLine(_startY, indent); + file->writeNumberLine(_endY, indent); CLift::save(file, indent); } void CLiftindicator::load(SimpleFile *file) { file->readNumber(); - _fieldFC = file->readNumber(); + _multiplier = file->readNumber(); _indicatorPos = file->readPoint(); - _start = file->readNumber(); - _end = file->readNumber(); + _startY = file->readNumber(); + _endY = file->readNumber(); CLift::load(file); } bool CLiftindicator::EnterViewMsg(CEnterViewMsg *msg) { - double multiplier = _fieldFC * 0.037037037; + double multiplier = _multiplier * 0.037037037; CPetControl *pet = getPetControl(); int floorNum = pet->getRoomsFloorNum(); debugC(kDebugScripts, "Lifts = %d,%d,%d,%d, %d", @@ -70,7 +70,7 @@ bool CLiftindicator::EnterViewMsg(CEnterViewMsg *msg) { CLift::_elevator3Floor, CLift::_elevator4Floor, floorNum); - if ((pet->petGetRoomsWellEntry() & 1) == (_fieldFC & 1)) { + if ((pet->petGetRoomsWellEntry() & 1) == (_liftNum & 1)) { petSetRemoteTarget(); petSetArea(PET_REMOTE); @@ -142,7 +142,7 @@ bool CLiftindicator::LeaveViewMsg(CLeaveViewMsg *msg) { } bool CLiftindicator::PETActivateMsg(CPETActivateMsg *msg) { - double multiplier = _fieldFC * 0.037037037; + double multiplier = _multiplier * 0.037037037; CPetControl *pet = getPetControl(); if (msg->_name == "Lift") { @@ -155,8 +155,8 @@ bool CLiftindicator::PETActivateMsg(CPETActivateMsg *msg) { && pet->getRoomsFloorNum() != CLift::_elevator4Floor) { petDisplayMessage(1, ELEVATOR_NON_FUNCTIONAL); } else { - _start = _indicatorPos.y + (int)(_startFrame * multiplier); - _end = _indicatorPos.y + (int)(_endFrame * multiplier); + _startY = _indicatorPos.y + (int)(_startFrame * multiplier); + _endY = _indicatorPos.y + (int)(_endFrame * multiplier); lockMouse(); addTimer(100); @@ -213,15 +213,15 @@ bool CLiftindicator::LeaveRoomMsg(CLeaveRoomMsg *msg) { } bool CLiftindicator::TimerMsg(CTimerMsg *msg) { - debugC(kDebugScripts, "Start %d, End %d", _start, _end); + debugC(kDebugScripts, "Start %d, End %d", _startY, _endY); - if (_start > _end) { + if (_startY > _endY) { setPosition(Point(_bounds.left, _bounds.top - 1)); - --_start; + --_startY; addTimer(20); - } else if (_start < _end) { + } else if (_startY < _endY) { setPosition(Point(_bounds.left, _bounds.top + 1)); - ++_start; + ++_startY; addTimer(20); } else { CMovieEndMsg endMsg(0, 0); diff --git a/engines/titanic/game/transport/lift_indicator.h b/engines/titanic/game/transport/lift_indicator.h index 5d0bc45d7b..5ff9dc6d36 100644 --- a/engines/titanic/game/transport/lift_indicator.h +++ b/engines/titanic/game/transport/lift_indicator.h @@ -39,10 +39,10 @@ class CLiftindicator : public CLift { bool LeaveRoomMsg(CLeaveRoomMsg *msg); bool TimerMsg(CTimerMsg *msg); private: - int _fieldFC; + int _multiplier; Point _indicatorPos; - int _start; - int _end; + int _startY; + int _endY; public: CLASSDEF; CLiftindicator(); diff --git a/engines/titanic/game/transport/service_elevator.cpp b/engines/titanic/game/transport/service_elevator.cpp index 066a418dbb..dbd4e5d74f 100644 --- a/engines/titanic/game/transport/service_elevator.cpp +++ b/engines/titanic/game/transport/service_elevator.cpp @@ -116,6 +116,7 @@ bool CServiceElevator::ServiceElevatorMsg(CServiceElevatorMsg *msg) { break; case 5: + // Reaching destination floor _fieldF8 = false; _fieldDC = _v3; loadSound("z#423.wav"); @@ -164,9 +165,10 @@ bool CServiceElevator::TimerMsg(CTimerMsg *msg) { if (!isSoundActive(_soundHandle1)) { stopAnimTimer(_timerId); if (msg->_actionVal == 0) { + // Elevator in motion after pressing button _fieldF8 = true; CServiceElevatorFloorChangeMsg changeMsg(_fieldDC, _v3); - changeMsg.execute(getRoom()); + changeMsg.execute(getRoom(), nullptr, MSGFLAG_SCAN); _soundHandle2 = playSound("z#424.wav"); if (doorbot) { @@ -174,6 +176,7 @@ bool CServiceElevator::TimerMsg(CTimerMsg *msg) { actMsg.execute(doorbot); } } else { + // Finished playing message for bottom/middle floor disabled enableMouse(); if (doorbot) { CActMsg actMsg; @@ -207,10 +210,10 @@ bool CServiceElevator::ServiceElevatorFloorRequestMsg(CServiceElevatorFloorReque if (doorbot && _v3 == 0) { _soundHandle1 = playSound("z#415.wav", 50); - addTimer(1, 1000, 500); + _timerId = addTimer(1, 1000, 500); } else if (doorbot && _v3 == 1) { _soundHandle1 = playSound("z#417.wav", 50); - addTimer(1, 1000, 500); + _timerId = addTimer(1, 1000, 500); } else if (_fieldDC == _v3) { switch (_v3) { case 0: @@ -226,7 +229,7 @@ bool CServiceElevator::ServiceElevatorFloorRequestMsg(CServiceElevatorFloorReque break; } - addTimer(1, 1000, 500); + _timerId = addTimer(1, 1000, 500); } else { switch (_v3) { case 0: @@ -236,13 +239,13 @@ bool CServiceElevator::ServiceElevatorFloorRequestMsg(CServiceElevatorFloorReque _soundHandle1 = playSound(_fieldDC ? "z#419.wav" : "z#418.wav", 50); break; case 2: - _soundHandle1 = playSound("z#414.wav", 50); + _soundHandle1 = playSound("z#409.wav", 50); break; default: break; } - addTimer(0, 1000, 500); + _timerId = addTimer(0, 1000, 500); } return true; diff --git a/engines/titanic/game_location.h b/engines/titanic/game_location.h index f145d36340..87416f6cd7 100644 --- a/engines/titanic/game_location.h +++ b/engines/titanic/game_location.h @@ -30,6 +30,11 @@ namespace Titanic { +enum PassengerClass { + UNCHECKED = 4, THIRD_CLASS = 3, SECOND_CLASS = 2, FIRST_CLASS = 1, + NO_CLASS = 0 +}; + class CGameState; class CGameLocation { diff --git a/engines/titanic/game_manager.cpp b/engines/titanic/game_manager.cpp index 6023244325..015296fb14 100644 --- a/engines/titanic/game_manager.cpp +++ b/engines/titanic/game_manager.cpp @@ -150,11 +150,12 @@ void CGameManager::playClip(CMovieClip *clip, CRoomItem *oldRoom, CRoomItem *new if (clip && clip->_startFrame != clip->_endFrame && _movie) { // Clip details specifying a sub-section of movie to play Rect tempRect(20, 10, SCREEN_WIDTH - 20, 350); + CMouseCursor &mouseCursor = *CScreenManager::_screenManagerPtr->_mouseCursor; lockInputHandler(); - CScreenManager::_screenManagerPtr->_mouseCursor->hide(); + mouseCursor.incHideCounter(); _movie->playCutscene(tempRect, clip->_startFrame, clip->_endFrame); - CScreenManager::_screenManagerPtr->_mouseCursor->show(); + mouseCursor.decHideCounter(); unlockInputHandler(); } } diff --git a/engines/titanic/game_state.cpp b/engines/titanic/game_state.cpp index ea94deec35..5b6d34ad76 100644 --- a/engines/titanic/game_state.cpp +++ b/engines/titanic/game_state.cpp @@ -35,7 +35,6 @@ bool CGameStateMovieList::clear() { ++i; } else { i = erase(i); - delete movieItem; } } @@ -45,10 +44,10 @@ bool CGameStateMovieList::clear() { /*------------------------------------------------------------------------*/ CGameState::CGameState(CGameManager *gameManager) : - _gameManager(gameManager), _gameLocation(this), - _passengerClass(0), _priorClass(0), _mode(GSMODE_NONE), - _seasonNum(SEASON_SUMMER), _petActive(false), _field1C(false), _quitGame(false), - _field24(0), _nodeChangeCtr(0), _nodeEnterTicks(0), _field38(0) { + _gameManager(gameManager), _gameLocation(this), _passengerClass(NO_CLASS), + _priorClass(NO_CLASS), _mode(GSMODE_NONE), _seasonNum(SEASON_SUMMER), + _petActive(false), _field1C(false), _quitGame(false), _field24(0), + _nodeChangeCtr(0), _nodeEnterTicks(0), _field38(0) { } void CGameState::save(SimpleFile *file) const { @@ -64,8 +63,8 @@ void CGameState::save(SimpleFile *file) const { void CGameState::load(SimpleFile *file) { _petActive = file->readNumber() != 0; - _passengerClass = file->readNumber(); - _priorClass = file->readNumber(); + _passengerClass = (PassengerClass)file->readNumber(); + _priorClass = (PassengerClass)file->readNumber(); _seasonNum = (Season)file->readNumber(); _field24 = file->readNumber(); _field38 = file->readNumber(); @@ -79,14 +78,14 @@ void CGameState::load(SimpleFile *file) { void CGameState::setMode(GameStateMode newMode) { CScreenManager *sm = CScreenManager::_screenManagerPtr; - if (newMode == GSMODE_CUTSCENE && newMode != _mode) { + if (newMode == GSMODE_CUTSCENE && _mode != GSMODE_CUTSCENE) { if (_gameManager) _gameManager->lockInputHandler(); if (sm && sm->_mouseCursor) sm->_mouseCursor->hide(); - } else if (newMode != GSMODE_CUTSCENE && newMode != _mode) { + } else if (newMode != GSMODE_CUTSCENE && _mode == GSMODE_CUTSCENE) { if (sm && sm->_mouseCursor) sm->_mouseCursor->show(); @@ -130,7 +129,7 @@ void CGameState::changeView(CViewItem *newView, CMovieClip *clip) { oldView->leaveView(newView); // If Shift key is pressed, skip showing the transition clip - if (g_vm->_window->isSpecialPressed(MK_SHIFT)) + if (g_vm->_events->isSpecialPressed(MK_SHIFT)) clip = nullptr; if (_mode == GSMODE_CUTSCENE) { @@ -139,7 +138,7 @@ void CGameState::changeView(CViewItem *newView, CMovieClip *clip) { } else { oldView->preEnterView(newView); _gameManager->_gameView->setView(newView); - CRoomItem *oldRoom = newView->findNode()->findRoom(); + CRoomItem *oldRoom = oldView->findNode()->findRoom(); CRoomItem *newRoom = newView->findNode()->findRoom(); // If a transition clip is defined, play it diff --git a/engines/titanic/game_state.h b/engines/titanic/game_state.h index 77b4ded79f..ba1dff2a45 100644 --- a/engines/titanic/game_state.h +++ b/engines/titanic/game_state.h @@ -64,8 +64,8 @@ public: CGameManager *_gameManager; CGameLocation _gameLocation; CGameStateMovieList _movieList; - int _passengerClass; - int _priorClass; + PassengerClass _passengerClass; + PassengerClass _priorClass; GameStateMode _mode; Season _seasonNum; bool _petActive; diff --git a/engines/titanic/input_handler.cpp b/engines/titanic/input_handler.cpp index 9fa2b0073c..e2d1bd7a32 100644 --- a/engines/titanic/input_handler.cpp +++ b/engines/titanic/input_handler.cpp @@ -49,7 +49,10 @@ void CInputHandler::incLockCount() { } void CInputHandler::decLockCount() { - if (--_lockCount == 0 && _inputTranslator) { + --_lockCount; + assert(_lockCount >= 0); + + if (_lockCount == 0 && _inputTranslator) { if (_dragging && !_inputTranslator->isMousePressed()) { CMouseButtonUpMsg upMsg(_mousePos, MK_LBUTTON); handleMessage(upMsg); @@ -107,6 +110,7 @@ void CInputHandler::processMessage(CMessage *msg) { _dragging = false; _dragItem = nullptr; + _gameManager->_dragItem = nullptr; } } else if (_buttonDown) { if (!mouseMsg->isMouseMoveMsg()) { diff --git a/engines/titanic/input_translator.cpp b/engines/titanic/input_translator.cpp index ce272d152c..0f717de37f 100644 --- a/engines/titanic/input_translator.cpp +++ b/engines/titanic/input_translator.cpp @@ -90,6 +90,11 @@ void CInputTranslator::rightButtonUp(int special, const Point &pt) { _inputHandler->handleMessage(msg); } +void CInputTranslator::mouseWheel(bool wheelUp, const Point &pt) { + CMouseWheelMsg msg(pt, wheelUp); + _inputHandler->handleMessage(msg); +} + void CInputTranslator::rightButtonDoubleClick(int special, const Point &pt) { CMouseDoubleClickMsg msg(pt, MB_RIGHT); _inputHandler->handleMessage(msg); @@ -108,7 +113,7 @@ void CInputTranslator::keyDown(const Common::KeyState &keyState) { } bool CInputTranslator::isMousePressed() const { - return g_vm->_window->getSpecialButtons() & (MK_LBUTTON | MK_RBUTTON | MK_MBUTTON); + return g_vm->_events->getSpecialButtons() & (MK_LBUTTON | MK_RBUTTON | MK_MBUTTON); } } // End of namespace Titanic diff --git a/engines/titanic/input_translator.h b/engines/titanic/input_translator.h index d92157bccc..66dcaa1cbe 100644 --- a/engines/titanic/input_translator.h +++ b/engines/titanic/input_translator.h @@ -50,6 +50,7 @@ public: void middleButtonDoubleClick(int special, const Point &pt); void rightButtonDown(int special, const Point &pt); void rightButtonUp(int special, const Point &pt); + void mouseWheel(bool wheelUp, const Point &pt); void rightButtonDoubleClick(int special, const Point &pt); void keyDown(const Common::KeyState &keyState); diff --git a/engines/titanic/main_game_window.cpp b/engines/titanic/main_game_window.cpp index 80da792e4a..de0ac715ba 100644 --- a/engines/titanic/main_game_window.cpp +++ b/engines/titanic/main_game_window.cpp @@ -32,8 +32,7 @@ namespace Titanic { CMainGameWindow::CMainGameWindow(TitanicEngine *vm): _vm(vm), - _specialButtons(0), _priorLeftDownTime(0), - _priorMiddleDownTime(0), _priorRightDownTime(0) { + _priorLeftDownTime(0), _priorMiddleDownTime(0), _priorRightDownTime(0) { _gameView = nullptr; _gameManager = nullptr; _project = nullptr; @@ -150,6 +149,14 @@ void CMainGameWindow::draw() { scrManager->clearSurface(SURFACE_BACKBUFFER, &_gameManager->_bounds); switch (_gameManager->_gameState._mode) { + case GSMODE_PENDING_LOAD: + // Pending savegame to load + _gameManager->_gameState.setMode(GSMODE_INTERACTIVE); + _project->loadGame(_pendingLoadSlot); + _pendingLoadSlot = -1; + + // Deliberate fall-through to draw loaded game + case GSMODE_INTERACTIVE: case GSMODE_CUTSCENE: if (_gameManager->_gameState._petActive) @@ -165,12 +172,6 @@ void CMainGameWindow::draw() { _vm->_filesManager->insertCD(scrManager); break; - case GSMODE_PENDING_LOAD: - // Pending savegame to load - _gameManager->_gameState.setMode(GSMODE_INTERACTIVE); - _vm->_window->_project->loadGame(_pendingLoadSlot); - break; - default: break; } @@ -246,17 +247,21 @@ void CMainGameWindow::onIdle() { } #define HANDLE_MESSAGE(METHOD) if (_inputAllowed) { \ - _gameManager->_inputTranslator.METHOD(_specialButtons, mousePos); \ + _gameManager->_inputTranslator.METHOD(g_vm->_events->getSpecialButtons(), mousePos); \ mouseChanged(); \ } void CMainGameWindow::mouseMove(const Point &mousePos) { + if (!isMouseControlEnabled()) + return; + HANDLE_MESSAGE(mouseMove) } void CMainGameWindow::leftButtonDown(const Point &mousePos) { - _specialButtons |= MK_LBUTTON; + if (!isMouseControlEnabled()) + return; if ((_vm->_events->getTicksCount() - _priorLeftDownTime) < DOUBLE_CLICK_TIME) { _priorLeftDownTime = 0; @@ -268,16 +273,22 @@ void CMainGameWindow::leftButtonDown(const Point &mousePos) { } void CMainGameWindow::leftButtonUp(const Point &mousePos) { - _specialButtons &= ~MK_LBUTTON; + if (!isMouseControlEnabled()) + return; + HANDLE_MESSAGE(leftButtonUp) } void CMainGameWindow::leftButtonDoubleClick(const Point &mousePos) { + if (!isMouseControlEnabled()) + return; + HANDLE_MESSAGE(leftButtonDoubleClick) } void CMainGameWindow::middleButtonDown(const Point &mousePos) { - _specialButtons |= MK_MBUTTON; + if (!isMouseControlEnabled()) + return; if ((_vm->_events->getTicksCount() - _priorMiddleDownTime) < DOUBLE_CLICK_TIME) { _priorMiddleDownTime = 0; @@ -289,16 +300,22 @@ void CMainGameWindow::middleButtonDown(const Point &mousePos) { } void CMainGameWindow::middleButtonUp(const Point &mousePos) { - _specialButtons &= ~MK_MBUTTON; + if (!isMouseControlEnabled()) + return; + HANDLE_MESSAGE(middleButtonUp) } void CMainGameWindow::middleButtonDoubleClick(const Point &mousePos) { + if (!isMouseControlEnabled()) + return; + HANDLE_MESSAGE(middleButtonDoubleClick) } void CMainGameWindow::rightButtonDown(const Point &mousePos) { - _specialButtons |= MK_RBUTTON; + if (!isMouseControlEnabled()) + return; if ((_vm->_events->getTicksCount() - _priorRightDownTime) < DOUBLE_CLICK_TIME) { _priorRightDownTime = 0; @@ -310,21 +327,28 @@ void CMainGameWindow::rightButtonDown(const Point &mousePos) { } void CMainGameWindow::rightButtonUp(const Point &mousePos) { - _specialButtons &= ~MK_RBUTTON; + if (!isMouseControlEnabled()) + return; + HANDLE_MESSAGE(rightButtonUp) } -void CMainGameWindow::rightButtonDoubleClick(const Point &mousePos) { - HANDLE_MESSAGE(rightButtonDoubleClick) +void CMainGameWindow::mouseWheel(const Point &mousePos, bool wheelUp) { + if (!isMouseControlEnabled()) + return; + + _gameManager->_inputTranslator.mouseWheel(wheelUp, mousePos); + mouseChanged(); } -void CMainGameWindow::charPress(char c) { +void CMainGameWindow::rightButtonDoubleClick(const Point &mousePos) { + if (!isMouseControlEnabled()) + return; + HANDLE_MESSAGE(rightButtonDoubleClick) } void CMainGameWindow::keyDown(Common::KeyState keyState) { - handleKbdSpecial(keyState); - if (keyState.keycode == Common::KEYCODE_d && (keyState.flags & Common::KBD_CTRL)) { // Attach to the debugger _vm->_debugger->attach(); @@ -335,20 +359,12 @@ void CMainGameWindow::keyDown(Common::KeyState keyState) { _gameManager->_inputTranslator.keyDown(keyState); } -void CMainGameWindow::keyUp(Common::KeyState keyState) { - handleKbdSpecial(keyState); -} - -void CMainGameWindow::handleKbdSpecial(Common::KeyState keyState) { - if (keyState.flags & Common::KBD_CTRL) - _specialButtons |= MK_CONTROL; - else - _specialButtons &= ~MK_CONTROL; +bool CMainGameWindow::isMouseControlEnabled() const { + CScreenManager *screenMan = CScreenManager::_screenManagerPtr; + if (!screenMan || !screenMan->_mouseCursor) + return true; - if (keyState.flags & Common::KBD_SHIFT) - _specialButtons |= MK_SHIFT; - else - _specialButtons &= ~MK_SHIFT; + return screenMan->_mouseCursor->_inputEnabled; } } // End of namespace Titanic diff --git a/engines/titanic/main_game_window.h b/engines/titanic/main_game_window.h index 7bd918df04..52d4267c83 100644 --- a/engines/titanic/main_game_window.h +++ b/engines/titanic/main_game_window.h @@ -39,7 +39,6 @@ class CMainGameWindow : public CEventTarget { private: TitanicEngine *_vm; int _pendingLoadSlot; - uint _specialButtons; uint32 _priorLeftDownTime; uint32 _priorMiddleDownTime; uint32 _priorRightDownTime; @@ -74,8 +73,11 @@ private: void leftButtonDoubleClick(const Point &mousePos); void middleButtonDoubleClick(const Point &mousePos); void rightButtonDoubleClick(const Point &mousePos); - void charPress(char c); - void handleKbdSpecial(Common::KeyState keyState); + + /** + * Returns true if the player can control the mouse + */ + bool isMouseControlEnabled() const; public: CGameView *_gameView; CGameManager *_gameManager; @@ -99,8 +101,8 @@ public: virtual void middleButtonUp(const Point &mousePos); virtual void rightButtonDown(const Point &mousePos); virtual void rightButtonUp(const Point &mousePos); + virtual void mouseWheel(const Point &mousePos, bool wheelUp); virtual void keyDown(Common::KeyState keyState); - virtual void keyUp(Common::KeyState keyState); /** * Called when the application starts @@ -126,18 +128,6 @@ public: * Schedules a savegame to be loaded */ void loadGame(int slotId); - - /* - * Return whether a given special key is currently pressed - */ - bool isSpecialPressed(SpecialButtons btn) const { - return (_specialButtons & btn) != 0; - } - - /** - * Returns the bitset of the currently pressed special buttons - */ - uint getSpecialButtons() const { return _specialButtons; } }; } // End of namespace Titanic diff --git a/engines/titanic/messages/messages.cpp b/engines/titanic/messages/messages.cpp index a8507063ff..db89c3de3d 100644 --- a/engines/titanic/messages/messages.cpp +++ b/engines/titanic/messages/messages.cpp @@ -25,6 +25,7 @@ #include "titanic/core/game_object.h" #include "titanic/core/message_target.h" #include "titanic/core/tree_item.h" +#include "titanic/pet_control/pet_control.h" #include "titanic/titanic.h" namespace Titanic { @@ -163,4 +164,16 @@ bool CMessage::isLeaveViewMsg() const { return dynamic_cast<const CLeaveViewMsg *>(this) != nullptr; } +/*------------------------------------------------------------------------*/ + +CShowTextMsg::CShowTextMsg() : CMessage(), _message("NO TEXT INCLUDED!!!") { +} + +CShowTextMsg::CShowTextMsg(const CString &msg) : CMessage(), _message(msg) { +} + +CShowTextMsg::CShowTextMsg(StringId stringId) : CMessage() { + _message = g_vm->_strings[stringId]; +} + } // End of namespace Titanic diff --git a/engines/titanic/messages/messages.h b/engines/titanic/messages/messages.h index b421e8ecb8..fbe504700b 100644 --- a/engines/titanic/messages/messages.h +++ b/engines/titanic/messages/messages.h @@ -26,6 +26,7 @@ #include "common/keyboard.h" #include "titanic/core/saveable_object.h" #include "titanic/core/tree_item.h" +#include "titanic/support/strings.h" namespace Titanic { @@ -182,6 +183,20 @@ public: } }; +class CShowTextMsg : public CMessage { +public: + CString _message; +public: + CLASSDEF; + CShowTextMsg(); + CShowTextMsg(const CString &msg); + CShowTextMsg(StringId stringId); + + static bool isSupportedBy(const CTreeItem *item) { + return supports(item, _type); + } +}; + MESSAGE1(CActMsg, CString, action, ""); MESSAGE1(CActivationmsg, CString, value, ""); MESSAGE1(CAddHeadPieceMsg, CString, value, "NULL"); @@ -286,7 +301,7 @@ MESSAGE0(CReplaceBowlAndNutsMsg); MESSAGE1(CRestaurantMusicChanged, CString, value, ""); MESSAGE2(CSendCCarryMsg, CString, strValue, "", int, numValue, 0); MESSAGE1(CSenseWorkingMsg, CString, value, "Not Working"); -MESSAGE2(CServiceElevatorFloorChangeMsg, int, value1, 0, int, value2, 0); +MESSAGE2(CServiceElevatorFloorChangeMsg, int, startFloor, 0, int, endFloor, 0); MESSAGE0(CServiceElevatorFloorRequestMsg); MESSAGE1(CServiceElevatorMsg, int, value, 4); MESSAGE2(CSetChevButtonImageMsg, int, value1, 0, int, value2, 0); @@ -301,7 +316,6 @@ MESSAGE0(CSetMusicControlsMsg); MESSAGE2(CSetVarMsg, CString, varName, "", int, value, 0); MESSAGE2(CSetVolumeMsg, int, volume, 70, int, secondsTransition, 0); MESSAGE2(CShipSettingMsg, int, value, 0, CString, name, ""); -MESSAGE1(CShowTextMsg, CString, value, "NO TEXT INCLUDED!!!"); MESSAGE2(CSignalObject, CString, strValue, "", int, numValue, 0); MESSAGE1(CSpeechFallsFromTreeMsg, Point, pos, Point()); MESSAGE1(CStartMusicMsg, CMusicPlayer *, musicPlayer, (CMusicPlayer *)nullptr); diff --git a/engines/titanic/messages/mouse_messages.h b/engines/titanic/messages/mouse_messages.h index a10f3b42a8..05f9685c04 100644 --- a/engines/titanic/messages/mouse_messages.h +++ b/engines/titanic/messages/mouse_messages.h @@ -101,6 +101,20 @@ public: static void generate(); }; +class CMouseWheelMsg : public CMouseMsg { +public: + bool _wheelUp; +public: + CLASSDEF; + CMouseWheelMsg() : CMouseMsg(), _wheelUp(false) {} + CMouseWheelMsg(const Point &pt, bool wheelUp) : + CMouseMsg(pt, 0), _wheelUp(wheelUp) {} + + static bool isSupportedBy(const CTreeItem *item) { + return supports(item, _type); + } +}; + class CMouseDoubleClickMsg : public CMouseButtonMsg { public: CLASSDEF; diff --git a/engines/titanic/moves/exit_lift.cpp b/engines/titanic/moves/exit_lift.cpp index de9a3117af..a85af7c7a2 100644 --- a/engines/titanic/moves/exit_lift.cpp +++ b/engines/titanic/moves/exit_lift.cpp @@ -46,8 +46,8 @@ void CExitLift::load(SimpleFile *file) { bool CExitLift::MouseButtonDownMsg(CMouseButtonDownMsg *msg) { CPetControl *pet = getPetControl(); - int floorNum = pet->getRoomsFloorNum();//ebx - int elevNum = pet->getRoomsElevatorNum(); //eax + int floorNum = pet->getRoomsFloorNum(); + int elevNum = pet->getRoomsElevatorNum(); if (floorNum == 39) { switch (elevNum) { diff --git a/engines/titanic/moves/restricted_move.cpp b/engines/titanic/moves/restricted_move.cpp index b1040a3554..92804d473d 100644 --- a/engines/titanic/moves/restricted_move.cpp +++ b/engines/titanic/moves/restricted_move.cpp @@ -51,7 +51,7 @@ bool CRestrictedMove::MouseButtonDownMsg(CMouseButtonDownMsg *msg) { if (classNum <= _classNum) { // Okay to change to the given destination changeView(_destination); - } else if (classNum != 4) { + } else if (classNum != UNCHECKED) { petDisplayMessage(1, CLASS_NOT_ALLOWED_AT_DEST); } else if (compareRoomNameTo("EmbLobby")) { playSound("a#17.wav"); @@ -66,9 +66,9 @@ bool CRestrictedMove::MouseButtonDownMsg(CMouseButtonDownMsg *msg) { bool CRestrictedMove::EnterViewMsg(CEnterViewMsg *msg) { int classNum = getPassengerClass(); - bool flag = classNum > _classNum; + bool flag = classNum <= _classNum; - if (classNum == 4) { + if (classNum == UNCHECKED) { if (compareRoomNameTo("EmbLobby")) flag = false; else if (compareViewNameTo("Titania.Node 1.S")) diff --git a/engines/titanic/npcs/barbot.cpp b/engines/titanic/npcs/barbot.cpp index 791adaa05c..87aaea611f 100644 --- a/engines/titanic/npcs/barbot.cpp +++ b/engines/titanic/npcs/barbot.cpp @@ -336,7 +336,7 @@ bool CBarbot::TurnOn(CTurnOn *msg) { _fieldC4 = 1; ++_v0; petSetArea(PET_CONVERSATION); - endTalking(this, true); + setTalking(this, true); } return true; diff --git a/engines/titanic/npcs/bellbot.cpp b/engines/titanic/npcs/bellbot.cpp index 7aa32eeef3..1326655299 100644 --- a/engines/titanic/npcs/bellbot.cpp +++ b/engines/titanic/npcs/bellbot.cpp @@ -79,7 +79,7 @@ bool CBellBot::OnSummonBotMsg(COnSummonBotMsg *msg) { for (idx = 0; idx < 8; ++idx) { if (compareRoomNameTo(ROOM_WAVES[idx][0])) { playSound(ROOM_WAVES[idx][1]); - + break; } } if (idx == 8) @@ -99,7 +99,7 @@ bool CBellBot::OnSummonBotMsg(COnSummonBotMsg *msg) { bool CBellBot::LeaveViewMsg(CLeaveViewMsg *msg) { if (_npcFlags & NPCFLAG_10000) { performAction(1); - _npcFlags &= ~NPCFLAG_4; + _npcFlags &= ~NPCFLAG_START_IDLING; CDismissBotMsg dismissMsg; dismissMsg.execute(this); } @@ -113,13 +113,13 @@ bool CBellBot::MovieEndMsg(CMovieEndMsg *msg) { } else if (clipExistsByEnd("Walk On", msg->_endFrame)) { setPosition(Point(80, 10)); loadFrame(543); - _npcFlags |= NPCFLAG_4; + _npcFlags |= NPCFLAG_START_IDLING; if (_npcFlags & NPCFLAG_40000) { startTalking(this, 157); _npcFlags &= ~NPCFLAG_40000; } - endTalking(this, true); + setTalking(this, true); petSetArea(PET_CONVERSATION); } else if (clipExistsByEnd("Walk Off", msg->_endFrame)) { CPutBotBackInHisBoxMsg boxMsg; @@ -142,8 +142,8 @@ bool CBellBot::Use(CUse *msg) { bool CBellBot::DismissBotMsg(CDismissBotMsg *msg) { if (_npcFlags & NPCFLAG_10000) { playClip("Walk Off", MOVIE_NOTIFY_OBJECT | MOVIE_GAMESTATE); - if (_npcFlags & NPCFLAG_4) { - _npcFlags &= ~NPCFLAG_4; + if (_npcFlags & NPCFLAG_START_IDLING) { + _npcFlags &= ~NPCFLAG_START_IDLING; performAction(true); } else { performAction(false); @@ -160,7 +160,7 @@ bool CBellBot::TrueTalkTriggerActionMsg(CTrueTalkTriggerActionMsg *msg) { switch (msg->_action) { case 1: case 28: { - _npcFlags &= ~NPCFLAG_2; + _npcFlags &= ~NPCFLAG_IDLING; CDismissBotMsg dismissMsg; dismissMsg.execute(this); break; @@ -203,7 +203,7 @@ bool CBellBot::MovieFrameMsg(CMovieFrameMsg *msg) { bool CBellBot::PutBotBackInHisBoxMsg(CPutBotBackInHisBoxMsg *msg) { petMoveToHiddenRoom(); - _npcFlags &= ~NPCFLAG_4; + _npcFlags &= ~NPCFLAG_START_IDLING; return true; } @@ -229,7 +229,7 @@ bool CBellBot::NPCPlayTalkingAnimationMsg(CNPCPlayTalkingAnimationMsg *msg) { }; if (msg->_value2 == 2) - playClip("Mother Frame", 0); + playClip("Mother Frame"); else msg->_names = NAMES; @@ -238,8 +238,6 @@ bool CBellBot::NPCPlayTalkingAnimationMsg(CNPCPlayTalkingAnimationMsg *msg) { bool CBellBot::TimerMsg(CTimerMsg *msg) { if (msg->_action == "SummonDoorbot") { - CTrueTalkNPC::TimerMsg(msg); - } else { CRoomItem *room = getRoom(); if (room) { CSummonBotMsg botMsg; @@ -249,6 +247,8 @@ bool CBellBot::TimerMsg(CTimerMsg *msg) { } _npcFlags &= ~NPCFLAG_20000; + } else { + CTrueTalkNPC::TimerMsg(msg); } return true; diff --git a/engines/titanic/npcs/bilge_succubus.cpp b/engines/titanic/npcs/bilge_succubus.cpp index d1b89e58b4..006f532a31 100644 --- a/engines/titanic/npcs/bilge_succubus.cpp +++ b/engines/titanic/npcs/bilge_succubus.cpp @@ -431,7 +431,7 @@ bool CBilgeSuccUBus::TurnOn(CTurnOn *msg) { CSUBTransition transMsg; transMsg.execute(this); - endTalking(this, true); + setTalking(this, true); petSetArea(PET_REMOTE); petHighlightGlyph(16); } diff --git a/engines/titanic/npcs/deskbot.cpp b/engines/titanic/npcs/deskbot.cpp index c5032f1674..3a65b6f5bb 100644 --- a/engines/titanic/npcs/deskbot.cpp +++ b/engines/titanic/npcs/deskbot.cpp @@ -52,7 +52,8 @@ END_MESSAGE_MAP() int CDeskbot::_v1; int CDeskbot::_v2; -CDeskbot::CDeskbot() : CTrueTalkNPC(), _deskbotActive(false), _classNum(0) { +CDeskbot::CDeskbot() : CTrueTalkNPC(), _deskbotActive(false), + _classNum(NO_CLASS) { } void CDeskbot::save(SimpleFile *file, int indent) { @@ -70,7 +71,7 @@ void CDeskbot::load(SimpleFile *file) { _v1 = file->readNumber(); _v2 = file->readNumber(); _deskbotActive = file->readNumber(); - _classNum = file->readNumber(); + _classNum = (PassengerClass)file->readNumber(); CTrueTalkNPC::load(file); } @@ -78,7 +79,9 @@ void CDeskbot::load(SimpleFile *file) { bool CDeskbot::TurnOn(CTurnOn *msg) { if (!_deskbotActive) { setVisible(true); - playClip("BellRinging", 4); + playClip("BellRinging"); + playClip("Opening", MOVIE_NOTIFY_OBJECT); + playSound("b#69.wav"); petSetArea(PET_CONVERSATION); @@ -114,7 +117,7 @@ bool CDeskbot::MovieEndMsg(CMovieEndMsg *msg) { dec54(); unlockMouse(); playSound("z#47.wav"); - _classNum = false; + _classNum = NO_CLASS; } _npcFlags &= ~NPCFLAG_10000; @@ -143,9 +146,9 @@ bool CDeskbot::MovieEndMsg(CMovieEndMsg *msg) { if (_npcFlags & NPCFLAG_20000) { _npcFlags &= ~(NPCFLAG_40000 | NPCFLAG_20000); - endTalking(this, 1, findView()); + setTalking(this, true, findView()); - _npcFlags |= NPCFLAG_4; + _npcFlags |= NPCFLAG_START_IDLING; flag = true; } @@ -170,23 +173,23 @@ bool CDeskbot::TrueTalkTriggerActionMsg(CTrueTalkTriggerActionMsg *msg) { inc54(); lockMouse(); petSetArea(PET_CONVERSATION); - playClip("ReprogramPETInHand", 4); + playClip("ReprogramPETInHand", MOVIE_NOTIFY_OBJECT); _npcFlags |= NPCFLAG_10000; - _classNum = msg->_param1; + _classNum = (PassengerClass)msg->_param1; switch (_classNum) { - case 1: + case FIRST_CLASS: petDisplayMessage(UPGRADED_TO_FIRST_CLASS); setPassengerClass(_classNum); petReassignRoom(_classNum); break; - case 2: + case SECOND_CLASS: petDisplayMessage(UPGRADED_TO_SECOND_CLASS); setPassengerClass(_classNum); petReassignRoom(_classNum); break; - case 3: - setPassengerClass(3); + case THIRD_CLASS: + setPassengerClass(THIRD_CLASS); petReassignRoom(_classNum); break; default: @@ -197,31 +200,31 @@ bool CDeskbot::TrueTalkTriggerActionMsg(CTrueTalkTriggerActionMsg *msg) { if (getPassengerClass() == 1) { CPetControl *petControl = getPetControl(); if (petControl) - petControl->changeLocationClass(4); + petControl->changeLocationClass(UNCHECKED); } break; case 21: - if (getPassengerClass() == 1) { + if (getPassengerClass() == FIRST_CLASS) { CPetControl *petControl = getPetControl(); if (petControl) - petControl->changeLocationClass(3); + petControl->changeLocationClass(THIRD_CLASS); } break; case 22: - if (getPassengerClass() == 1) { + if (getPassengerClass() == FIRST_CLASS) { CPetControl *petControl = getPetControl(); if (petControl) - petControl->changeLocationClass(2); + petControl->changeLocationClass(SECOND_CLASS); } break; case 23: - if (getPassengerClass() == 1) { + if (getPassengerClass() == FIRST_CLASS) { CPetControl *petControl = getPetControl(); if (petControl) - petControl->changeLocationClass(1); + petControl->changeLocationClass(FIRST_CLASS); } break; @@ -300,8 +303,8 @@ bool CDeskbot::TurnOff(CTurnOff *msg) { stopMovie(); performAction(1, findView()); - _npcFlags = (_npcFlags & ~(NPCFLAG_SPEAKING | NPCFLAG_2 | NPCFLAG_4)) | NPCFLAG_40000; - playClip("Closing", 0x14); + _npcFlags = (_npcFlags & ~(NPCFLAG_SPEAKING | NPCFLAG_IDLING | NPCFLAG_START_IDLING)) | NPCFLAG_40000; + playClip("Closing", MOVIE_GAMESTATE | MOVIE_NOTIFY_OBJECT); } return true; diff --git a/engines/titanic/npcs/deskbot.h b/engines/titanic/npcs/deskbot.h index ab48d63546..1b462f6584 100644 --- a/engines/titanic/npcs/deskbot.h +++ b/engines/titanic/npcs/deskbot.h @@ -45,7 +45,7 @@ private: static int _v2; public: bool _deskbotActive; - int _classNum; + PassengerClass _classNum; public: CLASSDEF; CDeskbot(); diff --git a/engines/titanic/npcs/doorbot.cpp b/engines/titanic/npcs/doorbot.cpp index d26f4bb828..ebab6508c2 100644 --- a/engines/titanic/npcs/doorbot.cpp +++ b/engines/titanic/npcs/doorbot.cpp @@ -22,6 +22,7 @@ #include "titanic/npcs/doorbot.h" #include "titanic/core/room_item.h" +#include "titanic/titanic.h" namespace Titanic { @@ -48,7 +49,7 @@ int CDoorbot::_v1; int CDoorbot::_v2; CDoorbot::CDoorbot() : CTrueTalkNPC() { - _field108 = 0; + _introMovieNum = 0; _timerId = 0; _field110 = 0; _field114 = 0; @@ -59,7 +60,7 @@ void CDoorbot::save(SimpleFile *file, int indent) { file->writeNumberLine(_v1, indent); file->writeNumberLine(_v2, indent); - file->writeNumberLine(_field108, indent); + file->writeNumberLine(_introMovieNum, indent); file->writeNumberLine(_timerId, indent); file->writeNumberLine(_field110, indent); file->writeNumberLine(_field114, indent); @@ -72,7 +73,7 @@ void CDoorbot::load(SimpleFile *file) { _v1 = file->readNumber(); _v2 = file->readNumber(); - _field108 = file->readNumber(); + _introMovieNum = file->readNumber(); _timerId = file->readNumber(); _field110 = file->readNumber(); _field114 = file->readNumber(); @@ -81,11 +82,14 @@ void CDoorbot::load(SimpleFile *file) { } bool CDoorbot::MovieEndMsg(CMovieEndMsg *msg) { + debugC(ERROR_DETAILED, kDebugScripts, "CDoorbot MovieEndMsg flags=%x v=%d, start=%d, end=%d", + _npcFlags, _introMovieNum, msg->_startFrame, msg->_endFrame); + if (_npcFlags & NPCFLAG_DOORBOT_INTRO) { - switch (_field108) { + switch (_introMovieNum) { case 3: startTalking(this, 221482); - _field108 = 4; + _introMovieNum = 4; break; case 6: @@ -99,7 +103,7 @@ bool CDoorbot::MovieEndMsg(CMovieEndMsg *msg) { case 7: startTalking(this, 221467); - _field108 = 8; + _introMovieNum = 8; break; case 9: @@ -118,11 +122,11 @@ bool CDoorbot::MovieEndMsg(CMovieEndMsg *msg) { CTrueTalkNPC::MovieEndMsg(msg); } else if (_npcFlags & NPCFLAG_100000) { if (clipExistsByEnd("Cloak Off", msg->_endFrame)) { - _npcFlags = (_npcFlags & ~NPCFLAG_8) | NPCFLAG_4; - endTalking(this, false); + _npcFlags = (_npcFlags & ~NPCFLAG_8) | NPCFLAG_START_IDLING; + setTalking(this, false); startTalking(this, 221474); _npcFlags |= NPCFLAG_DOORBOT_INTRO; - _field108 = 0; + _introMovieNum = 0; } else if (clipExistsByEnd("Cloak On", msg->_endFrame)) { petShow(); setState1C(true); @@ -135,8 +139,8 @@ bool CDoorbot::MovieEndMsg(CMovieEndMsg *msg) { || clipExistsByEnd("Whizz On Right", msg->_endFrame)) { setPosition(Point((600 - _bounds.width()) / 2 + 18, 42)); loadFrame(0); - endTalking(this, true); - _npcFlags |= NPCFLAG_4; + setTalking(this, true); + _npcFlags |= NPCFLAG_START_IDLING; petSetArea(PET_CONVERSATION); } else if (clipExistsByEnd("Whizz Off Left", msg->_endFrame) || clipExistsByEnd("Whizz Off Right", msg->_endFrame)) { @@ -195,12 +199,12 @@ bool CDoorbot::TrueTalkTriggerActionMsg(CTrueTalkTriggerActionMsg *msg) { break; case 4: - _npcFlags = (_npcFlags & ~NPCFLAG_2) | NPCFLAG_4000000; + _npcFlags = (_npcFlags & ~NPCFLAG_IDLING) | NPCFLAG_4000000; playClip("Whizz Off Left", MOVIE_NOTIFY_OBJECT | MOVIE_GAMESTATE); break; case 28: { - _npcFlags &= ~(NPCFLAG_2 | NPCFLAG_4); + _npcFlags &= ~(NPCFLAG_IDLING | NPCFLAG_START_IDLING); CDismissBotMsg dismissMsg; dismissMsg.execute(this); break; @@ -227,13 +231,13 @@ bool CDoorbot::DoorbotNeededInElevatorMsg(CDoorbotNeededInElevatorMsg *msg) { setPosition(Point(100, 42)); if (_npcFlags & NPCFLAG_DOORBOT_INTRO) { - _field108 = 7; + _introMovieNum = 7; _npcFlags |= NPCFLAG_200000; loadFrame(797); } else { _npcFlags = 0; if (msg->_value) - endTalking(this, true); + setTalking(this, true); } return true; @@ -242,7 +246,7 @@ bool CDoorbot::DoorbotNeededInElevatorMsg(CDoorbotNeededInElevatorMsg *msg) { bool CDoorbot::LeaveViewMsg(CLeaveViewMsg *msg) { if (!(_npcFlags & NPCFLAG_DOORBOT_INTRO) && (_npcFlags & NPCFLAG_400000)) { performAction(true); - _npcFlags &= ~NPCFLAG_4; + _npcFlags &= ~NPCFLAG_START_IDLING; } return true; @@ -252,6 +256,8 @@ bool CDoorbot::TimerMsg(CTimerMsg *msg) { if (msg->_action == "NPCIdleAnim") { return CTrueTalkNPC::TimerMsg(msg); } else if (_npcFlags & NPCFLAG_DOORBOT_INTRO) { + _timerId = 0; + switch (msg->_actionVal) { case 0: startTalking(this, 221475); @@ -266,11 +272,11 @@ bool CDoorbot::TimerMsg(CTimerMsg *msg) { break; case 3: - playClip("DoubleTake Start", 0); - playClip("DoubleTake End", 0); - playClip("DoubleTake Start", 0); + playClip("DoubleTake Start"); + playClip("DoubleTake End"); + playClip("DoubleTake Start"); playClip("DoubleTake End", MOVIE_NOTIFY_OBJECT); - _field108 = 3; + _introMovieNum = 3; break; case 4: @@ -281,21 +287,23 @@ bool CDoorbot::TimerMsg(CTimerMsg *msg) { case 5: lockInputHandler(); - mouseLockE4(); + mouseDisableControl(); _field114 = true; startTalking(this, 221485); break; case 6: + // Start dragging photograph to PET CMouseButtonDownMsg::generate(); mouseSetPosition(Point(200, 430), 2500); _timerId = addTimer(7, 2500, 0); break; case 7: - CMouseButtonDownMsg::generate(); + // Drop photograph in PET + CMouseButtonUpMsg::generate(); startTalking(this, 221486); - mouseUnlockE4(); + mouseEnableControl(); unlockInputHandler(); _field114 = false; disableMouse(); @@ -334,11 +342,17 @@ bool CDoorbot::NPCPlayTalkingAnimationMsg(CNPCPlayTalkingAnimationMsg *msg) { if (msg->_value2 != 2) { if (_npcFlags & NPCFLAG_200000) { - if (_field108 == 8 || _field110) { + switch (_introMovieNum) { + case 8: + case 10: msg->_names = NAMES2; - } else if (_field108 == 9) { + break; + case 9: msg->_names = NAMES3; - _field108 = 10; + _introMovieNum = 10; + break; + default: + break; } } else if (_npcFlags & (NPCFLAG_100000 | NPCFLAG_400000)) { msg->_names = NAMES1; @@ -362,7 +376,7 @@ bool CDoorbot::NPCPlayIdleAnimationMsg(CNPCPlayIdleAnimationMsg *msg) { bool CDoorbot::PutBotBackInHisBoxMsg(CPutBotBackInHisBoxMsg *msg) { petMoveToHiddenRoom(); - _npcFlags &= ~(NPCFLAG_4 | NPCFLAG_100000 | NPCFLAG_200000 | NPCFLAG_DOORBOT_INTRO); + _npcFlags &= ~(NPCFLAG_START_IDLING | NPCFLAG_100000 | NPCFLAG_200000 | NPCFLAG_DOORBOT_INTRO); if (msg->_value) performAction(true); @@ -375,8 +389,8 @@ bool CDoorbot::DismissBotMsg(CDismissBotMsg *msg) { MOVIE_STOP_PREVIOUS | MOVIE_NOTIFY_OBJECT | MOVIE_GAMESTATE); movieEvent(); - if (_npcFlags & NPCFLAG_4) { - _npcFlags &= ~NPCFLAG_4; + if (_npcFlags & NPCFLAG_START_IDLING) { + _npcFlags &= ~NPCFLAG_START_IDLING; performAction(true); } else { performAction(false); @@ -409,7 +423,7 @@ bool CDoorbot::TrueTalkNotifySpeechEndedMsg(CTrueTalkNotifySpeechEndedMsg *msg) switch (msg->_dialogueId) { case 10552: playClip("SE Try Buttons", MOVIE_NOTIFY_OBJECT); - _field108 = 9; + _introMovieNum = 9; break; case 10553: @@ -418,7 +432,7 @@ bool CDoorbot::TrueTalkNotifySpeechEndedMsg(CTrueTalkNotifySpeechEndedMsg *msg) case 10557: playClip("SE Move To Right", MOVIE_NOTIFY_OBJECT); - _field108 = 11; + _introMovieNum = 11; break; case 10559: @@ -435,13 +449,13 @@ bool CDoorbot::TrueTalkNotifySpeechEndedMsg(CTrueTalkNotifySpeechEndedMsg *msg) case 10561: enableMouse(); - _field108 = 1; + _introMovieNum = 1; stopAnimTimer(_timerId); _timerId = addTimer(2, 10000, 0); break; case 10562: - if (_field108 == 1) { + if (_introMovieNum == 1) { stopAnimTimer(_timerId); _timerId = addTimer(2, getRandomNumber(5000), 0); } @@ -462,7 +476,7 @@ bool CDoorbot::TrueTalkNotifySpeechEndedMsg(CTrueTalkNotifySpeechEndedMsg *msg) _timerId = 0; if (_field110 == 2) { playClip("Cloak On", MOVIE_NOTIFY_OBJECT); - _field108 = 6; + _introMovieNum = 6; } else { _timerId = addTimer(3, 2000, 0); } @@ -478,7 +492,8 @@ bool CDoorbot::TrueTalkNotifySpeechEndedMsg(CTrueTalkNotifySpeechEndedMsg *msg) } case 10568: - mouseLockE4(); + // Start moving cursor to photograph + mouseDisableControl(); mouseSetPosition(Point(600, 250), 2500); _timerId = addTimer(6, 2500, 0); break; @@ -497,7 +512,7 @@ bool CDoorbot::TrueTalkNotifySpeechEndedMsg(CTrueTalkNotifySpeechEndedMsg *msg) case 10571: playClip("Cloak On", MOVIE_NOTIFY_OBJECT); - _field108 = 6; + _introMovieNum = 6; break; default: @@ -512,9 +527,9 @@ bool CDoorbot::TextInputMsg(CTextInputMsg *msg) { if (!(_npcFlags & NPCFLAG_DOORBOT_INTRO)) return CTrueTalkNPC::TextInputMsg(msg); - if (_field108 == 1) { + if (_introMovieNum == 1) { stopAnimTimer(_timerId); - _field108 = 2; + _introMovieNum = 2; _timerId = 0; if (msg->_input == "yes" || msg->_input == "yeah" @@ -532,34 +547,36 @@ bool CDoorbot::TextInputMsg(CTextInputMsg *msg) { } bool CDoorbot::EnterViewMsg(CEnterViewMsg *msg) { - if ((_npcFlags & NPCFLAG_DOORBOT_INTRO) && _field108 == 7) + if ((_npcFlags & NPCFLAG_DOORBOT_INTRO) && _introMovieNum == 7) playClip("SE Move And Turn", MOVIE_NOTIFY_OBJECT); return true; } bool CDoorbot::ActMsg(CActMsg *msg) { + debugC(ERROR_DETAILED, kDebugScripts, "CDoorbot ActMsg action=%s v108=%d v110=%d v114=%d", + msg->_action.c_str(), _introMovieNum, _field110, _field114); + if (msg->_action == "DoorbotPlayerPressedTopButton") { disableMouse(); startTalking(this, 221471); } else if (msg->_action == "DoorbotPlayerPressedMiddleButton") { startTalking(this, 221470); - } - else if (msg->_action == "DoorbotPlayerPressedBottomButton") { + } else if (msg->_action == "DoorbotPlayerPressedBottomButton") { startTalking(this, 221469); } else if (msg->_action == "DoorbotReachedEmbLobby") { startTalking(this, 221472); } else if (msg->_action == "PlayerPicksUpPhoto") { _field110 = 1; - if (!_field114 && _field108 == 4) { + if (!_field114 && _introMovieNum == 4) { stopAnimTimer(_timerId); _timerId = 0; - _field108 = 5; + _introMovieNum = 5; startTalking(this, 221484); } } else if (msg->_action == "PlayerPutsPhotoInPet") { _field110 = 2; - if (!_field114 && _field108 == 5) { + if (!_field114 && _introMovieNum == 5) { stopAnimTimer(_timerId); _timerId = 0; startTalking(this, 221486); diff --git a/engines/titanic/npcs/doorbot.h b/engines/titanic/npcs/doorbot.h index 9095ebc7e7..1cb7ec3f27 100644 --- a/engines/titanic/npcs/doorbot.h +++ b/engines/titanic/npcs/doorbot.h @@ -49,7 +49,7 @@ private: static int _v1; static int _v2; private: - int _field108; + int _introMovieNum; int _timerId; int _field110; int _field114; diff --git a/engines/titanic/npcs/liftbot.cpp b/engines/titanic/npcs/liftbot.cpp index 64bc7c4989..bb554a104f 100644 --- a/engines/titanic/npcs/liftbot.cpp +++ b/engines/titanic/npcs/liftbot.cpp @@ -66,7 +66,7 @@ void CLiftBot::load(SimpleFile *file) { bool CLiftBot::TextInputMsg(CTextInputMsg *msg) { CPetControl *pet = getPetControl(); if (_enabled || pet->getRoomsElevatorNum() != 4) { - if (getName() != "LiftBot") { + if (getName() == "LiftBot") { CViewItem *view = findView(); processInput(msg, view); } @@ -79,13 +79,12 @@ bool CLiftBot::EnterViewMsg(CEnterViewMsg *msg) { CPetControl *pet = getPetControl(); if (!_enabled && pet->getRoomsElevatorNum() == 4) { loadFrame(700); - } else if (!_flag) { - if (getName() != "LiftBot") { - CViewItem *view = findView(); - endTalking(this, true, view); - petSetArea(PET_CONVERSATION); - _flag = 1; - } + } else if (!_flag && getName() == "LiftBot") { + // First time meeting the LiftBot + CViewItem *view = findView(); + setTalking(this, true, view); + petSetArea(PET_CONVERSATION); + _flag = 1; } return true; @@ -109,7 +108,7 @@ bool CLiftBot::TrueTalkTriggerActionMsg(CTrueTalkTriggerActionMsg *msg) { } bool CLiftBot::LeaveRoomMsg(CLeaveRoomMsg *msg) { - if (getName() != "LiftBot") + if (getName() == "LiftBot") performAction(false); return true; @@ -124,7 +123,7 @@ bool CLiftBot::TurnOn(CTurnOn *msg) { _enabled = true; if (!_flag) { if (isEquals("LiftBotTalking")) { - endTalking(this, MOVIE_REPEAT, findView()); + setTalking(this, MOVIE_REPEAT, findView()); petSetArea(PET_CONVERSATION); _flag = true; } @@ -164,7 +163,7 @@ bool CLiftBot::NPCPlayTalkingAnimationMsg(CNPCPlayTalkingAnimationMsg *msg) { }; if (msg->_value2 == 2) - playClip("At Rest", 0); + playClip("At Rest"); else msg->_names = NAMES; return true; @@ -174,7 +173,7 @@ bool CLiftBot::ActMsg(CActMsg *msg) { if (msg->_action == "ActivateLift") { _enabled = true; CViewItem *view = findView(); - endTalking(this, true, view); + setTalking(this, true, view); startTalking(this, 155, view); } else if (msg->_action == "LiftArrive") { CViewItem *view = findView(); diff --git a/engines/titanic/npcs/maitre_d.cpp b/engines/titanic/npcs/maitre_d.cpp index 658b7c7123..cbb406fffa 100644 --- a/engines/titanic/npcs/maitre_d.cpp +++ b/engines/titanic/npcs/maitre_d.cpp @@ -114,7 +114,7 @@ bool CMaitreD::TrueTalkTriggerActionMsg(CTrueTalkTriggerActionMsg *msg) { } bool CMaitreD::EnterViewMsg(CEnterViewMsg *msg) { - endTalking(this, true, findView()); + setTalking(this, true, findView()); _field12C = _field134; if (_string3 == "STMusic" && (!_field11C || _string2 == _string3)) diff --git a/engines/titanic/npcs/parrot.cpp b/engines/titanic/npcs/parrot.cpp index 97a1944fef..c3702e17d4 100644 --- a/engines/titanic/npcs/parrot.cpp +++ b/engines/titanic/npcs/parrot.cpp @@ -202,7 +202,7 @@ bool CParrot::ActMsg(CActMsg *msg) { } bool CParrot::MouseButtonDownMsg(CMouseButtonDownMsg *msg) { - if (!(_npcFlags & NPCFLAG_2000000) && _field100 <= 0) { + if (!(_npcFlags & NPCFLAG_2000000) && _speechCounter == 0) { CTrueTalkTriggerActionMsg triggerMsg(280250, 280250, 1); triggerMsg.execute(this); } @@ -291,7 +291,7 @@ bool CParrot::MovieEndMsg(CMovieEndMsg *msg) { return true; } else if (clipExistsByEnd("Lean Over To Chicken", msg->_endFrame)) { - playClip("Eat Chicken", 0); + playClip("Eat Chicken"); playClip("Eat Chicken 2", MOVIE_NOTIFY_OBJECT); _v1 = 1; @@ -352,9 +352,9 @@ bool CParrot::EnterViewMsg(CEnterViewMsg *msg) { _field118 = 1; _npcFlags &= ~(NPCFLAG_10000 | NPCFLAG_20000 | NPCFLAG_40000 | NPCFLAG_80000 | NPCFLAG_100000 | NPCFLAG_200000 | NPCFLAG_400000); loadFrame(0); - endTalking(this, true, findView()); + setTalking(this, true, findView()); - if (_field100 > 0) { + if (_speechCounter > 0) { playRandomClip(NAMES, MOVIE_NOTIFY_OBJECT); } else { startTalking(this, 280258, findView()); @@ -362,7 +362,7 @@ bool CParrot::EnterViewMsg(CEnterViewMsg *msg) { petSetArea(PET_CONVERSATION); _field12C = 0; - _npcFlags |= NPCFLAG_4; + _npcFlags |= NPCFLAG_START_IDLING; } return true; @@ -404,7 +404,7 @@ bool CParrot::MouseDragStartMsg(CMouseDragStartMsg *msg) { bool CParrot::LeaveViewMsg(CLeaveViewMsg *msg) { performAction(true); - _npcFlags &= ~NPCFLAG_4; + _npcFlags &= ~NPCFLAG_START_IDLING; return true; } @@ -425,7 +425,7 @@ bool CParrot::ParrotSpeakMsg(CParrotSpeakMsg *msg) { } // Don't have the parrot speak too often - if ((getTicksCount() - _field120) < 20000 || _field100) + if ((getTicksCount() - _field120) < 20000 || _speechCounter) return true; playSound("z#475.wav", 50); diff --git a/engines/titanic/npcs/succubus.cpp b/engines/titanic/npcs/succubus.cpp index 6db8c8d798..bdde682c03 100644 --- a/engines/titanic/npcs/succubus.cpp +++ b/engines/titanic/npcs/succubus.cpp @@ -671,7 +671,7 @@ bool CSuccUBus::TurnOn(CTurnOn *msg) { CSUBTransition transMsg; transMsg.execute(this); - endTalking(this, true, findView()); + setTalking(this, true, findView()); petSetArea(PET_REMOTE); petHighlightGlyph(16); } diff --git a/engines/titanic/npcs/titania.cpp b/engines/titanic/npcs/titania.cpp index aa92ddd166..db0c85d5f5 100644 --- a/engines/titanic/npcs/titania.cpp +++ b/engines/titanic/npcs/titania.cpp @@ -180,7 +180,7 @@ bool CTitania::ActMsg(CActMsg *msg) { CActMsg actMsg("Woken"); actMsg.execute("MouthSlot"); actMsg.execute("VisionCentreSlot"); - setPassengerClass(4); + setPassengerClass(UNCHECKED); addTimer(1000); } else { diff --git a/engines/titanic/npcs/true_talk_npc.cpp b/engines/titanic/npcs/true_talk_npc.cpp index 55666a21a9..8d08600c9b 100644 --- a/engines/titanic/npcs/true_talk_npc.cpp +++ b/engines/titanic/npcs/true_talk_npc.cpp @@ -24,6 +24,7 @@ #include "titanic/core/view_item.h" #include "titanic/pet_control/pet_control.h" #include "titanic/game_manager.h" +#include "titanic/titanic.h" namespace Titanic { @@ -41,7 +42,7 @@ END_MESSAGE_MAP() CTrueTalkNPC::CTrueTalkNPC() : _assetName("z451.dlg"), _assetNumber(0x11170), _fieldE4(0), _npcFlags(0), _speechDuration(0), _startTicks(0), - _fieldF4(0), _fieldF8(0), _speechTimerId(0), _field100(0), _field104(0) { + _fieldF4(0), _fieldF8(0), _speechTimerId(0), _speechCounter(0), _field104(0) { } void CTrueTalkNPC::save(SimpleFile *file, int indent) { @@ -55,7 +56,7 @@ void CTrueTalkNPC::save(SimpleFile *file, int indent) { file->writeNumberLine(_fieldF4, indent); file->writeNumberLine(_fieldF8, indent); file->writeNumberLine(_speechTimerId, indent); - file->writeNumberLine(_field100, indent); + file->writeNumberLine(_speechCounter, indent); file->writeNumberLine(_field104, indent); CCharacter::save(file, indent); @@ -72,7 +73,7 @@ void CTrueTalkNPC::load(SimpleFile *file) { _fieldF4 = file->readNumber(); _fieldF8 = file->readNumber(); _speechTimerId = file->readNumber(); - _field100 = file->readNumber(); + _speechCounter = file->readNumber(); _field104 = file->readNumber(); CCharacter::load(file); @@ -95,8 +96,11 @@ bool CTrueTalkNPC::DismissBotMsg(CDismissBotMsg *msg) { } bool CTrueTalkNPC::TrueTalkNotifySpeechStartedMsg(CTrueTalkNotifySpeechStartedMsg *msg) { + debugC(ERROR_DETAILED, kDebugScripts, "%s TrueTalkNotifySpeechStartedMsg flags=%x dialogueId=%d", + getName().c_str(), _npcFlags, msg->_dialogueId); + _npcFlags |= NPCFLAG_SPEAKING; - ++_field100; + ++_speechCounter; if (!(_npcFlags & NPCFLAG_8)) { // Stop any previous animation @@ -107,8 +111,8 @@ bool CTrueTalkNPC::TrueTalkNotifySpeechStartedMsg(CTrueTalkNotifySpeechStartedMs _speechDuration = msg->_speechDuration; _startTicks = getTicksCount(); - if (!hasActiveMovie() || (_npcFlags & NPCFLAG_2)) { - _npcFlags &= ~NPCFLAG_2; + if (!hasActiveMovie() || (_npcFlags & NPCFLAG_IDLING)) { + _npcFlags &= ~NPCFLAG_IDLING; stopMovie(); CNPCPlayTalkingAnimationMsg msg1(_speechDuration, 0, nullptr); @@ -125,12 +129,13 @@ bool CTrueTalkNPC::TrueTalkNotifySpeechStartedMsg(CTrueTalkNotifySpeechStartedMs } bool CTrueTalkNPC::TrueTalkNotifySpeechEndedMsg(CTrueTalkNotifySpeechEndedMsg *msg) { + debugC(ERROR_DETAILED, kDebugScripts, "%s TrueTalkNotifySpeechEndedMsg flags=%x dialogueId=%d", getName().c_str(), _npcFlags, msg->_dialogueId); _npcFlags &= ~NPCFLAG_SPEAKING; - --_field100; + --_speechCounter; _speechDuration = 0; if (!(_npcFlags & NPCFLAG_8)) { - CNPCPlayTalkingAnimationMsg msg1(0, 2, 0); + CNPCPlayTalkingAnimationMsg msg1(0, 2, nullptr); msg1.execute(this); CNPCQueueIdleAnimMsg msg2; msg2.execute(this); @@ -140,8 +145,8 @@ bool CTrueTalkNPC::TrueTalkNotifySpeechEndedMsg(CTrueTalkNotifySpeechEndedMsg *m } bool CTrueTalkNPC::MovieEndMsg(CMovieEndMsg *msg) { - if (_npcFlags & NPCFLAG_2) { - _npcFlags &= ~NPCFLAG_2; + if (_npcFlags & NPCFLAG_IDLING) { + _npcFlags &= ~NPCFLAG_IDLING; CNPCQueueIdleAnimMsg idleMsg; idleMsg.execute(this); return true; @@ -170,8 +175,8 @@ bool CTrueTalkNPC::NPCQueueIdleAnimMsg(CNPCQueueIdleAnimMsg *msg) { } bool CTrueTalkNPC::TimerMsg(CTimerMsg *msg) { - if (_npcFlags & NPCFLAG_4) { - if (_field100 > 0) + if (_npcFlags & NPCFLAG_START_IDLING) { + if (_speechCounter > 0) return false; CNPCPlayIdleAnimationMsg idleMsg; @@ -181,7 +186,7 @@ bool CTrueTalkNPC::TimerMsg(CTimerMsg *msg) { animMsg.execute(this); } - _npcFlags &= ~NPCFLAG_2; + _npcFlags &= ~NPCFLAG_IDLING; } } diff --git a/engines/titanic/npcs/true_talk_npc.h b/engines/titanic/npcs/true_talk_npc.h index 3adf055449..d9ea037a72 100644 --- a/engines/titanic/npcs/true_talk_npc.h +++ b/engines/titanic/npcs/true_talk_npc.h @@ -30,8 +30,8 @@ namespace Titanic { enum NpcFlag { - NPCFLAG_SPEAKING = 1, NPCFLAG_2 = 2, NPCFLAG_4 = 4, NPCFLAG_8 = 8, - NPCFLAG_10000 = 0x10000, NPCFLAG_20000 = 0x20000, + NPCFLAG_SPEAKING = 1, NPCFLAG_IDLING = 2, NPCFLAG_START_IDLING = 4, + NPCFLAG_8 = 8, NPCFLAG_10000 = 0x10000, NPCFLAG_20000 = 0x20000, NPCFLAG_40000 = 0x40000, NPCFLAG_80000 = 0x80000, NPCFLAG_100000 = 0x100000, NPCFLAG_200000 = 0x200000, NPCFLAG_400000 = 0x400000, NPCFLAG_800000 = 0x800000, @@ -66,7 +66,7 @@ protected: protected: void processInput(CTextInputMsg *msg, CViewItem *view); public: - int _field100; + int _speechCounter; public: CLASSDEF; CTrueTalkNPC(); diff --git a/engines/titanic/pet_control/pet_control.cpp b/engines/titanic/pet_control/pet_control.cpp index 4cdab24f6d..415d1e9821 100644 --- a/engines/titanic/pet_control/pet_control.cpp +++ b/engines/titanic/pet_control/pet_control.cpp @@ -27,6 +27,7 @@ #include "titanic/messages/pet_messages.h" #include "titanic/game_manager.h" #include "titanic/game_state.h" +#include "titanic/titanic.h" namespace Titanic { @@ -37,6 +38,7 @@ BEGIN_MESSAGE_MAP(CPetControl, CGameObject) ON_MESSAGE(MouseDragEndMsg) ON_MESSAGE(MouseButtonUpMsg) ON_MESSAGE(MouseDoubleClickMsg) + ON_MESSAGE(MouseWheelMsg) ON_MESSAGE(KeyCharMsg) ON_MESSAGE(VirtualKeyCharMsg) ON_MESSAGE(TimerMsg) @@ -154,7 +156,7 @@ void CPetControl::postLoad() { if (!_remoteTargetName.empty() && root) _remoteTarget = dynamic_cast<CGameObject *>(root->findByName(_remoteTargetName)); - setArea(_currentArea); + setArea(_currentArea, true); loaded(); } @@ -184,7 +186,9 @@ void CPetControl::resetRemoteTarget() { } void CPetControl::setActiveNPC(CTrueTalkNPC *npc) { - if (_activeNPC == npc) { + if (_activeNPC != npc) { + _activeNPC = npc; + if (_activeNPC) { _activeNPCName = npc->getName(); _conversations.displayNPCName(npc); @@ -207,8 +211,8 @@ void CPetControl::resetActiveNPC() { _activeNPCName = ""; } -PetArea CPetControl::setArea(PetArea newArea) { - if (newArea == _currentArea || !isAreaActive()) +PetArea CPetControl::setArea(PetArea newArea, bool forceChange) { + if ((!forceChange && newArea == _currentArea) || !isAreaActive()) return _currentArea; // Signal the currently active area that it's being left @@ -315,6 +319,13 @@ bool CPetControl::MouseDoubleClickMsg(CMouseDoubleClickMsg *msg) { return _sections[_currentArea]->MouseDoubleClickMsg(msg); } +bool CPetControl::MouseWheelMsg(CMouseWheelMsg *msg) { + if (!containsPt(msg->_mousePos) || isInputLocked()) + return false; + + return _sections[_currentArea]->MouseWheelMsg(msg); +} + bool CPetControl::KeyCharMsg(CKeyCharMsg *msg) { if (isInputLocked()) return false; @@ -377,7 +388,7 @@ bool CPetControl::checkDragEnd(CGameObject *item) const { } void CPetControl::displayMessage(StringId stringId, int param) const { - CString msg = CString::format(_strings[stringId].c_str(), param); + CString msg = CString::format(g_vm->_strings[stringId].c_str(), param); _sections[_currentArea]->displayMessage(msg); } @@ -388,7 +399,7 @@ void CPetControl::displayMessage(const CString &str, int param) const { void CPetControl::addTranslation(StringId id1, StringId id2) { setArea(PET_TRANSLATION); - _translation.addTranslation(_strings[id1], _strings[id2]); + _translation.addTranslation(g_vm->_strings[id1], g_vm->_strings[id2]); } void CPetControl::clearTranslation() { @@ -461,7 +472,7 @@ void CPetControl::moveToHiddenRoom(CTreeItem *item) { CRoomItem *room = getHiddenRoom(); if (room) { item->detach(); - room->addUnder(item); + item->addUnder(room); } } @@ -594,6 +605,7 @@ void CPetControl::onSummonBot(const CString &name, int val) { COnSummonBotMsg summonMsg(val); summonMsg.execute(bot); + makeDirty(); } } @@ -609,10 +621,13 @@ bool CPetControl::dismissBot(const CString &name) { CDismissBotMsg dismissMsg; for (CTreeItem *treeItem = view->getFirstChild(); treeItem; treeItem = treeItem->scan(view)) { - if (!treeItem->getName().compareToIgnoreCase(name)) - dismissMsg.execute(treeItem); - else - result = true; + CGameObject *obj = dynamic_cast<CGameObject *>(treeItem); + if (obj) { + if (!obj->getName().compareToIgnoreCase(name)) + result = true; + else + dismissMsg.execute(treeItem); + } } return result; @@ -686,7 +701,7 @@ void CPetControl::resetDials0() { int CPetControl::getMailDest(const CRoomFlags &roomFlags) const { if (!roomFlags.isSuccUBusRoomFlags()) - return roomFlags.getPassengerClassNum(); + return (int)roomFlags.getPassengerClassNum(); return roomFlags.getSuccUBusNum(roomFlags.getSuccUBusRoomName()); } diff --git a/engines/titanic/pet_control/pet_control.h b/engines/titanic/pet_control/pet_control.h index d42dff598c..34d1330b52 100644 --- a/engines/titanic/pet_control/pet_control.h +++ b/engines/titanic/pet_control/pet_control.h @@ -68,7 +68,6 @@ private: CRoomItem *_hiddenRoom; Rect _drawBounds; PetEventInfo _timers[2]; - Strings _strings; private: /** * Returns true if the control is in a valid state @@ -116,6 +115,7 @@ protected: bool MouseDragEndMsg(CMouseDragEndMsg *msg); bool MouseButtonUpMsg(CMouseButtonUpMsg *msg); bool MouseDoubleClickMsg(CMouseDoubleClickMsg *msg); + bool MouseWheelMsg(CMouseWheelMsg *msg); bool KeyCharMsg(CKeyCharMsg *msg); bool VirtualKeyCharMsg(CVirtualKeyCharMsg *msg); bool TimerMsg(CTimerMsg *msg); @@ -180,7 +180,7 @@ public: /** * Sets the currently viewed area within the PET */ - PetArea setArea(PetArea newSection); + PetArea setArea(PetArea newSection, bool forceChange = false); /** * Hides the text cursor in the current section, if applicable @@ -421,14 +421,14 @@ public: /** * Gives the player a new assigned room in the specified passenger class */ - void reassignRoom(int passClassNum) { + void reassignRoom(PassengerClass passClassNum) { _rooms.reassignRoom(passClassNum); } /** * Change the current location passenger class */ - bool changeLocationClass(int newClassNum) { + bool changeLocationClass(PassengerClass newClassNum) { return _rooms.changeLocationClass(newClassNum); } diff --git a/engines/titanic/pet_control/pet_conversations.cpp b/engines/titanic/pet_control/pet_conversations.cpp index 58dcd57384..c2cddd9598 100644 --- a/engines/titanic/pet_control/pet_conversations.cpp +++ b/engines/titanic/pet_control/pet_conversations.cpp @@ -23,6 +23,7 @@ #include "titanic/pet_control/pet_conversations.h" #include "titanic/pet_control/pet_control.h" #include "titanic/game_manager.h" +#include "titanic/titanic.h" namespace Titanic { @@ -116,11 +117,11 @@ void CPetConversations::draw(CScreenManager *screenManager) { _textInput.draw(screenManager); if (_logChanged) { - int startIndex = _log.getLinesStart(); - if (startIndex >= 0) { - int npcNum = _log.getNPCNum(1, startIndex); + int endIndex = _log.displayEndIndex(); + if (endIndex >= 0) { + int npcNum = _log.getNPCNum(1, endIndex); if (npcNum > 0 && npcNum < 10) - _npcNum = npcNum; + _npcNum = npcNum - 1; } _logChanged = false; @@ -164,7 +165,7 @@ bool CPetConversations::MouseButtonUpMsg(CMouseButtonUpMsg *msg) { if (_doorBot.MouseButtonUpMsg(msg->_mousePos)) { switch (canSummonBot("DoorBot")) { case SUMMON_CANT: - _log.addLine("Sadly, it is not possible to summon the DoorBot from this location.", getColor(1)); + _log.addLine(g_vm->_strings[CANT_SUMMON_DOORBOT], getColor(1)); break; case SUMMON_CAN: summonBot("DoorBot"); @@ -181,7 +182,7 @@ bool CPetConversations::MouseButtonUpMsg(CMouseButtonUpMsg *msg) { if (_bellBot.MouseButtonUpMsg(msg->_mousePos)) { switch (canSummonBot("BellBot")) { case SUMMON_CANT: - _log.addLine("Sadly, it is not possible to summon the BellBot from this location.", getColor(1)); + _log.addLine(g_vm->_strings[CANT_SUMMON_BELLBOT], getColor(1)); break; case SUMMON_CAN: summonBot("BellBot"); @@ -203,6 +204,15 @@ bool CPetConversations::MouseDoubleClickMsg(CMouseDoubleClickMsg *msg) { || _scrollUp.MouseDoubleClickMsg(msg->_mousePos); } +bool CPetConversations::MouseWheelMsg(CMouseWheelMsg *msg) { + if (msg->_wheelUp) + scrollUp(); + else + scrollDown(); + + return true; +} + bool CPetConversations::KeyCharMsg(CKeyCharMsg *msg) { Common::KeyState keyState; keyState.ascii = msg->_key; @@ -268,40 +278,42 @@ void CPetConversations::timerExpired(int val) { } void CPetConversations::displayNPCName(CGameObject *npc) { + const Strings &strings = g_vm->_strings; + if (npc) { displayMessage(CString()); - CString msg = "Talking to "; + CString msg = strings[TALKING_TO]; CString name = npc->getName(); int id = 1; if (name.contains("Doorbot")) { - msg += "the DoorBot"; - } else if (name.contains("DeskBot")) { + msg += strings[DOORBOT_NAME]; + } else if (name.contains("Deskbot")) { id = 2; - msg += "the DeskBot"; + msg += strings[DESKBOT_NAME]; } else if (name.contains("LiftBot")) { id = 3; - msg += "a LiftBot"; + msg += strings[LIFTBOT_NAME]; } else if (name.contains("Parrot")) { id = 4; - msg += "the Parrot"; + msg += strings[PARROT_NAME]; } else if (name.contains("BarBot")) { id = 5; - msg += "the BarBot"; + msg += strings[BARBOT_NAME]; } else if (name.contains("ChatterBot")) { id = 6; - msg += "a ChatterBot"; + msg += strings[CHATTERBOT_NAME]; } else if (name.contains("BellBot")) { id = 7; - msg += "the BellBot"; + msg += strings[BELLBOT_NAME]; } else if (name.contains("Maitre")) { id = 8; - msg += "the Maitre d'Bot"; + msg += strings[MAITRED_NAME]; } else if (name.contains("Succubus") || name.contains("Sub")) { id = 9; - msg += "a Succ-U-Bus"; + msg += strings[SUCCUBUS_NAME]; } else { - msg += "Unknown"; + msg += strings[UNKNOWN_NAME]; } _log.setNPC(1, id); @@ -418,7 +430,7 @@ int CPetConversations::canSummonBot(const CString &name) { void CPetConversations::summonBot(const CString &name) { if (_petControl) { - if (_petControl->getPassengerClass() >= 4) { + if (_petControl->getPassengerClass() >= UNCHECKED) { _petControl->displayMessage(AT_LEAST_3RD_CLASS_FOR_HELP); } else { _petControl->summonBot(name, 0); @@ -498,7 +510,7 @@ void CPetConversations::textLineEntered(const CString &textLine) { if (!inputMsg._response.empty()) _log.addLine(inputMsg._response); } else { - _log.addLine("There is no one here to talk to", getColor(1)); + _log.addLine(g_vm->_strings[NO_ONE_TO_TALK_TO], getColor(1)); } // Clear input line and scroll log down to end to show response diff --git a/engines/titanic/pet_control/pet_conversations.h b/engines/titanic/pet_control/pet_conversations.h index efb7db4277..1837e5df2a 100644 --- a/engines/titanic/pet_control/pet_conversations.h +++ b/engines/titanic/pet_control/pet_conversations.h @@ -164,6 +164,7 @@ public: virtual bool MouseButtonDownMsg(CMouseButtonDownMsg *msg); virtual bool MouseButtonUpMsg(CMouseButtonUpMsg *msg); virtual bool MouseDoubleClickMsg(CMouseDoubleClickMsg *msg); + virtual bool MouseWheelMsg(CMouseWheelMsg *msg); virtual bool KeyCharMsg(CKeyCharMsg *msg); virtual bool VirtualKeyCharMsg(CVirtualKeyCharMsg *msg); diff --git a/engines/titanic/pet_control/pet_drag_chev.cpp b/engines/titanic/pet_control/pet_drag_chev.cpp index 7816570a23..4fe64283ff 100644 --- a/engines/titanic/pet_control/pet_drag_chev.cpp +++ b/engines/titanic/pet_control/pet_drag_chev.cpp @@ -54,20 +54,16 @@ bool CPetDragChev::MouseDragMoveMsg(CMouseDragMoveMsg *msg) { } bool CPetDragChev::MouseDragEndMsg(CMouseDragEndMsg *msg) { - if (msg->_dropTarget) { - CSuccUBus *succubus = dynamic_cast<CSuccUBus *>(msg->_dropTarget); + CSuccUBus *succubus = dynamic_cast<CSuccUBus *>(msg->_dropTarget); - if (succubus) { - CSetChevRoomBits chevMsg(_id); - chevMsg.execute(succubus); - } else { - CPetControl *petControl = getPetControl(); - if (petControl && petControl->contains(msg->_mousePos) - && msg->_mousePos.x < 528) { - if (petControl->checkDragEnd(this)) - petMoveToHiddenRoom(); - } - } + if (succubus) { + CSetChevRoomBits chevMsg(_id); + chevMsg.execute(succubus); + } else { + CPetControl *petControl = getPetControl(); + if (!petControl || !petControl->contains(msg->_mousePos) + || msg->_mousePos.x >= 528 || !petControl->checkDragEnd(this)) + petMoveToHiddenRoom(); } return true; diff --git a/engines/titanic/pet_control/pet_gfx_element.cpp b/engines/titanic/pet_control/pet_gfx_element.cpp index e43c847bb1..3fdfd02f3a 100644 --- a/engines/titanic/pet_control/pet_gfx_element.cpp +++ b/engines/titanic/pet_control/pet_gfx_element.cpp @@ -49,11 +49,11 @@ void CPetGfxElement::reset(const CString &name, CPetControl *petControl, PetElem return; CString numString(3); - int classNum = petControl->getPassengerClass(); + PassengerClass classNum = petControl->getPassengerClass(); - if (classNum >= 1 && classNum <= 3) { + if (classNum >= FIRST_CLASS && classNum <= THIRD_CLASS) { numString = CString(classNum); - } else if (classNum == 4) { + } else if (classNum == UNCHECKED) { int stateC = petControl->getPriorClass(); if (stateC == 1) numString = CString(stateC); diff --git a/engines/titanic/pet_control/pet_glyphs.cpp b/engines/titanic/pet_control/pet_glyphs.cpp index bd05342095..5cc428b104 100644 --- a/engines/titanic/pet_control/pet_glyphs.cpp +++ b/engines/titanic/pet_control/pet_glyphs.cpp @@ -101,9 +101,9 @@ void CPetGlyphs::setup(int numVisible, CPetSection *owner) { int buttonsLeft = numVisible * 70 + 21; _scrollLeft.setBounds(Rect(0, 0, 31, 15)); - _scrollLeft.translate(buttonsLeft, 373); + _scrollLeft.translate(buttonsLeft + 7, 373); _scrollRight.setBounds(Rect(0, 0, 31, 15)); - _scrollRight.translate(buttonsLeft, 413); + _scrollRight.translate(buttonsLeft + 7, 413); } void CPetGlyphs::reset() { @@ -155,7 +155,7 @@ void CPetGlyphs::draw(CScreenManager *screenManager) { int itemIndex = getItemIndex(index); if (itemIndex >= 0 && itemIndex < listSize) { - Point pt = getPosition(itemIndex); + Point pt = getPosition(index); CPetGlyph *glyph = getGlyph(itemIndex); if (glyph) diff --git a/engines/titanic/pet_control/pet_inventory.cpp b/engines/titanic/pet_control/pet_inventory.cpp index be01146398..c1eb0754a2 100644 --- a/engines/titanic/pet_control/pet_inventory.cpp +++ b/engines/titanic/pet_control/pet_inventory.cpp @@ -242,7 +242,7 @@ void CPetInventory::playMovie(CGameObject *movie, int flag) { if (_movie) { if (flag) - _movie->playMovie(0, 14, 1); + _movie->playMovie(0, 14, MOVIE_REPEAT); else _movie->playMovie(0); } diff --git a/engines/titanic/pet_control/pet_inventory_glyphs.cpp b/engines/titanic/pet_control/pet_inventory_glyphs.cpp index 03293eb453..e6087b5c02 100644 --- a/engines/titanic/pet_control/pet_inventory_glyphs.cpp +++ b/engines/titanic/pet_control/pet_inventory_glyphs.cpp @@ -295,7 +295,7 @@ void CPetInventoryGlyph::startBackgroundMovie() { if (_owner) { CPetInventory *section = dynamic_cast<CPetInventory *>(_owner->getOwner()); if (section) - section->playMovie(_background, 1); + section->playMovie(_background, MOVIE_REPEAT); } } @@ -303,7 +303,7 @@ void CPetInventoryGlyph::startForegroundMovie() { if (_owner) { CPetInventory *section = dynamic_cast<CPetInventory *>(_owner->getOwner()); if (section) - section->playMovie(_image, 1); + section->playMovie(_image, MOVIE_REPEAT); } } @@ -311,7 +311,7 @@ void CPetInventoryGlyph::stopMovie() { if (_owner) { CPetInventory *section = dynamic_cast<CPetInventory *>(_owner->getOwner()); if (section) - section->playMovie(nullptr, 1); + section->playMovie(nullptr, MOVIE_REPEAT); } } diff --git a/engines/titanic/pet_control/pet_load_save.cpp b/engines/titanic/pet_control/pet_load_save.cpp index 136953cab7..aa438c06d3 100644 --- a/engines/titanic/pet_control/pet_load_save.cpp +++ b/engines/titanic/pet_control/pet_load_save.cpp @@ -159,7 +159,7 @@ void CPetLoadSave::highlightChange() { uint col = section ? section->getColor(3) : 0; for (int idx = 0; idx < SAVEGAME_SLOTS_COUNT; ++idx) - _slotNames[idx].setColor(col); + _slotNames[idx].setLineColor(0, col); if (_savegameSlotNum != -1) { col = section ? section->getColor(4) : 0; diff --git a/engines/titanic/pet_control/pet_real_life.h b/engines/titanic/pet_control/pet_real_life.h index b359d285c8..7c7101a84b 100644 --- a/engines/titanic/pet_control/pet_real_life.h +++ b/engines/titanic/pet_control/pet_real_life.h @@ -87,11 +87,6 @@ public: virtual CGameObject *dragEnd(const Point &pt) const { return nullptr; } /** - * Display a message - */ - virtual void displayMessage(const CString &msg) {} - - /** * Returns true if the object is in a valid state */ virtual bool isValid(CPetControl *petControl); diff --git a/engines/titanic/pet_control/pet_remote.cpp b/engines/titanic/pet_control/pet_remote.cpp index 7e98308114..46af55c4d3 100644 --- a/engines/titanic/pet_control/pet_remote.cpp +++ b/engines/titanic/pet_control/pet_remote.cpp @@ -118,10 +118,10 @@ bool CPetRemote::reset() { _right.reset("PetRight", _petControl, MODE_UNSELECTED); _top.reset("PetTopUp", _petControl, MODE_SELECTED); _top.reset("PetTop", _petControl, MODE_UNSELECTED); - _bottom.reset("PetBottomUp", _petControl, MODE_SELECTED); - _bottom.reset("PetBottom", _petControl, MODE_UNSELECTED); - _action.reset("PetActionUp", _petControl, MODE_SELECTED); - _action.reset("PetAction", _petControl, MODE_UNSELECTED); + _bottom.reset("PetBottomUp", _petControl, MODE_UNSELECTED); + _bottom.reset("PetBottom", _petControl, MODE_SELECTED); + _action.reset("PetActionUp", _petControl, MODE_UNSELECTED); + _action.reset("PetAction", _petControl, MODE_SELECTED); _send.reset("PetActSend0", _petControl, MODE_UNSELECTED); _send.reset("PetActSend1", _petControl, MODE_SELECTED); @@ -314,8 +314,8 @@ bool CPetRemote::getRemoteData(int roomIndex, Common::Array<uint> &indexes) { const byte *p = &REMOTE_DATA[0]; for (int idx = 0; idx < TOTAL_ROOMS; ++idx) { if (*p == roomIndex) { - for (int ctr = 0; ctr < *p; ++ctr) - indexes.push_back(p[ctr + 1]); + for (int ctr = 0; ctr < p[1]; ++ctr) + indexes.push_back(p[ctr + 2]); return true; } diff --git a/engines/titanic/pet_control/pet_remote_glyphs.cpp b/engines/titanic/pet_control/pet_remote_glyphs.cpp index aa756bc941..2e69ad6bce 100644 --- a/engines/titanic/pet_control/pet_remote_glyphs.cpp +++ b/engines/titanic/pet_control/pet_remote_glyphs.cpp @@ -24,6 +24,7 @@ #include "titanic/pet_control/pet_remote.h" #include "titanic/pet_control/pet_control.h" #include "titanic/messages/pet_messages.h" +#include "titanic/support/strings.h" #include "titanic/titanic.h" namespace Titanic { @@ -58,22 +59,22 @@ bool CBasicRemoteGlyph::setup(CPetControl *petControl, CPetGlyphs *owner) { CPetRemoteGlyph::setup(petControl, owner); setDefaults(_gfxName, petControl); if (owner) - _gfxElement = getElement(18); + _callButton = getElement(18); return true; } void CBasicRemoteGlyph::draw2(CScreenManager *screenManager) { - if (_gfxElement) - _gfxElement->draw(screenManager); + if (_callButton) + _callButton->draw(screenManager); } bool CBasicRemoteGlyph::MouseButtonDownMsg(const Point &pt) { - return _gfxElement && _gfxElement->MouseButtonDownMsg(pt); + return _callButton && _callButton->MouseButtonDownMsg(pt); } bool CBasicRemoteGlyph::MouseButtonUpMsg(const Point &pt) { - if (_gfxElement && _gfxElement->MouseButtonUpMsg(pt)) { - getOwner()->generateMessage(RMSG_ACTIVATE, "Lift"); + if (_callButton && _callButton->MouseButtonUpMsg(pt)) { + getOwner()->generateMessage(RMSG_ACTIVATE, _msgString); return true; } @@ -124,22 +125,22 @@ bool CRemoteGotoGlyph::setup(CPetControl *petControl, CPetGlyphs *owner) { setDefaults(_gfxName, petControl); if (owner) - _gfxElement = getElement(7); + _goButton = getElement(7); return true; } void CRemoteGotoGlyph::draw2(CScreenManager *screenManager) { - if (_gfxElement) - _gfxElement->draw(screenManager); + if (_goButton) + _goButton->draw(screenManager); } bool CRemoteGotoGlyph::MouseButtonDownMsg(const Point &pt) { - return _gfxElement && _gfxElement->MouseButtonDownMsg(pt); + return _goButton && _goButton->MouseButtonDownMsg(pt); } bool CRemoteGotoGlyph::MouseButtonUpMsg(const Point &pt) { - if (!_gfxElement || !_gfxElement->MouseButtonUpMsg(pt)) + if (!_goButton || !_goButton->MouseButtonUpMsg(pt)) return false; CPetControl *petControl = getPetControl(); @@ -216,7 +217,7 @@ bool CTelevisionControlGlyph::MouseButtonUpMsg(const Point &pt) { } void CTelevisionControlGlyph::getTooltip(CPetText *text) { - text->setText("Television control"); + text->setText(TELEVISION_CONTROL); } /*------------------------------------------------------------------------*/ @@ -280,7 +281,7 @@ bool CEntertainmentDeviceGlyph::MouseButtonUpMsg(const Point &pt) { } void CEntertainmentDeviceGlyph::getTooltip(CPetText *text) { - text->setText("Operate visual entertainment device"); + text->setText(OPERATE_ENTERTAINMENT); } /*------------------------------------------------------------------------*/ @@ -334,7 +335,7 @@ bool COperateLightsGlyph::MouseButtonUpMsg(const Point &pt) { } void COperateLightsGlyph::getTooltip(CPetText *text) { - text->setText("Operate the lights"); + text->setText(OPERATE_LIGHTS); } /*------------------------------------------------------------------------*/ @@ -346,7 +347,7 @@ bool CDeployFloralGlyph::setup(CPetControl *petControl, CPetGlyphs *owner) { } void CDeployFloralGlyph::getTooltip(CPetText *text) { - text->setText("Deploy floral enhancement"); + text->setText(DEPLOY_FLORAL_ENHANCEMENT); } @@ -359,7 +360,7 @@ bool CDeployFullyRelaxationGlyph::setup(CPetControl *petControl, CPetGlyphs *own } void CDeployFullyRelaxationGlyph::getTooltip(CPetText *text) { - text->setText("Deploy fully recumbent relaxation device"); + text->setText(DEPLOY_FULLY_RELAXATION); } /*------------------------------------------------------------------------*/ @@ -371,7 +372,7 @@ bool CDeployComfortGlyph::setup(CPetControl *petControl, CPetGlyphs *owner) { } void CDeployComfortGlyph::getTooltip(CPetText *text) { - text->setText("Deploy comfort workstation"); + text->setText(DEPLOY_COMFORT_WORKSTATION); } /*------------------------------------------------------------------------*/ @@ -383,7 +384,7 @@ bool CDeployMinorStorageGlyph::setup(CPetControl *petControl, CPetGlyphs *owner) } void CDeployMinorStorageGlyph::getTooltip(CPetText *text) { - text->setText("Deploy minor horizontally mobile storage compartment"); + text->setText(DEPLOY_MINOR_STORAGE); } /*------------------------------------------------------------------------*/ @@ -395,7 +396,7 @@ bool CDeployMajorRelaxationGlyph::setup(CPetControl *petControl, CPetGlyphs *own } void CDeployMajorRelaxationGlyph::getTooltip(CPetText *text) { - text->setText("Deploy major semi-recumbent relaxation device"); + text->setText(DEPLOY_MAJOR_RELAXATION); } /*------------------------------------------------------------------------*/ @@ -407,7 +408,7 @@ bool CInflateRelaxationGlyph::setup(CPetControl *petControl, CPetGlyphs *owner) } void CInflateRelaxationGlyph::getTooltip(CPetText *text) { - text->setText("Inflate fully recumbent relaxation device "); + text->setText(INFLATE_RELAXATION_DEVICE); } /*------------------------------------------------------------------------*/ @@ -419,7 +420,7 @@ bool CDeployMaintenanceGlyph::setup(CPetControl *petControl, CPetGlyphs *owner) } void CDeployMaintenanceGlyph::getTooltip(CPetText *text) { - text->setText("Deploy personal maintenance hub"); + text->setText(DEPLOY_MAINTENANCE_HUB); } /*------------------------------------------------------------------------*/ @@ -431,7 +432,7 @@ bool CDeployWorkSurfaceGlyph::setup(CPetControl *petControl, CPetGlyphs *owner) } void CDeployWorkSurfaceGlyph::getTooltip(CPetText *text) { - text->setText("Deploy executive horizontal worksurface"); + text->setText(DEPLOY_EXECUTIVE_SURFACE); } /*------------------------------------------------------------------------*/ @@ -443,7 +444,7 @@ bool CDeployMinorRelaxationGlyph::setup(CPetControl *petControl, CPetGlyphs *own } void CDeployMinorRelaxationGlyph::getTooltip(CPetText *text) { - text->setText("Deploy minor semi-recumbent relaxation device"); + text->setText(DEPLOY_MINOR_RELAXATION); } /*------------------------------------------------------------------------*/ @@ -455,7 +456,7 @@ bool CDeploySinkGlyph::setup(CPetControl *petControl, CPetGlyphs *owner) { } void CDeploySinkGlyph::getTooltip(CPetText *text) { - text->setText("Deploy aqueous cleansing receptacle"); + text->setText(DEPLOY_SINK); } /*------------------------------------------------------------------------*/ @@ -467,7 +468,7 @@ bool CDeployMajorStorageGlyph::setup(CPetControl *petControl, CPetGlyphs *owner) } void CDeployMajorStorageGlyph::getTooltip(CPetText *text) { - text->setText("Deploy major horizontally mobile storage compartment"); + text->setText(DEPLOY_MAJOR_STORAGE); } /*------------------------------------------------------------------------*/ @@ -515,7 +516,7 @@ bool CSuccubusDeliveryGlyph::MouseButtonUpMsg(const Point &pt) { } void CSuccubusDeliveryGlyph::getTooltip(CPetText *text) { - text->setText("Succ-U-Bus delivery system control"); + text->setText(SUCCUBUS_DELIVERY_SYSTEM); } /*------------------------------------------------------------------------*/ @@ -554,9 +555,67 @@ bool CNavigationControllerGlyph::MouseButtonUpMsg(const Point &pt) { } void CNavigationControllerGlyph::getTooltip(CPetText *text) { - text->setText("Navigation controller"); + text->setText(NAVIGATION_CONTROLLER); +} + +/*------------------------------------------------------------------------*/ + +CSummonElevatorGlyph::CSummonElevatorGlyph() : CBasicRemoteGlyph( + "3PetLift", g_vm->_strings[SUMMON_ELEVATOR], "Lift") { +} + +/*------------------------------------------------------------------------*/ + +CSummonPelleratorGlyph::CSummonPelleratorGlyph() : CBasicRemoteGlyph( + "3PetPellerator", g_vm->_strings[SUMMON_PELLERATOR], "Pellerator") { +} + +/*------------------------------------------------------------------------*/ + +CGotoBottomOfWellGlyph::CGotoBottomOfWellGlyph() : CRemoteGotoGlyph("3PetBotOfWell", + g_vm->_strings[GO_TO_BOTTOM_OF_WELL], 10) { +} + +/*------------------------------------------------------------------------*/ + +CGotoTopOfWellGlyph::CGotoTopOfWellGlyph() : CRemoteGotoGlyph("3PetTopOfWell", + g_vm->_strings[GO_TO_TOP_OF_WELL], 32) { +} + +/*------------------------------------------------------------------------*/ + +CGotoStateroomGlyph::CGotoStateroomGlyph() : CRemoteGotoGlyph("3PetRoom", + g_vm->_strings[GO_TO_STATEROOM], 33) { +} + +/*------------------------------------------------------------------------*/ + +CGotoBarGlyph::CGotoBarGlyph() : CRemoteGotoGlyph("3PetBar", + g_vm->_strings[GO_TO_BAR], 7) { +} + +/*------------------------------------------------------------------------*/ + +CGotoPromenadeDeckGlyph::CGotoPromenadeDeckGlyph() : CRemoteGotoGlyph("3PetPromDeck", + g_vm->_strings[GO_TO_PROMENADE_DECK], 23) { } /*------------------------------------------------------------------------*/ +CGotoArboretumGlyph::CGotoArboretumGlyph() : CRemoteGotoGlyph("3PetArboretum", + g_vm->_strings[GO_TO_ARBORETUM], 5) { +} + +/*------------------------------------------------------------------------*/ + +CGotoMusicRoomGlyph::CGotoMusicRoomGlyph() : CRemoteGotoGlyph("3PetMusicRoom", + g_vm->_strings[GO_TO_MUSIC_ROOM], 20) { +} + +/*------------------------------------------------------------------------*/ + +CGotoRestaurantGlyph::CGotoRestaurantGlyph() : CRemoteGotoGlyph("3Pet1stClassRest", + g_vm->_strings[GO_TO_1ST_CLASS_RESTAURANT], 1) { +} + } // End of namespace Titanic diff --git a/engines/titanic/pet_control/pet_remote_glyphs.h b/engines/titanic/pet_control/pet_remote_glyphs.h index 6114c81a9f..c661a1e2af 100644 --- a/engines/titanic/pet_control/pet_remote_glyphs.h +++ b/engines/titanic/pet_control/pet_remote_glyphs.h @@ -65,9 +65,9 @@ public: class CPetRemoteGlyph : public CPetGlyph { protected: - CPetGfxElement *_gfxElement; + CPetGfxElement *_callButton; protected: - CPetRemoteGlyph() : CPetGlyph(), _gfxElement(nullptr) {} + CPetRemoteGlyph() : CPetGlyph(), _callButton(nullptr) {} /** * Set defaults for the glyph @@ -150,13 +150,13 @@ public: class CRemoteGotoGlyph : public CPetRemoteGlyph { protected: int _roomIndex; - CPetGfxElement *_gfxElement; + CPetGfxElement *_goButton; CString _gfxName, _tooltip; public: - CRemoteGotoGlyph() : CPetRemoteGlyph(), _gfxElement(nullptr), _roomIndex(21) {} - CRemoteGotoGlyph(const CString &gfxName, const CString &tooltip) : - CPetRemoteGlyph(), _gfxElement(nullptr), _roomIndex(21), - _gfxName(gfxName), _tooltip(tooltip) {} + CRemoteGotoGlyph() : CPetRemoteGlyph(), _goButton(nullptr), _roomIndex(21) {} + CRemoteGotoGlyph(const CString &gfxName, const CString &tooltip, int roomIndex) : + CPetRemoteGlyph(), _gfxName(gfxName), _tooltip(tooltip), _roomIndex(roomIndex), + _goButton(nullptr) {} /** * Setup the glyph @@ -186,14 +186,12 @@ public: class CSummonElevatorGlyph : public CBasicRemoteGlyph { public: - CSummonElevatorGlyph() : CBasicRemoteGlyph( - "3PetLift", "Summon Elevator", "Lift") {} + CSummonElevatorGlyph(); }; class CSummonPelleratorGlyph : public CBasicRemoteGlyph { public: - CSummonPelleratorGlyph() : CBasicRemoteGlyph( - "3PetPellerator", "Summon Pellerator", "Pellerator") {} + CSummonPelleratorGlyph(); }; class CTelevisionControlGlyph : public CPetRemoteGlyph { @@ -664,50 +662,42 @@ public: class CGotoBottomOfWellGlyph : public CRemoteGotoGlyph { public: - CGotoBottomOfWellGlyph() : CRemoteGotoGlyph("3PetBotOfWell", - "Go to the Bottom of the Well") {} + CGotoBottomOfWellGlyph(); }; class CGotoTopOfWellGlyph : public CRemoteGotoGlyph { public: - CGotoTopOfWellGlyph() : CRemoteGotoGlyph("3PetTopOfWell", - "Go to the Top of the Well") {} + CGotoTopOfWellGlyph(); }; class CGotoStateroomGlyph : public CRemoteGotoGlyph { public: - CGotoStateroomGlyph() : CRemoteGotoGlyph("3PetRoom", - "Go to your stateroom") {} + CGotoStateroomGlyph(); }; class CGotoBarGlyph : public CRemoteGotoGlyph { public: - CGotoBarGlyph() : CRemoteGotoGlyph("3PetBar", - "Go to the Bar") {} + CGotoBarGlyph(); }; class CGotoPromenadeDeckGlyph : public CRemoteGotoGlyph { public: - CGotoPromenadeDeckGlyph() : CRemoteGotoGlyph("3PetPromDeck", - "Go to the Promenade Deck") {} + CGotoPromenadeDeckGlyph(); }; class CGotoArboretumGlyph : public CRemoteGotoGlyph { public: - CGotoArboretumGlyph() : CRemoteGotoGlyph("3PetArboretum", - "Go to the Arboretum") {} + CGotoArboretumGlyph(); }; class CGotoMusicRoomGlyph : public CRemoteGotoGlyph { public: - CGotoMusicRoomGlyph() : CRemoteGotoGlyph("3PetMusicRoom", - "Go to the Music Room") {} + CGotoMusicRoomGlyph(); }; class CGotoRestaurantGlyph : public CRemoteGotoGlyph { public: - CGotoRestaurantGlyph() : CRemoteGotoGlyph("3Pet1stClassRest", - "Go to the First Class Restaurant") {} + CGotoRestaurantGlyph(); }; } // End of namespace Titanic diff --git a/engines/titanic/pet_control/pet_rooms.cpp b/engines/titanic/pet_control/pet_rooms.cpp index fb92f2692d..d32667e5f7 100644 --- a/engines/titanic/pet_control/pet_rooms.cpp +++ b/engines/titanic/pet_control/pet_rooms.cpp @@ -56,6 +56,7 @@ bool CPetRooms::reset() { void CPetRooms::draw(CScreenManager *screenManager) { _petControl->drawSquares(screenManager, 6); _plinth.draw(screenManager); + _glyphs.draw(screenManager); _glyphItem.drawAt(screenManager, getGlyphPos(), false); _text.draw(screenManager); } @@ -67,7 +68,7 @@ bool CPetRooms::MouseButtonDownMsg(CMouseButtonDownMsg *msg) { if (!_glyphItem.contains(getGlyphPos(), msg->_mousePos)) return false; - _glyphItem.MouseButtonDownMsg(msg->_mousePos); + _glyphItem.selectGlyph(getGlyphPos(), msg->_mousePos); return true; } @@ -165,7 +166,8 @@ void CPetRooms::enter(PetArea oldArea) { } void CPetRooms::enterRoom(CRoomItem *room) { - + if (room) + resetHighlight(); } CPetText *CPetRooms::getText() { @@ -221,7 +223,7 @@ bool CPetRooms::setupControl(CPetControl *petControl) { _glyphs.setup(6, this); _glyphs.setFlags(GFLAG_16); _glyphItem.setup(petControl, &_glyphs); - _glyphItem.set38(1); + _glyphItem.setFlag(1); return true; } @@ -240,17 +242,17 @@ uint CPetRooms::getRoomFlags() const { if (flags) return flags; - int classNum = roomFlags.whatPassengerClass(_floorNum); + PassengerClass classNum = roomFlags.whatPassengerClass(_floorNum); roomFlags.setPassengerClassBits(classNum); roomFlags.setFloorNum(_floorNum); switch (classNum) { - case 1: + case FIRST_CLASS: roomFlags.setElevatorNum(_elevatorNum); roomFlags.setRoomBits(_roomNum); break; - case 2: + case SECOND_CLASS: if (_roomNum > 0) { if (_roomNum >= 3) { roomFlags.setElevatorNum(_elevatorNum == 1 || _elevatorNum == 2 ? 1 : 3); @@ -264,7 +266,7 @@ uint CPetRooms::getRoomFlags() const { } break; - case 3: + case THIRD_CLASS: roomFlags.setElevatorNum(_elevatorNum); roomFlags.setRoomBits(_roomNum + _field1CC * 6 - 6); break; @@ -276,7 +278,7 @@ uint CPetRooms::getRoomFlags() const { return roomFlags.get(); } -void CPetRooms::reassignRoom(int passClassNum) { +void CPetRooms::reassignRoom(PassengerClass passClassNum) { CPetRoomsGlyph *glyph = _glyphs.findAssignedRoom(); if (glyph) // Flag the old assigned room as no longer assigned @@ -329,12 +331,12 @@ CPetRoomsGlyph *CPetRooms::addGlyph(uint roomFlags, bool highlight_) { } } -bool CPetRooms::changeLocationClass(int newClassNum) { +bool CPetRooms::changeLocationClass(PassengerClass newClassNum) { CPetRoomsGlyph *glyph = _glyphs.findAssignedRoom(); if (!glyph) return 0; - glyph->changeLocation(newClassNum); + glyph->changeClass(newClassNum); return true; } diff --git a/engines/titanic/pet_control/pet_rooms.h b/engines/titanic/pet_control/pet_rooms.h index 28d6553a33..efc7e3c969 100644 --- a/engines/titanic/pet_control/pet_rooms.h +++ b/engines/titanic/pet_control/pet_rooms.h @@ -26,6 +26,7 @@ #include "titanic/pet_control/pet_section.h" #include "titanic/pet_control/pet_text.h" #include "titanic/pet_control/pet_rooms_glyphs.h" +#include "titanic/game_location.h" namespace Titanic { @@ -155,12 +156,12 @@ public: /** * Gives the player a new assigned room in the specified passenger class */ - void reassignRoom(int passClassNum); + void reassignRoom(PassengerClass passClassNum); /** * Change the current location passenger class */ - bool changeLocationClass(int newClassNum); + bool changeLocationClass(PassengerClass newClassNum); /** * Returns true if a room glyph exists with the given flags diff --git a/engines/titanic/pet_control/pet_rooms_glyphs.cpp b/engines/titanic/pet_control/pet_rooms_glyphs.cpp index e89e8072dc..f38ed28a80 100644 --- a/engines/titanic/pet_control/pet_rooms_glyphs.cpp +++ b/engines/titanic/pet_control/pet_rooms_glyphs.cpp @@ -30,15 +30,15 @@ namespace Titanic { CPetRoomsGlyph::CPetRoomsGlyph() : CPetGlyph(), - _roomFlags(0), _field38(0), _mode(RGM_UNASSIGNED), - _object0(nullptr), _object1(nullptr), _object2(nullptr), _object3(nullptr), - _object4(nullptr), _object5(nullptr), _object6(nullptr), _object7(nullptr) { + _roomFlags(0), _mailFlag(0), _mode(RGM_UNASSIGNED), + _chevLeftOnDim(nullptr), _chevLeftOffDim(nullptr), _chevLeftOnLit(nullptr), _chevLeftOffLit(nullptr), + _chevRightOnDim(nullptr), _chevRightOffDim(nullptr), _chevRightOnLit(nullptr), _chevRightOffLit(nullptr) { } CPetRoomsGlyph::CPetRoomsGlyph(uint flags) : CPetGlyph(), - _roomFlags(flags), _field38(0), _mode(RGM_UNASSIGNED), - _object0(nullptr), _object1(nullptr), _object2(nullptr), _object3(nullptr), - _object4(nullptr), _object5(nullptr), _object6(nullptr), _object7(nullptr) { + _roomFlags(flags), _mailFlag(0), _mode(RGM_UNASSIGNED), + _chevLeftOnDim(nullptr), _chevLeftOffDim(nullptr), _chevLeftOnLit(nullptr), _chevLeftOffLit(nullptr), + _chevRightOnDim(nullptr), _chevRightOffDim(nullptr), _chevRightOnLit(nullptr), _chevRightOffLit(nullptr) { } bool CPetRoomsGlyph::setup(CPetControl *petControl, CPetGlyphs *owner) { @@ -46,14 +46,14 @@ bool CPetRoomsGlyph::setup(CPetControl *petControl, CPetGlyphs *owner) { return false; CPetSection *section = owner->getOwner(); - _object0 = section->getBackground(9); - _object1 = section->getBackground(12); - _object4 = section->getBackground(13); - _object5 = section->getBackground(10); - _object2 = section->getBackground(11); - _object3 = section->getBackground(14); - _object6 = section->getBackground(15); - _object7 = _object6; + _chevLeftOnDim = section->getBackground(8); + _chevLeftOffDim = section->getBackground(9); + _chevRightOnDim = section->getBackground(12); + _chevRightOffDim = section->getBackground(13); + _chevLeftOnLit = section->getBackground(10); + _chevLeftOffLit = section->getBackground(11); + _chevRightOnLit = section->getBackground(14); + _chevRightOffLit = section->getBackground(15); return true; } @@ -69,19 +69,19 @@ void CPetRoomsGlyph::drawAt(CScreenManager *screenManager, const Point &pt, bool uint roomBits = roomFlags.getRoomBits(); // Save a copy of object pointers that may be modified - CGameObject *obj0 = _object0; - CGameObject *obj1 = _object1; - CGameObject *obj4 = _object4; - CGameObject *obj5 = _object5; - - if (_field38 == 1 || isHighlighted_) { - _object0 = _object2; - _object1 = _object3; - _object4 = _object6; - _object5 = _object7; + CGameObject *leftOnDim = _chevLeftOnDim; + CGameObject *leftOffDim = _chevLeftOffDim; + CGameObject *rightOnDim = _chevRightOnDim; + CGameObject *rightOffDim = _chevRightOffDim; + + if (_mailFlag || isHighlighted_) { + _chevLeftOnDim = _chevLeftOnLit; + _chevLeftOffDim = _chevLeftOffLit; + _chevRightOnDim = _chevRightOnLit; + _chevRightOffDim = _chevRightOffLit; } - // Draw the images + // Draw the chevron fragments for each line Point destPt = pt; drawObjects(classBits + elevBits * 4, destPt, screenManager); destPt.y += 10; @@ -94,21 +94,21 @@ void CPetRoomsGlyph::drawAt(CScreenManager *screenManager, const Point &pt, bool drawObjects(((roomBits & 7) << 1) + (roomFlags.getBit0() ? 1 : 0), destPt, screenManager); - // Restore original object pointers - _object0 = obj0; - _object1 = obj1; - _object4 = obj4; - _object5 = obj5; + // Restore original image pointers + _chevLeftOnDim = leftOnDim; + _chevLeftOffDim = leftOffDim; + _chevRightOnDim = rightOnDim; + _chevRightOffDim = rightOffDim; } void CPetRoomsGlyph::selectGlyph(const Point &topLeft, const Point &pt) { - if (isAssigned()) { - bool isShiftPressed = g_vm->_window->getSpecialButtons() & MK_SHIFT; + if (!isAssigned()) { + bool isShiftPressed = g_vm->_events->getSpecialButtons() & MK_SHIFT; if (isShiftPressed) { int selection = getSelection(topLeft, pt); if (selection >= 0) - _roomFlags |= 1 << selection; + _roomFlags ^= 1 << selection; } updateTooltip(); @@ -116,7 +116,7 @@ void CPetRoomsGlyph::selectGlyph(const Point &topLeft, const Point &pt) { } bool CPetRoomsGlyph::dragGlyph(const Point &topLeft, CMouseDragStartMsg *msg) { - bool isShiftPressed = g_vm->_window->getSpecialButtons() & MK_SHIFT; + bool isShiftPressed = g_vm->_events->getSpecialButtons() & MK_SHIFT; CPetControl *petControl = getPetControl(); if (!isShiftPressed && petControl) { @@ -124,7 +124,7 @@ bool CPetRoomsGlyph::dragGlyph(const Point &topLeft, CMouseDragStartMsg *msg) { if (chevron) { chevron->_id = _roomFlags; - chevron->_isMail = _field38; + chevron->_isMail = _mailFlag != 0; petControl->removeFromInventory(chevron, false, false); chevron->loadSurface(); @@ -133,6 +133,8 @@ bool CPetRoomsGlyph::dragGlyph(const Point &topLeft, CMouseDragStartMsg *msg) { if (msg->execute(chevron)) return true; + + petControl->moveToHiddenRoom(chevron); } } @@ -148,9 +150,9 @@ void CPetRoomsGlyph::getTooltip(CPetText *text) { msg = "Your assigned room: "; } else if (isPreviouslyAssigned()) { msg = "A previously assigned room: "; - } else if (!_field38) { + } else if (!_mailFlag) { msg = "Saved Chevron: "; - } else if (_field38 == 1 && owner->getRoomFlags() == _roomFlags) { + } else if (_mailFlag == 1 && owner->getRoomFlags() == _roomFlags) { msg = "Current location: "; } @@ -183,9 +185,9 @@ void CPetRoomsGlyph::loadFlags(SimpleFile *file, int val) { } } -void CPetRoomsGlyph::changeLocation(int newClassNum) { +void CPetRoomsGlyph::changeClass(PassengerClass newClassNum) { CRoomFlags roomFlags(_roomFlags); - roomFlags.changeLocation(newClassNum); + roomFlags.changeClass(newClassNum); _roomFlags = roomFlags.get(); } @@ -212,15 +214,15 @@ int CPetRoomsGlyph::getSelection(const Point &topLeft, const Point &pt) { } void CPetRoomsGlyph::drawObjects(uint flags, const Point &pt, CScreenManager *screenManager) { - if (_object0 && _object1 && _object4 && _object5) { + if (_chevLeftOnDim && _chevLeftOffDim && _chevRightOnDim && _chevRightOffDim) { Point destPos = pt; - ((flags & 8) ? _object0 : _object5)->draw(screenManager, destPos); + ((flags & 8) ? _chevLeftOnDim : _chevLeftOffDim)->draw(screenManager, destPos); destPos.x += 13; - ((flags & 4) ? _object4 : _object5)->draw(screenManager, destPos); + ((flags & 4) ? _chevRightOnDim : _chevRightOffDim)->draw(screenManager, destPos); destPos.x += 13; - ((flags & 2) ? _object0 : _object1)->draw(screenManager, destPos); + ((flags & 2) ? _chevLeftOnDim : _chevLeftOffDim)->draw(screenManager, destPos); destPos.x += 13; - ((flags & 1) ? _object4 : _object5)->draw(screenManager, destPos); + ((flags & 1) ? _chevRightOnDim : _chevRightOffDim)->draw(screenManager, destPos); } } diff --git a/engines/titanic/pet_control/pet_rooms_glyphs.h b/engines/titanic/pet_control/pet_rooms_glyphs.h index 11de6c4a8e..6c51b6f875 100644 --- a/engines/titanic/pet_control/pet_rooms_glyphs.h +++ b/engines/titanic/pet_control/pet_rooms_glyphs.h @@ -25,6 +25,7 @@ #include "titanic/pet_control/pet_glyphs.h" #include "titanic/support/simple_file.h" +#include "titanic/game_location.h" namespace Titanic { @@ -35,16 +36,16 @@ enum RoomGlyphMode { class CPetRoomsGlyph : public CPetGlyph { private: uint _roomFlags; - int _field38; + uint _mailFlag; RoomGlyphMode _mode; - CGameObject *_object0; - CGameObject *_object1; - CGameObject *_object2; - CGameObject *_object3; - CGameObject *_object4; - CGameObject *_object5; - CGameObject *_object6; - CGameObject *_object7; + CGameObject *_chevLeftOnDim; + CGameObject *_chevLeftOffDim; + CGameObject *_chevLeftOnLit; + CGameObject *_chevLeftOffLit; + CGameObject *_chevRightOnDim; + CGameObject *_chevRightOffDim; + CGameObject *_chevRightOnLit; + CGameObject *_chevRightOffLit; private: /** * Find the selected button under the given point, based on the buttons @@ -112,14 +113,20 @@ public: */ uint getRoomFlags() const { return _roomFlags; } - void set38(int val) { _field38 = val; } + /** + * Set mail status flag + */ + void setFlag(uint val) { _mailFlag = val; } /** * Sets the mode of the glyph */ void setMode(RoomGlyphMode mode) { _mode = mode; } - void changeLocation(int newClassNum); + /** + * Change the current class + */ + void changeClass(PassengerClass newClassNum); /** * Returns true if the room is either currently or previously assigned diff --git a/engines/titanic/pet_control/pet_save.cpp b/engines/titanic/pet_control/pet_save.cpp index d344c8cd14..60afa11ab4 100644 --- a/engines/titanic/pet_control/pet_save.cpp +++ b/engines/titanic/pet_control/pet_save.cpp @@ -49,6 +49,16 @@ bool CPetSave::MouseButtonUpMsg(const Point &pt) { } } +bool CPetSave::KeyCharMsg(int key) { + if (CPetLoadSave::KeyCharMsg(key)) + return true; + + if (_savegameSlotNum != -1) + _slotNames[_savegameSlotNum].handleKey(key); + + return true; +} + void CPetSave::highlightCurrent(const Point &pt) { resetSlots(); highlightSave(_savegameSlotNum); @@ -71,11 +81,12 @@ void CPetSave::unhighlightSave(int index) { void CPetSave::execute() { CPetControl *pet = getPetControl(); if (_savegameSlotNum >= 0) { + int slotNumber = _savegameSlotNum; highlightSlot(-1); CProjectItem *project = pet ? pet->getRoot() : nullptr; if (project) { - project->saveGame(_savegameSlotNum, _slotNames[_savegameSlotNum].getText()); + project->saveGame(slotNumber, _slotNames[slotNumber].getText()); pet->displayMessage(BLANK); } } else if (pet) { diff --git a/engines/titanic/pet_control/pet_save.h b/engines/titanic/pet_control/pet_save.h index e5e956403f..39a25eb087 100644 --- a/engines/titanic/pet_control/pet_save.h +++ b/engines/titanic/pet_control/pet_save.h @@ -40,6 +40,11 @@ public: virtual bool MouseButtonUpMsg(const Point &pt); /** + * Handles keypresses when the glyph is focused + */ + virtual bool KeyCharMsg(int key); + + /** * Unhighlight any currently highlighted element */ virtual void unhighlightCurrent() { unhighlightSave(_savegameSlotNum); } diff --git a/engines/titanic/pet_control/pet_section.cpp b/engines/titanic/pet_control/pet_section.cpp index 50d6c7615c..aced697705 100644 --- a/engines/titanic/pet_control/pet_section.cpp +++ b/engines/titanic/pet_control/pet_section.cpp @@ -43,6 +43,7 @@ void CPetSection::displayMessage(const CString &msg) { if (text) { text->setColor(getColor(1)); + text->setText(msg); _petControl->makeDirty(); removeText(5000); } diff --git a/engines/titanic/pet_control/pet_section.h b/engines/titanic/pet_control/pet_section.h index 9e9afe6c21..c68aa90411 100644 --- a/engines/titanic/pet_control/pet_section.h +++ b/engines/titanic/pet_control/pet_section.h @@ -106,6 +106,7 @@ public: virtual bool MouseDragEndMsg(CMouseDragEndMsg *msg) { return false; } virtual bool MouseButtonUpMsg(CMouseButtonUpMsg *msg) { return false; } virtual bool MouseDoubleClickMsg(CMouseDoubleClickMsg *msg) { return false; } + virtual bool MouseWheelMsg(CMouseWheelMsg *msg) { return false; } virtual bool KeyCharMsg(CKeyCharMsg *msg) { return false; } virtual bool VirtualKeyCharMsg(CVirtualKeyCharMsg *msg) { return false; } diff --git a/engines/titanic/pet_control/pet_text.cpp b/engines/titanic/pet_control/pet_text.cpp index 1aa9b804ff..7bb0bad16e 100644 --- a/engines/titanic/pet_control/pet_text.cpp +++ b/engines/titanic/pet_control/pet_text.cpp @@ -21,12 +21,13 @@ */ #include "titanic/pet_control/pet_text.h" +#include "titanic/titanic.h" namespace Titanic { CPetText::CPetText(uint count) : _stringsMerged(false), _maxCharsPerLine(-1), _lineCount(0), - _linesStart(-1), _unused1(0), _unused2(0), _unused3(0), + _displayEndCharIndex(-1), _unused1(0), _unused2(0), _unused3(0), _backR(0xff), _backG(0xff), _backB(0xff), _textR(0), _textG(0), _textB(200), _fontNumber(0), _npcFlag(0), _npcId(0), _hasBorder(true), @@ -57,7 +58,7 @@ void CPetText::setup() { } void CPetText::setLineColor(uint lineNum, uint col) { - setLineColor(lineNum, col & 0xff, (col >> 16) & 0xff, (col >> 8) & 0xff); + setLineColor(lineNum, col & 0xff, (col >> 8) & 0xff, (col >> 16) & 0xff); } void CPetText::setLineColor(uint lineNum, byte r, byte g, byte b) { @@ -87,7 +88,7 @@ CString CPetText::getColorText(byte r, byte g, byte b) { void CPetText::load(SimpleFile *file, int param) { if (!param) { uint numLines = file->readNumber(); - uint charsPerLine = file->readNumber(); + int charsPerLine = file->readNumber(); uint count = file->readNumber(); _bounds = file->readRect(); _unused1 = file->readNumber(); @@ -102,8 +103,9 @@ void CPetText::load(SimpleFile *file, int param) { _hasBorder = file->readNumber() != 0; _scrollTop = file->readNumber(); - resize(numLines); setMaxCharsPerLine(charsPerLine); + resize(numLines); + _lineCount = (count == 0) ? 0 : count - 1; assert(_array.size() >= count); for (uint idx = 0; idx < count; ++idx) { @@ -172,7 +174,7 @@ void CPetText::draw(CScreenManager *screenManager) { tempRect.grow(-2); int oldFontNumber = screenManager->setFontNumber(_fontNumber); - screenManager->writeString(SURFACE_BACKBUFFER, tempRect, _scrollTop, _lines, _textCursor); + _displayEndCharIndex = screenManager->writeString(SURFACE_BACKBUFFER, tempRect, _scrollTop, _lines, _textCursor); screenManager->setFontNumber(oldFontNumber); } @@ -211,6 +213,10 @@ void CPetText::setText(const CString &str) { appendText(str); } +void CPetText::setText(StringId stringId) { + setText(g_vm->_strings[stringId]); +} + void CPetText::appendText(const CString &str) { int lineSize = _array[_lineCount]._line.size(); int strSize = str.size(); @@ -295,7 +301,7 @@ int CPetText::getTextWidth(CScreenManager *screenManager) { int CPetText::getTextHeight(CScreenManager *screenManager) { mergeStrings(); int oldFontNumber = screenManager->setFontNumber(_fontNumber); - int textHeight = screenManager->getTextBounds(_lines, _bounds.width()); + int textHeight = screenManager->getTextBounds(_lines, _bounds.width() - 4); screenManager->setFontNumber(oldFontNumber); return textHeight; @@ -449,7 +455,7 @@ void CPetText::hideCursor() { } } -int CPetText::getNPCNum(uint npcId, uint startIndex) { +int CPetText::getNPCNum(uint ident, uint startIndex) { if (!_stringsMerged) { mergeStrings(); if (!_stringsMerged) @@ -460,18 +466,20 @@ int CPetText::getNPCNum(uint npcId, uint startIndex) { if (startIndex < 5 || startIndex >= size) return -1; - // Loop through string - for (const char *strP = _lines.c_str(); size >= 5; ++strP, --size) { + // Loop backwards from the starting index to find an NPC ident sequence + for (const char *strP = _lines.c_str() + startIndex; + strP >= (_lines.c_str() + 5); --strP) { if (*strP == 26) { byte id = *(strP - 2); - if (id == npcId) + if (id == ident) return *(strP - 1); + strP -= 3; } else if (*strP == 27) { - strP += 4; + strP -= 4; } } - return - 1; + return -1; } void CPetText::setFontNumber(int fontNumber) { diff --git a/engines/titanic/pet_control/pet_text.h b/engines/titanic/pet_control/pet_text.h index 0a6bb2d03d..9b2f47274c 100644 --- a/engines/titanic/pet_control/pet_text.h +++ b/engines/titanic/pet_control/pet_text.h @@ -43,7 +43,7 @@ private: Rect _bounds; int _maxCharsPerLine; int _lineCount; - int _linesStart; + int _displayEndCharIndex; int _unused1; int _unused2; int _unused3; @@ -136,6 +136,11 @@ public: void setText(const CString &str); /** + * Set the text + */ + void setText(StringId stringId); + + /** * Set text color */ void setColor(uint col); @@ -176,9 +181,10 @@ public: void setNPC(int npcFlag, int npcId); /** - * Get the index into _lines where on-screen text starts + * Returns the character index into _lines of the last + * character to be displayed on-screen */ - int getLinesStart() const { return _linesStart; } + int displayEndIndex() const { return _displayEndCharIndex; } /** * Scroll the text up @@ -246,8 +252,11 @@ public: /** * Get an NPC Number embedded within on-screen text. * Used by the PET log to encode which NPC spoke + * @param ident Npc Type. Always passed as 1 + * @param startIndex Starting index to scan backwards + * through the log text to find an NPC ident sequence */ - int getNPCNum(uint npcId, uint startIndex); + int getNPCNum(uint ident, uint startIndex); /** * Replaces any occurances of line colors that appear in the diff --git a/engines/titanic/room_flags.cpp b/engines/titanic/room_flags.cpp index 9be8ea3d33..66519aa091 100644 --- a/engines/titanic/room_flags.cpp +++ b/engines/titanic/room_flags.cpp @@ -112,7 +112,7 @@ int CRoomFlags::getRoomArea() const { uint v6 = getElevatorNum(); if (v6 >= 1 && v6 <= 4) { - uint v7 = getPassengerClassNum() - 1; + uint v7 = (int)getPassengerClassNum() - 1; if (v7) { uint v8 = v7 - 1; if (v8) { @@ -148,41 +148,11 @@ CString CRoomFlags::getRoomDesc() const { result += ", "; result += getElevatorDesc(); result += ", "; - result += getRoomDesc(); + result += getRoomNumDesc(); return result; } case 4: - if (isTransportRoom()) { - switch (_data) { - case 0x68797: - return "The Service Elevator"; - case 0x5D3AD: - return "The Super Galactic Leisure Lounge"; - case 0x96E45: - return "The Elevator"; - case 0xAD171: - return "The Dome"; - case 0xC95E9: - return "The Pellerator"; - case 0xDF4D1: - return "The Top of the Well"; - default: - break; - } - } - - if (getRoomCategory() == 0) { - return "Nowhere you're likely to want to go."; - } else { - CString result = getPassengerClassDesc(); - result += ", "; - result += getFloorDesc(); - return result; - } - break; - - case 5: switch (_data) { case 0x1D0D9: return "The Parrot Lobby"; @@ -215,6 +185,36 @@ CString CRoomFlags::getRoomDesc() const { } return "Unknown Room"; + case 5: + if (isTransportRoom()) { + switch (_data) { + case 0x68797: + return "The Service Elevator"; + case 0x5D3AD: + return "The Super Galactic Leisure Lounge"; + case 0x96E45: + return "The Elevator"; + case 0xAD171: + return "The Dome"; + case 0xC95E9: + return "The Pellerator"; + case 0xDF4D1: + return "The Top of the Well"; + default: + break; + } + } + + if (getRoomCategory() == 0) { + return "Nowhere you're likely to want to go."; + } else { + CString result = getPassengerClassDesc(); + result += ", "; + result += getFloorDesc(); + return result; + } + break; + default: break; } @@ -241,14 +241,14 @@ uint CRoomFlags::getPassengerClassBits() const { } CString CRoomFlags::getPassengerClassDesc() const { - int classNum = getPassengerClassNum(); + PassengerClass classNum = getPassengerClassNum(); switch (classNum) { - case 1: + case FIRST_CLASS: return "1st class"; - case 2: + case SECOND_CLASS: return "2nd class"; - case 3: + case THIRD_CLASS: return "SGT class"; default: return "no class"; @@ -269,21 +269,20 @@ uint CRoomFlags::decodeFloorBits(uint bits) const { int offset = bits & 0xF; switch ((bits >> 4) & 0xF) { - case 1: - case 2: - case 3: - base = 40; + case 9: + base = 0; break; - case 4: + case 0xD: base = 10; break; - case 5: + case 0xE: base = 20; break; - case 6: + case 0xF: base = 30; break; default: + base = 40; break; } @@ -369,29 +368,29 @@ CString CRoomFlags::getSuccUBusRoomName() const { return CString(); } -void CRoomFlags::changeLocation(int action) { +void CRoomFlags::changeClass(PassengerClass newClassNum) { uint floorNum = getFloorNum(); uint roomNum = getRoomNum(); uint elevatorNum = getElevatorNum(); - uint classNum = getPassengerClassNum(); + PassengerClass classNum = getPassengerClassNum(); uint v10, v11, v12, v13; switch (classNum) { - case 1: + case FIRST_CLASS: v10 = 2; v11 = 19; v12 = 1; v13 = 3; break; - case 2: + case SECOND_CLASS: v10 = 20; v11 = 27; v12 = 1; v13 = (elevatorNum & 1) ? 3 : 4; break; - case 3: + case THIRD_CLASS: v10 = 28; v11 = 38; v12 = 1; @@ -407,25 +406,28 @@ void CRoomFlags::changeLocation(int action) { } // Perform action to change room or floor - switch (action) { - case 1: + switch (newClassNum) { + case FIRST_CLASS: if (--roomNum < v12) roomNum = v12; break; - case 2: + case SECOND_CLASS: if (++roomNum > v13) roomNum = v13; break; - case 3: + case THIRD_CLASS: if (--floorNum < v10) floorNum = v10; break; - case 4: + case UNCHECKED: if (++floorNum > v11) floorNum = v11; + + default: + break; } // Set new floor and room @@ -442,16 +444,16 @@ bool CRoomFlags::compareClassElevator(uint flags1, uint flags2) { uint elev1 = f1.getElevatorNum(); uint elev2 = f2.getElevatorNum(); - uint class1 = f1.getPassengerClassNum(); - uint class2 = f2.getPassengerClassNum(); + PassengerClass class1 = f1.getPassengerClassNum(); + PassengerClass class2 = f2.getPassengerClassNum(); - if (class1 > 0 && class1 < 3) { + if (class1 == FIRST_CLASS || class1 == SECOND_CLASS) { if (elev1 == 2) elev1 = 1; else if (elev1 == 4) elev1 = 3; } - if (class2 > 0 && class2 < 3) { + if (class2 == FIRST_CLASS || class2 == SECOND_CLASS) { if (elev2 == 2) elev2 = 1; else if (elev2 == 4) @@ -474,12 +476,12 @@ bool CRoomFlags::isTitania(uint flags1, uint flags2) { return flags2 == 0x8A397; } -void CRoomFlags::setRandomLocation(int classNum, bool flag) { +void CRoomFlags::setRandomLocation(PassengerClass classNum, bool flag) { uint minRoom, elevNum, maxRoom, maxFloor, minFloor; do { switch (classNum) { - case 1: + case FIRST_CLASS: minFloor = 2; maxFloor = 19; minRoom = 1; @@ -487,7 +489,7 @@ void CRoomFlags::setRandomLocation(int classNum, bool flag) { elevNum = g_vm->getRandomNumber(flag ? 2 : 3); break; - case 2: + case SECOND_CLASS: minFloor = 20; maxFloor = 27; elevNum = g_vm->getRandomNumber(flag ? 2 : 3); @@ -495,14 +497,12 @@ void CRoomFlags::setRandomLocation(int classNum, bool flag) { maxRoom = ((elevNum - 1) & 1) ? 3 : 4; break; - case 3: + case THIRD_CLASS: minRoom = 1; minFloor = 28; maxFloor = 38; maxRoom = 18; - elevNum = g_vm->getRandomNumber(1); - if (elevNum == 1) - elevNum = 2; + elevNum = g_vm->getRandomNumber(1) ? 2 : 0; break; default: @@ -514,14 +514,15 @@ void CRoomFlags::setRandomLocation(int classNum, bool flag) { setElevatorBits(elevNum); setRoomBits(roomNum); setFloorNum(floorNum); + setPassengerClassBits(classNum); } while (_data == 0x59706); } -int CRoomFlags::whatPassengerClass(int floorNum) { +PassengerClass CRoomFlags::whatPassengerClass(int floorNum) { if (is2To19(floorNum)) - return 1; + return FIRST_CLASS; - return is20To27(floorNum) ? 2 : 3; + return is20To27(floorNum) ? SECOND_CLASS : THIRD_CLASS; } } // End of namespace Titanic diff --git a/engines/titanic/room_flags.h b/engines/titanic/room_flags.h index f0f90f80d1..8e86bf707e 100644 --- a/engines/titanic/room_flags.h +++ b/engines/titanic/room_flags.h @@ -24,6 +24,7 @@ #define TITANIC_ROOM_FLAGS_H #include "titanic/support/string.h" +#include "titanic/game_location.h" namespace Titanic { @@ -142,7 +143,9 @@ public: /** * Gets the passenger class number */ - uint getPassengerClassNum() const { return getPassengerClassBits(); } + PassengerClass getPassengerClassNum() const { + return (PassengerClass)getPassengerClassBits(); + } /** * Get a description for the passenger class @@ -198,12 +201,12 @@ public: /** * Change the passenger class */ - void changeLocation(int action); + void changeClass(PassengerClass newClassNum); /** * Sets a random destination in the flags */ - void setRandomLocation(int classNum, bool flag); + void setRandomLocation(PassengerClass classNum, bool flag); /** * Gets the succubus number associated with a given room @@ -218,7 +221,7 @@ public: /** * Returns what passenger class a particular floor number belongs to */ - static int whatPassengerClass(int floorNum); + static PassengerClass whatPassengerClass(int floorNum); bool not5() const { return getConditionally() != 5; } diff --git a/engines/titanic/sound/qmixer.cpp b/engines/titanic/sound/qmixer.cpp index 733164947e..b3910f846a 100644 --- a/engines/titanic/sound/qmixer.cpp +++ b/engines/titanic/sound/qmixer.cpp @@ -60,7 +60,19 @@ void QMixer::qsWaveMixFreeWave(Audio::SoundHandle &handle) { } void QMixer::qsWaveMixFlushChannel(int iChannel, uint flags) { - // Not currently implemented in ScummVM + if (flags & QMIX_OPENALL) { + // Ignore channel, and flush all the channels + for (uint idx = 0; idx < _channels.size(); ++idx) + qsWaveMixFlushChannel(idx, 0); + } else { + // Flush the specified channel + Common::List<SoundEntry>::iterator i; + Common::List<SoundEntry> &sounds = _channels[iChannel]._sounds; + for (i = sounds.begin(); i != sounds.end(); ++i) + _mixer->stopHandle((*i)._soundHandle); + + sounds.clear(); + } } void QMixer::qsWaveMixSetPanRate(int iChannel, uint flags, uint rate) { @@ -83,11 +95,28 @@ void QMixer::qsWaveMixSetVolume(int iChannel, uint flags, uint volume) { } void QMixer::qsWaveMixSetSourcePosition(int iChannel, uint flags, const QSVECTOR &position) { - // Not currently implemented in ScummVM + ChannelEntry &channel = _channels[iChannel]; + + // Flag whether distance should reset when a new sound is started + channel._resetDistance = (flags & QMIX_USEONCE) != 0; + + // Currently, we only do a basic simulation of spatial positioning by + // getting the distance, and proportionately reducing the volume the + // further away the source is + channel._distance = sqrt(position.x * position.x + position.y * position.y + + position.z * position.z); } void QMixer::qsWaveMixSetPolarPosition(int iChannel, uint flags, const QSPOLAR &position) { - // Not currently implemented in ScummVM + ChannelEntry &channel = _channels[iChannel]; + + // Flag whether distance should reset when a new sound is started + channel._resetDistance = (flags & QMIX_USEONCE) != 0; + + // Currently, we only do a basic simulation of spatial positioning by + // getting the distance, and proportionately reducing the volume the + // further away the source is + channel._distance = position.range; } void QMixer::qsWaveMixSetListenerPosition(const QSVECTOR &position, uint flags) { @@ -163,7 +192,8 @@ void QMixer::qsWaveMixPump() { if (channel._volume != oldVolume && !channel._sounds.empty() && channel._sounds.front()._started) { - _mixer->setChannelVolume(channel._sounds.front()._soundHandle, channel._volume); + _mixer->setChannelVolume(channel._sounds.front()._soundHandle, + channel.getRawVolume()); } } @@ -177,7 +207,7 @@ void QMixer::qsWaveMixPump() { sound._waveFile->_stream->rewind(); _mixer->playStream(sound._waveFile->_soundType, &sound._soundHandle, sound._waveFile->_stream, - -1, channel._volume, 0, DisposeAfterUse::NO); + -1, channel.getRawVolume(), 0, DisposeAfterUse::NO); } else { // Sound is finished if (sound._callback) @@ -195,13 +225,30 @@ void QMixer::qsWaveMixPump() { if (!channel._sounds.empty()) { SoundEntry &sound = channel._sounds.front(); if (!sound._started) { + if (channel._resetDistance) + channel._distance = 0.0; + + // Calculate an effective volume based on distance of source _mixer->playStream(sound._waveFile->_soundType, &sound._soundHandle, sound._waveFile->_stream, - -1, channel._volume, 0, DisposeAfterUse::NO); + -1, channel.getRawVolume(), 0, DisposeAfterUse::NO); sound._started = true; } } } } +/*------------------------------------------------------------------------*/ + +byte QMixer::ChannelEntry::getRawVolume() const { + // Emperically decided adjustment divisor for distances + const double ADJUSTMENT_FACTOR = 5.0; + + double r = 1.0 + (_distance / ADJUSTMENT_FACTOR); + double percent = 1.0 / (r * r); + + double newVolume = _volume * percent; + return (byte)newVolume; +} + } // End of namespace Titanic diff --git a/engines/titanic/sound/qmixer.h b/engines/titanic/sound/qmixer.h index 9a0ea85ede..b8c7f6dae2 100644 --- a/engines/titanic/sound/qmixer.h +++ b/engines/titanic/sound/qmixer.h @@ -197,9 +197,19 @@ class QMixer { uint _volumeChangeEnd; byte _volumeStart; byte _volumeEnd; + // Distance of source + double _distance; + bool _resetDistance; ChannelEntry() : _volume(0), _panRate(0), _volumeChangeStart(0), - _volumeChangeEnd(0), _volumeStart(0), _volumeEnd(0) {} + _volumeChangeEnd(0), _volumeStart(0), _volumeEnd(0), + _distance(0.0), _resetDistance(true) {} + + /** + * Calculates the raw volume level to pass to ScummVM playStream, taking + * into the sound's volume level and distance from origin + */ + byte getRawVolume() const; }; private: Audio::Mixer *_mixer; @@ -290,7 +300,7 @@ public: void qsWaveMixSetDistanceMapping(int iChannel, uint flags, const QMIX_DISTANCES &distances); /** - * + * Sets the frequency/rate of sound playback */ void qsWaveMixSetFrequency(int iChannel, uint flags, uint frequency); diff --git a/engines/titanic/sound/sound.cpp b/engines/titanic/sound/sound.cpp index e48c8760c5..c28823148e 100644 --- a/engines/titanic/sound/sound.cpp +++ b/engines/titanic/sound/sound.cpp @@ -57,7 +57,7 @@ void CSound::preEnterView(CViewItem *newView, bool isNewRoom) { _soundManager.setListenerPosition(xp, yp, zp, cosVal, sinVal, 0, isNewRoom); } -bool CSound::isActive(int handle) const { +bool CSound::isActive(int handle) { if (handle != 0 && handle != -1) return _soundManager.isActive(handle); @@ -129,6 +129,7 @@ CWaveFile *CSound::loadSound(const CString &name) { // Found it, so move it to the front of the list and return _sounds.remove(soundItem); _sounds.push_front(soundItem); + soundItem->_waveFile->reset(); return soundItem->_waveFile; } } diff --git a/engines/titanic/sound/sound.h b/engines/titanic/sound/sound.h index 21f2a93f24..c767a3d75f 100644 --- a/engines/titanic/sound/sound.h +++ b/engines/titanic/sound/sound.h @@ -115,7 +115,7 @@ public: /** * Returns true if a sound with the specified handle is active */ - bool isActive(int handle) const; + bool isActive(int handle); /** * Sets the volume for a sound diff --git a/engines/titanic/sound/sound_manager.cpp b/engines/titanic/sound/sound_manager.cpp index c1a46e5103..5f8e53caf3 100644 --- a/engines/titanic/sound/sound_manager.cpp +++ b/engines/titanic/sound/sound_manager.cpp @@ -311,7 +311,9 @@ void QSoundManager::setPolarPosition(int handle, double range, double azimuth, d } } -bool QSoundManager::isActive(int handle) const { +bool QSoundManager::isActive(int handle) { + resetChannel(10); + for (uint idx = 0; idx < _slots.size(); ++idx) { if (_slots[idx]._handle == handle) return true; @@ -320,7 +322,7 @@ bool QSoundManager::isActive(int handle) const { return false; } -bool QSoundManager::isActive(const CWaveFile *waveFile) const { +bool QSoundManager::isActive(const CWaveFile *waveFile) { return _sounds.contains(waveFile); } diff --git a/engines/titanic/sound/sound_manager.h b/engines/titanic/sound/sound_manager.h index a3074a8e57..ff556346de 100644 --- a/engines/titanic/sound/sound_manager.h +++ b/engines/titanic/sound/sound_manager.h @@ -123,12 +123,12 @@ public: /** * Returns true if the given sound is currently active */ - virtual bool isActive(int handle) const = 0; + virtual bool isActive(int handle) = 0; /** * Returns true if the given sound is currently active */ - virtual bool isActive(const CWaveFile *waveFile) const { return false; } + virtual bool isActive(const CWaveFile *waveFile) { return false; } /** * Handles regularly updating the mixer @@ -395,12 +395,12 @@ public: /** * Returns true if the given sound is currently active */ - virtual bool isActive(int handle) const; + virtual bool isActive(int handle); /** * Returns true if the given sound is currently active */ - virtual bool isActive(const CWaveFile *waveFile) const; + virtual bool isActive(const CWaveFile *waveFile); /** * Handles regularly updating the mixer diff --git a/engines/titanic/sound/wave_file.cpp b/engines/titanic/sound/wave_file.cpp index ade94aad50..f2366d1dd5 100644 --- a/engines/titanic/sound/wave_file.cpp +++ b/engines/titanic/sound/wave_file.cpp @@ -51,9 +51,9 @@ uint CWaveFile::getDurationTicks() const { // a desired size. Since I have no idea how the system API // method works, for now I'm using a simple ratio of a // sample output to input value - uint size = _size - 0x46; - double newSize = (double)size * (1475712.0 / 199836.0); - return newSize * 1000.0 / _stream->getRate(); + uint dataSize = _size - 0x46; + double newSize = (double)dataSize * (1475712.0 / 199836.0); + return (uint)(newSize * 1000.0 / _stream->getRate()); } bool CWaveFile::loadSound(const CString &name) { @@ -106,4 +106,8 @@ uint CWaveFile::getFrequency() const { return _stream->getRate(); } +void CWaveFile::reset() { + _stream->rewind(); +} + } // End of namespace Titanic z diff --git a/engines/titanic/sound/wave_file.h b/engines/titanic/sound/wave_file.h index 19d367936f..e4bb71a0b6 100644 --- a/engines/titanic/sound/wave_file.h +++ b/engines/titanic/sound/wave_file.h @@ -81,6 +81,11 @@ public: * Return the frequency of the loaded wave file */ uint getFrequency() const; + + /** + * Resets the music stream + */ + void reset(); }; } // End of namespace Titanic diff --git a/engines/titanic/star_control/star_control_sub13.cpp b/engines/titanic/star_control/star_control_sub13.cpp index 490e6d0630..5da6118a74 100644 --- a/engines/titanic/star_control/star_control_sub13.cpp +++ b/engines/titanic/star_control/star_control_sub13.cpp @@ -225,7 +225,7 @@ void CStarControlSub13::fn19(double *v1, double *v2, double *v3, double *v4) { } void CStarControlSub13::reset() { - const double FACTOR = 3.1415927 * 0.0055555557; + //const double FACTOR = 3.1415927 * 0.0055555557; error("TODO: CStarControlSub13::reset"); } diff --git a/engines/titanic/support/avi_surface.cpp b/engines/titanic/support/avi_surface.cpp index 07458812b9..525c6513dd 100644 --- a/engines/titanic/support/avi_surface.cpp +++ b/engines/titanic/support/avi_surface.cpp @@ -41,6 +41,7 @@ AVISurface::AVISurface(const CResourceKey &key) { _streamCount = 0; _movieFrameSurface[0] = _movieFrameSurface[1] = nullptr; _framePixels = nullptr; + _priorFrameTime = 0; // Reset current frame. We need to keep track of frames separately from the decoder, // since it needs to be able to go beyond the frame count or to negative to allow @@ -164,8 +165,8 @@ bool AVISurface::handleEvents(CMovieEventList &events) { _currentFrame += _isReversed ? -1 : 1; int newFrame = _currentFrame; - if ((info->_isReversed && newFrame <= info->_endFrame) || - (!info->_isReversed && newFrame >= info->_endFrame)) { + if ((info->_isReversed && newFrame < info->_endFrame) || + (!info->_isReversed && newFrame > info->_endFrame)) { if (info->_isRepeat) { newFrame = info->_startFrame; } else { @@ -180,6 +181,7 @@ bool AVISurface::handleEvents(CMovieEventList &events) { // Not empty, so move onto new first one info = _movieRangeInfo.front(); newFrame = info->_startFrame; + setReversed(info->_isReversed); } } } @@ -286,8 +288,20 @@ void AVISurface::setFrame(int frameNumber) { renderFrame(); } -bool AVISurface::isNextFrame() const { - return _decoder->getTimeToNextFrame() == 0; +bool AVISurface::isNextFrame() { + if (!_decoder->endOfVideo()) + return _decoder->getTimeToNextFrame() == 0; + + // We're at the end of the video, so we need to manually + // keep track of frame delays. Hardcoded at the moment for 15FPS + const uint FRAME_TIME = 1000 / 15; + uint32 currTime = g_system->getMillis(); + if (currTime >= (_priorFrameTime + FRAME_TIME)) { + _priorFrameTime = currTime; + return true; + } + + return false; } bool AVISurface::renderFrame() { @@ -347,7 +361,12 @@ bool AVISurface::addEvent(int frameNumber, CGameObject *obj) { } void AVISurface::setFrameRate(double rate) { - _decoder->setRate(Common::Rational((int)rate)); + // Convert rate from fps to relative to 1.0 (normal speed) + const int PRECISION = 10000; + double playRate = rate / 15.0; // Standard 15 FPS + Common::Rational pRate(playRate * PRECISION, PRECISION); + + _decoder->setRate(pRate); } Graphics::ManagedSurface *AVISurface::getSecondarySurface() { @@ -370,10 +389,12 @@ void AVISurface::playCutscene(const Rect &r, uint startFrame, uint endFrame) { _movieFrameSurface[0]->h != r.height(); startAtFrame(startFrame); + _currentFrame = startFrame; + while (_currentFrame < (int)endFrame && !g_vm->shouldQuit()) { if (isNextFrame()) { renderFrame(); - _currentFrame = _decoder->getCurFrame(); + ++_currentFrame; if (isDifferent) { // Clear the destination area, and use the transBlitFrom method, diff --git a/engines/titanic/support/avi_surface.h b/engines/titanic/support/avi_surface.h index b4e6d420cb..2a4b321f0f 100644 --- a/engines/titanic/support/avi_surface.h +++ b/engines/titanic/support/avi_surface.h @@ -66,6 +66,7 @@ private: Graphics::ManagedSurface *_framePixels; bool _isReversed; int _currentFrame; + uint32 _priorFrameTime; private: /** * Render a frame to the video surface @@ -132,7 +133,9 @@ public: /** * Return true if a video is currently playing */ - virtual bool isPlaying() const { return _decoder->isPlaying(); } + virtual bool isPlaying() const { + return _decoder->isPlaying(); + } /** * Handle any movie events relevent for the frame @@ -194,7 +197,7 @@ public: /** * Returns true if it's time for the next */ - bool isNextFrame() const; + bool isNextFrame(); /** * Plays an interruptable cutscene diff --git a/engines/titanic/support/font.cpp b/engines/titanic/support/font.cpp index 625d03720b..f81251b10b 100644 --- a/engines/titanic/support/font.cpp +++ b/engines/titanic/support/font.cpp @@ -90,7 +90,7 @@ int STFont::getTextBounds(const CString &str, int maxWidth, Point *sizeOut) cons strP += 4; } else { if (*strP == ' ') { - // Check fo rline wrapping + // Check for line wrapping checkLineWrap(textSize, maxWidth, strP); } @@ -152,7 +152,7 @@ int STFont::writeString(CVideoSurface *surface, const Rect &rect1, const Rect &d setColor(r, g, b); } else { if (*srcP == ' ') { - // Check fo rline wrapping + // Check for line wrapping checkLineWrap(textSize, rect1.width(), srcP); if (!*srcP) return endP - str.c_str(); @@ -245,11 +245,8 @@ WriteCharacterResult STFont::writeChar(CVideoSurface *surface, unsigned char c, if (c == 233) c = '$'; - Rect tempRect; - tempRect.left = _chars[c]._offset; - tempRect.right = _chars[c]._offset + _chars[c]._width; - tempRect.top = 0; - tempRect.bottom = _fontHeight; + Rect charRect(_chars[c]._offset, 0, + _chars[c]._offset + _chars[c]._width, _fontHeight); Point destPos(pt.x + destRect.left, pt.y + destRect.top); if (srcRect->isEmpty()) @@ -257,34 +254,34 @@ WriteCharacterResult STFont::writeChar(CVideoSurface *surface, unsigned char c, if (destPos.y > srcRect->bottom) return WC_OUTSIDE_BOTTOM; - if ((destPos.y + tempRect.height()) > srcRect->bottom) { - tempRect.bottom += tempRect.top - destPos.y; + if ((destPos.y + charRect.height()) > srcRect->bottom) { + charRect.bottom += srcRect->bottom - (destPos.y + charRect.height()); } if (destPos.y < srcRect->top) { - if ((tempRect.height() + destPos.y) < srcRect->top) + if ((charRect.height() + destPos.y) < srcRect->top) return WC_OUTSIDE_TOP; - tempRect.top += srcRect->top - destPos.y; + charRect.top += srcRect->top - destPos.y; destPos.y = srcRect->top; } if (destPos.x < srcRect->left) { - if ((tempRect.width() + destPos.x) < srcRect->left) + if ((charRect.width() + destPos.x) < srcRect->left) return WC_OUTSIDE_LEFT; - tempRect.left += srcRect->left - destPos.x; + charRect.left += srcRect->left - destPos.x; destPos.x = srcRect->left; } else { - if ((tempRect.width() + destPos.x) > srcRect->right) { + if ((charRect.width() + destPos.x) > srcRect->right) { if (destPos.x > srcRect->right) return WC_OUTSIDE_RIGHT; - tempRect.right += srcRect->left - destPos.x; + charRect.right += srcRect->left - destPos.x; } } - copyRect(surface, destPos, tempRect); + copyRect(surface, destPos, charRect); return WC_IN_BOUNDS; } @@ -318,10 +315,10 @@ void STFont::extendBounds(Point &textSize, byte c, int maxWidth) const { void STFont::checkLineWrap(Point &textSize, int maxWidth, const char *&str) const { bool flag = false; int totalWidth = 0; - for (const char *srcPtr = str; *srcPtr && *srcPtr != ' '; ++srcPtr) { - if (*srcPtr == ' ' && flag) - break; + // Loop forward getting the width of the word (including preceding space) + // until a space is encountered following at least one character + for (const char *srcPtr = str; *srcPtr && (*srcPtr != ' ' || !flag); ++srcPtr) { if (*srcPtr == TEXTCMD_NPC) { srcPtr += 3; } else if (*srcPtr == TEXTCMD_SET_COLOR) { diff --git a/engines/titanic/support/mouse_cursor.cpp b/engines/titanic/support/mouse_cursor.cpp index 4dd1ab4366..6300f65a3b 100644 --- a/engines/titanic/support/mouse_cursor.cpp +++ b/engines/titanic/support/mouse_cursor.cpp @@ -54,10 +54,11 @@ CMouseCursor::CursorEntry::~CursorEntry() { } CMouseCursor::CMouseCursor(CScreenManager *screenManager) : - _screenManager(screenManager), _cursorId(CURSOR_HOURGLASS), - _setCursorCount(0), _fieldE4(0), _fieldE8(0) { + _screenManager(screenManager), _cursorId(CURSOR_HOURGLASS), _hideCounter(0), + _hiddenCount(0), _cursorSuppressed(false), _setCursorCount(0), _inputEnabled(true), _fieldE8(0) { loadCursorImages(); setCursor(CURSOR_ARROW); + CursorMan.showMouse(true); } CMouseCursor::~CMouseCursor() { @@ -87,11 +88,38 @@ void CMouseCursor::loadCursorImages() { } void CMouseCursor::show() { - CursorMan.showMouse(true); + assert(_hiddenCount > 0); + + if (--_hiddenCount == 0) + CursorMan.showMouse(!_cursorSuppressed); } void CMouseCursor::hide() { CursorMan.showMouse(false); + ++_hiddenCount; +} + +void CMouseCursor::incHideCounter() { + if (_hideCounter++ == 0) + hide(); +} + +void CMouseCursor::decHideCounter() { + --_hideCounter; + assert(_hideCounter >= 0); + if (_hideCounter == 0) + show(); +} + +void CMouseCursor::suppressCursor() { + _cursorSuppressed = true; + hide(); +} + +void CMouseCursor::unsuppressCursor() { + _cursorSuppressed = false; + if (_hideCounter == 0) + show(); } void CMouseCursor::setCursor(CursorId cursorId) { @@ -108,7 +136,7 @@ void CMouseCursor::setCursor(CursorId cursorId) { Graphics::ManagedSurface surface(CURSOR_SIZE, CURSOR_SIZE, g_system->getScreenFormat()); const uint16 *srcP = srcSurface.getPixels(); - CTransparencySurface transSurface(&ce._transSurface->rawSurface(), TRANS_DEFAULT); + CTransparencySurface transSurface(&ce._transSurface->rawSurface(), TRANS_ALPHA0); uint16 *destP = (uint16 *)surface.getPixels(); for (int y = 0; y < CURSOR_SIZE; ++y) { @@ -131,25 +159,45 @@ void CMouseCursor::setCursor(CursorId cursorId) { } void CMouseCursor::update() { - // No implementation needed + if (!_inputEnabled && _moveStartTime) { + uint32 time = CLIP(g_system->getMillis(), _moveStartTime, _moveEndTime); + Common::Point pt( + _moveStartPos.x + (_moveDestPos.x - _moveStartPos.x) * + (int)(time - _moveStartTime) / (int)(_moveEndTime - _moveStartTime), + _moveStartPos.y + (_moveDestPos.y - _moveStartPos.y) * + (int)(time - _moveStartTime) / (int)(_moveEndTime - _moveStartTime) + ); + + if (pt != g_vm->_events->getMousePos()) { + g_vm->_events->setMousePos(pt); + + CInputHandler &inputHandler = *CScreenManager::_screenManagerPtr->_inputHandler; + CMouseMoveMsg msg(pt, 0); + inputHandler.handleMessage(msg, false); + } + + if (time == _moveEndTime) + _moveStartTime = _moveEndTime = 0; + } } -void CMouseCursor::lockE4() { - _fieldE4 = 0; +void CMouseCursor::disableControl() { + _inputEnabled = false; CScreenManager::_screenManagerPtr->_inputHandler->incLockCount(); } -void CMouseCursor::unlockE4() { - _fieldE4 = 1; +void CMouseCursor::enableControl() { + _inputEnabled = true; _fieldE8 = 0; CScreenManager::_screenManagerPtr->_inputHandler->decLockCount(); } -void CMouseCursor::setPosition(const Point &pt, double rate) { - assert(rate >= 0.0 && rate <= 1.0); - - // TODO: Figure out use of the rate parameter - g_system->warpMouse(pt.x, pt.y); +void CMouseCursor::setPosition(const Point &pt, double duration) { + _moveStartPos = g_vm->_events->getMousePos(); + _moveDestPos = pt; + _moveStartTime = g_system->getMillis(); + _moveEndTime = _moveStartTime + duration; + update(); } } // End of namespace Titanic diff --git a/engines/titanic/support/mouse_cursor.h b/engines/titanic/support/mouse_cursor.h index 08de28e29d..1662ce743d 100644 --- a/engines/titanic/support/mouse_cursor.h +++ b/engines/titanic/support/mouse_cursor.h @@ -66,14 +66,22 @@ private: CursorId _cursorId; CursorEntry _cursors[NUM_CURSORS]; uint _setCursorCount; - int _fieldE4; + int _hideCounter; + int _hiddenCount; + bool _cursorSuppressed; int _fieldE8; + uint32 _priorMoveTime; + Common::Point _moveStartPos; + Common::Point _moveDestPos; + uint _moveStartTime, _moveEndTime; /** * Load the images for each cursor */ void loadCursorImages(); public: + bool _inputEnabled; +public: CMouseCursor(CScreenManager *screenManager); ~CMouseCursor(); @@ -88,6 +96,29 @@ public: void hide(); /** + * Decrements the hide counter, and shows the mouse if + * it's reached zero + */ + void incHideCounter(); + + /** + * Increments the hide counter, hiding the mouse if it's the first call + */ + void decHideCounter(); + + /** + * Suppresses the cursor. When suppressed, the cursor isn't drawn, + * even if it's not otherwise being hidden + */ + void suppressCursor(); + + /** + * Unflags the cursor as being suppressed, allowing it to be drawn + * again if it's enabled + */ + void unsuppressCursor(); + + /** * Set the cursor */ void setCursor(CursorId cursorId); @@ -102,13 +133,20 @@ public: */ uint getChangeCount() const { return _setCursorCount; } - void lockE4(); - void unlockE4(); + /** + * Disables user control of the mouse + */ + void disableControl(); + + /** + * Re-enables user control of the mouse + */ + void enableControl(); /** - * Sets the mouse to a new position + * Move the mouse to a new position */ - void setPosition(const Point &pt, double rate); + void setPosition(const Point &pt, double duration); }; diff --git a/engines/titanic/support/movie.cpp b/engines/titanic/support/movie.cpp index 2115906992..949ed62fca 100644 --- a/engines/titanic/support/movie.cpp +++ b/engines/titanic/support/movie.cpp @@ -126,19 +126,12 @@ void OSMovie::playCutscene(const Rect &drawRect, uint startFrame, uint endFrame) if (!_movieSurface) _movieSurface = CScreenManager::_screenManagerPtr->createSurface(600, 340); - bool widthLess = _videoSurface->getWidth() < 600; - bool heightLess = _videoSurface->getHeight() < 340; - Rect r(drawRect.left, drawRect.top, - drawRect.left + (widthLess ? CLIP_WIDTH_REDUCED : CLIP_WIDTH), - drawRect.top + (heightLess ? CLIP_HEIGHT_REDUCED : CLIP_HEIGHT) - ); - // Set a new event target whilst the clip plays, so standard scene drawing isn't called CEventTarget eventTarget; g_vm->_events->addTarget(&eventTarget); _aviSurface.setFrame(startFrame); - _aviSurface.playCutscene(r, startFrame, endFrame); + _aviSurface.playCutscene(drawRect, startFrame, endFrame); g_vm->_events->removeTarget(); } diff --git a/engines/titanic/support/screen_manager.cpp b/engines/titanic/support/screen_manager.cpp index 2e9bbcb6de..2a675394b5 100644 --- a/engines/titanic/support/screen_manager.cpp +++ b/engines/titanic/support/screen_manager.cpp @@ -308,11 +308,11 @@ CVideoSurface *OSScreenManager::createSurface(const CResourceKey &key) { } void OSScreenManager::showCursor() { - CScreenManager::_screenManagerPtr->_mouseCursor->show(); + CScreenManager::_screenManagerPtr->_mouseCursor->unsuppressCursor(); } void OSScreenManager::hideCursor() { - CScreenManager::_screenManagerPtr->_mouseCursor->hide(); + CScreenManager::_screenManagerPtr->_mouseCursor->suppressCursor(); } void OSScreenManager::destroyFrontAndBackBuffers() { @@ -330,7 +330,6 @@ void OSScreenManager::loadCursors() { delete _mouseCursor; } _mouseCursor = new CMouseCursor(this); - showCursor(); if (!_textCursor) { _textCursor = new CTextCursor(this); diff --git a/engines/titanic/support/simple_file.cpp b/engines/titanic/support/simple_file.cpp index 7e3cea35be..65d2c85273 100644 --- a/engines/titanic/support/simple_file.cpp +++ b/engines/titanic/support/simple_file.cpp @@ -467,7 +467,7 @@ void SimpleFile::skipSpaces() { /*------------------------------------------------------------------------*/ bool StdCWadFile::open(const Common::String &filename) { - File f; + Common::File f; CString name = filename; // Check for whether it is indeed a file/resource pair @@ -476,9 +476,11 @@ bool StdCWadFile::open(const Common::String &filename) { if (idx < 0) { // Nope, so open up file for standard reading assert(!name.empty()); - f.open(name); + if (!f.open(name)) + return false; SimpleFile::open(f.readStream(f.size())); + f.close(); return true; } @@ -489,7 +491,8 @@ bool StdCWadFile::open(const Common::String &filename) { int resIndex = resStr.readInt(); // Open up the index for access - f.open(fname); + if (!f.open(fname)) + return false; int indexSize = f.readUint32LE() / 4; assert(resIndex < indexSize); diff --git a/engines/titanic/support/strings.cpp b/engines/titanic/support/strings.cpp index 7664b6849b..a8ab45800f 100644 --- a/engines/titanic/support/strings.cpp +++ b/engines/titanic/support/strings.cpp @@ -25,7 +25,7 @@ namespace Titanic { -Strings::Strings() { +void Strings::load() { Common::SeekableReadStream *r = g_vm->_filesManager->getResource("TEXT/STRINGS"); while (r->pos() < r->size()) push_back(readStringFromStream(r)); diff --git a/engines/titanic/support/strings.h b/engines/titanic/support/strings.h index 5164897522..30aad89697 100644 --- a/engines/titanic/support/strings.h +++ b/engines/titanic/support/strings.h @@ -87,6 +87,57 @@ enum StringId { BOWL_OF_NUTS, NOT_A_BOWL_OF_NUTS, + CANT_SUMMON_DOORBOT, + CANT_SUMMON_BELLBOT, + NO_ONE_TO_TALK_TO, + TALKING_TO, + DOORBOT_NAME, + DESKBOT_NAME, + LIFTBOT_NAME, + PARROT_NAME, + BARBOT_NAME, + CHATTERBOT_NAME, + BELLBOT_NAME, + MAITRED_NAME, + SUCCUBUS_NAME, + UNKNOWN_NAME, + ARM_ALREADY_HOLDING, + YOU_CANT_GET_THIS, + DOESNT_DO_ANYTHING, + DOESNT_WANT_THIS, + DOES_NOT_REACH, + CHICKEN_ALREADY_CLEAN, + HOSE_INCOMPATIBLE, + INCORRECTLY_CALIBRATED, + GONDOLIERS_FIRST_CLASS_ONLY, + NOTHING_ON_CHANNEL, + TELEVISION_CONTROL, + OPERATE_ENTERTAINMENT, + OPERATE_LIGHTS, + DEPLOY_FLORAL_ENHANCEMENT, + DEPLOY_FULLY_RELAXATION, + DEPLOY_COMFORT_WORKSTATION, + DEPLOY_MINOR_STORAGE, + DEPLOY_MAJOR_RELAXATION, + INFLATE_RELAXATION_DEVICE, + DEPLOY_MAINTENANCE_HUB, + DEPLOY_EXECUTIVE_SURFACE, + DEPLOY_MINOR_RELAXATION, + DEPLOY_SINK, + DEPLOY_MAJOR_STORAGE, + SUCCUBUS_DELIVERY_SYSTEM, + NAVIGATION_CONTROLLER, + SUMMON_ELEVATOR, + SUMMON_PELLERATOR, + GO_TO_BOTTOM_OF_WELL, + GO_TO_TOP_OF_WELL, + GO_TO_STATEROOM, + GO_TO_BAR, + GO_TO_PROMENADE_DECK, + GO_TO_ARBORETUM, + GO_TO_MUSIC_ROOM, + GO_TO_1ST_CLASS_RESTAURANT, + // German version only DE_SUMMER, DE_AUTUMN, @@ -139,7 +190,7 @@ enum StringId { class Strings : public Common::StringArray { public: - Strings(); + void load(); }; } // End of namespace Titanic diff --git a/engines/titanic/support/time_event_info.cpp b/engines/titanic/support/time_event_info.cpp index e088a8e0c2..c61ceb29ae 100644 --- a/engines/titanic/support/time_event_info.cpp +++ b/engines/titanic/support/time_event_info.cpp @@ -100,8 +100,8 @@ CTimeEventInfo::CTimeEventInfo() : ListItem(), _lockCounter(0), CTimeEventInfo::CTimeEventInfo(uint ticks, bool repeated, uint firstDuration, uint repeatDuration, CTreeItem *target, int endVal, const CString &action) : ListItem(), _lockCounter(0), _repeated(repeated), _firstDuration(firstDuration), - _repeatDuration(repeatDuration), _target(target), _actionVal(endVal), _done(false), - _timerCtr(0), _lastTimerTicks(ticks), _relativeTicks(0), _persisent(true) { + _repeatDuration(repeatDuration), _target(target), _actionVal(endVal), _action(action), + _done(false), _timerCtr(0), _lastTimerTicks(ticks), _relativeTicks(0), _persisent(true) { _id = _nextId++; } diff --git a/engines/titanic/support/transparency_surface.cpp b/engines/titanic/support/transparency_surface.cpp index 5ffa8b99b1..8b5cbecc5f 100644 --- a/engines/titanic/support/transparency_surface.cpp +++ b/engines/titanic/support/transparency_surface.cpp @@ -46,7 +46,7 @@ CTransparencySurface::CTransparencySurface(const Graphics::Surface *surface, _flag1 = false; break; case TRANS_DEFAULT: - if (*(byte *)surface->getPixels() < 0x80) { + if (*(const byte *)surface->getPixels() < 0x80) { _flag1 = true; _flag2 = false; } @@ -66,8 +66,17 @@ int CTransparencySurface::moveX() { } uint CTransparencySurface::getPixel() const { - const byte *pixelP = (const byte *)_surface->getBasePtr(_pos.x, _pos.y); - return *pixelP; + byte pixel = *(const byte *)_surface->getBasePtr(_pos.x, _pos.y); + return pixel; +} + +uint CTransparencySurface::getAlpha() const { + byte pixel = getPixel(); + return _flag1 ? 0xFF - pixel : pixel; +} + +bool CTransparencySurface::isPixelTransparent() { + return getAlpha() == 0xff; } } // End of namespace Titanic diff --git a/engines/titanic/support/transparency_surface.h b/engines/titanic/support/transparency_surface.h index 0391b6d5b7..1b4587a9db 100644 --- a/engines/titanic/support/transparency_surface.h +++ b/engines/titanic/support/transparency_surface.h @@ -42,6 +42,11 @@ private: bool _flag; bool _flag1; bool _flag2; +private: + /** + * Returns a a pixel from the transparency surface + */ + uint getPixel() const; public: /** * Constructor @@ -64,19 +69,14 @@ public: int moveX(); /** - * Returns a byte from the transparency surface - */ - uint getPixel() const; - - /** * Returns the alpha value for the pixel (0-31) */ - uint getAlpha() const { return 31 - (getPixel() >> 3); } + uint getAlpha() const; /** * Returns true if the pixel is completely transparent */ - bool isPixelTransparent() const { return getAlpha() == 31; } + bool isPixelTransparent(); }; } // End of namespace Titanic diff --git a/engines/titanic/support/video_surface.cpp b/engines/titanic/support/video_surface.cpp index 293232860c..52610379b5 100644 --- a/engines/titanic/support/video_surface.cpp +++ b/engines/titanic/support/video_surface.cpp @@ -246,9 +246,7 @@ void CVideoSurface::transBlitRect(const Rect &srcRect, const Rect &destRect, CVi transSurface.setCol(srcRect.left); for (int srcX = srcRect.left; srcX < srcRect.right; ++srcX) { - if (!transSurface.isPixelTransparent()) { - copyPixel(lineDestP, lineSrcP, transSurface.getAlpha(), srcSurface->format, isAlpha); - } + copyPixel(lineDestP, lineSrcP, transSurface.getAlpha() >> 3, srcSurface->format, isAlpha); ++lineSrcP; ++lineDestP; diff --git a/engines/titanic/titanic.cpp b/engines/titanic/titanic.cpp index 2566a36d7c..29730c36c8 100644 --- a/engines/titanic/titanic.cpp +++ b/engines/titanic/titanic.cpp @@ -60,6 +60,12 @@ TitanicEngine::TitanicEngine(OSystem *syst, const TitanicGameDescription *gameDe _scriptHandler = nullptr; _script = nullptr; CMusicRoom::_musicHandler = nullptr; + + // Set up debug channels + DebugMan.addDebugChannel(kDebugCore, "core", "Core engine debug level"); + DebugMan.addDebugChannel(kDebugScripts, "scripts", "Game scripts"); + DebugMan.addDebugChannel(kDebugGraphics, "graphics", "Graphics handling"); + DebugMan.addDebugChannel(kDebugSound, "sound", "Sound and Music handling"); } TitanicEngine::~TitanicEngine() { @@ -78,12 +84,6 @@ void TitanicEngine::initializePath(const Common::FSNode &gamePath) { } void TitanicEngine::initialize() { - // Set up debug channels - DebugMan.addDebugChannel(kDebugCore, "core", "Core engine debug level"); - DebugMan.addDebugChannel(kDebugScripts, "scripts", "Game scripts"); - DebugMan.addDebugChannel(kDebugGraphics, "graphics", "Graphics handling"); - DebugMan.addDebugChannel(kDebugSound, "sound", "Sound and Music handling"); - _debugger = new Debugger(this); _filesManager = new CFilesManager(this); @@ -107,6 +107,7 @@ void TitanicEngine::initialize() { _screen = new Graphics::Screen(0, 0); _screenManager = new OSScreenManager(this); _window = new CMainGameWindow(this); + _strings.load(); setItemNames(); setRoomNames(); @@ -149,7 +150,7 @@ void TitanicEngine::setItemNames() { r = g_vm->_filesManager->getResource("TEXT/ITEM_DESCRIPTIONS"); while (r->pos() < r->size()) - _itemNames.push_back(readStringFromStream(r)); + _itemDescriptions.push_back(readStringFromStream(r)); delete r; r = g_vm->_filesManager->getResource("TEXT/ITEM_IDS"); diff --git a/engines/titanic/titanic.h b/engines/titanic/titanic.h index b0776c55a5..d8e0f880f7 100644 --- a/engines/titanic/titanic.h +++ b/engines/titanic/titanic.h @@ -122,6 +122,7 @@ public: CString _itemObjects[TOTAL_ITEMS]; StringArray _itemIds; StringArray _roomNames; + Strings _strings; public: TitanicEngine(OSystem *syst, const TitanicGameDescription *gameDesc); virtual ~TitanicEngine(); diff --git a/engines/titanic/true_talk/barbot_script.cpp b/engines/titanic/true_talk/barbot_script.cpp index 76f28540ea..ad10f5a57f 100644 --- a/engines/titanic/true_talk/barbot_script.cpp +++ b/engines/titanic/true_talk/barbot_script.cpp @@ -167,7 +167,7 @@ int BarbotScript::process(const TTroomScript *roomScript, const TTsentence *sent dialogueId = ARRAY2[0]; _arrIndex = 1; } else if (getRandomNumber(100) > 60) { - switch (sentence->_field2C) { + switch (sentence->_category) { case 2: dialogueId = 51914; break; @@ -209,7 +209,7 @@ int BarbotScript::process(const TTroomScript *roomScript, const TTsentence *sent int val34 = getState(); setState(0); - int val2C = sentence->_field2C; + int val2C = sentence->_category; bool flag = val2C == 11 || val2C == 13; bool flag2 = val2C == 12; diff --git a/engines/titanic/true_talk/bellbot_script.cpp b/engines/titanic/true_talk/bellbot_script.cpp index 038285ec8d..c51c918a2e 100644 --- a/engines/titanic/true_talk/bellbot_script.cpp +++ b/engines/titanic/true_talk/bellbot_script.cpp @@ -239,11 +239,11 @@ int BellbotScript::process(const TTroomScript *roomScript, const TTsentence *sen if (processEntries(&_entries, _entryCount, roomScript, sentence) == 2) return 2; - if ((sentence->_field2C == 4 && sentence->localWord("am") && sentence->localWord("i")) + if ((sentence->_category == 4 && sentence->localWord("am") && sentence->localWord("i")) || (sentence->localWord("are") && sentence->localWord("we")) - || (sentence->_field2C == 3 && sentence->localWord("room") + || (sentence->_category == 3 && sentence->localWord("room") && sentence->localWord("we") && sentence->localWord("in")) - || (sentence->_field2C == 3 && sentence->localWord("rom") + || (sentence->_category == 3 && sentence->localWord("rom") && sentence->localWord("is") && sentence->localWord("this")) ) { uint id = getRangeValue(getRoomDialogueId(roomScript)); @@ -527,7 +527,7 @@ int BellbotScript::handleQuote(const TTroomScript *roomScript, const TTsentence int BellbotScript::updateState(uint oldId, uint newId, int index) { if (!getValue(25)) { - newId = 202043 - getValue(1) <= 2 ? 994 : 0; + newId = 202043 - (getValue(1) <= 2 ? 994 : 0); CTrueTalkManager::setFlags(25, 1); } @@ -795,22 +795,22 @@ int BellbotScript::preprocess(const TTroomScript *roomScript, const TTsentence * bool applyFlag = false, stateFlag = true; switch (getValue(23)) { case 1: - if (sentence->_field2C == 11 || sentence->_field2C == 13) { + if (sentence->_category == 11 || sentence->_category == 13) { addResponse(getDialogueId(200818)); applyFlag = true; } - if (sentence->_field2C == 12) { + if (sentence->_category == 12) { addResponse(getDialogueId(200817)); applyFlag = true; } break; case 2: - if (sentence->_field2C == 11 || sentence->_field2C == 13) { + if (sentence->_category == 11 || sentence->_category == 13) { addResponse(getDialogueId(200835)); addResponse(getDialogueId(200830)); applyFlag = true; - } else if (sentence->_field2C == 12) { + } else if (sentence->_category == 12) { addResponse(getDialogueId(200834)); addResponse(getDialogueId(200830)); applyFlag = true; @@ -818,7 +818,7 @@ int BellbotScript::preprocess(const TTroomScript *roomScript, const TTsentence * break; case 3: - if (sentence->_field2C >= 11 && sentence->_field2C <= 13) { + if (sentence->_category >= 11 && sentence->_category <= 13) { addResponse(getDialogueId(200831)); addResponse(getDialogueId(200833)); applyFlag = true; @@ -826,36 +826,36 @@ int BellbotScript::preprocess(const TTroomScript *roomScript, const TTsentence * break; case 4: - if (sentence->_field2C == 11) { + if (sentence->_category == 11) { addResponse(getDialogueId(200872)); applyFlag = true; } - if (sentence->_field2C == 12 || sentence->_field2C == 13) { + if (sentence->_category == 12 || sentence->_category == 13) { addResponse(getDialogueId(200873)); applyFlag = true; } break; case 5: - if (sentence->_field2C == 11 || sentence->_field2C == 13) { + if (sentence->_category == 11 || sentence->_category == 13) { addResponse(getDialogueId(200492)); applyFlag = true; } - if (sentence->_field2C == 12) { + if (sentence->_category == 12) { addResponse(getDialogueId(200491)); applyFlag = true; } break; case 6: - if (sentence->_field2C == 11 || sentence->_field2C == 13) { + if (sentence->_category == 11 || sentence->_category == 13) { addResponse(getDialogueId(200496)); applyResponse(); setState(0); CTrueTalkManager::setFlags(23, 7); return 2; } - if (sentence->_field2C == 12) { + if (sentence->_category == 12) { addResponse(getDialogueId(200127)); applyFlag = true; } @@ -880,7 +880,7 @@ int BellbotScript::preprocess(const TTroomScript *roomScript, const TTsentence * break; case 10: - if (sentence->_field2C == 11 || sentence->_field2C == 13) { + if (sentence->_category == 11 || sentence->_category == 13) { addResponse(getDialogueId(200317)); applyResponse(); setState(0); @@ -888,14 +888,14 @@ int BellbotScript::preprocess(const TTroomScript *roomScript, const TTsentence * return 2; } - addResponse(getDialogueId(sentence->_field2C == 12 ? 200316 : 200315)); + addResponse(getDialogueId(sentence->_category == 12 ? 200316 : 200315)); applyFlag = true; break; case 11: - if (sentence->_field2C == 11 || sentence->_field2C == 13) { + if (sentence->_category == 11 || sentence->_category == 13) { addResponse(getDialogueId(200055)); - } else if (sentence->_field2C == 12) { + } else if (sentence->_category == 12) { addResponse(getDialogueId(200318)); } else { addResponse(getDialogueId(200315)); @@ -905,30 +905,30 @@ int BellbotScript::preprocess(const TTroomScript *roomScript, const TTsentence * break; case 12: - if (sentence->_field2C == 6) { + if (sentence->_category == 6) { addResponse(getDialogueId(200259)); applyFlag = true; } break; case 13: - if (sentence->_field2C == 11 || sentence->_field2C == 13) { + if (sentence->_category == 11 || sentence->_category == 13) { addResponse(getDialogueId(200207)); applyFlag = true; - } else if (sentence->_field2C == 12) { + } else if (sentence->_category == 12) { addResponse(getDialogueId(200206)); applyFlag = true; } break; case 14: - if (sentence->_field2C == 6) { + if (sentence->_category == 6) { addResponse(getDialogueId(200349)); applyFlag = true; } case 15: - if (sentence->_field2C == 6) { + if (sentence->_category == 6) { addResponse(getDialogueId(200130)); applyResponse(); setState(0); @@ -945,7 +945,7 @@ int BellbotScript::preprocess(const TTroomScript *roomScript, const TTsentence * break; case 17: - if ((sentence->_field2C == 3 && sentence->localWord("code")) + if ((sentence->_category == 3 && sentence->localWord("code")) || (sentence->localWord("which") && sentence->localWord("is")) || sentence->localWord("remember") || sentence->localWord("know") @@ -957,7 +957,7 @@ int BellbotScript::preprocess(const TTroomScript *roomScript, const TTsentence * break; case 19: - if (sentence->_field2C == 11 || sentence->_field2C == 13) { + if (sentence->_category == 11 || sentence->_category == 13) { addResponse(getDialogueId(200223)); applyFlag = true; } @@ -1042,12 +1042,12 @@ int BellbotScript::preprocess(const TTroomScript *roomScript, const TTsentence * break; case 31: - addResponse(getDialogueId(sentence->_field2C == 11 ? 200810 : 200811)); + addResponse(getDialogueId(sentence->_category == 11 ? 200810 : 200811)); applyFlag = true; break; case 32: - addResponse(getDialogueId(sentence->_field2C == 11 ? 200810 : 200812)); + addResponse(getDialogueId(sentence->_category == 11 ? 200810 : 200812)); applyFlag = true; break; @@ -1062,7 +1062,7 @@ int BellbotScript::preprocess(const TTroomScript *roomScript, const TTsentence * break; case 35: - if (sentence->_field2C == 3 && sentence->localWord("it") + if (sentence->_category == 3 && sentence->localWord("it") && (sentence->localWord("for") || sentence->localWord("do"))) { addResponse(getDialogueId(200768)); applyFlag = true; @@ -1070,7 +1070,7 @@ int BellbotScript::preprocess(const TTroomScript *roomScript, const TTsentence * break; case 36: - if (sentence->_field2C == 11) { + if (sentence->_category == 11) { CTrueTalkManager::triggerAction(14, 0); addResponse(getDialogueId(200761)); applyFlag = true; @@ -1083,14 +1083,14 @@ int BellbotScript::preprocess(const TTroomScript *roomScript, const TTsentence * break; case 38: - if (sentence->_field2C == 12) { + if (sentence->_category == 12) { addResponse(getDialogueId(200631)); applyFlag = true; } break; case 39: - if (sentence->_field2C == 11 || sentence->_field2C == 13) { + if (sentence->_category == 11 || sentence->_category == 13) { addResponse(getDialogueId(200632)); stateFlag = false; } else { @@ -1124,7 +1124,7 @@ int BellbotScript::preprocess(const TTroomScript *roomScript, const TTsentence * break; case 43: - if (sentence->_field2C == 11 || sentence->_field2C == 13) { + if (sentence->_category == 11 || sentence->_category == 13) { addResponse(getDialogueId(200643)); applyFlag = true; } @@ -1157,7 +1157,7 @@ case44: goto case44; case 47: - if (sentence->_field2C == 12) + if (sentence->_category == 12) addResponse(getDialogueId(200368)); addResponse(getDialogueId(200366)); applyFlag = true; @@ -1177,7 +1177,7 @@ case44: break; case 49: - if (sentence->_field2C >= 11 && sentence->_field2C <= 13) { + if (sentence->_category >= 11 && sentence->_category <= 13) { addResponse(getDialogueId(200407)); applyFlag = true; stateFlag = false; @@ -1185,7 +1185,7 @@ case44: break; case 50: - if (sentence->_field2C == 11 || sentence->_field2C == 13) { + if (sentence->_category == 11 || sentence->_category == 13) { addResponse(getDialogueId(200408)); stateFlag = false; } else { @@ -1204,24 +1204,24 @@ case44: break; case 52: - if (sentence->_field2C >= 11 && sentence->_field2C <= 13) { + if (sentence->_category >= 11 && sentence->_category <= 13) { addResponse(getDialogueId(200872)); applyFlag = true; } break; case 53: - if (sentence->_field2C == 12) { + if (sentence->_category == 12) { addResponse(getDialogueId(200525)); applyFlag = true; - } else if (sentence->_field2C == 11 || sentence->_field2C == 13) { + } else if (sentence->_category == 11 || sentence->_category == 13) { addResponse(getDialogueId(200526)); applyFlag = true; } break; case 54: - if (sentence->_field2C == 12) { + if (sentence->_category == 12) { addResponse(getDialogueId(200095)); applyFlag = true; stateFlag = false; @@ -1229,7 +1229,7 @@ case44: break; case 55: - if (sentence->_field2C == 6) { + if (sentence->_category == 6) { addResponse(getDialogueId(200112)); applyFlag = true; } @@ -1258,7 +1258,7 @@ case44: case 58: if (sentence->localWord("more") || (sentence->localWord("go") && sentence->localWord("on")) - || (sentence->_field2C == 11 && sentence->localWord("really"))) { + || (sentence->_category == 11 && sentence->localWord("really"))) { addResponse(getDialogueId(200650)); applyFlag = true; stateFlag = false; @@ -1274,7 +1274,7 @@ case44: break; case 60: - if (sentence->_field2C == 3 && sentence->localWord("they") && sentence->localWord("do")) { + if (sentence->_category == 3 && sentence->localWord("they") && sentence->localWord("do")) { addResponse(getDialogueId(200652)); applyFlag = true; stateFlag = false; @@ -1351,7 +1351,7 @@ stateFlag = false; break; case 70: - if (sentence->_field2C == 12) { + if (sentence->_category == 12) { addResponse(getDialogueId(201012)); applyFlag = true; stateFlag = false; @@ -1366,10 +1366,10 @@ stateFlag = false; break; case 72: - if (sentence->_field2C == 12) { + if (sentence->_category == 12) { addResponse(getDialogueId(200921)); applyFlag = true; - } else if (sentence->_field2C == 11 || sentence->_field2C == 13) { + } else if (sentence->_category == 11 || sentence->_category == 13) { addResponse(getDialogueId(200920)); applyFlag = true; } @@ -1384,7 +1384,7 @@ stateFlag = false; break; case 74: - if (sentence->_field2C == 6) { + if (sentence->_category == 6) { addResponse(getDialogueId(201022)); applyFlag = true; stateFlag = false; @@ -1392,7 +1392,7 @@ stateFlag = false; break; case 75: - if (sentence->_field2C == 3) { + if (sentence->_category == 3) { if (sentence->localWord("that") || sentence->localWord("worb")) { addResponse(getDialogueId(201802)); applyFlag = true; @@ -1401,7 +1401,7 @@ stateFlag = false; break; case 76: - if (sentence->_field2C == 2 && (sentence->localWord("that") || sentence->localWord("gat"))) { + if (sentence->_category == 2 && (sentence->localWord("that") || sentence->localWord("gat"))) { addResponse(getDialogueId(201034)); applyFlag = true; stateFlag = false; @@ -1409,7 +1409,7 @@ stateFlag = false; break; case 77: - if (sentence->_field2C == 4 || sentence->_field2C == 3) { + if (sentence->_category == 4 || sentence->_category == 3) { if (sentence->localWord("that") || sentence->localWord("blerontis")) { addResponse(getDialogueId(201035)); applyFlag = true; @@ -1418,11 +1418,11 @@ stateFlag = false; break; case 78: - if (sentence->_field2C == 12) { + if (sentence->_category == 12) { addResponse(getDialogueId(201034)); applyFlag = true; stateFlag = false; - } else if (sentence->_field2C == 11) { + } else if (sentence->_category == 11) { addResponse(getDialogueId(201040)); applyFlag = true; } else if ((sentence->localWord("not") && sentence->localWord("remember")) @@ -1438,12 +1438,12 @@ stateFlag = false; break; case 79: - if (sentence->_field2C == 11 || sentence->_field2C == 13) { + if (sentence->_category == 11 || sentence->_category == 13) { addResponse(getDialogueId(201052)); CTrueTalkManager::triggerAction(14, 0); applyFlag = true; stateFlag = false; - } else if (sentence->_field2C == 12) { + } else if (sentence->_category == 12) { addResponse(getDialogueId(202119)); addResponse(getDialogueId(200256)); applyFlag = true; @@ -1454,7 +1454,7 @@ stateFlag = false; if ((!sentence->localWord("what") && sentence->localWord("how")) || sentence->localWord("about") || sentence->localWord("you")) { - if (sentence->_field2C != 3 && sentence->_field2C != 4 && sentence->_field2C != 7) { + if (sentence->_category != 3 && sentence->_category != 4 && sentence->_category != 7) { addResponse(getDialogueId(201694)); applyFlag = true; stateFlag = false; @@ -1477,7 +1477,7 @@ stateFlag = false; break; case 82: - if ((sentence->_field2C == 3 && sentence->localWord("mean")) + if ((sentence->_category == 3 && sentence->localWord("mean")) || sentence->localWord("surf") || (sentence->localWord("what") && sentence->localWord("talk") && sentence->localWord("about"))) { @@ -1488,14 +1488,14 @@ stateFlag = false; break; case 83: - if (sentence->_field2C != 3 && sentence->_field2C != 4 && sentence->_field2C != 7) { + if (sentence->_category != 3 && sentence->_category != 4 && sentence->_category != 7) { addResponse(getDialogueId(201083)); applyFlag = true; } break; case 84: - if (sentence->_field2C == 12) { + if (sentence->_category == 12) { addResponse(getDialogueId(202119)); switch (getValue(1)) { @@ -1511,7 +1511,7 @@ stateFlag = false; default: break; } - } else if (sentence->_field2C == 11) { + } else if (sentence->_category == 11) { addResponse(getDialogueId(201060)); addResponse(getDialogueId(201079)); applyFlag = true; @@ -1520,22 +1520,22 @@ stateFlag = false; break; case 85: - if (sentence->_field2C == 11 || sentence->_field2C == 13) { + if (sentence->_category == 11 || sentence->_category == 13) { addResponse(getDialogueId(201814)); applyFlag = true; } - if (sentence->_field2C == 12) { + if (sentence->_category == 12) { addResponse(getDialogueId(201813)); applyFlag = true; } break; case 86: - if (sentence->_field2C == 11 || sentence->_field2C == 13) { + if (sentence->_category == 11 || sentence->_category == 13) { addResponse(getDialogueId(202109)); applyFlag = true; } - if (sentence->_field2C == 12) { + if (sentence->_category == 12) { addResponse(getDialogueId(202108)); applyFlag = true; } @@ -1548,14 +1548,14 @@ stateFlag = false; break; case 88: - if (sentence->_field2C == 6 || sentence->contains("upside down")) { + if (sentence->_category == 6 || sentence->contains("upside down")) { addResponse(getDialogueId(202142)); applyFlag = true; } break; case 89: - if (sentence->_field2C == 2) { + if (sentence->_category == 2) { addResponse(getDialogueId(200739)); applyFlag = true; stateFlag = false; @@ -1710,7 +1710,7 @@ bool BellbotScript::checkCommonWords(const TTroomScript *roomScript, const TTsen if (!roomScript || !sentence) return 0; CTrueTalkManager::setFlags(23, 0); - if (sentence->_field2C != 4) + if (sentence->_category != 4) return 0; if (sentence->localWord("garage")) { diff --git a/engines/titanic/true_talk/deskbot_script.cpp b/engines/titanic/true_talk/deskbot_script.cpp index 4df47e0af1..d38d53a296 100644 --- a/engines/titanic/true_talk/deskbot_script.cpp +++ b/engines/titanic/true_talk/deskbot_script.cpp @@ -29,6 +29,8 @@ namespace Titanic { int DeskbotScript::_oldId; +#define CURRENT_STATE 17 + DeskbotScript::DeskbotScript(int val1, const char *charClass, int v2, const char *charName, int v3, int val2) : TTnpcScript(val1, charClass, v2, charName, v3, val2, -1, -1, -1, 0) { @@ -73,7 +75,7 @@ int DeskbotScript::process(const TTroomScript *roomScript, const TTsentence *sen if (preprocess(roomScript, sentence) != 1) return 1; - CTrueTalkManager::setFlags(17, 0); + CTrueTalkManager::setFlags(CURRENT_STATE, 0); setState(0); updateCurrentDial(false); @@ -344,7 +346,7 @@ int DeskbotScript::updateState(uint oldId, uint newId, int index) { exit: _oldId = oldId; - setFlags17(newId, index); + setCurrentState(newId, index); return newId; } @@ -509,8 +511,8 @@ uint DeskbotScript::getStateDialogueId() const { } } -void DeskbotScript::setFlags17(uint newId, uint index) { - int newValue = getValue(17); +void DeskbotScript::setCurrentState(uint newId, uint index) { + int newValue = getValue(CURRENT_STATE); for (uint idx = 0; idx < _states.size(); ++idx) { const TTupdateState &us = _states[idx]; @@ -528,7 +530,7 @@ void DeskbotScript::setFlags17(uint newId, uint index) { } } - CTrueTalkManager::setFlags(17, newValue); + CTrueTalkManager::setFlags(CURRENT_STATE, newValue); } int DeskbotScript::preprocess(const TTroomScript *roomScript, const TTsentence *sentence) { @@ -536,11 +538,11 @@ int DeskbotScript::preprocess(const TTroomScript *roomScript, const TTsentence * return 1; bool stateFlag = true, applyFlag = false; - switch (getValue(17)) { + switch (getValue(CURRENT_STATE)) { case 1: - if (sentence->_field2C != 3 && sentence->_field2C != 4 - && sentence->_field2C != 6 && sentence->_field2C != 10 - && sentence->_field2C != 2) { + if (sentence->_category != 3 && sentence->_category != 4 + && sentence->_category != 6 && sentence->_category != 10 + && sentence->_category != 2) { addResponse(getDialogueId(240423)); applyFlag = true; } @@ -554,15 +556,15 @@ int DeskbotScript::preprocess(const TTroomScript *roomScript, const TTsentence * break; case 3: - if (sentence->_field2C == 11 || sentence->_field2C == 13 - || sentence->_field2C == 3 || sentence->localWord("upgrade")) { + if (sentence->_category == 11 || sentence->_category == 13 + || sentence->_category == 3 || sentence->localWord("upgrade")) { addResponse(getDialogueId(240433)); applyFlag = true; } break; case 4: - addResponse(getDialogueId(sentence->_field2C == 11 || sentence->_field2C == 13 + addResponse(getDialogueId(sentence->_category == 11 || sentence->_category == 13 ? 240495 : 240494)); applyFlag = true; break; @@ -594,7 +596,7 @@ int DeskbotScript::preprocess(const TTroomScript *roomScript, const TTsentence * stateFlag = true; } else if (sentence->localWord("name") || sentence->localWord("called") - || sentence->_field2C == 11) { + || sentence->_category == 11) { addResponse(getDialogueId(240448)); stateFlag = true; } else { @@ -605,7 +607,7 @@ int DeskbotScript::preprocess(const TTroomScript *roomScript, const TTsentence * break; case 7: - if (sentence->_field2C == 11 || sentence->_field2C == 13 + if (sentence->_category == 11 || sentence->_category == 13 || (sentence->localWord("what") && sentence->localWord("wrong")) || sentence->localWord("clothes")) { addResponse(getDialogueId(240489)); @@ -616,7 +618,7 @@ int DeskbotScript::preprocess(const TTroomScript *roomScript, const TTsentence * case 8: if (isDial1Low() && getValue(1) == 4) { - if (sentence->_field2C == 12 || sentence->_field2C == 13 + if (sentence->_category == 12 || sentence->_category == 13 || sentence->contains("do not")) { addResponse(getDialogueId(240447)); @@ -626,7 +628,7 @@ int DeskbotScript::preprocess(const TTroomScript *roomScript, const TTsentence * CTrueTalkManager::triggerAction(19, 3); CTrueTalkManager::setFlags(22, 1); applyFlag = true; - } else if (sentence->_field2C == 11) { + } else if (sentence->_category == 11) { addResponse(getDialogueId(240746)); applyFlag = true; stateFlag = false; @@ -1089,7 +1091,7 @@ int DeskbotScript::preprocess(const TTroomScript *roomScript, const TTsentence * case 74: case 75: - if (sentence->_field2C == 24) { + if (sentence->_category == 24) { addResponse(getDialogueId(240972)); applyFlag = true; } else if (sentence->localWord("good") || sentence->localWord("yes") @@ -1101,7 +1103,7 @@ int DeskbotScript::preprocess(const TTroomScript *roomScript, const TTsentence * break; case 76: - if (sentence->_field2C == 6) { + if (sentence->_category == 6) { addResponse(getDialogueId(240767)); applyFlag = true; stateFlag = false; @@ -1109,21 +1111,25 @@ int DeskbotScript::preprocess(const TTroomScript *roomScript, const TTsentence * break; case 77: - if (sentence->_field2C == 3) { + if (sentence->_category == 3) { addResponse(getDialogueId(241109)); applyFlag = true; stateFlag = false; } case 78: - if (sentence->_field2C == 11 || sentence->_field2C == 13) { + // "Do you have a reservation?" + if (sentence->_category == 11 || sentence->_category == 13) { + // Player said they have a reservation addResponse(getDialogueId(241262)); - } else if (sentence->_field2C == 12 || sentence->contains("do not")) { + } else if (sentence->_category == 12 || sentence->contains("do not")) { + // Player said they don't have a reservation setDialRegion(0, 0); setDialRegion(1, 0); addResponse(getDialogueId(241268)); - add241716(); + addAskBreakfast(); } else { + // Player didn't say yes or no addResponse(getDialogueId(240745)); } @@ -1142,27 +1148,27 @@ int DeskbotScript::preprocess(const TTroomScript *roomScript, const TTsentence * case 3: addAssignedRoom(); setState(0); - CTrueTalkManager::setFlags(17, 0); + CTrueTalkManager::setFlags(CURRENT_STATE, 0); return 2; default: addResponse(getDialogueId(241267)); break; } - add241716(); + addAskBreakfast(); applyFlag = true; stateFlag = false; break; case 81: - addResponse(getDialogueId(sentence->_field2C == 12 ? 240602 : 241337)); + addResponse(getDialogueId(sentence->_category == 12 ? 240602 : 241337)); applyResponse(); setState(0); - CTrueTalkManager::setFlags(17, 0); + CTrueTalkManager::setFlags(CURRENT_STATE, 0); return 2; case 82: - if (sentence->_field2C == 2) { + if (sentence->_category == 2) { addResponse(getDialogueId(241339)); applyFlag = true; } @@ -1181,7 +1187,7 @@ int DeskbotScript::preprocess(const TTroomScript *roomScript, const TTsentence * break; case 84: - if (sentence->_field2C == 12 || sentence->contains("vegetarian") + if (sentence->_category == 12 || sentence->contains("vegetarian") || sentence->contains("vegitarian")) { addResponse(getDialogueId(241718)); addResponse(getDialogueId(241709)); @@ -1208,7 +1214,7 @@ int DeskbotScript::preprocess(const TTroomScript *roomScript, const TTsentence * break; case 85: - if (sentence->_field2C == 12 || sentence->contains("bugle") + if (sentence->_category == 12 || sentence->contains("bugle") || sentence->contains("buggle") || sentence->contains("trumpet") || sentence->contains("saxophone") || sentence->contains("kazoo") || sentence->contains("blerontin 1") || sentence->contains("the 1") @@ -1229,7 +1235,7 @@ int DeskbotScript::preprocess(const TTroomScript *roomScript, const TTsentence * break; case 86: - if (sentence->_field2C == 12 || sentence->_field2C == 11 || sentence->contains("view")) { + if (sentence->_category == 12 || sentence->_category == 11 || sentence->contains("view")) { addResponse(getDialogueId(241714)); addResponse(getDialogueId(241699)); } else { @@ -1352,19 +1358,25 @@ int DeskbotScript::preprocess(const TTroomScript *roomScript, const TTsentence * case 92: case 93: - if (sentence->_field2C == 11 || sentence->_field2C == 13) { + // "Fish?" + if (sentence->_category == 11 || sentence->_category == 13) { + // Yes addResponse(getDialogueId(241077)); addResponse(getDialogueId(241706)); - } else if (sentence->_field2C == 12) { + } else if (sentence->_category == 12) { + // No addAssignedRoom(); setState(0); - CTrueTalkManager::setFlags(17, 0); + CTrueTalkManager::setFlags(CURRENT_STATE, 0); return 2; - } else if (g_vm->_trueTalkManager->_quotes.find(sentence->_normalizedLine.c_str()) + } else if (g_vm->_trueTalkManager->_quotes.find(sentence->_initialLine.c_str()) == MKTAG('F', 'I', 'S', 'H')) { + // WORKAROUND: Original passed _normalizedLine, but "fish" is one of the common + // phrases replaced with with alternative text "completelyrandom" addResponse(getDialogueId(240877)); addResponse(getDialogueId(241706)); }else { + // All other responses if (getRandomNumber(100) < 80 && sentence2C(sentence)) addResponse(getDialogueId(241707)); @@ -1387,7 +1399,7 @@ int DeskbotScript::preprocess(const TTroomScript *roomScript, const TTsentence * || sentence->contains("same room")) { addAssignedRoom(); setState(0); - CTrueTalkManager::setFlags(17, 0); + CTrueTalkManager::setFlags(CURRENT_STATE, 0); return 2; } else { if (getRandomNumber(100) < 80 && sentence2C(sentence)) @@ -1410,7 +1422,7 @@ int DeskbotScript::preprocess(const TTroomScript *roomScript, const TTsentence * break; case 96: - if (sentence->_field2C == 2) { + if (sentence->_category == 2) { addResponse(getDialogueId(241350)); applyFlag = true; stateFlag = false; @@ -1433,7 +1445,7 @@ int DeskbotScript::preprocess(const TTroomScript *roomScript, const TTsentence * applyResponse(); if (stateFlag) { setState(0); - CTrueTalkManager::setFlags(17, 0); + CTrueTalkManager::setFlags(CURRENT_STATE, 0); } return applyFlag ? 2 : 1; @@ -1480,7 +1492,7 @@ int DeskbotScript::checkCommonWords(const TTsentence *sentence) { return 0; } -void DeskbotScript::add241716() { +void DeskbotScript::addAskBreakfast() { addResponse(getDialogueId(241716)); } @@ -1497,6 +1509,7 @@ void DeskbotScript::addAssignedRoom() { addResponse(getDialogueId(241271 + floorNum)); addResponse(getDialogueId(241317 + roomNum)); addResponse(getDialogueId(241698)); + applyResponse(); } } // End of namespace Titanic diff --git a/engines/titanic/true_talk/deskbot_script.h b/engines/titanic/true_talk/deskbot_script.h index f5978553ce..ffb6b1063c 100644 --- a/engines/titanic/true_talk/deskbot_script.h +++ b/engines/titanic/true_talk/deskbot_script.h @@ -61,9 +61,9 @@ private: uint getStateDialogueId() const; /** - * Sets state data in flags 17 + * Sets the current state for what the Deskbot is doing/asking */ - void setFlags17(uint newId, uint index); + void setCurrentState(uint newId, uint index); /** * Does preprocessing for the sentence @@ -81,9 +81,9 @@ private: int checkCommonWords(const TTsentence *sentence); /** - * Adds response dialogue 241716 + * Adds a dialogue for asking the player what kind of breakfast they'd like */ - void add241716(); + void addAskBreakfast(); /** * Adds a dialogue description for the player's assigned room diff --git a/engines/titanic/true_talk/doorbot_script.cpp b/engines/titanic/true_talk/doorbot_script.cpp index 5c7403f187..b1d6a91107 100644 --- a/engines/titanic/true_talk/doorbot_script.cpp +++ b/engines/titanic/true_talk/doorbot_script.cpp @@ -196,13 +196,13 @@ int DoorbotScript::process(const TTroomScript *roomScript, const TTsentence *sen return setResponse(getDialogueId(220113)); } - if (sentence->_field2C == 6 && sentence->contains("why not")) { + if (sentence->_category == 6 && sentence->contains("why not")) { return setResponse(11871, 8); } currState = getState(); if (currState) { - int sentMode = sentence->_field2C; + int sentMode = sentence->_category; bool flag1 = sentMode == 11 || sentMode == 13; bool flag2 = sentMode == 12; @@ -475,7 +475,7 @@ int DoorbotScript::process(const TTroomScript *roomScript, const TTsentence *sen || defaultProcess(roomScript, sentence)) return 2; - switch (sentence->_field2C) { + switch (sentence->_category) { case 11: if (getRandomNumber(100) > 90) return setResponse(10839, 42); diff --git a/engines/titanic/true_talk/liftbot_script.cpp b/engines/titanic/true_talk/liftbot_script.cpp index ab995b71b9..e52e47d99d 100644 --- a/engines/titanic/true_talk/liftbot_script.cpp +++ b/engines/titanic/true_talk/liftbot_script.cpp @@ -92,7 +92,7 @@ int LiftbotScript::process(const TTroomScript *roomScript, const TTsentence *sen checkItems(roomScript, sentence); int currState = getState(); - int sentMode = sentence->_field2C; + int sentMode = sentence->_category; TTtreeResult treeResult; if (currState) { @@ -180,6 +180,7 @@ ScriptChangedResult LiftbotScript::scriptChanged(const TTroomScript *roomScript, addResponse(getDialogueId(210033)); } CTrueTalkManager::setFlags(27, 1); + applyResponse(); break; case 155: @@ -580,14 +581,14 @@ int LiftbotScript::sentence1(const TTsentence *sentence) { return 1; } - int classNum = 1; + PassengerClass classNum = FIRST_CLASS; bool classSet = true; if (sentence->localWord("firstclass")) - classNum = 1; + classNum = FIRST_CLASS; else if (sentence->localWord("secondclass")) - classNum = 2; + classNum = SECOND_CLASS; else if (sentence->localWord("thirdclass")) - classNum = 3; + classNum = THIRD_CLASS; else classSet = false; @@ -650,7 +651,7 @@ int LiftbotScript::sentence1(const TTsentence *sentence) { return 1; } - if (sentence->_field2C == 4 || sentence->localWord("find") + if (sentence->_category == 4 || sentence->localWord("find") || sentence->contains("get to")) { if (getCurrentFloor() != diff) { selectResponse(diff == 1 ? 210769 : 210764); diff --git a/engines/titanic/true_talk/maitred_script.cpp b/engines/titanic/true_talk/maitred_script.cpp index e902169ed0..cb1a3a5460 100644 --- a/engines/titanic/true_talk/maitred_script.cpp +++ b/engines/titanic/true_talk/maitred_script.cpp @@ -726,7 +726,7 @@ int MaitreDScript::preprocess(const TTroomScript *roomScript, const TTsentence * break; case 7: - if (sentence->_field2C == 12) { + if (sentence->_category == 12) { addResponse(getDialogueId(260089)); applyFlag = true; stateFlag = false; @@ -738,7 +738,7 @@ int MaitreDScript::preprocess(const TTroomScript *roomScript, const TTsentence * break; case 8: - if (sentence->_field2C == 11 || sentence->_field2C == 13) { + if (sentence->_category == 11 || sentence->_category == 13) { trigger12(false); addResponse(getDialogueId(260094)); CTrueTalkManager::setFlags(11, 1); @@ -819,7 +819,7 @@ int MaitreDScript::preprocess(const TTroomScript *roomScript, const TTsentence * break; case 16: - addResponse(getDialogueId(sentence->_field2C == 11 ? 260209 : 260210)); + addResponse(getDialogueId(sentence->_category == 11 ? 260209 : 260210)); applyFlag = true; stateFlag = false; break; @@ -843,13 +843,13 @@ int MaitreDScript::preprocess(const TTroomScript *roomScript, const TTsentence * break; case 18: - if (sentence->_field2C == 11) { + if (sentence->_category == 11) { addResponse(getDialogueId(260232)); applyFlag = true; - } else if (sentence->_field2C == 12) { + } else if (sentence->_category == 12) { addResponse(getDialogueId(260231)); applyFlag = true; - } else if (sentence->_field2C == 13) { + } else if (sentence->_category == 13) { addResponse(getDialogueId(260444)); addResponse(getDialogueId(260233)); applyFlag = true; @@ -937,7 +937,7 @@ int MaitreDScript::preprocess(const TTroomScript *roomScript, const TTsentence * break; case 23: - if (sentence->_field2C == 11) { + if (sentence->_category == 11) { addResponse(getDialogueId(260237)); applyFlag = true; stateFlag = false; @@ -992,7 +992,7 @@ int MaitreDScript::preprocess(const TTroomScript *roomScript, const TTsentence * addResponse(getDialogueId(260256)); applyFlag = true; stateFlag = false; - } else if (sentence->_field2C == 12) { + } else if (sentence->_category == 12) { addResponse(getDialogueId(260255)); applyFlag = true; stateFlag = false; @@ -1024,7 +1024,7 @@ int MaitreDScript::preprocess(const TTroomScript *roomScript, const TTsentence * break; case 29: - if (sentence->_field2C == 11) { + if (sentence->_category == 11) { setFlags12(); addResponse(getDialogueId(260131)); } else { @@ -1034,10 +1034,10 @@ int MaitreDScript::preprocess(const TTroomScript *roomScript, const TTsentence * break; case 30: - if (sentence->_field2C == 11 || sentence->_field2C == 13) { + if (sentence->_category == 11 || sentence->_category == 13) { addResponse(getDialogueId(260695)); applyFlag = true; - } else if (sentence->_field2C == 12) { + } else if (sentence->_category == 12) { addResponse(getDialogueId(260696)); applyFlag = true; } diff --git a/engines/titanic/true_talk/parrot_script.cpp b/engines/titanic/true_talk/parrot_script.cpp index b09e74505c..25b54f0715 100644 --- a/engines/titanic/true_talk/parrot_script.cpp +++ b/engines/titanic/true_talk/parrot_script.cpp @@ -55,7 +55,7 @@ int ParrotScript::process(const TTroomScript *roomScript, const TTsentence *sent if (processEntries(roomScript, sentence) == 2) { int tagId = g_vm->_trueTalkManager->_quotes.find(sentence->_normalizedLine); if (!tagId || chooseResponse(roomScript, sentence, tagId) != 2) { - addResponse(getDialogueId(sentence->check2C() ? 280248 : 280235)); + addResponse(getDialogueId(sentence->checkCategory() ? 280248 : 280235)); applyResponse(); } } diff --git a/engines/titanic/true_talk/script_support.cpp b/engines/titanic/true_talk/script_support.cpp index 14560e2d9f..52676139f0 100644 --- a/engines/titanic/true_talk/script_support.cpp +++ b/engines/titanic/true_talk/script_support.cpp @@ -38,7 +38,7 @@ int TTnpcScriptResponse::size() const { TTscriptRange::TTscriptRange(uint id, const Common::Array<uint> &values, bool isRandom, bool isSequential) : - _id(id), _nextP(nullptr) { + _id(id), _nextP(nullptr), _priorIndex(0) { _mode = SF_NONE; if (isRandom) _mode = SF_RANDOM; @@ -57,7 +57,7 @@ bool TTsentenceEntry::load(Common::SeekableReadStream *s) { return false; _field0 = s->readUint32LE(); - _field4 = s->readUint32LE(); + _category = s->readUint32LE(); _string8 = readStringFromStream(s); _fieldC = s->readUint32LE(); _string10 = readStringFromStream(s); diff --git a/engines/titanic/true_talk/script_support.h b/engines/titanic/true_talk/script_support.h index bdaec6e7c9..3c5b919ccf 100644 --- a/engines/titanic/true_talk/script_support.h +++ b/engines/titanic/true_talk/script_support.h @@ -40,6 +40,10 @@ struct TTnpcScriptResponse { uint _tag; uint _values[4]; + TTnpcScriptResponse() : _tag(0) { + _values[0] = _values[1] = _values[2] = _values[3] = 0; + } + /** * Returns the size of the values list plus 1 */ @@ -59,10 +63,9 @@ struct TTscriptRange { bool isSequential); }; - struct TTsentenceEntry { int _field0; - int _field4; + int _category; CString _string8; int _fieldC; CString _string10; @@ -75,7 +78,7 @@ struct TTsentenceEntry { int _field2C; int _field30; - TTsentenceEntry() : _field0(0), _field4(0), _fieldC(0), + TTsentenceEntry() : _field0(0), _category(0), _fieldC(0), _field20(0), _field28(0), _field2C(0), _field30(0) {} /** diff --git a/engines/titanic/true_talk/succubus_script.cpp b/engines/titanic/true_talk/succubus_script.cpp index db537c6470..888d23e17c 100644 --- a/engines/titanic/true_talk/succubus_script.cpp +++ b/engines/titanic/true_talk/succubus_script.cpp @@ -85,7 +85,7 @@ int SuccUBusScript::process(const TTroomScript *roomScript, const TTsentence *se int currState = getState(); if (currState) { - int currMode = sentence->_field2C; + int currMode = sentence->_category; bool modeFlag1 = currMode == 11 || currMode == 13; bool modeFlag2 = currMode == 12; setState(0); diff --git a/engines/titanic/true_talk/title_engine.cpp b/engines/titanic/true_talk/title_engine.cpp index 079067389d..bfa97e3f92 100644 --- a/engines/titanic/true_talk/title_engine.cpp +++ b/engines/titanic/true_talk/title_engine.cpp @@ -40,7 +40,8 @@ void CTitleEngine::setup(int val1, int val2) { /*------------------------------------------------------------------------*/ -STtitleEngine::STtitleEngine(): CTitleEngine(), _responseP(nullptr) { +STtitleEngine::STtitleEngine(): CTitleEngine(), + _responseP(nullptr), _stream(nullptr) { } STtitleEngine::~STtitleEngine() { diff --git a/engines/titanic/true_talk/true_talk_manager.cpp b/engines/titanic/true_talk/true_talk_manager.cpp index 0e90676eef..fbb9d17407 100644 --- a/engines/titanic/true_talk/true_talk_manager.cpp +++ b/engines/titanic/true_talk/true_talk_manager.cpp @@ -245,7 +245,7 @@ void CTrueTalkManager::start4(CTrueTalkNPC *npc, CViewItem *view) { TTnpcScript *CTrueTalkManager::getTalker(const CString &name) const { if (name.contains("Doorbot")) return _scripts.getNpcScript(104); - else if (name.contains("DeskBot")) + else if (name.contains("Deskbot")) return _scripts.getNpcScript(103); else if (name.contains("LiftBot")) return _scripts.getNpcScript(105); @@ -271,6 +271,7 @@ TTnpcScript *CTrueTalkManager::getNpcScript(CTrueTalkNPC *npc) const { if (!script) { // Fall back on the default NPC script + warning("Could not find NPC script for %s, using fallback", npc->getName().c_str()); script = _scripts.getNpcScript(101); } @@ -513,7 +514,9 @@ void CTrueTalkManager::playSpeech(TTtalker *talker, TTroomScript *roomScript, CV _gameManager->_sound.stopChannel(p1._channelMode); if (view) { p1._positioningMode = POSMODE_VECTOR; +#if 0 view->getPosition(p1._posX, p1._posY, p1._posZ); +#endif } // Loop through adding each of the speech portions in. We use the @@ -537,12 +540,16 @@ void CTrueTalkManager::playSpeech(TTtalker *talker, TTroomScript *roomScript, CV if (idx == 0) g_vm->_events->sleep(milli); - +#if 0 + // TODO: Figure out if these below are needed. It kinda looks like they were + // simply playing the same speech at different spatial co-ordinates. And since + // we don't support spatial processing in ScummVM yet, they're being left disabled p3._priorSoundHandle = _gameManager->_sound.playSpeech(_dialogueFile, id - _dialogueId, p3); if (idx == 0) g_vm->_events->sleep(milli); p2._priorSoundHandle = _gameManager->_sound.playSpeech(_dialogueFile, id - _dialogueId, p2); +#endif } } diff --git a/engines/titanic/true_talk/tt_concept.cpp b/engines/titanic/true_talk/tt_concept.cpp index 9aad88722b..acb2e61e9e 100644 --- a/engines/titanic/true_talk/tt_concept.cpp +++ b/engines/titanic/true_talk/tt_concept.cpp @@ -131,7 +131,7 @@ void TTconcept::setScriptType(ScriptType scriptType) { int TTconcept::initializeWordRef(TTword *word) { delete _wordP; - _wordP = word; + _wordP = word->copy(); return 0; } @@ -213,11 +213,9 @@ void TTconcept::copyFrom(TTconcept *src) { } int TTconcept::setOwner(TTconcept *src) { - if (this) { - if (src->_wordP) { - TTword *newWord = src->_wordP->copy(); - return setOwner(newWord, 1); - } + if (src->_wordP) { + TTword *newWord = src->_wordP->copy(); + return setOwner(newWord, 1); } return 0; @@ -298,11 +296,11 @@ TTconcept *TTconcept::findBy20(int val) { } bool TTconcept::isWordId(int id) const { - return this && _wordP && _wordP->_id == id; + return _wordP && _wordP->_id == id; } int TTconcept::getWordId() const { - return this && _wordP ? _wordP->_id : 0; + return _wordP ? _wordP->_id : 0; } } // End of namespace Titanic diff --git a/engines/titanic/true_talk/tt_concept_node.cpp b/engines/titanic/true_talk/tt_concept_node.cpp index 454ca59971..f6512b3d81 100644 --- a/engines/titanic/true_talk/tt_concept_node.cpp +++ b/engines/titanic/true_talk/tt_concept_node.cpp @@ -29,11 +29,14 @@ namespace Titanic { TTconceptNode::TTconceptNode() : _concept0P(_concepts[0]), _concept1P(_concepts[1]), _concept2P(_concepts[2]), _concept3P(_concepts[3]), _concept4P(_concepts[4]), _concept5P(_concepts[5]), _field18(0), _field1C(0), _nextP(nullptr), _status(0) { + Common::fill(&_concepts[0], &_concepts[6], (TTconcept *)nullptr); } TTconceptNode::TTconceptNode(const TTconceptNode &src) : _concept0P(_concepts[0]), _concept1P(_concepts[1]), _concept2P(_concepts[2]), _concept3P(_concepts[3]), _concept4P(_concepts[4]), _concept5P(_concepts[5]), _field18(0), _field1C(0), _nextP(nullptr), _status(0) { + Common::fill(&_concepts[0], &_concepts[6], (TTconcept *)nullptr); + if (src._status) { _status = SS_5; } else { diff --git a/engines/titanic/true_talk/tt_npc_script.cpp b/engines/titanic/true_talk/tt_npc_script.cpp index 74e2f4f66b..527e33f14c 100644 --- a/engines/titanic/true_talk/tt_npc_script.cpp +++ b/engines/titanic/true_talk/tt_npc_script.cpp @@ -338,12 +338,13 @@ uint TTnpcScript::getRangeValue(uint id) { case SF_RANDOM: { uint count = range->_values.size(); - uint index = getRandomNumber(count) - 1; + int index = (int)getRandomNumber(count) - 1; if (count > 1 && range->_values[index] == range->_priorIndex) { - for (int retry = 0; retry < 8 && index != range->_priorIndex; ++retry) - index = getRandomNumber(count) - 1; + for (int retry = 0; retry < 8 && index != (int)range->_priorIndex; ++retry) + index = (int)getRandomNumber(count) - 1; } + assert(index >= 0); range->_priorIndex = index; return range->_values[index]; } @@ -699,12 +700,12 @@ int TTnpcScript::processEntries(const TTsentenceEntries *entries, uint entryCoun if (!entryCount) // No count specified, so use entire list entryCount = entries->size(); - int entryId = _field2C; + int categoryNum = sentence->_category; for (uint loopCtr = 0; loopCtr < 2; ++loopCtr) { for (uint entryCtr = 0; entryCtr < entryCount; ++entryCtr) { const TTsentenceEntry &entry = (*entries)[entryCtr]; - if (entry._field4 != entryId && (loopCtr == 0 || entry._field4)) + if (entry._category != categoryNum && (loopCtr == 0 || entry._category)) continue; bool flag; @@ -955,7 +956,7 @@ bool TTnpcScript::getStateValue() const { } bool TTnpcScript::sentence2C(const TTsentence *sentence) { - return sentence->_field2C >= 2 && sentence->_field2C <= 7; + return sentence->_category >= 2 && sentence->_category <= 7; } void TTnpcScript::getAssignedRoom(int *roomNum, int *floorNum, int *elevatorNum) const { diff --git a/engines/titanic/true_talk/tt_parser.cpp b/engines/titanic/true_talk/tt_parser.cpp index d67f5235c4..e432677c7c 100644 --- a/engines/titanic/true_talk/tt_parser.cpp +++ b/engines/titanic/true_talk/tt_parser.cpp @@ -482,28 +482,30 @@ int TTparser::findFrames(TTsentence *sentence) { TTstring *line = sentence->_normalizedLine.copy(); TTstring wordString; int status = 0; - for (int ctr = 1; !status; ++ctr) { + for (int ctr = 1; status <= 1; ++ctr) { // Keep stripping words off the start of the passed input wordString = line->tokenize(" \n"); if (wordString.empty()) break; TTword *srcWord = nullptr; - TTword *word = _owner->_vocab->getWord(wordString, &word); + TTword *word = _owner->_vocab->getWord(wordString, &srcWord); sentence->storeVocabHit(srcWord); if (!word && ctr == 1) { word = new TTword(wordString, WC_UNKNOWN, 0); } - for (TTword *currP = word; currP && !status; currP = currP->_nextP) + for (TTword *currP = word; currP && status <= 1; currP = currP->_nextP) status = processRequests(currP); - word->deleteSiblings(); - delete word; + if (word) { + word->deleteSiblings(); + delete word; + } } - if (!status) { + if (status <= 1) { status = checkForAction(); } @@ -514,7 +516,7 @@ int TTparser::findFrames(TTsentence *sentence) { int TTparser::loadRequests(TTword *word) { int status = 0; - if (word->_tag != MKTAG('Z', 'Z', 'Z', 'T')) + if (word->_tag != MKTAG('Z', 'Z', 'Z', '[')) addNode(word->_tag); switch (word->_wordClass) { @@ -620,7 +622,7 @@ int TTparser::loadRequests(TTword *word) { break; case WC_CONJUNCTION: - if (_sentence->check2C()) { + if (_sentence->checkCategory()) { _sentenceConcept->_field1C = 1; _sentenceConcept = _sentenceConcept->addSibling(); delete this; @@ -674,7 +676,7 @@ int TTparser::loadRequests(TTword *word) { case 901: case 902: case 904: - if (_sentence->_field2C == 9) { + if (_sentence->_category == 9) { _sentenceConcept->_field1C = 1; _sentenceConcept = _sentenceConcept->addSibling(); addNode(1); @@ -736,7 +738,7 @@ int TTparser::considerRequests(TTword *word) { for (TTparserNode *nodeP = _nodesP; nodeP; ) { switch (nodeP->_tag) { case CHECK_COMMAND_FORM: - if (_sentenceConcept->_concept1P && _sentence->_field2C == 1 && + if (_sentenceConcept->_concept1P && _sentence->_category == 1 && !_sentenceConcept->_concept0P) { concept = new TTconcept(_sentence->_npcScript, ST_NPC_SCRIPT); _sentenceConcept->_concept0P = concept; @@ -1030,7 +1032,7 @@ int TTparser::considerRequests(TTword *word) { addNode(15); } - if (_sentence->check2C() && word->_id == 113) + if (_sentence->checkCategory() && word->_id == 113) addNode(4); if (word->_wordClass == WC_ACTION) @@ -1053,10 +1055,10 @@ int TTparser::considerRequests(TTword *word) { break; case WORD_TYPE_IS_SENTENCE_TYPE: - if (_sentence->_field2C == 1 || _sentence->_field2C == 10) { + if (_sentence->_category == 1 || _sentence->_category == 10) { for (TTword *wordP = _currentWordP; wordP; wordP = wordP->_nextP) { if (wordP->_id == 906) { - _sentence->_field2C = 12; + _sentence->_category = 12; flag = true; break; } @@ -1066,44 +1068,44 @@ int TTparser::considerRequests(TTword *word) { TTconcept *newConceptP; switch (word->_id) { case 108: - _sentence->_field2C = 8; + _sentence->_category = 8; break; case 113: if (!_sentenceConcept->_concept3P) - _sentence->_field2C = 22; + _sentence->_category = 22; break; - case 304: - _sentence->_field2C = 25; + case 306: + _sentence->_category = 7; break; - case 305: - _sentence->_field2C = 24; + case 307: + _sentence->_category = 24; break; - case 306: - _sentence->_field2C = 7; + case 308: + _sentence->_category = 25; break; case 501: - _sentence->_field2C = 9; + _sentence->_category = 9; break; case 900: - _sentence->_field2C = 5; + _sentence->_category = 5; break; case 901: - _sentence->_field2C = 4; + _sentence->_category = 4; break; case 904: - _sentence->_field2C = 6; + _sentence->_category = 6; break; case 905: - _sentence->_field2C = 11; + _sentence->_category = 11; break; case 906: - _sentence->_field2C = 12; + _sentence->_category = 12; break; case 907: - _sentence->_field2C = 13; + _sentence->_category = 13; break; case 908: - _sentence->_field2C = 2; + _sentence->_category = 2; if (!_sentenceConcept->_concept0P) { newPictP = new TTpicture(TTstring("?"), WC_THING, 0, 0, 0, 0, 0); newConceptP = new TTconcept(newPictP); @@ -1114,7 +1116,7 @@ int TTparser::considerRequests(TTword *word) { } break; case 909: - _sentence->_field2C = 3; + _sentence->_category = 3; newPictP = new TTpicture(TTstring("?"), WC_THING, 0, 0, 0, 0, 0); newConceptP = new TTconcept(newPictP); @@ -1152,8 +1154,8 @@ int TTparser::considerRequests(TTword *word) { addNode(5); addNode(21); - if (!_sentence->_field2C) - _sentence->_field2C = 15; + if (!_sentence->_category) + _sentence->_category = 15; break; case MKTAG('C', 'U', 'R', 'S'): @@ -1168,8 +1170,8 @@ int TTparser::considerRequests(TTword *word) { addNode(5); addNode(21); - if (!_sentence->_field2C) - _sentence->_field2C = 14; + if (!_sentence->_category) + _sentence->_category = 14; break; case MKTAG('F', 'A', 'R', 'R'): @@ -1186,15 +1188,15 @@ int TTparser::considerRequests(TTword *word) { addNode(5); addNode(21); - if (_sentence->_field2C == 1) - _sentence->_field2C = 14; + if (_sentence->_category == 1) + _sentence->_category = 14; flag = true; break; case MKTAG('H', 'E', 'L', 'P'): - if (_sentence->_field2C == 1) - _sentence->_field2C = 18; + if (_sentence->_category == 1) + _sentence->_category = 18; flag = true; break; @@ -1257,8 +1259,8 @@ int TTparser::considerRequests(TTword *word) { break; case MKTAG('T', 'E', 'A', 'C'): - if (_sentence->_field2C == 1) - _sentence->_field2C = 10; + if (_sentence->_category == 1) + _sentence->_category = 10; flag = true; break; @@ -1275,7 +1277,7 @@ int TTparser::considerRequests(TTword *word) { TTparserNode *nextP = dynamic_cast<TTparserNode *>(nodeP->_nextP); if (flag) - delete nodeP; + removeNode(nodeP); nodeP = nextP; } @@ -1402,8 +1404,8 @@ int TTparser::checkForAction() { } else { // No chain, so singular word can simply be removed _currentWordP = nullptr; - if (word->_id == 906 && _sentence->_field2C == 1) - _sentence->_field2C = 12; + if (word->_id == 906 && _sentence->_category == 1) + _sentence->_category = 12; } if (word->_text == "do" || word->_text == "doing" || word->_text == "does" || @@ -1453,28 +1455,28 @@ int TTparser::checkForAction() { if (_sentence->fn2(3, TTstring("thePlayer"), _sentenceConcept) && !flag) { if (_sentenceConcept->concept1WordId() == 101) { - _sentence->_field2C = 16; - } else if (_sentence->_field2C != 18 && _sentenceConcept->concept1WordId() == 102) { + _sentence->_category = 16; + } else if (_sentence->_category != 18 && _sentenceConcept->concept1WordId() == 102) { if (_sentence->fn2(0, TTstring("targetNpc"), _sentenceConcept)) - _sentence->_field2C = 15; + _sentence->_category = 15; } } if (_sentence->fn2(2, TTstring("thePlayer"), _sentenceConcept) && _sentenceConcept->concept1WordId() == 101 && flag) - _sentence->_field2C = 17; + _sentence->_category = 17; if (!_sentenceConcept->_concept0P && !_sentenceConcept->_concept1P && !_sentenceConcept->_concept2P && !_sentenceConcept->_concept5P && !flag) { if (_conceptP) filterConcepts(5, 2); - if (!_sentenceConcept->_concept2P && _sentence->_field2C == 1) - _sentence->_field2C = 0; + if (!_sentenceConcept->_concept2P && _sentence->_category == 1) + _sentence->_category = 0; } - if (_sentence->_field58 < 5 && _sentence->_field2C == 1 && !flag) - _sentence->_field2C = 19; + if (_sentence->_field58 < 5 && _sentence->_category == 1 && !flag) + _sentence->_category = 19; for (TTconceptNode *nodeP = &_sentence->_sentenceConcept; nodeP; nodeP = nodeP->_nextP) { if (nodeP->_field18 == 0 && nodeP->_concept1P) { @@ -1490,15 +1492,15 @@ int TTparser::checkForAction() { } } - if (_sentence->_field2C == 1 && _sentenceConcept->_concept5P && + if (_sentence->_category == 1 && _sentenceConcept->_concept5P && _sentenceConcept->_concept2P) { if (_sentence->fn4(1, 113, nullptr)) { if (_sentence->fn2(2, TTstring("targetNpc"), nullptr)) { - _sentence->_field2C = 20; + _sentence->_category = 20; } else if (_sentence->fn2(2, TTstring("thePlayer"), nullptr)) { - _sentence->_field2C = 21; + _sentence->_category = 21; } else { - _sentence->_field2C = 22; + _sentence->_category = 22; } } } else if (!_sentenceConcept->_concept0P && !_sentenceConcept->_concept1P && @@ -1506,8 +1508,8 @@ int TTparser::checkForAction() { if (_conceptP) filterConcepts(5, 2); - if (!_sentenceConcept->_concept2P && _sentence->_field2C == 1) - _sentence->_field2C = 0; + if (!_sentenceConcept->_concept2P && _sentence->_category == 1) + _sentence->_category = 0; } return status; @@ -1632,7 +1634,7 @@ int TTparser::processModifiers(int modifier, TTword *word) { TTconcept *newConcept = new TTconcept(word, ST_UNKNOWN_SCRIPT); // Cycles through each word - for (TTword *currP = _currentWordP; currP != word; currP = _currentWordP) { + for (TTword *currP = _currentWordP; currP && currP != word; currP = _currentWordP) { if ((modifier == 2 && currP->_wordClass == WC_ADJECTIVE) || (modifier == 1 && currP->_wordClass == WC_ADVERB)) { newConcept->_string2 += ' '; @@ -1658,8 +1660,8 @@ int TTparser::processModifiers(int modifier, TTword *word) { case 204: newConcept->_field34 = 1; - if (_sentence->_field2C == 1) - _sentence->_field2C = 12; + if (_sentence->_category == 1) + _sentence->_category = 12; newConcept->_field14 = 1; break; diff --git a/engines/titanic/true_talk/tt_quotes_tree.cpp b/engines/titanic/true_talk/tt_quotes_tree.cpp index 16453a10ae..e2293887a8 100644 --- a/engines/titanic/true_talk/tt_quotes_tree.cpp +++ b/engines/titanic/true_talk/tt_quotes_tree.cpp @@ -66,7 +66,7 @@ int TTquotesTree::search(const char *str, QuoteTreeNum treeNum, return -1; if (remainder) { - while (*str) { + for (; *str; ++str) { if (*str >= 'a' && *str != 's') *remainder += *str; } diff --git a/engines/titanic/true_talk/tt_response.cpp b/engines/titanic/true_talk/tt_response.cpp index 1c784ad320..3cb8d2c9ec 100644 --- a/engines/titanic/true_talk/tt_response.cpp +++ b/engines/titanic/true_talk/tt_response.cpp @@ -49,6 +49,12 @@ TTresponse::~TTresponse() { } } +TTresponse *TTresponse::appendResponse(int id) { + TTresponse *resp = new TTresponse(id, 3); + _nextP = resp; + return resp; +} + TTresponse *TTresponse::copyChain() const { TTresponse *returnResponseP = new TTresponse(this); diff --git a/engines/titanic/true_talk/tt_response.h b/engines/titanic/true_talk/tt_response.h index d39d18c193..950e1cd23e 100644 --- a/engines/titanic/true_talk/tt_response.h +++ b/engines/titanic/true_talk/tt_response.h @@ -42,6 +42,12 @@ public: virtual ~TTresponse(); /** + * Creates a new response and adds it as the current + * response's next response + */ + TTresponse *appendResponse(int id); + + /** * Makes a copy of the chain of responses */ TTresponse *copyChain() const; diff --git a/engines/titanic/true_talk/tt_script_base.cpp b/engines/titanic/true_talk/tt_script_base.cpp index 2f58ad1400..1fa1ce3315 100644 --- a/engines/titanic/true_talk/tt_script_base.cpp +++ b/engines/titanic/true_talk/tt_script_base.cpp @@ -129,7 +129,7 @@ void TTscriptBase::appendResponse(int index, int *maxP, int id) { if (id && (!maxP || index <= *maxP)) { if (_respTailP) { // Prior fragments already exist, so append to end of chain - _respTailP = new TTresponse(_respTailP); + _respTailP = _respTailP->appendResponse(id); } else { // Currently no tail _respTailP = new TTresponse(id, 3); diff --git a/engines/titanic/true_talk/tt_sentence.cpp b/engines/titanic/true_talk/tt_sentence.cpp index 3fae527770..451582383d 100644 --- a/engines/titanic/true_talk/tt_sentence.cpp +++ b/engines/titanic/true_talk/tt_sentence.cpp @@ -41,7 +41,7 @@ TTsentenceConcept *TTsentenceConcept::addSibling() { TTsentence::TTsentence(int inputCtr, const TTstring &line, CScriptHandler *owner, TTroomScript *roomScript, TTnpcScript *npcScript) : - _owner(owner), _field2C(1), _inputCtr(inputCtr), _field34(0), + _owner(owner), _category(1), _inputCtr(inputCtr), _field34(0), _field38(0), _initialLine(line), _nodesP(nullptr), _roomScript(roomScript), _npcScript(npcScript), _field58(0), _field5C(0) { _status = _initialLine.isValid() && _normalizedLine.isValid() ? SS_11: SS_VALID; @@ -77,7 +77,7 @@ void TTsentence::copyFrom(const TTsentence &src) { _field5C = src._field5C; _field34 = src._field34; _field38 = src._field38; - _field2C = src._field2C; + _category = src._category; _nodesP = nullptr; if (src._nodesP) { @@ -109,10 +109,10 @@ int TTsentence::storeVocabHit(TTword *word) { bool TTsentence::fn1(const CString &str, int wordId1, const CString &str1, const CString &str2, const CString &str3, int wordId2, int val1, int val2, const TTconceptNode *node) const { - if (node) + if (!node) node = &_sentenceConcept; - if (!node && !node) + if (!node) return false; if (val1 && !is18(val1, node)) return false; @@ -265,7 +265,9 @@ TTconcept *TTsentence::getFrameEntry(int slotIndex, const TTconceptNode *concept TTconcept *TTsentence::getFrameSlot(int slotIndex, const TTconceptNode *conceptNode) const { TTconcept *newConcept = new TTconcept(); TTconcept *concept = getFrameEntry(slotIndex, conceptNode); - newConcept->copyFrom(concept); + + if (concept) + newConcept->copyFrom(concept); if (!newConcept->isValid()) { delete newConcept; diff --git a/engines/titanic/true_talk/tt_sentence.h b/engines/titanic/true_talk/tt_sentence.h index 7b2c6400c5..cbaef26831 100644 --- a/engines/titanic/true_talk/tt_sentence.h +++ b/engines/titanic/true_talk/tt_sentence.h @@ -67,7 +67,7 @@ public: int _field58; TTroomScript *_roomScript; TTnpcScript *_npcScript; - int _field2C; + int _category; public: TTsentence(int inputCtr, const TTstring &line, CScriptHandler *owner, TTroomScript *roomScript, TTnpcScript *npcScript); @@ -76,7 +76,7 @@ public: void setState(int v) { _field34 = v; } void set38(int v) { _field38 = v; } - bool check2C() const { return _field2C > 1 && _field2C <= 10; } + bool checkCategory() const { return _category > 1 && _category <= 10; } int concept18(TTconceptNode *conceptNode) { return conceptNode ? conceptNode->get18() : 0; } diff --git a/engines/titanic/true_talk/tt_string.cpp b/engines/titanic/true_talk/tt_string.cpp index 198a8c2e80..43910fc823 100644 --- a/engines/titanic/true_talk/tt_string.cpp +++ b/engines/titanic/true_talk/tt_string.cpp @@ -111,7 +111,7 @@ TTstring TTstring::tokenize(const char *delim) { const char *strP = _data->_string.c_str(); const char *splitP = nullptr, *chP; - for (const char *d = delim; d; ++d) { + for (const char *d = delim; *d; ++d) { chP = strchr(strP, *d); if (chP && (splitP == nullptr || chP < splitP)) splitP = chP; @@ -122,7 +122,9 @@ TTstring TTstring::tokenize(const char *delim) { _data->_string = CString(splitP + 1); return result; } else { - return TTstring(); + TTstring result(strP); + _data->_string = CString(); + return result; } } diff --git a/engines/titanic/true_talk/tt_vocab.cpp b/engines/titanic/true_talk/tt_vocab.cpp index 062a6b65c0..6748d6535b 100644 --- a/engines/titanic/true_talk/tt_vocab.cpp +++ b/engines/titanic/true_talk/tt_vocab.cpp @@ -196,10 +196,12 @@ TTword *TTvocab::getPrimeWord(TTstring &str, TTword **srcWord) const { TTword *newWord = nullptr;
TTword *vocabP;
- if (!Common::isDigit(c)) {
+ if (Common::isDigit(c)) {
+ // Number
vocabP = _headP;
newWord = new TTword(str, WC_ABSTRACT, 300);
} else {
+ // Standard word
for (vocabP = _headP; vocabP && !newWord; vocabP = vocabP->_nextP) {
if (_vocabMode == 3 && !strcmp(str.c_str(), vocabP->c_str())) {
newWord = vocabP->copy();
@@ -550,7 +552,6 @@ TTword *TTvocab::getPrefixedWord(TTstring &str) const { word->_text = str;
}
- delete tempStr;
return word;
}
diff --git a/graphics/fonts/bdf.cpp b/graphics/fonts/bdf.cpp index 6049f9a283..511ea5cde1 100644 --- a/graphics/fonts/bdf.cpp +++ b/graphics/fonts/bdf.cpp @@ -702,7 +702,7 @@ BdfFont *BdfFont::loadFromCache(Common::SeekableReadStream &stream) { BdfFont *BdfFont::scaleFont(BdfFont *src, int newSize) { if (!src) { - warning("Emtpy font reference in scale font"); + warning("Empty font reference in scale font"); return NULL; } @@ -759,7 +759,7 @@ BdfFont *BdfFont::scaleFont(BdfFont *src, int newSize) { byte *ptr = bitmaps[i]; for (int y = 0; y < box.height; y++) { - byte *srcd = (byte *)&src->_data.bitmaps[i][((int)((float)y / scale)) * srcPitch]; + const byte *srcd = (const byte *)&src->_data.bitmaps[i][((int)((float)y / scale)) * srcPitch]; byte *dst = ptr; byte b = 0; diff --git a/gui/ThemeEngine.h b/gui/ThemeEngine.h index dff228f5b7..8a6db17dfd 100644 --- a/gui/ThemeEngine.h +++ b/gui/ThemeEngine.h @@ -37,7 +37,7 @@ #include "graphics/pixelformat.h" -#define SCUMMVM_THEME_VERSION_STR "SCUMMVM_STX0.8.22" +#define SCUMMVM_THEME_VERSION_STR "SCUMMVM_STX0.8.23" class OSystem; diff --git a/gui/editgamedialog.cpp b/gui/editgamedialog.cpp index 36af271d2c..85b37929dc 100644 --- a/gui/editgamedialog.cpp +++ b/gui/editgamedialog.cpp @@ -381,45 +381,43 @@ void EditGameDialog::open() { _platformPopUp->setSelected(sel); } - -void EditGameDialog::close() { - if (getResult()) { - ConfMan.set("description", _descriptionWidget->getEditString(), _domain); - - Common::Language lang = (Common::Language)_langPopUp->getSelectedTag(); - if (lang < 0) - ConfMan.removeKey("language", _domain); - else - ConfMan.set("language", Common::getLanguageCode(lang), _domain); - - String gamePath(_gamePathWidget->getLabel()); - if (!gamePath.empty()) - ConfMan.set("path", gamePath, _domain); - - String extraPath(_extraPathWidget->getLabel()); - if (!extraPath.empty() && (extraPath != _c("None", "path"))) - ConfMan.set("extrapath", extraPath, _domain); - else - ConfMan.removeKey("extrapath", _domain); - - String savePath(_savePathWidget->getLabel()); - if (!savePath.empty() && (savePath != _("Default"))) - ConfMan.set("savepath", savePath, _domain); - else - ConfMan.removeKey("savepath", _domain); - - Common::Platform platform = (Common::Platform)_platformPopUp->getSelectedTag(); - if (platform < 0) - ConfMan.removeKey("platform", _domain); - else - ConfMan.set("platform", Common::getPlatformCode(platform), _domain); - - // Set the state of engine-specific checkboxes - for (uint i = 0; i < _engineOptions.size(); i++) { - ConfMan.setBool(_engineOptions[i].configOption, _engineCheckboxes[i]->getState(), _domain); - } +void EditGameDialog::apply() { + ConfMan.set("description", _descriptionWidget->getEditString(), _domain); + + Common::Language lang = (Common::Language)_langPopUp->getSelectedTag(); + if (lang < 0) + ConfMan.removeKey("language", _domain); + else + ConfMan.set("language", Common::getLanguageCode(lang), _domain); + + String gamePath(_gamePathWidget->getLabel()); + if (!gamePath.empty()) + ConfMan.set("path", gamePath, _domain); + + String extraPath(_extraPathWidget->getLabel()); + if (!extraPath.empty() && (extraPath != _c("None", "path"))) + ConfMan.set("extrapath", extraPath, _domain); + else + ConfMan.removeKey("extrapath", _domain); + + String savePath(_savePathWidget->getLabel()); + if (!savePath.empty() && (savePath != _("Default"))) + ConfMan.set("savepath", savePath, _domain); + else + ConfMan.removeKey("savepath", _domain); + + Common::Platform platform = (Common::Platform)_platformPopUp->getSelectedTag(); + if (platform < 0) + ConfMan.removeKey("platform", _domain); + else + ConfMan.set("platform", Common::getPlatformCode(platform), _domain); + + // Set the state of engine-specific checkboxes + for (uint i = 0; i < _engineOptions.size(); i++) { + ConfMan.setBool(_engineOptions[i].configOption, _engineCheckboxes[i]->getState(), _domain); } - OptionsDialog::close(); + + OptionsDialog::apply(); } void EditGameDialog::handleCommand(CommandSender *sender, uint32 cmd, uint32 data) { diff --git a/gui/editgamedialog.h b/gui/editgamedialog.h index 0be6c1650e..a317e364c6 100644 --- a/gui/editgamedialog.h +++ b/gui/editgamedialog.h @@ -65,7 +65,7 @@ public: EditGameDialog(const String &domain, const String &desc); void open(); - void close(); + virtual void apply(); virtual void handleCommand(CommandSender *sender, uint32 cmd, uint32 data); protected: diff --git a/gui/launcher.cpp b/gui/launcher.cpp index cf9c0bf56d..f96dd17d46 100644 --- a/gui/launcher.cpp +++ b/gui/launcher.cpp @@ -99,6 +99,30 @@ LauncherDialog::LauncherDialog() _w = screenW; _h = screenH; + build(); + + GUI::GuiManager::instance()._launched = true; +} + +void LauncherDialog::selectTarget(const String &target) { + if (!target.empty()) { + int itemToSelect = 0; + StringArray::const_iterator iter; + for (iter = _domains.begin(); iter != _domains.end(); ++iter, ++itemToSelect) { + if (target == *iter) { + _list->setSelected(itemToSelect); + break; + } + } + } +} + +LauncherDialog::~LauncherDialog() { + delete _browser; + delete _loadDialog; +} + +void LauncherDialog::build() { #ifndef DISABLE_FANCY_THEMES _logo = 0; if (g_gui.xmlEval()->getVar("Globals.ShowLauncherLogo") == 1 && g_gui.theme()->supportsImages()) { @@ -174,28 +198,25 @@ LauncherDialog::LauncherDialog() // Create Load dialog _loadDialog = new SaveLoadChooser(_("Load game:"), _("Load"), false); - - GUI::GuiManager::instance()._launched = true; } -void LauncherDialog::selectTarget(const String &target) { - if (!target.empty()) { - int itemToSelect = 0; - StringArray::const_iterator iter; - for (iter = _domains.begin(); iter != _domains.end(); ++iter, ++itemToSelect) { - if (target == *iter) { - _list->setSelected(itemToSelect); - break; - } - } +void LauncherDialog::clean() { + while (_firstWidget) { + Widget* w = _firstWidget; + removeWidget(w); + delete w; } -} - -LauncherDialog::~LauncherDialog() { delete _browser; delete _loadDialog; } +void LauncherDialog::rebuild() { + clean(); + build(); + reflowLayout(); + setFocusWidget(_firstWidget); +} + void LauncherDialog::open() { // Clear the active domain, in case we return to the dialog from a // failure to launch a game. Otherwise, pressing ESC will attempt to diff --git a/gui/launcher.h b/gui/launcher.h index 58f1c930ed..08413fe3d2 100644 --- a/gui/launcher.h +++ b/gui/launcher.h @@ -47,6 +47,8 @@ public: LauncherDialog(); ~LauncherDialog(); + void rebuild(); + virtual void handleCommand(CommandSender *sender, uint32 cmd, uint32 data); virtual void handleKeyDown(Common::KeyState state); @@ -83,6 +85,9 @@ protected: void updateButtons(); void switchButtonsText(ButtonWidget *button, const char *normalText, const char *shiftedText); + void build(); + void clean(); + void open(); void close(); diff --git a/gui/options.cpp b/gui/options.cpp index 3701369316..3f6fc5aa2c 100644 --- a/gui/options.cpp +++ b/gui/options.cpp @@ -28,6 +28,7 @@ #include "gui/widgets/popup.h" #include "gui/widgets/tab.h" #include "gui/ThemeEval.h" +#include "gui/launcher.h" #include "common/fs.h" #include "common/config-manager.h" @@ -110,6 +111,10 @@ enum { kRootPathClearCmd = 'clrp' }; #endif + +enum { + kApplyCmd = 'appl' +}; static const char *savePeriodLabels[] = { _s("Never"), _s("every 5 mins"), _s("every 10 mins"), _s("every 15 mins"), _s("every 30 mins"), 0 }; static const int savePeriodValues[] = { 0, 5 * 60, 10 * 60, 15 * 60, 30 * 60, -1 }; @@ -182,8 +187,6 @@ void OptionsDialog::init() { _subSpeedSlider = 0; _subSpeedLabel = 0; - _oldTheme = g_gui.theme()->getThemeId(); - // Retrieve game GUI options _guioptions.clear(); if (ConfMan.hasKey("guioptions", _domain)) { @@ -191,13 +194,8 @@ void OptionsDialog::init() { _guioptions = parseGameGUIOptions(_guioptionsString); } } - -void OptionsDialog::open() { - Dialog::open(); - - // Reset result value - setResult(0); - + +void OptionsDialog::build() { // Retrieve game GUI options _guioptions.clear(); if (ConfMan.hasKey("guioptions", _domain)) { @@ -352,212 +350,238 @@ void OptionsDialog::open() { _subSpeedLabel->setValue(speed); } } + +void OptionsDialog::clean() { + delete _subToggleGroup; + while (_firstWidget) { + Widget* w = _firstWidget; + removeWidget(w); + delete w; + } + init(); +} + +void OptionsDialog::rebuild() { + int currentTab = _tabWidget->getActiveTab(); + clean(); + build(); + reflowLayout(); + _tabWidget->setActiveTab(currentTab); + setFocusWidget(_firstWidget); +} -void OptionsDialog::close() { - if (getResult()) { - - // Graphic options - bool graphicsModeChanged = false; - if (_fullscreenCheckbox) { - if (_enableGraphicSettings) { - if (ConfMan.getBool("filtering", _domain) != _filteringCheckbox->getState()) - graphicsModeChanged = true; - if (ConfMan.getBool("fullscreen", _domain) != _fullscreenCheckbox->getState()) - graphicsModeChanged = true; - if (ConfMan.getBool("aspect_ratio", _domain) != _aspectCheckbox->getState()) - graphicsModeChanged = true; - - ConfMan.setBool("filtering", _filteringCheckbox->getState(), _domain); - ConfMan.setBool("fullscreen", _fullscreenCheckbox->getState(), _domain); - ConfMan.setBool("aspect_ratio", _aspectCheckbox->getState(), _domain); - - bool isSet = false; - - if ((int32)_gfxPopUp->getSelectedTag() >= 0) { - const OSystem::GraphicsMode *gm = g_system->getSupportedGraphicsModes(); - - while (gm->name) { - if (gm->id == (int)_gfxPopUp->getSelectedTag()) { - if (ConfMan.get("gfx_mode", _domain) != gm->name) - graphicsModeChanged = true; - ConfMan.set("gfx_mode", gm->name, _domain); - isSet = true; - break; - } - gm++; +void OptionsDialog::open() { + build(); + + Dialog::open(); + + // Reset result value + setResult(0); +} + +void OptionsDialog::apply() { + // Graphic options + bool graphicsModeChanged = false; + if (_fullscreenCheckbox) { + if (_enableGraphicSettings) { + if (ConfMan.getBool("filtering", _domain) != _filteringCheckbox->getState()) + graphicsModeChanged = true; + if (ConfMan.getBool("fullscreen", _domain) != _fullscreenCheckbox->getState()) + graphicsModeChanged = true; + if (ConfMan.getBool("aspect_ratio", _domain) != _aspectCheckbox->getState()) + graphicsModeChanged = true; + + ConfMan.setBool("filtering", _filteringCheckbox->getState(), _domain); + ConfMan.setBool("fullscreen", _fullscreenCheckbox->getState(), _domain); + ConfMan.setBool("aspect_ratio", _aspectCheckbox->getState(), _domain); + + bool isSet = false; + + if ((int32)_gfxPopUp->getSelectedTag() >= 0) { + const OSystem::GraphicsMode *gm = g_system->getSupportedGraphicsModes(); + + while (gm->name) { + if (gm->id == (int)_gfxPopUp->getSelectedTag()) { + if (ConfMan.get("gfx_mode", _domain) != gm->name) + graphicsModeChanged = true; + ConfMan.set("gfx_mode", gm->name, _domain); + isSet = true; + break; } + gm++; } - if (!isSet) - ConfMan.removeKey("gfx_mode", _domain); - - if ((int32)_renderModePopUp->getSelectedTag() >= 0) - ConfMan.set("render_mode", Common::getRenderModeCode((Common::RenderMode)_renderModePopUp->getSelectedTag()), _domain); - } else { - ConfMan.removeKey("fullscreen", _domain); - ConfMan.removeKey("filtering", _domain); - ConfMan.removeKey("aspect_ratio", _domain); - ConfMan.removeKey("gfx_mode", _domain); - ConfMan.removeKey("render_mode", _domain); } + if (!isSet) + ConfMan.removeKey("gfx_mode", _domain); + + if ((int32)_renderModePopUp->getSelectedTag() >= 0) + ConfMan.set("render_mode", Common::getRenderModeCode((Common::RenderMode)_renderModePopUp->getSelectedTag()), _domain); + } else { + ConfMan.removeKey("fullscreen", _domain); + ConfMan.removeKey("filtering", _domain); + ConfMan.removeKey("aspect_ratio", _domain); + ConfMan.removeKey("gfx_mode", _domain); + ConfMan.removeKey("render_mode", _domain); } - - // Setup graphics again if needed - if (_domain == Common::ConfigManager::kApplicationDomain && graphicsModeChanged) { - g_system->beginGFXTransaction(); - g_system->setGraphicsMode(ConfMan.get("gfx_mode", _domain).c_str()); - - if (ConfMan.hasKey("aspect_ratio")) - g_system->setFeatureState(OSystem::kFeatureAspectRatioCorrection, ConfMan.getBool("aspect_ratio", _domain)); - if (ConfMan.hasKey("fullscreen")) - g_system->setFeatureState(OSystem::kFeatureFullscreenMode, ConfMan.getBool("fullscreen", _domain)); - if (ConfMan.hasKey("filtering")) - g_system->setFeatureState(OSystem::kFeatureFilteringMode, ConfMan.getBool("filtering", _domain)); - - OSystem::TransactionError gfxError = g_system->endGFXTransaction(); - - // Since this might change the screen resolution we need to give - // the GUI a chance to update it's internal state. Otherwise we might - // get a crash when the GUI tries to grab the overlay. - // - // This fixes bug #3303501 "Switching from HQ2x->HQ3x crashes ScummVM" - // - // It is important that this is called *before* any of the current - // dialog's widgets are destroyed (for example before - // Dialog::close) is called, to prevent crashes caused by invalid - // widgets being referenced or similar errors. - g_gui.checkScreenChange(); - - if (gfxError != OSystem::kTransactionSuccess) { - // Revert ConfMan to what OSystem is using. - Common::String message = _("Failed to apply some of the graphic options changes:"); - - if (gfxError & OSystem::kTransactionModeSwitchFailed) { - const OSystem::GraphicsMode *gm = g_system->getSupportedGraphicsModes(); - while (gm->name) { - if (gm->id == g_system->getGraphicsMode()) { - ConfMan.set("gfx_mode", gm->name, _domain); - break; - } - gm++; + } + + // Setup graphics again if needed + if (_domain == Common::ConfigManager::kApplicationDomain && graphicsModeChanged) { + g_system->beginGFXTransaction(); + g_system->setGraphicsMode(ConfMan.get("gfx_mode", _domain).c_str()); + + if (ConfMan.hasKey("aspect_ratio")) + g_system->setFeatureState(OSystem::kFeatureAspectRatioCorrection, ConfMan.getBool("aspect_ratio", _domain)); + if (ConfMan.hasKey("fullscreen")) + g_system->setFeatureState(OSystem::kFeatureFullscreenMode, ConfMan.getBool("fullscreen", _domain)); + if (ConfMan.hasKey("filtering")) + g_system->setFeatureState(OSystem::kFeatureFilteringMode, ConfMan.getBool("filtering", _domain)); + + OSystem::TransactionError gfxError = g_system->endGFXTransaction(); + + // Since this might change the screen resolution we need to give + // the GUI a chance to update it's internal state. Otherwise we might + // get a crash when the GUI tries to grab the overlay. + // + // This fixes bug #3303501 "Switching from HQ2x->HQ3x crashes ScummVM" + // + // It is important that this is called *before* any of the current + // dialog's widgets are destroyed (for example before + // Dialog::close) is called, to prevent crashes caused by invalid + // widgets being referenced or similar errors. + g_gui.checkScreenChange(); + + if (gfxError != OSystem::kTransactionSuccess) { + // Revert ConfMan to what OSystem is using. + Common::String message = _("Failed to apply some of the graphic options changes:"); + + if (gfxError & OSystem::kTransactionModeSwitchFailed) { + const OSystem::GraphicsMode *gm = g_system->getSupportedGraphicsModes(); + while (gm->name) { + if (gm->id == g_system->getGraphicsMode()) { + ConfMan.set("gfx_mode", gm->name, _domain); + break; } - message += "\n"; - message += _("the video mode could not be changed."); - } - - if (gfxError & OSystem::kTransactionAspectRatioFailed) { - ConfMan.setBool("aspect_ratio", g_system->getFeatureState(OSystem::kFeatureAspectRatioCorrection), _domain); - message += "\n"; - message += _("the aspect ratio setting could not be changed"); + gm++; } - - if (gfxError & OSystem::kTransactionFullscreenFailed) { - ConfMan.setBool("fullscreen", g_system->getFeatureState(OSystem::kFeatureFullscreenMode), _domain); - message += "\n"; - message += _("the fullscreen setting could not be changed"); - } - - if (gfxError & OSystem::kTransactionFilteringFailed) { - ConfMan.setBool("filtering", g_system->getFeatureState(OSystem::kFeatureFilteringMode), _domain); - message += "\n"; - message += _("the filtering setting could not be changed"); - } - - // And display the error - GUI::MessageDialog dialog(message); - dialog.runModal(); + message += "\n"; + message += _("the video mode could not be changed."); } - } - - // Volume options - if (_musicVolumeSlider) { - if (_enableVolumeSettings) { - ConfMan.setInt("music_volume", _musicVolumeSlider->getValue(), _domain); - ConfMan.setInt("sfx_volume", _sfxVolumeSlider->getValue(), _domain); - ConfMan.setInt("speech_volume", _speechVolumeSlider->getValue(), _domain); - ConfMan.setBool("mute", _muteCheckbox->getState(), _domain); - } else { - ConfMan.removeKey("music_volume", _domain); - ConfMan.removeKey("sfx_volume", _domain); - ConfMan.removeKey("speech_volume", _domain); - ConfMan.removeKey("mute", _domain); + + if (gfxError & OSystem::kTransactionAspectRatioFailed) { + ConfMan.setBool("aspect_ratio", g_system->getFeatureState(OSystem::kFeatureAspectRatioCorrection), _domain); + message += "\n"; + message += _("the aspect ratio setting could not be changed"); } - } - - // Audio options - if (_midiPopUp) { - if (_enableAudioSettings) { - saveMusicDeviceSetting(_midiPopUp, "music_driver"); - } else { - ConfMan.removeKey("music_driver", _domain); + + if (gfxError & OSystem::kTransactionFullscreenFailed) { + ConfMan.setBool("fullscreen", g_system->getFeatureState(OSystem::kFeatureFullscreenMode), _domain); + message += "\n"; + message += _("the fullscreen setting could not be changed"); } + + if (gfxError & OSystem::kTransactionFilteringFailed) { + ConfMan.setBool("filtering", g_system->getFeatureState(OSystem::kFeatureFilteringMode), _domain); + message += "\n"; + message += _("the filtering setting could not be changed"); + } + + // And display the error + GUI::MessageDialog dialog(message); + dialog.runModal(); } - - if (_oplPopUp) { - if (_enableAudioSettings) { - const OPL::Config::EmulatorDescription *ed = OPL::Config::findDriver(_oplPopUp->getSelectedTag()); - - if (ed) - ConfMan.set("opl_driver", ed->name, _domain); - else - ConfMan.removeKey("opl_driver", _domain); - } else { + } + + // Volume options + if (_musicVolumeSlider) { + if (_enableVolumeSettings) { + ConfMan.setInt("music_volume", _musicVolumeSlider->getValue(), _domain); + ConfMan.setInt("sfx_volume", _sfxVolumeSlider->getValue(), _domain); + ConfMan.setInt("speech_volume", _speechVolumeSlider->getValue(), _domain); + ConfMan.setBool("mute", _muteCheckbox->getState(), _domain); + } else { + ConfMan.removeKey("music_volume", _domain); + ConfMan.removeKey("sfx_volume", _domain); + ConfMan.removeKey("speech_volume", _domain); + ConfMan.removeKey("mute", _domain); + } + } + + // Audio options + if (_midiPopUp) { + if (_enableAudioSettings) { + saveMusicDeviceSetting(_midiPopUp, "music_driver"); + } else { + ConfMan.removeKey("music_driver", _domain); + } + } + + if (_oplPopUp) { + if (_enableAudioSettings) { + const OPL::Config::EmulatorDescription *ed = OPL::Config::findDriver(_oplPopUp->getSelectedTag()); + + if (ed) + ConfMan.set("opl_driver", ed->name, _domain); + else ConfMan.removeKey("opl_driver", _domain); - } + } else { + ConfMan.removeKey("opl_driver", _domain); } - - if (_outputRatePopUp) { - if (_enableAudioSettings) { - if (_outputRatePopUp->getSelectedTag() != 0) - ConfMan.setInt("output_rate", _outputRatePopUp->getSelectedTag(), _domain); - else - ConfMan.removeKey("output_rate", _domain); - } else { + } + + if (_outputRatePopUp) { + if (_enableAudioSettings) { + if (_outputRatePopUp->getSelectedTag() != 0) + ConfMan.setInt("output_rate", _outputRatePopUp->getSelectedTag(), _domain); + else ConfMan.removeKey("output_rate", _domain); - } + } else { + ConfMan.removeKey("output_rate", _domain); } - - // MIDI options - if (_multiMidiCheckbox) { - if (_enableMIDISettings) { - saveMusicDeviceSetting(_gmDevicePopUp, "gm_device"); - - ConfMan.setBool("multi_midi", _multiMidiCheckbox->getState(), _domain); - ConfMan.setInt("midi_gain", _midiGainSlider->getValue(), _domain); - - Common::String soundFont(_soundFont->getLabel()); - if (!soundFont.empty() && (soundFont != _c("None", "soundfont"))) - ConfMan.set("soundfont", soundFont, _domain); - else - ConfMan.removeKey("soundfont", _domain); - } else { - ConfMan.removeKey("gm_device", _domain); - ConfMan.removeKey("multi_midi", _domain); - ConfMan.removeKey("midi_gain", _domain); + } + + // MIDI options + if (_multiMidiCheckbox) { + if (_enableMIDISettings) { + saveMusicDeviceSetting(_gmDevicePopUp, "gm_device"); + + ConfMan.setBool("multi_midi", _multiMidiCheckbox->getState(), _domain); + ConfMan.setInt("midi_gain", _midiGainSlider->getValue(), _domain); + + Common::String soundFont(_soundFont->getLabel()); + if (!soundFont.empty() && (soundFont != _c("None", "soundfont"))) + ConfMan.set("soundfont", soundFont, _domain); + else ConfMan.removeKey("soundfont", _domain); - } + } else { + ConfMan.removeKey("gm_device", _domain); + ConfMan.removeKey("multi_midi", _domain); + ConfMan.removeKey("midi_gain", _domain); + ConfMan.removeKey("soundfont", _domain); } - - // MT-32 options - if (_mt32DevicePopUp) { - if (_enableMT32Settings) { - saveMusicDeviceSetting(_mt32DevicePopUp, "mt32_device"); - ConfMan.setBool("native_mt32", _mt32Checkbox->getState(), _domain); - ConfMan.setBool("enable_gs", _enableGSCheckbox->getState(), _domain); - } else { - ConfMan.removeKey("mt32_device", _domain); - ConfMan.removeKey("native_mt32", _domain); - ConfMan.removeKey("enable_gs", _domain); - } + } + + // MT-32 options + if (_mt32DevicePopUp) { + if (_enableMT32Settings) { + saveMusicDeviceSetting(_mt32DevicePopUp, "mt32_device"); + ConfMan.setBool("native_mt32", _mt32Checkbox->getState(), _domain); + ConfMan.setBool("enable_gs", _enableGSCheckbox->getState(), _domain); + } else { + ConfMan.removeKey("mt32_device", _domain); + ConfMan.removeKey("native_mt32", _domain); + ConfMan.removeKey("enable_gs", _domain); } - - // Subtitle options - if (_subToggleGroup) { - if (_enableSubtitleSettings) { - bool subtitles, speech_mute; - int talkspeed; - int sliderMaxValue = _subSpeedSlider->getMaxValue(); - - switch (_subToggleGroup->getValue()) { + } + + // Subtitle options + if (_subToggleGroup) { + if (_enableSubtitleSettings) { + bool subtitles, speech_mute; + int talkspeed; + int sliderMaxValue = _subSpeedSlider->getMaxValue(); + + switch (_subToggleGroup->getValue()) { case kSubtitlesSpeech: subtitles = speech_mute = false; break; @@ -569,26 +593,30 @@ void OptionsDialog::close() { default: subtitles = speech_mute = true; break; - } - - ConfMan.setBool("subtitles", subtitles, _domain); - ConfMan.setBool("speech_mute", speech_mute, _domain); - - // Engines that reuse the subtitle speed widget set their own max value. - // Scale the config value accordingly (see addSubtitleControls) - talkspeed = (_subSpeedSlider->getValue() * 255 + sliderMaxValue / 2) / sliderMaxValue; - ConfMan.setInt("talkspeed", talkspeed, _domain); - - } else { - ConfMan.removeKey("subtitles", _domain); - ConfMan.removeKey("talkspeed", _domain); - ConfMan.removeKey("speech_mute", _domain); } + + ConfMan.setBool("subtitles", subtitles, _domain); + ConfMan.setBool("speech_mute", speech_mute, _domain); + + // Engines that reuse the subtitle speed widget set their own max value. + // Scale the config value accordingly (see addSubtitleControls) + talkspeed = (_subSpeedSlider->getValue() * 255 + sliderMaxValue / 2) / sliderMaxValue; + ConfMan.setInt("talkspeed", talkspeed, _domain); + + } else { + ConfMan.removeKey("subtitles", _domain); + ConfMan.removeKey("talkspeed", _domain); + ConfMan.removeKey("speech_mute", _domain); } - - // Save config file - ConfMan.flushToDisk(); } + + // Save config file + ConfMan.flushToDisk(); +} + +void OptionsDialog::close() { + if (getResult()) + apply(); Dialog::close(); } @@ -630,15 +658,14 @@ void OptionsDialog::handleCommand(CommandSender *sender, uint32 cmd, uint32 data _soundFontClearButton->setEnabled(false); draw(); break; + case kApplyCmd: + apply(); + break; case kOKCmd: setResult(1); close(); break; case kCloseCmd: - if (g_gui.theme()->getThemeId() != _oldTheme) { - g_gui.loadNewTheme(_oldTheme); - ConfMan.set("gui_theme", _oldTheme); - } close(); break; default: @@ -1127,7 +1154,75 @@ void OptionsDialog::reflowLayout() { GlobalOptionsDialog::GlobalOptionsDialog(LauncherDialog *launcher) : OptionsDialog(Common::ConfigManager::kApplicationDomain, "GlobalOptions"), _launcher(launcher) { +#ifdef GUI_ENABLE_KEYSDIALOG + _keysDialog = 0; +#endif +#ifdef USE_FLUIDSYNTH + _fluidSynthSettingsDialog = 0; +#endif + _savePath = 0; + _savePathClearButton = 0; + _themePath = 0; + _themePathClearButton = 0; + _extraPath = 0; + _extraPathClearButton = 0; +#ifdef DYNAMIC_MODULES + _pluginsPath = 0; +#endif + _curTheme = 0; + _rendererPopUpDesc = 0; + _rendererPopUp = 0; + _autosavePeriodPopUpDesc = 0; + _autosavePeriodPopUp = 0; + _guiLanguagePopUpDesc = 0; + _guiLanguagePopUp = 0; +#ifdef USE_UPDATES + _updatesPopUpDesc = 0; + _updatesPopUp = 0; +#endif +#ifdef USE_CLOUD +#ifdef USE_LIBCURL + _selectedStorageIndex = CloudMan.getStorageIndex(); +#else + _selectedStorageIndex = 0; +#endif + _storagePopUpDesc = 0; + _storagePopUp = 0; + _storageUsernameDesc = 0; + _storageUsername = 0; + _storageUsedSpaceDesc = 0; + _storageUsedSpace = 0; + _storageLastSyncDesc = 0; + _storageLastSync = 0; + _storageConnectButton = 0; + _storageRefreshButton = 0; + _storageDownloadButton = 0; + _runServerButton = 0; + _serverInfoLabel = 0; + _rootPathButton = 0; + _rootPath = 0; + _rootPathClearButton = 0; + _serverPortDesc = 0; + _serverPort = 0; + _serverPortClearButton = 0; + _redrawCloudTab = false; +#ifdef USE_SDL_NET + _serverWasRunning = false; +#endif +#endif +} +GlobalOptionsDialog::~GlobalOptionsDialog() { +#ifdef GUI_ENABLE_KEYSDIALOG + delete _keysDialog; +#endif + +#ifdef USE_FLUIDSYNTH + delete _fluidSynthSettingsDialog; +#endif +} + +void GlobalOptionsDialog::build() { // The tab widget TabWidget *tab = new TabWidget(this, "GlobalOptions.TabWidget"); @@ -1310,12 +1405,6 @@ GlobalOptionsDialog::GlobalOptionsDialog(LauncherDialog *launcher) ScrollContainerWidget *container = new ScrollContainerWidget(tab, "GlobalOptions_Cloud.Container", kCloudTabContainerReflowCmd); container->setTarget(this); -#ifdef USE_LIBCURL - _selectedStorageIndex = CloudMan.getStorageIndex(); -#else - _selectedStorageIndex = 0; -#endif - _storagePopUpDesc = new StaticTextWidget(container, "GlobalOptions_Cloud_Container.StoragePopupDesc", _("Storage:"), _("Active cloud storage")); _storagePopUp = new PopUpWidget(container, "GlobalOptions_Cloud_Container.StoragePopup"); #ifdef USE_LIBCURL @@ -1362,10 +1451,6 @@ GlobalOptionsDialog::GlobalOptionsDialog(LauncherDialog *launcher) _serverPortClearButton = addClearButton(container, "GlobalOptions_Cloud_Container.ServerPortClearButton", kServerPortClearCmd); setupCloudTab(); - _redrawCloudTab = false; -#ifdef USE_SDL_NET - _serverWasRunning = false; -#endif #endif // USE_CLOUD // Activate the first tab @@ -1374,6 +1459,7 @@ GlobalOptionsDialog::GlobalOptionsDialog(LauncherDialog *launcher) // Add OK & Cancel buttons new ButtonWidget(this, "GlobalOptions.Cancel", _("Cancel"), 0, kCloseCmd); + new ButtonWidget(this, "GlobalOptions.Apply", _("Apply"), 0, kApplyCmd); new ButtonWidget(this, "GlobalOptions.Ok", _("OK"), 0, kOKCmd); #ifdef GUI_ENABLE_KEYSDIALOG @@ -1383,20 +1469,8 @@ GlobalOptionsDialog::GlobalOptionsDialog(LauncherDialog *launcher) #ifdef USE_FLUIDSYNTH _fluidSynthSettingsDialog = new FluidSynthSettingsDialog(); #endif -} - -GlobalOptionsDialog::~GlobalOptionsDialog() { -#ifdef GUI_ENABLE_KEYSDIALOG - delete _keysDialog; -#endif - -#ifdef USE_FLUIDSYNTH - delete _fluidSynthSettingsDialog; -#endif -} -void GlobalOptionsDialog::open() { - OptionsDialog::open(); + OptionsDialog::build(); #if !( defined(__DC__) || defined(__GP32__) ) // Set _savePath to the current save path @@ -1455,117 +1529,158 @@ void GlobalOptionsDialog::open() { #endif } -void GlobalOptionsDialog::close() { - if (getResult()) { - Common::String savePath(_savePath->getLabel()); - if (!savePath.empty() && (savePath != _("Default"))) - ConfMan.set("savepath", savePath, _domain); - else - ConfMan.removeKey("savepath", _domain); +void GlobalOptionsDialog::clean() { +#ifdef GUI_ENABLE_KEYSDIALOG + delete _keysDialog; + _keysDialog = 0; +#endif - Common::String themePath(_themePath->getLabel()); - if (!themePath.empty() && (themePath != _c("None", "path"))) - ConfMan.set("themepath", themePath, _domain); - else - ConfMan.removeKey("themepath", _domain); +#ifdef USE_FLUIDSYNTH + delete _fluidSynthSettingsDialog; + _fluidSynthSettingsDialog = 0; +#endif - Common::String extraPath(_extraPath->getLabel()); - if (!extraPath.empty() && (extraPath != _c("None", "path"))) - ConfMan.set("extrapath", extraPath, _domain); - else - ConfMan.removeKey("extrapath", _domain); + OptionsDialog::clean(); +} + +void GlobalOptionsDialog::apply() { + Common::String savePath(_savePath->getLabel()); + if (!savePath.empty() && (savePath != _("Default"))) + ConfMan.set("savepath", savePath, _domain); + else + ConfMan.removeKey("savepath", _domain); + + Common::String themePath(_themePath->getLabel()); + if (!themePath.empty() && (themePath != _c("None", "path"))) + ConfMan.set("themepath", themePath, _domain); + else + ConfMan.removeKey("themepath", _domain); + + Common::String extraPath(_extraPath->getLabel()); + if (!extraPath.empty() && (extraPath != _c("None", "path"))) + ConfMan.set("extrapath", extraPath, _domain); + else + ConfMan.removeKey("extrapath", _domain); #ifdef DYNAMIC_MODULES - Common::String pluginsPath(_pluginsPath->getLabel()); - if (!pluginsPath.empty() && (pluginsPath != _c("None", "path"))) - ConfMan.set("pluginspath", pluginsPath, _domain); - else - ConfMan.removeKey("pluginspath", _domain); + Common::String pluginsPath(_pluginsPath->getLabel()); + if (!pluginsPath.empty() && (pluginsPath != _c("None", "path"))) + ConfMan.set("pluginspath", pluginsPath, _domain); + else + ConfMan.removeKey("pluginspath", _domain); #endif #ifdef USE_CLOUD - Common::String rootPath(_rootPath->getLabel()); - if (!rootPath.empty() && (rootPath != _c("None", "path"))) - ConfMan.set("rootpath", rootPath, "cloud"); - else - ConfMan.removeKey("rootpath", "cloud"); + Common::String rootPath(_rootPath->getLabel()); + if (!rootPath.empty() && (rootPath != _c("None", "path"))) + ConfMan.set("rootpath", rootPath, "cloud"); + else + ConfMan.removeKey("rootpath", "cloud"); #endif - ConfMan.setInt("autosave_period", _autosavePeriodPopUp->getSelectedTag(), _domain); + ConfMan.setInt("autosave_period", _autosavePeriodPopUp->getSelectedTag(), _domain); - GUI::ThemeEngine::GraphicsMode selected = (GUI::ThemeEngine::GraphicsMode)_rendererPopUp->getSelectedTag(); - const char *cfg = GUI::ThemeEngine::findModeConfigName(selected); - if (!ConfMan.get("gui_renderer").equalsIgnoreCase(cfg)) { - // FIXME: Actually, any changes (including the theme change) should - // only become active *after* the options dialog has closed. - g_gui.loadNewTheme(g_gui.theme()->getThemeId(), selected); - ConfMan.set("gui_renderer", cfg, _domain); - } + GUI::ThemeEngine::GraphicsMode selected = (GUI::ThemeEngine::GraphicsMode)_rendererPopUp->getSelectedTag(); + const char *cfg = GUI::ThemeEngine::findModeConfigName(selected); + if (!ConfMan.get("gui_renderer").equalsIgnoreCase(cfg)) { + // FIXME: Actually, any changes (including the theme change) should + // only become active *after* the options dialog has closed. + g_gui.loadNewTheme(g_gui.theme()->getThemeId(), selected); + ConfMan.set("gui_renderer", cfg, _domain); + } #ifdef USE_TRANSLATION - Common::String oldLang = ConfMan.get("gui_language"); - int selLang = _guiLanguagePopUp->getSelectedTag(); + Common::String oldLang = ConfMan.get("gui_language"); + int selLang = _guiLanguagePopUp->getSelectedTag(); - ConfMan.set("gui_language", TransMan.getLangById(selLang)); + ConfMan.set("gui_language", TransMan.getLangById(selLang)); - Common::String newLang = ConfMan.get("gui_language").c_str(); - if (newLang != oldLang) { -#if 0 - // Activate the selected language - TransMan.setLanguage(selLang); + Common::String newLang = ConfMan.get("gui_language").c_str(); + if (newLang != oldLang) { + // Activate the selected language + TransMan.setLanguage(selLang); - // FIXME: Actually, any changes (including the theme change) should - // only become active *after* the options dialog has closed. - g_gui.loadNewTheme(g_gui.theme()->getThemeId(), ThemeEngine::kGfxDisabled, true); -#else - MessageDialog error(_("You have to restart ScummVM before your changes will take effect.")); - error.runModal(); -#endif - } + // Rebuild the Launcher and Options dialogs + g_gui.loadNewTheme(g_gui.theme()->getThemeId(), ThemeEngine::kGfxDisabled, true); + rebuild(); + if (_launcher != 0) + _launcher->rebuild(); + } #endif // USE_TRANSLATION #ifdef USE_UPDATES - ConfMan.setInt("updates_check", _updatesPopUp->getSelectedTag()); + ConfMan.setInt("updates_check", _updatesPopUp->getSelectedTag()); - if (g_system->getUpdateManager()) { - if (_updatesPopUp->getSelectedTag() == Common::UpdateManager::kUpdateIntervalNotSupported) { - g_system->getUpdateManager()->setAutomaticallyChecksForUpdates(Common::UpdateManager::kUpdateStateDisabled); - } else { - g_system->getUpdateManager()->setAutomaticallyChecksForUpdates(Common::UpdateManager::kUpdateStateEnabled); - g_system->getUpdateManager()->setUpdateCheckInterval(_updatesPopUp->getSelectedTag()); - } + if (g_system->getUpdateManager()) { + if (_updatesPopUp->getSelectedTag() == Common::UpdateManager::kUpdateIntervalNotSupported) { + g_system->getUpdateManager()->setAutomaticallyChecksForUpdates(Common::UpdateManager::kUpdateStateDisabled); + } else { + g_system->getUpdateManager()->setAutomaticallyChecksForUpdates(Common::UpdateManager::kUpdateStateEnabled); + g_system->getUpdateManager()->setUpdateCheckInterval(_updatesPopUp->getSelectedTag()); } + } #endif #ifdef USE_CLOUD #ifdef USE_LIBCURL - if (CloudMan.getStorageIndex() != _selectedStorageIndex) { - if (!CloudMan.switchStorage(_selectedStorageIndex)) { - bool anotherStorageIsWorking = CloudMan.isWorking(); - Common::String message = _("Failed to change cloud storage!"); - if (anotherStorageIsWorking) { - message += "\n"; - message += _("Another cloud storage is already active."); - } - MessageDialog dialog(message); - dialog.runModal(); + if (CloudMan.getStorageIndex() != _selectedStorageIndex) { + if (!CloudMan.switchStorage(_selectedStorageIndex)) { + bool anotherStorageIsWorking = CloudMan.isWorking(); + Common::String message = _("Failed to change cloud storage!"); + if (anotherStorageIsWorking) { + message += "\n"; + message += _("Another cloud storage is already active."); } + MessageDialog dialog(message); + dialog.runModal(); } + } #endif // USE_LIBCURL #ifdef USE_SDL_NET #ifdef NETWORKING_LOCALWEBSERVER_ENABLE_PORT_OVERRIDE - // save server's port - uint32 port = Networking::LocalWebserver::getPort(); - if (_serverPort) { - uint64 contents = _serverPort->getEditString().asUint64(); - if (contents != 0) - port = contents; - } - ConfMan.setInt("local_server_port", port); + // save server's port + uint32 port = Networking::LocalWebserver::getPort(); + if (_serverPort) { + uint64 contents = _serverPort->getEditString().asUint64(); + if (contents != 0) + port = contents; + } + ConfMan.setInt("local_server_port", port); #endif // NETWORKING_LOCALWEBSERVER_ENABLE_PORT_OVERRIDE #endif // USE_SDL_NET #endif // USE_CLOUD + + if (!_newTheme.empty()) { +#ifdef USE_TRANSLATION + Common::String lang = TransMan.getCurrentLanguage(); +#endif + Common::String oldTheme = g_gui.theme()->getThemeId(); + if (g_gui.loadNewTheme(_newTheme)) { +#ifdef USE_TRANSLATION + // If the charset has changed, it means the font were not found for the + // new theme. Since for the moment we do not support change of translation + // language without restarting, we let the user know about this. + if (lang != TransMan.getCurrentLanguage()) { + TransMan.setLanguage(lang.c_str()); + g_gui.loadNewTheme(oldTheme); + _curTheme->setLabel(g_gui.theme()->getThemeName()); + MessageDialog error(_("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.")); + error.runModal(); + } else { +#endif + ConfMan.set("gui_theme", _newTheme); +#ifdef USE_TRANSLATION + } +#endif + } + draw(); + _newTheme.clear(); } + + OptionsDialog::apply(); +} + +void GlobalOptionsDialog::close() { #if defined(USE_CLOUD) && defined(USE_SDL_NET) if (LocalServer.isRunning()) { LocalServer.stop(); @@ -1674,31 +1789,8 @@ void GlobalOptionsDialog::handleCommand(CommandSender *sender, uint32 cmd, uint3 ThemeBrowser browser; if (browser.runModal() > 0) { // User made his choice... - Common::String theme = browser.getSelected(); - // FIXME: Actually, any changes (including the theme change) should - // only become active *after* the options dialog has closed. -#ifdef USE_TRANSLATION - Common::String lang = TransMan.getCurrentLanguage(); -#endif - if (g_gui.loadNewTheme(theme)) { -#ifdef USE_TRANSLATION - // If the charset has changed, it means the font were not found for the - // new theme. Since for the moment we do not support change of translation - // language without restarting, we let the user know about this. - if (lang != TransMan.getCurrentLanguage()) { - TransMan.setLanguage(lang.c_str()); - g_gui.loadNewTheme(_oldTheme); - MessageDialog error(_("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.")); - error.runModal(); - } else { -#endif - _curTheme->setLabel(g_gui.theme()->getThemeName()); - ConfMan.set("gui_theme", theme); -#ifdef USE_TRANSLATION - } -#endif - } - draw(); + _newTheme = browser.getSelected(); + _curTheme->setLabel(browser.getSelectedName()); } break; } diff --git a/gui/options.h b/gui/options.h index ffa355cc11..a6eebe5748 100644 --- a/gui/options.h +++ b/gui/options.h @@ -67,6 +67,7 @@ public: void init(); void open(); + virtual void apply(); void close(); void handleCommand(CommandSender *sender, uint32 cmd, uint32 data); const Common::String& getDomain() const { return _domain; } @@ -80,6 +81,10 @@ protected: ButtonWidget *_soundFontButton; StaticTextWidget *_soundFont; ButtonWidget *_soundFontClearButton; + + virtual void build(); + virtual void clean(); + void rebuild(); void addGraphicControls(GuiObject *boss, const Common::String &prefix); void addAudioControls(GuiObject *boss, const Common::String &prefix); @@ -194,11 +199,6 @@ protected: Common::String _guioptionsString; // - //Theme Options - // - Common::String _oldTheme; - - // // Engine-specific controls // CheckboxWidgetList _engineCheckboxes; @@ -210,7 +210,7 @@ public: GlobalOptionsDialog(LauncherDialog *launcher); ~GlobalOptionsDialog(); - void open(); + virtual void apply(); void close(); void handleCommand(CommandSender *sender, uint32 cmd, uint32 data); void handleTickle(); @@ -218,6 +218,10 @@ public: virtual void reflowLayout(); protected: + virtual void build(); + virtual void clean(); + + Common::String _newTheme; LauncherDialog *_launcher; #ifdef GUI_ENABLE_KEYSDIALOG KeysDialog *_keysDialog; diff --git a/gui/themebrowser.cpp b/gui/themebrowser.cpp index d8bd5d6fe8..75be555e0a 100644 --- a/gui/themebrowser.cpp +++ b/gui/themebrowser.cpp @@ -84,6 +84,7 @@ void ThemeBrowser::handleCommand(CommandSender *sender, uint32 cmd, uint32 data) ++sel; _select = sel->id; + _selectName = sel->name; setResult(1); close(); break; diff --git a/gui/themebrowser.h b/gui/themebrowser.h index 2d94a7f423..bb0bec8c1a 100644 --- a/gui/themebrowser.h +++ b/gui/themebrowser.h @@ -42,9 +42,11 @@ public: void handleCommand(CommandSender *sender, uint32 cmd, uint32 data); const Common::String &getSelected() const { return _select; } + const Common::String &getSelectedName() const { return _selectName; } private: ListWidget *_fileList; Common::String _select; + Common::String _selectName; typedef Common::List<ThemeEngine::ThemeDescriptor> ThemeDescList; ThemeDescList _themes; diff --git a/gui/themes/default.inc b/gui/themes/default.inc index 8524a7728f..a83fd788ad 100644 --- a/gui/themes/default.inc +++ b/gui/themes/default.inc @@ -804,6 +804,9 @@ const char *defaultXML1 = "<?xml version = '1.0'?>" "<widget name='Cancel' " "type='Button' " "/>" +"<widget name='Apply' " +"type='Button' " +"/>" "<widget name='Ok' " "type='Button' " "/>" @@ -2343,6 +2346,9 @@ const char *defaultXML1 = "<?xml version = '1.0'?>" "<widget name='Cancel' " "type='Button' " "/>" +"<widget name='Apply' " +"type='Button' " +"/>" "<widget name='Ok' " "type='Button' " "/>" diff --git a/gui/themes/scummclassic.zip b/gui/themes/scummclassic.zip Binary files differindex 44c78fabe4..400b997b93 100644 --- a/gui/themes/scummclassic.zip +++ b/gui/themes/scummclassic.zip diff --git a/gui/themes/scummclassic/THEMERC b/gui/themes/scummclassic/THEMERC index b70eeb6564..25d8531376 100644 --- a/gui/themes/scummclassic/THEMERC +++ b/gui/themes/scummclassic/THEMERC @@ -1 +1 @@ -[SCUMMVM_STX0.8.22:ScummVM Classic Theme:No Author] +[SCUMMVM_STX0.8.23:ScummVM Classic Theme:No Author] diff --git a/gui/themes/scummclassic/classic_layout.stx b/gui/themes/scummclassic/classic_layout.stx index ea5d3268c4..b3100d4b92 100644 --- a/gui/themes/scummclassic/classic_layout.stx +++ b/gui/themes/scummclassic/classic_layout.stx @@ -228,6 +228,9 @@ <widget name = 'Cancel' type = 'Button' /> + <widget name = 'Apply' + type = 'Button' + /> <widget name = 'Ok' type = 'Button' /> diff --git a/gui/themes/scummclassic/classic_layout_lowres.stx b/gui/themes/scummclassic/classic_layout_lowres.stx index 7f43c7b1e1..7879e05a97 100644 --- a/gui/themes/scummclassic/classic_layout_lowres.stx +++ b/gui/themes/scummclassic/classic_layout_lowres.stx @@ -225,7 +225,9 @@ <widget name = 'Cancel' type = 'Button' /> - + <widget name = 'Apply' + type = 'Button' + /> <widget name = 'Ok' type = 'Button' /> diff --git a/gui/themes/scummmodern.zip b/gui/themes/scummmodern.zip Binary files differindex ec14e45830..673d67ed87 100644 --- a/gui/themes/scummmodern.zip +++ b/gui/themes/scummmodern.zip diff --git a/gui/themes/scummmodern/THEMERC b/gui/themes/scummmodern/THEMERC index 7e4eb31c96..3dbd640865 100644 --- a/gui/themes/scummmodern/THEMERC +++ b/gui/themes/scummmodern/THEMERC @@ -1 +1 @@ -[SCUMMVM_STX0.8.22:ScummVM Modern Theme:No Author] +[SCUMMVM_STX0.8.23:ScummVM Modern Theme:No Author] diff --git a/gui/themes/scummmodern/scummmodern_layout.stx b/gui/themes/scummmodern/scummmodern_layout.stx index a0a4e41f14..9cadc11e13 100644 --- a/gui/themes/scummmodern/scummmodern_layout.stx +++ b/gui/themes/scummmodern/scummmodern_layout.stx @@ -242,6 +242,9 @@ <widget name = 'Cancel' type = 'Button' /> + <widget name = 'Apply' + type = 'Button' + /> <widget name = 'Ok' type = 'Button' /> diff --git a/gui/themes/scummmodern/scummmodern_layout_lowres.stx b/gui/themes/scummmodern/scummmodern_layout_lowres.stx index 13ec698b85..7ef5fc5ee1 100644 --- a/gui/themes/scummmodern/scummmodern_layout_lowres.stx +++ b/gui/themes/scummmodern/scummmodern_layout_lowres.stx @@ -223,7 +223,9 @@ <widget name = 'Cancel' type = 'Button' /> - + <widget name = 'Apply' + type = 'Button' + /> <widget name = 'Ok' type = 'Button' /> diff --git a/gui/themes/translations.dat b/gui/themes/translations.dat Binary files differindex 8965134429..e57f42f383 100644 --- a/gui/themes/translations.dat +++ b/gui/themes/translations.dat diff --git a/gui/widgets/tab.cpp b/gui/widgets/tab.cpp index ed261c98ec..cf9dd5d962 100644 --- a/gui/widgets/tab.cpp +++ b/gui/widgets/tab.cpp @@ -199,6 +199,12 @@ void TabWidget::setActiveTab(int tabID) { } _activeTab = tabID; _firstWidget = _tabs[tabID].firstWidget; + + // Also ensure the tab is visible in the tab bar + if (_firstVisibleTab > tabID) + _firstVisibleTab = tabID; + else if (_firstVisibleTab + _w / _tabWidth <= tabID) + _firstVisibleTab = tabID - _w / _tabWidth + 1; _boss->draw(); } diff --git a/image/codecs/msrle.cpp b/image/codecs/msrle.cpp index bb1125e0af..95cada7e75 100644 --- a/image/codecs/msrle.cpp +++ b/image/codecs/msrle.cpp @@ -72,15 +72,10 @@ void MSRLEDecoder::decode8(Common::SeekableReadStream &stream) { y--; output = data + (y * width); - if (y < 0) { - warning("MS RLE Codec: Next line is beyond picture bounds"); - return; - } - } else if (value == 1) { // End of image - return; + } else if (value == 2) { // Skip @@ -99,6 +94,10 @@ void MSRLEDecoder::decode8(Common::SeekableReadStream &stream) { } else { // Copy data + if (y < 0) { + warning("MS RLE Codec: Copy data is beyond picture bounds"); + return; + } if (output + value > output_end) { if (stream.pos() + value >= stream.size()) @@ -119,6 +118,10 @@ void MSRLEDecoder::decode8(Common::SeekableReadStream &stream) { } else { // Run data + if (y < 0) { + warning("MS RLE Codec: Run data is beyond picture bounds"); + return; + } if (output + count > output_end) continue; diff --git a/image/tga.cpp b/image/tga.cpp index f22cfcb1ad..adfe7eefbb 100644 --- a/image/tga.cpp +++ b/image/tga.cpp @@ -152,7 +152,7 @@ bool TGADecoder::readHeader(Common::SeekableReadStream &tga, byte &imageType, by // of alpha-bits, however, as the game files that use this decoder seems // to ignore that fact, we force the amount to 8 for 32bpp files for now. _format = Graphics::PixelFormat(4, 8, 8, 8, /* attributeBits */ 8, 16, 8, 0, 24); - } else if (pixelDepth == 16 && imageType == TYPE_TRUECOLOR) { + } else if (pixelDepth == 16) { // 16bpp TGA is ARGB1555 _format = Graphics::PixelFormat(2, 5, 5, 5, attributeBits, 10, 5, 0, 15); } else { @@ -353,6 +353,13 @@ bool TGADecoder::readDataRLE(Common::SeekableReadStream &tga, byte imageType, by #endif count--; } + } else if (pixelDepth == 16 && imageType == TYPE_RLE_TRUECOLOR) { + const uint16 rgb = tga.readUint16LE(); + while (rleCount-- > 0) { + *((uint16 *)data) = rgb; + data += 2; + count--; + } } else if (pixelDepth == 8 && imageType == TYPE_RLE_BW) { byte color = tga.readByte(); while (rleCount-- > 0) { @@ -397,6 +404,12 @@ bool TGADecoder::readDataRLE(Common::SeekableReadStream &tga, byte imageType, by #endif count--; } + } else if (pixelDepth == 16 && imageType == TYPE_RLE_TRUECOLOR) { + while (rleCount-- > 0) { + *((uint16 *)data) = tga.readUint16LE(); + data += 2; + count--; + } } else if (pixelDepth == 8 && imageType == TYPE_RLE_BW) { while (rleCount-- > 0) { byte color = tga.readByte(); diff --git a/po/be_BY.po b/po/be_BY.po index 086e62d119..9cb16cec18 100644 --- a/po/be_BY.po +++ b/po/be_BY.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: ScummVM 1.8.0git\n" "Report-Msgid-Bugs-To: scummvm-devel@lists.scummvm.org\n" -"POT-Creation-Date: 2016-10-12 23:37+0100\n" +"POT-Creation-Date: 2016-11-05 12:43+0100\n" "PO-Revision-Date: 2016-10-07 19:14+0300\n" "Last-Translator: Ivan Lukyanov <greencis@mail.ru>\n" "Language-Team: Ivan Lukyanov <greencis@mail.ru>\n" @@ -18,6 +18,7 @@ msgstr "" "Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" "%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" "X-Generator: Poedit 1.8.9\n" +"X-Language-name: Belarusian\n" #: gui/about.cpp:94 #, c-format @@ -57,7 +58,7 @@ msgstr "ĆŅÕąå" #: gui/browser.cpp:75 gui/chooser.cpp:46 gui/editgamedialog.cpp:292 #: gui/editrecorddialog.cpp:67 gui/filebrowser-dialog.cpp:64 #: gui/fluidsynth-dialog.cpp:152 gui/KeysDialog.cpp:43 gui/massadd.cpp:95 -#: gui/options.cpp:1376 gui/predictivedialog.cpp:73 gui/recorderdialog.cpp:69 +#: gui/options.cpp:1461 gui/predictivedialog.cpp:73 gui/recorderdialog.cpp:69 #: gui/recorderdialog.cpp:155 gui/remotebrowser.cpp:59 #: gui/saveload-dialog.cpp:383 gui/saveload-dialog.cpp:443 #: gui/saveload-dialog.cpp:717 gui/saveload-dialog.cpp:1111 @@ -81,7 +82,7 @@ msgstr "°ŃąŠęģ" msgid "Select directory where to download game data" msgstr "°ŃļąėęÕ ŌėąķŚāŽąėī ŌŪļ įߊÜßŠŅŠŻŻļ ŌŠŌ×ÕŻėå ÓćŪģŻö" -#: gui/downloaddialog.cpp:49 gui/editgamedialog.cpp:472 gui/launcher.cpp:173 +#: gui/downloaddialog.cpp:49 gui/editgamedialog.cpp:470 gui/launcher.cpp:197 msgid "Select directory with game data" msgstr "°ŃļąėęÕ ŌėąķŚāŽąėī × äŠŁŪŠÜö ÓćŪģŻö" @@ -115,7 +116,7 @@ msgstr "" #: gui/downloaddialog.cpp:118 gui/downloaddialog.cpp:152 #: gui/filebrowser-dialog.cpp:132 gui/fluidsynth-dialog.cpp:217 -#: gui/launcher.cpp:286 gui/launcher.cpp:394 gui/launcher.cpp:453 +#: gui/launcher.cpp:307 gui/launcher.cpp:415 gui/launcher.cpp:474 #: gui/storagewizarddialog.cpp:112 #: backends/events/symbiansdl/symbiansdl-events.cpp:186 #: backends/platform/wince/CEActionsPocket.cpp:326 @@ -127,7 +128,7 @@ msgstr "ĀŠŚ" #: gui/downloaddialog.cpp:118 gui/downloaddialog.cpp:153 #: gui/filebrowser-dialog.cpp:132 gui/fluidsynth-dialog.cpp:217 -#: gui/launcher.cpp:286 gui/launcher.cpp:394 gui/launcher.cpp:453 +#: gui/launcher.cpp:307 gui/launcher.cpp:415 gui/launcher.cpp:474 #: gui/storagewizarddialog.cpp:112 #: backends/events/symbiansdl/symbiansdl-events.cpp:186 #: backends/platform/wince/CEActionsPocket.cpp:326 @@ -137,7 +138,7 @@ msgstr "ĀŠŚ" msgid "No" msgstr "½Õ" -#: gui/downloaddialog.cpp:136 gui/launcher.cpp:544 +#: gui/downloaddialog.cpp:136 gui/launcher.cpp:565 msgid "ScummVM couldn't open the specified directory!" msgstr "ScummVM ŻÕ ÜŽÖŠ ŠŌŚąėęģ Š×ŻŠēŠŻćī ŌėąķŚāŽąėī!" @@ -150,8 +151,8 @@ msgstr "" "ÜŠÕ äŠŁŪ × āėÜ ÖŠ öÜÕÜ." #: gui/downloaddialog.cpp:146 gui/editgamedialog.cpp:293 -#: gui/fluidsynth-dialog.cpp:153 gui/KeysDialog.cpp:42 gui/launcher.cpp:501 -#: gui/launcher.cpp:505 gui/massadd.cpp:92 gui/options.cpp:1377 +#: gui/fluidsynth-dialog.cpp:153 gui/KeysDialog.cpp:42 gui/launcher.cpp:522 +#: gui/launcher.cpp:526 gui/massadd.cpp:92 gui/options.cpp:1463 #: gui/saveload-dialog.cpp:1112 engines/engine.cpp:477 engines/engine.cpp:488 #: backends/platform/wii/options.cpp:47 #: backends/platform/wince/CELauncherDialog.cpp:54 @@ -236,8 +237,8 @@ msgstr "" "¼ŽŅŠ ÓćŪģŻö. ·ÜÕŻŠ ÓķāŠŁ ŻŠŪŠŌė ŻÕ ßÕąŠāŅŽąėęģ ąćįŚćī ŅÕąįöī ÓćŪģŻö ž " "ŃÕŪŠąćįŚćī" -#: gui/editgamedialog.cpp:151 gui/editgamedialog.cpp:165 gui/options.cpp:114 -#: gui/options.cpp:785 gui/options.cpp:798 gui/options.cpp:1261 +#: gui/editgamedialog.cpp:151 gui/editgamedialog.cpp:165 gui/options.cpp:121 +#: gui/options.cpp:812 gui/options.cpp:825 gui/options.cpp:1356 #: audio/null.cpp:41 msgid "<default>" msgstr "<ߊ ×ÜŠžēŠŻŻö>" @@ -260,11 +261,11 @@ msgstr "æŪŠā䎹܊:" msgid "Engine" msgstr "ĄćåŠŅöēŽŚ" -#: gui/editgamedialog.cpp:184 gui/options.cpp:1120 gui/options.cpp:1137 +#: gui/editgamedialog.cpp:184 gui/options.cpp:1147 gui/options.cpp:1232 msgid "Graphics" msgstr "³ąŠäöŚŠ" -#: gui/editgamedialog.cpp:184 gui/options.cpp:1120 gui/options.cpp:1137 +#: gui/editgamedialog.cpp:184 gui/options.cpp:1147 gui/options.cpp:1232 msgid "GFX" msgstr "³ąä" @@ -277,7 +278,7 @@ msgctxt "lowres" msgid "Override global graphic settings" msgstr "æÕąŠŚąėęģ ÓŪŠŃŠŪģŻėļ ŻŠŪŠŌė ÓąŠäöŚö" -#: gui/editgamedialog.cpp:196 gui/options.cpp:1143 +#: gui/editgamedialog.cpp:196 gui/options.cpp:1238 msgid "Audio" msgstr "°žŌėń" @@ -290,11 +291,11 @@ msgctxt "lowres" msgid "Override global audio settings" msgstr "æÕąŠŚąėęģ ÓŪŠŃŠŪģŻėļ ŻŠŪŠŌė ŠžŌėń" -#: gui/editgamedialog.cpp:210 gui/options.cpp:1148 +#: gui/editgamedialog.cpp:210 gui/options.cpp:1243 msgid "Volume" msgstr "³ćēŻŠįęģ" -#: gui/editgamedialog.cpp:212 gui/options.cpp:1150 +#: gui/editgamedialog.cpp:212 gui/options.cpp:1245 msgctxt "lowres" msgid "Volume" msgstr "³ćēŻŠįęģ" @@ -308,7 +309,7 @@ msgctxt "lowres" msgid "Override global volume settings" msgstr "æÕąŠŚąėęģ ÓŪŠŃŠŪģŻėļ ŻŠŪŠŌė ÓćēŻŠįęö" -#: gui/editgamedialog.cpp:226 gui/options.cpp:1158 +#: gui/editgamedialog.cpp:226 gui/options.cpp:1253 msgid "MIDI" msgstr "MIDI" @@ -321,7 +322,7 @@ msgctxt "lowres" msgid "Override global MIDI settings" msgstr "æÕąŠŚąėęģ ÓŪŠŃŠŪģŻėļ ŻŠŪŠŌė MIDI" -#: gui/editgamedialog.cpp:241 gui/options.cpp:1168 +#: gui/editgamedialog.cpp:241 gui/options.cpp:1263 msgid "MT-32" msgstr "MT-32" @@ -334,11 +335,11 @@ msgctxt "lowres" msgid "Override global MT-32 settings" msgstr "æÕąŠŚąėęģ ÓŪŠŃŠŪģŻėļ ŻŠŪŠŌė MT-32" -#: gui/editgamedialog.cpp:255 gui/options.cpp:1175 +#: gui/editgamedialog.cpp:255 gui/options.cpp:1270 msgid "Paths" msgstr "ČŪļåö" -#: gui/editgamedialog.cpp:257 gui/options.cpp:1177 +#: gui/editgamedialog.cpp:257 gui/options.cpp:1272 msgctxt "lowres" msgid "Paths" msgstr "ČŪļåö" @@ -352,7 +353,7 @@ msgctxt "lowres" msgid "Game Path:" msgstr "ČŪļå ŌŠ ÓćŪģŻö:" -#: gui/editgamedialog.cpp:271 gui/options.cpp:1201 +#: gui/editgamedialog.cpp:271 gui/options.cpp:1296 msgid "Extra Path:" msgstr "“ŠŌ. čŪļå:" @@ -361,56 +362,56 @@ msgstr "“ŠŌ. čŪļå:" msgid "Specifies path to additional data used by the game" msgstr "æŠŚŠ×ŅŠÕ čŪļå ŌŠ ŌŠŌŠāŚŽŅėå äŠŁŪŠž, ŌŠŌ×ÕŻėå ŌŪļ ÓćŪģŻö" -#: gui/editgamedialog.cpp:273 gui/options.cpp:1203 +#: gui/editgamedialog.cpp:273 gui/options.cpp:1298 msgctxt "lowres" msgid "Extra Path:" msgstr "“ŠŌ. čŪļå:" -#: gui/editgamedialog.cpp:280 gui/options.cpp:1185 +#: gui/editgamedialog.cpp:280 gui/options.cpp:1280 msgid "Save Path:" msgstr "·ŠåŠŅŠŻŻö ÓćŪģŻļž:" #: gui/editgamedialog.cpp:280 gui/editgamedialog.cpp:282 -#: gui/editgamedialog.cpp:283 gui/options.cpp:1185 gui/options.cpp:1187 -#: gui/options.cpp:1188 +#: gui/editgamedialog.cpp:283 gui/options.cpp:1280 gui/options.cpp:1282 +#: gui/options.cpp:1283 msgid "Specifies where your saved games are put" msgstr "æŠŚŠ×ŅŠÕ čŪļå ŌŠ ׊åŠŅŠŻŻļž ÓćŪģŻö" -#: gui/editgamedialog.cpp:282 gui/options.cpp:1187 +#: gui/editgamedialog.cpp:282 gui/options.cpp:1282 msgctxt "lowres" msgid "Save Path:" msgstr "·ŠåŠŅŠŻŻö ÓćŪģŻļž:" -#: gui/editgamedialog.cpp:301 gui/editgamedialog.cpp:400 -#: gui/editgamedialog.cpp:459 gui/editgamedialog.cpp:520 gui/options.cpp:1196 -#: gui/options.cpp:1204 gui/options.cpp:1213 gui/options.cpp:1414 -#: gui/options.cpp:1420 gui/options.cpp:1428 gui/options.cpp:1451 -#: gui/options.cpp:1467 gui/options.cpp:1473 gui/options.cpp:1480 -#: gui/options.cpp:1488 gui/options.cpp:1640 gui/options.cpp:1643 -#: gui/options.cpp:1650 gui/options.cpp:1660 +#: gui/editgamedialog.cpp:301 gui/editgamedialog.cpp:398 +#: gui/editgamedialog.cpp:457 gui/editgamedialog.cpp:518 gui/options.cpp:1291 +#: gui/options.cpp:1299 gui/options.cpp:1308 gui/options.cpp:1488 +#: gui/options.cpp:1494 gui/options.cpp:1502 gui/options.cpp:1525 +#: gui/options.cpp:1554 gui/options.cpp:1560 gui/options.cpp:1567 +#: gui/options.cpp:1575 gui/options.cpp:1758 gui/options.cpp:1761 +#: gui/options.cpp:1768 gui/options.cpp:1778 msgctxt "path" msgid "None" msgstr "½Õ ×ŠŌŠŌ×ÕŻė" -#: gui/editgamedialog.cpp:306 gui/editgamedialog.cpp:406 -#: gui/editgamedialog.cpp:524 gui/options.cpp:1408 gui/options.cpp:1461 -#: gui/options.cpp:1646 backends/platform/wii/options.cpp:56 +#: gui/editgamedialog.cpp:306 gui/editgamedialog.cpp:404 +#: gui/editgamedialog.cpp:522 gui/options.cpp:1482 gui/options.cpp:1548 +#: gui/options.cpp:1764 backends/platform/wii/options.cpp:56 msgid "Default" msgstr "æŠ ×ÜŠžēŠŻŻö" -#: gui/editgamedialog.cpp:452 gui/options.cpp:1654 +#: gui/editgamedialog.cpp:450 gui/options.cpp:1772 msgid "Select SoundFont" msgstr "°ŃļąėęÕ SoundFont" -#: gui/editgamedialog.cpp:491 +#: gui/editgamedialog.cpp:489 msgid "Select additional game directory" msgstr "°ŃļąėęÕ ŌŠŌŠāŚŽŅćī ŌėąķŚāŽąėī ÓćŪģŻö" -#: gui/editgamedialog.cpp:504 gui/options.cpp:1577 +#: gui/editgamedialog.cpp:502 gui/options.cpp:1695 msgid "Select directory for saved games" msgstr "°ŃļąėęÕ ŌėąķŚāŽąėī ŌŪļ ׊åŠŅŠŻŻļž" -#: gui/editgamedialog.cpp:510 +#: gui/editgamedialog.cpp:508 msgid "" "Saved games sync feature doesn't work with non-default directories. If you " "want your saved games to sync, use default directory." @@ -419,7 +420,7 @@ msgstr "" "ŗŠŪö Ņė ÖŠŌŠÕęÕ, ŚŠŃ ŅŠčė ׊åŠŅŠŻŻö ÓćŪģŻļž įöŻåąŠŻö×ŠŅŠŪöįļ, " "ŅėŚŠąėįāŽžŅŠŁęÕ ŌėąķŚāŽąėī ߊ ×ÜŠžēŠŻŻö." -#: gui/editgamedialog.cpp:536 +#: gui/editgamedialog.cpp:534 msgid "This game ID is already taken. Please choose another one." msgstr "³ķāė ID ÓćŪģŻö žÖŽ ŅėŚŠąėįāŽžŅŠÕęęŠ. ŗŠŪö ŪŠįŚŠ, ŠŃļąėęÕ öŻčė." @@ -499,7 +500,7 @@ msgstr "ĮöŻćįŽöŌŠ" msgid "Triangle" msgstr "ĀąŽåŚćāŻŠļ" -#: gui/fluidsynth-dialog.cpp:138 gui/options.cpp:1221 +#: gui/fluidsynth-dialog.cpp:138 gui/options.cpp:1316 msgid "Misc" msgstr "ĄŽ×ŻŠÕ" @@ -547,15 +548,15 @@ msgstr "·ŠŚąėęģ" msgid "Mouse click" msgstr "ŗŪöŚ Üėččć" -#: gui/gui-manager.cpp:126 base/main.cpp:337 +#: gui/gui-manager.cpp:126 base/main.cpp:340 msgid "Display keyboard" msgstr "æŠŚŠ×Šęģ ŚŪŠŅöļāćąć" -#: gui/gui-manager.cpp:130 base/main.cpp:341 +#: gui/gui-manager.cpp:130 base/main.cpp:344 msgid "Remap keys" msgstr "æÕąŠßąėׯŠēėęģ ŚŪŠŅöčė" -#: gui/gui-manager.cpp:133 base/main.cpp:344 engines/scumm/help.cpp:87 +#: gui/gui-manager.cpp:133 base/main.cpp:347 engines/scumm/help.cpp:87 msgid "Toggle fullscreen" msgstr "æÕąŠŚŪīēķŻŻÕ ŻŠ žŅÕįģ ķŚąŠŻ" @@ -589,110 +590,110 @@ msgstr "½ŠęöįŻöęÕ ŚŪŠŅöčć ŌŪļ ßąėׯŠēķŻŻļ" msgid "Choose an action to map" msgstr "°ŃļąėęÕ Ō×ÕļŻŻÕ ŌŪļ ßąėׯŠēķŻŻļ" -#: gui/launcher.cpp:117 engines/dialogs.cpp:111 engines/mohawk/dialogs.cpp:98 +#: gui/launcher.cpp:141 engines/dialogs.cpp:111 engines/mohawk/dialogs.cpp:98 msgid "~Q~uit" msgstr "~²~ėåŠŌ" -#: gui/launcher.cpp:117 backends/platform/sdl/macosx/appmenu_osx.mm:106 +#: gui/launcher.cpp:141 backends/platform/sdl/macosx/appmenu_osx.mm:106 msgid "Quit ScummVM" msgstr "·ŠŅļąčėęģ ScummVM" -#: gui/launcher.cpp:118 +#: gui/launcher.cpp:142 msgid "A~b~out..." msgstr "æąŠ ß~ą~ŠÓąŠÜć..." -#: gui/launcher.cpp:118 backends/platform/sdl/macosx/appmenu_osx.mm:80 +#: gui/launcher.cpp:142 backends/platform/sdl/macosx/appmenu_osx.mm:80 msgid "About ScummVM" msgstr "æąŠ ßąŠÓąŠÜć ScummVM" -#: gui/launcher.cpp:119 +#: gui/launcher.cpp:143 msgid "~O~ptions..." msgstr "~½~ŠŪŠŌė..." -#: gui/launcher.cpp:119 +#: gui/launcher.cpp:143 msgid "Change global ScummVM options" msgstr "·ÜļŻöęģ ÓŪŠŃŠŪģŻėļ ŻŠŪŠŌė ScummVM" -#: gui/launcher.cpp:121 +#: gui/launcher.cpp:145 msgid "~S~tart" msgstr "æ~ć~įŚ" -#: gui/launcher.cpp:121 +#: gui/launcher.cpp:145 msgid "Start selected game" msgstr "·Šßćįęöęģ ŠŃąŠŻćī ÓćŪģŻī" -#: gui/launcher.cpp:124 +#: gui/launcher.cpp:148 msgid "~L~oad..." msgstr "~·~ŠÓąć×öęģ..." -#: gui/launcher.cpp:124 +#: gui/launcher.cpp:148 msgid "Load saved game for selected game" msgstr "·ŠÓąć×öęģ ׊åŠŅŠŻŻÕ ŌŪļ ŠŃąŠŻŠŁ ÓćŪģŻö" -#: gui/launcher.cpp:129 +#: gui/launcher.cpp:153 msgid "~A~dd Game..." msgstr "~“~ŠŌŠęģ ÓćŪģŻī..." -#: gui/launcher.cpp:129 gui/launcher.cpp:136 +#: gui/launcher.cpp:153 gui/launcher.cpp:160 msgid "Hold Shift for Mass Add" msgstr "ĆāąėÜŪöŅŠŁęÕ ŚŪŠŅöčć Shift, ŚŠŃ ŌŠŌŠęģ ŻÕŚŠŪģŚö ÓćŪģŻļž" -#: gui/launcher.cpp:131 +#: gui/launcher.cpp:155 msgid "~E~dit Game..." msgstr "½~Š~ŪŠŌė ÓćŪģŻö..." -#: gui/launcher.cpp:131 gui/launcher.cpp:138 +#: gui/launcher.cpp:155 gui/launcher.cpp:162 msgid "Change game options" msgstr "·ÜļŻöęģ ŻŠŪŠŌė ÓćŪģŻö" -#: gui/launcher.cpp:133 +#: gui/launcher.cpp:157 msgid "~R~emove Game" msgstr "²~ė~ŌŠŪöęģ ÓćŪģŻī" -#: gui/launcher.cpp:133 gui/launcher.cpp:140 +#: gui/launcher.cpp:157 gui/launcher.cpp:164 msgid "Remove game from the list. The game data files stay intact" msgstr "²ėŌŠŪöęģ ÓćŪģŻī įŠ įßöįć. ½Õ ŅėŌŠŪļÕ ÓćŪģŻī × ŻŽįģŃöāŠ" -#: gui/launcher.cpp:136 +#: gui/launcher.cpp:160 msgctxt "lowres" msgid "~A~dd Game..." msgstr "~“~ŠŌŠęģ ÓćŪģŻī..." -#: gui/launcher.cpp:138 +#: gui/launcher.cpp:162 msgctxt "lowres" msgid "~E~dit Game..." msgstr "½~Š~ŪŠŌė ÓćŪģŻö..." -#: gui/launcher.cpp:140 +#: gui/launcher.cpp:164 msgctxt "lowres" msgid "~R~emove Game" msgstr "²~ė~ŌŠŪöęģ ÓćŪģŻī" -#: gui/launcher.cpp:148 +#: gui/launcher.cpp:172 msgid "Search in game list" msgstr "æŽčćŚ ć įßöįÕ ÓćŪģŻļž" -#: gui/launcher.cpp:152 gui/launcher.cpp:750 +#: gui/launcher.cpp:176 gui/launcher.cpp:771 msgid "Search:" msgstr "æŽčćŚ:" -#: gui/launcher.cpp:176 engines/dialogs.cpp:115 engines/cruise/menu.cpp:214 -#: engines/mohawk/dialogs.cpp:103 engines/mohawk/riven.cpp:733 +#: gui/launcher.cpp:200 engines/dialogs.cpp:115 engines/cruise/menu.cpp:214 +#: engines/mohawk/dialogs.cpp:103 engines/mohawk/riven.cpp:734 #: engines/pegasus/pegasus.cpp:353 engines/tsage/scenes.cpp:601 msgid "Load game:" msgstr "·ŠÓąć×öęģ ÓćŪģŻī:" -#: gui/launcher.cpp:176 engines/dialogs.cpp:115 +#: gui/launcher.cpp:200 engines/dialogs.cpp:115 #: backends/platform/wince/CEActionsPocket.cpp:267 #: backends/platform/wince/CEActionsSmartphone.cpp:231 #: engines/cruise/menu.cpp:214 engines/mohawk/dialogs.cpp:103 -#: engines/mohawk/riven.cpp:733 engines/parallaction/saveload.cpp:194 +#: engines/mohawk/riven.cpp:734 engines/parallaction/saveload.cpp:194 #: engines/pegasus/pegasus.cpp:353 engines/scumm/dialogs.cpp:185 #: engines/tsage/scenes.cpp:601 msgid "Load" msgstr "·ŠÓąć×öęģ" -#: gui/launcher.cpp:285 +#: gui/launcher.cpp:306 msgid "" "Do you really want to run the mass game detector? This could potentially add " "a huge number of games." @@ -700,41 +701,41 @@ msgstr "" "²ė įŠßąŠžŌė ÖŠŌŠÕęÕ ×Šßćįęöęģ ŌķāķŚāŠą ćįöå ÓćŪģŻļž? ³ķāŠ ßŠāķŻęėļŪģŻŠ ÜŽÖŠ " "ŌŠŌŠęģ ŅļŪöŚćī ŚŽŪģŚŠįęģ ÓćŪģŻļž." -#: gui/launcher.cpp:344 +#: gui/launcher.cpp:365 msgid "This directory cannot be used yet, it is being downloaded into!" msgstr "" "³ķāŠ ŌėąķŚāŽąėļ ߊŚćŪģ ŻÕ ÜŽÖŠ ŅėŚŠąėįāŽžŅŠęęŠ, ć ļÕ ęļßÕą ׊ӹćÖŠīęęŠ " "ŌŠŌ×ÕŻėļ!" -#: gui/launcher.cpp:394 +#: gui/launcher.cpp:415 msgid "Do you really want to remove this game configuration?" msgstr "²ė įŠßąŠžŌė ÖŠŌŠÕęÕ ŅėŌŠŪöęģ ŻŠŪŠŌė ŌŪļ ÓķāŠŁ ÓćŪģŻö?" -#: gui/launcher.cpp:452 +#: gui/launcher.cpp:473 msgid "Do you want to load saved game?" msgstr "²ė ÖŠŌŠÕęÕ ×ŠÓąć×öęģ ÓćŪģŻī?" -#: gui/launcher.cpp:501 +#: gui/launcher.cpp:522 msgid "This game does not support loading games from the launcher." msgstr "³ķāŠļ ÓćŪģŻļ ŻÕ ߊŌāąėÜŪöŅŠÕ ×ŠÓąć׌ć ׊åŠŅŠŻŻļž ßąŠ× ÓŠŪŽžŻŠÕ ÜÕŻī." -#: gui/launcher.cpp:505 +#: gui/launcher.cpp:526 msgid "ScummVM could not find any engine capable of running the selected game!" msgstr "ScummVM ŻÕ ×ÜŽÓ ×ŻŠŁįęö ąćåŠŅöēŽŚ ŌŪļ ׊ßćįŚć ŠŃąŠŻŠŁ ÓćŪģŻö!" -#: gui/launcher.cpp:556 +#: gui/launcher.cpp:577 msgid "ScummVM could not find any game in the specified directory!" msgstr "ScummVM ŻÕ ÜŽÖŠ ×ŻŠŁįęö ÓćŪģŻī ž Š×ŻŠēŠŻŠŁ ŌėąķŚāŽąėö!" -#: gui/launcher.cpp:569 +#: gui/launcher.cpp:590 msgid "Pick the game:" msgstr "°ŃļąėęÕ ÓćŪģŻī:" -#: gui/launcher.cpp:687 +#: gui/launcher.cpp:708 msgid "Mass Add..." msgstr "ČÜŠā ÓćŪģŻļž..." -#: gui/launcher.cpp:689 +#: gui/launcher.cpp:710 msgid "Record..." msgstr "·Šßöį..." @@ -777,146 +778,146 @@ msgstr "æÕąŠŚŪīēėęęŠ ž ÓćŪģŻī" msgid "Fast replay" msgstr "ÅćāŚŠÕ ßąŠŁÓąŠŅŠŻŻÕ" -#: gui/options.cpp:112 common/updates.cpp:56 +#: gui/options.cpp:119 common/updates.cpp:56 msgid "Never" msgstr "½öŚŽŪö" -#: gui/options.cpp:112 +#: gui/options.cpp:119 msgid "every 5 mins" msgstr "ŚŽÖŻėļ 5 åŅöŪöŻ" -#: gui/options.cpp:112 +#: gui/options.cpp:119 msgid "every 10 mins" msgstr "ŚŽÖŻėļ 10 åŅöŪöŻ" -#: gui/options.cpp:112 +#: gui/options.cpp:119 msgid "every 15 mins" msgstr "ŚŽÖŻėļ 15 åŅöŪöŻ" -#: gui/options.cpp:112 +#: gui/options.cpp:119 msgid "every 30 mins" msgstr "ŚŽÖŻėļ 30 åŅöŪöŻ" -#: gui/options.cpp:114 +#: gui/options.cpp:121 msgid "8 kHz" msgstr "8 ڳę" -#: gui/options.cpp:114 +#: gui/options.cpp:121 msgid "11 kHz" msgstr "11 ڳę" -#: gui/options.cpp:114 +#: gui/options.cpp:121 msgid "22 kHz" msgstr "22 ڳę" -#: gui/options.cpp:114 +#: gui/options.cpp:121 msgid "44 kHz" msgstr "44 ڳę" -#: gui/options.cpp:114 +#: gui/options.cpp:121 msgid "48 kHz" msgstr "48 ڳę" -#: gui/options.cpp:291 gui/options.cpp:528 gui/options.cpp:629 -#: gui/options.cpp:699 gui/options.cpp:910 +#: gui/options.cpp:289 gui/options.cpp:552 gui/options.cpp:657 +#: gui/options.cpp:726 gui/options.cpp:937 msgctxt "soundfont" msgid "None" msgstr "½Õ ×ŠŌŠŌ×ÕŻė" -#: gui/options.cpp:432 +#: gui/options.cpp:456 msgid "Failed to apply some of the graphic options changes:" msgstr "½Õ ŠāąėÜŠŪŠįļ žÖėęģ ×ÜÕŻė ŻÕŚŠāŽąėå ÓąŠäöēŻėå ŻŠŪŠŌ:" -#: gui/options.cpp:444 +#: gui/options.cpp:468 msgid "the video mode could not be changed." msgstr "ŅöŌķŠąķÖėÜ ŻÕ ÜŽÖŠ Ńėęģ ×ÜÕŻÕŻė." -#: gui/options.cpp:450 +#: gui/options.cpp:474 msgid "the aspect ratio setting could not be changed" msgstr "ąķÖėÜ ŚŠąķŚāėąŽžŚö įćŠŌŻŽįöŻ ŃŠŚŽž ŻÕ ÜŽÖŠ Ńėęģ ×ÜÕŻÕŻė" -#: gui/options.cpp:456 +#: gui/options.cpp:480 msgid "the fullscreen setting could not be changed" msgstr "ߎžŻŠķŚąŠŻŻė ąķÖėÜ ŻÕ ÜŽÖŠ Ńėęģ ×ÜÕŻÕŻė" -#: gui/options.cpp:462 +#: gui/options.cpp:486 #, fuzzy msgid "the filtering setting could not be changed" msgstr "ߎžŻŠķŚąŠŻŻė ąķÖėÜ ŻÕ ÜŽÖŠ Ńėęģ ×ÜÕŻÕŻė" -#: gui/options.cpp:782 +#: gui/options.cpp:809 msgid "Graphics mode:" msgstr "³ąŠä. ąķÖėÜ:" -#: gui/options.cpp:796 +#: gui/options.cpp:823 msgid "Render mode:" msgstr "ĄķÖėÜ ąŠįāąć:" -#: gui/options.cpp:796 gui/options.cpp:797 +#: gui/options.cpp:823 gui/options.cpp:824 msgid "Special dithering modes supported by some games" msgstr "ĮßÕęėļŪģŻėļ ąķÖėÜė ąķŻŌķąėŻÓć, ߊŌāąėÜŽžŅŠŻėļ ŻÕŚŠāŽąėÜö ÓćŪģŻļÜö" -#: gui/options.cpp:808 -#: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:2450 +#: gui/options.cpp:835 backends/graphics/openglsdl/openglsdl-graphics.cpp:615 +#: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:2460 msgid "Fullscreen mode" msgstr "æŽžŻŠķŚąŠŻŻė ąķÖėÜ" -#: gui/options.cpp:811 +#: gui/options.cpp:838 #, fuzzy msgid "Filter graphics" msgstr "²ėŚŠąėįāŽžŅŠęģ ŚŠŪļąŽŅćī ÓąŠäöŚć" -#: gui/options.cpp:811 +#: gui/options.cpp:838 msgid "Use linear filtering when scaling graphics" msgstr "" -#: gui/options.cpp:814 +#: gui/options.cpp:841 msgid "Aspect ratio correction" msgstr "ŗŠąķŚęėļ įćŠŌŻŽįöŻ ŃŠŚŽž" -#: gui/options.cpp:814 +#: gui/options.cpp:841 msgid "Correct aspect ratio for 320x200 games" msgstr "ŗŠąķŚāŠŅŠęģ įćŠŌŻŽįöŻė ŃŠŚŽž ŌŪļ ÓćŪģŻļž × ŠŌąŽ×ŻÕŻŻÕÜ 320x200" -#: gui/options.cpp:822 +#: gui/options.cpp:849 msgid "Preferred Device:" msgstr "ĆßŠŌŠŃŠŻŠļ ßąėŪŠŌŠ:" -#: gui/options.cpp:822 +#: gui/options.cpp:849 msgid "Music Device:" msgstr "³ćŚŠŅŠļ ßąėŪŠŌŠ:" -#: gui/options.cpp:822 gui/options.cpp:824 +#: gui/options.cpp:849 gui/options.cpp:851 msgid "Specifies preferred sound device or sound card emulator" msgstr "·Š×ŻŠēŠÕ žßŠŌŠŃŠŻćī Ó挊Ņćī ßąėŪŠŌć ęö ķÜćŪļāŠą ÓćŚŠŅŽŁ ŚŠąāė" -#: gui/options.cpp:822 gui/options.cpp:824 gui/options.cpp:825 +#: gui/options.cpp:849 gui/options.cpp:851 gui/options.cpp:852 msgid "Specifies output sound device or sound card emulator" msgstr "·Š×ŻŠēŠÕ ŅėåŽŌŻćī Ó挊Ņćī ßąėŪŠŌć ęö ķÜćŪļāŠą ÓćŚŠŅŽŁ ŚŠąāė" -#: gui/options.cpp:824 +#: gui/options.cpp:851 msgctxt "lowres" msgid "Preferred Dev.:" msgstr "ĆßŠŌŠŃŠŻŠļ:" -#: gui/options.cpp:824 +#: gui/options.cpp:851 msgctxt "lowres" msgid "Music Device:" msgstr "³ćŚŠŅŠļ ßąėŪŠŌŠ:" -#: gui/options.cpp:851 +#: gui/options.cpp:878 msgid "AdLib emulator:" msgstr "ĶÜćŪļāŠą AdLib:" -#: gui/options.cpp:851 gui/options.cpp:852 +#: gui/options.cpp:878 gui/options.cpp:879 msgid "AdLib is used for music in many games" msgstr "³ćŚŠŅŠļ ŚŠąāŠ AdLib ŅėŚŠąėįāŽžŅŠÕęęŠ ÜŻŽÓöÜö ÓćŪģŻļÜö" -#: gui/options.cpp:862 +#: gui/options.cpp:889 msgid "Output rate:" msgstr "ĒŠčēėŻļ ÓćŚć:" -#: gui/options.cpp:862 gui/options.cpp:863 +#: gui/options.cpp:889 gui/options.cpp:890 msgid "" "Higher value specifies better sound quality but may be not supported by your " "soundcard" @@ -924,64 +925,64 @@ msgstr "" "±ŽŪģčėļ ׯŠēķŻŻö ×ŠŌŠīęģ ŪÕßčćī ļŚŠįęģ ÓćŚć, ŠŌŻŠŚ ļŻė ÜŽÓćęģ ŻÕ " "ߊŌāąėÜŪöŅŠęęŠ ŅŠčŠŁ ÓćŚŠŅŽŁ ŚŠąāŠŁ" -#: gui/options.cpp:873 +#: gui/options.cpp:900 msgid "GM Device:" msgstr "æąėŪŠŌŠ GM:" -#: gui/options.cpp:873 +#: gui/options.cpp:900 msgid "Specifies default sound device for General MIDI output" msgstr "·Š×ŻŠēŠÕ ŅėåŽŌŻćī Ó挊Ņćī ßąėŪŠŌć ŌŪļ MIDI" -#: gui/options.cpp:884 +#: gui/options.cpp:911 msgid "Don't use General MIDI music" msgstr "½Õ ŅėŚŠąėįāŽžŅŠęģ Üć×ėŚć ŌŪļ General MIDI" -#: gui/options.cpp:895 gui/options.cpp:957 +#: gui/options.cpp:922 gui/options.cpp:984 msgid "Use first available device" msgstr "²ėŚŠąėįāŽžŅŠęģ ßÕąčćī ŌŠįāć߯ćī ßąėŪŠŌć" -#: gui/options.cpp:907 +#: gui/options.cpp:934 msgid "SoundFont:" msgstr "SoundFont:" -#: gui/options.cpp:907 gui/options.cpp:909 gui/options.cpp:910 +#: gui/options.cpp:934 gui/options.cpp:936 gui/options.cpp:937 msgid "SoundFont is supported by some audio cards, FluidSynth and Timidity" msgstr "" "SoundFont'ė ߊŌāąėÜŪöŅŠīęęŠ ŻÕŚŠāŽąėÜö Ó挊ŅėÜö ŚŠąāŠÜö, FluidSynth Ōė " "Timidity" -#: gui/options.cpp:909 +#: gui/options.cpp:936 msgctxt "lowres" msgid "SoundFont:" msgstr "SoundFont:" -#: gui/options.cpp:915 +#: gui/options.cpp:942 msgid "Mixed AdLib/MIDI mode" msgstr "·ÜÕčŠŻė ąķÖėÜ AdLib/MIDI" -#: gui/options.cpp:915 +#: gui/options.cpp:942 msgid "Use both MIDI and AdLib sound generation" msgstr "²ėŚŠąėįāŽžŅŠęģ ö MIDI, ö AdLib ŌŪļ ÓÕŻÕąŠęėö ÓćŚć" -#: gui/options.cpp:918 +#: gui/options.cpp:945 msgid "MIDI gain:" msgstr "Ć×ÜŠęŻÕŻŻÕ MIDI:" -#: gui/options.cpp:928 +#: gui/options.cpp:955 msgid "MT-32 Device:" msgstr "½ŠŪ. MT-32:" -#: gui/options.cpp:928 +#: gui/options.cpp:955 msgid "Specifies default sound device for Roland MT-32/LAPC1/CM32l/CM64 output" msgstr "" "æŠŚŠ×ŅŠÕ Ó挊Ņćī ßąėŪŠŌć ߊ ×ÜŠžēŠŻŻö ŌŪļ ŅėŅŠŌć ŻŠ Roland MT-32/LAPC1/CM32l/" "CM64" -#: gui/options.cpp:933 +#: gui/options.cpp:960 msgid "True Roland MT-32 (disable GM emulation)" msgstr "ĮŠßąŠžŌŻė Roland MT-32 (×ŠŃŠąŠŻöęģ ķÜćŪļęėī GM)" -#: gui/options.cpp:933 gui/options.cpp:935 +#: gui/options.cpp:960 gui/options.cpp:962 msgid "" "Check if you want to use your real hardware Roland-compatible sound device " "connected to your computer" @@ -989,16 +990,16 @@ msgstr "" "°ŌׯŠēęÕ, ŚŠŪö ž ŅŠį ßŠŌŚŪīēŠŻŠ Roland-įćÜļčēŠŪģŻŠļ ÓćŚŠŅŠļ ßąėŪŠŌŠ ö Ņė " "ÖŠŌŠÕęÕ ļÕ ŅėŚŠąėįāŽžŅŠęģ" -#: gui/options.cpp:935 +#: gui/options.cpp:962 msgctxt "lowres" msgid "True Roland MT-32 (no GM emulation)" msgstr "ĮŠßąŠžŌŻė Roland MT-32 (ŃÕ× ķÜćŪļęėö GM)" -#: gui/options.cpp:938 +#: gui/options.cpp:965 msgid "Roland GS Device (enable MT-32 mappings)" msgstr "ĄķÖėÜ Roland GS (ŌŠ×ŅŽŪöęģ ÜŠßöŻÓ MT-32)" -#: gui/options.cpp:938 +#: gui/options.cpp:965 msgid "" "Check if you want to enable patch mappings to emulate an MT-32 on a Roland " "GS device" @@ -1006,265 +1007,265 @@ msgstr "" "°ŌׯŠēęÕ, ŚŠŪö ÖŠŌŠÕęÕ ŌŠ×ŅŽŪöęģ ÜŠßöŻÓ ŌŪļ ķÜćŪļęėö MT-32 ŻŠ ßąėŪŠŌ×Õ " "Rolans GS" -#: gui/options.cpp:947 +#: gui/options.cpp:974 msgid "Don't use Roland MT-32 music" msgstr "½Õ ŅėŚŠąėįāŽžŅŠęģ Üć×ėŚć ŌŪļ MT-32" -#: gui/options.cpp:974 +#: gui/options.cpp:1001 msgid "Text and Speech:" msgstr "ĀķŚįā ö ŠÓćēŚŠ:" -#: gui/options.cpp:978 gui/options.cpp:988 +#: gui/options.cpp:1005 gui/options.cpp:1015 msgid "Speech" msgstr "°ÓćēŚŠ" -#: gui/options.cpp:979 gui/options.cpp:989 +#: gui/options.cpp:1006 gui/options.cpp:1016 msgid "Subtitles" msgstr "ĮćŃāėāąė" -#: gui/options.cpp:980 +#: gui/options.cpp:1007 msgid "Both" msgstr "°ŃŽÕ" -#: gui/options.cpp:982 +#: gui/options.cpp:1009 msgid "Subtitle speed:" msgstr "ÅćāŚŠįęģ āėāąŠž:" -#: gui/options.cpp:984 +#: gui/options.cpp:1011 msgctxt "lowres" msgid "Text and Speech:" msgstr "ĀķŚįā ö ŠÓćēŚŠ:" -#: gui/options.cpp:988 +#: gui/options.cpp:1015 msgid "Spch" msgstr "°Óćē" -#: gui/options.cpp:989 +#: gui/options.cpp:1016 msgid "Subs" msgstr "ĮćŃ" -#: gui/options.cpp:990 +#: gui/options.cpp:1017 msgctxt "lowres" msgid "Both" msgstr "°ŃŽÕ" -#: gui/options.cpp:990 +#: gui/options.cpp:1017 msgid "Show subtitles and play speech" msgstr "æŠŚŠ×ŅŠęģ įćŃāėāąė ö ßąŠŁÓąŠŅŠęģ ÓŠŅŽąŚć" -#: gui/options.cpp:992 +#: gui/options.cpp:1019 msgctxt "lowres" msgid "Subtitle speed:" msgstr "ÅćāŚŠįęģ āėāąŠž:" -#: gui/options.cpp:1008 +#: gui/options.cpp:1035 msgid "Music volume:" msgstr "³ćēŻ. Üć×ėŚö:" -#: gui/options.cpp:1010 +#: gui/options.cpp:1037 msgctxt "lowres" msgid "Music volume:" msgstr "³ćēŻ. Üć×ėŚö:" -#: gui/options.cpp:1017 +#: gui/options.cpp:1044 msgid "Mute All" msgstr "²ėŚŪ. ćįń" -#: gui/options.cpp:1020 +#: gui/options.cpp:1047 msgid "SFX volume:" msgstr "³ćēŻŠįęģ SFX:" -#: gui/options.cpp:1020 gui/options.cpp:1022 gui/options.cpp:1023 +#: gui/options.cpp:1047 gui/options.cpp:1049 gui/options.cpp:1050 msgid "Special sound effects volume" msgstr "³ćēŻŠįęģ įßÕęėļŪģŻėå Ó挊Ņėå ķäÕŚāŠž" -#: gui/options.cpp:1022 +#: gui/options.cpp:1049 msgctxt "lowres" msgid "SFX volume:" msgstr "³ćēŻŠįęģ SFX:" -#: gui/options.cpp:1030 +#: gui/options.cpp:1057 msgid "Speech volume:" msgstr "³ćēŻ. ŠÓćēŚö:" -#: gui/options.cpp:1032 +#: gui/options.cpp:1059 msgctxt "lowres" msgid "Speech volume:" msgstr "³ćēŻ. ŠÓćēŚö:" -#: gui/options.cpp:1162 +#: gui/options.cpp:1257 msgid "FluidSynth Settings" msgstr "½ŠŪŠŌė FluidSynth" -#: gui/options.cpp:1193 +#: gui/options.cpp:1288 msgid "Theme Path:" msgstr "ČŪļå ŌŠ āķÜ:" -#: gui/options.cpp:1195 +#: gui/options.cpp:1290 msgctxt "lowres" msgid "Theme Path:" msgstr "ČŪļå ŌŠ āķÜ:" -#: gui/options.cpp:1201 gui/options.cpp:1203 gui/options.cpp:1204 +#: gui/options.cpp:1296 gui/options.cpp:1298 gui/options.cpp:1299 msgid "Specifies path to additional data used by all games or ScummVM" msgstr "" "æŠŚŠ×ŅŠÕ čŪļå ŌŠ ŌŠŌŠāŚŽŅėå äŠŁŪŠž ŌŠŌ×ÕŻėå, ŅėŚŠąėįāŽžŅŠŻėå ćįöÜö ÓćŪģŻļÜö " "ŠŃŽ ScummVM" -#: gui/options.cpp:1210 +#: gui/options.cpp:1305 msgid "Plugins Path:" msgstr "ČŪļå ŌŠ ßŪŠÓöŻŠž:" -#: gui/options.cpp:1212 +#: gui/options.cpp:1307 msgctxt "lowres" msgid "Plugins Path:" msgstr "ČŪļå ŌŠ ßŪŠÓöŻŠž:" -#: gui/options.cpp:1223 +#: gui/options.cpp:1318 msgctxt "lowres" msgid "Misc" msgstr "ĄŽ×ŻŠÕ" -#: gui/options.cpp:1225 +#: gui/options.cpp:1320 msgid "Theme:" msgstr "ĀķÜŠ" -#: gui/options.cpp:1229 +#: gui/options.cpp:1324 msgid "GUI Renderer:" msgstr "¼ŠŪļŅŠŪŚŠ GUI:" -#: gui/options.cpp:1241 +#: gui/options.cpp:1336 msgid "Autosave:" msgstr "°žāŠ×ŠåŠŅŠŻŻÕ:" -#: gui/options.cpp:1243 +#: gui/options.cpp:1338 msgctxt "lowres" msgid "Autosave:" msgstr "°žāŠ×ŠåŠŅŠŻŻÕ:" -#: gui/options.cpp:1251 +#: gui/options.cpp:1346 msgid "Keys" msgstr "ŗŪŠŅöčė" -#: gui/options.cpp:1258 +#: gui/options.cpp:1353 msgid "GUI Language:" msgstr "¼ŽŅŠ GUI:" -#: gui/options.cpp:1258 +#: gui/options.cpp:1353 msgid "Language of ScummVM GUI" msgstr "¼ŽŅŠ ÓąŠäöēŻŠÓŠ öŻāķąäÕŁįć ScummVM" -#: gui/options.cpp:1286 +#: gui/options.cpp:1381 msgid "Update check:" msgstr "æąŠŅļąŠęģ ŠŃŻŠžŪÕŻŻö:" -#: gui/options.cpp:1286 +#: gui/options.cpp:1381 msgid "How often to check ScummVM updates" msgstr "ĻŚ ēŠįāŠ ßąŠŅļąŠęģ ŠŃŻŠžŪÕŻŻö ScummVM" -#: gui/options.cpp:1298 +#: gui/options.cpp:1393 msgid "Check now" msgstr "æąŠŅÕąėęģ ęļßÕą" -#: gui/options.cpp:1306 +#: gui/options.cpp:1401 msgid "Cloud" msgstr "²ŽŃŪŠŚŠ" -#: gui/options.cpp:1308 +#: gui/options.cpp:1403 msgctxt "lowres" msgid "Cloud" msgstr "²ŽŃŪŠŚŠ" -#: gui/options.cpp:1319 +#: gui/options.cpp:1408 msgid "Storage:" msgstr "²ŽŃŪŠŚŠ:" -#: gui/options.cpp:1319 +#: gui/options.cpp:1408 msgid "Active cloud storage" msgstr "°ŚāėžŻŠÕ ŅŽŃŪŠēŻŠÕ įåŽŅöčēŠ" -#: gui/options.cpp:1326 gui/options.cpp:1877 +#: gui/options.cpp:1415 gui/options.cpp:1972 msgid "<none>" msgstr "<ŻļÜŠ>" -#: gui/options.cpp:1330 backends/platform/wii/options.cpp:114 +#: gui/options.cpp:1419 backends/platform/wii/options.cpp:114 msgid "Username:" msgstr "ŗŠąėįāŠē:" -#: gui/options.cpp:1330 +#: gui/options.cpp:1419 msgid "Username used by this storage" msgstr "¦Üļ ŚŠąėįāŠēŠ ž ÓķāėÜ ŅŽŃŪŠŚć" -#: gui/options.cpp:1333 +#: gui/options.cpp:1422 msgid "Used space:" msgstr "ŗŠąėįāŠŻė ŠŃ'ńÜ" -#: gui/options.cpp:1333 +#: gui/options.cpp:1422 msgid "Space used by ScummVM's saved games on this storage" msgstr "°Ń'ńÜ, ׊Żļāė ׊åŠŅŠŻŻļÜö ÓćŪģŻļž ScummVM ŻŠ ÓķāėÜ ŅŽŃŪŠŚć" -#: gui/options.cpp:1336 +#: gui/options.cpp:1425 msgid "Last sync time:" msgstr "°ßŽčŻļļ įöŻåąŠŻö׊ęėļ:" -#: gui/options.cpp:1336 +#: gui/options.cpp:1425 msgid "When the last saved games sync for this storage occured" msgstr "ŗŠŪö ąŠŃöŪŠįļ ŠßŽčŻļļ įöŻåąŠŻö׊ęėļ × ÓķāėÜ ŅŽŃŪŠŚŠÜ" -#: gui/options.cpp:1339 gui/storagewizarddialog.cpp:71 +#: gui/options.cpp:1428 gui/storagewizarddialog.cpp:71 msgid "Connect" msgstr "“ŠŪćēėęģ" -#: gui/options.cpp:1339 +#: gui/options.cpp:1428 msgid "Open wizard dialog to connect your cloud storage account" msgstr "°ŌŚąėŅŠÕ ŌėļŪŽÓ ŌŪļ ŻŠŪŠŌė ŌŠŪćēķŻŻļ ŌŠ ŅŽŃŪŠŚŠ" -#: gui/options.cpp:1340 +#: gui/options.cpp:1429 msgid "Refresh" msgstr "°ŃŻŠŅöęģ" -#: gui/options.cpp:1340 +#: gui/options.cpp:1429 msgid "Refresh current cloud storage information (username and usage)" msgstr "°ŃŻŠžŪļÕ ŃļÓćēćī öŻäŠąÜŠęėī ßąŠ ŅŽŃŪŠŚŠ (öÜļ ŚŠąėįāŠēŠ ö ŠŃ'ńÜ)" -#: gui/options.cpp:1341 +#: gui/options.cpp:1430 msgid "Download" msgstr "·ŠÓąć×öęģ" -#: gui/options.cpp:1341 +#: gui/options.cpp:1430 msgid "Open downloads manager dialog" msgstr "°ŌŚąėŅŠÕ ÜÕŻÕŌÖŠą ׊ӹć׊Ś" -#: gui/options.cpp:1343 +#: gui/options.cpp:1432 msgid "Run server" msgstr "·Šßćįęöęģ įÕąŅÕą" -#: gui/options.cpp:1343 +#: gui/options.cpp:1432 msgid "Run local webserver" msgstr "·ŠßćįŚŠÕ ŪŠŚŠŪģŻė ŅķŃ-įÕąŅÕą" -#: gui/options.cpp:1344 gui/options.cpp:1987 +#: gui/options.cpp:1433 gui/options.cpp:2082 msgid "Not running" msgstr "½Õ ׊ßćčēŠŻė" -#: gui/options.cpp:1348 +#: gui/options.cpp:1437 msgid "/root/ Path:" msgstr "ŗŠąŠŻńŅŠļ ŌėąķŚāŽąėļ:" -#: gui/options.cpp:1348 gui/options.cpp:1350 gui/options.cpp:1351 +#: gui/options.cpp:1437 gui/options.cpp:1439 gui/options.cpp:1440 msgid "Specifies which directory the Files Manager can access" msgstr "æŠŚŠ×ŅŠÕ čŪļå ŌŠ ŌėąķŚāŽąėö, ŚćŌė ŃćŌ×Õ ÜÕęģ ŌŽįāćß ¼ÕŻÕŌÖŠą äŠŁŪŠž" -#: gui/options.cpp:1350 +#: gui/options.cpp:1439 msgctxt "lowres" msgid "/root/ Path:" msgstr "ŗŽąŠŻģ" -#: gui/options.cpp:1360 +#: gui/options.cpp:1449 msgid "Server's port:" msgstr "æŽąā įÕąŅÕąŠ:" -#: gui/options.cpp:1360 +#: gui/options.cpp:1449 msgid "" "Which port is used by the server\n" "Auth with server is not available with non-default port" @@ -1272,68 +1273,68 @@ msgstr "" "½ćÜŠą ߎąāŠ, ŅėŚŠąėįāŽžŅŠŻė įÕąŅÕąŠÜ\n" "ĆįāŠŪļŅŠŻŻÕ ŌŽįāćßć ßąŠęćÕ āŽŪģŚö × ßŽąāŠÜ ߊ ×ÜŠžēŠŻŻö" -#: gui/options.cpp:1520 -msgid "You have to restart ScummVM before your changes will take effect." -msgstr "²ė ߊŅöŻŻė ßÕąŠ×Šßćįęöęģ ScummVM, ŚŠŃ ćÖėęģ ×ÜÕŻė." +#: gui/options.cpp:1462 +msgid "Apply" +msgstr "" -#: gui/options.cpp:1543 +#: gui/options.cpp:1628 msgid "Failed to change cloud storage!" msgstr "½Õ ŠāąėÜŠŪŠįļ ×ÜļŻöęģ ŅŽŃŪŠŚŠ!" -#: gui/options.cpp:1546 +#: gui/options.cpp:1631 msgid "Another cloud storage is already active." msgstr "ĆÖŽ ŠŚāėžŻŠ öŻčŠÕ ŅŽŃŪŠēŻŠÕ įåŽŅöčēŠ." -#: gui/options.cpp:1584 +#: gui/options.cpp:1667 +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 "" +"ĀķÜŠ, ŠŃąŠŻŠļ ŅŠÜö, ŻÕ ߊŌāąėÜŪöŅŠÕ ŃļÓćēćī ÜŽŅć. ŗŠŪö Ņė ÖŠŌŠÕęÕ " +"ŅėŚŠąėįāŽžŅŠęģ Óķāćī āķÜć, ŅŠÜ ŻÕŠŃåŽŌŻŠ įߊēŠāŚć ßÕąŠŚŪīēėęęŠ ŻŠ öŻčćī ÜŽŅć." + +#: gui/options.cpp:1702 msgid "The chosen directory cannot be written to. Please select another one." msgstr "½Õ ÜŠÓć ßöįŠęģ ć ŠŃąŠŻćī ŌėąķŚāŽąėī. ŗŠŪö ŪŠįŚŠ, Š×ŻŠēęÕ öŻčćī." -#: gui/options.cpp:1593 +#: gui/options.cpp:1711 msgid "Select directory for GUI themes" msgstr "°ŃļąėęÕ ŌėąķŚāŽąėī ŌŪļ āķÜ GUI" -#: gui/options.cpp:1603 +#: gui/options.cpp:1721 msgid "Select directory for extra files" msgstr "°ŃļąėęÕ ŌėąķŚāŽąėī × ŌŠŌŠāŚŽŅėÜö äŠŁŪŠÜö" -#: gui/options.cpp:1614 +#: gui/options.cpp:1732 msgid "Select directory for plugins" msgstr "°ŃļąėęÕ ŌėąķŚāŽąėī × ßŪŠÓöŻŠÜö" -#: gui/options.cpp:1626 +#: gui/options.cpp:1744 msgid "Select directory for Files Manager /root/" msgstr "°ŃļąėęÕ ŌėąķŚāŽąėī ŌŪļ ŚŽąŠŻļ ž ¼ÕŻÕŌÖŠąė äŠŁŪŠž" -#: gui/options.cpp:1688 -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 "" -"ĀķÜŠ, ŠŃąŠŻŠļ ŅŠÜö, ŻÕ ߊŌāąėÜŪöŅŠÕ ŃļÓćēćī ÜŽŅć. ŗŠŪö Ņė ÖŠŌŠÕęÕ " -"ŅėŚŠąėįāŽžŅŠęģ Óķāćī āķÜć, ŅŠÜ ŻÕŠŃåŽŌŻŠ įߊēŠāŚć ßÕąŠŚŪīēėęęŠ ŻŠ öŻčćī ÜŽŅć." - -#: gui/options.cpp:1884 +#: gui/options.cpp:1979 #, c-format msgid "%llu bytes" msgstr "%llu ŃŠŁāŠž" -#: gui/options.cpp:1892 +#: gui/options.cpp:1987 msgid "<right now>" msgstr "<׊ąŠ×>" -#: gui/options.cpp:1894 +#: gui/options.cpp:1989 msgid "<never>" msgstr "<ŻöŚŽŪö>" -#: gui/options.cpp:1978 +#: gui/options.cpp:2073 msgid "Stop server" msgstr "ĮßėŻöęģ įÕąŅÕą" -#: gui/options.cpp:1979 +#: gui/options.cpp:2074 msgid "Stop local webserver" msgstr "ĮßėŻļÕ ŪŠŚŠŪģŻė ŅķŃ-įÕąŅÕą" -#: gui/options.cpp:2068 +#: gui/options.cpp:2163 msgid "" "Request failed.\n" "Check your Internet connection." @@ -1609,35 +1610,35 @@ msgstr "æąŠęļÓŻćęģ" msgid "Clear value" msgstr "°ēėįęöęģ ׯŠēķŻŻÕ" -#: base/main.cpp:250 +#: base/main.cpp:253 #, c-format msgid "Engine does not support debug level '%s'" msgstr "ĄćåŠŅöēŽŚ ŻÕ ߊŌāąėÜŪöŅŠÕ ž×ąŽŅÕŻģ ŠŌŪŠŌŚö '%s'" -#: base/main.cpp:324 +#: base/main.cpp:327 msgid "Menu" msgstr "¼ÕŻī" -#: base/main.cpp:327 backends/platform/symbian/src/SymbianActions.cpp:45 +#: base/main.cpp:330 backends/platform/symbian/src/SymbianActions.cpp:45 #: backends/platform/wince/CEActionsPocket.cpp:45 #: backends/platform/wince/CEActionsSmartphone.cpp:46 msgid "Skip" msgstr "æąŠßćįęöęģ" -#: base/main.cpp:330 backends/platform/symbian/src/SymbianActions.cpp:50 +#: base/main.cpp:333 backends/platform/symbian/src/SymbianActions.cpp:50 #: backends/platform/wince/CEActionsPocket.cpp:42 msgid "Pause" msgstr "択׊" -#: base/main.cpp:333 +#: base/main.cpp:336 msgid "Skip line" msgstr "æąŠßćįęöęģ ąŠŌŽŚ" -#: base/main.cpp:542 +#: base/main.cpp:547 msgid "Error running game:" msgstr "æŠÜėŪŚŠ ×ŠßćįŚć ÓćŪģŻö:" -#: base/main.cpp:589 +#: base/main.cpp:594 msgid "Could not find any engine capable of running the selected game" msgstr "½Õ ÜŠÓć ×ŻŠŁįęö ąćåŠŅöēŽŚ ŌŪļ ׊ßćįŚć ŠŃąŠŻŠŁ ÓćŪģŻö" @@ -2015,11 +2016,11 @@ msgstr "°žŌėń FM-Towns" msgid "PC-98 Audio" msgstr "°žŌėń PC-98" -#: audio/softsynth/mt32.cpp:196 +#: audio/softsynth/mt32.cpp:197 msgid "Initializing MT-32 Emulator" msgstr "½ŠŪŠŌÖŅŠī ķÜćŪļāŠą MT-32" -#: audio/softsynth/mt32.cpp:434 +#: audio/softsynth/mt32.cpp:435 msgid "MT-32 Emulator" msgstr "ĶÜćŪļāŠą MT-32" @@ -2035,15 +2036,15 @@ msgstr "ĶÜćŪļāŠą IBM PCjr" msgid "C64 Audio Emulator" msgstr "ĶÜćŪļāŠą ÓćŚć C64" -#: backends/cloud/storage.cpp:210 +#: backends/cloud/storage.cpp:211 msgid "Saved games sync complete." msgstr "ĮöŻåąŠŻö׊ęėļ ׊åŠŅŠŻŻļž ÓćŪģŻļž įŚŽŻēŠŻŠ." -#: backends/cloud/storage.cpp:221 +#: backends/cloud/storage.cpp:222 msgid "Saved games sync was cancelled." msgstr "ĮöŻåąŠŻö׊ęėļ ׊åŠŅŠŻŻļž ÓćŪģŻļž ŃėŪŠ ßÕąŠßėŻÕŻŠ." -#: backends/cloud/storage.cpp:223 +#: backends/cloud/storage.cpp:224 msgid "" "Saved games sync failed.\n" "Check your Internet connection." @@ -2051,7 +2052,7 @@ msgstr "" "æŠÜėŪŚŠ įöŻåąŠŻö׊ęėö ׊åŠŅŠŻŻļž ÓćŪģŻļž.\n" "æąŠŅÕąęÕ ŅŠčŠ ×ŪćēķŻŻÕ × ¦ŻāķąŻķāŠÜ." -#: backends/cloud/storage.cpp:327 +#: backends/cloud/storage.cpp:328 #, c-format msgid "" "Download complete.\n" @@ -2060,11 +2061,11 @@ msgstr "" "·ŠÓąć×ŚŠ įŚŽŻēŠŻŠ.\n" "½Õ ŠāąėÜŠŪŠįļ ׊ӹć×öęģ %u äŠŁŪŠž." -#: backends/cloud/storage.cpp:329 +#: backends/cloud/storage.cpp:330 msgid "Download complete." msgstr "·ŠÓąć×ŚŠ įŚŽŻēŠŻŠ." -#: backends/cloud/storage.cpp:339 +#: backends/cloud/storage.cpp:340 msgid "Download failed." msgstr "æŠÜėŪŚŠ ×ŠÓąć׌ö." @@ -2173,43 +2174,53 @@ msgstr "æąŠŅļŌ×öęÕ āąėÜŠ ߊŪģęŠÜö ŻŠßąŠŅŠ ŌŪļ ßÕąŠŚŪīēķŻŻļ." msgid "OpenGL" msgstr "OpenGL" -#: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:47 -#: backends/graphics/wincesdl/wincesdl-graphics.cpp:88 -#: backends/graphics/wincesdl/wincesdl-graphics.cpp:95 -msgid "Normal (no scaling)" -msgstr "±Õ× ßŠŅÕŪöēķŻŻļ" +#: backends/graphics/openglsdl/openglsdl-graphics.cpp:617 +#: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:2462 +msgid "Windowed mode" +msgstr "°ŚŽŻŻė ąķÖėÜ" -#: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:66 -msgctxt "lowres" -msgid "Normal (no scaling)" -msgstr "±Õ× ßŠŅÕŪöēķŻŻļ" +#: backends/graphics/openglsdl/openglsdl-graphics.cpp:710 +#, c-format +msgid "Resolution: %dx%d" +msgstr "" -#: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:2329 +#: backends/graphics/openglsdl/openglsdl-graphics.cpp:731 +#: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:2338 msgid "Enabled aspect ratio correction" msgstr "ŗŠąķŚęėļ įćŠŌŻŽįöŻ ŃŠŚŽž ćŚŪīēŠŻŠ" -#: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:2335 +#: backends/graphics/openglsdl/openglsdl-graphics.cpp:733 +#: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:2344 msgid "Disabled aspect ratio correction" msgstr "ŗŠąķŚęėļ įćŠŌŻŽįöŻ ŃŠŚŽž ŅėŚŪīēŠŻŠ" -#: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:2353 +#: backends/graphics/openglsdl/openglsdl-graphics.cpp:753 +#: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:2362 #, fuzzy msgid "Filtering enabled" msgstr "æįāąėēŚö žŚŪīēŠŻė" -#: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:2355 +#: backends/graphics/openglsdl/openglsdl-graphics.cpp:755 +#: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:2364 #, fuzzy msgid "Filtering disabled" msgstr "æįāąėēŚö ŅėŚŪīēŠŻė" -#: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:2407 +#: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:47 +#: backends/graphics/wincesdl/wincesdl-graphics.cpp:88 +#: backends/graphics/wincesdl/wincesdl-graphics.cpp:95 +msgid "Normal (no scaling)" +msgstr "±Õ× ßŠŅÕŪöēķŻŻļ" + +#: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:66 +msgctxt "lowres" +msgid "Normal (no scaling)" +msgstr "±Õ× ßŠŅÕŪöēķŻŻļ" + +#: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:2417 msgid "Active graphics filter:" msgstr "°ŚāėžŻė ÓąŠäöēŻė äöŪģāą:" -#: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:2452 -msgid "Windowed mode" -msgstr "°ŚŽŻŻė ąķÖėÜ" - #: backends/keymapper/remap-dialog.cpp:48 msgid "Keymap:" msgstr "ĀŠŃŪöęŠ ŚŪŠŅöč:" @@ -3132,6 +3143,39 @@ msgstr "³ŠŪŽžŻŠÕ ÜÕŻ~ī~" msgid "~W~ater Effect Enabled" msgstr "~Ķ~äÕŚāė ŅŠŌė žŚŪīēŠŻė" +#: engines/mohawk/riven.cpp:150 +msgid "" +"You're missing a Riven executable. The Windows executable is 'riven.exe' or " +"'rivendmo.exe'. " +msgstr "" + +#: engines/mohawk/riven.cpp:151 +msgid "" +"Using the 'arcriven.z' installer file also works. In addition, you can use " +"the Mac 'Riven' executable." +msgstr "" + +#: engines/mohawk/riven.cpp:162 +msgid "" +"You're missing 'extras.mhk'. Using the 'arcriven.z' installer file also " +"works." +msgstr "" + +#: engines/mohawk/riven_external.cpp:213 +msgid "" +"Exploration beyond this point available only within the full version of\n" +"the game." +msgstr "" + +#: engines/mohawk/riven_external.cpp:655 +msgid "" +"At this point, the Riven Demo would\n" +"ask if you would like to open a web browser\n" +"to bring you to the Red Orb store to buy\n" +"the game. ScummVM cannot do that and\n" +"the site no longer exists." +msgstr "" + #: engines/mohawk/mohawk.cpp:61 msgid "The game is paused. Press any key to continue." msgstr "³ćŪģŻļ įßėŻÕŻŠ. ½ŠęöįŻöęÕ ŪīŃćī ŚŻŽßŚć, ŚŠŃ ßąŠęļÓŻćęģ." @@ -4269,6 +4313,9 @@ msgstr "" "²ėŚŠąėįāŽžŅŠęģ MPEG-ŅöŌķŠ × DVD-ŅÕąįöö ׊ÜÕįā ŅöŌķŠ Żö׌ŠÓŠ ŠŌąŽ×ŻÕŻŻļ ž " "䊹܊ęÕ AVI" +#~ msgid "You have to restart ScummVM before your changes will take effect." +#~ msgstr "²ė ߊŅöŻŻė ßÕąŠ×Šßćįęöęģ ScummVM, ŚŠŃ ćÖėęģ ×ÜÕŻė." + #~ msgid "OpenGL (No filtering)" #~ msgstr "OpenGL (ŃÕ× äöŪģāąŠž)" diff --git a/po/ca_ES.po b/po/ca_ES.po index 1d208afefd..2e7341f0a2 100644 --- a/po/ca_ES.po +++ b/po/ca_ES.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: ScummVM 1.6.0git\n" "Report-Msgid-Bugs-To: scummvm-devel@lists.scummvm.org\n" -"POT-Creation-Date: 2016-10-12 23:37+0100\n" +"POT-Creation-Date: 2016-11-05 12:43+0100\n" "PO-Revision-Date: 2013-05-05 14:16+0100\n" "Last-Translator: Jordi Vilalta Prat <jvprat@jvprat.com>\n" "Language-Team: Catalan <scummvm-devel@lists.scummvm.org>\n" @@ -15,6 +15,7 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=iso-8859-1\n" "Content-Transfer-Encoding: 8bit\n" +"X-Language-name: Catalan\n" #: gui/about.cpp:94 #, c-format @@ -54,7 +55,7 @@ msgstr "Amunt" #: gui/browser.cpp:75 gui/chooser.cpp:46 gui/editgamedialog.cpp:292 #: gui/editrecorddialog.cpp:67 gui/filebrowser-dialog.cpp:64 #: gui/fluidsynth-dialog.cpp:152 gui/KeysDialog.cpp:43 gui/massadd.cpp:95 -#: gui/options.cpp:1376 gui/predictivedialog.cpp:73 gui/recorderdialog.cpp:69 +#: gui/options.cpp:1461 gui/predictivedialog.cpp:73 gui/recorderdialog.cpp:69 #: gui/recorderdialog.cpp:155 gui/remotebrowser.cpp:59 #: gui/saveload-dialog.cpp:383 gui/saveload-dialog.cpp:443 #: gui/saveload-dialog.cpp:717 gui/saveload-dialog.cpp:1111 @@ -79,7 +80,7 @@ msgstr "Escull" msgid "Select directory where to download game data" msgstr "Seleccioneu el directori amb les dades del joc" -#: gui/downloaddialog.cpp:49 gui/editgamedialog.cpp:472 gui/launcher.cpp:173 +#: gui/downloaddialog.cpp:49 gui/editgamedialog.cpp:470 gui/launcher.cpp:197 msgid "Select directory with game data" msgstr "Seleccioneu el directori amb les dades del joc" @@ -112,7 +113,7 @@ msgstr "" #: gui/downloaddialog.cpp:118 gui/downloaddialog.cpp:152 #: gui/filebrowser-dialog.cpp:132 gui/fluidsynth-dialog.cpp:217 -#: gui/launcher.cpp:286 gui/launcher.cpp:394 gui/launcher.cpp:453 +#: gui/launcher.cpp:307 gui/launcher.cpp:415 gui/launcher.cpp:474 #: gui/storagewizarddialog.cpp:112 #: backends/events/symbiansdl/symbiansdl-events.cpp:186 #: backends/platform/wince/CEActionsPocket.cpp:326 @@ -124,7 +125,7 @@ msgstr "Sķ" #: gui/downloaddialog.cpp:118 gui/downloaddialog.cpp:153 #: gui/filebrowser-dialog.cpp:132 gui/fluidsynth-dialog.cpp:217 -#: gui/launcher.cpp:286 gui/launcher.cpp:394 gui/launcher.cpp:453 +#: gui/launcher.cpp:307 gui/launcher.cpp:415 gui/launcher.cpp:474 #: gui/storagewizarddialog.cpp:112 #: backends/events/symbiansdl/symbiansdl-events.cpp:186 #: backends/platform/wince/CEActionsPocket.cpp:326 @@ -134,7 +135,7 @@ msgstr "Sķ" msgid "No" msgstr "No" -#: gui/downloaddialog.cpp:136 gui/launcher.cpp:544 +#: gui/downloaddialog.cpp:136 gui/launcher.cpp:565 msgid "ScummVM couldn't open the specified directory!" msgstr "ScummVM no ha pogut obrir el directori especificat!" @@ -145,8 +146,8 @@ msgid "" msgstr "" #: gui/downloaddialog.cpp:146 gui/editgamedialog.cpp:293 -#: gui/fluidsynth-dialog.cpp:153 gui/KeysDialog.cpp:42 gui/launcher.cpp:501 -#: gui/launcher.cpp:505 gui/massadd.cpp:92 gui/options.cpp:1377 +#: gui/fluidsynth-dialog.cpp:153 gui/KeysDialog.cpp:42 gui/launcher.cpp:522 +#: gui/launcher.cpp:526 gui/massadd.cpp:92 gui/options.cpp:1463 #: gui/saveload-dialog.cpp:1112 engines/engine.cpp:477 engines/engine.cpp:488 #: backends/platform/wii/options.cpp:47 #: backends/platform/wince/CELauncherDialog.cpp:54 @@ -229,8 +230,8 @@ msgstr "" "Idioma del joc. Aixņ no convertirą la vostra versió Espanyola del joc a " "Anglčs" -#: gui/editgamedialog.cpp:151 gui/editgamedialog.cpp:165 gui/options.cpp:114 -#: gui/options.cpp:785 gui/options.cpp:798 gui/options.cpp:1261 +#: gui/editgamedialog.cpp:151 gui/editgamedialog.cpp:165 gui/options.cpp:121 +#: gui/options.cpp:812 gui/options.cpp:825 gui/options.cpp:1356 #: audio/null.cpp:41 msgid "<default>" msgstr "<per defecte>" @@ -253,11 +254,11 @@ msgstr "Platafor.:" msgid "Engine" msgstr "Motor" -#: gui/editgamedialog.cpp:184 gui/options.cpp:1120 gui/options.cpp:1137 +#: gui/editgamedialog.cpp:184 gui/options.cpp:1147 gui/options.cpp:1232 msgid "Graphics" msgstr "Grąfics" -#: gui/editgamedialog.cpp:184 gui/options.cpp:1120 gui/options.cpp:1137 +#: gui/editgamedialog.cpp:184 gui/options.cpp:1147 gui/options.cpp:1232 msgid "GFX" msgstr "GFX" @@ -270,7 +271,7 @@ msgctxt "lowres" msgid "Override global graphic settings" msgstr "Canviar les opcions de grąfics" -#: gui/editgamedialog.cpp:196 gui/options.cpp:1143 +#: gui/editgamedialog.cpp:196 gui/options.cpp:1238 msgid "Audio" msgstr "Ąudio" @@ -283,11 +284,11 @@ msgctxt "lowres" msgid "Override global audio settings" msgstr "Canviar les opcions d'ąudio" -#: gui/editgamedialog.cpp:210 gui/options.cpp:1148 +#: gui/editgamedialog.cpp:210 gui/options.cpp:1243 msgid "Volume" msgstr "Volum" -#: gui/editgamedialog.cpp:212 gui/options.cpp:1150 +#: gui/editgamedialog.cpp:212 gui/options.cpp:1245 msgctxt "lowres" msgid "Volume" msgstr "Volum" @@ -301,7 +302,7 @@ msgctxt "lowres" msgid "Override global volume settings" msgstr "Canviar les opcions de volum" -#: gui/editgamedialog.cpp:226 gui/options.cpp:1158 +#: gui/editgamedialog.cpp:226 gui/options.cpp:1253 msgid "MIDI" msgstr "MIDI" @@ -314,7 +315,7 @@ msgctxt "lowres" msgid "Override global MIDI settings" msgstr "Canviar les opcions de MIDI" -#: gui/editgamedialog.cpp:241 gui/options.cpp:1168 +#: gui/editgamedialog.cpp:241 gui/options.cpp:1263 msgid "MT-32" msgstr "MT-32" @@ -327,11 +328,11 @@ msgctxt "lowres" msgid "Override global MT-32 settings" msgstr "Canviar les opcions de MT-32" -#: gui/editgamedialog.cpp:255 gui/options.cpp:1175 +#: gui/editgamedialog.cpp:255 gui/options.cpp:1270 msgid "Paths" msgstr "Camins" -#: gui/editgamedialog.cpp:257 gui/options.cpp:1177 +#: gui/editgamedialog.cpp:257 gui/options.cpp:1272 msgctxt "lowres" msgid "Paths" msgstr "Camins" @@ -345,7 +346,7 @@ msgctxt "lowres" msgid "Game Path:" msgstr "Camķ joc:" -#: gui/editgamedialog.cpp:271 gui/options.cpp:1201 +#: gui/editgamedialog.cpp:271 gui/options.cpp:1296 msgid "Extra Path:" msgstr "Camķ extra:" @@ -354,62 +355,62 @@ msgstr "Camķ extra:" msgid "Specifies path to additional data used by the game" msgstr "Especifica el camķ de dades addicionals utilitzades pel joc" -#: gui/editgamedialog.cpp:273 gui/options.cpp:1203 +#: gui/editgamedialog.cpp:273 gui/options.cpp:1298 msgctxt "lowres" msgid "Extra Path:" msgstr "Camķ extra:" -#: gui/editgamedialog.cpp:280 gui/options.cpp:1185 +#: gui/editgamedialog.cpp:280 gui/options.cpp:1280 msgid "Save Path:" msgstr "Camķ de partides:" #: gui/editgamedialog.cpp:280 gui/editgamedialog.cpp:282 -#: gui/editgamedialog.cpp:283 gui/options.cpp:1185 gui/options.cpp:1187 -#: gui/options.cpp:1188 +#: gui/editgamedialog.cpp:283 gui/options.cpp:1280 gui/options.cpp:1282 +#: gui/options.cpp:1283 msgid "Specifies where your saved games are put" msgstr "Especifica on es desaran les partides" -#: gui/editgamedialog.cpp:282 gui/options.cpp:1187 +#: gui/editgamedialog.cpp:282 gui/options.cpp:1282 msgctxt "lowres" msgid "Save Path:" msgstr "Partides:" -#: gui/editgamedialog.cpp:301 gui/editgamedialog.cpp:400 -#: gui/editgamedialog.cpp:459 gui/editgamedialog.cpp:520 gui/options.cpp:1196 -#: gui/options.cpp:1204 gui/options.cpp:1213 gui/options.cpp:1414 -#: gui/options.cpp:1420 gui/options.cpp:1428 gui/options.cpp:1451 -#: gui/options.cpp:1467 gui/options.cpp:1473 gui/options.cpp:1480 -#: gui/options.cpp:1488 gui/options.cpp:1640 gui/options.cpp:1643 -#: gui/options.cpp:1650 gui/options.cpp:1660 +#: gui/editgamedialog.cpp:301 gui/editgamedialog.cpp:398 +#: gui/editgamedialog.cpp:457 gui/editgamedialog.cpp:518 gui/options.cpp:1291 +#: gui/options.cpp:1299 gui/options.cpp:1308 gui/options.cpp:1488 +#: gui/options.cpp:1494 gui/options.cpp:1502 gui/options.cpp:1525 +#: gui/options.cpp:1554 gui/options.cpp:1560 gui/options.cpp:1567 +#: gui/options.cpp:1575 gui/options.cpp:1758 gui/options.cpp:1761 +#: gui/options.cpp:1768 gui/options.cpp:1778 msgctxt "path" msgid "None" msgstr "Cap" -#: gui/editgamedialog.cpp:306 gui/editgamedialog.cpp:406 -#: gui/editgamedialog.cpp:524 gui/options.cpp:1408 gui/options.cpp:1461 -#: gui/options.cpp:1646 backends/platform/wii/options.cpp:56 +#: gui/editgamedialog.cpp:306 gui/editgamedialog.cpp:404 +#: gui/editgamedialog.cpp:522 gui/options.cpp:1482 gui/options.cpp:1548 +#: gui/options.cpp:1764 backends/platform/wii/options.cpp:56 msgid "Default" msgstr "Per defecte" -#: gui/editgamedialog.cpp:452 gui/options.cpp:1654 +#: gui/editgamedialog.cpp:450 gui/options.cpp:1772 msgid "Select SoundFont" msgstr "Seleccioneu el fitxer SoundFont" -#: gui/editgamedialog.cpp:491 +#: gui/editgamedialog.cpp:489 msgid "Select additional game directory" msgstr "Seleccioneu el directori addicional del joc" -#: gui/editgamedialog.cpp:504 gui/options.cpp:1577 +#: gui/editgamedialog.cpp:502 gui/options.cpp:1695 msgid "Select directory for saved games" msgstr "Seleccioneu el directori de les partides desades" -#: gui/editgamedialog.cpp:510 +#: gui/editgamedialog.cpp:508 msgid "" "Saved games sync feature doesn't work with non-default directories. If you " "want your saved games to sync, use default directory." msgstr "" -#: gui/editgamedialog.cpp:536 +#: gui/editgamedialog.cpp:534 msgid "This game ID is already taken. Please choose another one." msgstr "" "Aquest identificador de joc ja estą en śs. Si us plau, trieu-ne un altre." @@ -491,7 +492,7 @@ msgstr "Sinus" msgid "Triangle" msgstr "Triangle" -#: gui/fluidsynth-dialog.cpp:138 gui/options.cpp:1221 +#: gui/fluidsynth-dialog.cpp:138 gui/options.cpp:1316 msgid "Misc" msgstr "Misc" @@ -541,15 +542,15 @@ msgstr "Tanca" msgid "Mouse click" msgstr "Clic del ratolķ" -#: gui/gui-manager.cpp:126 base/main.cpp:337 +#: gui/gui-manager.cpp:126 base/main.cpp:340 msgid "Display keyboard" msgstr "Mostra el teclat" -#: gui/gui-manager.cpp:130 base/main.cpp:341 +#: gui/gui-manager.cpp:130 base/main.cpp:344 msgid "Remap keys" msgstr "Assigna les tecles" -#: gui/gui-manager.cpp:133 base/main.cpp:344 engines/scumm/help.cpp:87 +#: gui/gui-manager.cpp:133 base/main.cpp:347 engines/scumm/help.cpp:87 msgid "Toggle fullscreen" msgstr "Commuta la pantalla completa" @@ -583,112 +584,112 @@ msgstr "Premeu la tecla a associar" msgid "Choose an action to map" msgstr "Sel·leccioneu una acció a assignar" -#: gui/launcher.cpp:117 engines/dialogs.cpp:111 engines/mohawk/dialogs.cpp:98 +#: gui/launcher.cpp:141 engines/dialogs.cpp:111 engines/mohawk/dialogs.cpp:98 msgid "~Q~uit" msgstr "~T~anca" -#: gui/launcher.cpp:117 backends/platform/sdl/macosx/appmenu_osx.mm:106 +#: gui/launcher.cpp:141 backends/platform/sdl/macosx/appmenu_osx.mm:106 msgid "Quit ScummVM" msgstr "Surt de ScummVM" -#: gui/launcher.cpp:118 +#: gui/launcher.cpp:142 msgid "A~b~out..." msgstr "~Q~uant a..." -#: gui/launcher.cpp:118 backends/platform/sdl/macosx/appmenu_osx.mm:80 +#: gui/launcher.cpp:142 backends/platform/sdl/macosx/appmenu_osx.mm:80 msgid "About ScummVM" msgstr "Quant a ScummVM" -#: gui/launcher.cpp:119 +#: gui/launcher.cpp:143 msgid "~O~ptions..." msgstr "~O~pcions..." -#: gui/launcher.cpp:119 +#: gui/launcher.cpp:143 msgid "Change global ScummVM options" msgstr "Canvia les opcions globals de ScummVM" -#: gui/launcher.cpp:121 +#: gui/launcher.cpp:145 msgid "~S~tart" msgstr "~I~nicia" -#: gui/launcher.cpp:121 +#: gui/launcher.cpp:145 msgid "Start selected game" msgstr "Iniciant el joc seleccionat" -#: gui/launcher.cpp:124 +#: gui/launcher.cpp:148 msgid "~L~oad..." msgstr "~C~arrega..." -#: gui/launcher.cpp:124 +#: gui/launcher.cpp:148 msgid "Load saved game for selected game" msgstr "Carrega una partida pel joc seleccionat" -#: gui/launcher.cpp:129 +#: gui/launcher.cpp:153 msgid "~A~dd Game..." msgstr "~A~fegeix Joc..." -#: gui/launcher.cpp:129 gui/launcher.cpp:136 +#: gui/launcher.cpp:153 gui/launcher.cpp:160 msgid "Hold Shift for Mass Add" msgstr "Mantingueu premut Shift per a l'Addició Massiva" -#: gui/launcher.cpp:131 +#: gui/launcher.cpp:155 msgid "~E~dit Game..." msgstr "~E~dita Joc..." -#: gui/launcher.cpp:131 gui/launcher.cpp:138 +#: gui/launcher.cpp:155 gui/launcher.cpp:162 msgid "Change game options" msgstr "Canvia les opcions del joc" -#: gui/launcher.cpp:133 +#: gui/launcher.cpp:157 msgid "~R~emove Game" msgstr "~S~uprimeix Joc" -#: gui/launcher.cpp:133 gui/launcher.cpp:140 +#: gui/launcher.cpp:157 gui/launcher.cpp:164 msgid "Remove game from the list. The game data files stay intact" msgstr "" "Elimina un joc de la llista. Els fitxers de dades del joc es mantenen " "intactes" -#: gui/launcher.cpp:136 +#: gui/launcher.cpp:160 msgctxt "lowres" msgid "~A~dd Game..." msgstr "~A~fegeix Joc..." -#: gui/launcher.cpp:138 +#: gui/launcher.cpp:162 msgctxt "lowres" msgid "~E~dit Game..." msgstr "~E~dita Joc..." -#: gui/launcher.cpp:140 +#: gui/launcher.cpp:164 msgctxt "lowres" msgid "~R~emove Game" msgstr "~S~uprimeix" -#: gui/launcher.cpp:148 +#: gui/launcher.cpp:172 msgid "Search in game list" msgstr "Cerca a la llista de jocs" -#: gui/launcher.cpp:152 gui/launcher.cpp:750 +#: gui/launcher.cpp:176 gui/launcher.cpp:771 msgid "Search:" msgstr "Cerca:" -#: gui/launcher.cpp:176 engines/dialogs.cpp:115 engines/cruise/menu.cpp:214 -#: engines/mohawk/dialogs.cpp:103 engines/mohawk/riven.cpp:733 +#: gui/launcher.cpp:200 engines/dialogs.cpp:115 engines/cruise/menu.cpp:214 +#: engines/mohawk/dialogs.cpp:103 engines/mohawk/riven.cpp:734 #: engines/pegasus/pegasus.cpp:353 engines/tsage/scenes.cpp:601 msgid "Load game:" msgstr "Carrega partida:" -#: gui/launcher.cpp:176 engines/dialogs.cpp:115 +#: gui/launcher.cpp:200 engines/dialogs.cpp:115 #: backends/platform/wince/CEActionsPocket.cpp:267 #: backends/platform/wince/CEActionsSmartphone.cpp:231 #: engines/cruise/menu.cpp:214 engines/mohawk/dialogs.cpp:103 -#: engines/mohawk/riven.cpp:733 engines/parallaction/saveload.cpp:194 +#: engines/mohawk/riven.cpp:734 engines/parallaction/saveload.cpp:194 #: engines/pegasus/pegasus.cpp:353 engines/scumm/dialogs.cpp:185 #: engines/tsage/scenes.cpp:601 msgid "Load" msgstr "Carrega" -#: gui/launcher.cpp:285 +#: gui/launcher.cpp:306 msgid "" "Do you really want to run the mass game detector? This could potentially add " "a huge number of games." @@ -696,41 +697,41 @@ msgstr "" "Esteu segur que voleu executar el detector massiu de jocs? Aixņ pot afegir " "una gran quantitat de jocs." -#: gui/launcher.cpp:344 +#: gui/launcher.cpp:365 msgid "This directory cannot be used yet, it is being downloaded into!" msgstr "" -#: gui/launcher.cpp:394 +#: gui/launcher.cpp:415 msgid "Do you really want to remove this game configuration?" msgstr "Realment voleu suprimir la configuració d'aquest joc?" -#: gui/launcher.cpp:452 +#: gui/launcher.cpp:473 #, fuzzy msgid "Do you want to load saved game?" msgstr "Voleu carregar o desar el joc?" -#: gui/launcher.cpp:501 +#: gui/launcher.cpp:522 msgid "This game does not support loading games from the launcher." msgstr "Aquest joc no suporta la cąrrega de partides des del llanēador." -#: gui/launcher.cpp:505 +#: gui/launcher.cpp:526 msgid "ScummVM could not find any engine capable of running the selected game!" msgstr "" "ScummVM no ha pogut trobar cap motor capaē d'executar el joc seleccionat!" -#: gui/launcher.cpp:556 +#: gui/launcher.cpp:577 msgid "ScummVM could not find any game in the specified directory!" msgstr "ScummVM no ha pogut trobar cap joc al directori especificat!" -#: gui/launcher.cpp:569 +#: gui/launcher.cpp:590 msgid "Pick the game:" msgstr "Seleccioneu el joc:" -#: gui/launcher.cpp:687 +#: gui/launcher.cpp:708 msgid "Mass Add..." msgstr "Addició Massiva..." -#: gui/launcher.cpp:689 +#: gui/launcher.cpp:710 msgid "Record..." msgstr "" @@ -776,146 +777,146 @@ msgstr "Commuta" msgid "Fast replay" msgstr "Mode rąpid" -#: gui/options.cpp:112 common/updates.cpp:56 +#: gui/options.cpp:119 common/updates.cpp:56 msgid "Never" msgstr "Mai" -#: gui/options.cpp:112 +#: gui/options.cpp:119 msgid "every 5 mins" msgstr "cada 5 minuts" -#: gui/options.cpp:112 +#: gui/options.cpp:119 msgid "every 10 mins" msgstr "cada 10 minuts" -#: gui/options.cpp:112 +#: gui/options.cpp:119 msgid "every 15 mins" msgstr "cada 15 minuts" -#: gui/options.cpp:112 +#: gui/options.cpp:119 msgid "every 30 mins" msgstr "cada 30 minuts" -#: gui/options.cpp:114 +#: gui/options.cpp:121 msgid "8 kHz" msgstr "8 kHz" -#: gui/options.cpp:114 +#: gui/options.cpp:121 msgid "11 kHz" msgstr "11 kHz" -#: gui/options.cpp:114 +#: gui/options.cpp:121 msgid "22 kHz" msgstr "22 kHz" -#: gui/options.cpp:114 +#: gui/options.cpp:121 msgid "44 kHz" msgstr "44 kHz" -#: gui/options.cpp:114 +#: gui/options.cpp:121 msgid "48 kHz" msgstr "48 kHz" -#: gui/options.cpp:291 gui/options.cpp:528 gui/options.cpp:629 -#: gui/options.cpp:699 gui/options.cpp:910 +#: gui/options.cpp:289 gui/options.cpp:552 gui/options.cpp:657 +#: gui/options.cpp:726 gui/options.cpp:937 msgctxt "soundfont" msgid "None" msgstr "Cap" -#: gui/options.cpp:432 +#: gui/options.cpp:456 msgid "Failed to apply some of the graphic options changes:" msgstr "No s'han pogut aplicar alguns canvis de les opcions grąfiques:" -#: gui/options.cpp:444 +#: gui/options.cpp:468 msgid "the video mode could not be changed." msgstr "no s'ha pogut canviar el mode de vķdeo" -#: gui/options.cpp:450 +#: gui/options.cpp:474 msgid "the aspect ratio setting could not be changed" msgstr "no s'ha pogut canviar l'ajust de la correcció d'aspecte" -#: gui/options.cpp:456 +#: gui/options.cpp:480 msgid "the fullscreen setting could not be changed" msgstr "no s'ha pogut canviar l'ajust de pantalla completa" -#: gui/options.cpp:462 +#: gui/options.cpp:486 #, fuzzy msgid "the filtering setting could not be changed" msgstr "no s'ha pogut canviar l'ajust de pantalla completa" -#: gui/options.cpp:782 +#: gui/options.cpp:809 msgid "Graphics mode:" msgstr "Mode grąfic:" -#: gui/options.cpp:796 +#: gui/options.cpp:823 msgid "Render mode:" msgstr "Mode de pintat:" -#: gui/options.cpp:796 gui/options.cpp:797 +#: gui/options.cpp:823 gui/options.cpp:824 msgid "Special dithering modes supported by some games" msgstr "Modes de tramat especials suportats per alguns jocs" -#: gui/options.cpp:808 -#: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:2450 +#: gui/options.cpp:835 backends/graphics/openglsdl/openglsdl-graphics.cpp:615 +#: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:2460 msgid "Fullscreen mode" msgstr "Mode pantalla completa" -#: gui/options.cpp:811 +#: gui/options.cpp:838 #, fuzzy msgid "Filter graphics" msgstr "Grąfics" -#: gui/options.cpp:811 +#: gui/options.cpp:838 msgid "Use linear filtering when scaling graphics" msgstr "" -#: gui/options.cpp:814 +#: gui/options.cpp:841 msgid "Aspect ratio correction" msgstr "Correcció de la relació d'aspecte" -#: gui/options.cpp:814 +#: gui/options.cpp:841 msgid "Correct aspect ratio for 320x200 games" msgstr "Corregeix la relació d'aspecte per jocs de 320x200" -#: gui/options.cpp:822 +#: gui/options.cpp:849 msgid "Preferred Device:" msgstr "Disp. preferit:" -#: gui/options.cpp:822 +#: gui/options.cpp:849 msgid "Music Device:" msgstr "Disp. de mśsica:" -#: gui/options.cpp:822 gui/options.cpp:824 +#: gui/options.cpp:849 gui/options.cpp:851 msgid "Specifies preferred sound device or sound card emulator" msgstr "Especifica el dispositiu de so o l'emulador de tarja de so preferit" -#: gui/options.cpp:822 gui/options.cpp:824 gui/options.cpp:825 +#: gui/options.cpp:849 gui/options.cpp:851 gui/options.cpp:852 msgid "Specifies output sound device or sound card emulator" msgstr "Especifica el dispositiu de so o l'emulador de tarja de so de sortida" -#: gui/options.cpp:824 +#: gui/options.cpp:851 msgctxt "lowres" msgid "Preferred Dev.:" msgstr "Disp. preferit:" -#: gui/options.cpp:824 +#: gui/options.cpp:851 msgctxt "lowres" msgid "Music Device:" msgstr "Disp. de mśsica:" -#: gui/options.cpp:851 +#: gui/options.cpp:878 msgid "AdLib emulator:" msgstr "Emulador AdLib:" -#: gui/options.cpp:851 gui/options.cpp:852 +#: gui/options.cpp:878 gui/options.cpp:879 msgid "AdLib is used for music in many games" msgstr "AdLib s'utilitza per la mśsica de molts jocs" -#: gui/options.cpp:862 +#: gui/options.cpp:889 msgid "Output rate:" msgstr "Freq. sortida:" -#: gui/options.cpp:862 gui/options.cpp:863 +#: gui/options.cpp:889 gui/options.cpp:890 msgid "" "Higher value specifies better sound quality but may be not supported by your " "soundcard" @@ -923,63 +924,63 @@ msgstr "" "Valors més alts especifiquen millor qualitat de so perņ pot ser que la " "vostra tarja de so no ho suporti" -#: gui/options.cpp:873 +#: gui/options.cpp:900 msgid "GM Device:" msgstr "Dispositiu GM:" -#: gui/options.cpp:873 +#: gui/options.cpp:900 msgid "Specifies default sound device for General MIDI output" msgstr "" "Especifica el dispositiu de so per defecte per a la sortida General MIDI" -#: gui/options.cpp:884 +#: gui/options.cpp:911 msgid "Don't use General MIDI music" msgstr "No utilitzis mśsica General MIDI" -#: gui/options.cpp:895 gui/options.cpp:957 +#: gui/options.cpp:922 gui/options.cpp:984 msgid "Use first available device" msgstr "Utilitza el primer dispositiu disponible" -#: gui/options.cpp:907 +#: gui/options.cpp:934 msgid "SoundFont:" msgstr "Fitxer SoundFont:" -#: gui/options.cpp:907 gui/options.cpp:909 gui/options.cpp:910 +#: gui/options.cpp:934 gui/options.cpp:936 gui/options.cpp:937 msgid "SoundFont is supported by some audio cards, FluidSynth and Timidity" msgstr "Algunes targes de so, FluidSynth i Timidity suporten SoundFont" -#: gui/options.cpp:909 +#: gui/options.cpp:936 msgctxt "lowres" msgid "SoundFont:" msgstr "SoundFont:" -#: gui/options.cpp:915 +#: gui/options.cpp:942 msgid "Mixed AdLib/MIDI mode" msgstr "Mode combinat AdLib/MIDI" -#: gui/options.cpp:915 +#: gui/options.cpp:942 msgid "Use both MIDI and AdLib sound generation" msgstr "Utilitza MIDI i la generació de so AdLib alhora" -#: gui/options.cpp:918 +#: gui/options.cpp:945 msgid "MIDI gain:" msgstr "Guany MIDI:" -#: gui/options.cpp:928 +#: gui/options.cpp:955 msgid "MT-32 Device:" msgstr "Disposit. MT-32:" -#: gui/options.cpp:928 +#: gui/options.cpp:955 msgid "Specifies default sound device for Roland MT-32/LAPC1/CM32l/CM64 output" msgstr "" "Especifica el dispositiu de so per defecte per a la sortida de Roland MT-32/" "LAPC1/CM32l/CM64" -#: gui/options.cpp:933 +#: gui/options.cpp:960 msgid "True Roland MT-32 (disable GM emulation)" msgstr "Roland MT-32 real (desactiva l'emulació GM)" -#: gui/options.cpp:933 gui/options.cpp:935 +#: gui/options.cpp:960 gui/options.cpp:962 msgid "" "Check if you want to use your real hardware Roland-compatible sound device " "connected to your computer" @@ -987,360 +988,360 @@ msgstr "" "Marqueu si voleu utilitzar el vostre dispositiu hardware real de so " "compatible amb Roland connectat al vostre ordinador" -#: gui/options.cpp:935 +#: gui/options.cpp:962 msgctxt "lowres" msgid "True Roland MT-32 (no GM emulation)" msgstr "Roland MT-32 real (sense emulació GM)" -#: gui/options.cpp:938 +#: gui/options.cpp:965 #, fuzzy msgid "Roland GS Device (enable MT-32 mappings)" msgstr "Mode Roland GS (desactiva el mapeig GM)" -#: gui/options.cpp:938 +#: gui/options.cpp:965 msgid "" "Check if you want to enable patch mappings to emulate an MT-32 on a Roland " "GS device" msgstr "" -#: gui/options.cpp:947 +#: gui/options.cpp:974 msgid "Don't use Roland MT-32 music" msgstr "No utilitzis mśsica de Roland MT-32" -#: gui/options.cpp:974 +#: gui/options.cpp:1001 msgid "Text and Speech:" msgstr "Text i Veus:" -#: gui/options.cpp:978 gui/options.cpp:988 +#: gui/options.cpp:1005 gui/options.cpp:1015 msgid "Speech" msgstr "Veus" -#: gui/options.cpp:979 gui/options.cpp:989 +#: gui/options.cpp:1006 gui/options.cpp:1016 msgid "Subtitles" msgstr "Subtķtols" -#: gui/options.cpp:980 +#: gui/options.cpp:1007 msgid "Both" msgstr "Ambdós" -#: gui/options.cpp:982 +#: gui/options.cpp:1009 msgid "Subtitle speed:" msgstr "Velocitat de subt.:" -#: gui/options.cpp:984 +#: gui/options.cpp:1011 msgctxt "lowres" msgid "Text and Speech:" msgstr "Text i Veus:" -#: gui/options.cpp:988 +#: gui/options.cpp:1015 msgid "Spch" msgstr "Veus" -#: gui/options.cpp:989 +#: gui/options.cpp:1016 msgid "Subs" msgstr "Subt" -#: gui/options.cpp:990 +#: gui/options.cpp:1017 msgctxt "lowres" msgid "Both" msgstr "Ambdós" -#: gui/options.cpp:990 +#: gui/options.cpp:1017 msgid "Show subtitles and play speech" msgstr "Mostra els subtķtols i reprodueix la veu" -#: gui/options.cpp:992 +#: gui/options.cpp:1019 msgctxt "lowres" msgid "Subtitle speed:" msgstr "Veloc. de subt.:" -#: gui/options.cpp:1008 +#: gui/options.cpp:1035 msgid "Music volume:" msgstr "Volum de mśsica:" -#: gui/options.cpp:1010 +#: gui/options.cpp:1037 msgctxt "lowres" msgid "Music volume:" msgstr "Volum de mśsica:" -#: gui/options.cpp:1017 +#: gui/options.cpp:1044 msgid "Mute All" msgstr "Silenciar tot" -#: gui/options.cpp:1020 +#: gui/options.cpp:1047 msgid "SFX volume:" msgstr "Volum d'efectes:" -#: gui/options.cpp:1020 gui/options.cpp:1022 gui/options.cpp:1023 +#: gui/options.cpp:1047 gui/options.cpp:1049 gui/options.cpp:1050 msgid "Special sound effects volume" msgstr "Volum dels sons d'efectes especials" -#: gui/options.cpp:1022 +#: gui/options.cpp:1049 msgctxt "lowres" msgid "SFX volume:" msgstr "Volum d'efectes:" -#: gui/options.cpp:1030 +#: gui/options.cpp:1057 msgid "Speech volume:" msgstr "Volum de veus:" -#: gui/options.cpp:1032 +#: gui/options.cpp:1059 msgctxt "lowres" msgid "Speech volume:" msgstr "Volum de veus:" -#: gui/options.cpp:1162 +#: gui/options.cpp:1257 msgid "FluidSynth Settings" msgstr "Configuració de FluidSynth" -#: gui/options.cpp:1193 +#: gui/options.cpp:1288 msgid "Theme Path:" msgstr "Camķ dels temes:" -#: gui/options.cpp:1195 +#: gui/options.cpp:1290 msgctxt "lowres" msgid "Theme Path:" msgstr "Camķ temes:" -#: gui/options.cpp:1201 gui/options.cpp:1203 gui/options.cpp:1204 +#: gui/options.cpp:1296 gui/options.cpp:1298 gui/options.cpp:1299 msgid "Specifies path to additional data used by all games or ScummVM" msgstr "" "Especifica el camķ de les dades addicionals utilitzades per tots els jocs o " "pel ScummVM" -#: gui/options.cpp:1210 +#: gui/options.cpp:1305 msgid "Plugins Path:" msgstr "Camķ dels connectors:" -#: gui/options.cpp:1212 +#: gui/options.cpp:1307 msgctxt "lowres" msgid "Plugins Path:" msgstr "Camķ de connectors:" -#: gui/options.cpp:1223 +#: gui/options.cpp:1318 msgctxt "lowres" msgid "Misc" msgstr "Misc" -#: gui/options.cpp:1225 +#: gui/options.cpp:1320 msgid "Theme:" msgstr "Tema:" -#: gui/options.cpp:1229 +#: gui/options.cpp:1324 msgid "GUI Renderer:" msgstr "Pintat GUI:" -#: gui/options.cpp:1241 +#: gui/options.cpp:1336 msgid "Autosave:" msgstr "Desat automątic:" -#: gui/options.cpp:1243 +#: gui/options.cpp:1338 msgctxt "lowres" msgid "Autosave:" msgstr "Auto-desat:" -#: gui/options.cpp:1251 +#: gui/options.cpp:1346 msgid "Keys" msgstr "Tecles" -#: gui/options.cpp:1258 +#: gui/options.cpp:1353 msgid "GUI Language:" msgstr "Idioma GUI:" -#: gui/options.cpp:1258 +#: gui/options.cpp:1353 msgid "Language of ScummVM GUI" msgstr "Idioma de la interfķcie d'usuari de ScummVM" -#: gui/options.cpp:1286 +#: gui/options.cpp:1381 msgid "Update check:" msgstr "" -#: gui/options.cpp:1286 +#: gui/options.cpp:1381 msgid "How often to check ScummVM updates" msgstr "" -#: gui/options.cpp:1298 +#: gui/options.cpp:1393 msgid "Check now" msgstr "" -#: gui/options.cpp:1306 +#: gui/options.cpp:1401 msgid "Cloud" msgstr "" -#: gui/options.cpp:1308 +#: gui/options.cpp:1403 msgctxt "lowres" msgid "Cloud" msgstr "" -#: gui/options.cpp:1319 +#: gui/options.cpp:1408 msgid "Storage:" msgstr "" -#: gui/options.cpp:1319 +#: gui/options.cpp:1408 msgid "Active cloud storage" msgstr "" -#: gui/options.cpp:1326 gui/options.cpp:1877 +#: gui/options.cpp:1415 gui/options.cpp:1972 msgid "<none>" msgstr "" -#: gui/options.cpp:1330 backends/platform/wii/options.cpp:114 +#: gui/options.cpp:1419 backends/platform/wii/options.cpp:114 msgid "Username:" msgstr "Nom d'usuari:" -#: gui/options.cpp:1330 +#: gui/options.cpp:1419 msgid "Username used by this storage" msgstr "" -#: gui/options.cpp:1333 +#: gui/options.cpp:1422 msgid "Used space:" msgstr "" -#: gui/options.cpp:1333 +#: gui/options.cpp:1422 msgid "Space used by ScummVM's saved games on this storage" msgstr "" -#: gui/options.cpp:1336 +#: gui/options.cpp:1425 msgid "Last sync time:" msgstr "" -#: gui/options.cpp:1336 +#: gui/options.cpp:1425 msgid "When the last saved games sync for this storage occured" msgstr "" -#: gui/options.cpp:1339 gui/storagewizarddialog.cpp:71 +#: gui/options.cpp:1428 gui/storagewizarddialog.cpp:71 msgid "Connect" msgstr "" -#: gui/options.cpp:1339 +#: gui/options.cpp:1428 msgid "Open wizard dialog to connect your cloud storage account" msgstr "" -#: gui/options.cpp:1340 +#: gui/options.cpp:1429 msgid "Refresh" msgstr "" -#: gui/options.cpp:1340 +#: gui/options.cpp:1429 msgid "Refresh current cloud storage information (username and usage)" msgstr "" -#: gui/options.cpp:1341 +#: gui/options.cpp:1430 #, fuzzy msgid "Download" msgstr "Avall" -#: gui/options.cpp:1341 +#: gui/options.cpp:1430 msgid "Open downloads manager dialog" msgstr "" -#: gui/options.cpp:1343 +#: gui/options.cpp:1432 msgid "Run server" msgstr "" -#: gui/options.cpp:1343 +#: gui/options.cpp:1432 msgid "Run local webserver" msgstr "" -#: gui/options.cpp:1344 gui/options.cpp:1987 +#: gui/options.cpp:1433 gui/options.cpp:2082 #, fuzzy msgid "Not running" msgstr "Error al executar el joc:" -#: gui/options.cpp:1348 +#: gui/options.cpp:1437 #, fuzzy msgid "/root/ Path:" msgstr "Camķ extra:" -#: gui/options.cpp:1348 gui/options.cpp:1350 gui/options.cpp:1351 +#: gui/options.cpp:1437 gui/options.cpp:1439 gui/options.cpp:1440 #, fuzzy msgid "Specifies which directory the Files Manager can access" msgstr "Especifica on es desaran les partides" -#: gui/options.cpp:1350 +#: gui/options.cpp:1439 #, fuzzy msgctxt "lowres" msgid "/root/ Path:" msgstr "Camķ extra:" -#: gui/options.cpp:1360 +#: gui/options.cpp:1449 #, fuzzy msgid "Server's port:" msgstr "Servidor:" -#: gui/options.cpp:1360 +#: gui/options.cpp:1449 msgid "" "Which port is used by the server\n" "Auth with server is not available with non-default port" msgstr "" -#: gui/options.cpp:1520 -msgid "You have to restart ScummVM before your changes will take effect." -msgstr "Heu de reiniciar ScummVM perquč tots els canvis tinguin efecte." +#: gui/options.cpp:1462 +msgid "Apply" +msgstr "" -#: gui/options.cpp:1543 +#: gui/options.cpp:1628 #, fuzzy msgid "Failed to change cloud storage!" msgstr "No s'ha pogut desar l'estat del joc" -#: gui/options.cpp:1546 +#: gui/options.cpp:1631 msgid "Another cloud storage is already active." msgstr "" -#: gui/options.cpp:1584 +#: gui/options.cpp:1667 +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 "" +"El tema que heu seleccionat no suporta l'idioma actual. Si voleu utilitzar " +"aquest tema primer haureu de canviar a un altre idioma." + +#: gui/options.cpp:1702 msgid "The chosen directory cannot be written to. Please select another one." msgstr "" "No es pot escriure al directori seleccionat. Si us plau, escolliu-ne un " "altre." -#: gui/options.cpp:1593 +#: gui/options.cpp:1711 msgid "Select directory for GUI themes" msgstr "Seleccioneu el directori dels temes" -#: gui/options.cpp:1603 +#: gui/options.cpp:1721 msgid "Select directory for extra files" msgstr "Seleccioneu el directori dels fitxers extra" -#: gui/options.cpp:1614 +#: gui/options.cpp:1732 msgid "Select directory for plugins" msgstr "Seleccioneu el directori dels connectors" -#: gui/options.cpp:1626 +#: gui/options.cpp:1744 #, fuzzy msgid "Select directory for Files Manager /root/" msgstr "Seleccioneu el directori dels fitxers extra" -#: gui/options.cpp:1688 -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 "" -"El tema que heu seleccionat no suporta l'idioma actual. Si voleu utilitzar " -"aquest tema primer haureu de canviar a un altre idioma." - -#: gui/options.cpp:1884 +#: gui/options.cpp:1979 #, c-format msgid "%llu bytes" msgstr "" -#: gui/options.cpp:1892 +#: gui/options.cpp:1987 msgid "<right now>" msgstr "" -#: gui/options.cpp:1894 +#: gui/options.cpp:1989 #, fuzzy msgid "<never>" msgstr "Mai" -#: gui/options.cpp:1978 +#: gui/options.cpp:2073 #, fuzzy msgid "Stop server" msgstr "Servidor:" -#: gui/options.cpp:1979 +#: gui/options.cpp:2074 msgid "Stop local webserver" msgstr "" -#: gui/options.cpp:2068 +#: gui/options.cpp:2163 msgid "" "Request failed.\n" "Check your Internet connection." @@ -1618,35 +1619,35 @@ msgstr "" msgid "Clear value" msgstr "Neteja el valor" -#: base/main.cpp:250 +#: base/main.cpp:253 #, c-format msgid "Engine does not support debug level '%s'" msgstr "El motor no suporta el nivell de depuració '%s'" -#: base/main.cpp:324 +#: base/main.cpp:327 msgid "Menu" msgstr "Menś" -#: base/main.cpp:327 backends/platform/symbian/src/SymbianActions.cpp:45 +#: base/main.cpp:330 backends/platform/symbian/src/SymbianActions.cpp:45 #: backends/platform/wince/CEActionsPocket.cpp:45 #: backends/platform/wince/CEActionsSmartphone.cpp:46 msgid "Skip" msgstr "Salta" -#: base/main.cpp:330 backends/platform/symbian/src/SymbianActions.cpp:50 +#: base/main.cpp:333 backends/platform/symbian/src/SymbianActions.cpp:50 #: backends/platform/wince/CEActionsPocket.cpp:42 msgid "Pause" msgstr "Pausa" -#: base/main.cpp:333 +#: base/main.cpp:336 msgid "Skip line" msgstr "Salta la lķnia" -#: base/main.cpp:542 +#: base/main.cpp:547 msgid "Error running game:" msgstr "Error al executar el joc:" -#: base/main.cpp:589 +#: base/main.cpp:594 msgid "Could not find any engine capable of running the selected game" msgstr "No s'ha pogut trobar cap motor capaē d'executar el joc seleccionat" @@ -2022,11 +2023,11 @@ msgstr "" msgid "PC-98 Audio" msgstr "Ąudio" -#: audio/softsynth/mt32.cpp:196 +#: audio/softsynth/mt32.cpp:197 msgid "Initializing MT-32 Emulator" msgstr "Iniciant l'Emulador de MT-32" -#: audio/softsynth/mt32.cpp:434 +#: audio/softsynth/mt32.cpp:435 msgid "MT-32 Emulator" msgstr "Emulador de MT-32" @@ -2042,34 +2043,34 @@ msgstr "Emulador d'IBM PCjr" msgid "C64 Audio Emulator" msgstr "Emulador d'ąudio C64" -#: backends/cloud/storage.cpp:210 +#: backends/cloud/storage.cpp:211 #, fuzzy msgid "Saved games sync complete." msgstr "S'ha acabat la cerca!" -#: backends/cloud/storage.cpp:221 +#: backends/cloud/storage.cpp:222 msgid "Saved games sync was cancelled." msgstr "" -#: backends/cloud/storage.cpp:223 +#: backends/cloud/storage.cpp:224 msgid "" "Saved games sync failed.\n" "Check your Internet connection." msgstr "" -#: backends/cloud/storage.cpp:327 +#: backends/cloud/storage.cpp:328 #, c-format msgid "" "Download complete.\n" "Failed to download %u files." msgstr "" -#: backends/cloud/storage.cpp:329 +#: backends/cloud/storage.cpp:330 #, fuzzy msgid "Download complete." msgstr "S'ha acabat la cerca!" -#: backends/cloud/storage.cpp:339 +#: backends/cloud/storage.cpp:340 #, fuzzy msgid "Download failed." msgstr "Carrega partida:" @@ -2181,43 +2182,53 @@ msgstr "" msgid "OpenGL" msgstr "Obre" -#: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:47 -#: backends/graphics/wincesdl/wincesdl-graphics.cpp:88 -#: backends/graphics/wincesdl/wincesdl-graphics.cpp:95 -msgid "Normal (no scaling)" -msgstr "Normal (sense escalar)" +#: backends/graphics/openglsdl/openglsdl-graphics.cpp:617 +#: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:2462 +msgid "Windowed mode" +msgstr "Mode de finestra" -#: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:66 -msgctxt "lowres" -msgid "Normal (no scaling)" -msgstr "Normal (no escalat)" +#: backends/graphics/openglsdl/openglsdl-graphics.cpp:710 +#, c-format +msgid "Resolution: %dx%d" +msgstr "" -#: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:2329 +#: backends/graphics/openglsdl/openglsdl-graphics.cpp:731 +#: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:2338 msgid "Enabled aspect ratio correction" msgstr "S'ha activat la correcció de la relació d'aspecte" -#: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:2335 +#: backends/graphics/openglsdl/openglsdl-graphics.cpp:733 +#: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:2344 msgid "Disabled aspect ratio correction" msgstr "S'ha desactivat la correcció de la relació d'aspecte" -#: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:2353 +#: backends/graphics/openglsdl/openglsdl-graphics.cpp:753 +#: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:2362 #, fuzzy msgid "Filtering enabled" msgstr "Clicat activat" -#: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:2355 +#: backends/graphics/openglsdl/openglsdl-graphics.cpp:755 +#: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:2364 #, fuzzy msgid "Filtering disabled" msgstr "Clicat desactivat" -#: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:2407 +#: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:47 +#: backends/graphics/wincesdl/wincesdl-graphics.cpp:88 +#: backends/graphics/wincesdl/wincesdl-graphics.cpp:95 +msgid "Normal (no scaling)" +msgstr "Normal (sense escalar)" + +#: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:66 +msgctxt "lowres" +msgid "Normal (no scaling)" +msgstr "Normal (no escalat)" + +#: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:2417 msgid "Active graphics filter:" msgstr "Filtre de grąfics actiu:" -#: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:2452 -msgid "Windowed mode" -msgstr "Mode de finestra" - #: backends/keymapper/remap-dialog.cpp:48 msgid "Keymap:" msgstr "Assignacions de teclat:" @@ -3126,6 +3137,39 @@ msgstr "~M~enś Principal" msgid "~W~ater Effect Enabled" msgstr "~E~fecte de l'aigua activat" +#: engines/mohawk/riven.cpp:150 +msgid "" +"You're missing a Riven executable. The Windows executable is 'riven.exe' or " +"'rivendmo.exe'. " +msgstr "" + +#: engines/mohawk/riven.cpp:151 +msgid "" +"Using the 'arcriven.z' installer file also works. In addition, you can use " +"the Mac 'Riven' executable." +msgstr "" + +#: engines/mohawk/riven.cpp:162 +msgid "" +"You're missing 'extras.mhk'. Using the 'arcriven.z' installer file also " +"works." +msgstr "" + +#: engines/mohawk/riven_external.cpp:213 +msgid "" +"Exploration beyond this point available only within the full version of\n" +"the game." +msgstr "" + +#: engines/mohawk/riven_external.cpp:655 +msgid "" +"At this point, the Riven Demo would\n" +"ask if you would like to open a web browser\n" +"to bring you to the Red Orb store to buy\n" +"the game. ScummVM cannot do that and\n" +"the site no longer exists." +msgstr "" + #: engines/mohawk/mohawk.cpp:61 #, fuzzy msgid "The game is paused. Press any key to continue." @@ -4271,6 +4315,9 @@ msgstr "" "Utilitza el conjunt alternatiu de cursors platejats, en lloc dels normals " "daurats" +#~ msgid "You have to restart ScummVM before your changes will take effect." +#~ msgstr "Heu de reiniciar ScummVM perquč tots els canvis tinguin efecte." + #, fuzzy #~ msgid "Specifies where Files Manager can access to" #~ msgstr "Especifica on es desaran les partides" diff --git a/po/cs_CZ.po b/po/cs_CZ.po index 4aa8dc2d32..f01b44030f 100644 --- a/po/cs_CZ.po +++ b/po/cs_CZ.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: ScummVM 1.7.0git\n" "Report-Msgid-Bugs-To: scummvm-devel@lists.scummvm.org\n" -"POT-Creation-Date: 2016-10-12 23:37+0100\n" +"POT-Creation-Date: 2016-11-05 12:43+0100\n" "PO-Revision-Date: 2016-10-09 11:46+0200\n" "Last-Translator: Zbynģk Schwarz <zbynek.schwarz@gmail.com>\n" "Language-Team: \n" @@ -19,6 +19,7 @@ msgstr "" "X-Poedit-SourceCharset: iso-8859-2\n" "X-Generator: Poedit 1.8.7.1\n" "X-Poedit-Basepath: ..\n" +"X-Language-name: Cesky\n" #: gui/about.cpp:94 #, c-format @@ -58,7 +59,7 @@ msgstr "Jķt nahoru" #: gui/browser.cpp:75 gui/chooser.cpp:46 gui/editgamedialog.cpp:292 #: gui/editrecorddialog.cpp:67 gui/filebrowser-dialog.cpp:64 #: gui/fluidsynth-dialog.cpp:152 gui/KeysDialog.cpp:43 gui/massadd.cpp:95 -#: gui/options.cpp:1376 gui/predictivedialog.cpp:73 gui/recorderdialog.cpp:69 +#: gui/options.cpp:1461 gui/predictivedialog.cpp:73 gui/recorderdialog.cpp:69 #: gui/recorderdialog.cpp:155 gui/remotebrowser.cpp:59 #: gui/saveload-dialog.cpp:383 gui/saveload-dialog.cpp:443 #: gui/saveload-dialog.cpp:717 gui/saveload-dialog.cpp:1111 @@ -82,7 +83,7 @@ msgstr "Zvolit" msgid "Select directory where to download game data" msgstr "Vyberte adresįų kam data her stįhnout" -#: gui/downloaddialog.cpp:49 gui/editgamedialog.cpp:472 gui/launcher.cpp:173 +#: gui/downloaddialog.cpp:49 gui/editgamedialog.cpp:470 gui/launcher.cpp:197 msgid "Select directory with game data" msgstr "Vyberte adresįų s daty hry" @@ -117,7 +118,7 @@ msgstr "" #: gui/downloaddialog.cpp:118 gui/downloaddialog.cpp:152 #: gui/filebrowser-dialog.cpp:132 gui/fluidsynth-dialog.cpp:217 -#: gui/launcher.cpp:286 gui/launcher.cpp:394 gui/launcher.cpp:453 +#: gui/launcher.cpp:307 gui/launcher.cpp:415 gui/launcher.cpp:474 #: gui/storagewizarddialog.cpp:112 #: backends/events/symbiansdl/symbiansdl-events.cpp:186 #: backends/platform/wince/CEActionsPocket.cpp:326 @@ -129,7 +130,7 @@ msgstr "Ano" #: gui/downloaddialog.cpp:118 gui/downloaddialog.cpp:153 #: gui/filebrowser-dialog.cpp:132 gui/fluidsynth-dialog.cpp:217 -#: gui/launcher.cpp:286 gui/launcher.cpp:394 gui/launcher.cpp:453 +#: gui/launcher.cpp:307 gui/launcher.cpp:415 gui/launcher.cpp:474 #: gui/storagewizarddialog.cpp:112 #: backends/events/symbiansdl/symbiansdl-events.cpp:186 #: backends/platform/wince/CEActionsPocket.cpp:326 @@ -139,7 +140,7 @@ msgstr "Ano" msgid "No" msgstr "Ne" -#: gui/downloaddialog.cpp:136 gui/launcher.cpp:544 +#: gui/downloaddialog.cpp:136 gui/launcher.cpp:565 msgid "ScummVM couldn't open the specified directory!" msgstr "ScummVM nemohl tento adresįų otevųķt!" @@ -152,8 +153,8 @@ msgstr "" "nįzvem." #: gui/downloaddialog.cpp:146 gui/editgamedialog.cpp:293 -#: gui/fluidsynth-dialog.cpp:153 gui/KeysDialog.cpp:42 gui/launcher.cpp:501 -#: gui/launcher.cpp:505 gui/massadd.cpp:92 gui/options.cpp:1377 +#: gui/fluidsynth-dialog.cpp:153 gui/KeysDialog.cpp:42 gui/launcher.cpp:522 +#: gui/launcher.cpp:526 gui/massadd.cpp:92 gui/options.cpp:1463 #: gui/saveload-dialog.cpp:1112 engines/engine.cpp:477 engines/engine.cpp:488 #: backends/platform/wii/options.cpp:47 #: backends/platform/wince/CELauncherDialog.cpp:54 @@ -236,8 +237,8 @@ msgid "" "English" msgstr "Jazyk hry. Toto z va¹ķ ©panģlské verze neudģlį Anglickou" -#: gui/editgamedialog.cpp:151 gui/editgamedialog.cpp:165 gui/options.cpp:114 -#: gui/options.cpp:785 gui/options.cpp:798 gui/options.cpp:1261 +#: gui/editgamedialog.cpp:151 gui/editgamedialog.cpp:165 gui/options.cpp:121 +#: gui/options.cpp:812 gui/options.cpp:825 gui/options.cpp:1356 #: audio/null.cpp:41 msgid "<default>" msgstr "<vżchozķ>" @@ -260,11 +261,11 @@ msgstr "Platforma:" msgid "Engine" msgstr "Jįdro" -#: gui/editgamedialog.cpp:184 gui/options.cpp:1120 gui/options.cpp:1137 +#: gui/editgamedialog.cpp:184 gui/options.cpp:1147 gui/options.cpp:1232 msgid "Graphics" msgstr "Obraz" -#: gui/editgamedialog.cpp:184 gui/options.cpp:1120 gui/options.cpp:1137 +#: gui/editgamedialog.cpp:184 gui/options.cpp:1147 gui/options.cpp:1232 msgid "GFX" msgstr "GFX" @@ -277,7 +278,7 @@ msgctxt "lowres" msgid "Override global graphic settings" msgstr "Potlačit globįlnķ nastavenķ obrazu" -#: gui/editgamedialog.cpp:196 gui/options.cpp:1143 +#: gui/editgamedialog.cpp:196 gui/options.cpp:1238 msgid "Audio" msgstr "Zvuk" @@ -290,11 +291,11 @@ msgctxt "lowres" msgid "Override global audio settings" msgstr "Potlačit globįlnķ nastavenķ zvuku" -#: gui/editgamedialog.cpp:210 gui/options.cpp:1148 +#: gui/editgamedialog.cpp:210 gui/options.cpp:1243 msgid "Volume" msgstr "Hlasitost" -#: gui/editgamedialog.cpp:212 gui/options.cpp:1150 +#: gui/editgamedialog.cpp:212 gui/options.cpp:1245 msgctxt "lowres" msgid "Volume" msgstr "Hlasitost" @@ -308,7 +309,7 @@ msgctxt "lowres" msgid "Override global volume settings" msgstr "Potlačit globįlnķ nastavenķ hlasitosti" -#: gui/editgamedialog.cpp:226 gui/options.cpp:1158 +#: gui/editgamedialog.cpp:226 gui/options.cpp:1253 msgid "MIDI" msgstr "MIDI" @@ -321,7 +322,7 @@ msgctxt "lowres" msgid "Override global MIDI settings" msgstr "Potlačit globįlnķ nastavenķ MIDI" -#: gui/editgamedialog.cpp:241 gui/options.cpp:1168 +#: gui/editgamedialog.cpp:241 gui/options.cpp:1263 msgid "MT-32" msgstr "MT-32" @@ -334,11 +335,11 @@ msgctxt "lowres" msgid "Override global MT-32 settings" msgstr "Potlačit globįlnķ nastavenķ MT-32" -#: gui/editgamedialog.cpp:255 gui/options.cpp:1175 +#: gui/editgamedialog.cpp:255 gui/options.cpp:1270 msgid "Paths" msgstr "Cesty" -#: gui/editgamedialog.cpp:257 gui/options.cpp:1177 +#: gui/editgamedialog.cpp:257 gui/options.cpp:1272 msgctxt "lowres" msgid "Paths" msgstr "Cesty" @@ -352,7 +353,7 @@ msgctxt "lowres" msgid "Game Path:" msgstr "Cesta Hry:" -#: gui/editgamedialog.cpp:271 gui/options.cpp:1201 +#: gui/editgamedialog.cpp:271 gui/options.cpp:1296 msgid "Extra Path:" msgstr "Dodatečnį Cesta:" @@ -361,56 +362,56 @@ msgstr "Dodatečnį Cesta:" msgid "Specifies path to additional data used by the game" msgstr "Stanovķ cestu pro dodatečnį data pou¾itį ve hųe" -#: gui/editgamedialog.cpp:273 gui/options.cpp:1203 +#: gui/editgamedialog.cpp:273 gui/options.cpp:1298 msgctxt "lowres" msgid "Extra Path:" msgstr "Dodatečnį Cesta:" -#: gui/editgamedialog.cpp:280 gui/options.cpp:1185 +#: gui/editgamedialog.cpp:280 gui/options.cpp:1280 msgid "Save Path:" msgstr "Cesta pro ulo¾enķ:" #: gui/editgamedialog.cpp:280 gui/editgamedialog.cpp:282 -#: gui/editgamedialog.cpp:283 gui/options.cpp:1185 gui/options.cpp:1187 -#: gui/options.cpp:1188 +#: gui/editgamedialog.cpp:283 gui/options.cpp:1280 gui/options.cpp:1282 +#: gui/options.cpp:1283 msgid "Specifies where your saved games are put" msgstr "Stanovuje, kam jsou umķstģny va¹e ulo¾ené hry" -#: gui/editgamedialog.cpp:282 gui/options.cpp:1187 +#: gui/editgamedialog.cpp:282 gui/options.cpp:1282 msgctxt "lowres" msgid "Save Path:" msgstr "Cesta pro ulo¾enķ:" -#: gui/editgamedialog.cpp:301 gui/editgamedialog.cpp:400 -#: gui/editgamedialog.cpp:459 gui/editgamedialog.cpp:520 gui/options.cpp:1196 -#: gui/options.cpp:1204 gui/options.cpp:1213 gui/options.cpp:1414 -#: gui/options.cpp:1420 gui/options.cpp:1428 gui/options.cpp:1451 -#: gui/options.cpp:1467 gui/options.cpp:1473 gui/options.cpp:1480 -#: gui/options.cpp:1488 gui/options.cpp:1640 gui/options.cpp:1643 -#: gui/options.cpp:1650 gui/options.cpp:1660 +#: gui/editgamedialog.cpp:301 gui/editgamedialog.cpp:398 +#: gui/editgamedialog.cpp:457 gui/editgamedialog.cpp:518 gui/options.cpp:1291 +#: gui/options.cpp:1299 gui/options.cpp:1308 gui/options.cpp:1488 +#: gui/options.cpp:1494 gui/options.cpp:1502 gui/options.cpp:1525 +#: gui/options.cpp:1554 gui/options.cpp:1560 gui/options.cpp:1567 +#: gui/options.cpp:1575 gui/options.cpp:1758 gui/options.cpp:1761 +#: gui/options.cpp:1768 gui/options.cpp:1778 msgctxt "path" msgid "None" msgstr "®įdné" -#: gui/editgamedialog.cpp:306 gui/editgamedialog.cpp:406 -#: gui/editgamedialog.cpp:524 gui/options.cpp:1408 gui/options.cpp:1461 -#: gui/options.cpp:1646 backends/platform/wii/options.cpp:56 +#: gui/editgamedialog.cpp:306 gui/editgamedialog.cpp:404 +#: gui/editgamedialog.cpp:522 gui/options.cpp:1482 gui/options.cpp:1548 +#: gui/options.cpp:1764 backends/platform/wii/options.cpp:56 msgid "Default" msgstr "Vżchozķ" -#: gui/editgamedialog.cpp:452 gui/options.cpp:1654 +#: gui/editgamedialog.cpp:450 gui/options.cpp:1772 msgid "Select SoundFont" msgstr "Vybrat SoundFont" -#: gui/editgamedialog.cpp:491 +#: gui/editgamedialog.cpp:489 msgid "Select additional game directory" msgstr "Vyberte dodatečnż adresįų hry" -#: gui/editgamedialog.cpp:504 gui/options.cpp:1577 +#: gui/editgamedialog.cpp:502 gui/options.cpp:1695 msgid "Select directory for saved games" msgstr "Vyberte adresįų pro ulo¾ené hry" -#: gui/editgamedialog.cpp:510 +#: gui/editgamedialog.cpp:508 msgid "" "Saved games sync feature doesn't work with non-default directories. If you " "want your saved games to sync, use default directory." @@ -418,7 +419,7 @@ msgstr "" "Funkce synchronizace ulo¾enżch her nefunguje s nestandardnķmi adresįųi. " "Pokud chcete va¹e hry synchronizovat, je nutné pou¾ķt vżchozķ adresįų." -#: gui/editgamedialog.cpp:536 +#: gui/editgamedialog.cpp:534 msgid "This game ID is already taken. Please choose another one." msgstr "Toto ID hry je u¾ zabrané. Vyberte si, prosķm, jiné." @@ -498,7 +499,7 @@ msgstr "Sinus" msgid "Triangle" msgstr "Trojśhelnķk" -#: gui/fluidsynth-dialog.cpp:138 gui/options.cpp:1221 +#: gui/fluidsynth-dialog.cpp:138 gui/options.cpp:1316 msgid "Misc" msgstr "Rłzné" @@ -548,15 +549,15 @@ msgstr "Zavųķt" msgid "Mouse click" msgstr "Kliknutķ my¹ķ" -#: gui/gui-manager.cpp:126 base/main.cpp:337 +#: gui/gui-manager.cpp:126 base/main.cpp:340 msgid "Display keyboard" msgstr "Zobrazit klįvesnici" -#: gui/gui-manager.cpp:130 base/main.cpp:341 +#: gui/gui-manager.cpp:130 base/main.cpp:344 msgid "Remap keys" msgstr "Pųemapovat klįvesy" -#: gui/gui-manager.cpp:133 base/main.cpp:344 engines/scumm/help.cpp:87 +#: gui/gui-manager.cpp:133 base/main.cpp:347 engines/scumm/help.cpp:87 msgid "Toggle fullscreen" msgstr "Pųepnout celou obrazovku" @@ -590,110 +591,110 @@ msgstr "Zmįčknģte klįvesu pro pųiųazenķ" msgid "Choose an action to map" msgstr "Zvolte činnost k mapovįnķ" -#: gui/launcher.cpp:117 engines/dialogs.cpp:111 engines/mohawk/dialogs.cpp:98 +#: gui/launcher.cpp:141 engines/dialogs.cpp:111 engines/mohawk/dialogs.cpp:98 msgid "~Q~uit" msgstr "~U~končit" -#: gui/launcher.cpp:117 backends/platform/sdl/macosx/appmenu_osx.mm:106 +#: gui/launcher.cpp:141 backends/platform/sdl/macosx/appmenu_osx.mm:106 msgid "Quit ScummVM" msgstr "Ukončit ScummVM" -#: gui/launcher.cpp:118 +#: gui/launcher.cpp:142 msgid "A~b~out..." msgstr "~O~ Programu..." -#: gui/launcher.cpp:118 backends/platform/sdl/macosx/appmenu_osx.mm:80 +#: gui/launcher.cpp:142 backends/platform/sdl/macosx/appmenu_osx.mm:80 msgid "About ScummVM" msgstr "O ScummVM" -#: gui/launcher.cpp:119 +#: gui/launcher.cpp:143 msgid "~O~ptions..." msgstr "~V~olby..." -#: gui/launcher.cpp:119 +#: gui/launcher.cpp:143 msgid "Change global ScummVM options" msgstr "Zmģnit globįlnķ volby ScummVM" -#: gui/launcher.cpp:121 +#: gui/launcher.cpp:145 msgid "~S~tart" msgstr "~S~pustit" -#: gui/launcher.cpp:121 +#: gui/launcher.cpp:145 msgid "Start selected game" msgstr "Spustit zvolenou hru" -#: gui/launcher.cpp:124 +#: gui/launcher.cpp:148 msgid "~L~oad..." msgstr "~N~ahrįt..." -#: gui/launcher.cpp:124 +#: gui/launcher.cpp:148 msgid "Load saved game for selected game" msgstr "Nahrįt ulo¾enou pozici pro zvolenou hru" -#: gui/launcher.cpp:129 +#: gui/launcher.cpp:153 msgid "~A~dd Game..." msgstr "~P~ųidat hru..." -#: gui/launcher.cpp:129 gui/launcher.cpp:136 +#: gui/launcher.cpp:153 gui/launcher.cpp:160 msgid "Hold Shift for Mass Add" msgstr "Podr¾te Shift pro Hromadné Pųidįnķ" -#: gui/launcher.cpp:131 +#: gui/launcher.cpp:155 msgid "~E~dit Game..." msgstr "~U~pravit Hru..." -#: gui/launcher.cpp:131 gui/launcher.cpp:138 +#: gui/launcher.cpp:155 gui/launcher.cpp:162 msgid "Change game options" msgstr "Zmģnit volby hry" -#: gui/launcher.cpp:133 +#: gui/launcher.cpp:157 msgid "~R~emove Game" msgstr "~O~dstranit Hru" -#: gui/launcher.cpp:133 gui/launcher.cpp:140 +#: gui/launcher.cpp:157 gui/launcher.cpp:164 msgid "Remove game from the list. The game data files stay intact" msgstr "Odstranit hru ze seznamu. Hernķ data złstanou zachovįna" -#: gui/launcher.cpp:136 +#: gui/launcher.cpp:160 msgctxt "lowres" msgid "~A~dd Game..." msgstr "~P~ųidat hru..." -#: gui/launcher.cpp:138 +#: gui/launcher.cpp:162 msgctxt "lowres" msgid "~E~dit Game..." msgstr "~U~pravit hru..." -#: gui/launcher.cpp:140 +#: gui/launcher.cpp:164 msgctxt "lowres" msgid "~R~emove Game" msgstr "~O~dstranit hru" -#: gui/launcher.cpp:148 +#: gui/launcher.cpp:172 msgid "Search in game list" msgstr "Hledat v seznamu her" -#: gui/launcher.cpp:152 gui/launcher.cpp:750 +#: gui/launcher.cpp:176 gui/launcher.cpp:771 msgid "Search:" msgstr "Hledat:" -#: gui/launcher.cpp:176 engines/dialogs.cpp:115 engines/cruise/menu.cpp:214 -#: engines/mohawk/dialogs.cpp:103 engines/mohawk/riven.cpp:733 +#: gui/launcher.cpp:200 engines/dialogs.cpp:115 engines/cruise/menu.cpp:214 +#: engines/mohawk/dialogs.cpp:103 engines/mohawk/riven.cpp:734 #: engines/pegasus/pegasus.cpp:353 engines/tsage/scenes.cpp:601 msgid "Load game:" msgstr "Nahrįt hru:" -#: gui/launcher.cpp:176 engines/dialogs.cpp:115 +#: gui/launcher.cpp:200 engines/dialogs.cpp:115 #: backends/platform/wince/CEActionsPocket.cpp:267 #: backends/platform/wince/CEActionsSmartphone.cpp:231 #: engines/cruise/menu.cpp:214 engines/mohawk/dialogs.cpp:103 -#: engines/mohawk/riven.cpp:733 engines/parallaction/saveload.cpp:194 +#: engines/mohawk/riven.cpp:734 engines/parallaction/saveload.cpp:194 #: engines/pegasus/pegasus.cpp:353 engines/scumm/dialogs.cpp:185 #: engines/tsage/scenes.cpp:601 msgid "Load" msgstr "Nahrįt" -#: gui/launcher.cpp:285 +#: gui/launcher.cpp:306 msgid "" "Do you really want to run the mass game detector? This could potentially add " "a huge number of games." @@ -701,39 +702,39 @@ msgstr "" "Opravdu chcete spustit hromadnou detekci her? Toto by mohlo potenciįlnģ " "pųidat velkou spoustu her. " -#: gui/launcher.cpp:344 +#: gui/launcher.cpp:365 msgid "This directory cannot be used yet, it is being downloaded into!" msgstr "Tento adresįų prozatķm nejde pou¾ķt, je do nģj stahovįno!" -#: gui/launcher.cpp:394 +#: gui/launcher.cpp:415 msgid "Do you really want to remove this game configuration?" msgstr "Opravdu chcete odstranit nastavenķ této hry?" -#: gui/launcher.cpp:452 +#: gui/launcher.cpp:473 msgid "Do you want to load saved game?" msgstr "Chcete načķst ulo¾enou pozici?" -#: gui/launcher.cpp:501 +#: gui/launcher.cpp:522 msgid "This game does not support loading games from the launcher." msgstr "Tato hra nepodporuje spou¹tģnķ her ze spou¹tģče" -#: gui/launcher.cpp:505 +#: gui/launcher.cpp:526 msgid "ScummVM could not find any engine capable of running the selected game!" msgstr "ScummVM nemohl najķt ¾įdné jįdro schopné vybranou hru spustit!" -#: gui/launcher.cpp:556 +#: gui/launcher.cpp:577 msgid "ScummVM could not find any game in the specified directory!" msgstr "ScummVM nemohl v zadaném adresįųi najķt ¾įdnou hru!" -#: gui/launcher.cpp:569 +#: gui/launcher.cpp:590 msgid "Pick the game:" msgstr "Vybrat hru:" -#: gui/launcher.cpp:687 +#: gui/launcher.cpp:708 msgid "Mass Add..." msgstr "Hromadné Pųidįnķ..." -#: gui/launcher.cpp:689 +#: gui/launcher.cpp:710 msgid "Record..." msgstr "Nahrįt..." @@ -776,146 +777,146 @@ msgstr "Pųepnout do hry" msgid "Fast replay" msgstr "Rychlé pųehrįvįnķ" -#: gui/options.cpp:112 common/updates.cpp:56 +#: gui/options.cpp:119 common/updates.cpp:56 msgid "Never" msgstr "Nikdy" -#: gui/options.cpp:112 +#: gui/options.cpp:119 msgid "every 5 mins" msgstr "Ka¾dżch 5 min" -#: gui/options.cpp:112 +#: gui/options.cpp:119 msgid "every 10 mins" msgstr "Ka¾dżch 10 min" -#: gui/options.cpp:112 +#: gui/options.cpp:119 msgid "every 15 mins" msgstr "Ka¾dżch 15 min" -#: gui/options.cpp:112 +#: gui/options.cpp:119 msgid "every 30 mins" msgstr "Ka¾dżch 30 min" -#: gui/options.cpp:114 +#: gui/options.cpp:121 msgid "8 kHz" msgstr "8 kHz" -#: gui/options.cpp:114 +#: gui/options.cpp:121 msgid "11 kHz" msgstr "11 kHz" -#: gui/options.cpp:114 +#: gui/options.cpp:121 msgid "22 kHz" msgstr "22 kHz" -#: gui/options.cpp:114 +#: gui/options.cpp:121 msgid "44 kHz" msgstr "44 kHz" -#: gui/options.cpp:114 +#: gui/options.cpp:121 msgid "48 kHz" msgstr "48 kHz" -#: gui/options.cpp:291 gui/options.cpp:528 gui/options.cpp:629 -#: gui/options.cpp:699 gui/options.cpp:910 +#: gui/options.cpp:289 gui/options.cpp:552 gui/options.cpp:657 +#: gui/options.cpp:726 gui/options.cpp:937 msgctxt "soundfont" msgid "None" msgstr "®įdné" -#: gui/options.cpp:432 +#: gui/options.cpp:456 msgid "Failed to apply some of the graphic options changes:" msgstr "Nelze pou¾ķt nģkteré zmģny mo¾nostķ grafiky:" -#: gui/options.cpp:444 +#: gui/options.cpp:468 msgid "the video mode could not be changed." msgstr "re¾im obrazu nemohl bżt zmģnģn." -#: gui/options.cpp:450 +#: gui/options.cpp:474 msgid "the aspect ratio setting could not be changed" msgstr "nastavenķ pomģru stran nemohlo bżt zmģnģno" -#: gui/options.cpp:456 +#: gui/options.cpp:480 msgid "the fullscreen setting could not be changed" msgstr "nastavenķ celé obrazovky nemohlo bżt zmģnģno" -#: gui/options.cpp:462 +#: gui/options.cpp:486 #, fuzzy msgid "the filtering setting could not be changed" msgstr "nastavenķ celé obrazovky nemohlo bżt zmģnģno" -#: gui/options.cpp:782 +#: gui/options.cpp:809 msgid "Graphics mode:" msgstr "Re¾im obrazu:" -#: gui/options.cpp:796 +#: gui/options.cpp:823 msgid "Render mode:" msgstr "Re¾im vykreslenķ:" -#: gui/options.cpp:796 gui/options.cpp:797 +#: gui/options.cpp:823 gui/options.cpp:824 msgid "Special dithering modes supported by some games" msgstr "Speciįlnķ re¾imy chvģnķ podporované nģkterżmi hrami" -#: gui/options.cpp:808 -#: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:2450 +#: gui/options.cpp:835 backends/graphics/openglsdl/openglsdl-graphics.cpp:615 +#: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:2460 msgid "Fullscreen mode" msgstr "Re¾im celé obrazovky" -#: gui/options.cpp:811 +#: gui/options.cpp:838 #, fuzzy msgid "Filter graphics" msgstr "Pou¾ķt barevné grafiky" -#: gui/options.cpp:811 +#: gui/options.cpp:838 msgid "Use linear filtering when scaling graphics" msgstr "" -#: gui/options.cpp:814 +#: gui/options.cpp:841 msgid "Aspect ratio correction" msgstr "Korekce pomģru stran" -#: gui/options.cpp:814 +#: gui/options.cpp:841 msgid "Correct aspect ratio for 320x200 games" msgstr "Korigovat pomģr stran pro hry 320x200" -#: gui/options.cpp:822 +#: gui/options.cpp:849 msgid "Preferred Device:" msgstr "Prioritnķ Zaųķzenķ:" -#: gui/options.cpp:822 +#: gui/options.cpp:849 msgid "Music Device:" msgstr "Hudebnķ zaųķzenķ" -#: gui/options.cpp:822 gui/options.cpp:824 +#: gui/options.cpp:849 gui/options.cpp:851 msgid "Specifies preferred sound device or sound card emulator" msgstr "Stanovķ prioritnķ zvukové zaųķzenķ nebo emulįtor zvukové karty" -#: gui/options.cpp:822 gui/options.cpp:824 gui/options.cpp:825 +#: gui/options.cpp:849 gui/options.cpp:851 gui/options.cpp:852 msgid "Specifies output sound device or sound card emulator" msgstr "Stanovķ vżstupnķ zvukové zaųķzenķ nebo emulįtor zvukové karty" -#: gui/options.cpp:824 +#: gui/options.cpp:851 msgctxt "lowres" msgid "Preferred Dev.:" msgstr "Prioritnķ Zaų.:" -#: gui/options.cpp:824 +#: gui/options.cpp:851 msgctxt "lowres" msgid "Music Device:" msgstr "Hudebnķ zaųķzenķ" -#: gui/options.cpp:851 +#: gui/options.cpp:878 msgid "AdLib emulator:" msgstr "AdLib emulįtor" -#: gui/options.cpp:851 gui/options.cpp:852 +#: gui/options.cpp:878 gui/options.cpp:879 msgid "AdLib is used for music in many games" msgstr "AdLib se pou¾ķvį pro hudbu v mnoha hrįch" -#: gui/options.cpp:862 +#: gui/options.cpp:889 msgid "Output rate:" msgstr "Vżstup. frekvence:" -#: gui/options.cpp:862 gui/options.cpp:863 +#: gui/options.cpp:889 gui/options.cpp:890 msgid "" "Higher value specifies better sound quality but may be not supported by your " "soundcard" @@ -923,62 +924,62 @@ msgstr "" "Vy¹¹ķ hodnota zpłsobķ lep¹ķ kvalitu zvuku, ale nemusķ bżt podporovįna Va¹i " "zvukovou kartou" -#: gui/options.cpp:873 +#: gui/options.cpp:900 msgid "GM Device:" msgstr "GM Zaųķzenķ:" -#: gui/options.cpp:873 +#: gui/options.cpp:900 msgid "Specifies default sound device for General MIDI output" msgstr "Stanovķ vżchozķ zvukové zaųķzenķ pro vżstup General MIDI" -#: gui/options.cpp:884 +#: gui/options.cpp:911 msgid "Don't use General MIDI music" msgstr "Nepou¾ķvat hudbu General MIDI" -#: gui/options.cpp:895 gui/options.cpp:957 +#: gui/options.cpp:922 gui/options.cpp:984 msgid "Use first available device" msgstr "Pou¾ķt prvnķ dostupné zaųķzenķ" -#: gui/options.cpp:907 +#: gui/options.cpp:934 msgid "SoundFont:" msgstr "SoundFont:" -#: gui/options.cpp:907 gui/options.cpp:909 gui/options.cpp:910 +#: gui/options.cpp:934 gui/options.cpp:936 gui/options.cpp:937 msgid "SoundFont is supported by some audio cards, FluidSynth and Timidity" msgstr "" "SoundFont je podporovįn nģkterżmi zvukovżmi kartami, FluidSynth a Timidity" -#: gui/options.cpp:909 +#: gui/options.cpp:936 msgctxt "lowres" msgid "SoundFont:" msgstr "SoundFont:" -#: gui/options.cpp:915 +#: gui/options.cpp:942 msgid "Mixed AdLib/MIDI mode" msgstr "Smķ¹enż re¾im AdLib/MIDI" -#: gui/options.cpp:915 +#: gui/options.cpp:942 msgid "Use both MIDI and AdLib sound generation" msgstr "Pou¾ķt obģ zvukové generace MIDI a AdLib" -#: gui/options.cpp:918 +#: gui/options.cpp:945 msgid "MIDI gain:" msgstr "Zesķlenķ MIDI:" -#: gui/options.cpp:928 +#: gui/options.cpp:955 msgid "MT-32 Device:" msgstr "Zaųķzenķ MT-32:" -#: gui/options.cpp:928 +#: gui/options.cpp:955 msgid "Specifies default sound device for Roland MT-32/LAPC1/CM32l/CM64 output" msgstr "" "Stanovķ vżchozķ zvukové vżstupnķ zaųķzenķ pro Roland MT-32/LAPC1/CM32l/CM64" -#: gui/options.cpp:933 +#: gui/options.cpp:960 msgid "True Roland MT-32 (disable GM emulation)" msgstr "Opravdovż Roland MT-32 (vypne GM emulaci)" -#: gui/options.cpp:933 gui/options.cpp:935 +#: gui/options.cpp:960 gui/options.cpp:962 msgid "" "Check if you want to use your real hardware Roland-compatible sound device " "connected to your computer" @@ -986,16 +987,16 @@ msgstr "" "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:935 +#: gui/options.cpp:962 msgctxt "lowres" msgid "True Roland MT-32 (no GM emulation)" msgstr "Opravdovż Roland MT-32 (¾įdnį GM emulace)" -#: gui/options.cpp:938 +#: gui/options.cpp:965 msgid "Roland GS Device (enable MT-32 mappings)" msgstr "Zaųķzenķ Roland GS (zapne mapovįnķ MT-32)" -#: gui/options.cpp:938 +#: gui/options.cpp:965 msgid "" "Check if you want to enable patch mappings to emulate an MT-32 on a Roland " "GS device" @@ -1003,266 +1004,266 @@ msgstr "" "Za¹krtnģte, pokud chcete povolit zįplaty mapovįnķ umo¾ņujķcķ emulovat MT-32 " "na zaųķzenķ Roland GS" -#: gui/options.cpp:947 +#: gui/options.cpp:974 msgid "Don't use Roland MT-32 music" msgstr "Nepou¾ķvat hudbu Roland MT-32" -#: gui/options.cpp:974 +#: gui/options.cpp:1001 msgid "Text and Speech:" msgstr "Text a Ųeč" -#: gui/options.cpp:978 gui/options.cpp:988 +#: gui/options.cpp:1005 gui/options.cpp:1015 msgid "Speech" msgstr "Ųeč" -#: gui/options.cpp:979 gui/options.cpp:989 +#: gui/options.cpp:1006 gui/options.cpp:1016 msgid "Subtitles" msgstr "Titulky" -#: gui/options.cpp:980 +#: gui/options.cpp:1007 msgid "Both" msgstr "Oba" -#: gui/options.cpp:982 +#: gui/options.cpp:1009 msgid "Subtitle speed:" msgstr "Rychlost titulkł:" -#: gui/options.cpp:984 +#: gui/options.cpp:1011 msgctxt "lowres" msgid "Text and Speech:" msgstr "Text a Ųeč:" -#: gui/options.cpp:988 +#: gui/options.cpp:1015 msgid "Spch" msgstr "Ųeč" -#: gui/options.cpp:989 +#: gui/options.cpp:1016 msgid "Subs" msgstr "Titl" -#: gui/options.cpp:990 +#: gui/options.cpp:1017 msgctxt "lowres" msgid "Both" msgstr "Oba" -#: gui/options.cpp:990 +#: gui/options.cpp:1017 msgid "Show subtitles and play speech" msgstr "Zobrazit titulky a pųehrįvat ųeč" -#: gui/options.cpp:992 +#: gui/options.cpp:1019 msgctxt "lowres" msgid "Subtitle speed:" msgstr "Rychlost titulkł" -#: gui/options.cpp:1008 +#: gui/options.cpp:1035 msgid "Music volume:" msgstr "Hlasitost hudby" -#: gui/options.cpp:1010 +#: gui/options.cpp:1037 msgctxt "lowres" msgid "Music volume:" msgstr "Hlasitost hudby" -#: gui/options.cpp:1017 +#: gui/options.cpp:1044 msgid "Mute All" msgstr "Ztlumit V¹e" -#: gui/options.cpp:1020 +#: gui/options.cpp:1047 msgid "SFX volume:" msgstr "Hlasitost zvukł" -#: gui/options.cpp:1020 gui/options.cpp:1022 gui/options.cpp:1023 +#: gui/options.cpp:1047 gui/options.cpp:1049 gui/options.cpp:1050 msgid "Special sound effects volume" msgstr "Hlasitost speciįlnķch zvukovżch efektł" -#: gui/options.cpp:1022 +#: gui/options.cpp:1049 msgctxt "lowres" msgid "SFX volume:" msgstr "Hlasitost zvukł" -#: gui/options.cpp:1030 +#: gui/options.cpp:1057 msgid "Speech volume:" msgstr "Hlasitost ųeči" -#: gui/options.cpp:1032 +#: gui/options.cpp:1059 msgctxt "lowres" msgid "Speech volume:" msgstr "Hlasitost ųeči" -#: gui/options.cpp:1162 +#: gui/options.cpp:1257 msgid "FluidSynth Settings" msgstr "Nastavenķ FluidSynth" -#: gui/options.cpp:1193 +#: gui/options.cpp:1288 msgid "Theme Path:" msgstr "Cesta ke Vzhledu:" -#: gui/options.cpp:1195 +#: gui/options.cpp:1290 msgctxt "lowres" msgid "Theme Path:" msgstr "Cesta ke Vzhledu:" -#: gui/options.cpp:1201 gui/options.cpp:1203 gui/options.cpp:1204 +#: gui/options.cpp:1296 gui/options.cpp:1298 gui/options.cpp:1299 msgid "Specifies path to additional data used by all games or ScummVM" msgstr "Stanovķ cestu k dodatečnżm datłm pou¾ķvanį v¹emi hrami nebo ScummVM" -#: gui/options.cpp:1210 +#: gui/options.cpp:1305 msgid "Plugins Path:" msgstr "Cesta k Pluginłm:" -#: gui/options.cpp:1212 +#: gui/options.cpp:1307 msgctxt "lowres" msgid "Plugins Path:" msgstr "Cesta k Pluginłm:" -#: gui/options.cpp:1223 +#: gui/options.cpp:1318 msgctxt "lowres" msgid "Misc" msgstr "Rłzné" -#: gui/options.cpp:1225 +#: gui/options.cpp:1320 msgid "Theme:" msgstr "Vzhled:" -#: gui/options.cpp:1229 +#: gui/options.cpp:1324 msgid "GUI Renderer:" msgstr "GUI Vykreslovač:" -#: gui/options.cpp:1241 +#: gui/options.cpp:1336 msgid "Autosave:" msgstr "Autouklįdįnķ:" -#: gui/options.cpp:1243 +#: gui/options.cpp:1338 msgctxt "lowres" msgid "Autosave:" msgstr "Autouklįdįnķ:" -#: gui/options.cpp:1251 +#: gui/options.cpp:1346 msgid "Keys" msgstr "Klįvesy" -#: gui/options.cpp:1258 +#: gui/options.cpp:1353 msgid "GUI Language:" msgstr "Jazyk GUI" -#: gui/options.cpp:1258 +#: gui/options.cpp:1353 msgid "Language of ScummVM GUI" msgstr "Jazyk GUI ScummVM" -#: gui/options.cpp:1286 +#: gui/options.cpp:1381 msgid "Update check:" msgstr "Kontrola aktualizacķ:" -#: gui/options.cpp:1286 +#: gui/options.cpp:1381 msgid "How often to check ScummVM updates" msgstr "Jak často ScummVM kontroluje aktualizace" -#: gui/options.cpp:1298 +#: gui/options.cpp:1393 msgid "Check now" msgstr "Zkontrolovat nynķ" -#: gui/options.cpp:1306 +#: gui/options.cpp:1401 msgid "Cloud" msgstr "Cloud" -#: gui/options.cpp:1308 +#: gui/options.cpp:1403 msgctxt "lowres" msgid "Cloud" msgstr "Cloud" -#: gui/options.cpp:1319 +#: gui/options.cpp:1408 msgid "Storage:" msgstr "Ślo¾i¹tģ:" -#: gui/options.cpp:1319 +#: gui/options.cpp:1408 msgid "Active cloud storage" msgstr "Aktivnķ cloudové ślo¾i¹tģ" -#: gui/options.cpp:1326 gui/options.cpp:1877 +#: gui/options.cpp:1415 gui/options.cpp:1972 msgid "<none>" msgstr "<¾įdné>" -#: gui/options.cpp:1330 backends/platform/wii/options.cpp:114 +#: gui/options.cpp:1419 backends/platform/wii/options.cpp:114 msgid "Username:" msgstr "U¾ivatelské jméno" -#: gui/options.cpp:1330 +#: gui/options.cpp:1419 msgid "Username used by this storage" msgstr "U¾ivatelskį jména kterį toto ślo¾i¹tģ vyu¾ķvajķ" -#: gui/options.cpp:1333 +#: gui/options.cpp:1422 msgid "Used space:" msgstr "Vyu¾itż prostor:" -#: gui/options.cpp:1333 +#: gui/options.cpp:1422 msgid "Space used by ScummVM's saved games on this storage" msgstr "Prostor vyu¾itż ulo¾enżmi hrami ScummVM v tomto ślo¾i¹ti" -#: gui/options.cpp:1336 +#: gui/options.cpp:1425 msgid "Last sync time:" msgstr "Datum poslednķ synchronizace:" -#: gui/options.cpp:1336 +#: gui/options.cpp:1425 msgid "When the last saved games sync for this storage occured" msgstr "Kdy byla provedena poslednķ synchronizace ulo¾enżch her" -#: gui/options.cpp:1339 gui/storagewizarddialog.cpp:71 +#: gui/options.cpp:1428 gui/storagewizarddialog.cpp:71 msgid "Connect" msgstr "Pųipojit" -#: gui/options.cpp:1339 +#: gui/options.cpp:1428 msgid "Open wizard dialog to connect your cloud storage account" msgstr "" "Otevųķt dialogové okno prłvodce pro pųipojenķ k va¹emu śčtu cloudového " "ślo¾i¹tģ" -#: gui/options.cpp:1340 +#: gui/options.cpp:1429 msgid "Refresh" msgstr "Obnovit" -#: gui/options.cpp:1340 +#: gui/options.cpp:1429 msgid "Refresh current cloud storage information (username and usage)" msgstr "" "Obnovit současné śdaje cloudového ślo¾i¹tģ (u¾ivatelské jméno a vyu¾itķ)" -#: gui/options.cpp:1341 +#: gui/options.cpp:1430 msgid "Download" msgstr "Stįhnout" -#: gui/options.cpp:1341 +#: gui/options.cpp:1430 msgid "Open downloads manager dialog" msgstr "Otevųķt dialogové okno sprįvce stahovanķ" -#: gui/options.cpp:1343 +#: gui/options.cpp:1432 msgid "Run server" msgstr "Spustit server" -#: gui/options.cpp:1343 +#: gui/options.cpp:1432 msgid "Run local webserver" msgstr "Spustit mķstnķ internetovż server" -#: gui/options.cpp:1344 gui/options.cpp:1987 +#: gui/options.cpp:1433 gui/options.cpp:2082 msgid "Not running" msgstr "Nespu¹tģno" -#: gui/options.cpp:1348 +#: gui/options.cpp:1437 msgid "/root/ Path:" msgstr "Cesta /root/:" -#: gui/options.cpp:1348 gui/options.cpp:1350 gui/options.cpp:1351 +#: gui/options.cpp:1437 gui/options.cpp:1439 gui/options.cpp:1440 msgid "Specifies which directory the Files Manager can access" msgstr "Určuje do kterého adresįųe mį Sprįvce souborł pųķstup" -#: gui/options.cpp:1350 +#: gui/options.cpp:1439 msgctxt "lowres" msgid "/root/ Path:" msgstr "Cesta /root/:" -#: gui/options.cpp:1360 +#: gui/options.cpp:1449 msgid "Server's port:" msgstr "Port serveru:" -#: gui/options.cpp:1360 +#: gui/options.cpp:1449 msgid "" "Which port is used by the server\n" "Auth with server is not available with non-default port" @@ -1270,68 +1271,68 @@ msgstr "" "Kterż port server pou¾ķvį\n" "Pųihlį¹enķ pomocķ serveru nenķ dostupné pųi pou¾itķ nestandardnķho portu" -#: gui/options.cpp:1520 -msgid "You have to restart ScummVM before your changes will take effect." -msgstr "Pro pou¾itķ tģchto nastavenķ musķte restartovat ScummVM." +#: gui/options.cpp:1462 +msgid "Apply" +msgstr "" -#: gui/options.cpp:1543 +#: gui/options.cpp:1628 msgid "Failed to change cloud storage!" msgstr "Nelze zmģnit cloudové ślo¾i¹tģ!" -#: gui/options.cpp:1546 +#: gui/options.cpp:1631 msgid "Another cloud storage is already active." msgstr "Jiné cloudové ślo¾i¹tģ ji¾ je aktivnķ." -#: gui/options.cpp:1584 +#: gui/options.cpp:1667 +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į¹ současnż jazyk. Pokud chcete " +"tento vzhled pou¾ķt, musķte nejdųķve pųepnout na jinż jazyk." + +#: gui/options.cpp:1702 msgid "The chosen directory cannot be written to. Please select another one." msgstr "Do zvoleného adresįųe nelze zapisovat. Vyberte, prosķm, jinż." -#: gui/options.cpp:1593 +#: gui/options.cpp:1711 msgid "Select directory for GUI themes" msgstr "Vyberte adresįų pro vhledy GUI" -#: gui/options.cpp:1603 +#: gui/options.cpp:1721 msgid "Select directory for extra files" msgstr "Vyberte adresįų pro dodatečné soubory" -#: gui/options.cpp:1614 +#: gui/options.cpp:1732 msgid "Select directory for plugins" msgstr "Vyberte adresįų pro zįsuvné moduly" -#: gui/options.cpp:1626 +#: gui/options.cpp:1744 msgid "Select directory for Files Manager /root/" msgstr "Vyberte adresįų pro koųen Sprįvce souborł" -#: gui/options.cpp:1688 -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į¹ současnż jazyk. Pokud chcete " -"tento vzhled pou¾ķt, musķte nejdųķve pųepnout na jinż jazyk." - -#: gui/options.cpp:1884 +#: gui/options.cpp:1979 #, c-format msgid "%llu bytes" msgstr "%llu bajtł" -#: gui/options.cpp:1892 +#: gui/options.cpp:1987 msgid "<right now>" msgstr "<prįvģ nynķ>" -#: gui/options.cpp:1894 +#: gui/options.cpp:1989 msgid "<never>" msgstr "<nikdy>" -#: gui/options.cpp:1978 +#: gui/options.cpp:2073 msgid "Stop server" msgstr "Zastavit server" -#: gui/options.cpp:1979 +#: gui/options.cpp:2074 msgid "Stop local webserver" msgstr "Zastavit mķstnķ internetovż server" -#: gui/options.cpp:2068 +#: gui/options.cpp:2163 msgid "" "Request failed.\n" "Check your Internet connection." @@ -1609,35 +1610,35 @@ msgstr "Pokračovat" msgid "Clear value" msgstr "Vyčistit hodnotu" -#: base/main.cpp:250 +#: base/main.cpp:253 #, c-format msgid "Engine does not support debug level '%s'" msgstr "Jįdro nepodporuje śroveņ ladģnķ '%s'" -#: base/main.cpp:324 +#: base/main.cpp:327 msgid "Menu" msgstr "Menu" -#: base/main.cpp:327 backends/platform/symbian/src/SymbianActions.cpp:45 +#: base/main.cpp:330 backends/platform/symbian/src/SymbianActions.cpp:45 #: backends/platform/wince/CEActionsPocket.cpp:45 #: backends/platform/wince/CEActionsSmartphone.cpp:46 msgid "Skip" msgstr "Pųeskočit" -#: base/main.cpp:330 backends/platform/symbian/src/SymbianActions.cpp:50 +#: base/main.cpp:333 backends/platform/symbian/src/SymbianActions.cpp:50 #: backends/platform/wince/CEActionsPocket.cpp:42 msgid "Pause" msgstr "Pauza" -#: base/main.cpp:333 +#: base/main.cpp:336 msgid "Skip line" msgstr "Pųeskočit ųįdek" -#: base/main.cpp:542 +#: base/main.cpp:547 msgid "Error running game:" msgstr "Chyba pųi spu¹tģnķ hry:" -#: base/main.cpp:589 +#: base/main.cpp:594 msgid "Could not find any engine capable of running the selected game" msgstr "Nelze nalézt ¾įdné jįdro schopné vybranou hru spustit" @@ -2011,11 +2012,11 @@ msgstr "Zvuk FM-Towns" msgid "PC-98 Audio" msgstr "Zvuk PC-98" -#: audio/softsynth/mt32.cpp:196 +#: audio/softsynth/mt32.cpp:197 msgid "Initializing MT-32 Emulator" msgstr "Zavįdķm MT-32 Emulįtor" -#: audio/softsynth/mt32.cpp:434 +#: audio/softsynth/mt32.cpp:435 msgid "MT-32 Emulator" msgstr "MT-32 Emulįtor" @@ -2031,15 +2032,15 @@ msgstr "IBM PCjr Emulįtor" msgid "C64 Audio Emulator" msgstr "Emulįtor zvuku C64" -#: backends/cloud/storage.cpp:210 +#: backends/cloud/storage.cpp:211 msgid "Saved games sync complete." msgstr "Synchronizace ulo¾enżch her dokončena." -#: backends/cloud/storage.cpp:221 +#: backends/cloud/storage.cpp:222 msgid "Saved games sync was cancelled." msgstr "Synchronizace ulo¾enżch her byla zru¹ena." -#: backends/cloud/storage.cpp:223 +#: backends/cloud/storage.cpp:224 msgid "" "Saved games sync failed.\n" "Check your Internet connection." @@ -2047,7 +2048,7 @@ msgstr "" "Synchronizace ulo¾enżch her byla zru¹ena.\n" "Zkontrolujte své internetové pųipojenķ." -#: backends/cloud/storage.cpp:327 +#: backends/cloud/storage.cpp:328 #, c-format msgid "" "Download complete.\n" @@ -2056,11 +2057,11 @@ msgstr "" "Stahovįnķ dokončeno.\n" "Ne¹lo stįhnout %u souborł." -#: backends/cloud/storage.cpp:329 +#: backends/cloud/storage.cpp:330 msgid "Download complete." msgstr "Stahovįnķ dokončeno." -#: backends/cloud/storage.cpp:339 +#: backends/cloud/storage.cpp:340 msgid "Download failed." msgstr "Sta¾enķ selhalo." @@ -2169,43 +2170,53 @@ msgstr "Pro zapnutķ pųejeļte tųemi prsty doprava." msgid "OpenGL" msgstr "OpenGL" -#: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:47 -#: backends/graphics/wincesdl/wincesdl-graphics.cpp:88 -#: backends/graphics/wincesdl/wincesdl-graphics.cpp:95 -msgid "Normal (no scaling)" -msgstr "Normįlnķ (bez zmģny velikosti)" +#: backends/graphics/openglsdl/openglsdl-graphics.cpp:617 +#: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:2462 +msgid "Windowed mode" +msgstr "Re¾im do okna" -#: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:66 -msgctxt "lowres" -msgid "Normal (no scaling)" -msgstr "Normįlnķ (bez zmģny velikosti)" +#: backends/graphics/openglsdl/openglsdl-graphics.cpp:710 +#, c-format +msgid "Resolution: %dx%d" +msgstr "" -#: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:2329 +#: backends/graphics/openglsdl/openglsdl-graphics.cpp:731 +#: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:2338 msgid "Enabled aspect ratio correction" msgstr "Povolena korekce pomģru stran" -#: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:2335 +#: backends/graphics/openglsdl/openglsdl-graphics.cpp:733 +#: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:2344 msgid "Disabled aspect ratio correction" msgstr "Zakįzįna korekce pomģru stran" -#: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:2353 +#: backends/graphics/openglsdl/openglsdl-graphics.cpp:753 +#: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:2362 #, fuzzy msgid "Filtering enabled" msgstr "Kliknutķ Povoleno" -#: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:2355 +#: backends/graphics/openglsdl/openglsdl-graphics.cpp:755 +#: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:2364 #, fuzzy msgid "Filtering disabled" msgstr "Kliknutķ Zakįzįno" -#: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:2407 +#: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:47 +#: backends/graphics/wincesdl/wincesdl-graphics.cpp:88 +#: backends/graphics/wincesdl/wincesdl-graphics.cpp:95 +msgid "Normal (no scaling)" +msgstr "Normįlnķ (bez zmģny velikosti)" + +#: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:66 +msgctxt "lowres" +msgid "Normal (no scaling)" +msgstr "Normįlnķ (bez zmģny velikosti)" + +#: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:2417 msgid "Active graphics filter:" msgstr "Aktivnķ grafickż filtr:" -#: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:2452 -msgid "Windowed mode" -msgstr "Re¾im do okna" - #: backends/keymapper/remap-dialog.cpp:48 msgid "Keymap:" msgstr "Mapa Klįves:" @@ -3125,6 +3136,39 @@ msgstr "~H~lavnķ nabķdka" msgid "~W~ater Effect Enabled" msgstr "~E~fekt Vody Zapnut" +#: engines/mohawk/riven.cpp:150 +msgid "" +"You're missing a Riven executable. The Windows executable is 'riven.exe' or " +"'rivendmo.exe'. " +msgstr "" + +#: engines/mohawk/riven.cpp:151 +msgid "" +"Using the 'arcriven.z' installer file also works. In addition, you can use " +"the Mac 'Riven' executable." +msgstr "" + +#: engines/mohawk/riven.cpp:162 +msgid "" +"You're missing 'extras.mhk'. Using the 'arcriven.z' installer file also " +"works." +msgstr "" + +#: engines/mohawk/riven_external.cpp:213 +msgid "" +"Exploration beyond this point available only within the full version of\n" +"the game." +msgstr "" + +#: engines/mohawk/riven_external.cpp:655 +msgid "" +"At this point, the Riven Demo would\n" +"ask if you would like to open a web browser\n" +"to bring you to the Red Orb store to buy\n" +"the game. ScummVM cannot do that and\n" +"the site no longer exists." +msgstr "" + #: engines/mohawk/mohawk.cpp:61 msgid "The game is paused. Press any key to continue." msgstr "Hra je pozastavena. Pro pokračovanķ stisknģte libovolnou klįvesu." @@ -4245,6 +4289,9 @@ msgstr "" "Pou¾ķt video MPEG pochįzejķcķ z DVD verze, namķsto videa AVI v nķzkém " "rozli¹enķ." +#~ msgid "You have to restart ScummVM before your changes will take effect." +#~ msgstr "Pro pou¾itķ tģchto nastavenķ musķte restartovat ScummVM." + #~ msgid "OpenGL (No filtering)" #~ msgstr "OpenGL (bez filtrovįnķ)" diff --git a/po/da_DK.po b/po/da_DK.po index 0fa8572a09..b5d42d33ae 100644 --- a/po/da_DK.po +++ b/po/da_DK.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: ScummVM 1.3.0svn\n" "Report-Msgid-Bugs-To: scummvm-devel@lists.scummvm.org\n" -"POT-Creation-Date: 2016-10-12 23:37+0100\n" +"POT-Creation-Date: 2016-11-05 12:43+0100\n" "PO-Revision-Date: 2016-02-25 21:08+0100\n" "Last-Translator: Steffen Nyeland <steffen@nyeland.dk>\n" "Language-Team: Steffen Nyeland <steffen@nyeland.dk>\n" @@ -17,6 +17,7 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: Poedit 1.6.6\n" +"X-Language-name: Dansk\n" #: gui/about.cpp:94 #, c-format @@ -56,7 +57,7 @@ msgstr "Gå op" #: gui/browser.cpp:75 gui/chooser.cpp:46 gui/editgamedialog.cpp:292 #: gui/editrecorddialog.cpp:67 gui/filebrowser-dialog.cpp:64 #: gui/fluidsynth-dialog.cpp:152 gui/KeysDialog.cpp:43 gui/massadd.cpp:95 -#: gui/options.cpp:1376 gui/predictivedialog.cpp:73 gui/recorderdialog.cpp:69 +#: gui/options.cpp:1461 gui/predictivedialog.cpp:73 gui/recorderdialog.cpp:69 #: gui/recorderdialog.cpp:155 gui/remotebrowser.cpp:59 #: gui/saveload-dialog.cpp:383 gui/saveload-dialog.cpp:443 #: gui/saveload-dialog.cpp:717 gui/saveload-dialog.cpp:1111 @@ -81,7 +82,7 @@ msgstr "Vęlg" msgid "Select directory where to download game data" msgstr "Vęlg bibliotek med spil data" -#: gui/downloaddialog.cpp:49 gui/editgamedialog.cpp:472 gui/launcher.cpp:173 +#: gui/downloaddialog.cpp:49 gui/editgamedialog.cpp:470 gui/launcher.cpp:197 msgid "Select directory with game data" msgstr "Vęlg bibliotek med spil data" @@ -114,7 +115,7 @@ msgstr "" #: gui/downloaddialog.cpp:118 gui/downloaddialog.cpp:152 #: gui/filebrowser-dialog.cpp:132 gui/fluidsynth-dialog.cpp:217 -#: gui/launcher.cpp:286 gui/launcher.cpp:394 gui/launcher.cpp:453 +#: gui/launcher.cpp:307 gui/launcher.cpp:415 gui/launcher.cpp:474 #: gui/storagewizarddialog.cpp:112 #: backends/events/symbiansdl/symbiansdl-events.cpp:186 #: backends/platform/wince/CEActionsPocket.cpp:326 @@ -126,7 +127,7 @@ msgstr "Ja" #: gui/downloaddialog.cpp:118 gui/downloaddialog.cpp:153 #: gui/filebrowser-dialog.cpp:132 gui/fluidsynth-dialog.cpp:217 -#: gui/launcher.cpp:286 gui/launcher.cpp:394 gui/launcher.cpp:453 +#: gui/launcher.cpp:307 gui/launcher.cpp:415 gui/launcher.cpp:474 #: gui/storagewizarddialog.cpp:112 #: backends/events/symbiansdl/symbiansdl-events.cpp:186 #: backends/platform/wince/CEActionsPocket.cpp:326 @@ -136,7 +137,7 @@ msgstr "Ja" msgid "No" msgstr "Nej" -#: gui/downloaddialog.cpp:136 gui/launcher.cpp:544 +#: gui/downloaddialog.cpp:136 gui/launcher.cpp:565 msgid "ScummVM couldn't open the specified directory!" msgstr "ScummVM kunne ikke åbne det angivne bibliotek!" @@ -147,8 +148,8 @@ msgid "" msgstr "" #: gui/downloaddialog.cpp:146 gui/editgamedialog.cpp:293 -#: gui/fluidsynth-dialog.cpp:153 gui/KeysDialog.cpp:42 gui/launcher.cpp:501 -#: gui/launcher.cpp:505 gui/massadd.cpp:92 gui/options.cpp:1377 +#: gui/fluidsynth-dialog.cpp:153 gui/KeysDialog.cpp:42 gui/launcher.cpp:522 +#: gui/launcher.cpp:526 gui/massadd.cpp:92 gui/options.cpp:1463 #: gui/saveload-dialog.cpp:1112 engines/engine.cpp:477 engines/engine.cpp:488 #: backends/platform/wii/options.cpp:47 #: backends/platform/wince/CELauncherDialog.cpp:54 @@ -231,8 +232,8 @@ msgstr "" "Spillets sprog. Dette vil ikke ęndre din spanske version af spillet til " "engelsk" -#: gui/editgamedialog.cpp:151 gui/editgamedialog.cpp:165 gui/options.cpp:114 -#: gui/options.cpp:785 gui/options.cpp:798 gui/options.cpp:1261 +#: gui/editgamedialog.cpp:151 gui/editgamedialog.cpp:165 gui/options.cpp:121 +#: gui/options.cpp:812 gui/options.cpp:825 gui/options.cpp:1356 #: audio/null.cpp:41 msgid "<default>" msgstr "<standard>" @@ -255,11 +256,11 @@ msgstr "Platform:" msgid "Engine" msgstr "Motor" -#: gui/editgamedialog.cpp:184 gui/options.cpp:1120 gui/options.cpp:1137 +#: gui/editgamedialog.cpp:184 gui/options.cpp:1147 gui/options.cpp:1232 msgid "Graphics" msgstr "Grafik" -#: gui/editgamedialog.cpp:184 gui/options.cpp:1120 gui/options.cpp:1137 +#: gui/editgamedialog.cpp:184 gui/options.cpp:1147 gui/options.cpp:1232 msgid "GFX" msgstr "GFX" @@ -272,7 +273,7 @@ msgctxt "lowres" msgid "Override global graphic settings" msgstr "Overstyr globale grafik indstillinger" -#: gui/editgamedialog.cpp:196 gui/options.cpp:1143 +#: gui/editgamedialog.cpp:196 gui/options.cpp:1238 msgid "Audio" msgstr "Lyd" @@ -285,11 +286,11 @@ msgctxt "lowres" msgid "Override global audio settings" msgstr "Overstyr globale lyd indstillinger" -#: gui/editgamedialog.cpp:210 gui/options.cpp:1148 +#: gui/editgamedialog.cpp:210 gui/options.cpp:1243 msgid "Volume" msgstr "Lydstyrke" -#: gui/editgamedialog.cpp:212 gui/options.cpp:1150 +#: gui/editgamedialog.cpp:212 gui/options.cpp:1245 msgctxt "lowres" msgid "Volume" msgstr "Lydstyrke" @@ -303,7 +304,7 @@ msgctxt "lowres" msgid "Override global volume settings" msgstr "Overstyr globale lydstyrke indstillinger" -#: gui/editgamedialog.cpp:226 gui/options.cpp:1158 +#: gui/editgamedialog.cpp:226 gui/options.cpp:1253 msgid "MIDI" msgstr "MIDI" @@ -316,7 +317,7 @@ msgctxt "lowres" msgid "Override global MIDI settings" msgstr "Overstyr globale MIDI indstillinger" -#: gui/editgamedialog.cpp:241 gui/options.cpp:1168 +#: gui/editgamedialog.cpp:241 gui/options.cpp:1263 msgid "MT-32" msgstr "MT-32" @@ -329,11 +330,11 @@ msgctxt "lowres" msgid "Override global MT-32 settings" msgstr "Overstyr globale MT-32 indstillinger" -#: gui/editgamedialog.cpp:255 gui/options.cpp:1175 +#: gui/editgamedialog.cpp:255 gui/options.cpp:1270 msgid "Paths" msgstr "Stier" -#: gui/editgamedialog.cpp:257 gui/options.cpp:1177 +#: gui/editgamedialog.cpp:257 gui/options.cpp:1272 msgctxt "lowres" msgid "Paths" msgstr "Stier" @@ -347,7 +348,7 @@ msgctxt "lowres" msgid "Game Path:" msgstr "Spil sti:" -#: gui/editgamedialog.cpp:271 gui/options.cpp:1201 +#: gui/editgamedialog.cpp:271 gui/options.cpp:1296 msgid "Extra Path:" msgstr "Ekstra sti:" @@ -356,62 +357,62 @@ msgstr "Ekstra sti:" msgid "Specifies path to additional data used by the game" msgstr "Angiver sti til ekstra data der bruges i spillet" -#: gui/editgamedialog.cpp:273 gui/options.cpp:1203 +#: gui/editgamedialog.cpp:273 gui/options.cpp:1298 msgctxt "lowres" msgid "Extra Path:" msgstr "Ekstra sti:" -#: gui/editgamedialog.cpp:280 gui/options.cpp:1185 +#: gui/editgamedialog.cpp:280 gui/options.cpp:1280 msgid "Save Path:" msgstr "Gemme sti:" #: gui/editgamedialog.cpp:280 gui/editgamedialog.cpp:282 -#: gui/editgamedialog.cpp:283 gui/options.cpp:1185 gui/options.cpp:1187 -#: gui/options.cpp:1188 +#: gui/editgamedialog.cpp:283 gui/options.cpp:1280 gui/options.cpp:1282 +#: gui/options.cpp:1283 msgid "Specifies where your saved games are put" msgstr "Angiver hvor dine gemmer bliver lagt" -#: gui/editgamedialog.cpp:282 gui/options.cpp:1187 +#: gui/editgamedialog.cpp:282 gui/options.cpp:1282 msgctxt "lowres" msgid "Save Path:" msgstr "Gemme sti:" -#: gui/editgamedialog.cpp:301 gui/editgamedialog.cpp:400 -#: gui/editgamedialog.cpp:459 gui/editgamedialog.cpp:520 gui/options.cpp:1196 -#: gui/options.cpp:1204 gui/options.cpp:1213 gui/options.cpp:1414 -#: gui/options.cpp:1420 gui/options.cpp:1428 gui/options.cpp:1451 -#: gui/options.cpp:1467 gui/options.cpp:1473 gui/options.cpp:1480 -#: gui/options.cpp:1488 gui/options.cpp:1640 gui/options.cpp:1643 -#: gui/options.cpp:1650 gui/options.cpp:1660 +#: gui/editgamedialog.cpp:301 gui/editgamedialog.cpp:398 +#: gui/editgamedialog.cpp:457 gui/editgamedialog.cpp:518 gui/options.cpp:1291 +#: gui/options.cpp:1299 gui/options.cpp:1308 gui/options.cpp:1488 +#: gui/options.cpp:1494 gui/options.cpp:1502 gui/options.cpp:1525 +#: gui/options.cpp:1554 gui/options.cpp:1560 gui/options.cpp:1567 +#: gui/options.cpp:1575 gui/options.cpp:1758 gui/options.cpp:1761 +#: gui/options.cpp:1768 gui/options.cpp:1778 msgctxt "path" msgid "None" msgstr "Ingen" -#: gui/editgamedialog.cpp:306 gui/editgamedialog.cpp:406 -#: gui/editgamedialog.cpp:524 gui/options.cpp:1408 gui/options.cpp:1461 -#: gui/options.cpp:1646 backends/platform/wii/options.cpp:56 +#: gui/editgamedialog.cpp:306 gui/editgamedialog.cpp:404 +#: gui/editgamedialog.cpp:522 gui/options.cpp:1482 gui/options.cpp:1548 +#: gui/options.cpp:1764 backends/platform/wii/options.cpp:56 msgid "Default" msgstr "Standard" -#: gui/editgamedialog.cpp:452 gui/options.cpp:1654 +#: gui/editgamedialog.cpp:450 gui/options.cpp:1772 msgid "Select SoundFont" msgstr "Vęlg SoundFont" -#: gui/editgamedialog.cpp:491 +#: gui/editgamedialog.cpp:489 msgid "Select additional game directory" msgstr "Vęlg ekstra spil bibliotek" -#: gui/editgamedialog.cpp:504 gui/options.cpp:1577 +#: gui/editgamedialog.cpp:502 gui/options.cpp:1695 msgid "Select directory for saved games" msgstr "Vęlg bibliotek til spil gemmer" -#: gui/editgamedialog.cpp:510 +#: gui/editgamedialog.cpp:508 msgid "" "Saved games sync feature doesn't work with non-default directories. If you " "want your saved games to sync, use default directory." msgstr "" -#: gui/editgamedialog.cpp:536 +#: gui/editgamedialog.cpp:534 msgid "This game ID is already taken. Please choose another one." msgstr "Dette spil ID er allerede i brug. Vęlg venligst et andet." @@ -491,7 +492,7 @@ msgstr "Sinus" msgid "Triangle" msgstr "Triangulęr" -#: gui/fluidsynth-dialog.cpp:138 gui/options.cpp:1221 +#: gui/fluidsynth-dialog.cpp:138 gui/options.cpp:1316 msgid "Misc" msgstr "Andet" @@ -541,15 +542,15 @@ msgstr "Luk" msgid "Mouse click" msgstr "Muse klik" -#: gui/gui-manager.cpp:126 base/main.cpp:337 +#: gui/gui-manager.cpp:126 base/main.cpp:340 msgid "Display keyboard" msgstr "Vis tastatur" -#: gui/gui-manager.cpp:130 base/main.cpp:341 +#: gui/gui-manager.cpp:130 base/main.cpp:344 msgid "Remap keys" msgstr "Kortlęg taster" -#: gui/gui-manager.cpp:133 base/main.cpp:344 engines/scumm/help.cpp:87 +#: gui/gui-manager.cpp:133 base/main.cpp:347 engines/scumm/help.cpp:87 msgid "Toggle fullscreen" msgstr "Skift fuldskęrm" @@ -583,110 +584,110 @@ msgstr "Tryk tasten for at tilknytte" msgid "Choose an action to map" msgstr "Vęlg en handling at kortlęgge" -#: gui/launcher.cpp:117 engines/dialogs.cpp:111 engines/mohawk/dialogs.cpp:98 +#: gui/launcher.cpp:141 engines/dialogs.cpp:111 engines/mohawk/dialogs.cpp:98 msgid "~Q~uit" msgstr "~A~fslut" -#: gui/launcher.cpp:117 backends/platform/sdl/macosx/appmenu_osx.mm:106 +#: gui/launcher.cpp:141 backends/platform/sdl/macosx/appmenu_osx.mm:106 msgid "Quit ScummVM" msgstr "Slut ScummVM" -#: gui/launcher.cpp:118 +#: gui/launcher.cpp:142 msgid "A~b~out..." msgstr "~O~m..." -#: gui/launcher.cpp:118 backends/platform/sdl/macosx/appmenu_osx.mm:80 +#: gui/launcher.cpp:142 backends/platform/sdl/macosx/appmenu_osx.mm:80 msgid "About ScummVM" msgstr "Om ScummVM" -#: gui/launcher.cpp:119 +#: gui/launcher.cpp:143 msgid "~O~ptions..." msgstr "~I~ndstillinger..." -#: gui/launcher.cpp:119 +#: gui/launcher.cpp:143 msgid "Change global ScummVM options" msgstr "Ęndre globale ScummVM indstillinger" -#: gui/launcher.cpp:121 +#: gui/launcher.cpp:145 msgid "~S~tart" msgstr "~S~tart" -#: gui/launcher.cpp:121 +#: gui/launcher.cpp:145 msgid "Start selected game" msgstr "Start det valgte spil" -#: gui/launcher.cpp:124 +#: gui/launcher.cpp:148 msgid "~L~oad..." msgstr "Ind~l~ęs..." -#: gui/launcher.cpp:124 +#: gui/launcher.cpp:148 msgid "Load saved game for selected game" msgstr "Indlęs gemmer for det valgte spil" -#: gui/launcher.cpp:129 +#: gui/launcher.cpp:153 msgid "~A~dd Game..." msgstr "~T~ilfųj spil..." -#: gui/launcher.cpp:129 gui/launcher.cpp:136 +#: gui/launcher.cpp:153 gui/launcher.cpp:160 msgid "Hold Shift for Mass Add" msgstr "Hold Skift for at tilfųje flere" -#: gui/launcher.cpp:131 +#: gui/launcher.cpp:155 msgid "~E~dit Game..." msgstr "~R~ediger spil..." -#: gui/launcher.cpp:131 gui/launcher.cpp:138 +#: gui/launcher.cpp:155 gui/launcher.cpp:162 msgid "Change game options" msgstr "Ęndre spil indstillinger" -#: gui/launcher.cpp:133 +#: gui/launcher.cpp:157 msgid "~R~emove Game" msgstr "~F~jern spil" -#: gui/launcher.cpp:133 gui/launcher.cpp:140 +#: gui/launcher.cpp:157 gui/launcher.cpp:164 msgid "Remove game from the list. The game data files stay intact" msgstr "Fjerner spil fra listen. Spillets data filer forbliver uberųrt" -#: gui/launcher.cpp:136 +#: gui/launcher.cpp:160 msgctxt "lowres" msgid "~A~dd Game..." msgstr "~T~ilfųj spil..." -#: gui/launcher.cpp:138 +#: gui/launcher.cpp:162 msgctxt "lowres" msgid "~E~dit Game..." msgstr "~R~ediger spil..." -#: gui/launcher.cpp:140 +#: gui/launcher.cpp:164 msgctxt "lowres" msgid "~R~emove Game" msgstr "~F~jern spil" -#: gui/launcher.cpp:148 +#: gui/launcher.cpp:172 msgid "Search in game list" msgstr "Sųg i spil liste" -#: gui/launcher.cpp:152 gui/launcher.cpp:750 +#: gui/launcher.cpp:176 gui/launcher.cpp:771 msgid "Search:" msgstr "Sųg:" -#: gui/launcher.cpp:176 engines/dialogs.cpp:115 engines/cruise/menu.cpp:214 -#: engines/mohawk/dialogs.cpp:103 engines/mohawk/riven.cpp:733 +#: gui/launcher.cpp:200 engines/dialogs.cpp:115 engines/cruise/menu.cpp:214 +#: engines/mohawk/dialogs.cpp:103 engines/mohawk/riven.cpp:734 #: engines/pegasus/pegasus.cpp:353 engines/tsage/scenes.cpp:601 msgid "Load game:" msgstr "Indlęs spil:" -#: gui/launcher.cpp:176 engines/dialogs.cpp:115 +#: gui/launcher.cpp:200 engines/dialogs.cpp:115 #: backends/platform/wince/CEActionsPocket.cpp:267 #: backends/platform/wince/CEActionsSmartphone.cpp:231 #: engines/cruise/menu.cpp:214 engines/mohawk/dialogs.cpp:103 -#: engines/mohawk/riven.cpp:733 engines/parallaction/saveload.cpp:194 +#: engines/mohawk/riven.cpp:734 engines/parallaction/saveload.cpp:194 #: engines/pegasus/pegasus.cpp:353 engines/scumm/dialogs.cpp:185 #: engines/tsage/scenes.cpp:601 msgid "Load" msgstr "Indlęs" -#: gui/launcher.cpp:285 +#: gui/launcher.cpp:306 msgid "" "Do you really want to run the mass game detector? This could potentially add " "a huge number of games." @@ -694,40 +695,40 @@ msgstr "" "Vil du virkelig kųre fler spils detektoren? Dette kunne potentielt tilfųje " "et stort antal spil." -#: gui/launcher.cpp:344 +#: gui/launcher.cpp:365 msgid "This directory cannot be used yet, it is being downloaded into!" msgstr "" -#: gui/launcher.cpp:394 +#: gui/launcher.cpp:415 msgid "Do you really want to remove this game configuration?" msgstr "Vil du virkelig fjerne denne spil konfiguration?" -#: gui/launcher.cpp:452 +#: gui/launcher.cpp:473 msgid "Do you want to load saved game?" msgstr "Vil du indlęse gemmer?" -#: gui/launcher.cpp:501 +#: gui/launcher.cpp:522 msgid "This game does not support loading games from the launcher." msgstr "Dette spil understųtter ikke indlęsning af spil fra spiloversigten." -#: gui/launcher.cpp:505 +#: gui/launcher.cpp:526 msgid "ScummVM could not find any engine capable of running the selected game!" msgstr "" "ScummVM kunne ikke finde en motor, istand til at afvikle det valgte spil!" -#: gui/launcher.cpp:556 +#: gui/launcher.cpp:577 msgid "ScummVM could not find any game in the specified directory!" msgstr "ScummVM kunne ikke finde noget spil i det angivne bibliotek!" -#: gui/launcher.cpp:569 +#: gui/launcher.cpp:590 msgid "Pick the game:" msgstr "Vęlg spillet:" -#: gui/launcher.cpp:687 +#: gui/launcher.cpp:708 msgid "Mass Add..." msgstr "Tilfųj flere..." -#: gui/launcher.cpp:689 +#: gui/launcher.cpp:710 msgid "Record..." msgstr "Optag..." @@ -770,146 +771,146 @@ msgstr "Skift til Spil" msgid "Fast replay" msgstr "Hurtig afspil" -#: gui/options.cpp:112 common/updates.cpp:56 +#: gui/options.cpp:119 common/updates.cpp:56 msgid "Never" msgstr "Aldrig" -#: gui/options.cpp:112 +#: gui/options.cpp:119 msgid "every 5 mins" msgstr "hvert 5. minut" -#: gui/options.cpp:112 +#: gui/options.cpp:119 msgid "every 10 mins" msgstr "hvert 10. minut" -#: gui/options.cpp:112 +#: gui/options.cpp:119 msgid "every 15 mins" msgstr "hvert 15. minut" -#: gui/options.cpp:112 +#: gui/options.cpp:119 msgid "every 30 mins" msgstr "hvert 30. minut" -#: gui/options.cpp:114 +#: gui/options.cpp:121 msgid "8 kHz" msgstr "8 kHz" -#: gui/options.cpp:114 +#: gui/options.cpp:121 msgid "11 kHz" msgstr "11 kHz" -#: gui/options.cpp:114 +#: gui/options.cpp:121 msgid "22 kHz" msgstr "22 kHz" -#: gui/options.cpp:114 +#: gui/options.cpp:121 msgid "44 kHz" msgstr "44 kHz" -#: gui/options.cpp:114 +#: gui/options.cpp:121 msgid "48 kHz" msgstr "48 kHz" -#: gui/options.cpp:291 gui/options.cpp:528 gui/options.cpp:629 -#: gui/options.cpp:699 gui/options.cpp:910 +#: gui/options.cpp:289 gui/options.cpp:552 gui/options.cpp:657 +#: gui/options.cpp:726 gui/options.cpp:937 msgctxt "soundfont" msgid "None" msgstr "Ingen" -#: gui/options.cpp:432 +#: gui/options.cpp:456 msgid "Failed to apply some of the graphic options changes:" msgstr "Anvendelse af ęndringer for grafiske indstillinger fejlede:" -#: gui/options.cpp:444 +#: gui/options.cpp:468 msgid "the video mode could not be changed." msgstr "videotilstanden kunne ikke ęndres." -#: gui/options.cpp:450 +#: gui/options.cpp:474 msgid "the aspect ratio setting could not be changed" msgstr "billedformat indstillingen ikke kunne ęndres" -#: gui/options.cpp:456 +#: gui/options.cpp:480 msgid "the fullscreen setting could not be changed" msgstr "fuld skęrm indstillingen kunne ikke ęndres" -#: gui/options.cpp:462 +#: gui/options.cpp:486 #, fuzzy msgid "the filtering setting could not be changed" msgstr "fuld skęrm indstillingen kunne ikke ęndres" -#: gui/options.cpp:782 +#: gui/options.cpp:809 msgid "Graphics mode:" msgstr "Grafik tilstand:" -#: gui/options.cpp:796 +#: gui/options.cpp:823 msgid "Render mode:" msgstr "Rendere tilstand:" -#: gui/options.cpp:796 gui/options.cpp:797 +#: gui/options.cpp:823 gui/options.cpp:824 msgid "Special dithering modes supported by some games" msgstr "Speciel farvereduceringstilstand understųttet a nogle spil" -#: gui/options.cpp:808 -#: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:2450 +#: gui/options.cpp:835 backends/graphics/openglsdl/openglsdl-graphics.cpp:615 +#: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:2460 msgid "Fullscreen mode" msgstr "Fuldskęrms tilstand" -#: gui/options.cpp:811 +#: gui/options.cpp:838 #, fuzzy msgid "Filter graphics" msgstr "Grafik" -#: gui/options.cpp:811 +#: gui/options.cpp:838 msgid "Use linear filtering when scaling graphics" msgstr "" -#: gui/options.cpp:814 +#: gui/options.cpp:841 msgid "Aspect ratio correction" msgstr "Billedformat korrektion" -#: gui/options.cpp:814 +#: gui/options.cpp:841 msgid "Correct aspect ratio for 320x200 games" msgstr "Korrekt billedformat til 320x200 spil" -#: gui/options.cpp:822 +#: gui/options.cpp:849 msgid "Preferred Device:" msgstr "Foretruk. enhed:" -#: gui/options.cpp:822 +#: gui/options.cpp:849 msgid "Music Device:" msgstr "Musik enhed:" -#: gui/options.cpp:822 gui/options.cpp:824 +#: gui/options.cpp:849 gui/options.cpp:851 msgid "Specifies preferred sound device or sound card emulator" msgstr "Angiver foretukket lyd enhed eller lydkort emulator" -#: gui/options.cpp:822 gui/options.cpp:824 gui/options.cpp:825 +#: gui/options.cpp:849 gui/options.cpp:851 gui/options.cpp:852 msgid "Specifies output sound device or sound card emulator" msgstr "Angiver lyd udgangsenhed eller lydkorts emulator" -#: gui/options.cpp:824 +#: gui/options.cpp:851 msgctxt "lowres" msgid "Preferred Dev.:" msgstr "Foretruk. enh.:" -#: gui/options.cpp:824 +#: gui/options.cpp:851 msgctxt "lowres" msgid "Music Device:" msgstr "Musik enhed:" -#: gui/options.cpp:851 +#: gui/options.cpp:878 msgid "AdLib emulator:" msgstr "AdLib emulator:" -#: gui/options.cpp:851 gui/options.cpp:852 +#: gui/options.cpp:878 gui/options.cpp:879 msgid "AdLib is used for music in many games" msgstr "AdLib bliver brugt til musik i mange spil" -#: gui/options.cpp:862 +#: gui/options.cpp:889 msgid "Output rate:" msgstr "Udgangsfrekvens:" -#: gui/options.cpp:862 gui/options.cpp:863 +#: gui/options.cpp:889 gui/options.cpp:890 msgid "" "Higher value specifies better sound quality but may be not supported by your " "soundcard" @@ -917,60 +918,60 @@ msgstr "" "Hųjere vęrdi angiver bedre lyd kvalitet, men understųttes måske ikke af dit " "lydkort" -#: gui/options.cpp:873 +#: gui/options.cpp:900 msgid "GM Device:" msgstr "GM enhed:" -#: gui/options.cpp:873 +#: gui/options.cpp:900 msgid "Specifies default sound device for General MIDI output" msgstr "Angiver standard lyd enhed for Generel MIDI-udgang" -#: gui/options.cpp:884 +#: gui/options.cpp:911 msgid "Don't use General MIDI music" msgstr "Brug ikke Generel MIDI musik" -#: gui/options.cpp:895 gui/options.cpp:957 +#: gui/options.cpp:922 gui/options.cpp:984 msgid "Use first available device" msgstr "Brug fųrste tilgęngelig enhed" -#: gui/options.cpp:907 +#: gui/options.cpp:934 msgid "SoundFont:" msgstr "SoundFont:" -#: gui/options.cpp:907 gui/options.cpp:909 gui/options.cpp:910 +#: gui/options.cpp:934 gui/options.cpp:936 gui/options.cpp:937 msgid "SoundFont is supported by some audio cards, FluidSynth and Timidity" msgstr "SoundFont er understųttet af nogle lydkort, FluidSynth og Timidity" -#: gui/options.cpp:909 +#: gui/options.cpp:936 msgctxt "lowres" msgid "SoundFont:" msgstr "SoundFont:" -#: gui/options.cpp:915 +#: gui/options.cpp:942 msgid "Mixed AdLib/MIDI mode" msgstr "Blandet AdLib/MIDI tilstand" -#: gui/options.cpp:915 +#: gui/options.cpp:942 msgid "Use both MIDI and AdLib sound generation" msgstr "Brug både MIDI og AdLib lyd generering" -#: gui/options.cpp:918 +#: gui/options.cpp:945 msgid "MIDI gain:" msgstr "MIDI lydstyrke:" -#: gui/options.cpp:928 +#: gui/options.cpp:955 msgid "MT-32 Device:" msgstr "MT-32 enhed:" -#: gui/options.cpp:928 +#: gui/options.cpp:955 msgid "Specifies default sound device for Roland MT-32/LAPC1/CM32l/CM64 output" msgstr "Angiver standard lyd enhed for Roland MT-32/LAPC1/CM32I/CM64 udgang" -#: gui/options.cpp:933 +#: gui/options.cpp:960 msgid "True Roland MT-32 (disable GM emulation)" msgstr "Ęgte Roland MT-32 (undlad GM emulering)" -#: gui/options.cpp:933 gui/options.cpp:935 +#: gui/options.cpp:960 gui/options.cpp:962 msgid "" "Check if you want to use your real hardware Roland-compatible sound device " "connected to your computer" @@ -978,16 +979,16 @@ msgstr "" "Kryds af hvis du vil bruge din rigtige hardware Roland-kompatible lyd enhed " "tilsluttet til din computer" -#: gui/options.cpp:935 +#: gui/options.cpp:962 msgctxt "lowres" msgid "True Roland MT-32 (no GM emulation)" msgstr "Ęgte Roland MT-32 (ingen GM emulering)" -#: gui/options.cpp:938 +#: gui/options.cpp:965 msgid "Roland GS Device (enable MT-32 mappings)" msgstr "Roland GS enhed (aktivér MT-32 tilknytninger)" -#: gui/options.cpp:938 +#: gui/options.cpp:965 msgid "" "Check if you want to enable patch mappings to emulate an MT-32 on a Roland " "GS device" @@ -995,340 +996,340 @@ msgstr "" "Kryds af hvis du vil aktivere patch tilknytninger, for at emulere en MT-32 " "på en Roland GS enhed" -#: gui/options.cpp:947 +#: gui/options.cpp:974 msgid "Don't use Roland MT-32 music" msgstr "Brug ikke Roland MT-32 musik" -#: gui/options.cpp:974 +#: gui/options.cpp:1001 msgid "Text and Speech:" msgstr "Tekst og tale:" -#: gui/options.cpp:978 gui/options.cpp:988 +#: gui/options.cpp:1005 gui/options.cpp:1015 msgid "Speech" msgstr "Tale" -#: gui/options.cpp:979 gui/options.cpp:989 +#: gui/options.cpp:1006 gui/options.cpp:1016 msgid "Subtitles" msgstr "Undertekster" -#: gui/options.cpp:980 +#: gui/options.cpp:1007 msgid "Both" msgstr "Begge" -#: gui/options.cpp:982 +#: gui/options.cpp:1009 msgid "Subtitle speed:" msgstr "Tekst hastighed:" -#: gui/options.cpp:984 +#: gui/options.cpp:1011 msgctxt "lowres" msgid "Text and Speech:" msgstr "Tekst og tale:" -#: gui/options.cpp:988 +#: gui/options.cpp:1015 msgid "Spch" msgstr "Tale" -#: gui/options.cpp:989 +#: gui/options.cpp:1016 msgid "Subs" msgstr "Tekst" -#: gui/options.cpp:990 +#: gui/options.cpp:1017 msgctxt "lowres" msgid "Both" msgstr "Begge" -#: gui/options.cpp:990 +#: gui/options.cpp:1017 msgid "Show subtitles and play speech" msgstr "Vis undertekster og afspil tale" -#: gui/options.cpp:992 +#: gui/options.cpp:1019 msgctxt "lowres" msgid "Subtitle speed:" msgstr "Tekst hastighed:" -#: gui/options.cpp:1008 +#: gui/options.cpp:1035 msgid "Music volume:" msgstr "Musik lydstyrke:" -#: gui/options.cpp:1010 +#: gui/options.cpp:1037 msgctxt "lowres" msgid "Music volume:" msgstr "Musik lydstyrke:" -#: gui/options.cpp:1017 +#: gui/options.cpp:1044 msgid "Mute All" msgstr "Mute alle" -#: gui/options.cpp:1020 +#: gui/options.cpp:1047 msgid "SFX volume:" msgstr "SFX lydstyrke:" -#: gui/options.cpp:1020 gui/options.cpp:1022 gui/options.cpp:1023 +#: gui/options.cpp:1047 gui/options.cpp:1049 gui/options.cpp:1050 msgid "Special sound effects volume" msgstr "Lydstyrke for specielle lydeffekter" -#: gui/options.cpp:1022 +#: gui/options.cpp:1049 msgctxt "lowres" msgid "SFX volume:" msgstr "SFX lydstyrke:" -#: gui/options.cpp:1030 +#: gui/options.cpp:1057 msgid "Speech volume:" msgstr "Tale lydstyrke:" -#: gui/options.cpp:1032 +#: gui/options.cpp:1059 msgctxt "lowres" msgid "Speech volume:" msgstr "Tale lydstyrke:" -#: gui/options.cpp:1162 +#: gui/options.cpp:1257 msgid "FluidSynth Settings" msgstr "FluidSynth indstillinger" -#: gui/options.cpp:1193 +#: gui/options.cpp:1288 msgid "Theme Path:" msgstr "Tema sti:" -#: gui/options.cpp:1195 +#: gui/options.cpp:1290 msgctxt "lowres" msgid "Theme Path:" msgstr "Tema sti:" -#: gui/options.cpp:1201 gui/options.cpp:1203 gui/options.cpp:1204 +#: gui/options.cpp:1296 gui/options.cpp:1298 gui/options.cpp:1299 msgid "Specifies path to additional data used by all games or ScummVM" msgstr "Angiver sti til ekstra data brugt af alle spil eller ScummVM" -#: gui/options.cpp:1210 +#: gui/options.cpp:1305 msgid "Plugins Path:" msgstr "Plugin sti:" -#: gui/options.cpp:1212 +#: gui/options.cpp:1307 msgctxt "lowres" msgid "Plugins Path:" msgstr "Plugin sti:" -#: gui/options.cpp:1223 +#: gui/options.cpp:1318 msgctxt "lowres" msgid "Misc" msgstr "Andet" -#: gui/options.cpp:1225 +#: gui/options.cpp:1320 msgid "Theme:" msgstr "Tema:" -#: gui/options.cpp:1229 +#: gui/options.cpp:1324 msgid "GUI Renderer:" msgstr "GUI renderer:" -#: gui/options.cpp:1241 +#: gui/options.cpp:1336 msgid "Autosave:" msgstr "Auto gemme:" -#: gui/options.cpp:1243 +#: gui/options.cpp:1338 msgctxt "lowres" msgid "Autosave:" msgstr "Auto gemme:" -#: gui/options.cpp:1251 +#: gui/options.cpp:1346 msgid "Keys" msgstr "Taster" -#: gui/options.cpp:1258 +#: gui/options.cpp:1353 msgid "GUI Language:" msgstr "Sprog:" -#: gui/options.cpp:1258 +#: gui/options.cpp:1353 msgid "Language of ScummVM GUI" msgstr "Sprog for brugerfladen i ScummVM" -#: gui/options.cpp:1286 +#: gui/options.cpp:1381 msgid "Update check:" msgstr "" -#: gui/options.cpp:1286 +#: gui/options.cpp:1381 msgid "How often to check ScummVM updates" msgstr "" -#: gui/options.cpp:1298 +#: gui/options.cpp:1393 msgid "Check now" msgstr "" -#: gui/options.cpp:1306 +#: gui/options.cpp:1401 msgid "Cloud" msgstr "" -#: gui/options.cpp:1308 +#: gui/options.cpp:1403 msgctxt "lowres" msgid "Cloud" msgstr "" -#: gui/options.cpp:1319 +#: gui/options.cpp:1408 msgid "Storage:" msgstr "" -#: gui/options.cpp:1319 +#: gui/options.cpp:1408 msgid "Active cloud storage" msgstr "" -#: gui/options.cpp:1326 gui/options.cpp:1877 +#: gui/options.cpp:1415 gui/options.cpp:1972 msgid "<none>" msgstr "" -#: gui/options.cpp:1330 backends/platform/wii/options.cpp:114 +#: gui/options.cpp:1419 backends/platform/wii/options.cpp:114 msgid "Username:" msgstr "Bruger:" -#: gui/options.cpp:1330 +#: gui/options.cpp:1419 msgid "Username used by this storage" msgstr "" -#: gui/options.cpp:1333 +#: gui/options.cpp:1422 msgid "Used space:" msgstr "" -#: gui/options.cpp:1333 +#: gui/options.cpp:1422 msgid "Space used by ScummVM's saved games on this storage" msgstr "" -#: gui/options.cpp:1336 +#: gui/options.cpp:1425 msgid "Last sync time:" msgstr "" -#: gui/options.cpp:1336 +#: gui/options.cpp:1425 msgid "When the last saved games sync for this storage occured" msgstr "" -#: gui/options.cpp:1339 gui/storagewizarddialog.cpp:71 +#: gui/options.cpp:1428 gui/storagewizarddialog.cpp:71 msgid "Connect" msgstr "" -#: gui/options.cpp:1339 +#: gui/options.cpp:1428 msgid "Open wizard dialog to connect your cloud storage account" msgstr "" -#: gui/options.cpp:1340 +#: gui/options.cpp:1429 msgid "Refresh" msgstr "" -#: gui/options.cpp:1340 +#: gui/options.cpp:1429 msgid "Refresh current cloud storage information (username and usage)" msgstr "" -#: gui/options.cpp:1341 +#: gui/options.cpp:1430 #, fuzzy msgid "Download" msgstr "Ned" -#: gui/options.cpp:1341 +#: gui/options.cpp:1430 msgid "Open downloads manager dialog" msgstr "" -#: gui/options.cpp:1343 +#: gui/options.cpp:1432 msgid "Run server" msgstr "" -#: gui/options.cpp:1343 +#: gui/options.cpp:1432 msgid "Run local webserver" msgstr "" -#: gui/options.cpp:1344 gui/options.cpp:1987 +#: gui/options.cpp:1433 gui/options.cpp:2082 #, fuzzy msgid "Not running" msgstr "Fejl ved kųrsel af spil:" -#: gui/options.cpp:1348 +#: gui/options.cpp:1437 #, fuzzy msgid "/root/ Path:" msgstr "Ekstra sti:" -#: gui/options.cpp:1348 gui/options.cpp:1350 gui/options.cpp:1351 +#: gui/options.cpp:1437 gui/options.cpp:1439 gui/options.cpp:1440 #, fuzzy msgid "Specifies which directory the Files Manager can access" msgstr "Angiver hvor dine gemmer bliver lagt" -#: gui/options.cpp:1350 +#: gui/options.cpp:1439 #, fuzzy msgctxt "lowres" msgid "/root/ Path:" msgstr "Ekstra sti:" -#: gui/options.cpp:1360 +#: gui/options.cpp:1449 #, fuzzy msgid "Server's port:" msgstr "Server:" -#: gui/options.cpp:1360 +#: gui/options.cpp:1449 msgid "" "Which port is used by the server\n" "Auth with server is not available with non-default port" msgstr "" -#: gui/options.cpp:1520 -msgid "You have to restart ScummVM before your changes will take effect." -msgstr "Du skal genstarte ScummVM fųr dine ęndringer har effekt." +#: gui/options.cpp:1462 +msgid "Apply" +msgstr "" -#: gui/options.cpp:1543 +#: gui/options.cpp:1628 #, fuzzy msgid "Failed to change cloud storage!" msgstr "Mislykkedes at gemme spil" -#: gui/options.cpp:1546 +#: gui/options.cpp:1631 msgid "Another cloud storage is already active." msgstr "" -#: gui/options.cpp:1584 +#: gui/options.cpp:1667 +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 "" +"Temaet du valgte understųtter ikke dit aktuelle sprog. Hvis du ųnsker at " +"bruge dette tema, skal du skifte til et andet sprog fųrst." + +#: gui/options.cpp:1702 msgid "The chosen directory cannot be written to. Please select another one." msgstr "Der kan ikke skrives til det valgte bibliotek. Vęlg venligst et andet." -#: gui/options.cpp:1593 +#: gui/options.cpp:1711 msgid "Select directory for GUI themes" msgstr "Vęlg bibliotek for GUI temaer" -#: gui/options.cpp:1603 +#: gui/options.cpp:1721 msgid "Select directory for extra files" msgstr "Vęlg bibliotek for ekstra filer" -#: gui/options.cpp:1614 +#: gui/options.cpp:1732 msgid "Select directory for plugins" msgstr "Vęlg bibliotek for plugins" -#: gui/options.cpp:1626 +#: gui/options.cpp:1744 #, fuzzy msgid "Select directory for Files Manager /root/" msgstr "Vęlg bibliotek for ekstra filer" -#: gui/options.cpp:1688 -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 "" -"Temaet du valgte understųtter ikke dit aktuelle sprog. Hvis du ųnsker at " -"bruge dette tema, skal du skifte til et andet sprog fųrst." - -#: gui/options.cpp:1884 +#: gui/options.cpp:1979 #, c-format msgid "%llu bytes" msgstr "" -#: gui/options.cpp:1892 +#: gui/options.cpp:1987 msgid "<right now>" msgstr "" -#: gui/options.cpp:1894 +#: gui/options.cpp:1989 #, fuzzy msgid "<never>" msgstr "Aldrig" -#: gui/options.cpp:1978 +#: gui/options.cpp:2073 #, fuzzy msgid "Stop server" msgstr "Server:" -#: gui/options.cpp:1979 +#: gui/options.cpp:2074 msgid "Stop local webserver" msgstr "" -#: gui/options.cpp:2068 +#: gui/options.cpp:2163 msgid "" "Request failed.\n" "Check your Internet connection." @@ -1600,35 +1601,35 @@ msgstr "" msgid "Clear value" msgstr "Slet vęrdi" -#: base/main.cpp:250 +#: base/main.cpp:253 #, c-format msgid "Engine does not support debug level '%s'" msgstr "Motor understųtter ikke fejlfindingsniveau '%s'" -#: base/main.cpp:324 +#: base/main.cpp:327 msgid "Menu" msgstr "Menu" -#: base/main.cpp:327 backends/platform/symbian/src/SymbianActions.cpp:45 +#: base/main.cpp:330 backends/platform/symbian/src/SymbianActions.cpp:45 #: backends/platform/wince/CEActionsPocket.cpp:45 #: backends/platform/wince/CEActionsSmartphone.cpp:46 msgid "Skip" msgstr "Spring over" -#: base/main.cpp:330 backends/platform/symbian/src/SymbianActions.cpp:50 +#: base/main.cpp:333 backends/platform/symbian/src/SymbianActions.cpp:50 #: backends/platform/wince/CEActionsPocket.cpp:42 msgid "Pause" msgstr "Pause" -#: base/main.cpp:333 +#: base/main.cpp:336 msgid "Skip line" msgstr "Spring linje over" -#: base/main.cpp:542 +#: base/main.cpp:547 msgid "Error running game:" msgstr "Fejl ved kųrsel af spil:" -#: base/main.cpp:589 +#: base/main.cpp:594 msgid "Could not find any engine capable of running the selected game" msgstr "Kunne ikke finde nogen motor istand til at afvikle det valgte spil" @@ -2004,11 +2005,11 @@ msgstr "FM Towns lyd" msgid "PC-98 Audio" msgstr "PC-98 lyd" -#: audio/softsynth/mt32.cpp:196 +#: audio/softsynth/mt32.cpp:197 msgid "Initializing MT-32 Emulator" msgstr "Initialisere MT-32 emulator" -#: audio/softsynth/mt32.cpp:434 +#: audio/softsynth/mt32.cpp:435 msgid "MT-32 Emulator" msgstr "MT-32 emulator" @@ -2024,34 +2025,34 @@ msgstr "IBM PCjr emulator" msgid "C64 Audio Emulator" msgstr "C64 lyd emulator" -#: backends/cloud/storage.cpp:210 +#: backends/cloud/storage.cpp:211 #, fuzzy msgid "Saved games sync complete." msgstr "Skan gennemfųrt!" -#: backends/cloud/storage.cpp:221 +#: backends/cloud/storage.cpp:222 msgid "Saved games sync was cancelled." msgstr "" -#: backends/cloud/storage.cpp:223 +#: backends/cloud/storage.cpp:224 msgid "" "Saved games sync failed.\n" "Check your Internet connection." msgstr "" -#: backends/cloud/storage.cpp:327 +#: backends/cloud/storage.cpp:328 #, c-format msgid "" "Download complete.\n" "Failed to download %u files." msgstr "" -#: backends/cloud/storage.cpp:329 +#: backends/cloud/storage.cpp:330 #, fuzzy msgid "Download complete." msgstr "Skan gennemfųrt!" -#: backends/cloud/storage.cpp:339 +#: backends/cloud/storage.cpp:340 #, fuzzy msgid "Download failed." msgstr "Indlęs fil" @@ -2161,43 +2162,53 @@ msgstr "Fųr tre fingre til hųjre for at skifte." msgid "OpenGL" msgstr "OpenGL" -#: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:47 -#: backends/graphics/wincesdl/wincesdl-graphics.cpp:88 -#: backends/graphics/wincesdl/wincesdl-graphics.cpp:95 -msgid "Normal (no scaling)" -msgstr "Normal (ingen skalering)" +#: backends/graphics/openglsdl/openglsdl-graphics.cpp:617 +#: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:2462 +msgid "Windowed mode" +msgstr "Vindue tilstand" -#: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:66 -msgctxt "lowres" -msgid "Normal (no scaling)" -msgstr "Normal (ingen skalering)" +#: backends/graphics/openglsdl/openglsdl-graphics.cpp:710 +#, c-format +msgid "Resolution: %dx%d" +msgstr "" -#: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:2329 +#: backends/graphics/openglsdl/openglsdl-graphics.cpp:731 +#: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:2338 msgid "Enabled aspect ratio correction" msgstr "Aktivér billedformat korrektion" -#: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:2335 +#: backends/graphics/openglsdl/openglsdl-graphics.cpp:733 +#: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:2344 msgid "Disabled aspect ratio correction" msgstr "Deaktivér billedformat korrektion" -#: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:2353 +#: backends/graphics/openglsdl/openglsdl-graphics.cpp:753 +#: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:2362 #, fuzzy msgid "Filtering enabled" msgstr "Klik aktiveret" -#: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:2355 +#: backends/graphics/openglsdl/openglsdl-graphics.cpp:755 +#: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:2364 #, fuzzy msgid "Filtering disabled" msgstr "Klik deaktiveret" -#: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:2407 +#: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:47 +#: backends/graphics/wincesdl/wincesdl-graphics.cpp:88 +#: backends/graphics/wincesdl/wincesdl-graphics.cpp:95 +msgid "Normal (no scaling)" +msgstr "Normal (ingen skalering)" + +#: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:66 +msgctxt "lowres" +msgid "Normal (no scaling)" +msgstr "Normal (ingen skalering)" + +#: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:2417 msgid "Active graphics filter:" msgstr "Aktive grafik filtre:" -#: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:2452 -msgid "Windowed mode" -msgstr "Vindue tilstand" - #: backends/keymapper/remap-dialog.cpp:48 msgid "Keymap:" msgstr "Tasteoversigt:" @@ -3121,6 +3132,39 @@ msgstr "Hoved~m~enu" msgid "~W~ater Effect Enabled" msgstr "~V~andeffekter aktiveret" +#: engines/mohawk/riven.cpp:150 +msgid "" +"You're missing a Riven executable. The Windows executable is 'riven.exe' or " +"'rivendmo.exe'. " +msgstr "" + +#: engines/mohawk/riven.cpp:151 +msgid "" +"Using the 'arcriven.z' installer file also works. In addition, you can use " +"the Mac 'Riven' executable." +msgstr "" + +#: engines/mohawk/riven.cpp:162 +msgid "" +"You're missing 'extras.mhk'. Using the 'arcriven.z' installer file also " +"works." +msgstr "" + +#: engines/mohawk/riven_external.cpp:213 +msgid "" +"Exploration beyond this point available only within the full version of\n" +"the game." +msgstr "" + +#: engines/mohawk/riven_external.cpp:655 +msgid "" +"At this point, the Riven Demo would\n" +"ask if you would like to open a web browser\n" +"to bring you to the Red Orb store to buy\n" +"the game. ScummVM cannot do that and\n" +"the site no longer exists." +msgstr "" + #: engines/mohawk/mohawk.cpp:61 #, fuzzy msgid "The game is paused. Press any key to continue." @@ -4250,6 +4294,9 @@ msgstr "Brug hųj oplųsning MPEG-video" msgid "Use MPEG video from the DVD version, instead of lower resolution AVI" msgstr "Brug MPEG-video fra DVD-versionen, i stedet for lavere oplųsning AVI" +#~ msgid "You have to restart ScummVM before your changes will take effect." +#~ msgstr "Du skal genstarte ScummVM fųr dine ęndringer har effekt." + #~ msgid "OpenGL (No filtering)" #~ msgstr "OpenGL (Ingen filtrering)" diff --git a/po/de_DE.po b/po/de_DE.po index 3d951a2ee2..747618dc83 100644 --- a/po/de_DE.po +++ b/po/de_DE.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: ScummVM 1.10.0git\n" "Report-Msgid-Bugs-To: scummvm-devel@lists.scummvm.org\n" -"POT-Creation-Date: 2016-10-12 23:37+0100\n" -"PO-Revision-Date: 2016-10-22 17:05+0200\n" +"POT-Creation-Date: 2016-11-05 12:43+0100\n" +"PO-Revision-Date: 2016-11-05 13:06+0100\n" "Last-Translator: Lothar Serra Mari <rootfather@scummvm.org>\n" "Language-Team: Simon Sawatzki <SimSaw@gmx.de>, Lothar Serra Mari " "<rootfather@scummvm.org>\n" @@ -18,6 +18,7 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" "X-Generator: Poedit 1.8.11\n" +"X-Language-name: Deutsch\n" #: gui/about.cpp:94 #, c-format @@ -58,7 +59,7 @@ msgstr "Pfad hoch" #: gui/browser.cpp:75 gui/chooser.cpp:46 gui/editgamedialog.cpp:292 #: gui/editrecorddialog.cpp:67 gui/filebrowser-dialog.cpp:64 #: gui/fluidsynth-dialog.cpp:152 gui/KeysDialog.cpp:43 gui/massadd.cpp:95 -#: gui/options.cpp:1376 gui/predictivedialog.cpp:73 gui/recorderdialog.cpp:69 +#: gui/options.cpp:1461 gui/predictivedialog.cpp:73 gui/recorderdialog.cpp:69 #: gui/recorderdialog.cpp:155 gui/remotebrowser.cpp:59 #: gui/saveload-dialog.cpp:383 gui/saveload-dialog.cpp:443 #: gui/saveload-dialog.cpp:717 gui/saveload-dialog.cpp:1111 @@ -84,7 +85,7 @@ msgstr "" "Wählen Sie das Verzeichnis, in welches die Spieldaten heruntergeladen werden " "sollen" -#: gui/downloaddialog.cpp:49 gui/editgamedialog.cpp:472 gui/launcher.cpp:173 +#: gui/downloaddialog.cpp:49 gui/editgamedialog.cpp:470 gui/launcher.cpp:197 msgid "Select directory with game data" msgstr "Verzeichnis mit Spieldateien auswählen" @@ -119,7 +120,7 @@ msgstr "" #: gui/downloaddialog.cpp:118 gui/downloaddialog.cpp:152 #: gui/filebrowser-dialog.cpp:132 gui/fluidsynth-dialog.cpp:217 -#: gui/launcher.cpp:286 gui/launcher.cpp:394 gui/launcher.cpp:453 +#: gui/launcher.cpp:307 gui/launcher.cpp:415 gui/launcher.cpp:474 #: gui/storagewizarddialog.cpp:112 #: backends/events/symbiansdl/symbiansdl-events.cpp:186 #: backends/platform/wince/CEActionsPocket.cpp:326 @@ -131,7 +132,7 @@ msgstr "Ja" #: gui/downloaddialog.cpp:118 gui/downloaddialog.cpp:153 #: gui/filebrowser-dialog.cpp:132 gui/fluidsynth-dialog.cpp:217 -#: gui/launcher.cpp:286 gui/launcher.cpp:394 gui/launcher.cpp:453 +#: gui/launcher.cpp:307 gui/launcher.cpp:415 gui/launcher.cpp:474 #: gui/storagewizarddialog.cpp:112 #: backends/events/symbiansdl/symbiansdl-events.cpp:186 #: backends/platform/wince/CEActionsPocket.cpp:326 @@ -141,7 +142,7 @@ msgstr "Ja" msgid "No" msgstr "Nein" -#: gui/downloaddialog.cpp:136 gui/launcher.cpp:544 +#: gui/downloaddialog.cpp:136 gui/launcher.cpp:565 msgid "ScummVM couldn't open the specified directory!" msgstr "ScummVM konnte das gewählte Verzeichnis nicht öffnen!" @@ -154,8 +155,8 @@ msgstr "" "beinhaltet eine Datei mit dem gleichen Namen." #: gui/downloaddialog.cpp:146 gui/editgamedialog.cpp:293 -#: gui/fluidsynth-dialog.cpp:153 gui/KeysDialog.cpp:42 gui/launcher.cpp:501 -#: gui/launcher.cpp:505 gui/massadd.cpp:92 gui/options.cpp:1377 +#: gui/fluidsynth-dialog.cpp:153 gui/KeysDialog.cpp:42 gui/launcher.cpp:522 +#: gui/launcher.cpp:526 gui/massadd.cpp:92 gui/options.cpp:1463 #: gui/saveload-dialog.cpp:1112 engines/engine.cpp:477 engines/engine.cpp:488 #: backends/platform/wii/options.cpp:47 #: backends/platform/wince/CELauncherDialog.cpp:54 @@ -240,8 +241,8 @@ msgstr "" "Sprache des Spiels. Diese Funktion wird nicht eine spanische Version des " "Spiels in eine deutsche verwandeln." -#: gui/editgamedialog.cpp:151 gui/editgamedialog.cpp:165 gui/options.cpp:114 -#: gui/options.cpp:785 gui/options.cpp:798 gui/options.cpp:1261 +#: gui/editgamedialog.cpp:151 gui/editgamedialog.cpp:165 gui/options.cpp:121 +#: gui/options.cpp:812 gui/options.cpp:825 gui/options.cpp:1356 #: audio/null.cpp:41 msgid "<default>" msgstr "<Standard>" @@ -264,11 +265,11 @@ msgstr "Plattform:" msgid "Engine" msgstr "Engine" -#: gui/editgamedialog.cpp:184 gui/options.cpp:1120 gui/options.cpp:1137 +#: gui/editgamedialog.cpp:184 gui/options.cpp:1147 gui/options.cpp:1232 msgid "Graphics" msgstr "Grafik" -#: gui/editgamedialog.cpp:184 gui/options.cpp:1120 gui/options.cpp:1137 +#: gui/editgamedialog.cpp:184 gui/options.cpp:1147 gui/options.cpp:1232 msgid "GFX" msgstr "GFX" @@ -281,7 +282,7 @@ msgctxt "lowres" msgid "Override global graphic settings" msgstr "Globale Grafik-Einstellungen übergehen" -#: gui/editgamedialog.cpp:196 gui/options.cpp:1143 +#: gui/editgamedialog.cpp:196 gui/options.cpp:1238 msgid "Audio" msgstr "Audio" @@ -294,11 +295,11 @@ msgctxt "lowres" msgid "Override global audio settings" msgstr "Globale Audio-Einstellungen übergehen" -#: gui/editgamedialog.cpp:210 gui/options.cpp:1148 +#: gui/editgamedialog.cpp:210 gui/options.cpp:1243 msgid "Volume" msgstr "Lautstärke" -#: gui/editgamedialog.cpp:212 gui/options.cpp:1150 +#: gui/editgamedialog.cpp:212 gui/options.cpp:1245 msgctxt "lowres" msgid "Volume" msgstr "Lautst." @@ -312,7 +313,7 @@ msgctxt "lowres" msgid "Override global volume settings" msgstr "Globale Lautstärke-Einstellungen übergehen" -#: gui/editgamedialog.cpp:226 gui/options.cpp:1158 +#: gui/editgamedialog.cpp:226 gui/options.cpp:1253 msgid "MIDI" msgstr "MIDI" @@ -325,7 +326,7 @@ msgctxt "lowres" msgid "Override global MIDI settings" msgstr "Globale MIDI-Einstellungen übergehen" -#: gui/editgamedialog.cpp:241 gui/options.cpp:1168 +#: gui/editgamedialog.cpp:241 gui/options.cpp:1263 msgid "MT-32" msgstr "MT-32" @@ -338,11 +339,11 @@ msgctxt "lowres" msgid "Override global MT-32 settings" msgstr "Globale MT-32-Einstellungen übergehen" -#: gui/editgamedialog.cpp:255 gui/options.cpp:1175 +#: gui/editgamedialog.cpp:255 gui/options.cpp:1270 msgid "Paths" msgstr "Pfade" -#: gui/editgamedialog.cpp:257 gui/options.cpp:1177 +#: gui/editgamedialog.cpp:257 gui/options.cpp:1272 msgctxt "lowres" msgid "Paths" msgstr "Pfade" @@ -356,7 +357,7 @@ msgctxt "lowres" msgid "Game Path:" msgstr "Spielpfad:" -#: gui/editgamedialog.cpp:271 gui/options.cpp:1201 +#: gui/editgamedialog.cpp:271 gui/options.cpp:1296 msgid "Extra Path:" msgstr "Extras:" @@ -365,56 +366,56 @@ msgstr "Extras:" msgid "Specifies path to additional data used by the game" msgstr "Legt das Verzeichnis für zusätzliche Spieldateien fest." -#: gui/editgamedialog.cpp:273 gui/options.cpp:1203 +#: gui/editgamedialog.cpp:273 gui/options.cpp:1298 msgctxt "lowres" msgid "Extra Path:" msgstr "Extras:" -#: gui/editgamedialog.cpp:280 gui/options.cpp:1185 +#: gui/editgamedialog.cpp:280 gui/options.cpp:1280 msgid "Save Path:" msgstr "Spielstände:" #: gui/editgamedialog.cpp:280 gui/editgamedialog.cpp:282 -#: gui/editgamedialog.cpp:283 gui/options.cpp:1185 gui/options.cpp:1187 -#: gui/options.cpp:1188 +#: gui/editgamedialog.cpp:283 gui/options.cpp:1280 gui/options.cpp:1282 +#: gui/options.cpp:1283 msgid "Specifies where your saved games are put" msgstr "Legt fest, wo die Spielstände gespeichert werden." -#: gui/editgamedialog.cpp:282 gui/options.cpp:1187 +#: gui/editgamedialog.cpp:282 gui/options.cpp:1282 msgctxt "lowres" msgid "Save Path:" msgstr "Spielstände:" -#: gui/editgamedialog.cpp:301 gui/editgamedialog.cpp:400 -#: gui/editgamedialog.cpp:459 gui/editgamedialog.cpp:520 gui/options.cpp:1196 -#: gui/options.cpp:1204 gui/options.cpp:1213 gui/options.cpp:1414 -#: gui/options.cpp:1420 gui/options.cpp:1428 gui/options.cpp:1451 -#: gui/options.cpp:1467 gui/options.cpp:1473 gui/options.cpp:1480 -#: gui/options.cpp:1488 gui/options.cpp:1640 gui/options.cpp:1643 -#: gui/options.cpp:1650 gui/options.cpp:1660 +#: gui/editgamedialog.cpp:301 gui/editgamedialog.cpp:398 +#: gui/editgamedialog.cpp:457 gui/editgamedialog.cpp:518 gui/options.cpp:1291 +#: gui/options.cpp:1299 gui/options.cpp:1308 gui/options.cpp:1488 +#: gui/options.cpp:1494 gui/options.cpp:1502 gui/options.cpp:1525 +#: gui/options.cpp:1554 gui/options.cpp:1560 gui/options.cpp:1567 +#: gui/options.cpp:1575 gui/options.cpp:1758 gui/options.cpp:1761 +#: gui/options.cpp:1768 gui/options.cpp:1778 msgctxt "path" msgid "None" msgstr "Keiner" -#: gui/editgamedialog.cpp:306 gui/editgamedialog.cpp:406 -#: gui/editgamedialog.cpp:524 gui/options.cpp:1408 gui/options.cpp:1461 -#: gui/options.cpp:1646 backends/platform/wii/options.cpp:56 +#: gui/editgamedialog.cpp:306 gui/editgamedialog.cpp:404 +#: gui/editgamedialog.cpp:522 gui/options.cpp:1482 gui/options.cpp:1548 +#: gui/options.cpp:1764 backends/platform/wii/options.cpp:56 msgid "Default" msgstr "Standard" -#: gui/editgamedialog.cpp:452 gui/options.cpp:1654 +#: gui/editgamedialog.cpp:450 gui/options.cpp:1772 msgid "Select SoundFont" msgstr "SoundFont auswählen" -#: gui/editgamedialog.cpp:491 +#: gui/editgamedialog.cpp:489 msgid "Select additional game directory" msgstr "Verzeichnis mit zusätzlichen Dateien auswählen" -#: gui/editgamedialog.cpp:504 gui/options.cpp:1577 +#: gui/editgamedialog.cpp:502 gui/options.cpp:1695 msgid "Select directory for saved games" msgstr "Verzeichnis für Spielstände auswählen" -#: gui/editgamedialog.cpp:510 +#: gui/editgamedialog.cpp:508 msgid "" "Saved games sync feature doesn't work with non-default directories. If you " "want your saved games to sync, use default directory." @@ -423,7 +424,7 @@ msgstr "" "Wenn SieIhre Spielstände synchronisieren möchten, verwenden Sie das Standard-" "Verzeichnis." -#: gui/editgamedialog.cpp:536 +#: gui/editgamedialog.cpp:534 msgid "This game ID is already taken. Please choose another one." msgstr "Diese Spielkennung ist schon vergeben. Bitte eine andere wählen." @@ -503,7 +504,7 @@ msgstr "Sinus" msgid "Triangle" msgstr "Dreieck" -#: gui/fluidsynth-dialog.cpp:138 gui/options.cpp:1221 +#: gui/fluidsynth-dialog.cpp:138 gui/options.cpp:1316 msgid "Misc" msgstr "Sonstiges" @@ -553,15 +554,15 @@ msgstr "Schließen" msgid "Mouse click" msgstr "Mausklick" -#: gui/gui-manager.cpp:126 base/main.cpp:337 +#: gui/gui-manager.cpp:126 base/main.cpp:340 msgid "Display keyboard" msgstr "Tastatur anzeigen" -#: gui/gui-manager.cpp:130 base/main.cpp:341 +#: gui/gui-manager.cpp:130 base/main.cpp:344 msgid "Remap keys" msgstr "Tasten neu zuweisen" -#: gui/gui-manager.cpp:133 base/main.cpp:344 engines/scumm/help.cpp:87 +#: gui/gui-manager.cpp:133 base/main.cpp:347 engines/scumm/help.cpp:87 msgid "Toggle fullscreen" msgstr "Vollbild umschalten" @@ -595,112 +596,112 @@ msgstr "Taste drücken, um sie zuzuweisen" msgid "Choose an action to map" msgstr "Eine Aktion zum Zuweisen auswählen" -#: gui/launcher.cpp:117 engines/dialogs.cpp:111 engines/mohawk/dialogs.cpp:98 +#: gui/launcher.cpp:141 engines/dialogs.cpp:111 engines/mohawk/dialogs.cpp:98 msgid "~Q~uit" msgstr "~B~eenden" -#: gui/launcher.cpp:117 backends/platform/sdl/macosx/appmenu_osx.mm:106 +#: gui/launcher.cpp:141 backends/platform/sdl/macosx/appmenu_osx.mm:106 msgid "Quit ScummVM" msgstr "ScummVM beenden" -#: gui/launcher.cpp:118 +#: gui/launcher.cpp:142 msgid "A~b~out..." msgstr "Übe~r~" -#: gui/launcher.cpp:118 backends/platform/sdl/macosx/appmenu_osx.mm:80 +#: gui/launcher.cpp:142 backends/platform/sdl/macosx/appmenu_osx.mm:80 msgid "About ScummVM" msgstr "Über ScummVM" -#: gui/launcher.cpp:119 +#: gui/launcher.cpp:143 msgid "~O~ptions..." msgstr "~O~ptionen" -#: gui/launcher.cpp:119 +#: gui/launcher.cpp:143 msgid "Change global ScummVM options" msgstr "Globale ScummVM-Einstellungen ändern" -#: gui/launcher.cpp:121 +#: gui/launcher.cpp:145 msgid "~S~tart" msgstr "~S~tarten" -#: gui/launcher.cpp:121 +#: gui/launcher.cpp:145 msgid "Start selected game" msgstr "Ausgewähltes Spiel starten" -#: gui/launcher.cpp:124 +#: gui/launcher.cpp:148 msgid "~L~oad..." msgstr "~L~aden..." -#: gui/launcher.cpp:124 +#: gui/launcher.cpp:148 msgid "Load saved game for selected game" msgstr "Spielstand für ausgewähltes Spiel laden" -#: gui/launcher.cpp:129 +#: gui/launcher.cpp:153 msgid "~A~dd Game..." msgstr "Spiel ~h~inzufügen" -#: gui/launcher.cpp:129 gui/launcher.cpp:136 +#: gui/launcher.cpp:153 gui/launcher.cpp:160 msgid "Hold Shift for Mass Add" msgstr "" "Umschalttaste (Shift) gedrückt halten, um Verzeichnisse nach Spielen zu " "durchsuchen" -#: gui/launcher.cpp:131 +#: gui/launcher.cpp:155 msgid "~E~dit Game..." msgstr "Spielo~p~tionen" -#: gui/launcher.cpp:131 gui/launcher.cpp:138 +#: gui/launcher.cpp:155 gui/launcher.cpp:162 msgid "Change game options" msgstr "Spieloptionen ändern" -#: gui/launcher.cpp:133 +#: gui/launcher.cpp:157 msgid "~R~emove Game" msgstr "Spiel ~e~ntfernen" -#: gui/launcher.cpp:133 gui/launcher.cpp:140 +#: gui/launcher.cpp:157 gui/launcher.cpp:164 msgid "Remove game from the list. The game data files stay intact" msgstr "Spiel aus der Liste entfernen. Die Spieldateien bleiben erhalten." -#: gui/launcher.cpp:136 +#: gui/launcher.cpp:160 msgctxt "lowres" msgid "~A~dd Game..." msgstr "~H~inzufügen" -#: gui/launcher.cpp:138 +#: gui/launcher.cpp:162 msgctxt "lowres" msgid "~E~dit Game..." msgstr "Spielo~p~tion" -#: gui/launcher.cpp:140 +#: gui/launcher.cpp:164 msgctxt "lowres" msgid "~R~emove Game" msgstr "~E~ntfernen" -#: gui/launcher.cpp:148 +#: gui/launcher.cpp:172 msgid "Search in game list" msgstr "In Spieleliste suchen" -#: gui/launcher.cpp:152 gui/launcher.cpp:750 +#: gui/launcher.cpp:176 gui/launcher.cpp:771 msgid "Search:" msgstr "Suchen:" -#: gui/launcher.cpp:176 engines/dialogs.cpp:115 engines/cruise/menu.cpp:214 -#: engines/mohawk/dialogs.cpp:103 engines/mohawk/riven.cpp:733 +#: gui/launcher.cpp:200 engines/dialogs.cpp:115 engines/cruise/menu.cpp:214 +#: engines/mohawk/dialogs.cpp:103 engines/mohawk/riven.cpp:734 #: engines/pegasus/pegasus.cpp:353 engines/tsage/scenes.cpp:601 msgid "Load game:" msgstr "Spiel laden:" -#: gui/launcher.cpp:176 engines/dialogs.cpp:115 +#: gui/launcher.cpp:200 engines/dialogs.cpp:115 #: backends/platform/wince/CEActionsPocket.cpp:267 #: backends/platform/wince/CEActionsSmartphone.cpp:231 #: engines/cruise/menu.cpp:214 engines/mohawk/dialogs.cpp:103 -#: engines/mohawk/riven.cpp:733 engines/parallaction/saveload.cpp:194 +#: engines/mohawk/riven.cpp:734 engines/parallaction/saveload.cpp:194 #: engines/pegasus/pegasus.cpp:353 engines/scumm/dialogs.cpp:185 #: engines/tsage/scenes.cpp:601 msgid "Load" msgstr "Laden" -#: gui/launcher.cpp:285 +#: gui/launcher.cpp:306 msgid "" "Do you really want to run the mass game detector? This could potentially add " "a huge number of games." @@ -708,42 +709,42 @@ msgstr "" "Möchten Sie wirklich den PC nach Spielen durchsuchen? Möglicherweise wird " "dabei eine größere Menge an Spielen hinzugefügt." -#: gui/launcher.cpp:344 +#: gui/launcher.cpp:365 msgid "This directory cannot be used yet, it is being downloaded into!" msgstr "" "Dieses Verzeichnis kann noch nicht verwendet werden, da noch Dateien " "heruntergeladen werden!" -#: gui/launcher.cpp:394 +#: gui/launcher.cpp:415 msgid "Do you really want to remove this game configuration?" msgstr "Möchten Sie wirklich diese Spielkonfiguration entfernen?" -#: gui/launcher.cpp:452 +#: gui/launcher.cpp:473 msgid "Do you want to load saved game?" msgstr "Möchten Sie einen Spielstand laden?" -#: gui/launcher.cpp:501 +#: gui/launcher.cpp:522 msgid "This game does not support loading games from the launcher." msgstr "" "Für dieses Spiel wird das Laden aus der Spieleliste heraus nicht unterstützt." -#: gui/launcher.cpp:505 +#: gui/launcher.cpp:526 msgid "ScummVM could not find any engine capable of running the selected game!" msgstr "ScummVM konnte keine Engine finden, um das Spiel zu starten!" -#: gui/launcher.cpp:556 +#: gui/launcher.cpp:577 msgid "ScummVM could not find any game in the specified directory!" msgstr "ScummVM konnte im gewählten Verzeichnis kein Spiel finden!" -#: gui/launcher.cpp:569 +#: gui/launcher.cpp:590 msgid "Pick the game:" msgstr "Spiel auswählen:" -#: gui/launcher.cpp:687 +#: gui/launcher.cpp:708 msgid "Mass Add..." msgstr "Durchsuchen" -#: gui/launcher.cpp:689 +#: gui/launcher.cpp:710 msgid "Record..." msgstr "Aufzeichnen" @@ -786,147 +787,147 @@ msgstr "Wechsle" msgid "Fast replay" msgstr "Schneller Modus" -#: gui/options.cpp:112 common/updates.cpp:56 +#: gui/options.cpp:119 common/updates.cpp:56 msgid "Never" msgstr "nie" -#: gui/options.cpp:112 +#: gui/options.cpp:119 msgid "every 5 mins" msgstr "alle 5 Minuten" -#: gui/options.cpp:112 +#: gui/options.cpp:119 msgid "every 10 mins" msgstr "alle 10 Minuten" -#: gui/options.cpp:112 +#: gui/options.cpp:119 msgid "every 15 mins" msgstr "alle 15 Minuten" -#: gui/options.cpp:112 +#: gui/options.cpp:119 msgid "every 30 mins" msgstr "alle 30 Minuten" -#: gui/options.cpp:114 +#: gui/options.cpp:121 msgid "8 kHz" msgstr "8 kHz" -#: gui/options.cpp:114 +#: gui/options.cpp:121 msgid "11 kHz" msgstr "11 kHz" -#: gui/options.cpp:114 +#: gui/options.cpp:121 msgid "22 kHz" msgstr "22 kHz" -#: gui/options.cpp:114 +#: gui/options.cpp:121 msgid "44 kHz" msgstr "44 kHz" -#: gui/options.cpp:114 +#: gui/options.cpp:121 msgid "48 kHz" msgstr "48 kHz" -#: gui/options.cpp:291 gui/options.cpp:528 gui/options.cpp:629 -#: gui/options.cpp:699 gui/options.cpp:910 +#: gui/options.cpp:289 gui/options.cpp:552 gui/options.cpp:657 +#: gui/options.cpp:726 gui/options.cpp:937 msgctxt "soundfont" msgid "None" msgstr "Kein SoundFont" -#: gui/options.cpp:432 +#: gui/options.cpp:456 msgid "Failed to apply some of the graphic options changes:" msgstr "Folgende Grafikoptionen konnten nicht geändert werden:" -#: gui/options.cpp:444 +#: gui/options.cpp:468 msgid "the video mode could not be changed." msgstr "Grafikmodus konnte nicht geändert werden." -#: gui/options.cpp:450 +#: gui/options.cpp:474 msgid "the aspect ratio setting could not be changed" msgstr "" "Einstellung für Seitenverhältniskorrektur konnte nicht geändert werden." -#: gui/options.cpp:456 +#: gui/options.cpp:480 msgid "the fullscreen setting could not be changed" msgstr "Vollbildeinstellung konnte nicht geändert werden." -#: gui/options.cpp:462 +#: gui/options.cpp:486 msgid "the filtering setting could not be changed" msgstr "Die Filtereinstellung konnte nicht geändert werden" -#: gui/options.cpp:782 +#: gui/options.cpp:809 msgid "Graphics mode:" msgstr "Grafikmodus:" -#: gui/options.cpp:796 +#: gui/options.cpp:823 msgid "Render mode:" msgstr "Render-Modus:" -#: gui/options.cpp:796 gui/options.cpp:797 +#: gui/options.cpp:823 gui/options.cpp:824 msgid "Special dithering modes supported by some games" msgstr "" "Spezielle Farbmischungsmethoden werden von manchen Spielen unterstützt." -#: gui/options.cpp:808 -#: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:2450 +#: gui/options.cpp:835 backends/graphics/openglsdl/openglsdl-graphics.cpp:615 +#: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:2460 msgid "Fullscreen mode" msgstr "Vollbildmodus" -#: gui/options.cpp:811 +#: gui/options.cpp:838 msgid "Filter graphics" msgstr "Bilineare Filterung" -#: gui/options.cpp:811 +#: gui/options.cpp:838 msgid "Use linear filtering when scaling graphics" msgstr "Verwende bilineare Filterung zur Grafik-Skalierung" -#: gui/options.cpp:814 +#: gui/options.cpp:841 msgid "Aspect ratio correction" msgstr "Seitenverhältnis korrigieren" -#: gui/options.cpp:814 +#: gui/options.cpp:841 msgid "Correct aspect ratio for 320x200 games" msgstr "Seitenverhältnis für Spiele mit der Auflösung 320x200 korrigieren" -#: gui/options.cpp:822 +#: gui/options.cpp:849 msgid "Preferred Device:" msgstr "Bevorzugtes Gerät:" -#: gui/options.cpp:822 +#: gui/options.cpp:849 msgid "Music Device:" msgstr "Musikgerät:" -#: gui/options.cpp:822 gui/options.cpp:824 +#: gui/options.cpp:849 gui/options.cpp:851 msgid "Specifies preferred sound device or sound card emulator" msgstr "" "Legt das bevorzugte Tonwiedergabe-Gerät oder den Soundkarten-Emulator fest." -#: gui/options.cpp:822 gui/options.cpp:824 gui/options.cpp:825 +#: gui/options.cpp:849 gui/options.cpp:851 gui/options.cpp:852 msgid "Specifies output sound device or sound card emulator" msgstr "Legt das Musikwiedergabe-Gerät oder den Soundkarten-Emulator fest." -#: gui/options.cpp:824 +#: gui/options.cpp:851 msgctxt "lowres" msgid "Preferred Dev.:" msgstr "Standard-Gerät:" -#: gui/options.cpp:824 +#: gui/options.cpp:851 msgctxt "lowres" msgid "Music Device:" msgstr "Musikgerät:" -#: gui/options.cpp:851 +#: gui/options.cpp:878 msgid "AdLib emulator:" msgstr "AdLib-Emulator" -#: gui/options.cpp:851 gui/options.cpp:852 +#: gui/options.cpp:878 gui/options.cpp:879 msgid "AdLib is used for music in many games" msgstr "AdLib wird für die Musik in vielen Spielen verwendet." -#: gui/options.cpp:862 +#: gui/options.cpp:889 msgid "Output rate:" msgstr "Ausgabefrequenz:" -#: gui/options.cpp:862 gui/options.cpp:863 +#: gui/options.cpp:889 gui/options.cpp:890 msgid "" "Higher value specifies better sound quality but may be not supported by your " "soundcard" @@ -934,64 +935,64 @@ msgstr "" "Höhere Werte bewirken eine bessere Soundqualität, werden aber möglicherweise " "nicht von jeder Soundkarte unterstützt." -#: gui/options.cpp:873 +#: gui/options.cpp:900 msgid "GM Device:" msgstr "GM-Gerät:" -#: gui/options.cpp:873 +#: gui/options.cpp:900 msgid "Specifies default sound device for General MIDI output" msgstr "" "Legt das standardmäßige Musikwiedergabe-Gerät für General-MIDI-Ausgabe fest." -#: gui/options.cpp:884 +#: gui/options.cpp:911 msgid "Don't use General MIDI music" msgstr "Keine General-MIDI-Musik" -#: gui/options.cpp:895 gui/options.cpp:957 +#: gui/options.cpp:922 gui/options.cpp:984 msgid "Use first available device" msgstr "Erstes verfügbares Gerät" -#: gui/options.cpp:907 +#: gui/options.cpp:934 msgid "SoundFont:" msgstr "SoundFont:" -#: gui/options.cpp:907 gui/options.cpp:909 gui/options.cpp:910 +#: gui/options.cpp:934 gui/options.cpp:936 gui/options.cpp:937 msgid "SoundFont is supported by some audio cards, FluidSynth and Timidity" msgstr "" "SoundFont wird von einigen Soundkarten, FluidSynth und Timidity unterstützt." -#: gui/options.cpp:909 +#: gui/options.cpp:936 msgctxt "lowres" msgid "SoundFont:" msgstr "SoundFont:" -#: gui/options.cpp:915 +#: gui/options.cpp:942 msgid "Mixed AdLib/MIDI mode" msgstr "Gemischter AdLib/MIDI-Modus" -#: gui/options.cpp:915 +#: gui/options.cpp:942 msgid "Use both MIDI and AdLib sound generation" msgstr "Kombiniert MIDI-Musik mit AdLib-Soundeffekten" -#: gui/options.cpp:918 +#: gui/options.cpp:945 msgid "MIDI gain:" msgstr "MIDI-Lautstärke:" -#: gui/options.cpp:928 +#: gui/options.cpp:955 msgid "MT-32 Device:" msgstr "MT-32-Gerät:" -#: gui/options.cpp:928 +#: gui/options.cpp:955 msgid "Specifies default sound device for Roland MT-32/LAPC1/CM32l/CM64 output" msgstr "" "Legt das standardmäßige Tonwiedergabe-Gerät für die Ausgabe von Roland MT-32/" "LAPC1/CM32l/CM64 fest." -#: gui/options.cpp:933 +#: gui/options.cpp:960 msgid "True Roland MT-32 (disable GM emulation)" msgstr "Echte Roland MT-32 (GM-Emulation deaktiviert)" -#: gui/options.cpp:933 gui/options.cpp:935 +#: gui/options.cpp:960 gui/options.cpp:962 msgid "" "Check if you want to use your real hardware Roland-compatible sound device " "connected to your computer" @@ -999,16 +1000,16 @@ msgstr "" "Wählen Sie dies aus, wenn Sie ein echtes Roland-kompatibles Soundgerät " "verwenden" -#: gui/options.cpp:935 +#: gui/options.cpp:962 msgctxt "lowres" msgid "True Roland MT-32 (no GM emulation)" msgstr "Echte Roland MT-32 (keine GM-Emulation)" -#: gui/options.cpp:938 +#: gui/options.cpp:965 msgid "Roland GS Device (enable MT-32 mappings)" msgstr "Roland-GS-Gerät (MT-32-Zuweisungen aktivieren)" -#: gui/options.cpp:938 +#: gui/options.cpp:965 msgid "" "Check if you want to enable patch mappings to emulate an MT-32 on a Roland " "GS device" @@ -1016,270 +1017,270 @@ msgstr "" "Wählen Sie dies aus, wenn Sie ausbessernde Instrumentzuweisungen aktivieren " "möchten, um MT-32 auf einem Roland-GS-Gerät zu emulieren." -#: gui/options.cpp:947 +#: gui/options.cpp:974 msgid "Don't use Roland MT-32 music" msgstr "Keine Roland-MT-32-Musik" -#: gui/options.cpp:974 +#: gui/options.cpp:1001 msgid "Text and Speech:" msgstr "Sprache und Text:" -#: gui/options.cpp:978 gui/options.cpp:988 +#: gui/options.cpp:1005 gui/options.cpp:1015 msgid "Speech" msgstr "Sprache" -#: gui/options.cpp:979 gui/options.cpp:989 +#: gui/options.cpp:1006 gui/options.cpp:1016 msgid "Subtitles" msgstr "Untertitel" -#: gui/options.cpp:980 +#: gui/options.cpp:1007 msgid "Both" msgstr "Beides" -#: gui/options.cpp:982 +#: gui/options.cpp:1009 msgid "Subtitle speed:" msgstr "Untertitel-Tempo:" -#: gui/options.cpp:984 +#: gui/options.cpp:1011 msgctxt "lowres" msgid "Text and Speech:" msgstr "Text u. Sprache:" -#: gui/options.cpp:988 +#: gui/options.cpp:1015 msgid "Spch" msgstr "Spr." -#: gui/options.cpp:989 +#: gui/options.cpp:1016 msgid "Subs" msgstr "Text" -#: gui/options.cpp:990 +#: gui/options.cpp:1017 msgctxt "lowres" msgid "Both" msgstr "S+T" -#: gui/options.cpp:990 +#: gui/options.cpp:1017 msgid "Show subtitles and play speech" msgstr "Untertitel anzeigen und Sprachausgabe aktivieren" -#: gui/options.cpp:992 +#: gui/options.cpp:1019 msgctxt "lowres" msgid "Subtitle speed:" msgstr "Text-Tempo:" -#: gui/options.cpp:1008 +#: gui/options.cpp:1035 msgid "Music volume:" msgstr "Musiklautstärke:" -#: gui/options.cpp:1010 +#: gui/options.cpp:1037 msgctxt "lowres" msgid "Music volume:" msgstr "Musiklautstärke:" -#: gui/options.cpp:1017 +#: gui/options.cpp:1044 msgid "Mute All" msgstr "Stumm" -#: gui/options.cpp:1020 +#: gui/options.cpp:1047 msgid "SFX volume:" msgstr "Effektlautstärke:" -#: gui/options.cpp:1020 gui/options.cpp:1022 gui/options.cpp:1023 +#: gui/options.cpp:1047 gui/options.cpp:1049 gui/options.cpp:1050 msgid "Special sound effects volume" msgstr "Lautstärke spezieller Geräusch-Effekte" -#: gui/options.cpp:1022 +#: gui/options.cpp:1049 msgctxt "lowres" msgid "SFX volume:" msgstr "Effektlautst.:" -#: gui/options.cpp:1030 +#: gui/options.cpp:1057 msgid "Speech volume:" msgstr "Sprachlautstärke:" -#: gui/options.cpp:1032 +#: gui/options.cpp:1059 msgctxt "lowres" msgid "Speech volume:" msgstr "Sprachlautst.:" -#: gui/options.cpp:1162 +#: gui/options.cpp:1257 msgid "FluidSynth Settings" msgstr "FluidSynth-Einstellungen" -#: gui/options.cpp:1193 +#: gui/options.cpp:1288 msgid "Theme Path:" msgstr "Themen:" -#: gui/options.cpp:1195 +#: gui/options.cpp:1290 msgctxt "lowres" msgid "Theme Path:" msgstr "Themen:" -#: gui/options.cpp:1201 gui/options.cpp:1203 gui/options.cpp:1204 +#: gui/options.cpp:1296 gui/options.cpp:1298 gui/options.cpp:1299 msgid "Specifies path to additional data used by all games or ScummVM" msgstr "" "Legt das Verzeichnis für zusätzliche Spieldateien für alle Spiele in ScummVM " "fest." -#: gui/options.cpp:1210 +#: gui/options.cpp:1305 msgid "Plugins Path:" msgstr "Plugins:" -#: gui/options.cpp:1212 +#: gui/options.cpp:1307 msgctxt "lowres" msgid "Plugins Path:" msgstr "Plugins:" -#: gui/options.cpp:1223 +#: gui/options.cpp:1318 msgctxt "lowres" msgid "Misc" msgstr "Andere" -#: gui/options.cpp:1225 +#: gui/options.cpp:1320 msgid "Theme:" msgstr "Thema:" -#: gui/options.cpp:1229 +#: gui/options.cpp:1324 msgid "GUI Renderer:" msgstr "GUI-Renderer:" -#: gui/options.cpp:1241 +#: gui/options.cpp:1336 msgid "Autosave:" msgstr "Autom. Speichern:" -#: gui/options.cpp:1243 +#: gui/options.cpp:1338 msgctxt "lowres" msgid "Autosave:" msgstr "Autospeichern:" -#: gui/options.cpp:1251 +#: gui/options.cpp:1346 msgid "Keys" msgstr "Tasten" -#: gui/options.cpp:1258 +#: gui/options.cpp:1353 msgid "GUI Language:" msgstr "Sprache:" -#: gui/options.cpp:1258 +#: gui/options.cpp:1353 msgid "Language of ScummVM GUI" msgstr "Sprache der ScummVM-Oberfläche" -#: gui/options.cpp:1286 +#: gui/options.cpp:1381 msgid "Update check:" msgstr "Updates suchen:" -#: gui/options.cpp:1286 +#: gui/options.cpp:1381 msgid "How often to check ScummVM updates" msgstr "Wie oft nach Aktualisierungen von ScummVM suchen?" -#: gui/options.cpp:1298 +#: gui/options.cpp:1393 msgid "Check now" msgstr "Jetzt prüfen" -#: gui/options.cpp:1306 +#: gui/options.cpp:1401 msgid "Cloud" msgstr "Cloud" -#: gui/options.cpp:1308 +#: gui/options.cpp:1403 msgctxt "lowres" msgid "Cloud" msgstr "Cloud" -#: gui/options.cpp:1319 +#: gui/options.cpp:1408 msgid "Storage:" msgstr "Cloud-Speicher:" -#: gui/options.cpp:1319 +#: gui/options.cpp:1408 msgid "Active cloud storage" msgstr "Aktiver Cloud-Speicher" -#: gui/options.cpp:1326 gui/options.cpp:1877 +#: gui/options.cpp:1415 gui/options.cpp:1972 msgid "<none>" msgstr "<keiner>" -#: gui/options.cpp:1330 backends/platform/wii/options.cpp:114 +#: gui/options.cpp:1419 backends/platform/wii/options.cpp:114 msgid "Username:" msgstr "Benutzername:" -#: gui/options.cpp:1330 +#: gui/options.cpp:1419 msgid "Username used by this storage" msgstr "Benutzername, der von diesem Cloud-Speicher verwendet wird" -#: gui/options.cpp:1333 +#: gui/options.cpp:1422 msgid "Used space:" msgstr "Belegter Speicher:" -#: gui/options.cpp:1333 +#: gui/options.cpp:1422 msgid "Space used by ScummVM's saved games on this storage" msgstr "" "Von ScummVM-Spielständen beleger Speicherplatz auf diesem Cloud-Speicher" -#: gui/options.cpp:1336 +#: gui/options.cpp:1425 msgid "Last sync time:" msgstr "Letzte Sync.:" -#: gui/options.cpp:1336 +#: gui/options.cpp:1425 msgid "When the last saved games sync for this storage occured" msgstr "Zeitpunkt der letzten Spielstand-Synchronisierung" -#: gui/options.cpp:1339 gui/storagewizarddialog.cpp:71 +#: gui/options.cpp:1428 gui/storagewizarddialog.cpp:71 msgid "Connect" msgstr "Verbinden" -#: gui/options.cpp:1339 +#: gui/options.cpp:1428 msgid "Open wizard dialog to connect your cloud storage account" msgstr "" "Öffnet den Assistent, der Sie durch die Einrichtung Ihres Cloud-Speichers " "führt." -#: gui/options.cpp:1340 +#: gui/options.cpp:1429 msgid "Refresh" msgstr "Aktualisieren" -#: gui/options.cpp:1340 +#: gui/options.cpp:1429 msgid "Refresh current cloud storage information (username and usage)" msgstr "" "Aktualisiert die Informationen über diesen Cloud-Speicher (Benutzername und " "Belegung)" -#: gui/options.cpp:1341 +#: gui/options.cpp:1430 msgid "Download" msgstr "Herunterladen" -#: gui/options.cpp:1341 +#: gui/options.cpp:1430 msgid "Open downloads manager dialog" msgstr "Öffnet den Download-Manager" -#: gui/options.cpp:1343 +#: gui/options.cpp:1432 msgid "Run server" msgstr "Server starten" -#: gui/options.cpp:1343 +#: gui/options.cpp:1432 msgid "Run local webserver" msgstr "Startet den lokalen Webserver" -#: gui/options.cpp:1344 gui/options.cpp:1987 +#: gui/options.cpp:1433 gui/options.cpp:2082 msgid "Not running" msgstr "Nicht gestartet" -#: gui/options.cpp:1348 +#: gui/options.cpp:1437 msgid "/root/ Path:" msgstr "/root/-Pfad:" -#: gui/options.cpp:1348 gui/options.cpp:1350 gui/options.cpp:1351 +#: gui/options.cpp:1437 gui/options.cpp:1439 gui/options.cpp:1440 msgid "Specifies which directory the Files Manager can access" msgstr "Legt fest, auf welches Verzeichnis der Dateimanager zugreifen darf." -#: gui/options.cpp:1350 +#: gui/options.cpp:1439 msgctxt "lowres" msgid "/root/ Path:" msgstr "/root/-Pfad:" -#: gui/options.cpp:1360 +#: gui/options.cpp:1449 msgid "Server's port:" msgstr "Server-Port:" -#: gui/options.cpp:1360 +#: gui/options.cpp:1449 msgid "" "Which port is used by the server\n" "Auth with server is not available with non-default port" @@ -1288,73 +1289,73 @@ msgstr "" "Authentifizierung mit dem Server ist nicht verfügbar, wenn ein anderer Port " "verwendet wird." -#: gui/options.cpp:1520 -msgid "You have to restart ScummVM before your changes will take effect." -msgstr "Sie müssen ScummVM neu starten, damit die Änderungen wirksam werden." +#: gui/options.cpp:1462 +msgid "Apply" +msgstr "Übernehmen" -#: gui/options.cpp:1543 +#: gui/options.cpp:1628 msgid "Failed to change cloud storage!" msgstr "Konnte den Cloud-Speicher nicht ändern!" -#: gui/options.cpp:1546 +#: gui/options.cpp:1631 msgid "Another cloud storage is already active." msgstr "Ein anderer Cloud-Speicher arbeitet gerade." -#: gui/options.cpp:1584 +# Nicht übersetzen, da diese Nachricht nur für nicht-lateinische Sprachen relevant ist. +#: gui/options.cpp:1667 +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 "" +"Das ausgewählte Thema unterstützt nicht die aktuelle Sprache. Wenn Sie " +"dieses Thema benutzen wollen, müssen Sie erst zu einer anderen Sprache " +"wechseln." + +#: gui/options.cpp:1702 msgid "The chosen directory cannot be written to. Please select another one." msgstr "" "In das gewählte Verzeichnis kann nicht geschrieben werden. Bitte ein anderes " "auswählen." -#: gui/options.cpp:1593 +#: gui/options.cpp:1711 msgid "Select directory for GUI themes" msgstr "Verzeichnis für Oberflächen-Themen" -#: gui/options.cpp:1603 +#: gui/options.cpp:1721 msgid "Select directory for extra files" msgstr "Verzeichnis für zusätzliche Dateien auswählen" -#: gui/options.cpp:1614 +#: gui/options.cpp:1732 msgid "Select directory for plugins" msgstr "Verzeichnis für Erweiterungen auswählen" -#: gui/options.cpp:1626 +#: gui/options.cpp:1744 msgid "Select directory for Files Manager /root/" msgstr "" "Wählen Sie das Verzeichnis aus, welches als Stammverzeichnis ('root') dient" -# Nicht übersetzen, da diese Nachricht nur für nicht-lateinische Sprachen relevant ist. -#: gui/options.cpp:1688 -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 "" -"Das ausgewählte Thema unterstützt nicht die aktuelle Sprache. Wenn Sie " -"dieses Thema benutzen wollen, müssen Sie erst zu einer anderen Sprache " -"wechseln." - -#: gui/options.cpp:1884 +#: gui/options.cpp:1979 #, c-format msgid "%llu bytes" msgstr "%llu Bytes" -#: gui/options.cpp:1892 +#: gui/options.cpp:1987 msgid "<right now>" msgstr "<gerade eben>" -#: gui/options.cpp:1894 +#: gui/options.cpp:1989 msgid "<never>" msgstr "<nie>" -#: gui/options.cpp:1978 +#: gui/options.cpp:2073 msgid "Stop server" msgstr "Server anhalten" -#: gui/options.cpp:1979 +#: gui/options.cpp:2074 msgid "Stop local webserver" msgstr "Lokalen Webserver anhalten" -#: gui/options.cpp:2068 +#: gui/options.cpp:2163 msgid "" "Request failed.\n" "Check your Internet connection." @@ -1635,35 +1636,35 @@ msgstr "Fortfahren" msgid "Clear value" msgstr "Wert löschen" -#: base/main.cpp:250 +#: base/main.cpp:253 #, c-format msgid "Engine does not support debug level '%s'" msgstr "Engine unterstützt den Debug-Level \"%s\" nicht." -#: base/main.cpp:324 +#: base/main.cpp:327 msgid "Menu" msgstr "Menü" -#: base/main.cpp:327 backends/platform/symbian/src/SymbianActions.cpp:45 +#: base/main.cpp:330 backends/platform/symbian/src/SymbianActions.cpp:45 #: backends/platform/wince/CEActionsPocket.cpp:45 #: backends/platform/wince/CEActionsSmartphone.cpp:46 msgid "Skip" msgstr "Überspringen" -#: base/main.cpp:330 backends/platform/symbian/src/SymbianActions.cpp:50 +#: base/main.cpp:333 backends/platform/symbian/src/SymbianActions.cpp:50 #: backends/platform/wince/CEActionsPocket.cpp:42 msgid "Pause" msgstr "Pause" -#: base/main.cpp:333 +#: base/main.cpp:336 msgid "Skip line" msgstr "Zeile überspringen" -#: base/main.cpp:542 +#: base/main.cpp:547 msgid "Error running game:" msgstr "Fehler beim Ausführen des Spiels:" -#: base/main.cpp:589 +#: base/main.cpp:594 msgid "Could not find any engine capable of running the selected game" msgstr "Konnte keine Spiel-Engine finden, die dieses Spiel starten kann." @@ -2043,11 +2044,11 @@ msgstr "FM-Towns-Audio" msgid "PC-98 Audio" msgstr "PC-98-Audio" -#: audio/softsynth/mt32.cpp:196 +#: audio/softsynth/mt32.cpp:197 msgid "Initializing MT-32 Emulator" msgstr "MT-32-Emulator wird gestartet" -#: audio/softsynth/mt32.cpp:434 +#: audio/softsynth/mt32.cpp:435 msgid "MT-32 Emulator" msgstr "MT-32-Emulation" @@ -2063,15 +2064,15 @@ msgstr "IBM-PCjr-Emulator" msgid "C64 Audio Emulator" msgstr "C64-Audio-Emulator" -#: backends/cloud/storage.cpp:210 +#: backends/cloud/storage.cpp:211 msgid "Saved games sync complete." msgstr "Spielstände synchronisiert." -#: backends/cloud/storage.cpp:221 +#: backends/cloud/storage.cpp:222 msgid "Saved games sync was cancelled." msgstr "Spielstand-Synchronisierung abgebrochen" -#: backends/cloud/storage.cpp:223 +#: backends/cloud/storage.cpp:224 msgid "" "Saved games sync failed.\n" "Check your Internet connection." @@ -2079,7 +2080,7 @@ msgstr "" "Spielstand-Synchronisierung fehlgeschlagen.\n" "Überprüfen Sie Ihre Internetverbindung." -#: backends/cloud/storage.cpp:327 +#: backends/cloud/storage.cpp:328 #, c-format msgid "" "Download complete.\n" @@ -2088,11 +2089,11 @@ msgstr "" "Download abgeschlossen.\n" "%u Dateien konnten nicht heruntergeladen werden." -#: backends/cloud/storage.cpp:329 +#: backends/cloud/storage.cpp:330 msgid "Download complete." msgstr "Download abgeschlossen." -#: backends/cloud/storage.cpp:339 +#: backends/cloud/storage.cpp:340 msgid "Download failed." msgstr "Download fehlgeschlagen." @@ -2201,41 +2202,51 @@ msgstr "Zum Umschalten mit drei Fingern nach rechts wischen." msgid "OpenGL" msgstr "OpenGL" -#: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:47 -#: backends/graphics/wincesdl/wincesdl-graphics.cpp:88 -#: backends/graphics/wincesdl/wincesdl-graphics.cpp:95 -msgid "Normal (no scaling)" -msgstr "Normal (keine Skalierung)" +#: backends/graphics/openglsdl/openglsdl-graphics.cpp:617 +#: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:2462 +msgid "Windowed mode" +msgstr "Fenstermodus" -#: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:66 -msgctxt "lowres" -msgid "Normal (no scaling)" -msgstr "Normal ohn.Skalieren" +#: backends/graphics/openglsdl/openglsdl-graphics.cpp:710 +#, c-format +msgid "Resolution: %dx%d" +msgstr "Auflösung: %dx%d" -#: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:2329 +#: backends/graphics/openglsdl/openglsdl-graphics.cpp:731 +#: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:2338 msgid "Enabled aspect ratio correction" msgstr "Seitenverhältniskorrektur an" -#: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:2335 +#: backends/graphics/openglsdl/openglsdl-graphics.cpp:733 +#: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:2344 msgid "Disabled aspect ratio correction" msgstr "Seitenverhältniskorrektur aus" -#: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:2353 +#: backends/graphics/openglsdl/openglsdl-graphics.cpp:753 +#: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:2362 msgid "Filtering enabled" msgstr "Bilineare Filterung aktiviert" -#: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:2355 +#: backends/graphics/openglsdl/openglsdl-graphics.cpp:755 +#: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:2364 msgid "Filtering disabled" msgstr "Bilineare Filterung deaktiviert" -#: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:2407 +#: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:47 +#: backends/graphics/wincesdl/wincesdl-graphics.cpp:88 +#: backends/graphics/wincesdl/wincesdl-graphics.cpp:95 +msgid "Normal (no scaling)" +msgstr "Normal (keine Skalierung)" + +#: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:66 +msgctxt "lowres" +msgid "Normal (no scaling)" +msgstr "Normal ohn.Skalieren" + +#: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:2417 msgid "Active graphics filter:" msgstr "Aktiver Grafikfilter:" -#: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:2452 -msgid "Windowed mode" -msgstr "Fenstermodus" - #: backends/keymapper/remap-dialog.cpp:48 msgid "Keymap:" msgstr "Tasten-Layout:" @@ -3166,6 +3177,52 @@ msgstr "Haupt~m~enü" msgid "~W~ater Effect Enabled" msgstr "~W~assereffekt aktiviert" +#: engines/mohawk/riven.cpp:150 +msgid "" +"You're missing a Riven executable. The Windows executable is 'riven.exe' or " +"'rivendmo.exe'. " +msgstr "" +"Ihnen fehlt eine Programmdatei von Riven. Die Windows-Programmdatei ist " +"'riven.exe' oder 'rivendmo.exe'. " + +#: engines/mohawk/riven.cpp:151 +msgid "" +"Using the 'arcriven.z' installer file also works. In addition, you can use " +"the Mac 'Riven' executable." +msgstr "" +"Die Installationsdatei 'arcriven.z' kann ebenfalls verwendet werden. " +"Zusätzlich können Sie auch die Mac-Programmdatei 'Riven' verwenden." + +#: engines/mohawk/riven.cpp:162 +msgid "" +"You're missing 'extras.mhk'. Using the 'arcriven.z' installer file also " +"works." +msgstr "" +"Die Datei 'extras.mhk' fehlt. Sie können auch die Installationsdatei " +"'arcriven.z verwenden." + +#: engines/mohawk/riven_external.cpp:213 +msgid "" +"Exploration beyond this point available only within the full version of\n" +"the game." +msgstr "" +"Die weitere Erkundung über diesen Punkt hinaus ist nur in der Vollversion\n" +"des Spiels möglich." + +#: engines/mohawk/riven_external.cpp:655 +msgid "" +"At this point, the Riven Demo would\n" +"ask if you would like to open a web browser\n" +"to bring you to the Red Orb store to buy\n" +"the game. ScummVM cannot do that and\n" +"the site no longer exists." +msgstr "" +"An dieser Stelle würde die Riven-Demo\n" +"Sie fragen, ob Sie einen Web-Browser\n" +"öffnen möchten, um das Spiel direkt von\n" +"Red Orb zu kaufen. ScummVM kann dies nicht.\n" +"Die Webseite existiert nicht mehr." + #: engines/mohawk/mohawk.cpp:61 msgid "The game is paused. Press any key to continue." msgstr "Das Spiel ist pausiert. Zum Weiterspielen beliebige Taste drücken." @@ -4313,6 +4370,10 @@ msgid "Use MPEG video from the DVD version, instead of lower resolution AVI" msgstr "" "Verwende hochauflösende MPEG-Filme der DVD-Version anstelle der AVI-Filme" +#~ msgid "You have to restart ScummVM before your changes will take effect." +#~ msgstr "" +#~ "Sie müssen ScummVM neu starten, damit die Änderungen wirksam werden." + #~ msgid "OpenGL (No filtering)" #~ msgstr "OpenGL (ohne Filter)" diff --git a/po/es_ES.po b/po/es_ES.po index 79f444e884..1e1d3f0b24 100644 --- a/po/es_ES.po +++ b/po/es_ES.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: ScummVM 1.4.0svn\n" "Report-Msgid-Bugs-To: scummvm-devel@lists.scummvm.org\n" -"POT-Creation-Date: 2016-10-12 23:37+0100\n" +"POT-Creation-Date: 2016-11-05 12:43+0100\n" "PO-Revision-Date: 2016-10-09 01:40+0100\n" "Last-Translator: \n" "Language-Team: \n" @@ -16,6 +16,7 @@ msgstr "" "Content-Type: text/plain; charset=iso-8859-1\n" "Content-Transfer-Encoding: 8bit\n" "X-Generator: Poedit 1.6.5\n" +"X-Language-name: Espanol\n" #: gui/about.cpp:94 #, c-format @@ -55,7 +56,7 @@ msgstr "Arriba" #: gui/browser.cpp:75 gui/chooser.cpp:46 gui/editgamedialog.cpp:292 #: gui/editrecorddialog.cpp:67 gui/filebrowser-dialog.cpp:64 #: gui/fluidsynth-dialog.cpp:152 gui/KeysDialog.cpp:43 gui/massadd.cpp:95 -#: gui/options.cpp:1376 gui/predictivedialog.cpp:73 gui/recorderdialog.cpp:69 +#: gui/options.cpp:1461 gui/predictivedialog.cpp:73 gui/recorderdialog.cpp:69 #: gui/recorderdialog.cpp:155 gui/remotebrowser.cpp:59 #: gui/saveload-dialog.cpp:383 gui/saveload-dialog.cpp:443 #: gui/saveload-dialog.cpp:717 gui/saveload-dialog.cpp:1111 @@ -79,7 +80,7 @@ msgstr "Aceptar" msgid "Select directory where to download game data" msgstr "Selecciona el directorio donde descargar los archivos de juego" -#: gui/downloaddialog.cpp:49 gui/editgamedialog.cpp:472 gui/launcher.cpp:173 +#: gui/downloaddialog.cpp:49 gui/editgamedialog.cpp:470 gui/launcher.cpp:197 msgid "Select directory with game data" msgstr "Selecciona el directorio del juego" @@ -114,7 +115,7 @@ msgstr "" #: gui/downloaddialog.cpp:118 gui/downloaddialog.cpp:152 #: gui/filebrowser-dialog.cpp:132 gui/fluidsynth-dialog.cpp:217 -#: gui/launcher.cpp:286 gui/launcher.cpp:394 gui/launcher.cpp:453 +#: gui/launcher.cpp:307 gui/launcher.cpp:415 gui/launcher.cpp:474 #: gui/storagewizarddialog.cpp:112 #: backends/events/symbiansdl/symbiansdl-events.cpp:186 #: backends/platform/wince/CEActionsPocket.cpp:326 @@ -126,7 +127,7 @@ msgstr "Sķ" #: gui/downloaddialog.cpp:118 gui/downloaddialog.cpp:153 #: gui/filebrowser-dialog.cpp:132 gui/fluidsynth-dialog.cpp:217 -#: gui/launcher.cpp:286 gui/launcher.cpp:394 gui/launcher.cpp:453 +#: gui/launcher.cpp:307 gui/launcher.cpp:415 gui/launcher.cpp:474 #: gui/storagewizarddialog.cpp:112 #: backends/events/symbiansdl/symbiansdl-events.cpp:186 #: backends/platform/wince/CEActionsPocket.cpp:326 @@ -136,7 +137,7 @@ msgstr "Sķ" msgid "No" msgstr "No" -#: gui/downloaddialog.cpp:136 gui/launcher.cpp:544 +#: gui/downloaddialog.cpp:136 gui/launcher.cpp:565 msgid "ScummVM couldn't open the specified directory!" msgstr "ScummVM no ha podido abrir el directorio." @@ -149,8 +150,8 @@ msgstr "" "un archivo con el mismo nombre." #: gui/downloaddialog.cpp:146 gui/editgamedialog.cpp:293 -#: gui/fluidsynth-dialog.cpp:153 gui/KeysDialog.cpp:42 gui/launcher.cpp:501 -#: gui/launcher.cpp:505 gui/massadd.cpp:92 gui/options.cpp:1377 +#: gui/fluidsynth-dialog.cpp:153 gui/KeysDialog.cpp:42 gui/launcher.cpp:522 +#: gui/launcher.cpp:526 gui/massadd.cpp:92 gui/options.cpp:1463 #: gui/saveload-dialog.cpp:1112 engines/engine.cpp:477 engines/engine.cpp:488 #: backends/platform/wii/options.cpp:47 #: backends/platform/wince/CELauncherDialog.cpp:54 @@ -235,8 +236,8 @@ msgstr "" "Idioma del juego. No sirve para pasar al inglés la versión espańola de un " "juego" -#: gui/editgamedialog.cpp:151 gui/editgamedialog.cpp:165 gui/options.cpp:114 -#: gui/options.cpp:785 gui/options.cpp:798 gui/options.cpp:1261 +#: gui/editgamedialog.cpp:151 gui/editgamedialog.cpp:165 gui/options.cpp:121 +#: gui/options.cpp:812 gui/options.cpp:825 gui/options.cpp:1356 #: audio/null.cpp:41 msgid "<default>" msgstr "<por defecto>" @@ -259,11 +260,11 @@ msgstr "Plat.:" msgid "Engine" msgstr "Motor" -#: gui/editgamedialog.cpp:184 gui/options.cpp:1120 gui/options.cpp:1137 +#: gui/editgamedialog.cpp:184 gui/options.cpp:1147 gui/options.cpp:1232 msgid "Graphics" msgstr "Grįficos" -#: gui/editgamedialog.cpp:184 gui/options.cpp:1120 gui/options.cpp:1137 +#: gui/editgamedialog.cpp:184 gui/options.cpp:1147 gui/options.cpp:1232 msgid "GFX" msgstr "Grįf." @@ -276,7 +277,7 @@ msgctxt "lowres" msgid "Override global graphic settings" msgstr "Opciones grįficas especķficas" -#: gui/editgamedialog.cpp:196 gui/options.cpp:1143 +#: gui/editgamedialog.cpp:196 gui/options.cpp:1238 msgid "Audio" msgstr "Sonido" @@ -289,11 +290,11 @@ msgctxt "lowres" msgid "Override global audio settings" msgstr "Opciones de sonido especķficas" -#: gui/editgamedialog.cpp:210 gui/options.cpp:1148 +#: gui/editgamedialog.cpp:210 gui/options.cpp:1243 msgid "Volume" msgstr "Volumen" -#: gui/editgamedialog.cpp:212 gui/options.cpp:1150 +#: gui/editgamedialog.cpp:212 gui/options.cpp:1245 msgctxt "lowres" msgid "Volume" msgstr "Volumen" @@ -307,7 +308,7 @@ msgctxt "lowres" msgid "Override global volume settings" msgstr "Opciones de volumen especķficas" -#: gui/editgamedialog.cpp:226 gui/options.cpp:1158 +#: gui/editgamedialog.cpp:226 gui/options.cpp:1253 msgid "MIDI" msgstr "MIDI" @@ -320,7 +321,7 @@ msgctxt "lowres" msgid "Override global MIDI settings" msgstr "Opciones de MIDI especķficas" -#: gui/editgamedialog.cpp:241 gui/options.cpp:1168 +#: gui/editgamedialog.cpp:241 gui/options.cpp:1263 msgid "MT-32" msgstr "MT-32" @@ -333,11 +334,11 @@ msgctxt "lowres" msgid "Override global MT-32 settings" msgstr "Opciones de MT-32 especķficas" -#: gui/editgamedialog.cpp:255 gui/options.cpp:1175 +#: gui/editgamedialog.cpp:255 gui/options.cpp:1270 msgid "Paths" msgstr "Rutas" -#: gui/editgamedialog.cpp:257 gui/options.cpp:1177 +#: gui/editgamedialog.cpp:257 gui/options.cpp:1272 msgctxt "lowres" msgid "Paths" msgstr "Rutas" @@ -351,7 +352,7 @@ msgctxt "lowres" msgid "Game Path:" msgstr "Juego:" -#: gui/editgamedialog.cpp:271 gui/options.cpp:1201 +#: gui/editgamedialog.cpp:271 gui/options.cpp:1296 msgid "Extra Path:" msgstr "Adicional:" @@ -360,56 +361,56 @@ msgstr "Adicional:" msgid "Specifies path to additional data used by the game" msgstr "Especifica un directorio para datos adicionales del juego" -#: gui/editgamedialog.cpp:273 gui/options.cpp:1203 +#: gui/editgamedialog.cpp:273 gui/options.cpp:1298 msgctxt "lowres" msgid "Extra Path:" msgstr "Adicional:" -#: gui/editgamedialog.cpp:280 gui/options.cpp:1185 +#: gui/editgamedialog.cpp:280 gui/options.cpp:1280 msgid "Save Path:" msgstr "Partidas:" #: gui/editgamedialog.cpp:280 gui/editgamedialog.cpp:282 -#: gui/editgamedialog.cpp:283 gui/options.cpp:1185 gui/options.cpp:1187 -#: gui/options.cpp:1188 +#: gui/editgamedialog.cpp:283 gui/options.cpp:1280 gui/options.cpp:1282 +#: gui/options.cpp:1283 msgid "Specifies where your saved games are put" msgstr "Especifica dónde guardar tus partidas" -#: gui/editgamedialog.cpp:282 gui/options.cpp:1187 +#: gui/editgamedialog.cpp:282 gui/options.cpp:1282 msgctxt "lowres" msgid "Save Path:" msgstr "Partidas:" -#: gui/editgamedialog.cpp:301 gui/editgamedialog.cpp:400 -#: gui/editgamedialog.cpp:459 gui/editgamedialog.cpp:520 gui/options.cpp:1196 -#: gui/options.cpp:1204 gui/options.cpp:1213 gui/options.cpp:1414 -#: gui/options.cpp:1420 gui/options.cpp:1428 gui/options.cpp:1451 -#: gui/options.cpp:1467 gui/options.cpp:1473 gui/options.cpp:1480 -#: gui/options.cpp:1488 gui/options.cpp:1640 gui/options.cpp:1643 -#: gui/options.cpp:1650 gui/options.cpp:1660 +#: gui/editgamedialog.cpp:301 gui/editgamedialog.cpp:398 +#: gui/editgamedialog.cpp:457 gui/editgamedialog.cpp:518 gui/options.cpp:1291 +#: gui/options.cpp:1299 gui/options.cpp:1308 gui/options.cpp:1488 +#: gui/options.cpp:1494 gui/options.cpp:1502 gui/options.cpp:1525 +#: gui/options.cpp:1554 gui/options.cpp:1560 gui/options.cpp:1567 +#: gui/options.cpp:1575 gui/options.cpp:1758 gui/options.cpp:1761 +#: gui/options.cpp:1768 gui/options.cpp:1778 msgctxt "path" msgid "None" msgstr "Ninguna" -#: gui/editgamedialog.cpp:306 gui/editgamedialog.cpp:406 -#: gui/editgamedialog.cpp:524 gui/options.cpp:1408 gui/options.cpp:1461 -#: gui/options.cpp:1646 backends/platform/wii/options.cpp:56 +#: gui/editgamedialog.cpp:306 gui/editgamedialog.cpp:404 +#: gui/editgamedialog.cpp:522 gui/options.cpp:1482 gui/options.cpp:1548 +#: gui/options.cpp:1764 backends/platform/wii/options.cpp:56 msgid "Default" msgstr "Por defecto" -#: gui/editgamedialog.cpp:452 gui/options.cpp:1654 +#: gui/editgamedialog.cpp:450 gui/options.cpp:1772 msgid "Select SoundFont" msgstr "Selecciona un SoundFont" -#: gui/editgamedialog.cpp:491 +#: gui/editgamedialog.cpp:489 msgid "Select additional game directory" msgstr "Selecciona el directorio adicional" -#: gui/editgamedialog.cpp:504 gui/options.cpp:1577 +#: gui/editgamedialog.cpp:502 gui/options.cpp:1695 msgid "Select directory for saved games" msgstr "Selecciona el directorio para partidas guardadas" -#: gui/editgamedialog.cpp:510 +#: gui/editgamedialog.cpp:508 msgid "" "Saved games sync feature doesn't work with non-default directories. If you " "want your saved games to sync, use default directory." @@ -417,7 +418,7 @@ msgstr "" "Para que la sincronización de partidas guardadas funcione, es necesario " "utilizar el directorio predeterminado." -#: gui/editgamedialog.cpp:536 +#: gui/editgamedialog.cpp:534 msgid "This game ID is already taken. Please choose another one." msgstr "Esta ID ya estį en uso. Elige otra." @@ -497,7 +498,7 @@ msgstr "Seno" msgid "Triangle" msgstr "Triįngulo" -#: gui/fluidsynth-dialog.cpp:138 gui/options.cpp:1221 +#: gui/fluidsynth-dialog.cpp:138 gui/options.cpp:1316 msgid "Misc" msgstr "Otras" @@ -547,15 +548,15 @@ msgstr "Cerrar" msgid "Mouse click" msgstr "Clic de ratón" -#: gui/gui-manager.cpp:126 base/main.cpp:337 +#: gui/gui-manager.cpp:126 base/main.cpp:340 msgid "Display keyboard" msgstr "Mostrar el teclado" -#: gui/gui-manager.cpp:130 base/main.cpp:341 +#: gui/gui-manager.cpp:130 base/main.cpp:344 msgid "Remap keys" msgstr "Asignar teclas" -#: gui/gui-manager.cpp:133 base/main.cpp:344 engines/scumm/help.cpp:87 +#: gui/gui-manager.cpp:133 base/main.cpp:347 engines/scumm/help.cpp:87 msgid "Toggle fullscreen" msgstr "Activar/Desactivar pantalla completa" @@ -589,110 +590,110 @@ msgstr "Pulsa una tecla para asignarla" msgid "Choose an action to map" msgstr "Elige una acción para asociarla" -#: gui/launcher.cpp:117 engines/dialogs.cpp:111 engines/mohawk/dialogs.cpp:98 +#: gui/launcher.cpp:141 engines/dialogs.cpp:111 engines/mohawk/dialogs.cpp:98 msgid "~Q~uit" msgstr "~S~alir" -#: gui/launcher.cpp:117 backends/platform/sdl/macosx/appmenu_osx.mm:106 +#: gui/launcher.cpp:141 backends/platform/sdl/macosx/appmenu_osx.mm:106 msgid "Quit ScummVM" msgstr "Salir de ScummVM" -#: gui/launcher.cpp:118 +#: gui/launcher.cpp:142 msgid "A~b~out..." msgstr "Acerca ~d~e" -#: gui/launcher.cpp:118 backends/platform/sdl/macosx/appmenu_osx.mm:80 +#: gui/launcher.cpp:142 backends/platform/sdl/macosx/appmenu_osx.mm:80 msgid "About ScummVM" msgstr "Acerca de ScummVM" -#: gui/launcher.cpp:119 +#: gui/launcher.cpp:143 msgid "~O~ptions..." msgstr "~O~pciones..." -#: gui/launcher.cpp:119 +#: gui/launcher.cpp:143 msgid "Change global ScummVM options" msgstr "Cambiar opciones generales de ScummVM" -#: gui/launcher.cpp:121 +#: gui/launcher.cpp:145 msgid "~S~tart" msgstr "~J~ugar" -#: gui/launcher.cpp:121 +#: gui/launcher.cpp:145 msgid "Start selected game" msgstr "Jugar al juego seleccionado" -#: gui/launcher.cpp:124 +#: gui/launcher.cpp:148 msgid "~L~oad..." msgstr "~C~argar..." -#: gui/launcher.cpp:124 +#: gui/launcher.cpp:148 msgid "Load saved game for selected game" msgstr "Cargar partida del juego seleccionado" -#: gui/launcher.cpp:129 +#: gui/launcher.cpp:153 msgid "~A~dd Game..." msgstr "~A~ńadir juego..." -#: gui/launcher.cpp:129 gui/launcher.cpp:136 +#: gui/launcher.cpp:153 gui/launcher.cpp:160 msgid "Hold Shift for Mass Add" msgstr "Mantén pulsado Mayśs para ańadir varios juegos" -#: gui/launcher.cpp:131 +#: gui/launcher.cpp:155 msgid "~E~dit Game..." msgstr "~E~ditar juego..." -#: gui/launcher.cpp:131 gui/launcher.cpp:138 +#: gui/launcher.cpp:155 gui/launcher.cpp:162 msgid "Change game options" msgstr "Cambiar opciones de juego" -#: gui/launcher.cpp:133 +#: gui/launcher.cpp:157 msgid "~R~emove Game" msgstr "E~l~iminar juego" -#: gui/launcher.cpp:133 gui/launcher.cpp:140 +#: gui/launcher.cpp:157 gui/launcher.cpp:164 msgid "Remove game from the list. The game data files stay intact" msgstr "Eliminar el juego de la lista. Los archivos no se borran" -#: gui/launcher.cpp:136 +#: gui/launcher.cpp:160 msgctxt "lowres" msgid "~A~dd Game..." msgstr "~A~ńadir..." -#: gui/launcher.cpp:138 +#: gui/launcher.cpp:162 msgctxt "lowres" msgid "~E~dit Game..." msgstr "~E~ditar..." -#: gui/launcher.cpp:140 +#: gui/launcher.cpp:164 msgctxt "lowres" msgid "~R~emove Game" msgstr "E~l~iminar" -#: gui/launcher.cpp:148 +#: gui/launcher.cpp:172 msgid "Search in game list" msgstr "Buscar en la lista de juegos" -#: gui/launcher.cpp:152 gui/launcher.cpp:750 +#: gui/launcher.cpp:176 gui/launcher.cpp:771 msgid "Search:" msgstr "Buscar:" -#: gui/launcher.cpp:176 engines/dialogs.cpp:115 engines/cruise/menu.cpp:214 -#: engines/mohawk/dialogs.cpp:103 engines/mohawk/riven.cpp:733 +#: gui/launcher.cpp:200 engines/dialogs.cpp:115 engines/cruise/menu.cpp:214 +#: engines/mohawk/dialogs.cpp:103 engines/mohawk/riven.cpp:734 #: engines/pegasus/pegasus.cpp:353 engines/tsage/scenes.cpp:601 msgid "Load game:" msgstr "Cargar juego:" -#: gui/launcher.cpp:176 engines/dialogs.cpp:115 +#: gui/launcher.cpp:200 engines/dialogs.cpp:115 #: backends/platform/wince/CEActionsPocket.cpp:267 #: backends/platform/wince/CEActionsSmartphone.cpp:231 #: engines/cruise/menu.cpp:214 engines/mohawk/dialogs.cpp:103 -#: engines/mohawk/riven.cpp:733 engines/parallaction/saveload.cpp:194 +#: engines/mohawk/riven.cpp:734 engines/parallaction/saveload.cpp:194 #: engines/pegasus/pegasus.cpp:353 engines/scumm/dialogs.cpp:185 #: engines/tsage/scenes.cpp:601 msgid "Load" msgstr "Cargar" -#: gui/launcher.cpp:285 +#: gui/launcher.cpp:306 msgid "" "Do you really want to run the mass game detector? This could potentially add " "a huge number of games." @@ -700,42 +701,42 @@ msgstr "" "æSeguro que quieres ejecutar la detección masiva? Puede que se ańada un gran " "nśmero de juegos." -#: gui/launcher.cpp:344 +#: gui/launcher.cpp:365 msgid "This directory cannot be used yet, it is being downloaded into!" msgstr "" "Este directorio se estį utilizando para una descarga y todavķa no puede " "usarse." -#: gui/launcher.cpp:394 +#: gui/launcher.cpp:415 msgid "Do you really want to remove this game configuration?" msgstr "æSeguro que quieres eliminar la configuración de este juego?" -#: gui/launcher.cpp:452 +#: gui/launcher.cpp:473 msgid "Do you want to load saved game?" msgstr "æQuieres cargar la partida guardada?" -#: gui/launcher.cpp:501 +#: gui/launcher.cpp:522 msgid "This game does not support loading games from the launcher." msgstr "Este juego no permite cargar partidas desde el lanzador." -#: gui/launcher.cpp:505 +#: gui/launcher.cpp:526 msgid "ScummVM could not find any engine capable of running the selected game!" msgstr "" "ScummVM no ha podido encontrar ningśn motor capaz de ejecutar el juego." -#: gui/launcher.cpp:556 +#: gui/launcher.cpp:577 msgid "ScummVM could not find any game in the specified directory!" msgstr "ScummVM no ha encontrado ningśn juego en el directorio." -#: gui/launcher.cpp:569 +#: gui/launcher.cpp:590 msgid "Pick the game:" msgstr "Elige el juego:" -#: gui/launcher.cpp:687 +#: gui/launcher.cpp:708 msgid "Mass Add..." msgstr "Ańadir varios..." -#: gui/launcher.cpp:689 +#: gui/launcher.cpp:710 msgid "Record..." msgstr "Grabar..." @@ -778,149 +779,149 @@ msgstr "Volver al juego" msgid "Fast replay" msgstr "Repetición rįpida" -#: gui/options.cpp:112 common/updates.cpp:56 +#: gui/options.cpp:119 common/updates.cpp:56 msgid "Never" msgstr "Nunca" -#: gui/options.cpp:112 +#: gui/options.cpp:119 msgid "every 5 mins" msgstr "cada 5 minutos" -#: gui/options.cpp:112 +#: gui/options.cpp:119 msgid "every 10 mins" msgstr "cada 10 minutos" -#: gui/options.cpp:112 +#: gui/options.cpp:119 msgid "every 15 mins" msgstr "cada 15 minutos" -#: gui/options.cpp:112 +#: gui/options.cpp:119 msgid "every 30 mins" msgstr "cada 30 minutos" -#: gui/options.cpp:114 +#: gui/options.cpp:121 msgid "8 kHz" msgstr "8 kHz" -#: gui/options.cpp:114 +#: gui/options.cpp:121 msgid "11 kHz" msgstr "11 kHz" -#: gui/options.cpp:114 +#: gui/options.cpp:121 msgid "22 kHz" msgstr "22 kHz" -#: gui/options.cpp:114 +#: gui/options.cpp:121 msgid "44 kHz" msgstr "44 kHz" -#: gui/options.cpp:114 +#: gui/options.cpp:121 msgid "48 kHz" msgstr "48 kHz" -#: gui/options.cpp:291 gui/options.cpp:528 gui/options.cpp:629 -#: gui/options.cpp:699 gui/options.cpp:910 +#: gui/options.cpp:289 gui/options.cpp:552 gui/options.cpp:657 +#: gui/options.cpp:726 gui/options.cpp:937 msgctxt "soundfont" msgid "None" msgstr "Ninguno" -#: gui/options.cpp:432 +#: gui/options.cpp:456 msgid "Failed to apply some of the graphic options changes:" msgstr "Fallo al aplicar algunos cambios en las opciones grįficas:" -#: gui/options.cpp:444 +#: gui/options.cpp:468 msgid "the video mode could not be changed." msgstr "no se ha podido cambiar el modo de vķdeo." -#: gui/options.cpp:450 +#: gui/options.cpp:474 msgid "the aspect ratio setting could not be changed" msgstr "no se ha podido cambiar el ajuste de corrección de aspecto" -#: gui/options.cpp:456 +#: gui/options.cpp:480 msgid "the fullscreen setting could not be changed" msgstr "no se ha podido cambiar el ajuste de pantalla completa" -#: gui/options.cpp:462 +#: gui/options.cpp:486 #, fuzzy msgid "the filtering setting could not be changed" msgstr "no se ha podido cambiar el ajuste de pantalla completa" -#: gui/options.cpp:782 +#: gui/options.cpp:809 msgid "Graphics mode:" msgstr "Modo grįfico:" -#: gui/options.cpp:796 +#: gui/options.cpp:823 msgid "Render mode:" msgstr "Renderizado:" -#: gui/options.cpp:796 gui/options.cpp:797 +#: gui/options.cpp:823 gui/options.cpp:824 msgid "Special dithering modes supported by some games" msgstr "Modos especiales de difuminado compatibles con algunos juegos" -#: gui/options.cpp:808 -#: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:2450 +#: gui/options.cpp:835 backends/graphics/openglsdl/openglsdl-graphics.cpp:615 +#: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:2460 msgid "Fullscreen mode" msgstr "Pantalla completa" -#: gui/options.cpp:811 +#: gui/options.cpp:838 #, fuzzy msgid "Filter graphics" msgstr "Usar grįficos en color" -#: gui/options.cpp:811 +#: gui/options.cpp:838 msgid "Use linear filtering when scaling graphics" msgstr "" -#: gui/options.cpp:814 +#: gui/options.cpp:841 msgid "Aspect ratio correction" msgstr "Corrección de aspecto" -#: gui/options.cpp:814 +#: gui/options.cpp:841 msgid "Correct aspect ratio for 320x200 games" msgstr "Corregir relación de aspecto en juegos 320x200" -#: gui/options.cpp:822 +#: gui/options.cpp:849 msgid "Preferred Device:" msgstr "Disp. preferido:" -#: gui/options.cpp:822 +#: gui/options.cpp:849 msgid "Music Device:" msgstr "Disp. de mśsica:" -#: gui/options.cpp:822 gui/options.cpp:824 +#: gui/options.cpp:849 gui/options.cpp:851 msgid "Specifies preferred sound device or sound card emulator" msgstr "" "Especifica qué dispositivo de sonido o emulador de tarjeta de sonido " "prefieres" -#: gui/options.cpp:822 gui/options.cpp:824 gui/options.cpp:825 +#: gui/options.cpp:849 gui/options.cpp:851 gui/options.cpp:852 msgid "Specifies output sound device or sound card emulator" msgstr "" "Especifica el dispositivo de sonido o emulador de tarjeta de sonido de salida" -#: gui/options.cpp:824 +#: gui/options.cpp:851 msgctxt "lowres" msgid "Preferred Dev.:" msgstr "Disp. preferido:" -#: gui/options.cpp:824 +#: gui/options.cpp:851 msgctxt "lowres" msgid "Music Device:" msgstr "Disp. de mśsica:" -#: gui/options.cpp:851 +#: gui/options.cpp:878 msgid "AdLib emulator:" msgstr "Emul. de AdLib:" -#: gui/options.cpp:851 gui/options.cpp:852 +#: gui/options.cpp:878 gui/options.cpp:879 msgid "AdLib is used for music in many games" msgstr "AdLib se usa para la mśsica en muchos juegos" -#: gui/options.cpp:862 +#: gui/options.cpp:889 msgid "Output rate:" msgstr "Frec. de salida:" -#: gui/options.cpp:862 gui/options.cpp:863 +#: gui/options.cpp:889 gui/options.cpp:890 msgid "" "Higher value specifies better sound quality but may be not supported by your " "soundcard" @@ -928,64 +929,64 @@ msgstr "" "Los valores mįs altos ofrecen mayor calidad, pero puede que tu tarjeta de " "sonido no sea compatible" -#: gui/options.cpp:873 +#: gui/options.cpp:900 msgid "GM Device:" msgstr "Dispositivo GM:" -#: gui/options.cpp:873 +#: gui/options.cpp:900 msgid "Specifies default sound device for General MIDI output" msgstr "Especifica el dispositivo de salida General MIDI por defecto" -#: gui/options.cpp:884 +#: gui/options.cpp:911 msgid "Don't use General MIDI music" msgstr "No usar mśsica General MIDI" -#: gui/options.cpp:895 gui/options.cpp:957 +#: gui/options.cpp:922 gui/options.cpp:984 msgid "Use first available device" msgstr "Utilizar el primer dispositivo disponible" -#: gui/options.cpp:907 +#: gui/options.cpp:934 msgid "SoundFont:" msgstr "SoundFont:" -#: gui/options.cpp:907 gui/options.cpp:909 gui/options.cpp:910 +#: gui/options.cpp:934 gui/options.cpp:936 gui/options.cpp:937 msgid "SoundFont is supported by some audio cards, FluidSynth and Timidity" msgstr "" "SoundFont es compatible con algunas tarjetas de sonido, con FluidSynth y con " "Timidity" -#: gui/options.cpp:909 +#: gui/options.cpp:936 msgctxt "lowres" msgid "SoundFont:" msgstr "SoundFont:" -#: gui/options.cpp:915 +#: gui/options.cpp:942 msgid "Mixed AdLib/MIDI mode" msgstr "Modo AdLib/MIDI" -#: gui/options.cpp:915 +#: gui/options.cpp:942 msgid "Use both MIDI and AdLib sound generation" msgstr "Usar tanto MIDI como AdLib en la generación de sonido" -#: gui/options.cpp:918 +#: gui/options.cpp:945 msgid "MIDI gain:" msgstr "Ganancia MIDI:" -#: gui/options.cpp:928 +#: gui/options.cpp:955 msgid "MT-32 Device:" msgstr "Disp. MT-32:" -#: gui/options.cpp:928 +#: gui/options.cpp:955 msgid "Specifies default sound device for Roland MT-32/LAPC1/CM32l/CM64 output" msgstr "" "Especifica el dispositivo de sonido para la salida Roland MT-32/LAPC1/CM32l/" "CM64 por defecto" -#: gui/options.cpp:933 +#: gui/options.cpp:960 msgid "True Roland MT-32 (disable GM emulation)" msgstr "Roland MT-32 auténtica (desactivar emulación GM)" -#: gui/options.cpp:933 gui/options.cpp:935 +#: gui/options.cpp:960 gui/options.cpp:962 msgid "" "Check if you want to use your real hardware Roland-compatible sound device " "connected to your computer" @@ -993,16 +994,16 @@ msgstr "" "Marcar si se quiere usar un dispositivo de sonido real conectado al " "ordenador y compatible con Roland" -#: gui/options.cpp:935 +#: gui/options.cpp:962 msgctxt "lowres" msgid "True Roland MT-32 (no GM emulation)" msgstr "Roland MT-32 real (sin emulación GM)" -#: gui/options.cpp:938 +#: gui/options.cpp:965 msgid "Roland GS Device (enable MT-32 mappings)" msgstr "Dispositivo Roland GS (activar conversión MT-32)" -#: gui/options.cpp:938 +#: gui/options.cpp:965 msgid "" "Check if you want to enable patch mappings to emulate an MT-32 on a Roland " "GS device" @@ -1010,266 +1011,266 @@ msgstr "" "Marca esta opción si quieres activar la conversión para emular una MT-32 en " "un dispositivo Roland GS" -#: gui/options.cpp:947 +#: gui/options.cpp:974 msgid "Don't use Roland MT-32 music" msgstr "No usar mśsica Roland MT-32" -#: gui/options.cpp:974 +#: gui/options.cpp:1001 msgid "Text and Speech:" msgstr "Texto y voces:" -#: gui/options.cpp:978 gui/options.cpp:988 +#: gui/options.cpp:1005 gui/options.cpp:1015 msgid "Speech" msgstr "Voces" -#: gui/options.cpp:979 gui/options.cpp:989 +#: gui/options.cpp:1006 gui/options.cpp:1016 msgid "Subtitles" msgstr "Subtķtulos" -#: gui/options.cpp:980 +#: gui/options.cpp:1007 msgid "Both" msgstr "Ambos" -#: gui/options.cpp:982 +#: gui/options.cpp:1009 msgid "Subtitle speed:" msgstr "Vel. de subtķtulos:" -#: gui/options.cpp:984 +#: gui/options.cpp:1011 msgctxt "lowres" msgid "Text and Speech:" msgstr "Texto y voces:" -#: gui/options.cpp:988 +#: gui/options.cpp:1015 msgid "Spch" msgstr "Voz" -#: gui/options.cpp:989 +#: gui/options.cpp:1016 msgid "Subs" msgstr "Subt" -#: gui/options.cpp:990 +#: gui/options.cpp:1017 msgctxt "lowres" msgid "Both" msgstr "V&S" -#: gui/options.cpp:990 +#: gui/options.cpp:1017 msgid "Show subtitles and play speech" msgstr "Reproducir voces y subtķtulos" -#: gui/options.cpp:992 +#: gui/options.cpp:1019 msgctxt "lowres" msgid "Subtitle speed:" msgstr "Vel. de subt.:" -#: gui/options.cpp:1008 +#: gui/options.cpp:1035 msgid "Music volume:" msgstr "Mśsica:" -#: gui/options.cpp:1010 +#: gui/options.cpp:1037 msgctxt "lowres" msgid "Music volume:" msgstr "Mśsica:" -#: gui/options.cpp:1017 +#: gui/options.cpp:1044 msgid "Mute All" msgstr "Silenciar" -#: gui/options.cpp:1020 +#: gui/options.cpp:1047 msgid "SFX volume:" msgstr "Efectos:" -#: gui/options.cpp:1020 gui/options.cpp:1022 gui/options.cpp:1023 +#: gui/options.cpp:1047 gui/options.cpp:1049 gui/options.cpp:1050 msgid "Special sound effects volume" msgstr "Volumen de los efectos de sonido" -#: gui/options.cpp:1022 +#: gui/options.cpp:1049 msgctxt "lowres" msgid "SFX volume:" msgstr "Efectos:" -#: gui/options.cpp:1030 +#: gui/options.cpp:1057 msgid "Speech volume:" msgstr "Voces:" -#: gui/options.cpp:1032 +#: gui/options.cpp:1059 msgctxt "lowres" msgid "Speech volume:" msgstr "Voces:" -#: gui/options.cpp:1162 +#: gui/options.cpp:1257 msgid "FluidSynth Settings" msgstr "Opciones de FluidSynth" -#: gui/options.cpp:1193 +#: gui/options.cpp:1288 msgid "Theme Path:" msgstr "Temas:" -#: gui/options.cpp:1195 +#: gui/options.cpp:1290 msgctxt "lowres" msgid "Theme Path:" msgstr "Temas:" -#: gui/options.cpp:1201 gui/options.cpp:1203 gui/options.cpp:1204 +#: gui/options.cpp:1296 gui/options.cpp:1298 gui/options.cpp:1299 msgid "Specifies path to additional data used by all games or ScummVM" msgstr "Especifica el directorio adicional usado por los juegos y ScummVM" -#: gui/options.cpp:1210 +#: gui/options.cpp:1305 msgid "Plugins Path:" msgstr "Plugins:" -#: gui/options.cpp:1212 +#: gui/options.cpp:1307 msgctxt "lowres" msgid "Plugins Path:" msgstr "Plugins:" -#: gui/options.cpp:1223 +#: gui/options.cpp:1318 msgctxt "lowres" msgid "Misc" msgstr "Otras" -#: gui/options.cpp:1225 +#: gui/options.cpp:1320 msgid "Theme:" msgstr "Tema:" -#: gui/options.cpp:1229 +#: gui/options.cpp:1324 msgid "GUI Renderer:" msgstr "Interfaz:" -#: gui/options.cpp:1241 +#: gui/options.cpp:1336 msgid "Autosave:" msgstr "Autoguardado:" -#: gui/options.cpp:1243 +#: gui/options.cpp:1338 msgctxt "lowres" msgid "Autosave:" msgstr "Autoguardado:" -#: gui/options.cpp:1251 +#: gui/options.cpp:1346 msgid "Keys" msgstr "Teclas" -#: gui/options.cpp:1258 +#: gui/options.cpp:1353 msgid "GUI Language:" msgstr "Idioma:" -#: gui/options.cpp:1258 +#: gui/options.cpp:1353 msgid "Language of ScummVM GUI" msgstr "Idioma de la interfaz de ScummVM" -#: gui/options.cpp:1286 +#: gui/options.cpp:1381 msgid "Update check:" msgstr "Buscar actualizaciones:" -#: gui/options.cpp:1286 +#: gui/options.cpp:1381 msgid "How often to check ScummVM updates" msgstr "Frecuencia con la que se buscan actualizaciones" -#: gui/options.cpp:1298 +#: gui/options.cpp:1393 msgid "Check now" msgstr "Buscar ahora" -#: gui/options.cpp:1306 +#: gui/options.cpp:1401 msgid "Cloud" msgstr "Nube" -#: gui/options.cpp:1308 +#: gui/options.cpp:1403 msgctxt "lowres" msgid "Cloud" msgstr "Nube" -#: gui/options.cpp:1319 +#: gui/options.cpp:1408 msgid "Storage:" msgstr "Almacenamiento:" -#: gui/options.cpp:1319 +#: gui/options.cpp:1408 msgid "Active cloud storage" msgstr "Almacenamiento activo" -#: gui/options.cpp:1326 gui/options.cpp:1877 +#: gui/options.cpp:1415 gui/options.cpp:1972 msgid "<none>" msgstr "<ninguno>" -#: gui/options.cpp:1330 backends/platform/wii/options.cpp:114 +#: gui/options.cpp:1419 backends/platform/wii/options.cpp:114 msgid "Username:" msgstr "Usuario:" -#: gui/options.cpp:1330 +#: gui/options.cpp:1419 msgid "Username used by this storage" msgstr "Nombre de usuario utilizado para este almacenamiento" -#: gui/options.cpp:1333 +#: gui/options.cpp:1422 msgid "Used space:" msgstr "Espacio utilizado:" -#: gui/options.cpp:1333 +#: gui/options.cpp:1422 msgid "Space used by ScummVM's saved games on this storage" msgstr "Espacio utilizado para las partidas guardadas en este almacenamiento" -#: gui/options.cpp:1336 +#: gui/options.cpp:1425 msgid "Last sync time:" msgstr "Śltima sincronización:" -#: gui/options.cpp:1336 +#: gui/options.cpp:1425 msgid "When the last saved games sync for this storage occured" msgstr "Cuįndo se ha producido la śltima sincronización de partidas guardadas" -#: gui/options.cpp:1339 gui/storagewizarddialog.cpp:71 +#: gui/options.cpp:1428 gui/storagewizarddialog.cpp:71 msgid "Connect" msgstr "Conectar" -#: gui/options.cpp:1339 +#: gui/options.cpp:1428 msgid "Open wizard dialog to connect your cloud storage account" msgstr "" "Abrir el asistente de configuración para habilitar el almacenamiento en lķnea" -#: gui/options.cpp:1340 +#: gui/options.cpp:1429 msgid "Refresh" msgstr "Refrescar" -#: gui/options.cpp:1340 +#: gui/options.cpp:1429 msgid "Refresh current cloud storage information (username and usage)" msgstr "" "Refrescar la información del almacenamiento en lķnea (nombre de usuario y " "espacio)" -#: gui/options.cpp:1341 +#: gui/options.cpp:1430 msgid "Download" msgstr "Descargar" -#: gui/options.cpp:1341 +#: gui/options.cpp:1430 msgid "Open downloads manager dialog" msgstr "Abrir el gestor de descargas" -#: gui/options.cpp:1343 +#: gui/options.cpp:1432 msgid "Run server" msgstr "Habilitar servidor" -#: gui/options.cpp:1343 +#: gui/options.cpp:1432 msgid "Run local webserver" msgstr "Habilitar el servidor local" -#: gui/options.cpp:1344 gui/options.cpp:1987 +#: gui/options.cpp:1433 gui/options.cpp:2082 msgid "Not running" msgstr "Detenido" -#: gui/options.cpp:1348 +#: gui/options.cpp:1437 msgid "/root/ Path:" msgstr "Directorio /raķz/:" -#: gui/options.cpp:1348 gui/options.cpp:1350 gui/options.cpp:1351 +#: gui/options.cpp:1437 gui/options.cpp:1439 gui/options.cpp:1440 msgid "Specifies which directory the Files Manager can access" msgstr "Especifica los directorios accesibles para el gestor de archivos" -#: gui/options.cpp:1350 +#: gui/options.cpp:1439 msgctxt "lowres" msgid "/root/ Path:" msgstr " /raķz/:" -#: gui/options.cpp:1360 +#: gui/options.cpp:1449 msgid "Server's port:" msgstr "Puerto del servidor:" -#: gui/options.cpp:1360 +#: gui/options.cpp:1449 msgid "" "Which port is used by the server\n" "Auth with server is not available with non-default port" @@ -1277,68 +1278,68 @@ msgstr "" "Puerto utilizado por el servidor\n" "La autentificación solo es posible con el puerto predeterminado" -#: gui/options.cpp:1520 -msgid "You have to restart ScummVM before your changes will take effect." -msgstr "Tienes que reiniciar ScummVM para aplicar los cambios." +#: gui/options.cpp:1462 +msgid "Apply" +msgstr "" -#: gui/options.cpp:1543 +#: gui/options.cpp:1628 msgid "Failed to change cloud storage!" msgstr "Fallo al cambiar el almacenamiento en lķnea" -#: gui/options.cpp:1546 +#: gui/options.cpp:1631 msgid "Another cloud storage is already active." msgstr "Ya se ha habilitado otro almacenamiento en lķnea" -#: gui/options.cpp:1584 +#: gui/options.cpp:1667 +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 "" +"El tema seleccionado no es compatible con el idioma actual. Si quieres usar " +"este tema debes cambiar a otro idioma primero." + +#: gui/options.cpp:1702 msgid "The chosen directory cannot be written to. Please select another one." msgstr "No se puede escribir en el directorio elegido. Selecciona otro." -#: gui/options.cpp:1593 +#: gui/options.cpp:1711 msgid "Select directory for GUI themes" msgstr "Selecciona el directorio de temas" -#: gui/options.cpp:1603 +#: gui/options.cpp:1721 msgid "Select directory for extra files" msgstr "Selecciona el directorio adicional" -#: gui/options.cpp:1614 +#: gui/options.cpp:1732 msgid "Select directory for plugins" msgstr "Selecciona el directorio de plugins" -#: gui/options.cpp:1626 +#: gui/options.cpp:1744 msgid "Select directory for Files Manager /root/" msgstr "Selecciona el directorio /raķz/ para el gestor de archivos" -#: gui/options.cpp:1688 -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 "" -"El tema seleccionado no es compatible con el idioma actual. Si quieres usar " -"este tema debes cambiar a otro idioma primero." - -#: gui/options.cpp:1884 +#: gui/options.cpp:1979 #, c-format msgid "%llu bytes" msgstr "%llu bytes" -#: gui/options.cpp:1892 +#: gui/options.cpp:1987 msgid "<right now>" msgstr "<ahora>" -#: gui/options.cpp:1894 +#: gui/options.cpp:1989 msgid "<never>" msgstr "<nunca>" -#: gui/options.cpp:1978 +#: gui/options.cpp:2073 msgid "Stop server" msgstr "Detener servidor" -#: gui/options.cpp:1979 +#: gui/options.cpp:2074 msgid "Stop local webserver" msgstr "Detener el servidor local" -#: gui/options.cpp:2068 +#: gui/options.cpp:2163 msgid "" "Request failed.\n" "Check your Internet connection." @@ -1614,35 +1615,35 @@ msgstr "Aplicar" msgid "Clear value" msgstr "Eliminar valor" -#: base/main.cpp:250 +#: base/main.cpp:253 #, c-format msgid "Engine does not support debug level '%s'" msgstr "El motor no es compatible con el nivel de debug '%s'" -#: base/main.cpp:324 +#: base/main.cpp:327 msgid "Menu" msgstr "Menś" -#: base/main.cpp:327 backends/platform/symbian/src/SymbianActions.cpp:45 +#: base/main.cpp:330 backends/platform/symbian/src/SymbianActions.cpp:45 #: backends/platform/wince/CEActionsPocket.cpp:45 #: backends/platform/wince/CEActionsSmartphone.cpp:46 msgid "Skip" msgstr "Saltar" -#: base/main.cpp:330 backends/platform/symbian/src/SymbianActions.cpp:50 +#: base/main.cpp:333 backends/platform/symbian/src/SymbianActions.cpp:50 #: backends/platform/wince/CEActionsPocket.cpp:42 msgid "Pause" msgstr "Pausar" -#: base/main.cpp:333 +#: base/main.cpp:336 msgid "Skip line" msgstr "Saltar frase" -#: base/main.cpp:542 +#: base/main.cpp:547 msgid "Error running game:" msgstr "Error al ejecutar el juego:" -#: base/main.cpp:589 +#: base/main.cpp:594 msgid "Could not find any engine capable of running the selected game" msgstr "No se ha podido encontrar ningśn motor capaz de ejecutar el juego" @@ -2018,11 +2019,11 @@ msgstr "FM-Towns Audio" msgid "PC-98 Audio" msgstr "PC-98 Audio" -#: audio/softsynth/mt32.cpp:196 +#: audio/softsynth/mt32.cpp:197 msgid "Initializing MT-32 Emulator" msgstr "Iniciando el emulador de MT-32" -#: audio/softsynth/mt32.cpp:434 +#: audio/softsynth/mt32.cpp:435 msgid "MT-32 Emulator" msgstr "Emulador de MT-32" @@ -2038,15 +2039,15 @@ msgstr "Emulador de IBM PCjr" msgid "C64 Audio Emulator" msgstr "Emulador de C64 Audio" -#: backends/cloud/storage.cpp:210 +#: backends/cloud/storage.cpp:211 msgid "Saved games sync complete." msgstr "Se ha completado la sincronización." -#: backends/cloud/storage.cpp:221 +#: backends/cloud/storage.cpp:222 msgid "Saved games sync was cancelled." msgstr "La sincronización se ha cancelado." -#: backends/cloud/storage.cpp:223 +#: backends/cloud/storage.cpp:224 msgid "" "Saved games sync failed.\n" "Check your Internet connection." @@ -2054,7 +2055,7 @@ msgstr "" "La sincronización ha fallado.\n" "Comprueba tu conexión." -#: backends/cloud/storage.cpp:327 +#: backends/cloud/storage.cpp:328 #, c-format msgid "" "Download complete.\n" @@ -2063,11 +2064,11 @@ msgstr "" "Descarga completada.\n" "No se han podido descargar %u archivos." -#: backends/cloud/storage.cpp:329 +#: backends/cloud/storage.cpp:330 msgid "Download complete." msgstr "Descarga completada." -#: backends/cloud/storage.cpp:339 +#: backends/cloud/storage.cpp:340 msgid "Download failed." msgstr "La descarga ha fallado." @@ -2176,43 +2177,53 @@ msgstr "Desliza tres dedos hacia la derecha para cambiar de modo." msgid "OpenGL" msgstr "OpenGL" -#: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:47 -#: backends/graphics/wincesdl/wincesdl-graphics.cpp:88 -#: backends/graphics/wincesdl/wincesdl-graphics.cpp:95 -msgid "Normal (no scaling)" -msgstr "Normal (sin reescalado)" +#: backends/graphics/openglsdl/openglsdl-graphics.cpp:617 +#: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:2462 +msgid "Windowed mode" +msgstr "Modo ventana" -#: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:66 -msgctxt "lowres" -msgid "Normal (no scaling)" -msgstr "Normal" +#: backends/graphics/openglsdl/openglsdl-graphics.cpp:710 +#, c-format +msgid "Resolution: %dx%d" +msgstr "" -#: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:2329 +#: backends/graphics/openglsdl/openglsdl-graphics.cpp:731 +#: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:2338 msgid "Enabled aspect ratio correction" msgstr "Activar la corrección de aspecto" -#: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:2335 +#: backends/graphics/openglsdl/openglsdl-graphics.cpp:733 +#: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:2344 msgid "Disabled aspect ratio correction" msgstr "Desactivar la corrección de aspecto" -#: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:2353 +#: backends/graphics/openglsdl/openglsdl-graphics.cpp:753 +#: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:2362 #, fuzzy msgid "Filtering enabled" msgstr "Clic activado" -#: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:2355 +#: backends/graphics/openglsdl/openglsdl-graphics.cpp:755 +#: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:2364 #, fuzzy msgid "Filtering disabled" msgstr "Clic desactivado" -#: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:2407 +#: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:47 +#: backends/graphics/wincesdl/wincesdl-graphics.cpp:88 +#: backends/graphics/wincesdl/wincesdl-graphics.cpp:95 +msgid "Normal (no scaling)" +msgstr "Normal (sin reescalado)" + +#: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:66 +msgctxt "lowres" +msgid "Normal (no scaling)" +msgstr "Normal" + +#: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:2417 msgid "Active graphics filter:" msgstr "Filtro de grįficos activo:" -#: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:2452 -msgid "Windowed mode" -msgstr "Modo ventana" - #: backends/keymapper/remap-dialog.cpp:48 msgid "Keymap:" msgstr "Asignación de teclas:" @@ -3134,6 +3145,39 @@ msgstr "Menś ~p~rincipal" msgid "~W~ater Effect Enabled" msgstr "Efecto ag~u~a activado" +#: engines/mohawk/riven.cpp:150 +msgid "" +"You're missing a Riven executable. The Windows executable is 'riven.exe' or " +"'rivendmo.exe'. " +msgstr "" + +#: engines/mohawk/riven.cpp:151 +msgid "" +"Using the 'arcriven.z' installer file also works. In addition, you can use " +"the Mac 'Riven' executable." +msgstr "" + +#: engines/mohawk/riven.cpp:162 +msgid "" +"You're missing 'extras.mhk'. Using the 'arcriven.z' installer file also " +"works." +msgstr "" + +#: engines/mohawk/riven_external.cpp:213 +msgid "" +"Exploration beyond this point available only within the full version of\n" +"the game." +msgstr "" + +#: engines/mohawk/riven_external.cpp:655 +msgid "" +"At this point, the Riven Demo would\n" +"ask if you would like to open a web browser\n" +"to bring you to the Red Orb store to buy\n" +"the game. ScummVM cannot do that and\n" +"the site no longer exists." +msgstr "" + #: engines/mohawk/mohawk.cpp:61 msgid "The game is paused. Press any key to continue." msgstr "Juego pausado. Pulsa cualquier tecla para continuar." @@ -4272,6 +4316,9 @@ msgid "Use MPEG video from the DVD version, instead of lower resolution AVI" msgstr "" "Usar los vķdeos MPEG de la versión DVD, en vez de los AVI de baja resolución" +#~ msgid "You have to restart ScummVM before your changes will take effect." +#~ msgstr "Tienes que reiniciar ScummVM para aplicar los cambios." + #~ msgid "OpenGL (No filtering)" #~ msgstr "OpenGL (sin filtros)" @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: ScummVM 1.5.0git\n" "Report-Msgid-Bugs-To: scummvm-devel@lists.scummvm.org\n" -"POT-Creation-Date: 2016-10-12 23:37+0100\n" +"POT-Creation-Date: 2016-11-05 12:43+0100\n" "PO-Revision-Date: 2011-12-15 14:53+0100\n" "Last-Translator: Mikel Iturbe Urretxa <mikel@hamahiru.org>\n" "Language-Team: Librezale <librezale@librezale.org>\n" @@ -15,6 +15,7 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=iso-8859-1\n" "Content-Transfer-Encoding: 8bit\n" +"X-Language-name: Euskara\n" #: gui/about.cpp:94 #, c-format @@ -54,7 +55,7 @@ msgstr "Joan gora" #: gui/browser.cpp:75 gui/chooser.cpp:46 gui/editgamedialog.cpp:292 #: gui/editrecorddialog.cpp:67 gui/filebrowser-dialog.cpp:64 #: gui/fluidsynth-dialog.cpp:152 gui/KeysDialog.cpp:43 gui/massadd.cpp:95 -#: gui/options.cpp:1376 gui/predictivedialog.cpp:73 gui/recorderdialog.cpp:69 +#: gui/options.cpp:1461 gui/predictivedialog.cpp:73 gui/recorderdialog.cpp:69 #: gui/recorderdialog.cpp:155 gui/remotebrowser.cpp:59 #: gui/saveload-dialog.cpp:383 gui/saveload-dialog.cpp:443 #: gui/saveload-dialog.cpp:717 gui/saveload-dialog.cpp:1111 @@ -79,7 +80,7 @@ msgstr "Aukeratu" msgid "Select directory where to download game data" msgstr "Jokoaren direktorioa aukeratu" -#: gui/downloaddialog.cpp:49 gui/editgamedialog.cpp:472 gui/launcher.cpp:173 +#: gui/downloaddialog.cpp:49 gui/editgamedialog.cpp:470 gui/launcher.cpp:197 msgid "Select directory with game data" msgstr "Jokoaren direktorioa aukeratu" @@ -112,7 +113,7 @@ msgstr "" #: gui/downloaddialog.cpp:118 gui/downloaddialog.cpp:152 #: gui/filebrowser-dialog.cpp:132 gui/fluidsynth-dialog.cpp:217 -#: gui/launcher.cpp:286 gui/launcher.cpp:394 gui/launcher.cpp:453 +#: gui/launcher.cpp:307 gui/launcher.cpp:415 gui/launcher.cpp:474 #: gui/storagewizarddialog.cpp:112 #: backends/events/symbiansdl/symbiansdl-events.cpp:186 #: backends/platform/wince/CEActionsPocket.cpp:326 @@ -124,7 +125,7 @@ msgstr "Bai" #: gui/downloaddialog.cpp:118 gui/downloaddialog.cpp:153 #: gui/filebrowser-dialog.cpp:132 gui/fluidsynth-dialog.cpp:217 -#: gui/launcher.cpp:286 gui/launcher.cpp:394 gui/launcher.cpp:453 +#: gui/launcher.cpp:307 gui/launcher.cpp:415 gui/launcher.cpp:474 #: gui/storagewizarddialog.cpp:112 #: backends/events/symbiansdl/symbiansdl-events.cpp:186 #: backends/platform/wince/CEActionsPocket.cpp:326 @@ -134,7 +135,7 @@ msgstr "Bai" msgid "No" msgstr "Ez" -#: gui/downloaddialog.cpp:136 gui/launcher.cpp:544 +#: gui/downloaddialog.cpp:136 gui/launcher.cpp:565 msgid "ScummVM couldn't open the specified directory!" msgstr "ScummVM-k ezin izan du zehazturiko direktorioa ireki!" @@ -145,8 +146,8 @@ msgid "" msgstr "" #: gui/downloaddialog.cpp:146 gui/editgamedialog.cpp:293 -#: gui/fluidsynth-dialog.cpp:153 gui/KeysDialog.cpp:42 gui/launcher.cpp:501 -#: gui/launcher.cpp:505 gui/massadd.cpp:92 gui/options.cpp:1377 +#: gui/fluidsynth-dialog.cpp:153 gui/KeysDialog.cpp:42 gui/launcher.cpp:522 +#: gui/launcher.cpp:526 gui/massadd.cpp:92 gui/options.cpp:1463 #: gui/saveload-dialog.cpp:1112 engines/engine.cpp:477 engines/engine.cpp:488 #: backends/platform/wii/options.cpp:47 #: backends/platform/wince/CELauncherDialog.cpp:54 @@ -228,8 +229,8 @@ msgid "" msgstr "" "Jokoaren hizkuntza. Honek ez du zure ingelesezko bertsioa frantsesera pasako" -#: gui/editgamedialog.cpp:151 gui/editgamedialog.cpp:165 gui/options.cpp:114 -#: gui/options.cpp:785 gui/options.cpp:798 gui/options.cpp:1261 +#: gui/editgamedialog.cpp:151 gui/editgamedialog.cpp:165 gui/options.cpp:121 +#: gui/options.cpp:812 gui/options.cpp:825 gui/options.cpp:1356 #: audio/null.cpp:41 msgid "<default>" msgstr "<lehenetsia>" @@ -252,11 +253,11 @@ msgstr "Plataforma:" msgid "Engine" msgstr "Motorea" -#: gui/editgamedialog.cpp:184 gui/options.cpp:1120 gui/options.cpp:1137 +#: gui/editgamedialog.cpp:184 gui/options.cpp:1147 gui/options.cpp:1232 msgid "Graphics" msgstr "Grafikoak" -#: gui/editgamedialog.cpp:184 gui/options.cpp:1120 gui/options.cpp:1137 +#: gui/editgamedialog.cpp:184 gui/options.cpp:1147 gui/options.cpp:1232 msgid "GFX" msgstr "GFX" @@ -269,7 +270,7 @@ msgctxt "lowres" msgid "Override global graphic settings" msgstr "Ezarpen grafiko globalak baliogabetu" -#: gui/editgamedialog.cpp:196 gui/options.cpp:1143 +#: gui/editgamedialog.cpp:196 gui/options.cpp:1238 msgid "Audio" msgstr "Soinua" @@ -282,11 +283,11 @@ msgctxt "lowres" msgid "Override global audio settings" msgstr "Soinu ezarpen globalak baliogabetu" -#: gui/editgamedialog.cpp:210 gui/options.cpp:1148 +#: gui/editgamedialog.cpp:210 gui/options.cpp:1243 msgid "Volume" msgstr "Bolumena" -#: gui/editgamedialog.cpp:212 gui/options.cpp:1150 +#: gui/editgamedialog.cpp:212 gui/options.cpp:1245 msgctxt "lowres" msgid "Volume" msgstr "Bolumena" @@ -300,7 +301,7 @@ msgctxt "lowres" msgid "Override global volume settings" msgstr "Bolumen ezarpen globalak baliogabetu" -#: gui/editgamedialog.cpp:226 gui/options.cpp:1158 +#: gui/editgamedialog.cpp:226 gui/options.cpp:1253 msgid "MIDI" msgstr "MIDI" @@ -313,7 +314,7 @@ msgctxt "lowres" msgid "Override global MIDI settings" msgstr "MIDI ezarpen globalak baliogabetu" -#: gui/editgamedialog.cpp:241 gui/options.cpp:1168 +#: gui/editgamedialog.cpp:241 gui/options.cpp:1263 msgid "MT-32" msgstr "MT-32" @@ -326,11 +327,11 @@ msgctxt "lowres" msgid "Override global MT-32 settings" msgstr "MT-32 ezarpen globalak baliogabetu" -#: gui/editgamedialog.cpp:255 gui/options.cpp:1175 +#: gui/editgamedialog.cpp:255 gui/options.cpp:1270 msgid "Paths" msgstr "Bide-izenak" -#: gui/editgamedialog.cpp:257 gui/options.cpp:1177 +#: gui/editgamedialog.cpp:257 gui/options.cpp:1272 msgctxt "lowres" msgid "Paths" msgstr "Bideak" @@ -344,7 +345,7 @@ msgctxt "lowres" msgid "Game Path:" msgstr "Jokoa:" -#: gui/editgamedialog.cpp:271 gui/options.cpp:1201 +#: gui/editgamedialog.cpp:271 gui/options.cpp:1296 msgid "Extra Path:" msgstr "Gehigarriak:" @@ -353,62 +354,62 @@ msgstr "Gehigarriak:" msgid "Specifies path to additional data used by the game" msgstr "Jokoak erabiltzen duen datu gehigarrien bide-izena" -#: gui/editgamedialog.cpp:273 gui/options.cpp:1203 +#: gui/editgamedialog.cpp:273 gui/options.cpp:1298 msgctxt "lowres" msgid "Extra Path:" msgstr "Gehigarria:" -#: gui/editgamedialog.cpp:280 gui/options.cpp:1185 +#: gui/editgamedialog.cpp:280 gui/options.cpp:1280 msgid "Save Path:" msgstr "Partida gordeak:" #: gui/editgamedialog.cpp:280 gui/editgamedialog.cpp:282 -#: gui/editgamedialog.cpp:283 gui/options.cpp:1185 gui/options.cpp:1187 -#: gui/options.cpp:1188 +#: gui/editgamedialog.cpp:283 gui/options.cpp:1280 gui/options.cpp:1282 +#: gui/options.cpp:1283 msgid "Specifies where your saved games are put" msgstr "Zure gordetako partidak non gordeko diren zehazten du" -#: gui/editgamedialog.cpp:282 gui/options.cpp:1187 +#: gui/editgamedialog.cpp:282 gui/options.cpp:1282 msgctxt "lowres" msgid "Save Path:" msgstr "Partida gordeak:" -#: gui/editgamedialog.cpp:301 gui/editgamedialog.cpp:400 -#: gui/editgamedialog.cpp:459 gui/editgamedialog.cpp:520 gui/options.cpp:1196 -#: gui/options.cpp:1204 gui/options.cpp:1213 gui/options.cpp:1414 -#: gui/options.cpp:1420 gui/options.cpp:1428 gui/options.cpp:1451 -#: gui/options.cpp:1467 gui/options.cpp:1473 gui/options.cpp:1480 -#: gui/options.cpp:1488 gui/options.cpp:1640 gui/options.cpp:1643 -#: gui/options.cpp:1650 gui/options.cpp:1660 +#: gui/editgamedialog.cpp:301 gui/editgamedialog.cpp:398 +#: gui/editgamedialog.cpp:457 gui/editgamedialog.cpp:518 gui/options.cpp:1291 +#: gui/options.cpp:1299 gui/options.cpp:1308 gui/options.cpp:1488 +#: gui/options.cpp:1494 gui/options.cpp:1502 gui/options.cpp:1525 +#: gui/options.cpp:1554 gui/options.cpp:1560 gui/options.cpp:1567 +#: gui/options.cpp:1575 gui/options.cpp:1758 gui/options.cpp:1761 +#: gui/options.cpp:1768 gui/options.cpp:1778 msgctxt "path" msgid "None" msgstr "Bat ere ez" -#: gui/editgamedialog.cpp:306 gui/editgamedialog.cpp:406 -#: gui/editgamedialog.cpp:524 gui/options.cpp:1408 gui/options.cpp:1461 -#: gui/options.cpp:1646 backends/platform/wii/options.cpp:56 +#: gui/editgamedialog.cpp:306 gui/editgamedialog.cpp:404 +#: gui/editgamedialog.cpp:522 gui/options.cpp:1482 gui/options.cpp:1548 +#: gui/options.cpp:1764 backends/platform/wii/options.cpp:56 msgid "Default" msgstr "Lehenetsia" -#: gui/editgamedialog.cpp:452 gui/options.cpp:1654 +#: gui/editgamedialog.cpp:450 gui/options.cpp:1772 msgid "Select SoundFont" msgstr "SoundFont-a aukeratu" -#: gui/editgamedialog.cpp:491 +#: gui/editgamedialog.cpp:489 msgid "Select additional game directory" msgstr "Direktorio gehigarria aukeratu" -#: gui/editgamedialog.cpp:504 gui/options.cpp:1577 +#: gui/editgamedialog.cpp:502 gui/options.cpp:1695 msgid "Select directory for saved games" msgstr "Partida gordeen direktorioa aukeratu" -#: gui/editgamedialog.cpp:510 +#: gui/editgamedialog.cpp:508 msgid "" "Saved games sync feature doesn't work with non-default directories. If you " "want your saved games to sync, use default directory." msgstr "" -#: gui/editgamedialog.cpp:536 +#: gui/editgamedialog.cpp:534 msgid "This game ID is already taken. Please choose another one." msgstr "ID hau jada erabilia izaten ari da. Mesedez, aukeratu beste bat." @@ -488,7 +489,7 @@ msgstr "Sinua" msgid "Triangle" msgstr "Triangelua" -#: gui/fluidsynth-dialog.cpp:138 gui/options.cpp:1221 +#: gui/fluidsynth-dialog.cpp:138 gui/options.cpp:1316 msgid "Misc" msgstr "Beste" @@ -536,15 +537,15 @@ msgstr "Itxi" msgid "Mouse click" msgstr "Sagu-klika" -#: gui/gui-manager.cpp:126 base/main.cpp:337 +#: gui/gui-manager.cpp:126 base/main.cpp:340 msgid "Display keyboard" msgstr "Erakutsi teklatua" -#: gui/gui-manager.cpp:130 base/main.cpp:341 +#: gui/gui-manager.cpp:130 base/main.cpp:344 msgid "Remap keys" msgstr "Esleitu teklak" -#: gui/gui-manager.cpp:133 base/main.cpp:344 engines/scumm/help.cpp:87 +#: gui/gui-manager.cpp:133 base/main.cpp:347 engines/scumm/help.cpp:87 msgid "Toggle fullscreen" msgstr "Txandakatu pantaila osoa" @@ -578,110 +579,110 @@ msgstr "Sakatu esleituko den tekla" msgid "Choose an action to map" msgstr "Aukeratu esleituko den ekintza" -#: gui/launcher.cpp:117 engines/dialogs.cpp:111 engines/mohawk/dialogs.cpp:98 +#: gui/launcher.cpp:141 engines/dialogs.cpp:111 engines/mohawk/dialogs.cpp:98 msgid "~Q~uit" msgstr "~I~rten" -#: gui/launcher.cpp:117 backends/platform/sdl/macosx/appmenu_osx.mm:106 +#: gui/launcher.cpp:141 backends/platform/sdl/macosx/appmenu_osx.mm:106 msgid "Quit ScummVM" msgstr "Irten ScummVM-tik" -#: gui/launcher.cpp:118 +#: gui/launcher.cpp:142 msgid "A~b~out..." msgstr "Ho~n~i buruz..." -#: gui/launcher.cpp:118 backends/platform/sdl/macosx/appmenu_osx.mm:80 +#: gui/launcher.cpp:142 backends/platform/sdl/macosx/appmenu_osx.mm:80 msgid "About ScummVM" msgstr "ScummVM-i buruz" -#: gui/launcher.cpp:119 +#: gui/launcher.cpp:143 msgid "~O~ptions..." msgstr "~A~ukerak" -#: gui/launcher.cpp:119 +#: gui/launcher.cpp:143 msgid "Change global ScummVM options" msgstr "ScummVM-ren aukera globalak aldatu" -#: gui/launcher.cpp:121 +#: gui/launcher.cpp:145 msgid "~S~tart" msgstr "~H~asi" -#: gui/launcher.cpp:121 +#: gui/launcher.cpp:145 msgid "Start selected game" msgstr "Aukeraturiko jokora jolastu" -#: gui/launcher.cpp:124 +#: gui/launcher.cpp:148 msgid "~L~oad..." msgstr "~K~argatu" -#: gui/launcher.cpp:124 +#: gui/launcher.cpp:148 msgid "Load saved game for selected game" msgstr "Aukeraturiko jokorako partida gordea kargatu" -#: gui/launcher.cpp:129 +#: gui/launcher.cpp:153 msgid "~A~dd Game..." msgstr "~G~ehitu..." -#: gui/launcher.cpp:129 gui/launcher.cpp:136 +#: gui/launcher.cpp:153 gui/launcher.cpp:160 msgid "Hold Shift for Mass Add" msgstr "Shift mantendu sakaturik hainbat joko gehitzeko" -#: gui/launcher.cpp:131 +#: gui/launcher.cpp:155 msgid "~E~dit Game..." msgstr "~E~ditatu..." -#: gui/launcher.cpp:131 gui/launcher.cpp:138 +#: gui/launcher.cpp:155 gui/launcher.cpp:162 msgid "Change game options" msgstr "Aldatu jokoaren aukerak" -#: gui/launcher.cpp:133 +#: gui/launcher.cpp:157 msgid "~R~emove Game" msgstr "~K~endu jokoa" -#: gui/launcher.cpp:133 gui/launcher.cpp:140 +#: gui/launcher.cpp:157 gui/launcher.cpp:164 msgid "Remove game from the list. The game data files stay intact" msgstr "Jokoa zerrendatik kendu. Jokoaren fitxategiak ez dira ezabatzen" -#: gui/launcher.cpp:136 +#: gui/launcher.cpp:160 msgctxt "lowres" msgid "~A~dd Game..." msgstr "~G~ehitu..." -#: gui/launcher.cpp:138 +#: gui/launcher.cpp:162 msgctxt "lowres" msgid "~E~dit Game..." msgstr "~E~ditatu..." -#: gui/launcher.cpp:140 +#: gui/launcher.cpp:164 msgctxt "lowres" msgid "~R~emove Game" msgstr "~K~endu" -#: gui/launcher.cpp:148 +#: gui/launcher.cpp:172 msgid "Search in game list" msgstr "Bilatu joko-zerrendan" -#: gui/launcher.cpp:152 gui/launcher.cpp:750 +#: gui/launcher.cpp:176 gui/launcher.cpp:771 msgid "Search:" msgstr "Bilatu:" -#: gui/launcher.cpp:176 engines/dialogs.cpp:115 engines/cruise/menu.cpp:214 -#: engines/mohawk/dialogs.cpp:103 engines/mohawk/riven.cpp:733 +#: gui/launcher.cpp:200 engines/dialogs.cpp:115 engines/cruise/menu.cpp:214 +#: engines/mohawk/dialogs.cpp:103 engines/mohawk/riven.cpp:734 #: engines/pegasus/pegasus.cpp:353 engines/tsage/scenes.cpp:601 msgid "Load game:" msgstr "Jokoa kargatu:" -#: gui/launcher.cpp:176 engines/dialogs.cpp:115 +#: gui/launcher.cpp:200 engines/dialogs.cpp:115 #: backends/platform/wince/CEActionsPocket.cpp:267 #: backends/platform/wince/CEActionsSmartphone.cpp:231 #: engines/cruise/menu.cpp:214 engines/mohawk/dialogs.cpp:103 -#: engines/mohawk/riven.cpp:733 engines/parallaction/saveload.cpp:194 +#: engines/mohawk/riven.cpp:734 engines/parallaction/saveload.cpp:194 #: engines/pegasus/pegasus.cpp:353 engines/scumm/dialogs.cpp:185 #: engines/tsage/scenes.cpp:601 msgid "Load" msgstr "Kargatu" -#: gui/launcher.cpp:285 +#: gui/launcher.cpp:306 msgid "" "Do you really want to run the mass game detector? This could potentially add " "a huge number of games." @@ -689,41 +690,41 @@ msgstr "" "Joko detektatzaile masiboa exekutatu nahi al duzu? Honek joko kantitate " "handia gehitu dezake." -#: gui/launcher.cpp:344 +#: gui/launcher.cpp:365 msgid "This directory cannot be used yet, it is being downloaded into!" msgstr "" -#: gui/launcher.cpp:394 +#: gui/launcher.cpp:415 msgid "Do you really want to remove this game configuration?" msgstr "Benetan ezabatu nahi duzu joko-konfigurazio hau?" -#: gui/launcher.cpp:452 +#: gui/launcher.cpp:473 msgid "Do you want to load saved game?" msgstr "Gordetako jokoa kargatu?" -#: gui/launcher.cpp:501 +#: gui/launcher.cpp:522 msgid "This game does not support loading games from the launcher." msgstr "Joko honek ez du uzten partidak abiarazletik kargatzen." -#: gui/launcher.cpp:505 +#: gui/launcher.cpp:526 msgid "ScummVM could not find any engine capable of running the selected game!" msgstr "" "ScummVM-k ezin izan du aukeraturiko jokoa exekutatzeko gai den motorerik " "aurkitu!" -#: gui/launcher.cpp:556 +#: gui/launcher.cpp:577 msgid "ScummVM could not find any game in the specified directory!" msgstr "ScummVM-k ezin izan du jokorik aurkitu zehazturiko direktorioan!" -#: gui/launcher.cpp:569 +#: gui/launcher.cpp:590 msgid "Pick the game:" msgstr "Jokoa aukeratu:" -#: gui/launcher.cpp:687 +#: gui/launcher.cpp:708 msgid "Mass Add..." msgstr "Gehitu hainbat..." -#: gui/launcher.cpp:689 +#: gui/launcher.cpp:710 msgid "Record..." msgstr "Grabatu..." @@ -768,146 +769,146 @@ msgstr "Aldatu jokora" msgid "Fast replay" msgstr "Errepikappen bizkorra" -#: gui/options.cpp:112 common/updates.cpp:56 +#: gui/options.cpp:119 common/updates.cpp:56 msgid "Never" msgstr "Inoiz ez" -#: gui/options.cpp:112 +#: gui/options.cpp:119 msgid "every 5 mins" msgstr "5 minuturo" -#: gui/options.cpp:112 +#: gui/options.cpp:119 msgid "every 10 mins" msgstr "10 minuturo" -#: gui/options.cpp:112 +#: gui/options.cpp:119 msgid "every 15 mins" msgstr "15 minuturo" -#: gui/options.cpp:112 +#: gui/options.cpp:119 msgid "every 30 mins" msgstr "30 minuturo" -#: gui/options.cpp:114 +#: gui/options.cpp:121 msgid "8 kHz" msgstr "8 kHz" -#: gui/options.cpp:114 +#: gui/options.cpp:121 msgid "11 kHz" msgstr "11 kHz" -#: gui/options.cpp:114 +#: gui/options.cpp:121 msgid "22 kHz" msgstr "22 kHz" -#: gui/options.cpp:114 +#: gui/options.cpp:121 msgid "44 kHz" msgstr "44 kHz" -#: gui/options.cpp:114 +#: gui/options.cpp:121 msgid "48 kHz" msgstr "48 kHz" -#: gui/options.cpp:291 gui/options.cpp:528 gui/options.cpp:629 -#: gui/options.cpp:699 gui/options.cpp:910 +#: gui/options.cpp:289 gui/options.cpp:552 gui/options.cpp:657 +#: gui/options.cpp:726 gui/options.cpp:937 msgctxt "soundfont" msgid "None" msgstr "Bat ere ez" -#: gui/options.cpp:432 +#: gui/options.cpp:456 msgid "Failed to apply some of the graphic options changes:" msgstr "Ezin izan da grafikoen aukeretako batzuk aplikatu:" -#: gui/options.cpp:444 +#: gui/options.cpp:468 msgid "the video mode could not be changed." msgstr "ezin izan da bideo-modua aldatu." -#: gui/options.cpp:450 +#: gui/options.cpp:474 msgid "the aspect ratio setting could not be changed" msgstr "formatu-ratioaren ezarpena ezin izan da aldatu" -#: gui/options.cpp:456 +#: gui/options.cpp:480 msgid "the fullscreen setting could not be changed" msgstr "ezin izan da pantaila-osoaren ezarpena aldatu" -#: gui/options.cpp:462 +#: gui/options.cpp:486 #, fuzzy msgid "the filtering setting could not be changed" msgstr "ezin izan da pantaila-osoaren ezarpena aldatu" -#: gui/options.cpp:782 +#: gui/options.cpp:809 msgid "Graphics mode:" msgstr "Modu grafikoa:" -#: gui/options.cpp:796 +#: gui/options.cpp:823 msgid "Render mode:" msgstr "Renderizazioa:" -#: gui/options.cpp:796 gui/options.cpp:797 +#: gui/options.cpp:823 gui/options.cpp:824 msgid "Special dithering modes supported by some games" msgstr "Joko batzuk onarturiko lausotze-modu bereziak" -#: gui/options.cpp:808 -#: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:2450 +#: gui/options.cpp:835 backends/graphics/openglsdl/openglsdl-graphics.cpp:615 +#: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:2460 msgid "Fullscreen mode" msgstr "Pantaila osoa" -#: gui/options.cpp:811 +#: gui/options.cpp:838 #, fuzzy msgid "Filter graphics" msgstr "Grafikoak" -#: gui/options.cpp:811 +#: gui/options.cpp:838 msgid "Use linear filtering when scaling graphics" msgstr "" -#: gui/options.cpp:814 +#: gui/options.cpp:841 msgid "Aspect ratio correction" msgstr "Formatu-ratioaren zuzenketa" -#: gui/options.cpp:814 +#: gui/options.cpp:841 msgid "Correct aspect ratio for 320x200 games" msgstr "320x200 jokoentzako formatu-ratioa zuzendu" -#: gui/options.cpp:822 +#: gui/options.cpp:849 msgid "Preferred Device:" msgstr "Gogoko gailua:" -#: gui/options.cpp:822 +#: gui/options.cpp:849 msgid "Music Device:" msgstr "Musika gailua:" -#: gui/options.cpp:822 gui/options.cpp:824 +#: gui/options.cpp:849 gui/options.cpp:851 msgid "Specifies preferred sound device or sound card emulator" msgstr "Gogoko soinu txartel edo emuladorea zein den ezartzen du" -#: gui/options.cpp:822 gui/options.cpp:824 gui/options.cpp:825 +#: gui/options.cpp:849 gui/options.cpp:851 gui/options.cpp:852 msgid "Specifies output sound device or sound card emulator" msgstr "Irteerako soinu txartel edo emuladorea ezartzen du" -#: gui/options.cpp:824 +#: gui/options.cpp:851 msgctxt "lowres" msgid "Preferred Dev.:" msgstr "Gail. gogokoa:" -#: gui/options.cpp:824 +#: gui/options.cpp:851 msgctxt "lowres" msgid "Music Device:" msgstr "Musika gailua:" -#: gui/options.cpp:851 +#: gui/options.cpp:878 msgid "AdLib emulator:" msgstr "AdLib emuladorea:" -#: gui/options.cpp:851 gui/options.cpp:852 +#: gui/options.cpp:878 gui/options.cpp:879 msgid "AdLib is used for music in many games" msgstr "AdLib musikarako hainbat jokotan erabiltzen da" -#: gui/options.cpp:862 +#: gui/options.cpp:889 msgid "Output rate:" msgstr "Irteera maizt.:" -#: gui/options.cpp:862 gui/options.cpp:863 +#: gui/options.cpp:889 gui/options.cpp:890 msgid "" "Higher value specifies better sound quality but may be not supported by your " "soundcard" @@ -915,64 +916,64 @@ msgstr "" "Balio altuagoek soinu kalitate hobea ezartzen dute, baina baliteke zure " "soinu-txartela bateragarria ez izatea" -#: gui/options.cpp:873 +#: gui/options.cpp:900 msgid "GM Device:" msgstr "GM gailua:" -#: gui/options.cpp:873 +#: gui/options.cpp:900 msgid "Specifies default sound device for General MIDI output" msgstr "Defektuzko soinu txartela ezartzen du General MIDI irteerarako" -#: gui/options.cpp:884 +#: gui/options.cpp:911 msgid "Don't use General MIDI music" msgstr "Ez erabili General MIDI musika" -#: gui/options.cpp:895 gui/options.cpp:957 +#: gui/options.cpp:922 gui/options.cpp:984 msgid "Use first available device" msgstr "Erabilgarri dagoen lehen gailua erabili" -#: gui/options.cpp:907 +#: gui/options.cpp:934 msgid "SoundFont:" msgstr "SoundFont:" -#: gui/options.cpp:907 gui/options.cpp:909 gui/options.cpp:910 +#: gui/options.cpp:934 gui/options.cpp:936 gui/options.cpp:937 msgid "SoundFont is supported by some audio cards, FluidSynth and Timidity" msgstr "" "Zenbait soinu txartel bateragarriak dira SoundFont-ekin, FluidSynth eta " "Timidity besteak beste" -#: gui/options.cpp:909 +#: gui/options.cpp:936 msgctxt "lowres" msgid "SoundFont:" msgstr "SoundFont:" -#: gui/options.cpp:915 +#: gui/options.cpp:942 msgid "Mixed AdLib/MIDI mode" msgstr "AdLib/MIDI modua" -#: gui/options.cpp:915 +#: gui/options.cpp:942 msgid "Use both MIDI and AdLib sound generation" msgstr "Soinua sortzerakoan MIDI eta AdLib erabili" -#: gui/options.cpp:918 +#: gui/options.cpp:945 msgid "MIDI gain:" msgstr "MIDI irabazia:" -#: gui/options.cpp:928 +#: gui/options.cpp:955 msgid "MT-32 Device:" msgstr "MT-32 gailua:" -#: gui/options.cpp:928 +#: gui/options.cpp:955 msgid "Specifies default sound device for Roland MT-32/LAPC1/CM32l/CM64 output" msgstr "" "Roland MT-32/LAPC1/CM32l/CM64 irteerarako defektuzko soinu txartela ezartzen " "du" -#: gui/options.cpp:933 +#: gui/options.cpp:960 msgid "True Roland MT-32 (disable GM emulation)" msgstr "Benetako Roland MT-32 (GM emulazio gabe)" -#: gui/options.cpp:933 gui/options.cpp:935 +#: gui/options.cpp:960 gui/options.cpp:962 msgid "" "Check if you want to use your real hardware Roland-compatible sound device " "connected to your computer" @@ -980,16 +981,16 @@ msgstr "" "Markatu ordenagailura konektaturiko Roland-ekin bateragarria den soinu-" "gailua erabiltzeko" -#: gui/options.cpp:935 +#: gui/options.cpp:962 msgctxt "lowres" msgid "True Roland MT-32 (no GM emulation)" msgstr "Benetako Roland MT-32 (GM emulazio gabe)" -#: gui/options.cpp:938 +#: gui/options.cpp:965 msgid "Roland GS Device (enable MT-32 mappings)" msgstr "Roland GS Gailua (gaitu MT-32 bihurketak)" -#: gui/options.cpp:938 +#: gui/options.cpp:965 msgid "" "Check if you want to enable patch mappings to emulate an MT-32 on a Roland " "GS device" @@ -997,341 +998,341 @@ msgstr "" "Markatu Roland GS gailu batean MT-32 bat emulatzea ahalbidetzen " "dutenbihurketak gaitzeko" -#: gui/options.cpp:947 +#: gui/options.cpp:974 msgid "Don't use Roland MT-32 music" msgstr "Ez erabili Roland MT-32 musika" -#: gui/options.cpp:974 +#: gui/options.cpp:1001 msgid "Text and Speech:" msgstr "Testu eta ahotsa:" -#: gui/options.cpp:978 gui/options.cpp:988 +#: gui/options.cpp:1005 gui/options.cpp:1015 msgid "Speech" msgstr "Ahotsa" -#: gui/options.cpp:979 gui/options.cpp:989 +#: gui/options.cpp:1006 gui/options.cpp:1016 msgid "Subtitles" msgstr "Azpitituluak" -#: gui/options.cpp:980 +#: gui/options.cpp:1007 msgid "Both" msgstr "Biak" -#: gui/options.cpp:982 +#: gui/options.cpp:1009 msgid "Subtitle speed:" msgstr "Azpitit. abiadura:" -#: gui/options.cpp:984 +#: gui/options.cpp:1011 msgctxt "lowres" msgid "Text and Speech:" msgstr "Testu eta ahotsa:" -#: gui/options.cpp:988 +#: gui/options.cpp:1015 msgid "Spch" msgstr "Ahots." -#: gui/options.cpp:989 +#: gui/options.cpp:1016 msgid "Subs" msgstr "Azp." -#: gui/options.cpp:990 +#: gui/options.cpp:1017 msgctxt "lowres" msgid "Both" msgstr "Biak" -#: gui/options.cpp:990 +#: gui/options.cpp:1017 msgid "Show subtitles and play speech" msgstr "Ahotsak erreproduzitu eta azpitituluak erakutsi" -#: gui/options.cpp:992 +#: gui/options.cpp:1019 msgctxt "lowres" msgid "Subtitle speed:" msgstr "Azpit. abiadura:" -#: gui/options.cpp:1008 +#: gui/options.cpp:1035 msgid "Music volume:" msgstr "Musika:" -#: gui/options.cpp:1010 +#: gui/options.cpp:1037 msgctxt "lowres" msgid "Music volume:" msgstr "Musika:" -#: gui/options.cpp:1017 +#: gui/options.cpp:1044 msgid "Mute All" msgstr "Mututu dena" -#: gui/options.cpp:1020 +#: gui/options.cpp:1047 msgid "SFX volume:" msgstr "Efektuak:" -#: gui/options.cpp:1020 gui/options.cpp:1022 gui/options.cpp:1023 +#: gui/options.cpp:1047 gui/options.cpp:1049 gui/options.cpp:1050 msgid "Special sound effects volume" msgstr "Soinu efektu berezien bolumena" -#: gui/options.cpp:1022 +#: gui/options.cpp:1049 msgctxt "lowres" msgid "SFX volume:" msgstr "Efektuak:" -#: gui/options.cpp:1030 +#: gui/options.cpp:1057 msgid "Speech volume:" msgstr "Ahotsak:" -#: gui/options.cpp:1032 +#: gui/options.cpp:1059 msgctxt "lowres" msgid "Speech volume:" msgstr "Ahotsak:" -#: gui/options.cpp:1162 +#: gui/options.cpp:1257 msgid "FluidSynth Settings" msgstr "FluidSynth Ezarpenak" -#: gui/options.cpp:1193 +#: gui/options.cpp:1288 msgid "Theme Path:" msgstr "Gaiak:" -#: gui/options.cpp:1195 +#: gui/options.cpp:1290 msgctxt "lowres" msgid "Theme Path:" msgstr "Gaiak:" -#: gui/options.cpp:1201 gui/options.cpp:1203 gui/options.cpp:1204 +#: gui/options.cpp:1296 gui/options.cpp:1298 gui/options.cpp:1299 msgid "Specifies path to additional data used by all games or ScummVM" msgstr "" "Joko guztiek edo ScummVM-k darabilten datu gehigarrien bide-izena ezartzen du" -#: gui/options.cpp:1210 +#: gui/options.cpp:1305 msgid "Plugins Path:" msgstr "Pluginak:" -#: gui/options.cpp:1212 +#: gui/options.cpp:1307 msgctxt "lowres" msgid "Plugins Path:" msgstr "Pluginak:" -#: gui/options.cpp:1223 +#: gui/options.cpp:1318 msgctxt "lowres" msgid "Misc" msgstr "Beste" -#: gui/options.cpp:1225 +#: gui/options.cpp:1320 msgid "Theme:" msgstr "Gaia:" -#: gui/options.cpp:1229 +#: gui/options.cpp:1324 msgid "GUI Renderer:" msgstr "Interfazea:" -#: gui/options.cpp:1241 +#: gui/options.cpp:1336 msgid "Autosave:" msgstr "Autogordetzea:" -#: gui/options.cpp:1243 +#: gui/options.cpp:1338 msgctxt "lowres" msgid "Autosave:" msgstr "Autogordetzea:" -#: gui/options.cpp:1251 +#: gui/options.cpp:1346 msgid "Keys" msgstr "Teklak" -#: gui/options.cpp:1258 +#: gui/options.cpp:1353 msgid "GUI Language:" msgstr "Hizkuntza" -#: gui/options.cpp:1258 +#: gui/options.cpp:1353 msgid "Language of ScummVM GUI" msgstr "ScummVM interfazearen hizkuntza" -#: gui/options.cpp:1286 +#: gui/options.cpp:1381 msgid "Update check:" msgstr "" -#: gui/options.cpp:1286 +#: gui/options.cpp:1381 msgid "How often to check ScummVM updates" msgstr "" -#: gui/options.cpp:1298 +#: gui/options.cpp:1393 msgid "Check now" msgstr "" -#: gui/options.cpp:1306 +#: gui/options.cpp:1401 msgid "Cloud" msgstr "" -#: gui/options.cpp:1308 +#: gui/options.cpp:1403 msgctxt "lowres" msgid "Cloud" msgstr "" -#: gui/options.cpp:1319 +#: gui/options.cpp:1408 msgid "Storage:" msgstr "" -#: gui/options.cpp:1319 +#: gui/options.cpp:1408 msgid "Active cloud storage" msgstr "" -#: gui/options.cpp:1326 gui/options.cpp:1877 +#: gui/options.cpp:1415 gui/options.cpp:1972 msgid "<none>" msgstr "" -#: gui/options.cpp:1330 backends/platform/wii/options.cpp:114 +#: gui/options.cpp:1419 backends/platform/wii/options.cpp:114 msgid "Username:" msgstr "Erabiltzaile-izena:" -#: gui/options.cpp:1330 +#: gui/options.cpp:1419 msgid "Username used by this storage" msgstr "" -#: gui/options.cpp:1333 +#: gui/options.cpp:1422 msgid "Used space:" msgstr "" -#: gui/options.cpp:1333 +#: gui/options.cpp:1422 msgid "Space used by ScummVM's saved games on this storage" msgstr "" -#: gui/options.cpp:1336 +#: gui/options.cpp:1425 msgid "Last sync time:" msgstr "" -#: gui/options.cpp:1336 +#: gui/options.cpp:1425 msgid "When the last saved games sync for this storage occured" msgstr "" -#: gui/options.cpp:1339 gui/storagewizarddialog.cpp:71 +#: gui/options.cpp:1428 gui/storagewizarddialog.cpp:71 msgid "Connect" msgstr "" -#: gui/options.cpp:1339 +#: gui/options.cpp:1428 msgid "Open wizard dialog to connect your cloud storage account" msgstr "" -#: gui/options.cpp:1340 +#: gui/options.cpp:1429 msgid "Refresh" msgstr "" -#: gui/options.cpp:1340 +#: gui/options.cpp:1429 msgid "Refresh current cloud storage information (username and usage)" msgstr "" -#: gui/options.cpp:1341 +#: gui/options.cpp:1430 #, fuzzy msgid "Download" msgstr "Behera" -#: gui/options.cpp:1341 +#: gui/options.cpp:1430 msgid "Open downloads manager dialog" msgstr "" -#: gui/options.cpp:1343 +#: gui/options.cpp:1432 msgid "Run server" msgstr "" -#: gui/options.cpp:1343 +#: gui/options.cpp:1432 msgid "Run local webserver" msgstr "" -#: gui/options.cpp:1344 gui/options.cpp:1987 +#: gui/options.cpp:1433 gui/options.cpp:2082 #, fuzzy msgid "Not running" msgstr "Jokoa exekutatzean errorea:" -#: gui/options.cpp:1348 +#: gui/options.cpp:1437 #, fuzzy msgid "/root/ Path:" msgstr "Gehigarriak:" -#: gui/options.cpp:1348 gui/options.cpp:1350 gui/options.cpp:1351 +#: gui/options.cpp:1437 gui/options.cpp:1439 gui/options.cpp:1440 #, fuzzy msgid "Specifies which directory the Files Manager can access" msgstr "Zure gordetako partidak non gordeko diren zehazten du" -#: gui/options.cpp:1350 +#: gui/options.cpp:1439 #, fuzzy msgctxt "lowres" msgid "/root/ Path:" msgstr "Gehigarriak:" -#: gui/options.cpp:1360 +#: gui/options.cpp:1449 #, fuzzy msgid "Server's port:" msgstr "Zerbitzaria:" -#: gui/options.cpp:1360 +#: gui/options.cpp:1449 msgid "" "Which port is used by the server\n" "Auth with server is not available with non-default port" msgstr "" -#: gui/options.cpp:1520 -msgid "You have to restart ScummVM before your changes will take effect." -msgstr "ScummVM berrabiarazi behar duzu aldaketak indarrean jartzeko" +#: gui/options.cpp:1462 +msgid "Apply" +msgstr "" -#: gui/options.cpp:1543 +#: gui/options.cpp:1628 #, fuzzy msgid "Failed to change cloud storage!" msgstr "Ezin izan da jokoa gorde" -#: gui/options.cpp:1546 +#: gui/options.cpp:1631 msgid "Another cloud storage is already active." msgstr "" -#: gui/options.cpp:1584 +#: gui/options.cpp:1667 +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 "" +"Aukeraturiko gaia ez da zure hizkuntzarekin bateragarria. Gai hau erabili " +"nahi baduzu, aurretik beste hizkuntza batera pasa behar duzu." + +#: gui/options.cpp:1702 msgid "The chosen directory cannot be written to. Please select another one." msgstr "Aukeraturiko direktorioan ezin da idatzi. Mesedez, aukeratu beste bat." -#: gui/options.cpp:1593 +#: gui/options.cpp:1711 msgid "Select directory for GUI themes" msgstr "Gaien direktorioa aukeratu" -#: gui/options.cpp:1603 +#: gui/options.cpp:1721 msgid "Select directory for extra files" msgstr "Fitxategi gehigarrien direktorioa aukeratu" -#: gui/options.cpp:1614 +#: gui/options.cpp:1732 msgid "Select directory for plugins" msgstr "Pluginen direktorioa aukeratu" -#: gui/options.cpp:1626 +#: gui/options.cpp:1744 #, fuzzy msgid "Select directory for Files Manager /root/" msgstr "Fitxategi gehigarrien direktorioa aukeratu" -#: gui/options.cpp:1688 -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 "" -"Aukeraturiko gaia ez da zure hizkuntzarekin bateragarria. Gai hau erabili " -"nahi baduzu, aurretik beste hizkuntza batera pasa behar duzu." - -#: gui/options.cpp:1884 +#: gui/options.cpp:1979 #, c-format msgid "%llu bytes" msgstr "" -#: gui/options.cpp:1892 +#: gui/options.cpp:1987 msgid "<right now>" msgstr "" -#: gui/options.cpp:1894 +#: gui/options.cpp:1989 #, fuzzy msgid "<never>" msgstr "Inoiz ez" -#: gui/options.cpp:1978 +#: gui/options.cpp:2073 #, fuzzy msgid "Stop server" msgstr "Zerbitzaria:" -#: gui/options.cpp:1979 +#: gui/options.cpp:2074 msgid "Stop local webserver" msgstr "" -#: gui/options.cpp:2068 +#: gui/options.cpp:2163 msgid "" "Request failed.\n" "Check your Internet connection." @@ -1602,35 +1603,35 @@ msgstr "" msgid "Clear value" msgstr "Balioa kendu:" -#: base/main.cpp:250 +#: base/main.cpp:253 #, c-format msgid "Engine does not support debug level '%s'" msgstr "Motoreak ez da '%s' debug mailarekin bateragarria" -#: base/main.cpp:324 +#: base/main.cpp:327 msgid "Menu" msgstr "Menua" -#: base/main.cpp:327 backends/platform/symbian/src/SymbianActions.cpp:45 +#: base/main.cpp:330 backends/platform/symbian/src/SymbianActions.cpp:45 #: backends/platform/wince/CEActionsPocket.cpp:45 #: backends/platform/wince/CEActionsSmartphone.cpp:46 msgid "Skip" msgstr "Saltatu" -#: base/main.cpp:330 backends/platform/symbian/src/SymbianActions.cpp:50 +#: base/main.cpp:333 backends/platform/symbian/src/SymbianActions.cpp:50 #: backends/platform/wince/CEActionsPocket.cpp:42 msgid "Pause" msgstr "Gelditu" -#: base/main.cpp:333 +#: base/main.cpp:336 msgid "Skip line" msgstr "Lerroa saltatu" -#: base/main.cpp:542 +#: base/main.cpp:547 msgid "Error running game:" msgstr "Jokoa exekutatzean errorea:" -#: base/main.cpp:589 +#: base/main.cpp:594 msgid "Could not find any engine capable of running the selected game" msgstr "Ezin izan da aukeraturiko jokoa exekutatzeko gai den motorerik aurkitu" @@ -2004,11 +2005,11 @@ msgstr "FM-Towns soinua" msgid "PC-98 Audio" msgstr "PC-98 Soinua" -#: audio/softsynth/mt32.cpp:196 +#: audio/softsynth/mt32.cpp:197 msgid "Initializing MT-32 Emulator" msgstr "MT-32 emuladorea hasieratzen" -#: audio/softsynth/mt32.cpp:434 +#: audio/softsynth/mt32.cpp:435 msgid "MT-32 Emulator" msgstr "MT-32 emuladorea" @@ -2024,34 +2025,34 @@ msgstr "IBM PCjr emuladorea" msgid "C64 Audio Emulator" msgstr "C64 Audio emuladorea" -#: backends/cloud/storage.cpp:210 +#: backends/cloud/storage.cpp:211 #, fuzzy msgid "Saved games sync complete." msgstr "Bilaketa amaitua!" -#: backends/cloud/storage.cpp:221 +#: backends/cloud/storage.cpp:222 msgid "Saved games sync was cancelled." msgstr "" -#: backends/cloud/storage.cpp:223 +#: backends/cloud/storage.cpp:224 msgid "" "Saved games sync failed.\n" "Check your Internet connection." msgstr "" -#: backends/cloud/storage.cpp:327 +#: backends/cloud/storage.cpp:328 #, c-format msgid "" "Download complete.\n" "Failed to download %u files." msgstr "" -#: backends/cloud/storage.cpp:329 +#: backends/cloud/storage.cpp:330 #, fuzzy msgid "Download complete." msgstr "Bilaketa amaitua!" -#: backends/cloud/storage.cpp:339 +#: backends/cloud/storage.cpp:340 #, fuzzy msgid "Download failed." msgstr "Kargatu fitxategia:" @@ -2161,43 +2162,53 @@ msgstr "Pasatu hiru atzamar eskuinean gaitu/desgaitzeko." msgid "OpenGL" msgstr "OpenGL" -#: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:47 -#: backends/graphics/wincesdl/wincesdl-graphics.cpp:88 -#: backends/graphics/wincesdl/wincesdl-graphics.cpp:95 -msgid "Normal (no scaling)" -msgstr "Normala (eskalatu gabe)" +#: backends/graphics/openglsdl/openglsdl-graphics.cpp:617 +#: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:2462 +msgid "Windowed mode" +msgstr "Leiho modua" -#: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:66 -msgctxt "lowres" -msgid "Normal (no scaling)" -msgstr "Normala" +#: backends/graphics/openglsdl/openglsdl-graphics.cpp:710 +#, c-format +msgid "Resolution: %dx%d" +msgstr "" -#: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:2329 +#: backends/graphics/openglsdl/openglsdl-graphics.cpp:731 +#: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:2338 msgid "Enabled aspect ratio correction" msgstr "Formatu-ratio zuzenketa gaituta" -#: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:2335 +#: backends/graphics/openglsdl/openglsdl-graphics.cpp:733 +#: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:2344 msgid "Disabled aspect ratio correction" msgstr "Formatu-ratio zuzenketa desgaituta" -#: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:2353 +#: backends/graphics/openglsdl/openglsdl-graphics.cpp:753 +#: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:2362 #, fuzzy msgid "Filtering enabled" msgstr "Klikatzea gaituta" -#: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:2355 +#: backends/graphics/openglsdl/openglsdl-graphics.cpp:755 +#: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:2364 #, fuzzy msgid "Filtering disabled" msgstr "Klikatzea desgaituta" -#: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:2407 +#: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:47 +#: backends/graphics/wincesdl/wincesdl-graphics.cpp:88 +#: backends/graphics/wincesdl/wincesdl-graphics.cpp:95 +msgid "Normal (no scaling)" +msgstr "Normala (eskalatu gabe)" + +#: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:66 +msgctxt "lowres" +msgid "Normal (no scaling)" +msgstr "Normala" + +#: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:2417 msgid "Active graphics filter:" msgstr "Filtro grafiko aktiboa:" -#: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:2452 -msgid "Windowed mode" -msgstr "Leiho modua" - #: backends/keymapper/remap-dialog.cpp:48 msgid "Keymap:" msgstr "Teklen esleipena:" @@ -3121,6 +3132,39 @@ msgstr "Menu ~n~agusia" msgid "~W~ater Effect Enabled" msgstr "~U~r-efektua gaituta" +#: engines/mohawk/riven.cpp:150 +msgid "" +"You're missing a Riven executable. The Windows executable is 'riven.exe' or " +"'rivendmo.exe'. " +msgstr "" + +#: engines/mohawk/riven.cpp:151 +msgid "" +"Using the 'arcriven.z' installer file also works. In addition, you can use " +"the Mac 'Riven' executable." +msgstr "" + +#: engines/mohawk/riven.cpp:162 +msgid "" +"You're missing 'extras.mhk'. Using the 'arcriven.z' installer file also " +"works." +msgstr "" + +#: engines/mohawk/riven_external.cpp:213 +msgid "" +"Exploration beyond this point available only within the full version of\n" +"the game." +msgstr "" + +#: engines/mohawk/riven_external.cpp:655 +msgid "" +"At this point, the Riven Demo would\n" +"ask if you would like to open a web browser\n" +"to bring you to the Red Orb store to buy\n" +"the game. ScummVM cannot do that and\n" +"the site no longer exists." +msgstr "" + #: engines/mohawk/mohawk.cpp:61 #, fuzzy msgid "The game is paused. Press any key to continue." @@ -4253,6 +4297,9 @@ msgstr "Erabili bereizmen altuko MPEG bideoa" msgid "Use MPEG video from the DVD version, instead of lower resolution AVI" msgstr "Erabili DVD bertsioko MPEG bideoa, bereizmen baxuagoko AVI-a beharrean" +#~ msgid "You have to restart ScummVM before your changes will take effect." +#~ msgstr "ScummVM berrabiarazi behar duzu aldaketak indarrean jartzeko" + #~ msgid "OpenGL (No filtering)" #~ msgstr "OpenGL (Iragazi gabe)" diff --git a/po/fi_FI.po b/po/fi_FI.po index 74d4439ee7..89aaf1cca3 100644 --- a/po/fi_FI.po +++ b/po/fi_FI.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: ScummVM 1.6.0git\n" "Report-Msgid-Bugs-To: scummvm-devel@lists.scummvm.org\n" -"POT-Creation-Date: 2016-10-12 23:37+0100\n" +"POT-Creation-Date: 2016-11-05 12:43+0100\n" "PO-Revision-Date: 2012-12-01 19:37+0200\n" "Last-Translator: Toni Saarela <saarela@gmail.com>\n" "Language-Team: Finnish\n" @@ -16,6 +16,7 @@ msgstr "" "Content-Type: text/plain; charset=iso-8859-1\n" "Content-Transfer-Encoding: 8bit\n" "X-Generator: Poedit 1.5.4\n" +"X-Language-name: Suomi\n" #: gui/about.cpp:94 #, c-format @@ -56,7 +57,7 @@ msgstr "Siirry ylös" #: gui/browser.cpp:75 gui/chooser.cpp:46 gui/editgamedialog.cpp:292 #: gui/editrecorddialog.cpp:67 gui/filebrowser-dialog.cpp:64 #: gui/fluidsynth-dialog.cpp:152 gui/KeysDialog.cpp:43 gui/massadd.cpp:95 -#: gui/options.cpp:1376 gui/predictivedialog.cpp:73 gui/recorderdialog.cpp:69 +#: gui/options.cpp:1461 gui/predictivedialog.cpp:73 gui/recorderdialog.cpp:69 #: gui/recorderdialog.cpp:155 gui/remotebrowser.cpp:59 #: gui/saveload-dialog.cpp:383 gui/saveload-dialog.cpp:443 #: gui/saveload-dialog.cpp:717 gui/saveload-dialog.cpp:1111 @@ -81,7 +82,7 @@ msgstr "Valitse" msgid "Select directory where to download game data" msgstr "Valitse pelin kansio" -#: gui/downloaddialog.cpp:49 gui/editgamedialog.cpp:472 gui/launcher.cpp:173 +#: gui/downloaddialog.cpp:49 gui/editgamedialog.cpp:470 gui/launcher.cpp:197 msgid "Select directory with game data" msgstr "Valitse pelin kansio" @@ -114,7 +115,7 @@ msgstr "" #: gui/downloaddialog.cpp:118 gui/downloaddialog.cpp:152 #: gui/filebrowser-dialog.cpp:132 gui/fluidsynth-dialog.cpp:217 -#: gui/launcher.cpp:286 gui/launcher.cpp:394 gui/launcher.cpp:453 +#: gui/launcher.cpp:307 gui/launcher.cpp:415 gui/launcher.cpp:474 #: gui/storagewizarddialog.cpp:112 #: backends/events/symbiansdl/symbiansdl-events.cpp:186 #: backends/platform/wince/CEActionsPocket.cpp:326 @@ -126,7 +127,7 @@ msgstr "Kyllä" #: gui/downloaddialog.cpp:118 gui/downloaddialog.cpp:153 #: gui/filebrowser-dialog.cpp:132 gui/fluidsynth-dialog.cpp:217 -#: gui/launcher.cpp:286 gui/launcher.cpp:394 gui/launcher.cpp:453 +#: gui/launcher.cpp:307 gui/launcher.cpp:415 gui/launcher.cpp:474 #: gui/storagewizarddialog.cpp:112 #: backends/events/symbiansdl/symbiansdl-events.cpp:186 #: backends/platform/wince/CEActionsPocket.cpp:326 @@ -136,7 +137,7 @@ msgstr "Kyllä" msgid "No" msgstr "Ei" -#: gui/downloaddialog.cpp:136 gui/launcher.cpp:544 +#: gui/downloaddialog.cpp:136 gui/launcher.cpp:565 msgid "ScummVM couldn't open the specified directory!" msgstr "ScummVM ei voi avata kyseistä hakemistoa!" @@ -147,8 +148,8 @@ msgid "" msgstr "" #: gui/downloaddialog.cpp:146 gui/editgamedialog.cpp:293 -#: gui/fluidsynth-dialog.cpp:153 gui/KeysDialog.cpp:42 gui/launcher.cpp:501 -#: gui/launcher.cpp:505 gui/massadd.cpp:92 gui/options.cpp:1377 +#: gui/fluidsynth-dialog.cpp:153 gui/KeysDialog.cpp:42 gui/launcher.cpp:522 +#: gui/launcher.cpp:526 gui/massadd.cpp:92 gui/options.cpp:1463 #: gui/saveload-dialog.cpp:1112 engines/engine.cpp:477 engines/engine.cpp:488 #: backends/platform/wii/options.cpp:47 #: backends/platform/wince/CELauncherDialog.cpp:54 @@ -231,8 +232,8 @@ msgstr "" "Pelin kieli. Tämä ei muuta esimerkiksi espanjankielistä versiota pelistä " "englanninkieliseksi." -#: gui/editgamedialog.cpp:151 gui/editgamedialog.cpp:165 gui/options.cpp:114 -#: gui/options.cpp:785 gui/options.cpp:798 gui/options.cpp:1261 +#: gui/editgamedialog.cpp:151 gui/editgamedialog.cpp:165 gui/options.cpp:121 +#: gui/options.cpp:812 gui/options.cpp:825 gui/options.cpp:1356 #: audio/null.cpp:41 msgid "<default>" msgstr "<oletus>" @@ -255,11 +256,11 @@ msgstr "Alusta:" msgid "Engine" msgstr "Moottori" -#: gui/editgamedialog.cpp:184 gui/options.cpp:1120 gui/options.cpp:1137 +#: gui/editgamedialog.cpp:184 gui/options.cpp:1147 gui/options.cpp:1232 msgid "Graphics" msgstr "Grafiikka" -#: gui/editgamedialog.cpp:184 gui/options.cpp:1120 gui/options.cpp:1137 +#: gui/editgamedialog.cpp:184 gui/options.cpp:1147 gui/options.cpp:1232 msgid "GFX" msgstr "GFX" @@ -272,7 +273,7 @@ msgctxt "lowres" msgid "Override global graphic settings" msgstr "Ohita globaalit grafiikka-asetukset" -#: gui/editgamedialog.cpp:196 gui/options.cpp:1143 +#: gui/editgamedialog.cpp:196 gui/options.cpp:1238 msgid "Audio" msgstr "Ääni" @@ -285,11 +286,11 @@ msgctxt "lowres" msgid "Override global audio settings" msgstr "Ohita globaalit ääniasetukset" -#: gui/editgamedialog.cpp:210 gui/options.cpp:1148 +#: gui/editgamedialog.cpp:210 gui/options.cpp:1243 msgid "Volume" msgstr "Voimakkuus" -#: gui/editgamedialog.cpp:212 gui/options.cpp:1150 +#: gui/editgamedialog.cpp:212 gui/options.cpp:1245 msgctxt "lowres" msgid "Volume" msgstr "Voimakkuus" @@ -303,7 +304,7 @@ msgctxt "lowres" msgid "Override global volume settings" msgstr "Ohita globaalit äänenvoimakkuusasetukset" -#: gui/editgamedialog.cpp:226 gui/options.cpp:1158 +#: gui/editgamedialog.cpp:226 gui/options.cpp:1253 msgid "MIDI" msgstr "MIDI" @@ -316,7 +317,7 @@ msgctxt "lowres" msgid "Override global MIDI settings" msgstr "Ohita globaalit MIDI-asetukset" -#: gui/editgamedialog.cpp:241 gui/options.cpp:1168 +#: gui/editgamedialog.cpp:241 gui/options.cpp:1263 msgid "MT-32" msgstr "MT-32" @@ -329,11 +330,11 @@ msgctxt "lowres" msgid "Override global MT-32 settings" msgstr "Ohita globaalit MT-32 asetukset" -#: gui/editgamedialog.cpp:255 gui/options.cpp:1175 +#: gui/editgamedialog.cpp:255 gui/options.cpp:1270 msgid "Paths" msgstr "Polut" -#: gui/editgamedialog.cpp:257 gui/options.cpp:1177 +#: gui/editgamedialog.cpp:257 gui/options.cpp:1272 msgctxt "lowres" msgid "Paths" msgstr "Polut" @@ -347,7 +348,7 @@ msgctxt "lowres" msgid "Game Path:" msgstr "Pelin polku:" -#: gui/editgamedialog.cpp:271 gui/options.cpp:1201 +#: gui/editgamedialog.cpp:271 gui/options.cpp:1296 msgid "Extra Path:" msgstr "Lisäkansio:" @@ -356,62 +357,62 @@ msgstr "Lisäkansio:" msgid "Specifies path to additional data used by the game" msgstr "Määrittää polun lisätiedostoihin joita peli mahdollisesti käyttää" -#: gui/editgamedialog.cpp:273 gui/options.cpp:1203 +#: gui/editgamedialog.cpp:273 gui/options.cpp:1298 msgctxt "lowres" msgid "Extra Path:" msgstr "Lisäkansio:" -#: gui/editgamedialog.cpp:280 gui/options.cpp:1185 +#: gui/editgamedialog.cpp:280 gui/options.cpp:1280 msgid "Save Path:" msgstr "Tallennuskansio:" #: gui/editgamedialog.cpp:280 gui/editgamedialog.cpp:282 -#: gui/editgamedialog.cpp:283 gui/options.cpp:1185 gui/options.cpp:1187 -#: gui/options.cpp:1188 +#: gui/editgamedialog.cpp:283 gui/options.cpp:1280 gui/options.cpp:1282 +#: gui/options.cpp:1283 msgid "Specifies where your saved games are put" msgstr "Määrittää polun pelitallennuksille" -#: gui/editgamedialog.cpp:282 gui/options.cpp:1187 +#: gui/editgamedialog.cpp:282 gui/options.cpp:1282 msgctxt "lowres" msgid "Save Path:" msgstr "Tallennuskansio:" -#: gui/editgamedialog.cpp:301 gui/editgamedialog.cpp:400 -#: gui/editgamedialog.cpp:459 gui/editgamedialog.cpp:520 gui/options.cpp:1196 -#: gui/options.cpp:1204 gui/options.cpp:1213 gui/options.cpp:1414 -#: gui/options.cpp:1420 gui/options.cpp:1428 gui/options.cpp:1451 -#: gui/options.cpp:1467 gui/options.cpp:1473 gui/options.cpp:1480 -#: gui/options.cpp:1488 gui/options.cpp:1640 gui/options.cpp:1643 -#: gui/options.cpp:1650 gui/options.cpp:1660 +#: gui/editgamedialog.cpp:301 gui/editgamedialog.cpp:398 +#: gui/editgamedialog.cpp:457 gui/editgamedialog.cpp:518 gui/options.cpp:1291 +#: gui/options.cpp:1299 gui/options.cpp:1308 gui/options.cpp:1488 +#: gui/options.cpp:1494 gui/options.cpp:1502 gui/options.cpp:1525 +#: gui/options.cpp:1554 gui/options.cpp:1560 gui/options.cpp:1567 +#: gui/options.cpp:1575 gui/options.cpp:1758 gui/options.cpp:1761 +#: gui/options.cpp:1768 gui/options.cpp:1778 msgctxt "path" msgid "None" msgstr "Ei määritelty" -#: gui/editgamedialog.cpp:306 gui/editgamedialog.cpp:406 -#: gui/editgamedialog.cpp:524 gui/options.cpp:1408 gui/options.cpp:1461 -#: gui/options.cpp:1646 backends/platform/wii/options.cpp:56 +#: gui/editgamedialog.cpp:306 gui/editgamedialog.cpp:404 +#: gui/editgamedialog.cpp:522 gui/options.cpp:1482 gui/options.cpp:1548 +#: gui/options.cpp:1764 backends/platform/wii/options.cpp:56 msgid "Default" msgstr "Oletus" -#: gui/editgamedialog.cpp:452 gui/options.cpp:1654 +#: gui/editgamedialog.cpp:450 gui/options.cpp:1772 msgid "Select SoundFont" msgstr "Valitse äänifontti" -#: gui/editgamedialog.cpp:491 +#: gui/editgamedialog.cpp:489 msgid "Select additional game directory" msgstr "Valitse lisäkansio pelille" -#: gui/editgamedialog.cpp:504 gui/options.cpp:1577 +#: gui/editgamedialog.cpp:502 gui/options.cpp:1695 msgid "Select directory for saved games" msgstr "Valitse kansio pelitallennuksille" -#: gui/editgamedialog.cpp:510 +#: gui/editgamedialog.cpp:508 msgid "" "Saved games sync feature doesn't work with non-default directories. If you " "want your saved games to sync, use default directory." msgstr "" -#: gui/editgamedialog.cpp:536 +#: gui/editgamedialog.cpp:534 msgid "This game ID is already taken. Please choose another one." msgstr "Pelin tunnus on jo käytössä. Valitse jokin muu." @@ -495,7 +496,7 @@ msgstr "" msgid "Triangle" msgstr "" -#: gui/fluidsynth-dialog.cpp:138 gui/options.cpp:1221 +#: gui/fluidsynth-dialog.cpp:138 gui/options.cpp:1316 msgid "Misc" msgstr "Muut" @@ -544,15 +545,15 @@ msgstr "Sulje" msgid "Mouse click" msgstr "Hiiren klikkaus" -#: gui/gui-manager.cpp:126 base/main.cpp:337 +#: gui/gui-manager.cpp:126 base/main.cpp:340 msgid "Display keyboard" msgstr "Näytä näppäimistö" -#: gui/gui-manager.cpp:130 base/main.cpp:341 +#: gui/gui-manager.cpp:130 base/main.cpp:344 msgid "Remap keys" msgstr "Määritä näppäimet uudelleen" -#: gui/gui-manager.cpp:133 base/main.cpp:344 engines/scumm/help.cpp:87 +#: gui/gui-manager.cpp:133 base/main.cpp:347 engines/scumm/help.cpp:87 msgid "Toggle fullscreen" msgstr "Kokoruututilan vaihto" @@ -586,110 +587,110 @@ msgstr "Paina haluamaasi nappia" msgid "Choose an action to map" msgstr "Valitse toiminto" -#: gui/launcher.cpp:117 engines/dialogs.cpp:111 engines/mohawk/dialogs.cpp:98 +#: gui/launcher.cpp:141 engines/dialogs.cpp:111 engines/mohawk/dialogs.cpp:98 msgid "~Q~uit" msgstr "~L~opeta" -#: gui/launcher.cpp:117 backends/platform/sdl/macosx/appmenu_osx.mm:106 +#: gui/launcher.cpp:141 backends/platform/sdl/macosx/appmenu_osx.mm:106 msgid "Quit ScummVM" msgstr "Lopeta ScummVM" -#: gui/launcher.cpp:118 +#: gui/launcher.cpp:142 msgid "A~b~out..." msgstr "Tietoa..." -#: gui/launcher.cpp:118 backends/platform/sdl/macosx/appmenu_osx.mm:80 +#: gui/launcher.cpp:142 backends/platform/sdl/macosx/appmenu_osx.mm:80 msgid "About ScummVM" msgstr "Tietoa ScummVM:stä" -#: gui/launcher.cpp:119 +#: gui/launcher.cpp:143 msgid "~O~ptions..." msgstr "~A~setukset" -#: gui/launcher.cpp:119 +#: gui/launcher.cpp:143 msgid "Change global ScummVM options" msgstr "Muuta globaaleja ScummVM:n asetuksia" -#: gui/launcher.cpp:121 +#: gui/launcher.cpp:145 msgid "~S~tart" msgstr "~P~elaa" -#: gui/launcher.cpp:121 +#: gui/launcher.cpp:145 msgid "Start selected game" msgstr "Pelaa valittua peliä" -#: gui/launcher.cpp:124 +#: gui/launcher.cpp:148 msgid "~L~oad..." msgstr "~L~ataa..." -#: gui/launcher.cpp:124 +#: gui/launcher.cpp:148 msgid "Load saved game for selected game" msgstr "Lataa pelitallennus valitulle pelille" -#: gui/launcher.cpp:129 +#: gui/launcher.cpp:153 msgid "~A~dd Game..." msgstr "~L~isää peli..." -#: gui/launcher.cpp:129 gui/launcher.cpp:136 +#: gui/launcher.cpp:153 gui/launcher.cpp:160 msgid "Hold Shift for Mass Add" msgstr "Pidä Shift-näppäintä pohjassa lisätäksesi useita pelejä kerralla" -#: gui/launcher.cpp:131 +#: gui/launcher.cpp:155 msgid "~E~dit Game..." msgstr "Muokkaa peliä..." -#: gui/launcher.cpp:131 gui/launcher.cpp:138 +#: gui/launcher.cpp:155 gui/launcher.cpp:162 msgid "Change game options" msgstr "Muuta pelin asetuksia" -#: gui/launcher.cpp:133 +#: gui/launcher.cpp:157 msgid "~R~emove Game" msgstr "Poista peli" -#: gui/launcher.cpp:133 gui/launcher.cpp:140 +#: gui/launcher.cpp:157 gui/launcher.cpp:164 msgid "Remove game from the list. The game data files stay intact" msgstr "Poista peli listasta. Pelin tiedostoja ei poisteta levyltä" -#: gui/launcher.cpp:136 +#: gui/launcher.cpp:160 msgctxt "lowres" msgid "~A~dd Game..." msgstr "Lisää peli..." -#: gui/launcher.cpp:138 +#: gui/launcher.cpp:162 msgctxt "lowres" msgid "~E~dit Game..." msgstr "Muokkaa peliä..." -#: gui/launcher.cpp:140 +#: gui/launcher.cpp:164 msgctxt "lowres" msgid "~R~emove Game" msgstr "Poista peli..." -#: gui/launcher.cpp:148 +#: gui/launcher.cpp:172 msgid "Search in game list" msgstr "Etsi peliä listasta" -#: gui/launcher.cpp:152 gui/launcher.cpp:750 +#: gui/launcher.cpp:176 gui/launcher.cpp:771 msgid "Search:" msgstr "Etsi:" -#: gui/launcher.cpp:176 engines/dialogs.cpp:115 engines/cruise/menu.cpp:214 -#: engines/mohawk/dialogs.cpp:103 engines/mohawk/riven.cpp:733 +#: gui/launcher.cpp:200 engines/dialogs.cpp:115 engines/cruise/menu.cpp:214 +#: engines/mohawk/dialogs.cpp:103 engines/mohawk/riven.cpp:734 #: engines/pegasus/pegasus.cpp:353 engines/tsage/scenes.cpp:601 msgid "Load game:" msgstr "Lataa peli:" -#: gui/launcher.cpp:176 engines/dialogs.cpp:115 +#: gui/launcher.cpp:200 engines/dialogs.cpp:115 #: backends/platform/wince/CEActionsPocket.cpp:267 #: backends/platform/wince/CEActionsSmartphone.cpp:231 #: engines/cruise/menu.cpp:214 engines/mohawk/dialogs.cpp:103 -#: engines/mohawk/riven.cpp:733 engines/parallaction/saveload.cpp:194 +#: engines/mohawk/riven.cpp:734 engines/parallaction/saveload.cpp:194 #: engines/pegasus/pegasus.cpp:353 engines/scumm/dialogs.cpp:185 #: engines/tsage/scenes.cpp:601 msgid "Load" msgstr "Lataa" -#: gui/launcher.cpp:285 +#: gui/launcher.cpp:306 msgid "" "Do you really want to run the mass game detector? This could potentially add " "a huge number of games." @@ -697,40 +698,40 @@ msgstr "" "Haluatko varmasti lisätä pelejä alihakemistoineen? Tämä voi lisätä suuren " "määrän pelejä." -#: gui/launcher.cpp:344 +#: gui/launcher.cpp:365 msgid "This directory cannot be used yet, it is being downloaded into!" msgstr "" -#: gui/launcher.cpp:394 +#: gui/launcher.cpp:415 msgid "Do you really want to remove this game configuration?" msgstr "Haluatko varmasti poistaa pelin asetuksineen listalta?" -#: gui/launcher.cpp:452 +#: gui/launcher.cpp:473 #, fuzzy msgid "Do you want to load saved game?" msgstr "Haluatko tallentaa vai ladata pelin?" -#: gui/launcher.cpp:501 +#: gui/launcher.cpp:522 msgid "This game does not support loading games from the launcher." msgstr "Tämä peli ei tue pelitallennuksien lataamista pelin ulkopuolelta." -#: gui/launcher.cpp:505 +#: gui/launcher.cpp:526 msgid "ScummVM could not find any engine capable of running the selected game!" msgstr "ScummVM ei löytänyt pelimoottoria joka tukee valittua peliä!" -#: gui/launcher.cpp:556 +#: gui/launcher.cpp:577 msgid "ScummVM could not find any game in the specified directory!" msgstr "ScummVM ei löytänyt yhtään peliä kyseisestä hakemistosta!" -#: gui/launcher.cpp:569 +#: gui/launcher.cpp:590 msgid "Pick the game:" msgstr "Valitse peli:" -#: gui/launcher.cpp:687 +#: gui/launcher.cpp:708 msgid "Mass Add..." msgstr "Lisää monta..." -#: gui/launcher.cpp:689 +#: gui/launcher.cpp:710 msgid "Record..." msgstr "" @@ -779,148 +780,148 @@ msgstr "Vaihda" msgid "Fast replay" msgstr "Nopea moodi" -#: gui/options.cpp:112 common/updates.cpp:56 +#: gui/options.cpp:119 common/updates.cpp:56 msgid "Never" msgstr "Ei koskaan" -#: gui/options.cpp:112 +#: gui/options.cpp:119 msgid "every 5 mins" msgstr "5 minuutin välein" -#: gui/options.cpp:112 +#: gui/options.cpp:119 msgid "every 10 mins" msgstr "10 minuutin välein" -#: gui/options.cpp:112 +#: gui/options.cpp:119 msgid "every 15 mins" msgstr "15 minuutin välein" -#: gui/options.cpp:112 +#: gui/options.cpp:119 msgid "every 30 mins" msgstr "30 minuutin välein" -#: gui/options.cpp:114 +#: gui/options.cpp:121 msgid "8 kHz" msgstr "8 kHz" -#: gui/options.cpp:114 +#: gui/options.cpp:121 msgid "11 kHz" msgstr "11 kHz" -#: gui/options.cpp:114 +#: gui/options.cpp:121 msgid "22 kHz" msgstr "22 kHz" -#: gui/options.cpp:114 +#: gui/options.cpp:121 msgid "44 kHz" msgstr "44 kHz" -#: gui/options.cpp:114 +#: gui/options.cpp:121 msgid "48 kHz" msgstr "48 kHz" -#: gui/options.cpp:291 gui/options.cpp:528 gui/options.cpp:629 -#: gui/options.cpp:699 gui/options.cpp:910 +#: gui/options.cpp:289 gui/options.cpp:552 gui/options.cpp:657 +#: gui/options.cpp:726 gui/options.cpp:937 msgctxt "soundfont" msgid "None" msgstr "Ei käytössä" -#: gui/options.cpp:432 +#: gui/options.cpp:456 msgid "Failed to apply some of the graphic options changes:" msgstr "Joitain grafiikka-asetuksia ei saatu asetettua:" -#: gui/options.cpp:444 +#: gui/options.cpp:468 msgid "the video mode could not be changed." msgstr "videotilaa ei voitu vaihtaa." -#: gui/options.cpp:450 +#: gui/options.cpp:474 msgid "the aspect ratio setting could not be changed" msgstr "kuvasuhdekorjausasetusta ei voitu muuttaa" -#: gui/options.cpp:456 +#: gui/options.cpp:480 msgid "the fullscreen setting could not be changed" msgstr "kokoruututilaa ei voitu muuttaa" -#: gui/options.cpp:462 +#: gui/options.cpp:486 #, fuzzy msgid "the filtering setting could not be changed" msgstr "kokoruututilaa ei voitu muuttaa" -#: gui/options.cpp:782 +#: gui/options.cpp:809 msgid "Graphics mode:" msgstr "Grafiikkatila:" -#: gui/options.cpp:796 +#: gui/options.cpp:823 msgid "Render mode:" msgstr "Renderöintitila:" -#: gui/options.cpp:796 gui/options.cpp:797 +#: gui/options.cpp:823 gui/options.cpp:824 msgid "Special dithering modes supported by some games" msgstr "Erityiset dithering asetukset joita jotkut pelit tukevat" -#: gui/options.cpp:808 -#: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:2450 +#: gui/options.cpp:835 backends/graphics/openglsdl/openglsdl-graphics.cpp:615 +#: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:2460 msgid "Fullscreen mode" msgstr "Kokoruututila" -#: gui/options.cpp:811 +#: gui/options.cpp:838 #, fuzzy msgid "Filter graphics" msgstr "Grafiikka" -#: gui/options.cpp:811 +#: gui/options.cpp:838 msgid "Use linear filtering when scaling graphics" msgstr "" -#: gui/options.cpp:814 +#: gui/options.cpp:841 msgid "Aspect ratio correction" msgstr "Kuvasuhteen korjaus" -#: gui/options.cpp:814 +#: gui/options.cpp:841 msgid "Correct aspect ratio for 320x200 games" msgstr "Oikea kuvasuhde 320x200 peleille" -#: gui/options.cpp:822 +#: gui/options.cpp:849 msgid "Preferred Device:" msgstr "Ensisijainen laite:" -#: gui/options.cpp:822 +#: gui/options.cpp:849 msgid "Music Device:" msgstr "Musiikkilaite:" -#: gui/options.cpp:822 gui/options.cpp:824 +#: gui/options.cpp:849 gui/options.cpp:851 msgid "Specifies preferred sound device or sound card emulator" msgstr "" "Määrittää äänilaitteen tai äänikorttiemulaattorin jota ensisijaisesti tulisi " "käyttää" -#: gui/options.cpp:822 gui/options.cpp:824 gui/options.cpp:825 +#: gui/options.cpp:849 gui/options.cpp:851 gui/options.cpp:852 msgid "Specifies output sound device or sound card emulator" msgstr "Määrittää äänikortin tai äänikorttia emuloivan ohjelmiston" -#: gui/options.cpp:824 +#: gui/options.cpp:851 msgctxt "lowres" msgid "Preferred Dev.:" msgstr "Ensisijainen:" -#: gui/options.cpp:824 +#: gui/options.cpp:851 msgctxt "lowres" msgid "Music Device:" msgstr "Musiikkilaite:" -#: gui/options.cpp:851 +#: gui/options.cpp:878 msgid "AdLib emulator:" msgstr "AdLib emulaattori:" -#: gui/options.cpp:851 gui/options.cpp:852 +#: gui/options.cpp:878 gui/options.cpp:879 msgid "AdLib is used for music in many games" msgstr "AdLibiä käytetään monien pelien musiikeissa" -#: gui/options.cpp:862 +#: gui/options.cpp:889 msgid "Output rate:" msgstr "Taajuus:" -#: gui/options.cpp:862 gui/options.cpp:863 +#: gui/options.cpp:889 gui/options.cpp:890 msgid "" "Higher value specifies better sound quality but may be not supported by your " "soundcard" @@ -928,61 +929,61 @@ msgstr "" "Isommat taajuudet merkitsevät parempaa äänenlaatua, mutta äänikorttisi ei " "ehkä tue niitä." -#: gui/options.cpp:873 +#: gui/options.cpp:900 msgid "GM Device:" msgstr "GM laite:" -#: gui/options.cpp:873 +#: gui/options.cpp:900 msgid "Specifies default sound device for General MIDI output" msgstr "Määrittää oletuksena käytettävän äänilaitteen General MIDIlle" -#: gui/options.cpp:884 +#: gui/options.cpp:911 msgid "Don't use General MIDI music" msgstr "Älä käytä General MIDIä musiikissa" -#: gui/options.cpp:895 gui/options.cpp:957 +#: gui/options.cpp:922 gui/options.cpp:984 msgid "Use first available device" msgstr "Käytä ensimmäistä laitetta" -#: gui/options.cpp:907 +#: gui/options.cpp:934 msgid "SoundFont:" msgstr "Äänifontti:" -#: gui/options.cpp:907 gui/options.cpp:909 gui/options.cpp:910 +#: gui/options.cpp:934 gui/options.cpp:936 gui/options.cpp:937 msgid "SoundFont is supported by some audio cards, FluidSynth and Timidity" msgstr "" "Jotkut äänikortit tukevat äänifonttia (SoundFont), FluidSynth ja Timidity" -#: gui/options.cpp:909 +#: gui/options.cpp:936 msgctxt "lowres" msgid "SoundFont:" msgstr "Äänifontti:" -#: gui/options.cpp:915 +#: gui/options.cpp:942 msgid "Mixed AdLib/MIDI mode" msgstr "Yhdistetty AdLib/MIDI tila" -#: gui/options.cpp:915 +#: gui/options.cpp:942 msgid "Use both MIDI and AdLib sound generation" msgstr "Käytä sekä MIDIä että Adlibiä äänentuotantoon" -#: gui/options.cpp:918 +#: gui/options.cpp:945 msgid "MIDI gain:" msgstr "MIDIn äänilisäys:" -#: gui/options.cpp:928 +#: gui/options.cpp:955 msgid "MT-32 Device:" msgstr "MT-32 laite:" -#: gui/options.cpp:928 +#: gui/options.cpp:955 msgid "Specifies default sound device for Roland MT-32/LAPC1/CM32l/CM64 output" msgstr "Määrittää oletusäänilaitteen Roland MT-32/LAPC1/CM32l/CM64:n käyttöön" -#: gui/options.cpp:933 +#: gui/options.cpp:960 msgid "True Roland MT-32 (disable GM emulation)" msgstr "Aito Roland MT-32 (ei GM emulointia)" -#: gui/options.cpp:933 gui/options.cpp:935 +#: gui/options.cpp:960 gui/options.cpp:962 msgid "" "Check if you want to use your real hardware Roland-compatible sound device " "connected to your computer" @@ -990,358 +991,358 @@ msgstr "" "Valitse jos haluat käyttää aitoa Roland-yhteensopivaa laittetta joka on " "kytketty tietokoneeseesi" -#: gui/options.cpp:935 +#: gui/options.cpp:962 msgctxt "lowres" msgid "True Roland MT-32 (no GM emulation)" msgstr "Aito Roland MT-32 (ei GM emulointia)" -#: gui/options.cpp:938 +#: gui/options.cpp:965 #, fuzzy msgid "Roland GS Device (enable MT-32 mappings)" msgstr "Aito Roland MT-32 (ei GM emulointia)" -#: gui/options.cpp:938 +#: gui/options.cpp:965 msgid "" "Check if you want to enable patch mappings to emulate an MT-32 on a Roland " "GS device" msgstr "" -#: gui/options.cpp:947 +#: gui/options.cpp:974 msgid "Don't use Roland MT-32 music" msgstr "Älä käytä Roland MT-32 musiikkia" -#: gui/options.cpp:974 +#: gui/options.cpp:1001 msgid "Text and Speech:" msgstr "Tekstitys ja puhe:" -#: gui/options.cpp:978 gui/options.cpp:988 +#: gui/options.cpp:1005 gui/options.cpp:1015 msgid "Speech" msgstr "Puhe" -#: gui/options.cpp:979 gui/options.cpp:989 +#: gui/options.cpp:1006 gui/options.cpp:1016 msgid "Subtitles" msgstr "Tekstitys" -#: gui/options.cpp:980 +#: gui/options.cpp:1007 msgid "Both" msgstr "Molemmat" -#: gui/options.cpp:982 +#: gui/options.cpp:1009 msgid "Subtitle speed:" msgstr "Tekstin nopeus:" -#: gui/options.cpp:984 +#: gui/options.cpp:1011 msgctxt "lowres" msgid "Text and Speech:" msgstr "Tekstitys ja puhe:" -#: gui/options.cpp:988 +#: gui/options.cpp:1015 msgid "Spch" msgstr "Puhe" -#: gui/options.cpp:989 +#: gui/options.cpp:1016 msgid "Subs" msgstr "Tekstit" -#: gui/options.cpp:990 +#: gui/options.cpp:1017 msgctxt "lowres" msgid "Both" msgstr "Molemmat" -#: gui/options.cpp:990 +#: gui/options.cpp:1017 msgid "Show subtitles and play speech" msgstr "Näytä tekstitys ja käytä puhetta" -#: gui/options.cpp:992 +#: gui/options.cpp:1019 msgctxt "lowres" msgid "Subtitle speed:" msgstr "Tekstin nopeus:" -#: gui/options.cpp:1008 +#: gui/options.cpp:1035 msgid "Music volume:" msgstr "Musiikki:" -#: gui/options.cpp:1010 +#: gui/options.cpp:1037 msgctxt "lowres" msgid "Music volume:" msgstr "Musiikki:" -#: gui/options.cpp:1017 +#: gui/options.cpp:1044 msgid "Mute All" msgstr "Vaimenna" -#: gui/options.cpp:1020 +#: gui/options.cpp:1047 msgid "SFX volume:" msgstr "Ääniefektit:" -#: gui/options.cpp:1020 gui/options.cpp:1022 gui/options.cpp:1023 +#: gui/options.cpp:1047 gui/options.cpp:1049 gui/options.cpp:1050 msgid "Special sound effects volume" msgstr "Erikoisefektit" -#: gui/options.cpp:1022 +#: gui/options.cpp:1049 msgctxt "lowres" msgid "SFX volume:" msgstr "Ääniefektit:" -#: gui/options.cpp:1030 +#: gui/options.cpp:1057 msgid "Speech volume:" msgstr "Puhe:" -#: gui/options.cpp:1032 +#: gui/options.cpp:1059 msgctxt "lowres" msgid "Speech volume:" msgstr "Puhe:" -#: gui/options.cpp:1162 +#: gui/options.cpp:1257 msgid "FluidSynth Settings" msgstr "" -#: gui/options.cpp:1193 +#: gui/options.cpp:1288 msgid "Theme Path:" msgstr "Teemojen polku:" -#: gui/options.cpp:1195 +#: gui/options.cpp:1290 msgctxt "lowres" msgid "Theme Path:" msgstr "Teemojen polku:" -#: gui/options.cpp:1201 gui/options.cpp:1203 gui/options.cpp:1204 +#: gui/options.cpp:1296 gui/options.cpp:1298 gui/options.cpp:1299 msgid "Specifies path to additional data used by all games or ScummVM" msgstr "" "Määrittää polun, jossa on lisätiedostoja joita ScummVM tai kaikki pelit " "käyttävät" -#: gui/options.cpp:1210 +#: gui/options.cpp:1305 msgid "Plugins Path:" msgstr "Pluginien sijainti:" -#: gui/options.cpp:1212 +#: gui/options.cpp:1307 msgctxt "lowres" msgid "Plugins Path:" msgstr "Pluginien sijainti:" -#: gui/options.cpp:1223 +#: gui/options.cpp:1318 msgctxt "lowres" msgid "Misc" msgstr "Muut" -#: gui/options.cpp:1225 +#: gui/options.cpp:1320 msgid "Theme:" msgstr "Teema" -#: gui/options.cpp:1229 +#: gui/options.cpp:1324 msgid "GUI Renderer:" msgstr "GUI renderöijä:" -#: gui/options.cpp:1241 +#: gui/options.cpp:1336 msgid "Autosave:" msgstr "Autom. tallennus:" -#: gui/options.cpp:1243 +#: gui/options.cpp:1338 msgctxt "lowres" msgid "Autosave:" msgstr "Autom. tallennus:" -#: gui/options.cpp:1251 +#: gui/options.cpp:1346 msgid "Keys" msgstr "Näppäimet" -#: gui/options.cpp:1258 +#: gui/options.cpp:1353 msgid "GUI Language:" msgstr "ScummVM:n kieli:" -#: gui/options.cpp:1258 +#: gui/options.cpp:1353 msgid "Language of ScummVM GUI" msgstr "ScummVM käyttöliittymän kieli" -#: gui/options.cpp:1286 +#: gui/options.cpp:1381 msgid "Update check:" msgstr "" -#: gui/options.cpp:1286 +#: gui/options.cpp:1381 msgid "How often to check ScummVM updates" msgstr "" -#: gui/options.cpp:1298 +#: gui/options.cpp:1393 msgid "Check now" msgstr "" -#: gui/options.cpp:1306 +#: gui/options.cpp:1401 msgid "Cloud" msgstr "" -#: gui/options.cpp:1308 +#: gui/options.cpp:1403 msgctxt "lowres" msgid "Cloud" msgstr "" -#: gui/options.cpp:1319 +#: gui/options.cpp:1408 msgid "Storage:" msgstr "" -#: gui/options.cpp:1319 +#: gui/options.cpp:1408 msgid "Active cloud storage" msgstr "" -#: gui/options.cpp:1326 gui/options.cpp:1877 +#: gui/options.cpp:1415 gui/options.cpp:1972 msgid "<none>" msgstr "" -#: gui/options.cpp:1330 backends/platform/wii/options.cpp:114 +#: gui/options.cpp:1419 backends/platform/wii/options.cpp:114 msgid "Username:" msgstr "Käyttäjänimi:" -#: gui/options.cpp:1330 +#: gui/options.cpp:1419 msgid "Username used by this storage" msgstr "" -#: gui/options.cpp:1333 +#: gui/options.cpp:1422 msgid "Used space:" msgstr "" -#: gui/options.cpp:1333 +#: gui/options.cpp:1422 msgid "Space used by ScummVM's saved games on this storage" msgstr "" -#: gui/options.cpp:1336 +#: gui/options.cpp:1425 msgid "Last sync time:" msgstr "" -#: gui/options.cpp:1336 +#: gui/options.cpp:1425 msgid "When the last saved games sync for this storage occured" msgstr "" -#: gui/options.cpp:1339 gui/storagewizarddialog.cpp:71 +#: gui/options.cpp:1428 gui/storagewizarddialog.cpp:71 msgid "Connect" msgstr "" -#: gui/options.cpp:1339 +#: gui/options.cpp:1428 msgid "Open wizard dialog to connect your cloud storage account" msgstr "" -#: gui/options.cpp:1340 +#: gui/options.cpp:1429 msgid "Refresh" msgstr "" -#: gui/options.cpp:1340 +#: gui/options.cpp:1429 msgid "Refresh current cloud storage information (username and usage)" msgstr "" -#: gui/options.cpp:1341 +#: gui/options.cpp:1430 #, fuzzy msgid "Download" msgstr "Alas" -#: gui/options.cpp:1341 +#: gui/options.cpp:1430 msgid "Open downloads manager dialog" msgstr "" -#: gui/options.cpp:1343 +#: gui/options.cpp:1432 msgid "Run server" msgstr "" -#: gui/options.cpp:1343 +#: gui/options.cpp:1432 msgid "Run local webserver" msgstr "" -#: gui/options.cpp:1344 gui/options.cpp:1987 +#: gui/options.cpp:1433 gui/options.cpp:2082 #, fuzzy msgid "Not running" msgstr "Virhe ajettaessa peliä:" -#: gui/options.cpp:1348 +#: gui/options.cpp:1437 #, fuzzy msgid "/root/ Path:" msgstr "Lisäkansio:" -#: gui/options.cpp:1348 gui/options.cpp:1350 gui/options.cpp:1351 +#: gui/options.cpp:1437 gui/options.cpp:1439 gui/options.cpp:1440 #, fuzzy msgid "Specifies which directory the Files Manager can access" msgstr "Määrittää polun pelitallennuksille" -#: gui/options.cpp:1350 +#: gui/options.cpp:1439 #, fuzzy msgctxt "lowres" msgid "/root/ Path:" msgstr "Lisäkansio:" -#: gui/options.cpp:1360 +#: gui/options.cpp:1449 #, fuzzy msgid "Server's port:" msgstr "Palvelin:" -#: gui/options.cpp:1360 +#: gui/options.cpp:1449 msgid "" "Which port is used by the server\n" "Auth with server is not available with non-default port" msgstr "" -#: gui/options.cpp:1520 -msgid "You have to restart ScummVM before your changes will take effect." -msgstr "ScummVM pitää käynnistää uudelleen jotta muutokset tulevat voimaan." +#: gui/options.cpp:1462 +msgid "Apply" +msgstr "" -#: gui/options.cpp:1543 +#: gui/options.cpp:1628 #, fuzzy msgid "Failed to change cloud storage!" msgstr "Pelin tallentaminen epäonnistui." -#: gui/options.cpp:1546 +#: gui/options.cpp:1631 msgid "Another cloud storage is already active." msgstr "" -#: gui/options.cpp:1584 +#: gui/options.cpp:1667 +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 "" +"Valitsemasi teema ei tue nykyistä valitsemaasi kieltä. Vaihda kieli ensin, " +"ja yritä sitten uudelleen." + +#: gui/options.cpp:1702 msgid "The chosen directory cannot be written to. Please select another one." msgstr "Valittuun hakemistoon ei voi kirjoittaa. Valitse toinen hakemisto." -#: gui/options.cpp:1593 +#: gui/options.cpp:1711 msgid "Select directory for GUI themes" msgstr "Valitse hakemisto käyttöliittymän teemoille" -#: gui/options.cpp:1603 +#: gui/options.cpp:1721 msgid "Select directory for extra files" msgstr "Valitse hakemisto lisätiedostoille" -#: gui/options.cpp:1614 +#: gui/options.cpp:1732 msgid "Select directory for plugins" msgstr "Valitse hakemisto plugineille" -#: gui/options.cpp:1626 +#: gui/options.cpp:1744 #, fuzzy msgid "Select directory for Files Manager /root/" msgstr "Valitse hakemisto lisätiedostoille" -#: gui/options.cpp:1688 -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 "" -"Valitsemasi teema ei tue nykyistä valitsemaasi kieltä. Vaihda kieli ensin, " -"ja yritä sitten uudelleen." - -#: gui/options.cpp:1884 +#: gui/options.cpp:1979 #, c-format msgid "%llu bytes" msgstr "" -#: gui/options.cpp:1892 +#: gui/options.cpp:1987 msgid "<right now>" msgstr "" -#: gui/options.cpp:1894 +#: gui/options.cpp:1989 #, fuzzy msgid "<never>" msgstr "Ei koskaan" -#: gui/options.cpp:1978 +#: gui/options.cpp:2073 #, fuzzy msgid "Stop server" msgstr "Palvelin:" -#: gui/options.cpp:1979 +#: gui/options.cpp:2074 msgid "Stop local webserver" msgstr "" -#: gui/options.cpp:2068 +#: gui/options.cpp:2163 msgid "" "Request failed.\n" "Check your Internet connection." @@ -1619,35 +1620,35 @@ msgstr "" msgid "Clear value" msgstr "Tyhjennä arvo" -#: base/main.cpp:250 +#: base/main.cpp:253 #, c-format msgid "Engine does not support debug level '%s'" msgstr "Pelimoottori ei tue debug tasoa '%s'" -#: base/main.cpp:324 +#: base/main.cpp:327 msgid "Menu" msgstr "Valikko" -#: base/main.cpp:327 backends/platform/symbian/src/SymbianActions.cpp:45 +#: base/main.cpp:330 backends/platform/symbian/src/SymbianActions.cpp:45 #: backends/platform/wince/CEActionsPocket.cpp:45 #: backends/platform/wince/CEActionsSmartphone.cpp:46 msgid "Skip" msgstr "Ohita" -#: base/main.cpp:330 backends/platform/symbian/src/SymbianActions.cpp:50 +#: base/main.cpp:333 backends/platform/symbian/src/SymbianActions.cpp:50 #: backends/platform/wince/CEActionsPocket.cpp:42 msgid "Pause" msgstr "Tauko" -#: base/main.cpp:333 +#: base/main.cpp:336 msgid "Skip line" msgstr "Ohita rivi" -#: base/main.cpp:542 +#: base/main.cpp:547 msgid "Error running game:" msgstr "Virhe ajettaessa peliä:" -#: base/main.cpp:589 +#: base/main.cpp:594 msgid "Could not find any engine capable of running the selected game" msgstr "Pelimoottoria joka tukisi valittua peliä ei löytynyt" @@ -2022,11 +2023,11 @@ msgstr "" msgid "PC-98 Audio" msgstr "Ääni" -#: audio/softsynth/mt32.cpp:196 +#: audio/softsynth/mt32.cpp:197 msgid "Initializing MT-32 Emulator" msgstr "Alustetaan MT-32 emulaattoria" -#: audio/softsynth/mt32.cpp:434 +#: audio/softsynth/mt32.cpp:435 msgid "MT-32 Emulator" msgstr "MT-32 emulaattori" @@ -2042,34 +2043,34 @@ msgstr "IBM PCjr emulaattori" msgid "C64 Audio Emulator" msgstr "C64 Audio emulaattori" -#: backends/cloud/storage.cpp:210 +#: backends/cloud/storage.cpp:211 #, fuzzy msgid "Saved games sync complete." msgstr "Skannaus on valmis!" -#: backends/cloud/storage.cpp:221 +#: backends/cloud/storage.cpp:222 msgid "Saved games sync was cancelled." msgstr "" -#: backends/cloud/storage.cpp:223 +#: backends/cloud/storage.cpp:224 msgid "" "Saved games sync failed.\n" "Check your Internet connection." msgstr "" -#: backends/cloud/storage.cpp:327 +#: backends/cloud/storage.cpp:328 #, c-format msgid "" "Download complete.\n" "Failed to download %u files." msgstr "" -#: backends/cloud/storage.cpp:329 +#: backends/cloud/storage.cpp:330 #, fuzzy msgid "Download complete." msgstr "Skannaus on valmis!" -#: backends/cloud/storage.cpp:339 +#: backends/cloud/storage.cpp:340 #, fuzzy msgid "Download failed." msgstr "Lataa peli:" @@ -2182,43 +2183,53 @@ msgstr "" msgid "OpenGL" msgstr "Avaa" -#: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:47 -#: backends/graphics/wincesdl/wincesdl-graphics.cpp:88 -#: backends/graphics/wincesdl/wincesdl-graphics.cpp:95 -msgid "Normal (no scaling)" -msgstr "Normaali (ei skaalausta)" +#: backends/graphics/openglsdl/openglsdl-graphics.cpp:617 +#: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:2462 +msgid "Windowed mode" +msgstr "Ikkunoitu tila" -#: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:66 -msgctxt "lowres" -msgid "Normal (no scaling)" -msgstr "Normaali (ei skaalausta)" +#: backends/graphics/openglsdl/openglsdl-graphics.cpp:710 +#, c-format +msgid "Resolution: %dx%d" +msgstr "" -#: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:2329 +#: backends/graphics/openglsdl/openglsdl-graphics.cpp:731 +#: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:2338 msgid "Enabled aspect ratio correction" msgstr "Kuvasuhteen korjaus päällä" -#: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:2335 +#: backends/graphics/openglsdl/openglsdl-graphics.cpp:733 +#: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:2344 msgid "Disabled aspect ratio correction" msgstr "Kuvasuhteen korjaus pois päältä" -#: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:2353 +#: backends/graphics/openglsdl/openglsdl-graphics.cpp:753 +#: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:2362 #, fuzzy msgid "Filtering enabled" msgstr "Klikkaus päällä" -#: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:2355 +#: backends/graphics/openglsdl/openglsdl-graphics.cpp:755 +#: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:2364 #, fuzzy msgid "Filtering disabled" msgstr "Klikkaus pois päältä" -#: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:2407 +#: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:47 +#: backends/graphics/wincesdl/wincesdl-graphics.cpp:88 +#: backends/graphics/wincesdl/wincesdl-graphics.cpp:95 +msgid "Normal (no scaling)" +msgstr "Normaali (ei skaalausta)" + +#: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:66 +msgctxt "lowres" +msgid "Normal (no scaling)" +msgstr "Normaali (ei skaalausta)" + +#: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:2417 msgid "Active graphics filter:" msgstr "Valittu grafiikkafiltteri:" -#: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:2452 -msgid "Windowed mode" -msgstr "Ikkunoitu tila" - #: backends/keymapper/remap-dialog.cpp:48 msgid "Keymap:" msgstr "Näppäinkartta:" @@ -3128,6 +3139,39 @@ msgstr "Päävalikko" msgid "~W~ater Effect Enabled" msgstr "Vesiefekti päällä" +#: engines/mohawk/riven.cpp:150 +msgid "" +"You're missing a Riven executable. The Windows executable is 'riven.exe' or " +"'rivendmo.exe'. " +msgstr "" + +#: engines/mohawk/riven.cpp:151 +msgid "" +"Using the 'arcriven.z' installer file also works. In addition, you can use " +"the Mac 'Riven' executable." +msgstr "" + +#: engines/mohawk/riven.cpp:162 +msgid "" +"You're missing 'extras.mhk'. Using the 'arcriven.z' installer file also " +"works." +msgstr "" + +#: engines/mohawk/riven_external.cpp:213 +msgid "" +"Exploration beyond this point available only within the full version of\n" +"the game." +msgstr "" + +#: engines/mohawk/riven_external.cpp:655 +msgid "" +"At this point, the Riven Demo would\n" +"ask if you would like to open a web browser\n" +"to bring you to the Red Orb store to buy\n" +"the game. ScummVM cannot do that and\n" +"the site no longer exists." +msgstr "" + #: engines/mohawk/mohawk.cpp:61 #, fuzzy msgid "The game is paused. Press any key to continue." @@ -4259,6 +4303,9 @@ msgstr "" msgid "Use MPEG video from the DVD version, instead of lower resolution AVI" msgstr "Käytä vaihtoehtoisia hopeisia kursoreita normaalien kultaisten sijaan" +#~ msgid "You have to restart ScummVM before your changes will take effect." +#~ msgstr "ScummVM pitää käynnistää uudelleen jotta muutokset tulevat voimaan." + #, fuzzy #~ msgid "Specifies where Files Manager can access to" #~ msgstr "Määrittää polun pelitallennuksille" diff --git a/po/fr_FR.po b/po/fr_FR.po index 53c2ac35f8..95f258ae36 100644 --- a/po/fr_FR.po +++ b/po/fr_FR.po @@ -7,16 +7,17 @@ msgid "" msgstr "" "Project-Id-Version: ScummVM 1.8.0git\n" "Report-Msgid-Bugs-To: scummvm-devel@lists.scummvm.org\n" -"POT-Creation-Date: 2016-10-12 23:37+0100\n" -"PO-Revision-Date: 2016-09-05 21:34+0100\n" +"POT-Creation-Date: 2016-11-05 12:43+0100\n" +"PO-Revision-Date: 2016-11-08 02:19+0000\n" "Last-Translator: Thierry Crozat <criezy@scummvm.org>\n" "Language-Team: French <scummvm-devel@lists.scummvm.org>\n" -"Language: Francais\n" +"Language: fr_FR\n" "MIME-Version: 1.0\n" "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.8.6\n" +"X-Language-name: Francais\n" #: gui/about.cpp:94 #, c-format @@ -56,7 +57,7 @@ msgstr "Remonter" #: gui/browser.cpp:75 gui/chooser.cpp:46 gui/editgamedialog.cpp:292 #: gui/editrecorddialog.cpp:67 gui/filebrowser-dialog.cpp:64 #: gui/fluidsynth-dialog.cpp:152 gui/KeysDialog.cpp:43 gui/massadd.cpp:95 -#: gui/options.cpp:1376 gui/predictivedialog.cpp:73 gui/recorderdialog.cpp:69 +#: gui/options.cpp:1461 gui/predictivedialog.cpp:73 gui/recorderdialog.cpp:69 #: gui/recorderdialog.cpp:155 gui/remotebrowser.cpp:59 #: gui/saveload-dialog.cpp:383 gui/saveload-dialog.cpp:443 #: gui/saveload-dialog.cpp:717 gui/saveload-dialog.cpp:1111 @@ -80,7 +81,7 @@ msgstr "Choisir" msgid "Select directory where to download game data" msgstr "Sélectionner le répertoire dans lequel télécharger les données du jeu" -#: gui/downloaddialog.cpp:49 gui/editgamedialog.cpp:472 gui/launcher.cpp:173 +#: gui/downloaddialog.cpp:49 gui/editgamedialog.cpp:470 gui/launcher.cpp:197 msgid "Select directory with game data" msgstr "Sélectionner le répertoire contenant les données du jeu" @@ -115,7 +116,7 @@ msgstr "" #: gui/downloaddialog.cpp:118 gui/downloaddialog.cpp:152 #: gui/filebrowser-dialog.cpp:132 gui/fluidsynth-dialog.cpp:217 -#: gui/launcher.cpp:286 gui/launcher.cpp:394 gui/launcher.cpp:453 +#: gui/launcher.cpp:307 gui/launcher.cpp:415 gui/launcher.cpp:474 #: gui/storagewizarddialog.cpp:112 #: backends/events/symbiansdl/symbiansdl-events.cpp:186 #: backends/platform/wince/CEActionsPocket.cpp:326 @@ -127,7 +128,7 @@ msgstr "Oui" #: gui/downloaddialog.cpp:118 gui/downloaddialog.cpp:153 #: gui/filebrowser-dialog.cpp:132 gui/fluidsynth-dialog.cpp:217 -#: gui/launcher.cpp:286 gui/launcher.cpp:394 gui/launcher.cpp:453 +#: gui/launcher.cpp:307 gui/launcher.cpp:415 gui/launcher.cpp:474 #: gui/storagewizarddialog.cpp:112 #: backends/events/symbiansdl/symbiansdl-events.cpp:186 #: backends/platform/wince/CEActionsPocket.cpp:326 @@ -137,7 +138,7 @@ msgstr "Oui" msgid "No" msgstr "Non" -#: gui/downloaddialog.cpp:136 gui/launcher.cpp:544 +#: gui/downloaddialog.cpp:136 gui/launcher.cpp:565 msgid "ScummVM couldn't open the specified directory!" msgstr "ScummVM n'a pas pu ouvrir le répertoire sélectionné." @@ -150,8 +151,8 @@ msgstr "" "mźme nom existe déją." #: gui/downloaddialog.cpp:146 gui/editgamedialog.cpp:293 -#: gui/fluidsynth-dialog.cpp:153 gui/KeysDialog.cpp:42 gui/launcher.cpp:501 -#: gui/launcher.cpp:505 gui/massadd.cpp:92 gui/options.cpp:1377 +#: gui/fluidsynth-dialog.cpp:153 gui/KeysDialog.cpp:42 gui/launcher.cpp:522 +#: gui/launcher.cpp:526 gui/massadd.cpp:92 gui/options.cpp:1463 #: gui/saveload-dialog.cpp:1112 engines/engine.cpp:477 engines/engine.cpp:488 #: backends/platform/wii/options.cpp:47 #: backends/platform/wince/CELauncherDialog.cpp:54 @@ -236,8 +237,8 @@ msgstr "" "Langue du jeu. Cela ne traduira pas en anglais par magie votre version " "espagnole du jeu." -#: gui/editgamedialog.cpp:151 gui/editgamedialog.cpp:165 gui/options.cpp:114 -#: gui/options.cpp:785 gui/options.cpp:798 gui/options.cpp:1261 +#: gui/editgamedialog.cpp:151 gui/editgamedialog.cpp:165 gui/options.cpp:121 +#: gui/options.cpp:812 gui/options.cpp:825 gui/options.cpp:1356 #: audio/null.cpp:41 msgid "<default>" msgstr "<defaut>" @@ -260,11 +261,11 @@ msgstr "Systčme :" msgid "Engine" msgstr "Moteur" -#: gui/editgamedialog.cpp:184 gui/options.cpp:1120 gui/options.cpp:1137 +#: gui/editgamedialog.cpp:184 gui/options.cpp:1147 gui/options.cpp:1232 msgid "Graphics" msgstr "Graphique" -#: gui/editgamedialog.cpp:184 gui/options.cpp:1120 gui/options.cpp:1137 +#: gui/editgamedialog.cpp:184 gui/options.cpp:1147 gui/options.cpp:1232 msgid "GFX" msgstr "GFX" @@ -277,7 +278,7 @@ msgctxt "lowres" msgid "Override global graphic settings" msgstr "Réglages spécifiques ą ce jeux" -#: gui/editgamedialog.cpp:196 gui/options.cpp:1143 +#: gui/editgamedialog.cpp:196 gui/options.cpp:1238 msgid "Audio" msgstr "Audio" @@ -290,11 +291,11 @@ msgctxt "lowres" msgid "Override global audio settings" msgstr "Réglages spécifiques ą ce jeux" -#: gui/editgamedialog.cpp:210 gui/options.cpp:1148 +#: gui/editgamedialog.cpp:210 gui/options.cpp:1243 msgid "Volume" msgstr "Volume" -#: gui/editgamedialog.cpp:212 gui/options.cpp:1150 +#: gui/editgamedialog.cpp:212 gui/options.cpp:1245 msgctxt "lowres" msgid "Volume" msgstr "Volume" @@ -308,7 +309,7 @@ msgctxt "lowres" msgid "Override global volume settings" msgstr "Réglages spécifiques ą ce jeux" -#: gui/editgamedialog.cpp:226 gui/options.cpp:1158 +#: gui/editgamedialog.cpp:226 gui/options.cpp:1253 msgid "MIDI" msgstr "MIDI" @@ -321,7 +322,7 @@ msgctxt "lowres" msgid "Override global MIDI settings" msgstr "Réglages spécifiques ą ce jeux" -#: gui/editgamedialog.cpp:241 gui/options.cpp:1168 +#: gui/editgamedialog.cpp:241 gui/options.cpp:1263 msgid "MT-32" msgstr "MT-32" @@ -334,11 +335,11 @@ msgctxt "lowres" msgid "Override global MT-32 settings" msgstr "Réglages spécifiques ą ce jeux" -#: gui/editgamedialog.cpp:255 gui/options.cpp:1175 +#: gui/editgamedialog.cpp:255 gui/options.cpp:1270 msgid "Paths" msgstr "Chemins" -#: gui/editgamedialog.cpp:257 gui/options.cpp:1177 +#: gui/editgamedialog.cpp:257 gui/options.cpp:1272 msgctxt "lowres" msgid "Paths" msgstr "Chemins" @@ -352,7 +353,7 @@ msgctxt "lowres" msgid "Game Path:" msgstr "Chemin du Jeu :" -#: gui/editgamedialog.cpp:271 gui/options.cpp:1201 +#: gui/editgamedialog.cpp:271 gui/options.cpp:1296 msgid "Extra Path:" msgstr "Extra :" @@ -361,56 +362,56 @@ msgstr "Extra :" msgid "Specifies path to additional data used by the game" msgstr "Définie un chemin vers des données suplémentaires utilisées par le jeu" -#: gui/editgamedialog.cpp:273 gui/options.cpp:1203 +#: gui/editgamedialog.cpp:273 gui/options.cpp:1298 msgctxt "lowres" msgid "Extra Path:" msgstr "Extra :" -#: gui/editgamedialog.cpp:280 gui/options.cpp:1185 +#: gui/editgamedialog.cpp:280 gui/options.cpp:1280 msgid "Save Path:" msgstr "Sauvegardes :" #: gui/editgamedialog.cpp:280 gui/editgamedialog.cpp:282 -#: gui/editgamedialog.cpp:283 gui/options.cpp:1185 gui/options.cpp:1187 -#: gui/options.cpp:1188 +#: gui/editgamedialog.cpp:283 gui/options.cpp:1280 gui/options.cpp:1282 +#: gui/options.cpp:1283 msgid "Specifies where your saved games are put" msgstr "Définie l'emplacement oł les fichiers de sauvegarde sont créés" -#: gui/editgamedialog.cpp:282 gui/options.cpp:1187 +#: gui/editgamedialog.cpp:282 gui/options.cpp:1282 msgctxt "lowres" msgid "Save Path:" msgstr "Sauvegardes :" -#: gui/editgamedialog.cpp:301 gui/editgamedialog.cpp:400 -#: gui/editgamedialog.cpp:459 gui/editgamedialog.cpp:520 gui/options.cpp:1196 -#: gui/options.cpp:1204 gui/options.cpp:1213 gui/options.cpp:1414 -#: gui/options.cpp:1420 gui/options.cpp:1428 gui/options.cpp:1451 -#: gui/options.cpp:1467 gui/options.cpp:1473 gui/options.cpp:1480 -#: gui/options.cpp:1488 gui/options.cpp:1640 gui/options.cpp:1643 -#: gui/options.cpp:1650 gui/options.cpp:1660 +#: gui/editgamedialog.cpp:301 gui/editgamedialog.cpp:398 +#: gui/editgamedialog.cpp:457 gui/editgamedialog.cpp:518 gui/options.cpp:1291 +#: gui/options.cpp:1299 gui/options.cpp:1308 gui/options.cpp:1488 +#: gui/options.cpp:1494 gui/options.cpp:1502 gui/options.cpp:1525 +#: gui/options.cpp:1554 gui/options.cpp:1560 gui/options.cpp:1567 +#: gui/options.cpp:1575 gui/options.cpp:1758 gui/options.cpp:1761 +#: gui/options.cpp:1768 gui/options.cpp:1778 msgctxt "path" msgid "None" msgstr "Aucun" -#: gui/editgamedialog.cpp:306 gui/editgamedialog.cpp:406 -#: gui/editgamedialog.cpp:524 gui/options.cpp:1408 gui/options.cpp:1461 -#: gui/options.cpp:1646 backends/platform/wii/options.cpp:56 +#: gui/editgamedialog.cpp:306 gui/editgamedialog.cpp:404 +#: gui/editgamedialog.cpp:522 gui/options.cpp:1482 gui/options.cpp:1548 +#: gui/options.cpp:1764 backends/platform/wii/options.cpp:56 msgid "Default" msgstr "Défaut" -#: gui/editgamedialog.cpp:452 gui/options.cpp:1654 +#: gui/editgamedialog.cpp:450 gui/options.cpp:1772 msgid "Select SoundFont" msgstr "Choisir une banque de sons" -#: gui/editgamedialog.cpp:491 +#: gui/editgamedialog.cpp:489 msgid "Select additional game directory" msgstr "Sélectionner un répertoire supplémentaire" -#: gui/editgamedialog.cpp:504 gui/options.cpp:1577 +#: gui/editgamedialog.cpp:502 gui/options.cpp:1695 msgid "Select directory for saved games" msgstr "Sélectionner le répertoire pour les sauvegardes" -#: gui/editgamedialog.cpp:510 +#: gui/editgamedialog.cpp:508 msgid "" "Saved games sync feature doesn't work with non-default directories. If you " "want your saved games to sync, use default directory." @@ -419,7 +420,7 @@ msgstr "" "les répertoires par défaut. Si vous souhaitez synchroniser vos sauvegardes, " "utilisez le répertoire par défaut." -#: gui/editgamedialog.cpp:536 +#: gui/editgamedialog.cpp:534 msgid "This game ID is already taken. Please choose another one." msgstr "Cet ID est déją utilisé par un autre jeu. Choisissez en un autre svp." @@ -499,7 +500,7 @@ msgstr "Sinus" msgid "Triangle" msgstr "Triangle" -#: gui/fluidsynth-dialog.cpp:138 gui/options.cpp:1221 +#: gui/fluidsynth-dialog.cpp:138 gui/options.cpp:1316 msgid "Misc" msgstr "Divers" @@ -548,15 +549,15 @@ msgstr "Fermer" msgid "Mouse click" msgstr "Clic de souris" -#: gui/gui-manager.cpp:126 base/main.cpp:337 +#: gui/gui-manager.cpp:126 base/main.cpp:340 msgid "Display keyboard" msgstr "Afficher le clavier" -#: gui/gui-manager.cpp:130 base/main.cpp:341 +#: gui/gui-manager.cpp:130 base/main.cpp:344 msgid "Remap keys" msgstr "Changer l'affectation des touches" -#: gui/gui-manager.cpp:133 base/main.cpp:344 engines/scumm/help.cpp:87 +#: gui/gui-manager.cpp:133 base/main.cpp:347 engines/scumm/help.cpp:87 msgid "Toggle fullscreen" msgstr "Basculer en plein écran" @@ -590,111 +591,111 @@ msgstr "Appuyez sur la touche ą associer" msgid "Choose an action to map" msgstr "Sélectionnez une action ą affecter" -#: gui/launcher.cpp:117 engines/dialogs.cpp:111 engines/mohawk/dialogs.cpp:98 +#: gui/launcher.cpp:141 engines/dialogs.cpp:111 engines/mohawk/dialogs.cpp:98 msgid "~Q~uit" msgstr "~Q~uitter" -#: gui/launcher.cpp:117 backends/platform/sdl/macosx/appmenu_osx.mm:106 +#: gui/launcher.cpp:141 backends/platform/sdl/macosx/appmenu_osx.mm:106 msgid "Quit ScummVM" msgstr "Quitter ScummVM" -#: gui/launcher.cpp:118 +#: gui/launcher.cpp:142 msgid "A~b~out..." msgstr "Ą ~P~ropos..." -#: gui/launcher.cpp:118 backends/platform/sdl/macosx/appmenu_osx.mm:80 +#: gui/launcher.cpp:142 backends/platform/sdl/macosx/appmenu_osx.mm:80 msgid "About ScummVM" msgstr "Ą propos de ScummVM" -#: gui/launcher.cpp:119 +#: gui/launcher.cpp:143 msgid "~O~ptions..." msgstr "~O~ptions..." -#: gui/launcher.cpp:119 +#: gui/launcher.cpp:143 msgid "Change global ScummVM options" msgstr "Change les options globales de ScummVM" -#: gui/launcher.cpp:121 +#: gui/launcher.cpp:145 msgid "~S~tart" msgstr "~D~émarrer" -#: gui/launcher.cpp:121 +#: gui/launcher.cpp:145 msgid "Start selected game" msgstr "Démarre le jeu sélectionné" -#: gui/launcher.cpp:124 +#: gui/launcher.cpp:148 msgid "~L~oad..." msgstr "~C~harger" -#: gui/launcher.cpp:124 +#: gui/launcher.cpp:148 msgid "Load saved game for selected game" msgstr "Charge une sauvegarde pour le jeu sélectionné" -#: gui/launcher.cpp:129 +#: gui/launcher.cpp:153 msgid "~A~dd Game..." msgstr "~A~jouter..." -#: gui/launcher.cpp:129 gui/launcher.cpp:136 +#: gui/launcher.cpp:153 gui/launcher.cpp:160 msgid "Hold Shift for Mass Add" msgstr "" "Ajoute un jeu ą la Liste. Maintenez Shift enfoncée pour un Ajout Massif" -#: gui/launcher.cpp:131 +#: gui/launcher.cpp:155 msgid "~E~dit Game..." msgstr "~E~diter..." -#: gui/launcher.cpp:131 gui/launcher.cpp:138 +#: gui/launcher.cpp:155 gui/launcher.cpp:162 msgid "Change game options" msgstr "Change les options du jeu" -#: gui/launcher.cpp:133 +#: gui/launcher.cpp:157 msgid "~R~emove Game" msgstr "~S~upprimer" -#: gui/launcher.cpp:133 gui/launcher.cpp:140 +#: gui/launcher.cpp:157 gui/launcher.cpp:164 msgid "Remove game from the list. The game data files stay intact" msgstr "Supprime le jeu de la liste. Les fichiers sont conservés" -#: gui/launcher.cpp:136 +#: gui/launcher.cpp:160 msgctxt "lowres" msgid "~A~dd Game..." msgstr "~A~jouter..." -#: gui/launcher.cpp:138 +#: gui/launcher.cpp:162 msgctxt "lowres" msgid "~E~dit Game..." msgstr "~E~diter..." -#: gui/launcher.cpp:140 +#: gui/launcher.cpp:164 msgctxt "lowres" msgid "~R~emove Game" msgstr "~S~upprimer" -#: gui/launcher.cpp:148 +#: gui/launcher.cpp:172 msgid "Search in game list" msgstr "Recherche dans la liste de jeux" -#: gui/launcher.cpp:152 gui/launcher.cpp:750 +#: gui/launcher.cpp:176 gui/launcher.cpp:771 msgid "Search:" msgstr "Filtre :" -#: gui/launcher.cpp:176 engines/dialogs.cpp:115 engines/cruise/menu.cpp:214 -#: engines/mohawk/dialogs.cpp:103 engines/mohawk/riven.cpp:733 +#: gui/launcher.cpp:200 engines/dialogs.cpp:115 engines/cruise/menu.cpp:214 +#: engines/mohawk/dialogs.cpp:103 engines/mohawk/riven.cpp:734 #: engines/pegasus/pegasus.cpp:353 engines/tsage/scenes.cpp:601 msgid "Load game:" msgstr "Charger le jeu :" -#: gui/launcher.cpp:176 engines/dialogs.cpp:115 +#: gui/launcher.cpp:200 engines/dialogs.cpp:115 #: backends/platform/wince/CEActionsPocket.cpp:267 #: backends/platform/wince/CEActionsSmartphone.cpp:231 #: engines/cruise/menu.cpp:214 engines/mohawk/dialogs.cpp:103 -#: engines/mohawk/riven.cpp:733 engines/parallaction/saveload.cpp:194 +#: engines/mohawk/riven.cpp:734 engines/parallaction/saveload.cpp:194 #: engines/pegasus/pegasus.cpp:353 engines/scumm/dialogs.cpp:185 #: engines/tsage/scenes.cpp:601 msgid "Load" msgstr "Charger" -#: gui/launcher.cpp:285 +#: gui/launcher.cpp:306 msgid "" "Do you really want to run the mass game detector? This could potentially add " "a huge number of games." @@ -702,42 +703,42 @@ msgstr "" "Voulez-vous vraiment lancer la détection automatique des jeux ? Cela peut " "potentiellement ajouter un grand nombre de jeux." -#: gui/launcher.cpp:344 +#: gui/launcher.cpp:365 msgid "This directory cannot be used yet, it is being downloaded into!" msgstr "" "Ce répertoire est en cours de téléchargement et ne peut pas encore źtre " "utilisé !" -#: gui/launcher.cpp:394 +#: gui/launcher.cpp:415 msgid "Do you really want to remove this game configuration?" msgstr "Voulez-vous vraiment supprimer ce jeu ?" -#: gui/launcher.cpp:452 +#: gui/launcher.cpp:473 msgid "Do you want to load saved game?" msgstr "Voulez-vous charger le jeu ?" -#: gui/launcher.cpp:501 +#: gui/launcher.cpp:522 msgid "This game does not support loading games from the launcher." msgstr "" "Le chargement de sauvegarde depuis le lanceur n'est pas supporté pour ce jeu." -#: gui/launcher.cpp:505 +#: gui/launcher.cpp:526 msgid "ScummVM could not find any engine capable of running the selected game!" msgstr "ScummVM n'a pas pu trouvé de moteur pour lancer le jeu sélectionné." -#: gui/launcher.cpp:556 +#: gui/launcher.cpp:577 msgid "ScummVM could not find any game in the specified directory!" msgstr "ScummVM n'a pas trouvé de jeux dans le répertoire sélectionné." -#: gui/launcher.cpp:569 +#: gui/launcher.cpp:590 msgid "Pick the game:" msgstr "Choisissez le jeu :" -#: gui/launcher.cpp:687 +#: gui/launcher.cpp:708 msgid "Mass Add..." msgstr "Ajout Massif..." -#: gui/launcher.cpp:689 +#: gui/launcher.cpp:710 msgid "Record..." msgstr "Enregistrer..." @@ -781,148 +782,148 @@ msgstr "Retourner au jeu" msgid "Fast replay" msgstr "Rejouer rapidement" -#: gui/options.cpp:112 common/updates.cpp:56 +#: gui/options.cpp:119 common/updates.cpp:56 msgid "Never" msgstr "Jamais" -#: gui/options.cpp:112 +#: gui/options.cpp:119 msgid "every 5 mins" msgstr "Toutes les 5 mins" -#: gui/options.cpp:112 +#: gui/options.cpp:119 msgid "every 10 mins" msgstr "Toutes les 10 mins" -#: gui/options.cpp:112 +#: gui/options.cpp:119 msgid "every 15 mins" msgstr "Toutes les 15 mins" -#: gui/options.cpp:112 +#: gui/options.cpp:119 msgid "every 30 mins" msgstr "Toutes les 30 mins" -#: gui/options.cpp:114 +#: gui/options.cpp:121 msgid "8 kHz" msgstr "8 kHz" -#: gui/options.cpp:114 +#: gui/options.cpp:121 msgid "11 kHz" msgstr "11 kHz" -#: gui/options.cpp:114 +#: gui/options.cpp:121 msgid "22 kHz" msgstr "22 kHz" -#: gui/options.cpp:114 +#: gui/options.cpp:121 msgid "44 kHz" msgstr "44 kHz" -#: gui/options.cpp:114 +#: gui/options.cpp:121 msgid "48 kHz" msgstr "48 kHz" -#: gui/options.cpp:291 gui/options.cpp:528 gui/options.cpp:629 -#: gui/options.cpp:699 gui/options.cpp:910 +#: gui/options.cpp:289 gui/options.cpp:552 gui/options.cpp:657 +#: gui/options.cpp:726 gui/options.cpp:937 msgctxt "soundfont" msgid "None" msgstr "Aucune" -#: gui/options.cpp:432 +#: gui/options.cpp:456 msgid "Failed to apply some of the graphic options changes:" msgstr "Certaines options graphiques n'ont pu źtre changées :" -#: gui/options.cpp:444 +#: gui/options.cpp:468 msgid "the video mode could not be changed." msgstr "le mode vidéo n'a pu źtre changé." -#: gui/options.cpp:450 +#: gui/options.cpp:474 msgid "the aspect ratio setting could not be changed" msgstr "la correction de rapport d'aspect n'a pu źtre changée." -#: gui/options.cpp:456 +#: gui/options.cpp:480 msgid "the fullscreen setting could not be changed" msgstr "le mode plein écran n'a pu źtre changé." -#: gui/options.cpp:462 -#, fuzzy +#: gui/options.cpp:486 msgid "the filtering setting could not be changed" -msgstr "le mode plein écran n'a pu źtre changé." +msgstr "le mode de filtrage n'a pu źtre changé." -#: gui/options.cpp:782 +#: gui/options.cpp:809 msgid "Graphics mode:" msgstr "Mode graphique :" -#: gui/options.cpp:796 +#: gui/options.cpp:823 msgid "Render mode:" msgstr "Mode de rendu :" -#: gui/options.cpp:796 gui/options.cpp:797 +#: gui/options.cpp:823 gui/options.cpp:824 msgid "Special dithering modes supported by some games" msgstr "Mode spécial de tramage supporté par certains jeux" -#: gui/options.cpp:808 -#: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:2450 +#: gui/options.cpp:835 backends/graphics/openglsdl/openglsdl-graphics.cpp:615 +#: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:2460 msgid "Fullscreen mode" msgstr "Plein écran" -#: gui/options.cpp:811 -#, fuzzy +#: gui/options.cpp:838 msgid "Filter graphics" -msgstr "Utiliser les graphiques en couleurs" +msgstr "Filtrer les graphiques" -#: gui/options.cpp:811 +#: gui/options.cpp:838 msgid "Use linear filtering when scaling graphics" msgstr "" +"Utiliser une interpolation bi-linéaire lors du changement d'échelle des " +"graphiques" -#: gui/options.cpp:814 +#: gui/options.cpp:841 msgid "Aspect ratio correction" msgstr "Correction du rapport d'aspect" -#: gui/options.cpp:814 +#: gui/options.cpp:841 msgid "Correct aspect ratio for 320x200 games" msgstr "Corrige le rapport d'aspect pour les jeu 320x200" -#: gui/options.cpp:822 +#: gui/options.cpp:849 msgid "Preferred Device:" msgstr "Sortie Préféré :" -#: gui/options.cpp:822 +#: gui/options.cpp:849 msgid "Music Device:" msgstr "Sortie Audio :" -#: gui/options.cpp:822 gui/options.cpp:824 +#: gui/options.cpp:849 gui/options.cpp:851 msgid "Specifies preferred sound device or sound card emulator" msgstr "" "Spécifie le périphérique de sortie audio ou l'émulateur de carte audio " "préféré" -#: gui/options.cpp:822 gui/options.cpp:824 gui/options.cpp:825 +#: gui/options.cpp:849 gui/options.cpp:851 gui/options.cpp:852 msgid "Specifies output sound device or sound card emulator" msgstr "Spécifie le périphérique de sortie audio ou l'émulateur de carte audio" -#: gui/options.cpp:824 +#: gui/options.cpp:851 msgctxt "lowres" msgid "Preferred Dev.:" msgstr "Sortie Préféré :" -#: gui/options.cpp:824 +#: gui/options.cpp:851 msgctxt "lowres" msgid "Music Device:" msgstr "Sortie Audio :" -#: gui/options.cpp:851 +#: gui/options.cpp:878 msgid "AdLib emulator:" msgstr "Émulateur AdLib :" -#: gui/options.cpp:851 gui/options.cpp:852 +#: gui/options.cpp:878 gui/options.cpp:879 msgid "AdLib is used for music in many games" msgstr "AdLib est utilisé pour la musique dans de nombreux jeux" -#: gui/options.cpp:862 +#: gui/options.cpp:889 msgid "Output rate:" msgstr "Fréquence :" -#: gui/options.cpp:862 gui/options.cpp:863 +#: gui/options.cpp:889 gui/options.cpp:890 msgid "" "Higher value specifies better sound quality but may be not supported by your " "soundcard" @@ -930,64 +931,64 @@ msgstr "" "Une valeur plus élevée donne une meilleure qualité audio mais peut ne pas " "źtre supporté par votre carte son" -#: gui/options.cpp:873 +#: gui/options.cpp:900 msgid "GM Device:" msgstr "Sortie GM :" -#: gui/options.cpp:873 +#: gui/options.cpp:900 msgid "Specifies default sound device for General MIDI output" msgstr "Spécifie le périphérique audio par défaut pour la sortie General MIDI" -#: gui/options.cpp:884 +#: gui/options.cpp:911 msgid "Don't use General MIDI music" msgstr "Ne pas utiliser la musique General MIDI" -#: gui/options.cpp:895 gui/options.cpp:957 +#: gui/options.cpp:922 gui/options.cpp:984 msgid "Use first available device" msgstr "Utiliser le premier périphérique disponible" -#: gui/options.cpp:907 +#: gui/options.cpp:934 msgid "SoundFont:" msgstr "Banque de sons :" -#: gui/options.cpp:907 gui/options.cpp:909 gui/options.cpp:910 +#: gui/options.cpp:934 gui/options.cpp:936 gui/options.cpp:937 msgid "SoundFont is supported by some audio cards, FluidSynth and Timidity" msgstr "" "La banque de sons (SoundFont) est utilisée par certaines cartes audio, " "FluidSynth et Timidity" -#: gui/options.cpp:909 +#: gui/options.cpp:936 msgctxt "lowres" msgid "SoundFont:" msgstr "SoundFont :" -#: gui/options.cpp:915 +#: gui/options.cpp:942 msgid "Mixed AdLib/MIDI mode" msgstr "Mode mixe AdLib/MIDI" -#: gui/options.cpp:915 +#: gui/options.cpp:942 msgid "Use both MIDI and AdLib sound generation" msgstr "Utiliser ą la fois MIDI et AdLib" -#: gui/options.cpp:918 +#: gui/options.cpp:945 msgid "MIDI gain:" msgstr "Gain MIDI :" -#: gui/options.cpp:928 +#: gui/options.cpp:955 msgid "MT-32 Device:" msgstr "Sortie MT-32 :" -#: gui/options.cpp:928 +#: gui/options.cpp:955 msgid "Specifies default sound device for Roland MT-32/LAPC1/CM32l/CM64 output" msgstr "" "Spécifie le périphérique audio par défaut pour la sortie Roland MT-32/LAPC1/" "CM32l/CM64" -#: gui/options.cpp:933 +#: gui/options.cpp:960 msgid "True Roland MT-32 (disable GM emulation)" msgstr "Roland MT-32 exacte (désactive l'émulation GM)" -#: gui/options.cpp:933 gui/options.cpp:935 +#: gui/options.cpp:960 gui/options.cpp:962 msgid "" "Check if you want to use your real hardware Roland-compatible sound device " "connected to your computer" @@ -995,16 +996,16 @@ msgstr "" "Vérifie si vous voulez utiliser un périphérique audio compatible Roland " "connecté ą l'ordinateur" -#: gui/options.cpp:935 +#: gui/options.cpp:962 msgctxt "lowres" msgid "True Roland MT-32 (no GM emulation)" msgstr "Roland MT-32 exacte (pas d'ému GM)" -#: gui/options.cpp:938 +#: gui/options.cpp:965 msgid "Roland GS Device (enable MT-32 mappings)" msgstr "Roland GS (active le mappage MT-32)" -#: gui/options.cpp:938 +#: gui/options.cpp:965 msgid "" "Check if you want to enable patch mappings to emulate an MT-32 on a Roland " "GS device" @@ -1012,267 +1013,267 @@ msgstr "" "Utilisez cette option si vous voulez activez le mappage ą la volée pour une " "émulation MT-32 sur un appareil Roland GS." -#: gui/options.cpp:947 +#: gui/options.cpp:974 msgid "Don't use Roland MT-32 music" msgstr "Ne pas utiliser la musique Roland MT-32" -#: gui/options.cpp:974 +#: gui/options.cpp:1001 msgid "Text and Speech:" msgstr "Dialogue :" -#: gui/options.cpp:978 gui/options.cpp:988 +#: gui/options.cpp:1005 gui/options.cpp:1015 msgid "Speech" msgstr "Voix" -#: gui/options.cpp:979 gui/options.cpp:989 +#: gui/options.cpp:1006 gui/options.cpp:1016 msgid "Subtitles" msgstr "Sous-titres" -#: gui/options.cpp:980 +#: gui/options.cpp:1007 msgid "Both" msgstr "Les deux" -#: gui/options.cpp:982 +#: gui/options.cpp:1009 msgid "Subtitle speed:" msgstr "Vitesse des ST :" -#: gui/options.cpp:984 +#: gui/options.cpp:1011 msgctxt "lowres" msgid "Text and Speech:" msgstr "Dialogue :" -#: gui/options.cpp:988 +#: gui/options.cpp:1015 msgid "Spch" msgstr "Voix" -#: gui/options.cpp:989 +#: gui/options.cpp:1016 msgid "Subs" msgstr "Subs" -#: gui/options.cpp:990 +#: gui/options.cpp:1017 msgctxt "lowres" msgid "Both" msgstr "V&S" -#: gui/options.cpp:990 +#: gui/options.cpp:1017 msgid "Show subtitles and play speech" msgstr "Affiche les sous-titres et joue les dialogues audio" -#: gui/options.cpp:992 +#: gui/options.cpp:1019 msgctxt "lowres" msgid "Subtitle speed:" msgstr "Vitesse des ST :" -#: gui/options.cpp:1008 +#: gui/options.cpp:1035 msgid "Music volume:" msgstr "Volume Musique :" -#: gui/options.cpp:1010 +#: gui/options.cpp:1037 msgctxt "lowres" msgid "Music volume:" msgstr "Musique :" -#: gui/options.cpp:1017 +#: gui/options.cpp:1044 msgid "Mute All" msgstr "Silence" -#: gui/options.cpp:1020 +#: gui/options.cpp:1047 msgid "SFX volume:" msgstr "Volume Bruitage :" -#: gui/options.cpp:1020 gui/options.cpp:1022 gui/options.cpp:1023 +#: gui/options.cpp:1047 gui/options.cpp:1049 gui/options.cpp:1050 msgid "Special sound effects volume" msgstr "Volume des effets spéciaux sonores" -#: gui/options.cpp:1022 +#: gui/options.cpp:1049 msgctxt "lowres" msgid "SFX volume:" msgstr "Bruitage :" -#: gui/options.cpp:1030 +#: gui/options.cpp:1057 msgid "Speech volume:" msgstr "Volume Dialogues :" -#: gui/options.cpp:1032 +#: gui/options.cpp:1059 msgctxt "lowres" msgid "Speech volume:" msgstr "Dialogues :" -#: gui/options.cpp:1162 +#: gui/options.cpp:1257 msgid "FluidSynth Settings" msgstr "Paramčtres FluidSynth" -#: gui/options.cpp:1193 +#: gui/options.cpp:1288 msgid "Theme Path:" msgstr "Thčmes :" -#: gui/options.cpp:1195 +#: gui/options.cpp:1290 msgctxt "lowres" msgid "Theme Path:" msgstr "Thčmes :" -#: gui/options.cpp:1201 gui/options.cpp:1203 gui/options.cpp:1204 +#: gui/options.cpp:1296 gui/options.cpp:1298 gui/options.cpp:1299 msgid "Specifies path to additional data used by all games or ScummVM" msgstr "" "Spécifie un chemin vers des données supplémentaires utilisées par tous les " "jeux ou ScummVM" -#: gui/options.cpp:1210 +#: gui/options.cpp:1305 msgid "Plugins Path:" msgstr "Plugins :" -#: gui/options.cpp:1212 +#: gui/options.cpp:1307 msgctxt "lowres" msgid "Plugins Path:" msgstr "Plugins :" -#: gui/options.cpp:1223 +#: gui/options.cpp:1318 msgctxt "lowres" msgid "Misc" msgstr "Divers" -#: gui/options.cpp:1225 +#: gui/options.cpp:1320 msgid "Theme:" msgstr "Thčme :" -#: gui/options.cpp:1229 +#: gui/options.cpp:1324 msgid "GUI Renderer:" msgstr "Interface :" -#: gui/options.cpp:1241 +#: gui/options.cpp:1336 msgid "Autosave:" msgstr "Sauvegarde auto :" -#: gui/options.cpp:1243 +#: gui/options.cpp:1338 msgctxt "lowres" msgid "Autosave:" msgstr "Sauvegarde :" -#: gui/options.cpp:1251 +#: gui/options.cpp:1346 msgid "Keys" msgstr "Touches" -#: gui/options.cpp:1258 +#: gui/options.cpp:1353 msgid "GUI Language:" msgstr "Langue :" -#: gui/options.cpp:1258 +#: gui/options.cpp:1353 msgid "Language of ScummVM GUI" msgstr "Langue de l'interface graphique de ScummVM" -#: gui/options.cpp:1286 +#: gui/options.cpp:1381 msgid "Update check:" msgstr "Vérif. mises ą jour :" -#: gui/options.cpp:1286 +#: gui/options.cpp:1381 msgid "How often to check ScummVM updates" msgstr "Fréquence des vérifications" -#: gui/options.cpp:1298 +#: gui/options.cpp:1393 msgid "Check now" msgstr "Maintenant" -#: gui/options.cpp:1306 +#: gui/options.cpp:1401 msgid "Cloud" msgstr "Nuage" -#: gui/options.cpp:1308 +#: gui/options.cpp:1403 msgctxt "lowres" msgid "Cloud" msgstr "Nuage" -#: gui/options.cpp:1319 +#: gui/options.cpp:1408 msgid "Storage:" msgstr "Stockage :" -#: gui/options.cpp:1319 +#: gui/options.cpp:1408 msgid "Active cloud storage" msgstr "Service de stockage actif" -#: gui/options.cpp:1326 gui/options.cpp:1877 +#: gui/options.cpp:1415 gui/options.cpp:1972 msgid "<none>" msgstr "<aucun>" -#: gui/options.cpp:1330 backends/platform/wii/options.cpp:114 +#: gui/options.cpp:1419 backends/platform/wii/options.cpp:114 msgid "Username:" msgstr "Nom d'utilisateur :" -#: gui/options.cpp:1330 +#: gui/options.cpp:1419 msgid "Username used by this storage" msgstr "Nom d'utilisateur pour ce service" -#: gui/options.cpp:1333 +#: gui/options.cpp:1422 msgid "Used space:" msgstr "Espace utilisé" -#: gui/options.cpp:1333 +#: gui/options.cpp:1422 msgid "Space used by ScummVM's saved games on this storage" msgstr "Espace utilisé par les sauvegardes de ScummVM sur ce stockage." -#: gui/options.cpp:1336 +#: gui/options.cpp:1425 msgid "Last sync time:" msgstr "Synchronisé :" -#: gui/options.cpp:1336 +#: gui/options.cpp:1425 msgid "When the last saved games sync for this storage occured" msgstr "Quand la derničre synchronisation des sauvegardes ą eu lieu" -#: gui/options.cpp:1339 gui/storagewizarddialog.cpp:71 +#: gui/options.cpp:1428 gui/storagewizarddialog.cpp:71 msgid "Connect" msgstr "Se connecter" -#: gui/options.cpp:1339 +#: gui/options.cpp:1428 msgid "Open wizard dialog to connect your cloud storage account" msgstr "Ouvre l'assistant de connexion au compte de stockage en ligne" -#: gui/options.cpp:1340 +#: gui/options.cpp:1429 msgid "Refresh" msgstr "Rafraīchir" -#: gui/options.cpp:1340 +#: gui/options.cpp:1429 msgid "Refresh current cloud storage information (username and usage)" msgstr "" "Rafraīchir les informations (nom d'utilisateur et espace utilisé) pour le " "service de stockage actif" -#: gui/options.cpp:1341 +#: gui/options.cpp:1430 msgid "Download" msgstr "Télécharger" -#: gui/options.cpp:1341 +#: gui/options.cpp:1430 msgid "Open downloads manager dialog" msgstr "Ouvrir le gestionnaire de téléchargement" -#: gui/options.cpp:1343 +#: gui/options.cpp:1432 msgid "Run server" msgstr "Démarrer serveur" -#: gui/options.cpp:1343 +#: gui/options.cpp:1432 msgid "Run local webserver" msgstr "Démarre le serveur web local" -#: gui/options.cpp:1344 gui/options.cpp:1987 +#: gui/options.cpp:1433 gui/options.cpp:2082 msgid "Not running" msgstr "Arrźté" -#: gui/options.cpp:1348 +#: gui/options.cpp:1437 msgid "/root/ Path:" msgstr "Chemin /racine/:" -#: gui/options.cpp:1348 gui/options.cpp:1350 gui/options.cpp:1351 +#: gui/options.cpp:1437 gui/options.cpp:1439 gui/options.cpp:1440 msgid "Specifies which directory the Files Manager can access" msgstr "Indique le répertoire que le gestionnaire de fichier peut accéder" -#: gui/options.cpp:1350 +#: gui/options.cpp:1439 msgctxt "lowres" msgid "/root/ Path:" msgstr "/racine/:" -#: gui/options.cpp:1360 +#: gui/options.cpp:1449 msgid "Server's port:" msgstr "Port :" -#: gui/options.cpp:1360 +#: gui/options.cpp:1449 msgid "" "Which port is used by the server\n" "Auth with server is not available with non-default port" @@ -1280,71 +1281,70 @@ msgstr "" "Port utilisé par le serveur\n" "Authentification avec le serveur n'est disponible qu'avec le port par défaut" -#: gui/options.cpp:1520 -msgid "You have to restart ScummVM before your changes will take effect." -msgstr "" -"Vous devez relancer ScummVM pour que le changement soit pris en compte." +#: gui/options.cpp:1462 +msgid "Apply" +msgstr "Appliquer" -#: gui/options.cpp:1543 +#: gui/options.cpp:1628 msgid "Failed to change cloud storage!" msgstr "Echec du changement de service de stockage !" -#: gui/options.cpp:1546 +#: gui/options.cpp:1631 msgid "Another cloud storage is already active." msgstr "Un autre service de stockage est déją actif." -#: gui/options.cpp:1584 +#: gui/options.cpp:1667 +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 "" +"Le thčme que vous avez sélectioné ne support pas la langue franēaise. Si " +"vous voulez l'utiliser vous devez d'abord changer de langue." + +#: gui/options.cpp:1702 msgid "The chosen directory cannot be written to. Please select another one." msgstr "" "Le répertoire sélectionné est vérouillé en écriture. Sélectionnez un autre " "répertoire." -#: gui/options.cpp:1593 +#: gui/options.cpp:1711 msgid "Select directory for GUI themes" msgstr "Sélectionner le répertoire des thčmes d'interface" -#: gui/options.cpp:1603 +#: gui/options.cpp:1721 msgid "Select directory for extra files" msgstr "Sélectionner le répertoire pour les fichiers suplémentaires" -#: gui/options.cpp:1614 +#: gui/options.cpp:1732 msgid "Select directory for plugins" msgstr "Sélectionner le répertoire des plugins" -#: gui/options.cpp:1626 +#: gui/options.cpp:1744 msgid "Select directory for Files Manager /root/" msgstr "Indique le répertoire pour la /racine/ du Gestionnaire de Fichiers" -#: gui/options.cpp:1688 -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 "" -"Le thčme que vous avez sélectioné ne support pas la langue franēaise. Si " -"vous voulez l'utiliser vous devez d'abord changer de langue." - -#: gui/options.cpp:1884 +#: gui/options.cpp:1979 #, c-format msgid "%llu bytes" msgstr "%llu bytes" -#: gui/options.cpp:1892 +#: gui/options.cpp:1987 msgid "<right now>" msgstr "<maintenant>" -#: gui/options.cpp:1894 +#: gui/options.cpp:1989 msgid "<never>" msgstr "<jamais>" -#: gui/options.cpp:1978 +#: gui/options.cpp:2073 msgid "Stop server" msgstr "Arrźter serveur" -#: gui/options.cpp:1979 +#: gui/options.cpp:2074 msgid "Stop local webserver" msgstr "Arrźter le serveur" -#: gui/options.cpp:2068 +#: gui/options.cpp:2163 msgid "" "Request failed.\n" "Check your Internet connection." @@ -1623,35 +1623,35 @@ msgstr "Appliquer" msgid "Clear value" msgstr "Effacer la valeur" -#: base/main.cpp:250 +#: base/main.cpp:253 #, c-format msgid "Engine does not support debug level '%s'" msgstr "Le niveau de debug '%s' n'est pas supporté par ce moteur de jeu" -#: base/main.cpp:324 +#: base/main.cpp:327 msgid "Menu" msgstr "Menu" -#: base/main.cpp:327 backends/platform/symbian/src/SymbianActions.cpp:45 +#: base/main.cpp:330 backends/platform/symbian/src/SymbianActions.cpp:45 #: backends/platform/wince/CEActionsPocket.cpp:45 #: backends/platform/wince/CEActionsSmartphone.cpp:46 msgid "Skip" msgstr "Passer" -#: base/main.cpp:330 backends/platform/symbian/src/SymbianActions.cpp:50 +#: base/main.cpp:333 backends/platform/symbian/src/SymbianActions.cpp:50 #: backends/platform/wince/CEActionsPocket.cpp:42 msgid "Pause" msgstr "Mettre en pause" -#: base/main.cpp:333 +#: base/main.cpp:336 msgid "Skip line" msgstr "Passer la phrase" -#: base/main.cpp:542 +#: base/main.cpp:547 msgid "Error running game:" msgstr "Erreur lors de l'éxécution du jeu : " -#: base/main.cpp:589 +#: base/main.cpp:594 msgid "Could not find any engine capable of running the selected game" msgstr "Impossible de trouver un moteur pour exécuter le jeu sélectionné" @@ -1891,9 +1891,8 @@ msgid "Could not apply fullscreen setting." msgstr "Impossible d'appliquer l'option plein écran." #: engines/engine.cpp:373 -#, fuzzy msgid "Could not apply filtering setting." -msgstr "Impossible d'appliquer l'option plein écran." +msgstr "Impossible d'appliquer l'option de filtrage." #: engines/engine.cpp:473 msgid "" @@ -2027,11 +2026,11 @@ msgstr "Audio FM Towns" msgid "PC-98 Audio" msgstr "Audio PC-98" -#: audio/softsynth/mt32.cpp:196 +#: audio/softsynth/mt32.cpp:197 msgid "Initializing MT-32 Emulator" msgstr "Initialisation de l'Émulateur MT-32" -#: audio/softsynth/mt32.cpp:434 +#: audio/softsynth/mt32.cpp:435 msgid "MT-32 Emulator" msgstr "Émulateur MT-32" @@ -2047,15 +2046,15 @@ msgstr "Émulateur IBM PCjr" msgid "C64 Audio Emulator" msgstr "Émulateur C64 Audio" -#: backends/cloud/storage.cpp:210 +#: backends/cloud/storage.cpp:211 msgid "Saved games sync complete." msgstr "Synchronisation des sauvegardes terminé." -#: backends/cloud/storage.cpp:221 +#: backends/cloud/storage.cpp:222 msgid "Saved games sync was cancelled." msgstr "Synchronisation des sauvegardes annulée." -#: backends/cloud/storage.cpp:223 +#: backends/cloud/storage.cpp:224 msgid "" "Saved games sync failed.\n" "Check your Internet connection." @@ -2063,7 +2062,7 @@ msgstr "" "Erreur lors de la synchronisation des sauvegardes.\n" "Vérifiez votre connexion internet." -#: backends/cloud/storage.cpp:327 +#: backends/cloud/storage.cpp:328 #, c-format msgid "" "Download complete.\n" @@ -2072,11 +2071,11 @@ msgstr "" "Téléchargement terminé.\n" "%u fichiers n'ont pu źtre téléchargés." -#: backends/cloud/storage.cpp:329 +#: backends/cloud/storage.cpp:330 msgid "Download complete." msgstr "Téléchargement terminé !" -#: backends/cloud/storage.cpp:339 +#: backends/cloud/storage.cpp:340 msgid "Download failed." msgstr "Erreur lors du téléchargement." @@ -2185,43 +2184,51 @@ msgstr "Glissez trois doigts vers la droite pour changer de mode." msgid "OpenGL" msgstr "OpenGL" -#: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:47 -#: backends/graphics/wincesdl/wincesdl-graphics.cpp:88 -#: backends/graphics/wincesdl/wincesdl-graphics.cpp:95 -msgid "Normal (no scaling)" -msgstr "Normal (échelle d'origine)" +#: backends/graphics/openglsdl/openglsdl-graphics.cpp:617 +#: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:2462 +msgid "Windowed mode" +msgstr "Mode Fenźtre" -#: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:66 -msgctxt "lowres" -msgid "Normal (no scaling)" -msgstr "Normal" +#: backends/graphics/openglsdl/openglsdl-graphics.cpp:710 +#, c-format +msgid "Resolution: %dx%d" +msgstr "Résolution : %dx%d" -#: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:2329 +#: backends/graphics/openglsdl/openglsdl-graphics.cpp:731 +#: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:2338 msgid "Enabled aspect ratio correction" msgstr "Activer la correction du rapport d'aspect" -#: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:2335 +#: backends/graphics/openglsdl/openglsdl-graphics.cpp:733 +#: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:2344 msgid "Disabled aspect ratio correction" msgstr "Désactiver la correction du rapport d'aspect" -#: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:2353 -#, fuzzy +#: backends/graphics/openglsdl/openglsdl-graphics.cpp:753 +#: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:2362 msgid "Filtering enabled" -msgstr "Clic Activé" +msgstr "Filtrage Activé" -#: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:2355 -#, fuzzy +#: backends/graphics/openglsdl/openglsdl-graphics.cpp:755 +#: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:2364 msgid "Filtering disabled" -msgstr "Clic Désactivé" +msgstr "Filtrage Désactivé" -#: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:2407 +#: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:47 +#: backends/graphics/wincesdl/wincesdl-graphics.cpp:88 +#: backends/graphics/wincesdl/wincesdl-graphics.cpp:95 +msgid "Normal (no scaling)" +msgstr "Normal (échelle d'origine)" + +#: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:66 +msgctxt "lowres" +msgid "Normal (no scaling)" +msgstr "Normal" + +#: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:2417 msgid "Active graphics filter:" msgstr "Mode graphique actif:" -#: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:2452 -msgid "Windowed mode" -msgstr "Mode Fenźtre" - #: backends/keymapper/remap-dialog.cpp:48 msgid "Keymap:" msgstr "Affectation des touches:" @@ -3146,6 +3153,51 @@ msgstr "~M~enu Principal" msgid "~W~ater Effect Enabled" msgstr "~E~ffets de l'Eau Activés" +#: engines/mohawk/riven.cpp:150 +msgid "" +"You're missing a Riven executable. The Windows executable is 'riven.exe' or " +"'rivendmo.exe'. " +msgstr "" +"Il vous manque l'exécutable de Riven. L'exécutable pour Windows se nomme " +"'rivent.exe' ou 'rivendmo.exe'." + +#: engines/mohawk/riven.cpp:151 +msgid "" +"Using the 'arcriven.z' installer file also works. In addition, you can use " +"the Mac 'Riven' executable." +msgstr "" +"Utiliser le fichier archive 'arcriven.z' marche également. Vous pouvez " +"également utiliser l'exécutable pour Mac qui se nomme 'Riven'." + +#: engines/mohawk/riven.cpp:162 +msgid "" +"You're missing 'extras.mhk'. Using the 'arcriven.z' installer file also " +"works." +msgstr "" +"Il vous manque le fichier 'extras.mhk'. Utiliser le fichier archive " +"'arcriven.z' marche également." + +#: engines/mohawk/riven_external.cpp:213 +msgid "" +"Exploration beyond this point available only within the full version of\n" +"the game." +msgstr "L'exploration au delą de ce point nécessite d'avoir le jeu complet." + +#: engines/mohawk/riven_external.cpp:655 +msgid "" +"At this point, the Riven Demo would\n" +"ask if you would like to open a web browser\n" +"to bring you to the Red Orb store to buy\n" +"the game. ScummVM cannot do that and\n" +"the site no longer exists." +msgstr "" +"A ce point la démo de Riven vous\n" +"demanderais si vous voulez ouvrir un\n" +"navigateur web pour vous amener sur\n" +"la page de Red Orb et acheter le jeu.\n" +"ScummVM ne peut pas faire ēa et le\n" +"site n'existe plus." + #: engines/mohawk/mohawk.cpp:61 msgid "The game is paused. Press any key to continue." msgstr "Jeu en pause. Appuyer sur une touche pour Reprendre." @@ -4291,6 +4343,10 @@ msgstr "" "Utiliser les vidéos MPEG du DVD ą la place des vidéos AVI de plus basse " "résolution" +#~ msgid "You have to restart ScummVM before your changes will take effect." +#~ msgstr "" +#~ "Vous devez relancer ScummVM pour que le changement soit pris en compte." + #~ msgid "OpenGL (No filtering)" #~ msgstr "OpenGL (sans filtre)" diff --git a/po/gl_ES.po b/po/gl_ES.po index 15ad293d8c..c7c305104e 100644 --- a/po/gl_ES.po +++ b/po/gl_ES.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: ScummVM 1.8.0git\n" "Report-Msgid-Bugs-To: scummvm-devel@lists.scummvm.org\n" -"POT-Creation-Date: 2016-10-12 23:37+0100\n" +"POT-Creation-Date: 2016-11-05 12:43+0100\n" "PO-Revision-Date: 2016-10-09 13:57+0200\n" "Last-Translator: Santiago G. Sanz <s.sanz@uvigo.es>\n" "Language-Team: Santiago G. Sanz <s.sanz@uvigo.es>\n" @@ -16,6 +16,7 @@ msgstr "" "Content-Type: text/plain; charset=iso-8859-1\n" "Content-Transfer-Encoding: 8bit\n" "X-Generator: Poedit 1.8.6\n" +"X-Language-name: Galego\n" #: gui/about.cpp:94 #, c-format @@ -55,7 +56,7 @@ msgstr "Arriba" #: gui/browser.cpp:75 gui/chooser.cpp:46 gui/editgamedialog.cpp:292 #: gui/editrecorddialog.cpp:67 gui/filebrowser-dialog.cpp:64 #: gui/fluidsynth-dialog.cpp:152 gui/KeysDialog.cpp:43 gui/massadd.cpp:95 -#: gui/options.cpp:1376 gui/predictivedialog.cpp:73 gui/recorderdialog.cpp:69 +#: gui/options.cpp:1461 gui/predictivedialog.cpp:73 gui/recorderdialog.cpp:69 #: gui/recorderdialog.cpp:155 gui/remotebrowser.cpp:59 #: gui/saveload-dialog.cpp:383 gui/saveload-dialog.cpp:443 #: gui/saveload-dialog.cpp:717 gui/saveload-dialog.cpp:1111 @@ -79,7 +80,7 @@ msgstr "Elixir" msgid "Select directory where to download game data" msgstr "Selecciona un directorio para descargar os datos de xogo" -#: gui/downloaddialog.cpp:49 gui/editgamedialog.cpp:472 gui/launcher.cpp:173 +#: gui/downloaddialog.cpp:49 gui/editgamedialog.cpp:470 gui/launcher.cpp:197 msgid "Select directory with game data" msgstr "Selecciona un directorio con datos de xogo" @@ -114,7 +115,7 @@ msgstr "" #: gui/downloaddialog.cpp:118 gui/downloaddialog.cpp:152 #: gui/filebrowser-dialog.cpp:132 gui/fluidsynth-dialog.cpp:217 -#: gui/launcher.cpp:286 gui/launcher.cpp:394 gui/launcher.cpp:453 +#: gui/launcher.cpp:307 gui/launcher.cpp:415 gui/launcher.cpp:474 #: gui/storagewizarddialog.cpp:112 #: backends/events/symbiansdl/symbiansdl-events.cpp:186 #: backends/platform/wince/CEActionsPocket.cpp:326 @@ -126,7 +127,7 @@ msgstr "Si" #: gui/downloaddialog.cpp:118 gui/downloaddialog.cpp:153 #: gui/filebrowser-dialog.cpp:132 gui/fluidsynth-dialog.cpp:217 -#: gui/launcher.cpp:286 gui/launcher.cpp:394 gui/launcher.cpp:453 +#: gui/launcher.cpp:307 gui/launcher.cpp:415 gui/launcher.cpp:474 #: gui/storagewizarddialog.cpp:112 #: backends/events/symbiansdl/symbiansdl-events.cpp:186 #: backends/platform/wince/CEActionsPocket.cpp:326 @@ -136,7 +137,7 @@ msgstr "Si" msgid "No" msgstr "Non" -#: gui/downloaddialog.cpp:136 gui/launcher.cpp:544 +#: gui/downloaddialog.cpp:136 gui/launcher.cpp:565 msgid "ScummVM couldn't open the specified directory!" msgstr "ScummVM non foi quen de abrir o directorio!" @@ -149,8 +150,8 @@ msgstr "" "ten un ficheiro co mesmo nome." #: gui/downloaddialog.cpp:146 gui/editgamedialog.cpp:293 -#: gui/fluidsynth-dialog.cpp:153 gui/KeysDialog.cpp:42 gui/launcher.cpp:501 -#: gui/launcher.cpp:505 gui/massadd.cpp:92 gui/options.cpp:1377 +#: gui/fluidsynth-dialog.cpp:153 gui/KeysDialog.cpp:42 gui/launcher.cpp:522 +#: gui/launcher.cpp:526 gui/massadd.cpp:92 gui/options.cpp:1463 #: gui/saveload-dialog.cpp:1112 engines/engine.cpp:477 engines/engine.cpp:488 #: backends/platform/wii/options.cpp:47 #: backends/platform/wince/CELauncherDialog.cpp:54 @@ -233,8 +234,8 @@ msgid "" "English" msgstr "Idioma do xogo. Non converterį a versión galega do xogo en inglesa" -#: gui/editgamedialog.cpp:151 gui/editgamedialog.cpp:165 gui/options.cpp:114 -#: gui/options.cpp:785 gui/options.cpp:798 gui/options.cpp:1261 +#: gui/editgamedialog.cpp:151 gui/editgamedialog.cpp:165 gui/options.cpp:121 +#: gui/options.cpp:812 gui/options.cpp:825 gui/options.cpp:1356 #: audio/null.cpp:41 msgid "<default>" msgstr "<por defecto>" @@ -257,11 +258,11 @@ msgstr "Plataforma:" msgid "Engine" msgstr "Motor" -#: gui/editgamedialog.cpp:184 gui/options.cpp:1120 gui/options.cpp:1137 +#: gui/editgamedialog.cpp:184 gui/options.cpp:1147 gui/options.cpp:1232 msgid "Graphics" msgstr "Grįficos" -#: gui/editgamedialog.cpp:184 gui/options.cpp:1120 gui/options.cpp:1137 +#: gui/editgamedialog.cpp:184 gui/options.cpp:1147 gui/options.cpp:1232 msgid "GFX" msgstr "Efectos grįficos" @@ -274,7 +275,7 @@ msgctxt "lowres" msgid "Override global graphic settings" msgstr "Anular a configuración dos grįficos" -#: gui/editgamedialog.cpp:196 gui/options.cpp:1143 +#: gui/editgamedialog.cpp:196 gui/options.cpp:1238 msgid "Audio" msgstr "Son" @@ -287,11 +288,11 @@ msgctxt "lowres" msgid "Override global audio settings" msgstr "Anular a configuración do son" -#: gui/editgamedialog.cpp:210 gui/options.cpp:1148 +#: gui/editgamedialog.cpp:210 gui/options.cpp:1243 msgid "Volume" msgstr "Volume" -#: gui/editgamedialog.cpp:212 gui/options.cpp:1150 +#: gui/editgamedialog.cpp:212 gui/options.cpp:1245 msgctxt "lowres" msgid "Volume" msgstr "Volume" @@ -305,7 +306,7 @@ msgctxt "lowres" msgid "Override global volume settings" msgstr "Anular a configuración do volume" -#: gui/editgamedialog.cpp:226 gui/options.cpp:1158 +#: gui/editgamedialog.cpp:226 gui/options.cpp:1253 msgid "MIDI" msgstr "MIDI" @@ -318,7 +319,7 @@ msgctxt "lowres" msgid "Override global MIDI settings" msgstr "Anular a configuración de MIDI" -#: gui/editgamedialog.cpp:241 gui/options.cpp:1168 +#: gui/editgamedialog.cpp:241 gui/options.cpp:1263 msgid "MT-32" msgstr "MT-32" @@ -331,11 +332,11 @@ msgctxt "lowres" msgid "Override global MT-32 settings" msgstr "Anular a configuración de MT-32" -#: gui/editgamedialog.cpp:255 gui/options.cpp:1175 +#: gui/editgamedialog.cpp:255 gui/options.cpp:1270 msgid "Paths" msgstr "Camińos" -#: gui/editgamedialog.cpp:257 gui/options.cpp:1177 +#: gui/editgamedialog.cpp:257 gui/options.cpp:1272 msgctxt "lowres" msgid "Paths" msgstr "Camińos" @@ -349,7 +350,7 @@ msgctxt "lowres" msgid "Game Path:" msgstr "Camińo do xogo:" -#: gui/editgamedialog.cpp:271 gui/options.cpp:1201 +#: gui/editgamedialog.cpp:271 gui/options.cpp:1296 msgid "Extra Path:" msgstr "Camińo adicional:" @@ -358,56 +359,56 @@ msgstr "Camińo adicional:" msgid "Specifies path to additional data used by the game" msgstr "Especifica o camińo dos datos adicionais usados no xogo" -#: gui/editgamedialog.cpp:273 gui/options.cpp:1203 +#: gui/editgamedialog.cpp:273 gui/options.cpp:1298 msgctxt "lowres" msgid "Extra Path:" msgstr "Camińo adicional:" -#: gui/editgamedialog.cpp:280 gui/options.cpp:1185 +#: gui/editgamedialog.cpp:280 gui/options.cpp:1280 msgid "Save Path:" msgstr "Camińo de gardado:" #: gui/editgamedialog.cpp:280 gui/editgamedialog.cpp:282 -#: gui/editgamedialog.cpp:283 gui/options.cpp:1185 gui/options.cpp:1187 -#: gui/options.cpp:1188 +#: gui/editgamedialog.cpp:283 gui/options.cpp:1280 gui/options.cpp:1282 +#: gui/options.cpp:1283 msgid "Specifies where your saved games are put" msgstr "Especifica o lugar dos ficheiros de gardado" -#: gui/editgamedialog.cpp:282 gui/options.cpp:1187 +#: gui/editgamedialog.cpp:282 gui/options.cpp:1282 msgctxt "lowres" msgid "Save Path:" msgstr "Camińo de gardado:" -#: gui/editgamedialog.cpp:301 gui/editgamedialog.cpp:400 -#: gui/editgamedialog.cpp:459 gui/editgamedialog.cpp:520 gui/options.cpp:1196 -#: gui/options.cpp:1204 gui/options.cpp:1213 gui/options.cpp:1414 -#: gui/options.cpp:1420 gui/options.cpp:1428 gui/options.cpp:1451 -#: gui/options.cpp:1467 gui/options.cpp:1473 gui/options.cpp:1480 -#: gui/options.cpp:1488 gui/options.cpp:1640 gui/options.cpp:1643 -#: gui/options.cpp:1650 gui/options.cpp:1660 +#: gui/editgamedialog.cpp:301 gui/editgamedialog.cpp:398 +#: gui/editgamedialog.cpp:457 gui/editgamedialog.cpp:518 gui/options.cpp:1291 +#: gui/options.cpp:1299 gui/options.cpp:1308 gui/options.cpp:1488 +#: gui/options.cpp:1494 gui/options.cpp:1502 gui/options.cpp:1525 +#: gui/options.cpp:1554 gui/options.cpp:1560 gui/options.cpp:1567 +#: gui/options.cpp:1575 gui/options.cpp:1758 gui/options.cpp:1761 +#: gui/options.cpp:1768 gui/options.cpp:1778 msgctxt "path" msgid "None" msgstr "Ningśn" -#: gui/editgamedialog.cpp:306 gui/editgamedialog.cpp:406 -#: gui/editgamedialog.cpp:524 gui/options.cpp:1408 gui/options.cpp:1461 -#: gui/options.cpp:1646 backends/platform/wii/options.cpp:56 +#: gui/editgamedialog.cpp:306 gui/editgamedialog.cpp:404 +#: gui/editgamedialog.cpp:522 gui/options.cpp:1482 gui/options.cpp:1548 +#: gui/options.cpp:1764 backends/platform/wii/options.cpp:56 msgid "Default" msgstr "Predefinido" -#: gui/editgamedialog.cpp:452 gui/options.cpp:1654 +#: gui/editgamedialog.cpp:450 gui/options.cpp:1772 msgid "Select SoundFont" msgstr "Seleccionar SoundFont" -#: gui/editgamedialog.cpp:491 +#: gui/editgamedialog.cpp:489 msgid "Select additional game directory" msgstr "Selecciona un directorio con datos adicionais" -#: gui/editgamedialog.cpp:504 gui/options.cpp:1577 +#: gui/editgamedialog.cpp:502 gui/options.cpp:1695 msgid "Select directory for saved games" msgstr "Selecciona un directorio para ficheiros de gardado" -#: gui/editgamedialog.cpp:510 +#: gui/editgamedialog.cpp:508 msgid "" "Saved games sync feature doesn't work with non-default directories. If you " "want your saved games to sync, use default directory." @@ -416,7 +417,7 @@ msgstr "" "directorios non predeterminados. Para sincronizar as partidas gardadas, " "emprega o directorio predeterminado." -#: gui/editgamedialog.cpp:536 +#: gui/editgamedialog.cpp:534 msgid "This game ID is already taken. Please choose another one." msgstr "Este ID de xogo xa estį en uso. Selecciona outro." @@ -496,7 +497,7 @@ msgstr "Seno" msgid "Triangle" msgstr "Triįngulo" -#: gui/fluidsynth-dialog.cpp:138 gui/options.cpp:1221 +#: gui/fluidsynth-dialog.cpp:138 gui/options.cpp:1316 msgid "Misc" msgstr "Misc." @@ -547,15 +548,15 @@ msgstr "Pechar" msgid "Mouse click" msgstr "Premer co rato" -#: gui/gui-manager.cpp:126 base/main.cpp:337 +#: gui/gui-manager.cpp:126 base/main.cpp:340 msgid "Display keyboard" msgstr "Mostrar teclado" -#: gui/gui-manager.cpp:130 base/main.cpp:341 +#: gui/gui-manager.cpp:130 base/main.cpp:344 msgid "Remap keys" msgstr "Asignar teclas" -#: gui/gui-manager.cpp:133 base/main.cpp:344 engines/scumm/help.cpp:87 +#: gui/gui-manager.cpp:133 base/main.cpp:347 engines/scumm/help.cpp:87 msgid "Toggle fullscreen" msgstr "Activar/desactivar pantalla completa" @@ -589,110 +590,110 @@ msgstr "Preme a tecla para asociala" msgid "Choose an action to map" msgstr "Elixe unha acción para asignala" -#: gui/launcher.cpp:117 engines/dialogs.cpp:111 engines/mohawk/dialogs.cpp:98 +#: gui/launcher.cpp:141 engines/dialogs.cpp:111 engines/mohawk/dialogs.cpp:98 msgid "~Q~uit" msgstr "~S~aķr" -#: gui/launcher.cpp:117 backends/platform/sdl/macosx/appmenu_osx.mm:106 +#: gui/launcher.cpp:141 backends/platform/sdl/macosx/appmenu_osx.mm:106 msgid "Quit ScummVM" msgstr "Saķr de ScummVM" -#: gui/launcher.cpp:118 +#: gui/launcher.cpp:142 msgid "A~b~out..." msgstr "Ace~r~ca de..." -#: gui/launcher.cpp:118 backends/platform/sdl/macosx/appmenu_osx.mm:80 +#: gui/launcher.cpp:142 backends/platform/sdl/macosx/appmenu_osx.mm:80 msgid "About ScummVM" msgstr "Acerca de ScummVM" -#: gui/launcher.cpp:119 +#: gui/launcher.cpp:143 msgid "~O~ptions..." msgstr "~O~pcións..." -#: gui/launcher.cpp:119 +#: gui/launcher.cpp:143 msgid "Change global ScummVM options" msgstr "Cambiar as opcións de ScummVM" -#: gui/launcher.cpp:121 +#: gui/launcher.cpp:145 msgid "~S~tart" msgstr "~I~niciar" -#: gui/launcher.cpp:121 +#: gui/launcher.cpp:145 msgid "Start selected game" msgstr "Iniciar o xogo seleccionado" -#: gui/launcher.cpp:124 +#: gui/launcher.cpp:148 msgid "~L~oad..." msgstr "~C~argar..." -#: gui/launcher.cpp:124 +#: gui/launcher.cpp:148 msgid "Load saved game for selected game" msgstr "Cargar partida do xogo seleccionado" -#: gui/launcher.cpp:129 +#: gui/launcher.cpp:153 msgid "~A~dd Game..." msgstr "Eng~a~dir xogo..." -#: gui/launcher.cpp:129 gui/launcher.cpp:136 +#: gui/launcher.cpp:153 gui/launcher.cpp:160 msgid "Hold Shift for Mass Add" msgstr "Manter premido MAIŚS para engadir en masa" -#: gui/launcher.cpp:131 +#: gui/launcher.cpp:155 msgid "~E~dit Game..." msgstr "~E~ditar xogo..." -#: gui/launcher.cpp:131 gui/launcher.cpp:138 +#: gui/launcher.cpp:155 gui/launcher.cpp:162 msgid "Change game options" msgstr "Cambiar as opcións do xogo" -#: gui/launcher.cpp:133 +#: gui/launcher.cpp:157 msgid "~R~emove Game" msgstr "Elimina~r~ xogo" -#: gui/launcher.cpp:133 gui/launcher.cpp:140 +#: gui/launcher.cpp:157 gui/launcher.cpp:164 msgid "Remove game from the list. The game data files stay intact" msgstr "Eliminar o xogo da lista. Os ficheiros de datos non se modifican" -#: gui/launcher.cpp:136 +#: gui/launcher.cpp:160 msgctxt "lowres" msgid "~A~dd Game..." msgstr "Eng~a~dir xogo..." -#: gui/launcher.cpp:138 +#: gui/launcher.cpp:162 msgctxt "lowres" msgid "~E~dit Game..." msgstr "~E~ditar xogo..." -#: gui/launcher.cpp:140 +#: gui/launcher.cpp:164 msgctxt "lowres" msgid "~R~emove Game" msgstr "Elimina~r~ xogo" -#: gui/launcher.cpp:148 +#: gui/launcher.cpp:172 msgid "Search in game list" msgstr "Buscar na lista de xogos" -#: gui/launcher.cpp:152 gui/launcher.cpp:750 +#: gui/launcher.cpp:176 gui/launcher.cpp:771 msgid "Search:" msgstr "Buscar:" -#: gui/launcher.cpp:176 engines/dialogs.cpp:115 engines/cruise/menu.cpp:214 -#: engines/mohawk/dialogs.cpp:103 engines/mohawk/riven.cpp:733 +#: gui/launcher.cpp:200 engines/dialogs.cpp:115 engines/cruise/menu.cpp:214 +#: engines/mohawk/dialogs.cpp:103 engines/mohawk/riven.cpp:734 #: engines/pegasus/pegasus.cpp:353 engines/tsage/scenes.cpp:601 msgid "Load game:" msgstr "Cargar partida:" -#: gui/launcher.cpp:176 engines/dialogs.cpp:115 +#: gui/launcher.cpp:200 engines/dialogs.cpp:115 #: backends/platform/wince/CEActionsPocket.cpp:267 #: backends/platform/wince/CEActionsSmartphone.cpp:231 #: engines/cruise/menu.cpp:214 engines/mohawk/dialogs.cpp:103 -#: engines/mohawk/riven.cpp:733 engines/parallaction/saveload.cpp:194 +#: engines/mohawk/riven.cpp:734 engines/parallaction/saveload.cpp:194 #: engines/pegasus/pegasus.cpp:353 engines/scumm/dialogs.cpp:185 #: engines/tsage/scenes.cpp:601 msgid "Load" msgstr "Cargar" -#: gui/launcher.cpp:285 +#: gui/launcher.cpp:306 msgid "" "Do you really want to run the mass game detector? This could potentially add " "a huge number of games." @@ -700,39 +701,39 @@ msgstr "" "Queres executar o detector de xogos en masa? É posible que se engada un gran " "nśmero de xogos." -#: gui/launcher.cpp:344 +#: gui/launcher.cpp:365 msgid "This directory cannot be used yet, it is being downloaded into!" msgstr "Aķnda non se pode empregar este directorio. A descarga non rematou!" -#: gui/launcher.cpp:394 +#: gui/launcher.cpp:415 msgid "Do you really want to remove this game configuration?" msgstr "Seguro que queres eliminar esta configuración de xogo?" -#: gui/launcher.cpp:452 +#: gui/launcher.cpp:473 msgid "Do you want to load saved game?" msgstr "Queres cargar a partida gardada?" -#: gui/launcher.cpp:501 +#: gui/launcher.cpp:522 msgid "This game does not support loading games from the launcher." msgstr "O xogo non permite cargar partidas dende o iniciador." -#: gui/launcher.cpp:505 +#: gui/launcher.cpp:526 msgid "ScummVM could not find any engine capable of running the selected game!" msgstr "ScummVM non foi quen de atopar un motor para executar o xogo!" -#: gui/launcher.cpp:556 +#: gui/launcher.cpp:577 msgid "ScummVM could not find any game in the specified directory!" msgstr "ScummVM non foi quen de atopar xogos no directorio!" -#: gui/launcher.cpp:569 +#: gui/launcher.cpp:590 msgid "Pick the game:" msgstr "Elixe o xogo:" -#: gui/launcher.cpp:687 +#: gui/launcher.cpp:708 msgid "Mass Add..." msgstr "Engadir en masa..." -#: gui/launcher.cpp:689 +#: gui/launcher.cpp:710 msgid "Record..." msgstr "Gravar..." @@ -775,146 +776,146 @@ msgstr "Cambiar ao xogo" msgid "Fast replay" msgstr "Repetición rįpida" -#: gui/options.cpp:112 common/updates.cpp:56 +#: gui/options.cpp:119 common/updates.cpp:56 msgid "Never" msgstr "Nunca" -#: gui/options.cpp:112 +#: gui/options.cpp:119 msgid "every 5 mins" msgstr "cada 5 min" -#: gui/options.cpp:112 +#: gui/options.cpp:119 msgid "every 10 mins" msgstr "cada 10 min" -#: gui/options.cpp:112 +#: gui/options.cpp:119 msgid "every 15 mins" msgstr "cada 15 min" -#: gui/options.cpp:112 +#: gui/options.cpp:119 msgid "every 30 mins" msgstr "cada 30 min" -#: gui/options.cpp:114 +#: gui/options.cpp:121 msgid "8 kHz" msgstr "8 kHz" -#: gui/options.cpp:114 +#: gui/options.cpp:121 msgid "11 kHz" msgstr "11 kHz" -#: gui/options.cpp:114 +#: gui/options.cpp:121 msgid "22 kHz" msgstr "22 kHz" -#: gui/options.cpp:114 +#: gui/options.cpp:121 msgid "44 kHz" msgstr "44 kHz" -#: gui/options.cpp:114 +#: gui/options.cpp:121 msgid "48 kHz" msgstr "48 kHz" -#: gui/options.cpp:291 gui/options.cpp:528 gui/options.cpp:629 -#: gui/options.cpp:699 gui/options.cpp:910 +#: gui/options.cpp:289 gui/options.cpp:552 gui/options.cpp:657 +#: gui/options.cpp:726 gui/options.cpp:937 msgctxt "soundfont" msgid "None" msgstr "Ningunha" -#: gui/options.cpp:432 +#: gui/options.cpp:456 msgid "Failed to apply some of the graphic options changes:" msgstr "Erro ao aplicar os cambios na configuración dos grįficos:" -#: gui/options.cpp:444 +#: gui/options.cpp:468 msgid "the video mode could not be changed." msgstr "non se puido cambiar o modo de vķdeo." -#: gui/options.cpp:450 +#: gui/options.cpp:474 msgid "the aspect ratio setting could not be changed" msgstr "non se puido cambiar a proporción." -#: gui/options.cpp:456 +#: gui/options.cpp:480 msgid "the fullscreen setting could not be changed" msgstr "non se puido cambiar a configuración de pantalla completa." -#: gui/options.cpp:462 +#: gui/options.cpp:486 #, fuzzy msgid "the filtering setting could not be changed" msgstr "non se puido cambiar a configuración de pantalla completa." -#: gui/options.cpp:782 +#: gui/options.cpp:809 msgid "Graphics mode:" msgstr "Grįficos:" -#: gui/options.cpp:796 +#: gui/options.cpp:823 msgid "Render mode:" msgstr "Procesamento:" -#: gui/options.cpp:796 gui/options.cpp:797 +#: gui/options.cpp:823 gui/options.cpp:824 msgid "Special dithering modes supported by some games" msgstr "Modos de interpolación de cores compatibles con algśns xogos" -#: gui/options.cpp:808 -#: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:2450 +#: gui/options.cpp:835 backends/graphics/openglsdl/openglsdl-graphics.cpp:615 +#: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:2460 msgid "Fullscreen mode" msgstr "Pantalla completa" -#: gui/options.cpp:811 +#: gui/options.cpp:838 #, fuzzy msgid "Filter graphics" msgstr "Empregar grįficos en cor" -#: gui/options.cpp:811 +#: gui/options.cpp:838 msgid "Use linear filtering when scaling graphics" msgstr "" -#: gui/options.cpp:814 +#: gui/options.cpp:841 msgid "Aspect ratio correction" msgstr "Corrección de proporción" -#: gui/options.cpp:814 +#: gui/options.cpp:841 msgid "Correct aspect ratio for 320x200 games" msgstr "Corrixir a proporción para os xogos en 320x200" -#: gui/options.cpp:822 +#: gui/options.cpp:849 msgid "Preferred Device:" msgstr "Dispositivo preferido:" -#: gui/options.cpp:822 +#: gui/options.cpp:849 msgid "Music Device:" msgstr "Dispositivo de mśsica:" -#: gui/options.cpp:822 gui/options.cpp:824 +#: gui/options.cpp:849 gui/options.cpp:851 msgid "Specifies preferred sound device or sound card emulator" msgstr "Especifica o dispositivo ou emulador de tarxeta de son preferido" -#: gui/options.cpp:822 gui/options.cpp:824 gui/options.cpp:825 +#: gui/options.cpp:849 gui/options.cpp:851 gui/options.cpp:852 msgid "Specifies output sound device or sound card emulator" msgstr "Especifica o dispositivo ou emulador de tarxeta de son de saķda" -#: gui/options.cpp:824 +#: gui/options.cpp:851 msgctxt "lowres" msgid "Preferred Dev.:" msgstr "Disp. preferido:" -#: gui/options.cpp:824 +#: gui/options.cpp:851 msgctxt "lowres" msgid "Music Device:" msgstr "Disp. mśsica:" -#: gui/options.cpp:851 +#: gui/options.cpp:878 msgid "AdLib emulator:" msgstr "Emulador de AdLib:" -#: gui/options.cpp:851 gui/options.cpp:852 +#: gui/options.cpp:878 gui/options.cpp:879 msgid "AdLib is used for music in many games" msgstr "Moitos xogos empregan AdLib para a mśsica" -#: gui/options.cpp:862 +#: gui/options.cpp:889 msgid "Output rate:" msgstr "Taxa de saķda:" -#: gui/options.cpp:862 gui/options.cpp:863 +#: gui/options.cpp:889 gui/options.cpp:890 msgid "" "Higher value specifies better sound quality but may be not supported by your " "soundcard" @@ -922,80 +923,80 @@ msgstr "" "A maior valor, maior calidade do son, mais talvez non sexa compatible coa " "tarxeta" -#: gui/options.cpp:873 +#: gui/options.cpp:900 msgid "GM Device:" msgstr "Dispositivo de GM:" -#: gui/options.cpp:873 +#: gui/options.cpp:900 msgid "Specifies default sound device for General MIDI output" msgstr "" "Especifica o dispositivo de son por defecto para a saķda de General MIDI" -#: gui/options.cpp:884 +#: gui/options.cpp:911 msgid "Don't use General MIDI music" msgstr "Non empregar mśsica en General MIDI" -#: gui/options.cpp:895 gui/options.cpp:957 +#: gui/options.cpp:922 gui/options.cpp:984 msgid "Use first available device" msgstr "Empregar o primeiro dispositivo dispońible" -#: gui/options.cpp:907 +#: gui/options.cpp:934 msgid "SoundFont:" msgstr "SoundFont:" -#: gui/options.cpp:907 gui/options.cpp:909 gui/options.cpp:910 +#: gui/options.cpp:934 gui/options.cpp:936 gui/options.cpp:937 msgid "SoundFont is supported by some audio cards, FluidSynth and Timidity" msgstr "" "SoundFont é compatible con algunhas tarxetas de son, FluidSynth e Timidity" -#: gui/options.cpp:909 +#: gui/options.cpp:936 msgctxt "lowres" msgid "SoundFont:" msgstr "SoundFont:" -#: gui/options.cpp:915 +#: gui/options.cpp:942 msgid "Mixed AdLib/MIDI mode" msgstr "Modo AdLib/MIDI mixto" -#: gui/options.cpp:915 +#: gui/options.cpp:942 msgid "Use both MIDI and AdLib sound generation" msgstr "Empregar xeración de son MIDI e mįis AdLib" -#: gui/options.cpp:918 +#: gui/options.cpp:945 msgid "MIDI gain:" msgstr "Ganancia de MIDI:" -#: gui/options.cpp:928 +#: gui/options.cpp:955 msgid "MT-32 Device:" msgstr "Dispositivo de MT-32:" -#: gui/options.cpp:928 +#: gui/options.cpp:955 msgid "Specifies default sound device for Roland MT-32/LAPC1/CM32l/CM64 output" msgstr "" "Especifica o dispositivo por defecto para a saķda de Roland MT-32/LAPC1/" "CM32l/CM64" -#: gui/options.cpp:933 +#: gui/options.cpp:960 msgid "True Roland MT-32 (disable GM emulation)" msgstr "Roland MT-32 verdadeiro (sen emulación de GM)" -#: gui/options.cpp:933 gui/options.cpp:935 +#: gui/options.cpp:960 gui/options.cpp:962 msgid "" "Check if you want to use your real hardware Roland-compatible sound device " "connected to your computer" msgstr "" "Marcar para empregar o hardware compatible con Roland conectado ao sistema" -#: gui/options.cpp:935 +#: gui/options.cpp:962 msgctxt "lowres" msgid "True Roland MT-32 (no GM emulation)" msgstr "Roland MT-32 (sen emulación de GM)" -#: gui/options.cpp:938 +#: gui/options.cpp:965 msgid "Roland GS Device (enable MT-32 mappings)" msgstr "Dispositivo Roland GS (activar atribución MT-32)" -#: gui/options.cpp:938 +#: gui/options.cpp:965 msgid "" "Check if you want to enable patch mappings to emulate an MT-32 on a Roland " "GS device" @@ -1003,270 +1004,270 @@ msgstr "" "Marcar para activar a atribución de parches e emular MT-32 nun dispositivo " "Roland GS" -#: gui/options.cpp:947 +#: gui/options.cpp:974 msgid "Don't use Roland MT-32 music" msgstr "Non empregar mśsica en Roland MT-32" -#: gui/options.cpp:974 +#: gui/options.cpp:1001 msgid "Text and Speech:" msgstr "Texto e voz:" -#: gui/options.cpp:978 gui/options.cpp:988 +#: gui/options.cpp:1005 gui/options.cpp:1015 msgid "Speech" msgstr "Voz" -#: gui/options.cpp:979 gui/options.cpp:989 +#: gui/options.cpp:1006 gui/options.cpp:1016 msgid "Subtitles" msgstr "Subtķtulos" -#: gui/options.cpp:980 +#: gui/options.cpp:1007 msgid "Both" msgstr "Ambos" -#: gui/options.cpp:982 +#: gui/options.cpp:1009 msgid "Subtitle speed:" msgstr "Velocidade dos subtķtulos:" -#: gui/options.cpp:984 +#: gui/options.cpp:1011 msgctxt "lowres" msgid "Text and Speech:" msgstr "Texto e voz:" -#: gui/options.cpp:988 +#: gui/options.cpp:1015 msgid "Spch" msgstr "Voz" -#: gui/options.cpp:989 +#: gui/options.cpp:1016 msgid "Subs" msgstr "Subs" -#: gui/options.cpp:990 +#: gui/options.cpp:1017 msgctxt "lowres" msgid "Both" msgstr "Ambos" -#: gui/options.cpp:990 +#: gui/options.cpp:1017 msgid "Show subtitles and play speech" msgstr "Mostrar os subtķtulos e reproducir as voces" -#: gui/options.cpp:992 +#: gui/options.cpp:1019 msgctxt "lowres" msgid "Subtitle speed:" msgstr "Velocidade subs:" -#: gui/options.cpp:1008 +#: gui/options.cpp:1035 msgid "Music volume:" msgstr "Volume de mśsica:" -#: gui/options.cpp:1010 +#: gui/options.cpp:1037 msgctxt "lowres" msgid "Music volume:" msgstr "Volume mśsica:" -#: gui/options.cpp:1017 +#: gui/options.cpp:1044 msgid "Mute All" msgstr "Silenciar todo" -#: gui/options.cpp:1020 +#: gui/options.cpp:1047 msgid "SFX volume:" msgstr "Volume de efectos:" -#: gui/options.cpp:1020 gui/options.cpp:1022 gui/options.cpp:1023 +#: gui/options.cpp:1047 gui/options.cpp:1049 gui/options.cpp:1050 msgid "Special sound effects volume" msgstr "Volume dos efectos de son" -#: gui/options.cpp:1022 +#: gui/options.cpp:1049 msgctxt "lowres" msgid "SFX volume:" msgstr "Volume efectos:" -#: gui/options.cpp:1030 +#: gui/options.cpp:1057 msgid "Speech volume:" msgstr "Volume de voz:" -#: gui/options.cpp:1032 +#: gui/options.cpp:1059 msgctxt "lowres" msgid "Speech volume:" msgstr "Volume voz:" -#: gui/options.cpp:1162 +#: gui/options.cpp:1257 msgid "FluidSynth Settings" msgstr "Configuración de FluidSynth" -#: gui/options.cpp:1193 +#: gui/options.cpp:1288 msgid "Theme Path:" msgstr "Camińo do tema:" -#: gui/options.cpp:1195 +#: gui/options.cpp:1290 msgctxt "lowres" msgid "Theme Path:" msgstr "Camińo tema:" -#: gui/options.cpp:1201 gui/options.cpp:1203 gui/options.cpp:1204 +#: gui/options.cpp:1296 gui/options.cpp:1298 gui/options.cpp:1299 msgid "Specifies path to additional data used by all games or ScummVM" msgstr "" "Especificar o camińo dos datos adicionais de todos os xogos ou de ScummVM" -#: gui/options.cpp:1210 +#: gui/options.cpp:1305 msgid "Plugins Path:" msgstr "Camińo dos complementos:" -#: gui/options.cpp:1212 +#: gui/options.cpp:1307 msgctxt "lowres" msgid "Plugins Path:" msgstr "Camińo complementos:" -#: gui/options.cpp:1223 +#: gui/options.cpp:1318 msgctxt "lowres" msgid "Misc" msgstr "Misc." -#: gui/options.cpp:1225 +#: gui/options.cpp:1320 msgid "Theme:" msgstr "Tema:" -#: gui/options.cpp:1229 +#: gui/options.cpp:1324 msgid "GUI Renderer:" msgstr "Procesamento da interfaz:" -#: gui/options.cpp:1241 +#: gui/options.cpp:1336 msgid "Autosave:" msgstr "Autogardado:" -#: gui/options.cpp:1243 +#: gui/options.cpp:1338 msgctxt "lowres" msgid "Autosave:" msgstr "Autogardado:" -#: gui/options.cpp:1251 +#: gui/options.cpp:1346 msgid "Keys" msgstr "Teclas" -#: gui/options.cpp:1258 +#: gui/options.cpp:1353 msgid "GUI Language:" msgstr "Idioma de interfaz:" -#: gui/options.cpp:1258 +#: gui/options.cpp:1353 msgid "Language of ScummVM GUI" msgstr "Idioma da interfaz de ScummVM" -#: gui/options.cpp:1286 +#: gui/options.cpp:1381 msgid "Update check:" msgstr "Comprobación de actualizacións:" -#: gui/options.cpp:1286 +#: gui/options.cpp:1381 msgid "How often to check ScummVM updates" msgstr "Frecuencia de comprobación das actualizacións de ScummVM" -#: gui/options.cpp:1298 +#: gui/options.cpp:1393 msgid "Check now" msgstr "Comprobar agora" -#: gui/options.cpp:1306 +#: gui/options.cpp:1401 msgid "Cloud" msgstr "Nube" -#: gui/options.cpp:1308 +#: gui/options.cpp:1403 msgctxt "lowres" msgid "Cloud" msgstr "Nube" -#: gui/options.cpp:1319 +#: gui/options.cpp:1408 msgid "Storage:" msgstr "Almacenamento:" -#: gui/options.cpp:1319 +#: gui/options.cpp:1408 msgid "Active cloud storage" msgstr "Almacenamento na nube activo" -#: gui/options.cpp:1326 gui/options.cpp:1877 +#: gui/options.cpp:1415 gui/options.cpp:1972 msgid "<none>" msgstr "<ningśn>" -#: gui/options.cpp:1330 backends/platform/wii/options.cpp:114 +#: gui/options.cpp:1419 backends/platform/wii/options.cpp:114 msgid "Username:" msgstr "Nome de usuario:" -#: gui/options.cpp:1330 +#: gui/options.cpp:1419 msgid "Username used by this storage" msgstr "Nome de usuario empregado por este almacenamento" -#: gui/options.cpp:1333 +#: gui/options.cpp:1422 msgid "Used space:" msgstr "Espazo empregado:" -#: gui/options.cpp:1333 +#: gui/options.cpp:1422 msgid "Space used by ScummVM's saved games on this storage" msgstr "" "Espazo empregado polas partidas gardadas de ScummVM neste almacenamento." -#: gui/options.cpp:1336 +#: gui/options.cpp:1425 msgid "Last sync time:" msgstr "Śltima sincronización:" -#: gui/options.cpp:1336 +#: gui/options.cpp:1425 msgid "When the last saved games sync for this storage occured" msgstr "" "O momento da śltima sincronización das partidas gardadas neste almacenamento." -#: gui/options.cpp:1339 gui/storagewizarddialog.cpp:71 +#: gui/options.cpp:1428 gui/storagewizarddialog.cpp:71 msgid "Connect" msgstr "Conectar" -#: gui/options.cpp:1339 +#: gui/options.cpp:1428 msgid "Open wizard dialog to connect your cloud storage account" msgstr "" "Abre o diįlogo do asistente para conectar coa tśa conta de almacenamento na " "nube." -#: gui/options.cpp:1340 +#: gui/options.cpp:1429 msgid "Refresh" msgstr "Actualizar" -#: gui/options.cpp:1340 +#: gui/options.cpp:1429 msgid "Refresh current cloud storage information (username and usage)" msgstr "" "Actualiza a información do almacenamento na nube actual (nome de usuario e " "espazo empregado)." -#: gui/options.cpp:1341 +#: gui/options.cpp:1430 msgid "Download" msgstr "Descargar" -#: gui/options.cpp:1341 +#: gui/options.cpp:1430 msgid "Open downloads manager dialog" msgstr "Abre o diįlogo do xestor de descargas." -#: gui/options.cpp:1343 +#: gui/options.cpp:1432 msgid "Run server" msgstr "Executar servidor" -#: gui/options.cpp:1343 +#: gui/options.cpp:1432 msgid "Run local webserver" msgstr "Executar servidor web local" -#: gui/options.cpp:1344 gui/options.cpp:1987 +#: gui/options.cpp:1433 gui/options.cpp:2082 msgid "Not running" msgstr "Non se estį a executar" -#: gui/options.cpp:1348 +#: gui/options.cpp:1437 msgid "/root/ Path:" msgstr "Camińo de /root/:" -#: gui/options.cpp:1348 gui/options.cpp:1350 gui/options.cpp:1351 +#: gui/options.cpp:1437 gui/options.cpp:1439 gui/options.cpp:1440 msgid "Specifies which directory the Files Manager can access" msgstr "Especifica o directorio de acceso do xestor de ficheiros." -#: gui/options.cpp:1350 +#: gui/options.cpp:1439 msgctxt "lowres" msgid "/root/ Path:" msgstr "Camińo de /root/:" -#: gui/options.cpp:1360 +#: gui/options.cpp:1449 msgid "Server's port:" msgstr "Porto do servidor:" -#: gui/options.cpp:1360 +#: gui/options.cpp:1449 msgid "" "Which port is used by the server\n" "Auth with server is not available with non-default port" @@ -1274,68 +1275,68 @@ msgstr "" "O porto empregado polo servidor.\n" "Autorización non dispońible con portos non predeterminados." -#: gui/options.cpp:1520 -msgid "You have to restart ScummVM before your changes will take effect." -msgstr "Debes reiniciar ScummVM para que os cambios teńan efecto." +#: gui/options.cpp:1462 +msgid "Apply" +msgstr "" -#: gui/options.cpp:1543 +#: gui/options.cpp:1628 msgid "Failed to change cloud storage!" msgstr "Erro ao cambiar o almacenamento na nube!" -#: gui/options.cpp:1546 +#: gui/options.cpp:1631 msgid "Another cloud storage is already active." msgstr "Xa estį activo outro almacenamento na nube." -#: gui/options.cpp:1584 +#: gui/options.cpp:1667 +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 "" +"O tema seleccionado non é compatible co idioma actual. Para empregar o tema, " +"deberįs cambiar antes o idioma da interfaz." + +#: gui/options.cpp:1702 msgid "The chosen directory cannot be written to. Please select another one." msgstr "Non é posible escribir no directorio elixido. Selecciona outro." -#: gui/options.cpp:1593 +#: gui/options.cpp:1711 msgid "Select directory for GUI themes" msgstr "Seleccionar directorio para temas de interfaz" -#: gui/options.cpp:1603 +#: gui/options.cpp:1721 msgid "Select directory for extra files" msgstr "Seleccionar directorio para ficheiros adicionais" -#: gui/options.cpp:1614 +#: gui/options.cpp:1732 msgid "Select directory for plugins" msgstr "Seleccionar directorio para complementos" -#: gui/options.cpp:1626 +#: gui/options.cpp:1744 msgid "Select directory for Files Manager /root/" msgstr "Seleccionar directorio para /root/ de xestor de ficheiros" -#: gui/options.cpp:1688 -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 "" -"O tema seleccionado non é compatible co idioma actual. Para empregar o tema, " -"deberįs cambiar antes o idioma da interfaz." - -#: gui/options.cpp:1884 +#: gui/options.cpp:1979 #, c-format msgid "%llu bytes" msgstr "%llu bytes" -#: gui/options.cpp:1892 +#: gui/options.cpp:1987 msgid "<right now>" msgstr "<agora mesmo>" -#: gui/options.cpp:1894 +#: gui/options.cpp:1989 msgid "<never>" msgstr "<nunca>" -#: gui/options.cpp:1978 +#: gui/options.cpp:2073 msgid "Stop server" msgstr "Deter servidor" -#: gui/options.cpp:1979 +#: gui/options.cpp:2074 msgid "Stop local webserver" msgstr "Deter servidor web local" -#: gui/options.cpp:2068 +#: gui/options.cpp:2163 msgid "" "Request failed.\n" "Check your Internet connection." @@ -1611,35 +1612,35 @@ msgstr "Continuar" msgid "Clear value" msgstr "Limpar valor" -#: base/main.cpp:250 +#: base/main.cpp:253 #, c-format msgid "Engine does not support debug level '%s'" msgstr "O motor non é compatible co nivel de depuración %s" -#: base/main.cpp:324 +#: base/main.cpp:327 msgid "Menu" msgstr "Menś" -#: base/main.cpp:327 backends/platform/symbian/src/SymbianActions.cpp:45 +#: base/main.cpp:330 backends/platform/symbian/src/SymbianActions.cpp:45 #: backends/platform/wince/CEActionsPocket.cpp:45 #: backends/platform/wince/CEActionsSmartphone.cpp:46 msgid "Skip" msgstr "Omitir" -#: base/main.cpp:330 backends/platform/symbian/src/SymbianActions.cpp:50 +#: base/main.cpp:333 backends/platform/symbian/src/SymbianActions.cpp:50 #: backends/platform/wince/CEActionsPocket.cpp:42 msgid "Pause" msgstr "Pausa" -#: base/main.cpp:333 +#: base/main.cpp:336 msgid "Skip line" msgstr "Omitir lińa" -#: base/main.cpp:542 +#: base/main.cpp:547 msgid "Error running game:" msgstr "Erro de execución do xogo:" -#: base/main.cpp:589 +#: base/main.cpp:594 msgid "Could not find any engine capable of running the selected game" msgstr "Non se puido atopar un motor para executar o xogo seleccionado" @@ -2013,11 +2014,11 @@ msgstr "FM-Towns Audio" msgid "PC-98 Audio" msgstr "PC-98 Audio" -#: audio/softsynth/mt32.cpp:196 +#: audio/softsynth/mt32.cpp:197 msgid "Initializing MT-32 Emulator" msgstr "Iniciando emulador de MT-32" -#: audio/softsynth/mt32.cpp:434 +#: audio/softsynth/mt32.cpp:435 msgid "MT-32 Emulator" msgstr "Emulador de MT-32" @@ -2033,15 +2034,15 @@ msgstr "Emulador de IBM PCjr" msgid "C64 Audio Emulator" msgstr "Emulador de C64 Audio" -#: backends/cloud/storage.cpp:210 +#: backends/cloud/storage.cpp:211 msgid "Saved games sync complete." msgstr "Sincronización de partidas gardadas completada." -#: backends/cloud/storage.cpp:221 +#: backends/cloud/storage.cpp:222 msgid "Saved games sync was cancelled." msgstr "Cancelouse a sincronización de partidas gardadas." -#: backends/cloud/storage.cpp:223 +#: backends/cloud/storage.cpp:224 msgid "" "Saved games sync failed.\n" "Check your Internet connection." @@ -2049,7 +2050,7 @@ msgstr "" "Erro ao sincronizar as partidas gardadas.\n" "Comproba a tśa conexión į Internet." -#: backends/cloud/storage.cpp:327 +#: backends/cloud/storage.cpp:328 #, c-format msgid "" "Download complete.\n" @@ -2058,11 +2059,11 @@ msgstr "" "Descarga completada.\n" "Erro ao descargar %u ficheiros." -#: backends/cloud/storage.cpp:329 +#: backends/cloud/storage.cpp:330 msgid "Download complete." msgstr "Descarga completada." -#: backends/cloud/storage.cpp:339 +#: backends/cloud/storage.cpp:340 msgid "Download failed." msgstr "Erro ao descargar." @@ -2171,43 +2172,53 @@ msgstr "Arrastra tres dedos į dereita para cambiar o estado." msgid "OpenGL" msgstr "OpenGL" -#: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:47 -#: backends/graphics/wincesdl/wincesdl-graphics.cpp:88 -#: backends/graphics/wincesdl/wincesdl-graphics.cpp:95 -msgid "Normal (no scaling)" -msgstr "Normal (sen escala)" +#: backends/graphics/openglsdl/openglsdl-graphics.cpp:617 +#: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:2462 +msgid "Windowed mode" +msgstr "Modo en ventį" -#: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:66 -msgctxt "lowres" -msgid "Normal (no scaling)" -msgstr "Normal (sen escala)" +#: backends/graphics/openglsdl/openglsdl-graphics.cpp:710 +#, c-format +msgid "Resolution: %dx%d" +msgstr "" -#: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:2329 +#: backends/graphics/openglsdl/openglsdl-graphics.cpp:731 +#: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:2338 msgid "Enabled aspect ratio correction" msgstr "Corrección de proporción activada" -#: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:2335 +#: backends/graphics/openglsdl/openglsdl-graphics.cpp:733 +#: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:2344 msgid "Disabled aspect ratio correction" msgstr "Corrección de proporción desactivada" -#: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:2353 +#: backends/graphics/openglsdl/openglsdl-graphics.cpp:753 +#: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:2362 #, fuzzy msgid "Filtering enabled" msgstr "Premer activado" -#: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:2355 +#: backends/graphics/openglsdl/openglsdl-graphics.cpp:755 +#: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:2364 #, fuzzy msgid "Filtering disabled" msgstr "Premer desactivado" -#: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:2407 +#: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:47 +#: backends/graphics/wincesdl/wincesdl-graphics.cpp:88 +#: backends/graphics/wincesdl/wincesdl-graphics.cpp:95 +msgid "Normal (no scaling)" +msgstr "Normal (sen escala)" + +#: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:66 +msgctxt "lowres" +msgid "Normal (no scaling)" +msgstr "Normal (sen escala)" + +#: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:2417 msgid "Active graphics filter:" msgstr "Filtro de grįficos activo:" -#: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:2452 -msgid "Windowed mode" -msgstr "Modo en ventį" - #: backends/keymapper/remap-dialog.cpp:48 msgid "Keymap:" msgstr "Asignación de teclas:" @@ -3128,6 +3139,39 @@ msgstr "Menś ~p~rincipal" msgid "~W~ater Effect Enabled" msgstr "Efecto de ~a~uga activado" +#: engines/mohawk/riven.cpp:150 +msgid "" +"You're missing a Riven executable. The Windows executable is 'riven.exe' or " +"'rivendmo.exe'. " +msgstr "" + +#: engines/mohawk/riven.cpp:151 +msgid "" +"Using the 'arcriven.z' installer file also works. In addition, you can use " +"the Mac 'Riven' executable." +msgstr "" + +#: engines/mohawk/riven.cpp:162 +msgid "" +"You're missing 'extras.mhk'. Using the 'arcriven.z' installer file also " +"works." +msgstr "" + +#: engines/mohawk/riven_external.cpp:213 +msgid "" +"Exploration beyond this point available only within the full version of\n" +"the game." +msgstr "" + +#: engines/mohawk/riven_external.cpp:655 +msgid "" +"At this point, the Riven Demo would\n" +"ask if you would like to open a web browser\n" +"to bring you to the Red Orb store to buy\n" +"the game. ScummVM cannot do that and\n" +"the site no longer exists." +msgstr "" + #: engines/mohawk/mohawk.cpp:61 msgid "The game is paused. Press any key to continue." msgstr "Xogo en pausa. Pulsa calquera tecla para continuar." @@ -4262,6 +4306,9 @@ msgid "Use MPEG video from the DVD version, instead of lower resolution AVI" msgstr "" "Emprega o vķdeo MPEG da versión en DVD, no canto da AVI de baixa resolución." +#~ msgid "You have to restart ScummVM before your changes will take effect." +#~ msgstr "Debes reiniciar ScummVM para que os cambios teńan efecto." + #~ msgid "OpenGL (No filtering)" #~ msgstr "OpenGL (Sen filtraxe)" diff --git a/po/hu_HU.po b/po/hu_HU.po index b96bb22470..59774fb7fa 100644..100755 --- a/po/hu_HU.po +++ b/po/hu_HU.po @@ -6,8 +6,8 @@ msgid "" msgstr "" "Project-Id-Version: ScummVM 1.3.0svn\n" "Report-Msgid-Bugs-To: scummvm-devel@lists.scummvm.org\n" -"POT-Creation-Date: 2016-10-12 23:37+0100\n" -"PO-Revision-Date: 2016-10-17 07:44+0200\n" +"POT-Creation-Date: 2016-11-05 12:43+0100\n" +"PO-Revision-Date: 2016-11-06 07:24+0200\n" "Last-Translator: George Kormendi <grubycza@hotmail.com>\n" "Language-Team: Hungarian\n" "Language: Magyar\n" @@ -17,6 +17,7 @@ msgstr "" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: Virtaal 0.7.1\n" "X-Poedit-SourceCharset: iso-8859-1\n" +"X-Language-name: Magyar\n" #: gui/about.cpp:94 #, c-format @@ -56,7 +57,7 @@ msgstr "Feljebb" #: gui/browser.cpp:75 gui/chooser.cpp:46 gui/editgamedialog.cpp:292 #: gui/editrecorddialog.cpp:67 gui/filebrowser-dialog.cpp:64 #: gui/fluidsynth-dialog.cpp:152 gui/KeysDialog.cpp:43 gui/massadd.cpp:95 -#: gui/options.cpp:1376 gui/predictivedialog.cpp:73 gui/recorderdialog.cpp:69 +#: gui/options.cpp:1461 gui/predictivedialog.cpp:73 gui/recorderdialog.cpp:69 #: gui/recorderdialog.cpp:155 gui/remotebrowser.cpp:59 #: gui/saveload-dialog.cpp:383 gui/saveload-dialog.cpp:443 #: gui/saveload-dialog.cpp:717 gui/saveload-dialog.cpp:1111 @@ -80,7 +81,7 @@ msgstr "Vįlaszt" msgid "Select directory where to download game data" msgstr "Vįlassz mappįt, ahonnan letölthetõk a jįték adatok" -#: gui/downloaddialog.cpp:49 gui/editgamedialog.cpp:472 gui/launcher.cpp:173 +#: gui/downloaddialog.cpp:49 gui/editgamedialog.cpp:470 gui/launcher.cpp:197 msgid "Select directory with game data" msgstr "Jįtékok helyének kivįlasztįsa" @@ -115,7 +116,7 @@ msgstr "" #: gui/downloaddialog.cpp:118 gui/downloaddialog.cpp:152 #: gui/filebrowser-dialog.cpp:132 gui/fluidsynth-dialog.cpp:217 -#: gui/launcher.cpp:286 gui/launcher.cpp:394 gui/launcher.cpp:453 +#: gui/launcher.cpp:307 gui/launcher.cpp:415 gui/launcher.cpp:474 #: gui/storagewizarddialog.cpp:112 #: backends/events/symbiansdl/symbiansdl-events.cpp:186 #: backends/platform/wince/CEActionsPocket.cpp:326 @@ -127,7 +128,7 @@ msgstr "Igen" #: gui/downloaddialog.cpp:118 gui/downloaddialog.cpp:153 #: gui/filebrowser-dialog.cpp:132 gui/fluidsynth-dialog.cpp:217 -#: gui/launcher.cpp:286 gui/launcher.cpp:394 gui/launcher.cpp:453 +#: gui/launcher.cpp:307 gui/launcher.cpp:415 gui/launcher.cpp:474 #: gui/storagewizarddialog.cpp:112 #: backends/events/symbiansdl/symbiansdl-events.cpp:186 #: backends/platform/wince/CEActionsPocket.cpp:326 @@ -137,7 +138,7 @@ msgstr "Igen" msgid "No" msgstr "Nem" -#: gui/downloaddialog.cpp:136 gui/launcher.cpp:544 +#: gui/downloaddialog.cpp:136 gui/launcher.cpp:565 msgid "ScummVM couldn't open the specified directory!" msgstr "ScummVM nem tudja megnyitni a vįlasztott mappįt!" @@ -150,8 +151,8 @@ msgstr "" "ugyanazzal a névvel." #: gui/downloaddialog.cpp:146 gui/editgamedialog.cpp:293 -#: gui/fluidsynth-dialog.cpp:153 gui/KeysDialog.cpp:42 gui/launcher.cpp:501 -#: gui/launcher.cpp:505 gui/massadd.cpp:92 gui/options.cpp:1377 +#: gui/fluidsynth-dialog.cpp:153 gui/KeysDialog.cpp:42 gui/launcher.cpp:522 +#: gui/launcher.cpp:526 gui/massadd.cpp:92 gui/options.cpp:1463 #: gui/saveload-dialog.cpp:1112 engines/engine.cpp:477 engines/engine.cpp:488 #: backends/platform/wii/options.cpp:47 #: backends/platform/wince/CELauncherDialog.cpp:54 @@ -234,8 +235,8 @@ msgid "" msgstr "" "A jįték nyelve. Ne įllķtsd įt a pl. Spanyol nyelvū jįtékodat Angol nyelvre" -#: gui/editgamedialog.cpp:151 gui/editgamedialog.cpp:165 gui/options.cpp:114 -#: gui/options.cpp:785 gui/options.cpp:798 gui/options.cpp:1261 +#: gui/editgamedialog.cpp:151 gui/editgamedialog.cpp:165 gui/options.cpp:121 +#: gui/options.cpp:812 gui/options.cpp:825 gui/options.cpp:1356 #: audio/null.cpp:41 msgid "<default>" msgstr "<alapértelmezett>" @@ -258,11 +259,11 @@ msgstr "Platform:" msgid "Engine" msgstr "Motor" -#: gui/editgamedialog.cpp:184 gui/options.cpp:1120 gui/options.cpp:1137 +#: gui/editgamedialog.cpp:184 gui/options.cpp:1147 gui/options.cpp:1232 msgid "Graphics" msgstr "Grafika" -#: gui/editgamedialog.cpp:184 gui/options.cpp:1120 gui/options.cpp:1137 +#: gui/editgamedialog.cpp:184 gui/options.cpp:1147 gui/options.cpp:1232 msgid "GFX" msgstr "GFX" @@ -275,7 +276,7 @@ msgctxt "lowres" msgid "Override global graphic settings" msgstr "Globįlis grafikai beįllķtįsok felülbķrįlįsa" -#: gui/editgamedialog.cpp:196 gui/options.cpp:1143 +#: gui/editgamedialog.cpp:196 gui/options.cpp:1238 msgid "Audio" msgstr "Audió" @@ -288,11 +289,11 @@ msgctxt "lowres" msgid "Override global audio settings" msgstr "Globįlis audió beįllķtįsok felülbķrįlįsa" -#: gui/editgamedialog.cpp:210 gui/options.cpp:1148 +#: gui/editgamedialog.cpp:210 gui/options.cpp:1243 msgid "Volume" msgstr "Hangerõ" -#: gui/editgamedialog.cpp:212 gui/options.cpp:1150 +#: gui/editgamedialog.cpp:212 gui/options.cpp:1245 msgctxt "lowres" msgid "Volume" msgstr "Hangerõ" @@ -306,7 +307,7 @@ msgctxt "lowres" msgid "Override global volume settings" msgstr "Globįlis hangerõbeįllķtįsok felülbķrįlįsa" -#: gui/editgamedialog.cpp:226 gui/options.cpp:1158 +#: gui/editgamedialog.cpp:226 gui/options.cpp:1253 msgid "MIDI" msgstr "MIDI" @@ -319,7 +320,7 @@ msgctxt "lowres" msgid "Override global MIDI settings" msgstr "Globįlis MIDI beįllķtįsok felülbķrįlįsa" -#: gui/editgamedialog.cpp:241 gui/options.cpp:1168 +#: gui/editgamedialog.cpp:241 gui/options.cpp:1263 msgid "MT-32" msgstr "MT-32" @@ -332,11 +333,11 @@ msgctxt "lowres" msgid "Override global MT-32 settings" msgstr "Globįlis MT-32 beįllķtįsok felülbķrįlįsa" -#: gui/editgamedialog.cpp:255 gui/options.cpp:1175 +#: gui/editgamedialog.cpp:255 gui/options.cpp:1270 msgid "Paths" msgstr "Mappįk" -#: gui/editgamedialog.cpp:257 gui/options.cpp:1177 +#: gui/editgamedialog.cpp:257 gui/options.cpp:1272 msgctxt "lowres" msgid "Paths" msgstr "Mappįk" @@ -350,7 +351,7 @@ msgctxt "lowres" msgid "Game Path:" msgstr "Jįték Mappa:" -#: gui/editgamedialog.cpp:271 gui/options.cpp:1201 +#: gui/editgamedialog.cpp:271 gui/options.cpp:1296 msgid "Extra Path:" msgstr "Extra Mappa:" @@ -359,56 +360,56 @@ msgstr "Extra Mappa:" msgid "Specifies path to additional data used by the game" msgstr "Mappa kivįlasztįs a jįtékok kiegészķtõ fįjljaihoz" -#: gui/editgamedialog.cpp:273 gui/options.cpp:1203 +#: gui/editgamedialog.cpp:273 gui/options.cpp:1298 msgctxt "lowres" msgid "Extra Path:" msgstr "Extra Mappa:" -#: gui/editgamedialog.cpp:280 gui/options.cpp:1185 +#: gui/editgamedialog.cpp:280 gui/options.cpp:1280 msgid "Save Path:" msgstr "Mentés Mappa:" #: gui/editgamedialog.cpp:280 gui/editgamedialog.cpp:282 -#: gui/editgamedialog.cpp:283 gui/options.cpp:1185 gui/options.cpp:1187 -#: gui/options.cpp:1188 +#: gui/editgamedialog.cpp:283 gui/options.cpp:1280 gui/options.cpp:1282 +#: gui/options.cpp:1283 msgid "Specifies where your saved games are put" msgstr "Jįtékmentések helyének meghatįrozįsa" -#: gui/editgamedialog.cpp:282 gui/options.cpp:1187 +#: gui/editgamedialog.cpp:282 gui/options.cpp:1282 msgctxt "lowres" msgid "Save Path:" msgstr "Mentés Mappa:" -#: gui/editgamedialog.cpp:301 gui/editgamedialog.cpp:400 -#: gui/editgamedialog.cpp:459 gui/editgamedialog.cpp:520 gui/options.cpp:1196 -#: gui/options.cpp:1204 gui/options.cpp:1213 gui/options.cpp:1414 -#: gui/options.cpp:1420 gui/options.cpp:1428 gui/options.cpp:1451 -#: gui/options.cpp:1467 gui/options.cpp:1473 gui/options.cpp:1480 -#: gui/options.cpp:1488 gui/options.cpp:1640 gui/options.cpp:1643 -#: gui/options.cpp:1650 gui/options.cpp:1660 +#: gui/editgamedialog.cpp:301 gui/editgamedialog.cpp:398 +#: gui/editgamedialog.cpp:457 gui/editgamedialog.cpp:518 gui/options.cpp:1291 +#: gui/options.cpp:1299 gui/options.cpp:1308 gui/options.cpp:1488 +#: gui/options.cpp:1494 gui/options.cpp:1502 gui/options.cpp:1525 +#: gui/options.cpp:1554 gui/options.cpp:1560 gui/options.cpp:1567 +#: gui/options.cpp:1575 gui/options.cpp:1758 gui/options.cpp:1761 +#: gui/options.cpp:1768 gui/options.cpp:1778 msgctxt "path" msgid "None" msgstr "Nincs" -#: gui/editgamedialog.cpp:306 gui/editgamedialog.cpp:406 -#: gui/editgamedialog.cpp:524 gui/options.cpp:1408 gui/options.cpp:1461 -#: gui/options.cpp:1646 backends/platform/wii/options.cpp:56 +#: gui/editgamedialog.cpp:306 gui/editgamedialog.cpp:404 +#: gui/editgamedialog.cpp:522 gui/options.cpp:1482 gui/options.cpp:1548 +#: gui/options.cpp:1764 backends/platform/wii/options.cpp:56 msgid "Default" msgstr "Alapértelmezett" -#: gui/editgamedialog.cpp:452 gui/options.cpp:1654 +#: gui/editgamedialog.cpp:450 gui/options.cpp:1772 msgid "Select SoundFont" msgstr "SoundFont kivįlasztįs" -#: gui/editgamedialog.cpp:491 +#: gui/editgamedialog.cpp:489 msgid "Select additional game directory" msgstr "Vįlassz mappįt a jįték kiegészķtõkhöz" -#: gui/editgamedialog.cpp:504 gui/options.cpp:1577 +#: gui/editgamedialog.cpp:502 gui/options.cpp:1695 msgid "Select directory for saved games" msgstr "Vįlaszz jįtékmentéseknek mappįt" -#: gui/editgamedialog.cpp:510 +#: gui/editgamedialog.cpp:508 msgid "" "Saved games sync feature doesn't work with non-default directories. If you " "want your saved games to sync, use default directory." @@ -416,7 +417,7 @@ msgstr "" "Mentés szinkronizįlįs nem mūködik nem alapértelmezett mappįkkal. Ha " "szinkronizįlni akarod a mentéseid, hasznįld az alapértelmezett mappįt." -#: gui/editgamedialog.cpp:536 +#: gui/editgamedialog.cpp:534 msgid "This game ID is already taken. Please choose another one." msgstr "Ez a jįtékazonosķtó ID mįr foglalt, Vįlassz egy mįsikat." @@ -496,7 +497,7 @@ msgstr "Szķnusz" msgid "Triangle" msgstr "Hįromszög" -#: gui/fluidsynth-dialog.cpp:138 gui/options.cpp:1221 +#: gui/fluidsynth-dialog.cpp:138 gui/options.cpp:1316 msgid "Misc" msgstr "Vegyes" @@ -545,15 +546,15 @@ msgstr "Bezįr" msgid "Mouse click" msgstr "Egérkattintįs" -#: gui/gui-manager.cpp:126 base/main.cpp:337 +#: gui/gui-manager.cpp:126 base/main.cpp:340 msgid "Display keyboard" msgstr "Billentyūzet beįllķtįsok" -#: gui/gui-manager.cpp:130 base/main.cpp:341 +#: gui/gui-manager.cpp:130 base/main.cpp:344 msgid "Remap keys" msgstr "Billentyūk įtįllķtįsa" -#: gui/gui-manager.cpp:133 base/main.cpp:344 engines/scumm/help.cpp:87 +#: gui/gui-manager.cpp:133 base/main.cpp:347 engines/scumm/help.cpp:87 msgid "Toggle fullscreen" msgstr "Teljesképernyõ kapcsoló" @@ -587,110 +588,110 @@ msgstr "Nyomj egy billentyūt a tįrsķtįshoz" msgid "Choose an action to map" msgstr "Vįlassz mūveletet a kiosztįshoz" -#: gui/launcher.cpp:117 engines/dialogs.cpp:111 engines/mohawk/dialogs.cpp:98 +#: gui/launcher.cpp:141 engines/dialogs.cpp:111 engines/mohawk/dialogs.cpp:98 msgid "~Q~uit" msgstr "Kilépés" -#: gui/launcher.cpp:117 backends/platform/sdl/macosx/appmenu_osx.mm:106 +#: gui/launcher.cpp:141 backends/platform/sdl/macosx/appmenu_osx.mm:106 msgid "Quit ScummVM" msgstr "ScummVM bezįrįsa" -#: gui/launcher.cpp:118 +#: gui/launcher.cpp:142 msgid "A~b~out..." msgstr "Névjegy" -#: gui/launcher.cpp:118 backends/platform/sdl/macosx/appmenu_osx.mm:80 +#: gui/launcher.cpp:142 backends/platform/sdl/macosx/appmenu_osx.mm:80 msgid "About ScummVM" msgstr "ScummVM névjegy" -#: gui/launcher.cpp:119 +#: gui/launcher.cpp:143 msgid "~O~ptions..." msgstr "~O~pciók..." -#: gui/launcher.cpp:119 +#: gui/launcher.cpp:143 msgid "Change global ScummVM options" msgstr "Globįlis ScummVM opciók cseréje" -#: gui/launcher.cpp:121 +#: gui/launcher.cpp:145 msgid "~S~tart" msgstr "Indķtįs" -#: gui/launcher.cpp:121 +#: gui/launcher.cpp:145 msgid "Start selected game" msgstr "A vįlasztott jįték indķtįsa" -#: gui/launcher.cpp:124 +#: gui/launcher.cpp:148 msgid "~L~oad..." msgstr "~B~etölt..." -#: gui/launcher.cpp:124 +#: gui/launcher.cpp:148 msgid "Load saved game for selected game" msgstr "Kimentett jįtékįllįs betöltése" -#: gui/launcher.cpp:129 +#: gui/launcher.cpp:153 msgid "~A~dd Game..." msgstr "Jįték hozzįadįs" -#: gui/launcher.cpp:129 gui/launcher.cpp:136 +#: gui/launcher.cpp:153 gui/launcher.cpp:160 msgid "Hold Shift for Mass Add" msgstr "Tratsd lenyomva a Shift-et a Masszķv módhoz" -#: gui/launcher.cpp:131 +#: gui/launcher.cpp:155 msgid "~E~dit Game..." msgstr "Jįtékopciók" -#: gui/launcher.cpp:131 gui/launcher.cpp:138 +#: gui/launcher.cpp:155 gui/launcher.cpp:162 msgid "Change game options" msgstr "Jįték beįllķtįsok megvįltoztatįsa" -#: gui/launcher.cpp:133 +#: gui/launcher.cpp:157 msgid "~R~emove Game" msgstr "Jįték törlése" -#: gui/launcher.cpp:133 gui/launcher.cpp:140 +#: gui/launcher.cpp:157 gui/launcher.cpp:164 msgid "Remove game from the list. The game data files stay intact" msgstr "Törli a jįték nevét a listįról. A jįtékfįjlok megmaradnak" -#: gui/launcher.cpp:136 +#: gui/launcher.cpp:160 msgctxt "lowres" msgid "~A~dd Game..." msgstr "Jįték hozzįadįs" -#: gui/launcher.cpp:138 +#: gui/launcher.cpp:162 msgctxt "lowres" msgid "~E~dit Game..." msgstr "Jįtékopciók" -#: gui/launcher.cpp:140 +#: gui/launcher.cpp:164 msgctxt "lowres" msgid "~R~emove Game" msgstr "Jįték törlése" -#: gui/launcher.cpp:148 +#: gui/launcher.cpp:172 msgid "Search in game list" msgstr "Keresés a jįtéklistįban" -#: gui/launcher.cpp:152 gui/launcher.cpp:750 +#: gui/launcher.cpp:176 gui/launcher.cpp:771 msgid "Search:" msgstr "Keresés:" -#: gui/launcher.cpp:176 engines/dialogs.cpp:115 engines/cruise/menu.cpp:214 -#: engines/mohawk/dialogs.cpp:103 engines/mohawk/riven.cpp:733 +#: gui/launcher.cpp:200 engines/dialogs.cpp:115 engines/cruise/menu.cpp:214 +#: engines/mohawk/dialogs.cpp:103 engines/mohawk/riven.cpp:734 #: engines/pegasus/pegasus.cpp:353 engines/tsage/scenes.cpp:601 msgid "Load game:" msgstr "Jįték betöltése:" -#: gui/launcher.cpp:176 engines/dialogs.cpp:115 +#: gui/launcher.cpp:200 engines/dialogs.cpp:115 #: backends/platform/wince/CEActionsPocket.cpp:267 #: backends/platform/wince/CEActionsSmartphone.cpp:231 #: engines/cruise/menu.cpp:214 engines/mohawk/dialogs.cpp:103 -#: engines/mohawk/riven.cpp:733 engines/parallaction/saveload.cpp:194 +#: engines/mohawk/riven.cpp:734 engines/parallaction/saveload.cpp:194 #: engines/pegasus/pegasus.cpp:353 engines/scumm/dialogs.cpp:185 #: engines/tsage/scenes.cpp:601 msgid "Load" msgstr "Betöltés" -#: gui/launcher.cpp:285 +#: gui/launcher.cpp:306 msgid "" "Do you really want to run the mass game detector? This could potentially add " "a huge number of games." @@ -698,40 +699,40 @@ msgstr "" "Biztos hogy futtatod a Masszķv jįtékdetektort? Ez potenciįlisan sok jįtékot " "hozzįad a listįhoz." -#: gui/launcher.cpp:344 +#: gui/launcher.cpp:365 msgid "This directory cannot be used yet, it is being downloaded into!" msgstr "Ez a mappa nem hasznįlható még, éppen letöltés van folyamatban!" -#: gui/launcher.cpp:394 +#: gui/launcher.cpp:415 msgid "Do you really want to remove this game configuration?" msgstr "Biztosan törölni akarod ezt a jįtékkonfigurįciót?" -#: gui/launcher.cpp:452 +#: gui/launcher.cpp:473 msgid "Do you want to load saved game?" msgstr "Akarod hogy betöltésem a jįtékįllįst?" -#: gui/launcher.cpp:501 +#: gui/launcher.cpp:522 msgid "This game does not support loading games from the launcher." msgstr "Ez a jįték nem tįmogatja a jįtékįllįs betöltést az indķtóból." -#: gui/launcher.cpp:505 +#: gui/launcher.cpp:526 msgid "ScummVM could not find any engine capable of running the selected game!" msgstr "" "ScummVM nem talįlt olyan jįtékmotort ami a vįlasztott jįtékot tįmogatja!" -#: gui/launcher.cpp:556 +#: gui/launcher.cpp:577 msgid "ScummVM could not find any game in the specified directory!" msgstr "A ScummVM nem talįlt egy jįtékot sem a vįlasztott mappįban!" -#: gui/launcher.cpp:569 +#: gui/launcher.cpp:590 msgid "Pick the game:" msgstr "Vįlassztott jįték:" -#: gui/launcher.cpp:687 +#: gui/launcher.cpp:708 msgid "Mass Add..." msgstr "Masszķv mód..." -#: gui/launcher.cpp:689 +#: gui/launcher.cpp:710 msgid "Record..." msgstr "Felvétel..." @@ -774,205 +775,205 @@ msgstr "Įtvįlt jįtékra" msgid "Fast replay" msgstr "Gyors visszajįtszįs" -#: gui/options.cpp:112 common/updates.cpp:56 +#: gui/options.cpp:119 common/updates.cpp:56 msgid "Never" msgstr "Soha" -#: gui/options.cpp:112 +#: gui/options.cpp:119 msgid "every 5 mins" msgstr "5 percenként" -#: gui/options.cpp:112 +#: gui/options.cpp:119 msgid "every 10 mins" msgstr "10 percenként" -#: gui/options.cpp:112 +#: gui/options.cpp:119 msgid "every 15 mins" msgstr "15 percenként" -#: gui/options.cpp:112 +#: gui/options.cpp:119 msgid "every 30 mins" msgstr "30 percenként" -#: gui/options.cpp:114 +#: gui/options.cpp:121 msgid "8 kHz" msgstr "8 kHz" -#: gui/options.cpp:114 +#: gui/options.cpp:121 msgid "11 kHz" msgstr "11 kHz" -#: gui/options.cpp:114 +#: gui/options.cpp:121 msgid "22 kHz" msgstr "22 kHz" -#: gui/options.cpp:114 +#: gui/options.cpp:121 msgid "44 kHz" msgstr "44 kHz" -#: gui/options.cpp:114 +#: gui/options.cpp:121 msgid "48 kHz" msgstr "48 kHz" -#: gui/options.cpp:291 gui/options.cpp:528 gui/options.cpp:629 -#: gui/options.cpp:699 gui/options.cpp:910 +#: gui/options.cpp:289 gui/options.cpp:552 gui/options.cpp:657 +#: gui/options.cpp:726 gui/options.cpp:937 msgctxt "soundfont" msgid "None" msgstr "Nincs" -#: gui/options.cpp:432 +#: gui/options.cpp:456 msgid "Failed to apply some of the graphic options changes:" msgstr "Néhįny grafikus opció vįltoztatįsa sikertelen:" -#: gui/options.cpp:444 +#: gui/options.cpp:468 msgid "the video mode could not be changed." msgstr "a videómód nem vįltozott." -#: gui/options.cpp:450 +#: gui/options.cpp:474 msgid "the aspect ratio setting could not be changed" msgstr "a képméretarįny beįllķtįsok nem vįltoztak" -#: gui/options.cpp:456 +#: gui/options.cpp:480 msgid "the fullscreen setting could not be changed" msgstr "a teljesképernyõs beįllķtįs nem vįltozott" -#: gui/options.cpp:462 +#: gui/options.cpp:486 msgid "the filtering setting could not be changed" msgstr "a szūrési beįllķtįst nem lehet megvįltoztatni" -#: gui/options.cpp:782 +#: gui/options.cpp:809 msgid "Graphics mode:" msgstr "Grafikus mód:" -#: gui/options.cpp:796 +#: gui/options.cpp:823 msgid "Render mode:" msgstr "Kirajzolįs mód:" -#: gui/options.cpp:796 gui/options.cpp:797 +#: gui/options.cpp:823 gui/options.cpp:824 msgid "Special dithering modes supported by some games" msgstr "Néhįny jįték tįmogatja a speciįlis įrnyalįsi módokat" -#: gui/options.cpp:808 -#: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:2450 +#: gui/options.cpp:835 backends/graphics/openglsdl/openglsdl-graphics.cpp:615 +#: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:2460 msgid "Fullscreen mode" msgstr "Teljesképernyõs mód:" -#: gui/options.cpp:811 +#: gui/options.cpp:838 msgid "Filter graphics" msgstr "Grafika szūrése" -#: gui/options.cpp:811 +#: gui/options.cpp:838 msgid "Use linear filtering when scaling graphics" msgstr "Lineįris szūrés hasznįlata a grafika įtméretezésénél" -#: gui/options.cpp:814 +#: gui/options.cpp:841 msgid "Aspect ratio correction" msgstr "Képméretarįny korrekció" -#: gui/options.cpp:814 +#: gui/options.cpp:841 msgid "Correct aspect ratio for 320x200 games" msgstr "Helyes oldalarįny a 320x200 jįtékokhoz" -#: gui/options.cpp:822 +#: gui/options.cpp:849 msgid "Preferred Device:" msgstr "Elsõdleges eszköz:" -#: gui/options.cpp:822 +#: gui/options.cpp:849 msgid "Music Device:" msgstr "Zene eszköz:" -#: gui/options.cpp:822 gui/options.cpp:824 +#: gui/options.cpp:849 gui/options.cpp:851 msgid "Specifies preferred sound device or sound card emulator" msgstr "Elsõdleges hangeszköz vagy hang emulįtor beįllķtįsok" -#: gui/options.cpp:822 gui/options.cpp:824 gui/options.cpp:825 +#: gui/options.cpp:849 gui/options.cpp:851 gui/options.cpp:852 msgid "Specifies output sound device or sound card emulator" msgstr "Hangeszköz vagy hangkįrtya emulįtor beįllķtįsok" -#: gui/options.cpp:824 +#: gui/options.cpp:851 msgctxt "lowres" msgid "Preferred Dev.:" msgstr "Elsõdleges eszk.:" -#: gui/options.cpp:824 +#: gui/options.cpp:851 msgctxt "lowres" msgid "Music Device:" msgstr "Zene eszköz:" -#: gui/options.cpp:851 +#: gui/options.cpp:878 msgid "AdLib emulator:" msgstr "AdLib emulįtor:" -#: gui/options.cpp:851 gui/options.cpp:852 +#: gui/options.cpp:878 gui/options.cpp:879 msgid "AdLib is used for music in many games" msgstr "AdLib meghajtót sok jįték hasznįlja zenéhez" -#: gui/options.cpp:862 +#: gui/options.cpp:889 msgid "Output rate:" msgstr "Kimeneti rįta:" -#: gui/options.cpp:862 gui/options.cpp:863 +#: gui/options.cpp:889 gui/options.cpp:890 msgid "" "Higher value specifies better sound quality but may be not supported by your " "soundcard" msgstr "" "Nagyobb értékek jobb hangminõséget adnak, de nem minden hangkįrtya tįmogatja" -#: gui/options.cpp:873 +#: gui/options.cpp:900 msgid "GM Device:" msgstr "GM Eszköz:" -#: gui/options.cpp:873 +#: gui/options.cpp:900 msgid "Specifies default sound device for General MIDI output" msgstr "Alapértelmezett hangeszköz General MIDI kimenethez" -#: gui/options.cpp:884 +#: gui/options.cpp:911 msgid "Don't use General MIDI music" msgstr "Ne hasznįlj General MIDI zenét" -#: gui/options.cpp:895 gui/options.cpp:957 +#: gui/options.cpp:922 gui/options.cpp:984 msgid "Use first available device" msgstr "Elsõ elérhetõ eszköz hasznįlata" -#: gui/options.cpp:907 +#: gui/options.cpp:934 msgid "SoundFont:" msgstr "SoundFont:" -#: gui/options.cpp:907 gui/options.cpp:909 gui/options.cpp:910 +#: gui/options.cpp:934 gui/options.cpp:936 gui/options.cpp:937 msgid "SoundFont is supported by some audio cards, FluidSynth and Timidity" msgstr "" "Néhįny hangkįrya, FluidSynth és Timidyti tįmogatja a SoundFont betöltését" -#: gui/options.cpp:909 +#: gui/options.cpp:936 msgctxt "lowres" msgid "SoundFont:" msgstr "SoundFont:" -#: gui/options.cpp:915 +#: gui/options.cpp:942 msgid "Mixed AdLib/MIDI mode" msgstr "Vegyes AdLib/MIDI mód" -#: gui/options.cpp:915 +#: gui/options.cpp:942 msgid "Use both MIDI and AdLib sound generation" msgstr "MIDI és AdLib hanggenerįtorok hasznįlata" -#: gui/options.cpp:918 +#: gui/options.cpp:945 msgid "MIDI gain:" msgstr "MIDI erõsķtés:" -#: gui/options.cpp:928 +#: gui/options.cpp:955 msgid "MT-32 Device:" msgstr "MT-32 Eszköz:" -#: gui/options.cpp:928 +#: gui/options.cpp:955 msgid "Specifies default sound device for Roland MT-32/LAPC1/CM32l/CM64 output" msgstr "Roland MT-32/LAPC1/CM32l/CM64 alapértelmezett hangeszközök beįllķtįsa" -#: gui/options.cpp:933 +#: gui/options.cpp:960 msgid "True Roland MT-32 (disable GM emulation)" msgstr "Roland MT-32 Hardver (GM emulįció tiltva)" -#: gui/options.cpp:933 gui/options.cpp:935 +#: gui/options.cpp:960 gui/options.cpp:962 msgid "" "Check if you want to use your real hardware Roland-compatible sound device " "connected to your computer" @@ -980,16 +981,16 @@ msgstr "" "Jelöld be, ha hardveres Roland-Kompatibilis hangeszköz van csatlakoztatva a " "gépedhez és hasznįlni akarod" -#: gui/options.cpp:935 +#: gui/options.cpp:962 msgctxt "lowres" msgid "True Roland MT-32 (no GM emulation)" msgstr "Roland MT-32 Hardver (GM emulįció nincs)" -#: gui/options.cpp:938 +#: gui/options.cpp:965 msgid "Roland GS Device (enable MT-32 mappings)" msgstr "Roland GS eszköz (MT-32 mapping engedélyezés)" -#: gui/options.cpp:938 +#: gui/options.cpp:965 msgid "" "Check if you want to enable patch mappings to emulate an MT-32 on a Roland " "GS device" @@ -997,264 +998,264 @@ msgstr "" "Ellenõrzés ha engedélyezni akarod az emulįlt MT-32 Folt leképezést a Roland " "GS eszközön" -#: gui/options.cpp:947 +#: gui/options.cpp:974 msgid "Don't use Roland MT-32 music" msgstr "Ne hasznįlj Roland MT-32 zenét" -#: gui/options.cpp:974 +#: gui/options.cpp:1001 msgid "Text and Speech:" msgstr "Szöveg és beszéd:" -#: gui/options.cpp:978 gui/options.cpp:988 +#: gui/options.cpp:1005 gui/options.cpp:1015 msgid "Speech" msgstr "Csak beszéd" -#: gui/options.cpp:979 gui/options.cpp:989 +#: gui/options.cpp:1006 gui/options.cpp:1016 msgid "Subtitles" msgstr "Csak felirat" -#: gui/options.cpp:980 +#: gui/options.cpp:1007 msgid "Both" msgstr "Mind" -#: gui/options.cpp:982 +#: gui/options.cpp:1009 msgid "Subtitle speed:" msgstr "Felirat sebesség:" -#: gui/options.cpp:984 +#: gui/options.cpp:1011 msgctxt "lowres" msgid "Text and Speech:" msgstr "Felirat és beszéd:" -#: gui/options.cpp:988 +#: gui/options.cpp:1015 msgid "Spch" msgstr "Besz" -#: gui/options.cpp:989 +#: gui/options.cpp:1016 msgid "Subs" msgstr "Text" -#: gui/options.cpp:990 +#: gui/options.cpp:1017 msgctxt "lowres" msgid "Both" msgstr "Mind" -#: gui/options.cpp:990 +#: gui/options.cpp:1017 msgid "Show subtitles and play speech" msgstr "Hang és feliratok megjelenķtése" -#: gui/options.cpp:992 +#: gui/options.cpp:1019 msgctxt "lowres" msgid "Subtitle speed:" msgstr "Felirat sebesség:" -#: gui/options.cpp:1008 +#: gui/options.cpp:1035 msgid "Music volume:" msgstr "Zene hangerõ:" -#: gui/options.cpp:1010 +#: gui/options.cpp:1037 msgctxt "lowres" msgid "Music volume:" msgstr "Zene hangerõ:" -#: gui/options.cpp:1017 +#: gui/options.cpp:1044 msgid "Mute All" msgstr "Összes némķtįsa" -#: gui/options.cpp:1020 +#: gui/options.cpp:1047 msgid "SFX volume:" msgstr "SFX hangerõ:" -#: gui/options.cpp:1020 gui/options.cpp:1022 gui/options.cpp:1023 +#: gui/options.cpp:1047 gui/options.cpp:1049 gui/options.cpp:1050 msgid "Special sound effects volume" msgstr "Speciįlis hangeffektusok hangereje" -#: gui/options.cpp:1022 +#: gui/options.cpp:1049 msgctxt "lowres" msgid "SFX volume:" msgstr "SFX hangerõ:" -#: gui/options.cpp:1030 +#: gui/options.cpp:1057 msgid "Speech volume:" msgstr "Beszéd hangerõ:" -#: gui/options.cpp:1032 +#: gui/options.cpp:1059 msgctxt "lowres" msgid "Speech volume:" msgstr "Beszéd hangerõ:" -#: gui/options.cpp:1162 +#: gui/options.cpp:1257 msgid "FluidSynth Settings" msgstr "FluidSynth Beįllķtįsa" -#: gui/options.cpp:1193 +#: gui/options.cpp:1288 msgid "Theme Path:" msgstr "Téma Mappa:" -#: gui/options.cpp:1195 +#: gui/options.cpp:1290 msgctxt "lowres" msgid "Theme Path:" msgstr "Téma Mappa:" -#: gui/options.cpp:1201 gui/options.cpp:1203 gui/options.cpp:1204 +#: gui/options.cpp:1296 gui/options.cpp:1298 gui/options.cpp:1299 msgid "Specifies path to additional data used by all games or ScummVM" msgstr "Minden jéték és ScummVM kiegészķtõ fįjljainak mappįja:" -#: gui/options.cpp:1210 +#: gui/options.cpp:1305 msgid "Plugins Path:" msgstr "Plugin Mappa:" -#: gui/options.cpp:1212 +#: gui/options.cpp:1307 msgctxt "lowres" msgid "Plugins Path:" msgstr "Plugin Mappa:" -#: gui/options.cpp:1223 +#: gui/options.cpp:1318 msgctxt "lowres" msgid "Misc" msgstr "Vegyes" -#: gui/options.cpp:1225 +#: gui/options.cpp:1320 msgid "Theme:" msgstr "Téma:" -#: gui/options.cpp:1229 +#: gui/options.cpp:1324 msgid "GUI Renderer:" msgstr "GUI Renderelõ:" -#: gui/options.cpp:1241 +#: gui/options.cpp:1336 msgid "Autosave:" msgstr "Automentés:" -#: gui/options.cpp:1243 +#: gui/options.cpp:1338 msgctxt "lowres" msgid "Autosave:" msgstr "Automentés:" -#: gui/options.cpp:1251 +#: gui/options.cpp:1346 msgid "Keys" msgstr "Billentyūk" -#: gui/options.cpp:1258 +#: gui/options.cpp:1353 msgid "GUI Language:" msgstr "GUI nyelve:" -#: gui/options.cpp:1258 +#: gui/options.cpp:1353 msgid "Language of ScummVM GUI" msgstr "A ScummVM GUI nyelve" -#: gui/options.cpp:1286 +#: gui/options.cpp:1381 msgid "Update check:" msgstr "Frissķtés ellenõrzés:" -#: gui/options.cpp:1286 +#: gui/options.cpp:1381 msgid "How often to check ScummVM updates" msgstr "Milyen gyakran ellenõrizze a ScummVM frissķtéseket" -#: gui/options.cpp:1298 +#: gui/options.cpp:1393 msgid "Check now" msgstr "Ellenõrzés most" -#: gui/options.cpp:1306 +#: gui/options.cpp:1401 msgid "Cloud" msgstr "Felhõ" -#: gui/options.cpp:1308 +#: gui/options.cpp:1403 msgctxt "lowres" msgid "Cloud" msgstr "Felhõ" -#: gui/options.cpp:1319 +#: gui/options.cpp:1408 msgid "Storage:" msgstr "Tįroló:" -#: gui/options.cpp:1319 +#: gui/options.cpp:1408 msgid "Active cloud storage" msgstr "Aktķv felhõ tįroló" -#: gui/options.cpp:1326 gui/options.cpp:1877 +#: gui/options.cpp:1415 gui/options.cpp:1972 msgid "<none>" msgstr "<nincs>" -#: gui/options.cpp:1330 backends/platform/wii/options.cpp:114 +#: gui/options.cpp:1419 backends/platform/wii/options.cpp:114 msgid "Username:" msgstr "Felhasznįló:" -#: gui/options.cpp:1330 +#: gui/options.cpp:1419 msgid "Username used by this storage" msgstr "Felhasznįlónév ehhez a tįrolóhoz" -#: gui/options.cpp:1333 +#: gui/options.cpp:1422 msgid "Used space:" msgstr "Hasznįlt hely:" -#: gui/options.cpp:1333 +#: gui/options.cpp:1422 msgid "Space used by ScummVM's saved games on this storage" msgstr "ScummVM mentésekhez hasznįlt hely ezen a tįrolón" -#: gui/options.cpp:1336 +#: gui/options.cpp:1425 msgid "Last sync time:" msgstr "Utolsó szinkron:" -#: gui/options.cpp:1336 +#: gui/options.cpp:1425 msgid "When the last saved games sync for this storage occured" msgstr "Amikor az utolsó mentés szinkronizįlįs történt ezen a tįrolón" -#: gui/options.cpp:1339 gui/storagewizarddialog.cpp:71 +#: gui/options.cpp:1428 gui/storagewizarddialog.cpp:71 msgid "Connect" msgstr "Csatlakozįs" -#: gui/options.cpp:1339 +#: gui/options.cpp:1428 msgid "Open wizard dialog to connect your cloud storage account" msgstr "Csatlakozįs varįzsló pįrbeszédablak megnyitįsa a felhõtįroló fiókodhoz" -#: gui/options.cpp:1340 +#: gui/options.cpp:1429 msgid "Refresh" msgstr "Frissķtés" -#: gui/options.cpp:1340 +#: gui/options.cpp:1429 msgid "Refresh current cloud storage information (username and usage)" msgstr "" "Jelenlegi felhõtįroló informįciók frissķtése (felhasznįlónév és hasznįlat)" -#: gui/options.cpp:1341 +#: gui/options.cpp:1430 msgid "Download" msgstr "Letöltés" -#: gui/options.cpp:1341 +#: gui/options.cpp:1430 msgid "Open downloads manager dialog" msgstr "Letöltéskezelõ pįrbeszédablak megnyitįsa" -#: gui/options.cpp:1343 +#: gui/options.cpp:1432 msgid "Run server" msgstr "Szerver futtatįs" -#: gui/options.cpp:1343 +#: gui/options.cpp:1432 msgid "Run local webserver" msgstr "Helyi webszerver futtatįsa" -#: gui/options.cpp:1344 gui/options.cpp:1987 +#: gui/options.cpp:1433 gui/options.cpp:2082 msgid "Not running" msgstr "Nem fut" -#: gui/options.cpp:1348 +#: gui/options.cpp:1437 msgid "/root/ Path:" msgstr "/gyökér/ Śtvonal:" -#: gui/options.cpp:1348 gui/options.cpp:1350 gui/options.cpp:1351 +#: gui/options.cpp:1437 gui/options.cpp:1439 gui/options.cpp:1440 msgid "Specifies which directory the Files Manager can access" msgstr "Meghatįrozza, hogy melyik könyvtįrhoz férhet hozzį a Fįjlkezelõ" -#: gui/options.cpp:1350 +#: gui/options.cpp:1439 msgctxt "lowres" msgid "/root/ Path:" msgstr "/gyökér/ Śtvonal:" -#: gui/options.cpp:1360 +#: gui/options.cpp:1449 msgid "Server's port:" msgstr "Szerver portja:" -#: gui/options.cpp:1360 +#: gui/options.cpp:1449 msgid "" "Which port is used by the server\n" "Auth with server is not available with non-default port" @@ -1262,68 +1263,68 @@ msgstr "" "Melyik portot hasznįlja a szerver\n" "Szerver engedély nem elérhetõ nem alapértelmezett porttal" -#: gui/options.cpp:1520 -msgid "You have to restart ScummVM before your changes will take effect." -msgstr "Indķtsd śjra a ScummVM-et a vįltozįsok érvényesķtéséhez." +#: gui/options.cpp:1462 +msgid "Apply" +msgstr "Alkalmaz" -#: gui/options.cpp:1543 +#: gui/options.cpp:1628 msgid "Failed to change cloud storage!" msgstr "Felhõtįroló csere nem sikerült!" -#: gui/options.cpp:1546 +#: gui/options.cpp:1631 msgid "Another cloud storage is already active." msgstr "Egy mįsik felhõtįroló mįr aktķv." -#: gui/options.cpp:1584 +#: gui/options.cpp:1667 +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 "" +"A kivįlasztott téma nem tįmogatja a nyelvedet. Ha hasznįlni akarod ezt a " +"témįt, elõszõr vįlts įt egy mįsik nyelvre." + +#: gui/options.cpp:1702 msgid "The chosen directory cannot be written to. Please select another one." msgstr "A kivįlasztott mappįba nem lehet ķrni, vįlassz egy mįsikat" -#: gui/options.cpp:1593 +#: gui/options.cpp:1711 msgid "Select directory for GUI themes" msgstr "GUI téma mappa kivįlasztįsa" -#: gui/options.cpp:1603 +#: gui/options.cpp:1721 msgid "Select directory for extra files" msgstr "Mappa vįlasztįs az extra fįjloknak" -#: gui/options.cpp:1614 +#: gui/options.cpp:1732 msgid "Select directory for plugins" msgstr "Plugin mappa kivįlasztįsa" -#: gui/options.cpp:1626 +#: gui/options.cpp:1744 msgid "Select directory for Files Manager /root/" msgstr "Vįlassz mappįt a Fįjlkezelõnek /gyökér/" -#: gui/options.cpp:1688 -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 "" -"A kivįlasztott téma nem tįmogatja a nyelvedet. Ha hasznįlni akarod ezt a " -"témįt, elõszõr vįlts įt egy mįsik nyelvre." - -#: gui/options.cpp:1884 +#: gui/options.cpp:1979 #, c-format msgid "%llu bytes" msgstr "%llu byte" -#: gui/options.cpp:1892 +#: gui/options.cpp:1987 msgid "<right now>" msgstr "<épp most>" -#: gui/options.cpp:1894 +#: gui/options.cpp:1989 msgid "<never>" msgstr "<soha>" -#: gui/options.cpp:1978 +#: gui/options.cpp:2073 msgid "Stop server" msgstr "Szerver leįllķtįs" -#: gui/options.cpp:1979 +#: gui/options.cpp:2074 msgid "Stop local webserver" msgstr "Helyi webszerver leįllķtįsa" -#: gui/options.cpp:2068 +#: gui/options.cpp:2163 msgid "" "Request failed.\n" "Check your Internet connection." @@ -1599,35 +1600,35 @@ msgstr "Folyamatban" msgid "Clear value" msgstr "Érték törlése" -#: base/main.cpp:250 +#: base/main.cpp:253 #, c-format msgid "Engine does not support debug level '%s'" msgstr "A motor nem tįmogatja a '%s' debug szintet" -#: base/main.cpp:324 +#: base/main.cpp:327 msgid "Menu" msgstr "Menü" -#: base/main.cpp:327 backends/platform/symbian/src/SymbianActions.cpp:45 +#: base/main.cpp:330 backends/platform/symbian/src/SymbianActions.cpp:45 #: backends/platform/wince/CEActionsPocket.cpp:45 #: backends/platform/wince/CEActionsSmartphone.cpp:46 msgid "Skip" msgstr "Tovįbb" -#: base/main.cpp:330 backends/platform/symbian/src/SymbianActions.cpp:50 +#: base/main.cpp:333 backends/platform/symbian/src/SymbianActions.cpp:50 #: backends/platform/wince/CEActionsPocket.cpp:42 msgid "Pause" msgstr "Szünet" -#: base/main.cpp:333 +#: base/main.cpp:336 msgid "Skip line" msgstr "Sor įtlépése" -#: base/main.cpp:542 +#: base/main.cpp:547 msgid "Error running game:" msgstr "Hiba a jįték futtatįsakor:" -#: base/main.cpp:589 +#: base/main.cpp:594 msgid "Could not find any engine capable of running the selected game" msgstr "Nem talįlható olyan jįtékmotor ami a vįlasztott jįtékot tįmogatja" @@ -1997,11 +1998,11 @@ msgstr "FM-Towns Hang" msgid "PC-98 Audio" msgstr "PC-98 Hang" -#: audio/softsynth/mt32.cpp:196 +#: audio/softsynth/mt32.cpp:197 msgid "Initializing MT-32 Emulator" msgstr "MT-32 Emulįtor inicializįlįsa" -#: audio/softsynth/mt32.cpp:434 +#: audio/softsynth/mt32.cpp:435 msgid "MT-32 Emulator" msgstr "MT-32 Emulįtor" @@ -2017,15 +2018,15 @@ msgstr "IBM PCjr Emulįtor" msgid "C64 Audio Emulator" msgstr "C64 Audio Emulįtor" -#: backends/cloud/storage.cpp:210 +#: backends/cloud/storage.cpp:211 msgid "Saved games sync complete." msgstr "Mentés szinkronizįlįs kész." -#: backends/cloud/storage.cpp:221 +#: backends/cloud/storage.cpp:222 msgid "Saved games sync was cancelled." msgstr "Mentés szinkronizįlįs megszakķtva." -#: backends/cloud/storage.cpp:223 +#: backends/cloud/storage.cpp:224 msgid "" "Saved games sync failed.\n" "Check your Internet connection." @@ -2033,7 +2034,7 @@ msgstr "" "Mentés szinkronizįlįs nem sikerült.\n" "Ellenõrizd az internetkapcsolatot." -#: backends/cloud/storage.cpp:327 +#: backends/cloud/storage.cpp:328 #, c-format msgid "" "Download complete.\n" @@ -2042,11 +2043,11 @@ msgstr "" "Letöltés befejezõdött.\n" "%u fįjlt nem sikerült letölteni." -#: backends/cloud/storage.cpp:329 +#: backends/cloud/storage.cpp:330 msgid "Download complete." msgstr "Letöltés befejezõdött." -#: backends/cloud/storage.cpp:339 +#: backends/cloud/storage.cpp:340 msgid "Download failed." msgstr "Letöltés nem sikerült." @@ -2155,41 +2156,51 @@ msgstr "Üsd hįrom śjjal hogy biztosan vįltson." msgid "OpenGL" msgstr "OpenGL" -#: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:47 -#: backends/graphics/wincesdl/wincesdl-graphics.cpp:88 -#: backends/graphics/wincesdl/wincesdl-graphics.cpp:95 -msgid "Normal (no scaling)" -msgstr "Normįl (nincs įtméretezés)" +#: backends/graphics/openglsdl/openglsdl-graphics.cpp:617 +#: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:2462 +msgid "Windowed mode" +msgstr "Ablakos mód" -#: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:66 -msgctxt "lowres" -msgid "Normal (no scaling)" -msgstr "Normįl (nincs įtméretezés)" +#: backends/graphics/openglsdl/openglsdl-graphics.cpp:710 +#, c-format +msgid "Resolution: %dx%d" +msgstr "Felbontįs: %dx%d" -#: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:2329 +#: backends/graphics/openglsdl/openglsdl-graphics.cpp:731 +#: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:2338 msgid "Enabled aspect ratio correction" msgstr "Méretarįny korrekció engedélyezve" -#: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:2335 +#: backends/graphics/openglsdl/openglsdl-graphics.cpp:733 +#: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:2344 msgid "Disabled aspect ratio correction" msgstr "Méretarįny korrekció letiltva" -#: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:2353 +#: backends/graphics/openglsdl/openglsdl-graphics.cpp:753 +#: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:2362 msgid "Filtering enabled" msgstr "Szūrés engedélyezve" -#: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:2355 +#: backends/graphics/openglsdl/openglsdl-graphics.cpp:755 +#: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:2364 msgid "Filtering disabled" msgstr "Szūrés letiltva" -#: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:2407 +#: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:47 +#: backends/graphics/wincesdl/wincesdl-graphics.cpp:88 +#: backends/graphics/wincesdl/wincesdl-graphics.cpp:95 +msgid "Normal (no scaling)" +msgstr "Normįl (nincs įtméretezés)" + +#: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:66 +msgctxt "lowres" +msgid "Normal (no scaling)" +msgstr "Normįl (nincs įtméretezés)" + +#: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:2417 msgid "Active graphics filter:" msgstr "Aktķv grafikus szūrõk:" -#: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:2452 -msgid "Windowed mode" -msgstr "Ablakos mód" - #: backends/keymapper/remap-dialog.cpp:48 msgid "Keymap:" msgstr "Billentyūzet kiosztįs:" @@ -3105,6 +3116,51 @@ msgstr "Fõ Menü ~u~" msgid "~W~ater Effect Enabled" msgstr "Vķzeffektus engedélyezve" +#: engines/mohawk/riven.cpp:150 +msgid "" +"You're missing a Riven executable. The Windows executable is 'riven.exe' or " +"'rivendmo.exe'. " +msgstr "" +"Hiįnyzik a Riven futtatható įllomįny. A Windows fįjlok neve 'riven.exe' vagy " +"'rivendmo.exe'." + +#: engines/mohawk/riven.cpp:151 +msgid "" +"Using the 'arcriven.z' installer file also works. In addition, you can use " +"the Mac 'Riven' executable." +msgstr "" +"Az 'arcriven.z' telepķtõ fįjl is hasznįlható. Ezen felül hasznįlható még a " +"'Riven' Mac indķtófįjl." + +#: engines/mohawk/riven.cpp:162 +msgid "" +"You're missing 'extras.mhk'. Using the 'arcriven.z' installer file also " +"works." +msgstr "" +"Hiįnyzik az 'extras.mhk'. A telepķtõ 'arcriven.z' fįjlja is hasznįlható még." + +#: engines/mohawk/riven_external.cpp:213 +msgid "" +"Exploration beyond this point available only within the full version of\n" +"the game." +msgstr "" +"Kutatįs ezen a ponton tśl csak a jįték teljes verziójįval\n" +"elérhetõ." + +#: engines/mohawk/riven_external.cpp:655 +msgid "" +"At this point, the Riven Demo would\n" +"ask if you would like to open a web browser\n" +"to bring you to the Red Orb store to buy\n" +"the game. ScummVM cannot do that and\n" +"the site no longer exists." +msgstr "" +"Ezen a ponton, a Riven Demo megkérdezi\n" +"hogy a web böngészõddel nyissa-e meg\n" +"a Red Orb įruhįzįt, hogy megvįsįrold\n" +"a jįtékot. A ScummVM nem teszi ezt\n" +"az oldal többé nem elérhetõ." + #: engines/mohawk/mohawk.cpp:61 msgid "The game is paused. Press any key to continue." msgstr "A jįték szünetel. Nyomj egy gombot a folytatįshoz." @@ -4230,6 +4286,9 @@ msgstr "Nagyfelbontįsś MPEG videó hasznįlat" msgid "Use MPEG video from the DVD version, instead of lower resolution AVI" msgstr "MPEG videót hasznįl DVD verziónįl, a kisebb felbontįsś AVI helyett" +#~ msgid "You have to restart ScummVM before your changes will take effect." +#~ msgstr "Indķtsd śjra a ScummVM-et a vįltozįsok érvényesķtéséhez." + #~ msgid "OpenGL (No filtering)" #~ msgstr "OpenGL (Nincs szūrés)" diff --git a/po/it_IT.po b/po/it_IT.po index 98e7858757..77448a0132 100644 --- a/po/it_IT.po +++ b/po/it_IT.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: ScummVM 1.3.0svn\n" "Report-Msgid-Bugs-To: scummvm-devel@lists.scummvm.org\n" -"POT-Creation-Date: 2016-10-12 23:37+0100\n" +"POT-Creation-Date: 2016-11-05 12:43+0100\n" "PO-Revision-Date: 2014-07-03 17:59-0600\n" "Last-Translator: Matteo 'Maff' Angelino <matteo.maff at gmail dot com>\n" "Language-Team: Italian\n" @@ -15,6 +15,7 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=iso-8859-1\n" "Content-Transfer-Encoding: 8bit\n" +"X-Language-name: Italiano\n" #: gui/about.cpp:94 #, c-format @@ -54,7 +55,7 @@ msgstr "Su" #: gui/browser.cpp:75 gui/chooser.cpp:46 gui/editgamedialog.cpp:292 #: gui/editrecorddialog.cpp:67 gui/filebrowser-dialog.cpp:64 #: gui/fluidsynth-dialog.cpp:152 gui/KeysDialog.cpp:43 gui/massadd.cpp:95 -#: gui/options.cpp:1376 gui/predictivedialog.cpp:73 gui/recorderdialog.cpp:69 +#: gui/options.cpp:1461 gui/predictivedialog.cpp:73 gui/recorderdialog.cpp:69 #: gui/recorderdialog.cpp:155 gui/remotebrowser.cpp:59 #: gui/saveload-dialog.cpp:383 gui/saveload-dialog.cpp:443 #: gui/saveload-dialog.cpp:717 gui/saveload-dialog.cpp:1111 @@ -79,7 +80,7 @@ msgstr "Scegli" msgid "Select directory where to download game data" msgstr "Seleziona la cartella contenente i file di gioco" -#: gui/downloaddialog.cpp:49 gui/editgamedialog.cpp:472 gui/launcher.cpp:173 +#: gui/downloaddialog.cpp:49 gui/editgamedialog.cpp:470 gui/launcher.cpp:197 msgid "Select directory with game data" msgstr "Seleziona la cartella contenente i file di gioco" @@ -112,7 +113,7 @@ msgstr "" #: gui/downloaddialog.cpp:118 gui/downloaddialog.cpp:152 #: gui/filebrowser-dialog.cpp:132 gui/fluidsynth-dialog.cpp:217 -#: gui/launcher.cpp:286 gui/launcher.cpp:394 gui/launcher.cpp:453 +#: gui/launcher.cpp:307 gui/launcher.cpp:415 gui/launcher.cpp:474 #: gui/storagewizarddialog.cpp:112 #: backends/events/symbiansdl/symbiansdl-events.cpp:186 #: backends/platform/wince/CEActionsPocket.cpp:326 @@ -124,7 +125,7 @@ msgstr "Sģ" #: gui/downloaddialog.cpp:118 gui/downloaddialog.cpp:153 #: gui/filebrowser-dialog.cpp:132 gui/fluidsynth-dialog.cpp:217 -#: gui/launcher.cpp:286 gui/launcher.cpp:394 gui/launcher.cpp:453 +#: gui/launcher.cpp:307 gui/launcher.cpp:415 gui/launcher.cpp:474 #: gui/storagewizarddialog.cpp:112 #: backends/events/symbiansdl/symbiansdl-events.cpp:186 #: backends/platform/wince/CEActionsPocket.cpp:326 @@ -134,7 +135,7 @@ msgstr "Sģ" msgid "No" msgstr "No" -#: gui/downloaddialog.cpp:136 gui/launcher.cpp:544 +#: gui/downloaddialog.cpp:136 gui/launcher.cpp:565 msgid "ScummVM couldn't open the specified directory!" msgstr "ScummVM non ha potuto aprire la cartella specificata!" @@ -145,8 +146,8 @@ msgid "" msgstr "" #: gui/downloaddialog.cpp:146 gui/editgamedialog.cpp:293 -#: gui/fluidsynth-dialog.cpp:153 gui/KeysDialog.cpp:42 gui/launcher.cpp:501 -#: gui/launcher.cpp:505 gui/massadd.cpp:92 gui/options.cpp:1377 +#: gui/fluidsynth-dialog.cpp:153 gui/KeysDialog.cpp:42 gui/launcher.cpp:522 +#: gui/launcher.cpp:526 gui/massadd.cpp:92 gui/options.cpp:1463 #: gui/saveload-dialog.cpp:1112 engines/engine.cpp:477 engines/engine.cpp:488 #: backends/platform/wii/options.cpp:47 #: backends/platform/wince/CELauncherDialog.cpp:54 @@ -228,8 +229,8 @@ msgid "" msgstr "" "Lingua del gioco. Un gioco inglese non potrą risultare tradotto in italiano" -#: gui/editgamedialog.cpp:151 gui/editgamedialog.cpp:165 gui/options.cpp:114 -#: gui/options.cpp:785 gui/options.cpp:798 gui/options.cpp:1261 +#: gui/editgamedialog.cpp:151 gui/editgamedialog.cpp:165 gui/options.cpp:121 +#: gui/options.cpp:812 gui/options.cpp:825 gui/options.cpp:1356 #: audio/null.cpp:41 msgid "<default>" msgstr "<predefinito>" @@ -252,11 +253,11 @@ msgstr "Piattaf.:" msgid "Engine" msgstr "Motore" -#: gui/editgamedialog.cpp:184 gui/options.cpp:1120 gui/options.cpp:1137 +#: gui/editgamedialog.cpp:184 gui/options.cpp:1147 gui/options.cpp:1232 msgid "Graphics" msgstr "Grafica" -#: gui/editgamedialog.cpp:184 gui/options.cpp:1120 gui/options.cpp:1137 +#: gui/editgamedialog.cpp:184 gui/options.cpp:1147 gui/options.cpp:1232 msgid "GFX" msgstr "Grafica" @@ -269,7 +270,7 @@ msgctxt "lowres" msgid "Override global graphic settings" msgstr "Ignora le impostazioni grafiche globali" -#: gui/editgamedialog.cpp:196 gui/options.cpp:1143 +#: gui/editgamedialog.cpp:196 gui/options.cpp:1238 msgid "Audio" msgstr "Audio" @@ -282,11 +283,11 @@ msgctxt "lowres" msgid "Override global audio settings" msgstr "Ignora le impostazioni audio globali" -#: gui/editgamedialog.cpp:210 gui/options.cpp:1148 +#: gui/editgamedialog.cpp:210 gui/options.cpp:1243 msgid "Volume" msgstr "Volume" -#: gui/editgamedialog.cpp:212 gui/options.cpp:1150 +#: gui/editgamedialog.cpp:212 gui/options.cpp:1245 msgctxt "lowres" msgid "Volume" msgstr "Volume" @@ -300,7 +301,7 @@ msgctxt "lowres" msgid "Override global volume settings" msgstr "Ignora le impostazioni globali di volume" -#: gui/editgamedialog.cpp:226 gui/options.cpp:1158 +#: gui/editgamedialog.cpp:226 gui/options.cpp:1253 msgid "MIDI" msgstr "MIDI" @@ -313,7 +314,7 @@ msgctxt "lowres" msgid "Override global MIDI settings" msgstr "Ignora le impostazioni MIDI globali" -#: gui/editgamedialog.cpp:241 gui/options.cpp:1168 +#: gui/editgamedialog.cpp:241 gui/options.cpp:1263 msgid "MT-32" msgstr "MT-32" @@ -326,11 +327,11 @@ msgctxt "lowres" msgid "Override global MT-32 settings" msgstr "Ignora le impostazioni MT-32 globali" -#: gui/editgamedialog.cpp:255 gui/options.cpp:1175 +#: gui/editgamedialog.cpp:255 gui/options.cpp:1270 msgid "Paths" msgstr "Percorsi" -#: gui/editgamedialog.cpp:257 gui/options.cpp:1177 +#: gui/editgamedialog.cpp:257 gui/options.cpp:1272 msgctxt "lowres" msgid "Paths" msgstr "Perc." @@ -344,7 +345,7 @@ msgctxt "lowres" msgid "Game Path:" msgstr "Perc. gioco:" -#: gui/editgamedialog.cpp:271 gui/options.cpp:1201 +#: gui/editgamedialog.cpp:271 gui/options.cpp:1296 msgid "Extra Path:" msgstr "Percorso extra:" @@ -353,62 +354,62 @@ msgstr "Percorso extra:" msgid "Specifies path to additional data used by the game" msgstr "Specifica il percorso di ulteriori dati usati dal gioco" -#: gui/editgamedialog.cpp:273 gui/options.cpp:1203 +#: gui/editgamedialog.cpp:273 gui/options.cpp:1298 msgctxt "lowres" msgid "Extra Path:" msgstr "Perc. extra:" -#: gui/editgamedialog.cpp:280 gui/options.cpp:1185 +#: gui/editgamedialog.cpp:280 gui/options.cpp:1280 msgid "Save Path:" msgstr "Salvataggi:" #: gui/editgamedialog.cpp:280 gui/editgamedialog.cpp:282 -#: gui/editgamedialog.cpp:283 gui/options.cpp:1185 gui/options.cpp:1187 -#: gui/options.cpp:1188 +#: gui/editgamedialog.cpp:283 gui/options.cpp:1280 gui/options.cpp:1282 +#: gui/options.cpp:1283 msgid "Specifies where your saved games are put" msgstr "Specifica dove archiviare i salvataggi" -#: gui/editgamedialog.cpp:282 gui/options.cpp:1187 +#: gui/editgamedialog.cpp:282 gui/options.cpp:1282 msgctxt "lowres" msgid "Save Path:" msgstr "Salvataggi:" -#: gui/editgamedialog.cpp:301 gui/editgamedialog.cpp:400 -#: gui/editgamedialog.cpp:459 gui/editgamedialog.cpp:520 gui/options.cpp:1196 -#: gui/options.cpp:1204 gui/options.cpp:1213 gui/options.cpp:1414 -#: gui/options.cpp:1420 gui/options.cpp:1428 gui/options.cpp:1451 -#: gui/options.cpp:1467 gui/options.cpp:1473 gui/options.cpp:1480 -#: gui/options.cpp:1488 gui/options.cpp:1640 gui/options.cpp:1643 -#: gui/options.cpp:1650 gui/options.cpp:1660 +#: gui/editgamedialog.cpp:301 gui/editgamedialog.cpp:398 +#: gui/editgamedialog.cpp:457 gui/editgamedialog.cpp:518 gui/options.cpp:1291 +#: gui/options.cpp:1299 gui/options.cpp:1308 gui/options.cpp:1488 +#: gui/options.cpp:1494 gui/options.cpp:1502 gui/options.cpp:1525 +#: gui/options.cpp:1554 gui/options.cpp:1560 gui/options.cpp:1567 +#: gui/options.cpp:1575 gui/options.cpp:1758 gui/options.cpp:1761 +#: gui/options.cpp:1768 gui/options.cpp:1778 msgctxt "path" msgid "None" msgstr "Nessuno" -#: gui/editgamedialog.cpp:306 gui/editgamedialog.cpp:406 -#: gui/editgamedialog.cpp:524 gui/options.cpp:1408 gui/options.cpp:1461 -#: gui/options.cpp:1646 backends/platform/wii/options.cpp:56 +#: gui/editgamedialog.cpp:306 gui/editgamedialog.cpp:404 +#: gui/editgamedialog.cpp:522 gui/options.cpp:1482 gui/options.cpp:1548 +#: gui/options.cpp:1764 backends/platform/wii/options.cpp:56 msgid "Default" msgstr "Predefinito" -#: gui/editgamedialog.cpp:452 gui/options.cpp:1654 +#: gui/editgamedialog.cpp:450 gui/options.cpp:1772 msgid "Select SoundFont" msgstr "Seleziona SoundFont" -#: gui/editgamedialog.cpp:491 +#: gui/editgamedialog.cpp:489 msgid "Select additional game directory" msgstr "Seleziona la cartella di gioco aggiuntiva" -#: gui/editgamedialog.cpp:504 gui/options.cpp:1577 +#: gui/editgamedialog.cpp:502 gui/options.cpp:1695 msgid "Select directory for saved games" msgstr "Seleziona la cartella dei salvataggi" -#: gui/editgamedialog.cpp:510 +#: gui/editgamedialog.cpp:508 msgid "" "Saved games sync feature doesn't work with non-default directories. If you " "want your saved games to sync, use default directory." msgstr "" -#: gui/editgamedialog.cpp:536 +#: gui/editgamedialog.cpp:534 msgid "This game ID is already taken. Please choose another one." msgstr "Questo ID di gioco č gią in uso. Si prega di sceglierne un'altro." @@ -489,7 +490,7 @@ msgstr "Seno" msgid "Triangle" msgstr "Triangolo" -#: gui/fluidsynth-dialog.cpp:138 gui/options.cpp:1221 +#: gui/fluidsynth-dialog.cpp:138 gui/options.cpp:1316 msgid "Misc" msgstr "Varie" @@ -540,15 +541,15 @@ msgstr "Chiudi" msgid "Mouse click" msgstr "Clic del mouse" -#: gui/gui-manager.cpp:126 base/main.cpp:337 +#: gui/gui-manager.cpp:126 base/main.cpp:340 msgid "Display keyboard" msgstr "Mostra tastiera" -#: gui/gui-manager.cpp:130 base/main.cpp:341 +#: gui/gui-manager.cpp:130 base/main.cpp:344 msgid "Remap keys" msgstr "Riprogramma tasti" -#: gui/gui-manager.cpp:133 base/main.cpp:344 engines/scumm/help.cpp:87 +#: gui/gui-manager.cpp:133 base/main.cpp:347 engines/scumm/help.cpp:87 msgid "Toggle fullscreen" msgstr "Attiva / disattiva schermo intero" @@ -582,110 +583,110 @@ msgstr "Premi il tasto da associare" msgid "Choose an action to map" msgstr "Scegli un'azione da mappare" -#: gui/launcher.cpp:117 engines/dialogs.cpp:111 engines/mohawk/dialogs.cpp:98 +#: gui/launcher.cpp:141 engines/dialogs.cpp:111 engines/mohawk/dialogs.cpp:98 msgid "~Q~uit" msgstr "C~h~iudi" -#: gui/launcher.cpp:117 backends/platform/sdl/macosx/appmenu_osx.mm:106 +#: gui/launcher.cpp:141 backends/platform/sdl/macosx/appmenu_osx.mm:106 msgid "Quit ScummVM" msgstr "Esci da ScummVM" -#: gui/launcher.cpp:118 +#: gui/launcher.cpp:142 msgid "A~b~out..." msgstr "~I~nfo..." -#: gui/launcher.cpp:118 backends/platform/sdl/macosx/appmenu_osx.mm:80 +#: gui/launcher.cpp:142 backends/platform/sdl/macosx/appmenu_osx.mm:80 msgid "About ScummVM" msgstr "Informazioni su ScummVM" -#: gui/launcher.cpp:119 +#: gui/launcher.cpp:143 msgid "~O~ptions..." msgstr "~O~pzioni..." -#: gui/launcher.cpp:119 +#: gui/launcher.cpp:143 msgid "Change global ScummVM options" msgstr "Modifica le opzioni globali di ScummVM" -#: gui/launcher.cpp:121 +#: gui/launcher.cpp:145 msgid "~S~tart" msgstr "~G~ioca" -#: gui/launcher.cpp:121 +#: gui/launcher.cpp:145 msgid "Start selected game" msgstr "Esegue il gioco selezionato" -#: gui/launcher.cpp:124 +#: gui/launcher.cpp:148 msgid "~L~oad..." msgstr "~C~arica..." -#: gui/launcher.cpp:124 +#: gui/launcher.cpp:148 msgid "Load saved game for selected game" msgstr "Carica un salvataggio del gioco selezionato" -#: gui/launcher.cpp:129 +#: gui/launcher.cpp:153 msgid "~A~dd Game..." msgstr "~A~ggiungi gioco..." -#: gui/launcher.cpp:129 gui/launcher.cpp:136 +#: gui/launcher.cpp:153 gui/launcher.cpp:160 msgid "Hold Shift for Mass Add" msgstr "Tieni premuto Shift per l'aggiunta in massa" -#: gui/launcher.cpp:131 +#: gui/launcher.cpp:155 msgid "~E~dit Game..." msgstr "~M~odifica gioco..." -#: gui/launcher.cpp:131 gui/launcher.cpp:138 +#: gui/launcher.cpp:155 gui/launcher.cpp:162 msgid "Change game options" msgstr "Modifica le opzioni di gioco" -#: gui/launcher.cpp:133 +#: gui/launcher.cpp:157 msgid "~R~emove Game" msgstr "~R~imuovi gioco" -#: gui/launcher.cpp:133 gui/launcher.cpp:140 +#: gui/launcher.cpp:157 gui/launcher.cpp:164 msgid "Remove game from the list. The game data files stay intact" msgstr "Rimuove il gioco dalla lista. I file del gioco rimarranno intatti" -#: gui/launcher.cpp:136 +#: gui/launcher.cpp:160 msgctxt "lowres" msgid "~A~dd Game..." msgstr "~A~gg. gioco..." -#: gui/launcher.cpp:138 +#: gui/launcher.cpp:162 msgctxt "lowres" msgid "~E~dit Game..." msgstr "~M~odif. gioco..." -#: gui/launcher.cpp:140 +#: gui/launcher.cpp:164 msgctxt "lowres" msgid "~R~emove Game" msgstr "~R~im. gioco" -#: gui/launcher.cpp:148 +#: gui/launcher.cpp:172 msgid "Search in game list" msgstr "Cerca nella lista dei giochi" -#: gui/launcher.cpp:152 gui/launcher.cpp:750 +#: gui/launcher.cpp:176 gui/launcher.cpp:771 msgid "Search:" msgstr "Cerca:" -#: gui/launcher.cpp:176 engines/dialogs.cpp:115 engines/cruise/menu.cpp:214 -#: engines/mohawk/dialogs.cpp:103 engines/mohawk/riven.cpp:733 +#: gui/launcher.cpp:200 engines/dialogs.cpp:115 engines/cruise/menu.cpp:214 +#: engines/mohawk/dialogs.cpp:103 engines/mohawk/riven.cpp:734 #: engines/pegasus/pegasus.cpp:353 engines/tsage/scenes.cpp:601 msgid "Load game:" msgstr "Carica gioco:" -#: gui/launcher.cpp:176 engines/dialogs.cpp:115 +#: gui/launcher.cpp:200 engines/dialogs.cpp:115 #: backends/platform/wince/CEActionsPocket.cpp:267 #: backends/platform/wince/CEActionsSmartphone.cpp:231 #: engines/cruise/menu.cpp:214 engines/mohawk/dialogs.cpp:103 -#: engines/mohawk/riven.cpp:733 engines/parallaction/saveload.cpp:194 +#: engines/mohawk/riven.cpp:734 engines/parallaction/saveload.cpp:194 #: engines/pegasus/pegasus.cpp:353 engines/scumm/dialogs.cpp:185 #: engines/tsage/scenes.cpp:601 msgid "Load" msgstr "Carica" -#: gui/launcher.cpp:285 +#: gui/launcher.cpp:306 msgid "" "Do you really want to run the mass game detector? This could potentially add " "a huge number of games." @@ -693,43 +694,43 @@ msgstr "" "Vuoi davvero eseguire il rilevatore di giochi in massa? Potrebbe aggiungere " "un numero enorme di giochi." -#: gui/launcher.cpp:344 +#: gui/launcher.cpp:365 msgid "This directory cannot be used yet, it is being downloaded into!" msgstr "" -#: gui/launcher.cpp:394 +#: gui/launcher.cpp:415 msgid "Do you really want to remove this game configuration?" msgstr "Sei sicuro di voler rimuovere questa configurazione di gioco?" -#: gui/launcher.cpp:452 +#: gui/launcher.cpp:473 msgid "Do you want to load saved game?" msgstr "Vuoi caricare il salvataggio?" -#: gui/launcher.cpp:501 +#: gui/launcher.cpp:522 msgid "This game does not support loading games from the launcher." msgstr "" "Questo gioco non supporta il caricamento di salvataggi dalla schermata di " "avvio." -#: gui/launcher.cpp:505 +#: gui/launcher.cpp:526 msgid "ScummVM could not find any engine capable of running the selected game!" msgstr "" "ScummVM non ha potuto trovare un motore in grado di eseguire il gioco " "selezionato!" -#: gui/launcher.cpp:556 +#: gui/launcher.cpp:577 msgid "ScummVM could not find any game in the specified directory!" msgstr "ScummVM non ha potuto trovare nessun gioco nella cartella specificata!" -#: gui/launcher.cpp:569 +#: gui/launcher.cpp:590 msgid "Pick the game:" msgstr "Scegli il gioco:" -#: gui/launcher.cpp:687 +#: gui/launcher.cpp:708 msgid "Mass Add..." msgstr "Agg. in massa..." -#: gui/launcher.cpp:689 +#: gui/launcher.cpp:710 msgid "Record..." msgstr "" @@ -774,148 +775,148 @@ msgstr "Sposta" msgid "Fast replay" msgstr "Modalitą veloce" -#: gui/options.cpp:112 common/updates.cpp:56 +#: gui/options.cpp:119 common/updates.cpp:56 msgid "Never" msgstr "Mai" -#: gui/options.cpp:112 +#: gui/options.cpp:119 msgid "every 5 mins" msgstr "ogni 5 minuti" -#: gui/options.cpp:112 +#: gui/options.cpp:119 msgid "every 10 mins" msgstr "ogni 10 minuti" -#: gui/options.cpp:112 +#: gui/options.cpp:119 msgid "every 15 mins" msgstr "ogni 15 minuti" -#: gui/options.cpp:112 +#: gui/options.cpp:119 msgid "every 30 mins" msgstr "ogni 30 minuti" -#: gui/options.cpp:114 +#: gui/options.cpp:121 msgid "8 kHz" msgstr "8 kHz" -#: gui/options.cpp:114 +#: gui/options.cpp:121 msgid "11 kHz" msgstr "11 kHz" -#: gui/options.cpp:114 +#: gui/options.cpp:121 msgid "22 kHz" msgstr "22 kHz" -#: gui/options.cpp:114 +#: gui/options.cpp:121 msgid "44 kHz" msgstr "44 kHz" -#: gui/options.cpp:114 +#: gui/options.cpp:121 msgid "48 kHz" msgstr "48 kHz" -#: gui/options.cpp:291 gui/options.cpp:528 gui/options.cpp:629 -#: gui/options.cpp:699 gui/options.cpp:910 +#: gui/options.cpp:289 gui/options.cpp:552 gui/options.cpp:657 +#: gui/options.cpp:726 gui/options.cpp:937 msgctxt "soundfont" msgid "None" msgstr "Nessuno" -#: gui/options.cpp:432 +#: gui/options.cpp:456 msgid "Failed to apply some of the graphic options changes:" msgstr "Impossibile applicare alcuni dei cambiamenti nelle opzioni grafiche." -#: gui/options.cpp:444 +#: gui/options.cpp:468 msgid "the video mode could not be changed." msgstr "impossibile modificare la modalitą video." -#: gui/options.cpp:450 +#: gui/options.cpp:474 msgid "the aspect ratio setting could not be changed" msgstr "impossibile modificare l'impostazione proporzioni" -#: gui/options.cpp:456 +#: gui/options.cpp:480 msgid "the fullscreen setting could not be changed" msgstr "impossibile modificare l'impostazione schermo intero" -#: gui/options.cpp:462 +#: gui/options.cpp:486 #, fuzzy msgid "the filtering setting could not be changed" msgstr "impossibile modificare l'impostazione schermo intero" -#: gui/options.cpp:782 +#: gui/options.cpp:809 msgid "Graphics mode:" msgstr "Modalitą:" -#: gui/options.cpp:796 +#: gui/options.cpp:823 msgid "Render mode:" msgstr "Resa grafica:" -#: gui/options.cpp:796 gui/options.cpp:797 +#: gui/options.cpp:823 gui/options.cpp:824 msgid "Special dithering modes supported by some games" msgstr "Modalitą di resa grafica speciali supportate da alcuni giochi" -#: gui/options.cpp:808 -#: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:2450 +#: gui/options.cpp:835 backends/graphics/openglsdl/openglsdl-graphics.cpp:615 +#: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:2460 msgid "Fullscreen mode" msgstr "Modalitą a schermo intero" -#: gui/options.cpp:811 +#: gui/options.cpp:838 #, fuzzy msgid "Filter graphics" msgstr "Grafica" -#: gui/options.cpp:811 +#: gui/options.cpp:838 msgid "Use linear filtering when scaling graphics" msgstr "" -#: gui/options.cpp:814 +#: gui/options.cpp:841 msgid "Aspect ratio correction" msgstr "Correzione proporzioni" -#: gui/options.cpp:814 +#: gui/options.cpp:841 msgid "Correct aspect ratio for 320x200 games" msgstr "Corregge le proporzioni dei giochi 320x200" -#: gui/options.cpp:822 +#: gui/options.cpp:849 msgid "Preferred Device:" msgstr "Disp. preferito:" -#: gui/options.cpp:822 +#: gui/options.cpp:849 msgid "Music Device:" msgstr "Dispositivo audio:" -#: gui/options.cpp:822 gui/options.cpp:824 +#: gui/options.cpp:849 gui/options.cpp:851 msgid "Specifies preferred sound device or sound card emulator" msgstr "" "Specifica il dispositivo audio o l'emulatore della scheda audio preferiti" -#: gui/options.cpp:822 gui/options.cpp:824 gui/options.cpp:825 +#: gui/options.cpp:849 gui/options.cpp:851 gui/options.cpp:852 msgid "Specifies output sound device or sound card emulator" msgstr "" "Specifica il dispositivo di output audio o l'emulatore della scheda audio" -#: gui/options.cpp:824 +#: gui/options.cpp:851 msgctxt "lowres" msgid "Preferred Dev.:" msgstr "Disp. preferito:" -#: gui/options.cpp:824 +#: gui/options.cpp:851 msgctxt "lowres" msgid "Music Device:" msgstr "Disposit. audio:" -#: gui/options.cpp:851 +#: gui/options.cpp:878 msgid "AdLib emulator:" msgstr "Emulatore AdLib:" -#: gui/options.cpp:851 gui/options.cpp:852 +#: gui/options.cpp:878 gui/options.cpp:879 msgid "AdLib is used for music in many games" msgstr "AdLib č utilizzato per la musica in molti giochi" -#: gui/options.cpp:862 +#: gui/options.cpp:889 msgid "Output rate:" msgstr "Frequenza:" -#: gui/options.cpp:862 gui/options.cpp:863 +#: gui/options.cpp:889 gui/options.cpp:890 msgid "" "Higher value specifies better sound quality but may be not supported by your " "soundcard" @@ -923,62 +924,62 @@ msgstr "" "Valori pił alti restituiscono un suono di maggior qualitą, ma potrebbero non " "essere supportati dalla tua scheda audio" -#: gui/options.cpp:873 +#: gui/options.cpp:900 msgid "GM Device:" msgstr "Dispositivo GM:" -#: gui/options.cpp:873 +#: gui/options.cpp:900 msgid "Specifies default sound device for General MIDI output" msgstr "Specifica il dispositivo audio predefinito per l'output General MIDI" -#: gui/options.cpp:884 +#: gui/options.cpp:911 msgid "Don't use General MIDI music" msgstr "Non utilizzare la musica General MIDI" -#: gui/options.cpp:895 gui/options.cpp:957 +#: gui/options.cpp:922 gui/options.cpp:984 msgid "Use first available device" msgstr "Utilizza il primo dispositivo disponibile" -#: gui/options.cpp:907 +#: gui/options.cpp:934 msgid "SoundFont:" msgstr "SoundFont:" -#: gui/options.cpp:907 gui/options.cpp:909 gui/options.cpp:910 +#: gui/options.cpp:934 gui/options.cpp:936 gui/options.cpp:937 msgid "SoundFont is supported by some audio cards, FluidSynth and Timidity" msgstr "SoundFont č supportato da alcune schede audio, FluidSynth e Timidity" -#: gui/options.cpp:909 +#: gui/options.cpp:936 msgctxt "lowres" msgid "SoundFont:" msgstr "SoundFont:" -#: gui/options.cpp:915 +#: gui/options.cpp:942 msgid "Mixed AdLib/MIDI mode" msgstr "Modalitą mista AdLib/MIDI" -#: gui/options.cpp:915 +#: gui/options.cpp:942 msgid "Use both MIDI and AdLib sound generation" msgstr "Utilizza generazione di suono sia MIDI che AdLib" -#: gui/options.cpp:918 +#: gui/options.cpp:945 msgid "MIDI gain:" msgstr "Guadagno MIDI:" -#: gui/options.cpp:928 +#: gui/options.cpp:955 msgid "MT-32 Device:" msgstr "Disposit. MT-32:" -#: gui/options.cpp:928 +#: gui/options.cpp:955 msgid "Specifies default sound device for Roland MT-32/LAPC1/CM32l/CM64 output" msgstr "" "Specifica il dispositivo audio predefinito per l'output Roland MT-32/LAPC1/" "CM32l/CM64" -#: gui/options.cpp:933 +#: gui/options.cpp:960 msgid "True Roland MT-32 (disable GM emulation)" msgstr "Roland MT-32 effettivo (disattiva emulazione GM)" -#: gui/options.cpp:933 gui/options.cpp:935 +#: gui/options.cpp:960 gui/options.cpp:962 msgid "" "Check if you want to use your real hardware Roland-compatible sound device " "connected to your computer" @@ -986,16 +987,16 @@ msgstr "" "Seleziona se vuoi usare il dispositivo hardware audio compatibile con Roland " "che č connesso al tuo computer" -#: gui/options.cpp:935 +#: gui/options.cpp:962 msgctxt "lowres" msgid "True Roland MT-32 (no GM emulation)" msgstr "Roland MT-32 effettivo (disat.emul.GM)" -#: gui/options.cpp:938 +#: gui/options.cpp:965 msgid "Roland GS Device (enable MT-32 mappings)" msgstr "Dispositivo Roland GS (attiva mappature MT-32)" -#: gui/options.cpp:938 +#: gui/options.cpp:965 msgid "" "Check if you want to enable patch mappings to emulate an MT-32 on a Roland " "GS device" @@ -1003,340 +1004,340 @@ msgstr "" "Seleziona se vuoi attivare le mappature per emulare un MT-32 su un " "dispositivo Roland GS" -#: gui/options.cpp:947 +#: gui/options.cpp:974 msgid "Don't use Roland MT-32 music" msgstr "Non utilizzare la musica Roland MT-32" -#: gui/options.cpp:974 +#: gui/options.cpp:1001 msgid "Text and Speech:" msgstr "Testo e voci:" -#: gui/options.cpp:978 gui/options.cpp:988 +#: gui/options.cpp:1005 gui/options.cpp:1015 msgid "Speech" msgstr "Voci" -#: gui/options.cpp:979 gui/options.cpp:989 +#: gui/options.cpp:1006 gui/options.cpp:1016 msgid "Subtitles" msgstr "Sottotitoli" -#: gui/options.cpp:980 +#: gui/options.cpp:1007 msgid "Both" msgstr "Entrambi" -#: gui/options.cpp:982 +#: gui/options.cpp:1009 msgid "Subtitle speed:" msgstr "Velocitą testo:" -#: gui/options.cpp:984 +#: gui/options.cpp:1011 msgctxt "lowres" msgid "Text and Speech:" msgstr "Testo e voci:" -#: gui/options.cpp:988 +#: gui/options.cpp:1015 msgid "Spch" msgstr "Voci" -#: gui/options.cpp:989 +#: gui/options.cpp:1016 msgid "Subs" msgstr "Sub" -#: gui/options.cpp:990 +#: gui/options.cpp:1017 msgctxt "lowres" msgid "Both" msgstr "Entr." -#: gui/options.cpp:990 +#: gui/options.cpp:1017 msgid "Show subtitles and play speech" msgstr "Mostra i sottotitoli e attiva le voci" -#: gui/options.cpp:992 +#: gui/options.cpp:1019 msgctxt "lowres" msgid "Subtitle speed:" msgstr "Velocitą testo:" -#: gui/options.cpp:1008 +#: gui/options.cpp:1035 msgid "Music volume:" msgstr "Volume musica:" -#: gui/options.cpp:1010 +#: gui/options.cpp:1037 msgctxt "lowres" msgid "Music volume:" msgstr "Volume musica:" -#: gui/options.cpp:1017 +#: gui/options.cpp:1044 msgid "Mute All" msgstr "Disattiva audio" -#: gui/options.cpp:1020 +#: gui/options.cpp:1047 msgid "SFX volume:" msgstr "Volume effetti:" -#: gui/options.cpp:1020 gui/options.cpp:1022 gui/options.cpp:1023 +#: gui/options.cpp:1047 gui/options.cpp:1049 gui/options.cpp:1050 msgid "Special sound effects volume" msgstr "Volume degli effetti sonori" -#: gui/options.cpp:1022 +#: gui/options.cpp:1049 msgctxt "lowres" msgid "SFX volume:" msgstr "Volume effetti:" -#: gui/options.cpp:1030 +#: gui/options.cpp:1057 msgid "Speech volume:" msgstr "Volume voci:" -#: gui/options.cpp:1032 +#: gui/options.cpp:1059 msgctxt "lowres" msgid "Speech volume:" msgstr "Volume voci:" -#: gui/options.cpp:1162 +#: gui/options.cpp:1257 msgid "FluidSynth Settings" msgstr "Impostazioni FluidSynth" -#: gui/options.cpp:1193 +#: gui/options.cpp:1288 msgid "Theme Path:" msgstr "Percorso tema:" -#: gui/options.cpp:1195 +#: gui/options.cpp:1290 msgctxt "lowres" msgid "Theme Path:" msgstr "Perc. tema:" -#: gui/options.cpp:1201 gui/options.cpp:1203 gui/options.cpp:1204 +#: gui/options.cpp:1296 gui/options.cpp:1298 gui/options.cpp:1299 msgid "Specifies path to additional data used by all games or ScummVM" msgstr "Specifica il percorso di ulteriori dati usati dai giochi o da ScummVM" -#: gui/options.cpp:1210 +#: gui/options.cpp:1305 msgid "Plugins Path:" msgstr "Percorso plugin:" -#: gui/options.cpp:1212 +#: gui/options.cpp:1307 msgctxt "lowres" msgid "Plugins Path:" msgstr "Perc. plugin:" -#: gui/options.cpp:1223 +#: gui/options.cpp:1318 msgctxt "lowres" msgid "Misc" msgstr "Varie" -#: gui/options.cpp:1225 +#: gui/options.cpp:1320 msgid "Theme:" msgstr "Tema:" -#: gui/options.cpp:1229 +#: gui/options.cpp:1324 msgid "GUI Renderer:" msgstr "Renderer GUI:" -#: gui/options.cpp:1241 +#: gui/options.cpp:1336 msgid "Autosave:" msgstr "Autosalva:" -#: gui/options.cpp:1243 +#: gui/options.cpp:1338 msgctxt "lowres" msgid "Autosave:" msgstr "Autosalva:" -#: gui/options.cpp:1251 +#: gui/options.cpp:1346 msgid "Keys" msgstr "Tasti" -#: gui/options.cpp:1258 +#: gui/options.cpp:1353 msgid "GUI Language:" msgstr "Lingua GUI:" -#: gui/options.cpp:1258 +#: gui/options.cpp:1353 msgid "Language of ScummVM GUI" msgstr "Lingua dell'interfaccia grafica di ScummVM" -#: gui/options.cpp:1286 +#: gui/options.cpp:1381 msgid "Update check:" msgstr "" -#: gui/options.cpp:1286 +#: gui/options.cpp:1381 msgid "How often to check ScummVM updates" msgstr "" -#: gui/options.cpp:1298 +#: gui/options.cpp:1393 msgid "Check now" msgstr "" -#: gui/options.cpp:1306 +#: gui/options.cpp:1401 msgid "Cloud" msgstr "" -#: gui/options.cpp:1308 +#: gui/options.cpp:1403 msgctxt "lowres" msgid "Cloud" msgstr "" -#: gui/options.cpp:1319 +#: gui/options.cpp:1408 msgid "Storage:" msgstr "" -#: gui/options.cpp:1319 +#: gui/options.cpp:1408 msgid "Active cloud storage" msgstr "" -#: gui/options.cpp:1326 gui/options.cpp:1877 +#: gui/options.cpp:1415 gui/options.cpp:1972 msgid "<none>" msgstr "" -#: gui/options.cpp:1330 backends/platform/wii/options.cpp:114 +#: gui/options.cpp:1419 backends/platform/wii/options.cpp:114 msgid "Username:" msgstr "Nome utente:" -#: gui/options.cpp:1330 +#: gui/options.cpp:1419 msgid "Username used by this storage" msgstr "" -#: gui/options.cpp:1333 +#: gui/options.cpp:1422 msgid "Used space:" msgstr "" -#: gui/options.cpp:1333 +#: gui/options.cpp:1422 msgid "Space used by ScummVM's saved games on this storage" msgstr "" -#: gui/options.cpp:1336 +#: gui/options.cpp:1425 msgid "Last sync time:" msgstr "" -#: gui/options.cpp:1336 +#: gui/options.cpp:1425 msgid "When the last saved games sync for this storage occured" msgstr "" -#: gui/options.cpp:1339 gui/storagewizarddialog.cpp:71 +#: gui/options.cpp:1428 gui/storagewizarddialog.cpp:71 msgid "Connect" msgstr "" -#: gui/options.cpp:1339 +#: gui/options.cpp:1428 msgid "Open wizard dialog to connect your cloud storage account" msgstr "" -#: gui/options.cpp:1340 +#: gui/options.cpp:1429 msgid "Refresh" msgstr "" -#: gui/options.cpp:1340 +#: gui/options.cpp:1429 msgid "Refresh current cloud storage information (username and usage)" msgstr "" -#: gui/options.cpp:1341 +#: gui/options.cpp:1430 #, fuzzy msgid "Download" msgstr "Gił" -#: gui/options.cpp:1341 +#: gui/options.cpp:1430 msgid "Open downloads manager dialog" msgstr "" -#: gui/options.cpp:1343 +#: gui/options.cpp:1432 msgid "Run server" msgstr "" -#: gui/options.cpp:1343 +#: gui/options.cpp:1432 msgid "Run local webserver" msgstr "" -#: gui/options.cpp:1344 gui/options.cpp:1987 +#: gui/options.cpp:1433 gui/options.cpp:2082 #, fuzzy msgid "Not running" msgstr "Errore nell'esecuzione del gioco:" -#: gui/options.cpp:1348 +#: gui/options.cpp:1437 #, fuzzy msgid "/root/ Path:" msgstr "Percorso extra:" -#: gui/options.cpp:1348 gui/options.cpp:1350 gui/options.cpp:1351 +#: gui/options.cpp:1437 gui/options.cpp:1439 gui/options.cpp:1440 #, fuzzy msgid "Specifies which directory the Files Manager can access" msgstr "Specifica dove archiviare i salvataggi" -#: gui/options.cpp:1350 +#: gui/options.cpp:1439 #, fuzzy msgctxt "lowres" msgid "/root/ Path:" msgstr "Percorso extra:" -#: gui/options.cpp:1360 +#: gui/options.cpp:1449 #, fuzzy msgid "Server's port:" msgstr "Server:" -#: gui/options.cpp:1360 +#: gui/options.cpp:1449 msgid "" "Which port is used by the server\n" "Auth with server is not available with non-default port" msgstr "" -#: gui/options.cpp:1520 -msgid "You have to restart ScummVM before your changes will take effect." -msgstr "Devi riavviare ScummVM affinché le modifiche abbiano effetto." +#: gui/options.cpp:1462 +msgid "Apply" +msgstr "" -#: gui/options.cpp:1543 +#: gui/options.cpp:1628 #, fuzzy msgid "Failed to change cloud storage!" msgstr "Impossibile salvare il gioco" -#: gui/options.cpp:1546 +#: gui/options.cpp:1631 msgid "Another cloud storage is already active." msgstr "" -#: gui/options.cpp:1584 +#: gui/options.cpp:1667 +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 "" +"Il tema che hai selezionato non supporta la lingua attuale. Se vuoi " +"utilizzare questo tema devi prima cambiare la lingua." + +#: gui/options.cpp:1702 msgid "The chosen directory cannot be written to. Please select another one." msgstr "La cartella scelta č in sola lettura. Si prega di sceglierne un'altra." -#: gui/options.cpp:1593 +#: gui/options.cpp:1711 msgid "Select directory for GUI themes" msgstr "Seleziona la cartella dei temi dell'interfaccia" -#: gui/options.cpp:1603 +#: gui/options.cpp:1721 msgid "Select directory for extra files" msgstr "Seleziona la cartella dei file aggiuntivi" -#: gui/options.cpp:1614 +#: gui/options.cpp:1732 msgid "Select directory for plugins" msgstr "Seleziona la cartella dei plugin" -#: gui/options.cpp:1626 +#: gui/options.cpp:1744 #, fuzzy msgid "Select directory for Files Manager /root/" msgstr "Seleziona la cartella dei file aggiuntivi" -#: gui/options.cpp:1688 -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 "" -"Il tema che hai selezionato non supporta la lingua attuale. Se vuoi " -"utilizzare questo tema devi prima cambiare la lingua." - -#: gui/options.cpp:1884 +#: gui/options.cpp:1979 #, c-format msgid "%llu bytes" msgstr "" -#: gui/options.cpp:1892 +#: gui/options.cpp:1987 msgid "<right now>" msgstr "" -#: gui/options.cpp:1894 +#: gui/options.cpp:1989 #, fuzzy msgid "<never>" msgstr "Mai" -#: gui/options.cpp:1978 +#: gui/options.cpp:2073 #, fuzzy msgid "Stop server" msgstr "Server:" -#: gui/options.cpp:1979 +#: gui/options.cpp:2074 msgid "Stop local webserver" msgstr "" -#: gui/options.cpp:2068 +#: gui/options.cpp:2163 msgid "" "Request failed.\n" "Check your Internet connection." @@ -1612,35 +1613,35 @@ msgstr "" msgid "Clear value" msgstr "Cancella" -#: base/main.cpp:250 +#: base/main.cpp:253 #, c-format msgid "Engine does not support debug level '%s'" msgstr "Il motore non supporta il livello di debug '%s'" -#: base/main.cpp:324 +#: base/main.cpp:327 msgid "Menu" msgstr "Menu" -#: base/main.cpp:327 backends/platform/symbian/src/SymbianActions.cpp:45 +#: base/main.cpp:330 backends/platform/symbian/src/SymbianActions.cpp:45 #: backends/platform/wince/CEActionsPocket.cpp:45 #: backends/platform/wince/CEActionsSmartphone.cpp:46 msgid "Skip" msgstr "Salta" -#: base/main.cpp:330 backends/platform/symbian/src/SymbianActions.cpp:50 +#: base/main.cpp:333 backends/platform/symbian/src/SymbianActions.cpp:50 #: backends/platform/wince/CEActionsPocket.cpp:42 msgid "Pause" msgstr "Pausa" -#: base/main.cpp:333 +#: base/main.cpp:336 msgid "Skip line" msgstr "Salta battuta" -#: base/main.cpp:542 +#: base/main.cpp:547 msgid "Error running game:" msgstr "Errore nell'esecuzione del gioco:" -#: base/main.cpp:589 +#: base/main.cpp:594 msgid "Could not find any engine capable of running the selected game" msgstr "" "Impossibile trovare un motore in grado di eseguire il gioco selezionato" @@ -2020,11 +2021,11 @@ msgstr "Emulatore FM Towns" msgid "PC-98 Audio" msgstr "Audio" -#: audio/softsynth/mt32.cpp:196 +#: audio/softsynth/mt32.cpp:197 msgid "Initializing MT-32 Emulator" msgstr "Avvio in corso dell'emulatore MT-32" -#: audio/softsynth/mt32.cpp:434 +#: audio/softsynth/mt32.cpp:435 msgid "MT-32 Emulator" msgstr "Emulatore MT-32" @@ -2040,34 +2041,34 @@ msgstr "Emulatore IBM PCjr" msgid "C64 Audio Emulator" msgstr "Emulatore audio C64" -#: backends/cloud/storage.cpp:210 +#: backends/cloud/storage.cpp:211 #, fuzzy msgid "Saved games sync complete." msgstr "Scansione completa!" -#: backends/cloud/storage.cpp:221 +#: backends/cloud/storage.cpp:222 msgid "Saved games sync was cancelled." msgstr "" -#: backends/cloud/storage.cpp:223 +#: backends/cloud/storage.cpp:224 msgid "" "Saved games sync failed.\n" "Check your Internet connection." msgstr "" -#: backends/cloud/storage.cpp:327 +#: backends/cloud/storage.cpp:328 #, c-format msgid "" "Download complete.\n" "Failed to download %u files." msgstr "" -#: backends/cloud/storage.cpp:329 +#: backends/cloud/storage.cpp:330 #, fuzzy msgid "Download complete." msgstr "Scansione completa!" -#: backends/cloud/storage.cpp:339 +#: backends/cloud/storage.cpp:340 #, fuzzy msgid "Download failed." msgstr "Carica gioco:" @@ -2178,43 +2179,53 @@ msgstr "" msgid "OpenGL" msgstr "OpenGL" -#: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:47 -#: backends/graphics/wincesdl/wincesdl-graphics.cpp:88 -#: backends/graphics/wincesdl/wincesdl-graphics.cpp:95 -msgid "Normal (no scaling)" -msgstr "Normale (nessun ridimensionamento)" +#: backends/graphics/openglsdl/openglsdl-graphics.cpp:617 +#: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:2462 +msgid "Windowed mode" +msgstr "Modalitą finestra" -#: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:66 -msgctxt "lowres" -msgid "Normal (no scaling)" -msgstr "Normale (no ridim.)" +#: backends/graphics/openglsdl/openglsdl-graphics.cpp:710 +#, c-format +msgid "Resolution: %dx%d" +msgstr "" -#: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:2329 +#: backends/graphics/openglsdl/openglsdl-graphics.cpp:731 +#: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:2338 msgid "Enabled aspect ratio correction" msgstr "Correzione proporzioni attivata" -#: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:2335 +#: backends/graphics/openglsdl/openglsdl-graphics.cpp:733 +#: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:2344 msgid "Disabled aspect ratio correction" msgstr "Correzione proporzioni disattivata" -#: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:2353 +#: backends/graphics/openglsdl/openglsdl-graphics.cpp:753 +#: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:2362 #, fuzzy msgid "Filtering enabled" msgstr "Clic attivato" -#: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:2355 +#: backends/graphics/openglsdl/openglsdl-graphics.cpp:755 +#: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:2364 #, fuzzy msgid "Filtering disabled" msgstr "Clic disattivato" -#: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:2407 +#: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:47 +#: backends/graphics/wincesdl/wincesdl-graphics.cpp:88 +#: backends/graphics/wincesdl/wincesdl-graphics.cpp:95 +msgid "Normal (no scaling)" +msgstr "Normale (nessun ridimensionamento)" + +#: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:66 +msgctxt "lowres" +msgid "Normal (no scaling)" +msgstr "Normale (no ridim.)" + +#: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:2417 msgid "Active graphics filter:" msgstr "Filtro grafico attivo:" -#: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:2452 -msgid "Windowed mode" -msgstr "Modalitą finestra" - #: backends/keymapper/remap-dialog.cpp:48 msgid "Keymap:" msgstr "Mappa tasti:" @@ -3125,6 +3136,39 @@ msgstr "~M~enu principale" msgid "~W~ater Effect Enabled" msgstr "~E~ffetto acqua attivo" +#: engines/mohawk/riven.cpp:150 +msgid "" +"You're missing a Riven executable. The Windows executable is 'riven.exe' or " +"'rivendmo.exe'. " +msgstr "" + +#: engines/mohawk/riven.cpp:151 +msgid "" +"Using the 'arcriven.z' installer file also works. In addition, you can use " +"the Mac 'Riven' executable." +msgstr "" + +#: engines/mohawk/riven.cpp:162 +msgid "" +"You're missing 'extras.mhk'. Using the 'arcriven.z' installer file also " +"works." +msgstr "" + +#: engines/mohawk/riven_external.cpp:213 +msgid "" +"Exploration beyond this point available only within the full version of\n" +"the game." +msgstr "" + +#: engines/mohawk/riven_external.cpp:655 +msgid "" +"At this point, the Riven Demo would\n" +"ask if you would like to open a web browser\n" +"to bring you to the Red Orb store to buy\n" +"the game. ScummVM cannot do that and\n" +"the site no longer exists." +msgstr "" + #: engines/mohawk/mohawk.cpp:61 #, fuzzy msgid "The game is paused. Press any key to continue." @@ -4268,6 +4312,9 @@ msgid "Use MPEG video from the DVD version, instead of lower resolution AVI" msgstr "" "Usa il set alternativo di cursori d'argento al posto di quelli normali d'oro" +#~ msgid "You have to restart ScummVM before your changes will take effect." +#~ msgstr "Devi riavviare ScummVM affinché le modifiche abbiano effetto." + #~ msgid "OpenGL (No filtering)" #~ msgstr "OpenGL (senza filtri)" diff --git a/po/nb_NO.po b/po/nb_NO.po index 666b5ce7fe..7ebc23eb00 100644 --- a/po/nb_NO.po +++ b/po/nb_NO.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: ScummVM 1.3.0svn\n" "Report-Msgid-Bugs-To: scummvm-devel@lists.scummvm.org\n" -"POT-Creation-Date: 2016-10-12 23:37+0100\n" +"POT-Creation-Date: 2016-11-05 12:43+0100\n" "PO-Revision-Date: 2016-10-05 23:47+0200\n" "Last-Translator: Einar Johan Trųan Sųmåen <einarjohants@gmail.com>\n" "Language-Team: somaen <einarjohants@gmail.com>\n" @@ -18,6 +18,7 @@ msgstr "" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Poedit-SourceCharset: iso-8859-1\n" "X-Generator: Poedit 1.8.9\n" +"X-Language-name: Norsk (bokmaal)\n" #: gui/about.cpp:94 #, c-format @@ -57,7 +58,7 @@ msgstr "Oppover" #: gui/browser.cpp:75 gui/chooser.cpp:46 gui/editgamedialog.cpp:292 #: gui/editrecorddialog.cpp:67 gui/filebrowser-dialog.cpp:64 #: gui/fluidsynth-dialog.cpp:152 gui/KeysDialog.cpp:43 gui/massadd.cpp:95 -#: gui/options.cpp:1376 gui/predictivedialog.cpp:73 gui/recorderdialog.cpp:69 +#: gui/options.cpp:1461 gui/predictivedialog.cpp:73 gui/recorderdialog.cpp:69 #: gui/recorderdialog.cpp:155 gui/remotebrowser.cpp:59 #: gui/saveload-dialog.cpp:383 gui/saveload-dialog.cpp:443 #: gui/saveload-dialog.cpp:717 gui/saveload-dialog.cpp:1111 @@ -81,7 +82,7 @@ msgstr "Velg" msgid "Select directory where to download game data" msgstr "Velg mappe for nedlasting av spilldata" -#: gui/downloaddialog.cpp:49 gui/editgamedialog.cpp:472 gui/launcher.cpp:173 +#: gui/downloaddialog.cpp:49 gui/editgamedialog.cpp:470 gui/launcher.cpp:197 msgid "Select directory with game data" msgstr "Velg mappe med spilldata" @@ -116,7 +117,7 @@ msgstr "" #: gui/downloaddialog.cpp:118 gui/downloaddialog.cpp:152 #: gui/filebrowser-dialog.cpp:132 gui/fluidsynth-dialog.cpp:217 -#: gui/launcher.cpp:286 gui/launcher.cpp:394 gui/launcher.cpp:453 +#: gui/launcher.cpp:307 gui/launcher.cpp:415 gui/launcher.cpp:474 #: gui/storagewizarddialog.cpp:112 #: backends/events/symbiansdl/symbiansdl-events.cpp:186 #: backends/platform/wince/CEActionsPocket.cpp:326 @@ -128,7 +129,7 @@ msgstr "Ja" #: gui/downloaddialog.cpp:118 gui/downloaddialog.cpp:153 #: gui/filebrowser-dialog.cpp:132 gui/fluidsynth-dialog.cpp:217 -#: gui/launcher.cpp:286 gui/launcher.cpp:394 gui/launcher.cpp:453 +#: gui/launcher.cpp:307 gui/launcher.cpp:415 gui/launcher.cpp:474 #: gui/storagewizarddialog.cpp:112 #: backends/events/symbiansdl/symbiansdl-events.cpp:186 #: backends/platform/wince/CEActionsPocket.cpp:326 @@ -138,7 +139,7 @@ msgstr "Ja" msgid "No" msgstr "Nei" -#: gui/downloaddialog.cpp:136 gui/launcher.cpp:544 +#: gui/downloaddialog.cpp:136 gui/launcher.cpp:565 msgid "ScummVM couldn't open the specified directory!" msgstr "ScummVM kunne ikke åpne den valgte mappa!" @@ -151,8 +152,8 @@ msgstr "" "samme navn." #: gui/downloaddialog.cpp:146 gui/editgamedialog.cpp:293 -#: gui/fluidsynth-dialog.cpp:153 gui/KeysDialog.cpp:42 gui/launcher.cpp:501 -#: gui/launcher.cpp:505 gui/massadd.cpp:92 gui/options.cpp:1377 +#: gui/fluidsynth-dialog.cpp:153 gui/KeysDialog.cpp:42 gui/launcher.cpp:522 +#: gui/launcher.cpp:526 gui/massadd.cpp:92 gui/options.cpp:1463 #: gui/saveload-dialog.cpp:1112 engines/engine.cpp:477 engines/engine.cpp:488 #: backends/platform/wii/options.cpp:47 #: backends/platform/wince/CELauncherDialog.cpp:54 @@ -237,8 +238,8 @@ msgstr "" "Spillets språk. Dette vil ikke gjųre din spanske spillversjon om til engelsk " "versjon" -#: gui/editgamedialog.cpp:151 gui/editgamedialog.cpp:165 gui/options.cpp:114 -#: gui/options.cpp:785 gui/options.cpp:798 gui/options.cpp:1261 +#: gui/editgamedialog.cpp:151 gui/editgamedialog.cpp:165 gui/options.cpp:121 +#: gui/options.cpp:812 gui/options.cpp:825 gui/options.cpp:1356 #: audio/null.cpp:41 msgid "<default>" msgstr "<standard>" @@ -261,11 +262,11 @@ msgstr "Plattform:" msgid "Engine" msgstr "Motor" -#: gui/editgamedialog.cpp:184 gui/options.cpp:1120 gui/options.cpp:1137 +#: gui/editgamedialog.cpp:184 gui/options.cpp:1147 gui/options.cpp:1232 msgid "Graphics" msgstr "Grafikk" -#: gui/editgamedialog.cpp:184 gui/options.cpp:1120 gui/options.cpp:1137 +#: gui/editgamedialog.cpp:184 gui/options.cpp:1147 gui/options.cpp:1232 msgid "GFX" msgstr "GFX" @@ -278,7 +279,7 @@ msgctxt "lowres" msgid "Override global graphic settings" msgstr "Overstyr globale grafikkinstillinger" -#: gui/editgamedialog.cpp:196 gui/options.cpp:1143 +#: gui/editgamedialog.cpp:196 gui/options.cpp:1238 msgid "Audio" msgstr "Lyd" @@ -291,11 +292,11 @@ msgctxt "lowres" msgid "Override global audio settings" msgstr "Overstyr globale lydinstillinger" -#: gui/editgamedialog.cpp:210 gui/options.cpp:1148 +#: gui/editgamedialog.cpp:210 gui/options.cpp:1243 msgid "Volume" msgstr "Volum" -#: gui/editgamedialog.cpp:212 gui/options.cpp:1150 +#: gui/editgamedialog.cpp:212 gui/options.cpp:1245 msgctxt "lowres" msgid "Volume" msgstr "Volum" @@ -309,7 +310,7 @@ msgctxt "lowres" msgid "Override global volume settings" msgstr "Overstyr globale voluminstillinger" -#: gui/editgamedialog.cpp:226 gui/options.cpp:1158 +#: gui/editgamedialog.cpp:226 gui/options.cpp:1253 msgid "MIDI" msgstr "MIDI" @@ -322,7 +323,7 @@ msgctxt "lowres" msgid "Override global MIDI settings" msgstr "Overstyr globale MIDI-instillinger" -#: gui/editgamedialog.cpp:241 gui/options.cpp:1168 +#: gui/editgamedialog.cpp:241 gui/options.cpp:1263 msgid "MT-32" msgstr "MT-32" @@ -335,11 +336,11 @@ msgctxt "lowres" msgid "Override global MT-32 settings" msgstr "Overstyr globale MT-32-instillinger" -#: gui/editgamedialog.cpp:255 gui/options.cpp:1175 +#: gui/editgamedialog.cpp:255 gui/options.cpp:1270 msgid "Paths" msgstr "Sti" -#: gui/editgamedialog.cpp:257 gui/options.cpp:1177 +#: gui/editgamedialog.cpp:257 gui/options.cpp:1272 msgctxt "lowres" msgid "Paths" msgstr "Sti" @@ -353,7 +354,7 @@ msgctxt "lowres" msgid "Game Path:" msgstr "Spillsti:" -#: gui/editgamedialog.cpp:271 gui/options.cpp:1201 +#: gui/editgamedialog.cpp:271 gui/options.cpp:1296 msgid "Extra Path:" msgstr "Ekstrasti:" @@ -362,56 +363,56 @@ msgstr "Ekstrasti:" msgid "Specifies path to additional data used by the game" msgstr "Bestemmer sti til ytterligere data brukt av spillet" -#: gui/editgamedialog.cpp:273 gui/options.cpp:1203 +#: gui/editgamedialog.cpp:273 gui/options.cpp:1298 msgctxt "lowres" msgid "Extra Path:" msgstr "Ekstrasti:" -#: gui/editgamedialog.cpp:280 gui/options.cpp:1185 +#: gui/editgamedialog.cpp:280 gui/options.cpp:1280 msgid "Save Path:" msgstr "Lagringssti:" #: gui/editgamedialog.cpp:280 gui/editgamedialog.cpp:282 -#: gui/editgamedialog.cpp:283 gui/options.cpp:1185 gui/options.cpp:1187 -#: gui/options.cpp:1188 +#: gui/editgamedialog.cpp:283 gui/options.cpp:1280 gui/options.cpp:1282 +#: gui/options.cpp:1283 msgid "Specifies where your saved games are put" msgstr "Bestemmer sti til lagrede spill" -#: gui/editgamedialog.cpp:282 gui/options.cpp:1187 +#: gui/editgamedialog.cpp:282 gui/options.cpp:1282 msgctxt "lowres" msgid "Save Path:" msgstr "Lagringssti:" -#: gui/editgamedialog.cpp:301 gui/editgamedialog.cpp:400 -#: gui/editgamedialog.cpp:459 gui/editgamedialog.cpp:520 gui/options.cpp:1196 -#: gui/options.cpp:1204 gui/options.cpp:1213 gui/options.cpp:1414 -#: gui/options.cpp:1420 gui/options.cpp:1428 gui/options.cpp:1451 -#: gui/options.cpp:1467 gui/options.cpp:1473 gui/options.cpp:1480 -#: gui/options.cpp:1488 gui/options.cpp:1640 gui/options.cpp:1643 -#: gui/options.cpp:1650 gui/options.cpp:1660 +#: gui/editgamedialog.cpp:301 gui/editgamedialog.cpp:398 +#: gui/editgamedialog.cpp:457 gui/editgamedialog.cpp:518 gui/options.cpp:1291 +#: gui/options.cpp:1299 gui/options.cpp:1308 gui/options.cpp:1488 +#: gui/options.cpp:1494 gui/options.cpp:1502 gui/options.cpp:1525 +#: gui/options.cpp:1554 gui/options.cpp:1560 gui/options.cpp:1567 +#: gui/options.cpp:1575 gui/options.cpp:1758 gui/options.cpp:1761 +#: gui/options.cpp:1768 gui/options.cpp:1778 msgctxt "path" msgid "None" msgstr "Ingen" -#: gui/editgamedialog.cpp:306 gui/editgamedialog.cpp:406 -#: gui/editgamedialog.cpp:524 gui/options.cpp:1408 gui/options.cpp:1461 -#: gui/options.cpp:1646 backends/platform/wii/options.cpp:56 +#: gui/editgamedialog.cpp:306 gui/editgamedialog.cpp:404 +#: gui/editgamedialog.cpp:522 gui/options.cpp:1482 gui/options.cpp:1548 +#: gui/options.cpp:1764 backends/platform/wii/options.cpp:56 msgid "Default" msgstr "Standard" -#: gui/editgamedialog.cpp:452 gui/options.cpp:1654 +#: gui/editgamedialog.cpp:450 gui/options.cpp:1772 msgid "Select SoundFont" msgstr "Velg SoundFont" -#: gui/editgamedialog.cpp:491 +#: gui/editgamedialog.cpp:489 msgid "Select additional game directory" msgstr "Velg mappe med ytterligere data" -#: gui/editgamedialog.cpp:504 gui/options.cpp:1577 +#: gui/editgamedialog.cpp:502 gui/options.cpp:1695 msgid "Select directory for saved games" msgstr "Velg mappe for lagrede spill" -#: gui/editgamedialog.cpp:510 +#: gui/editgamedialog.cpp:508 msgid "" "Saved games sync feature doesn't work with non-default directories. If you " "want your saved games to sync, use default directory." @@ -419,7 +420,7 @@ msgstr "" "Syncing av lagrede spill fungerer ikke med ikke-standard mapper. Hvis du vil " "at de lagrede spillene dine skal synce må du bruke standardmapper." -#: gui/editgamedialog.cpp:536 +#: gui/editgamedialog.cpp:534 msgid "This game ID is already taken. Please choose another one." msgstr "Denne spill-IDen er allerede i bruk. Vennligst velg en annen." @@ -499,7 +500,7 @@ msgstr "Sinus" msgid "Triangle" msgstr "Trekant" -#: gui/fluidsynth-dialog.cpp:138 gui/options.cpp:1221 +#: gui/fluidsynth-dialog.cpp:138 gui/options.cpp:1316 msgid "Misc" msgstr "Diverse" @@ -548,15 +549,15 @@ msgstr "Lukk" msgid "Mouse click" msgstr "Musklikk" -#: gui/gui-manager.cpp:126 base/main.cpp:337 +#: gui/gui-manager.cpp:126 base/main.cpp:340 msgid "Display keyboard" msgstr "Vis tastatur" -#: gui/gui-manager.cpp:130 base/main.cpp:341 +#: gui/gui-manager.cpp:130 base/main.cpp:344 msgid "Remap keys" msgstr "Omkoble taster" -#: gui/gui-manager.cpp:133 base/main.cpp:344 engines/scumm/help.cpp:87 +#: gui/gui-manager.cpp:133 base/main.cpp:347 engines/scumm/help.cpp:87 msgid "Toggle fullscreen" msgstr "Veksle fullskjerm" @@ -590,110 +591,110 @@ msgstr "Trykk tasten som skal kobles" msgid "Choose an action to map" msgstr "Velg en handling for kobling" -#: gui/launcher.cpp:117 engines/dialogs.cpp:111 engines/mohawk/dialogs.cpp:98 +#: gui/launcher.cpp:141 engines/dialogs.cpp:111 engines/mohawk/dialogs.cpp:98 msgid "~Q~uit" msgstr "~A~vslutt" -#: gui/launcher.cpp:117 backends/platform/sdl/macosx/appmenu_osx.mm:106 +#: gui/launcher.cpp:141 backends/platform/sdl/macosx/appmenu_osx.mm:106 msgid "Quit ScummVM" msgstr "Avslutt ScummVM" -#: gui/launcher.cpp:118 +#: gui/launcher.cpp:142 msgid "A~b~out..." msgstr "~O~m..." -#: gui/launcher.cpp:118 backends/platform/sdl/macosx/appmenu_osx.mm:80 +#: gui/launcher.cpp:142 backends/platform/sdl/macosx/appmenu_osx.mm:80 msgid "About ScummVM" msgstr "Om ScummVM" -#: gui/launcher.cpp:119 +#: gui/launcher.cpp:143 msgid "~O~ptions..." msgstr "~V~alg..." -#: gui/launcher.cpp:119 +#: gui/launcher.cpp:143 msgid "Change global ScummVM options" msgstr "Endre globale ScummVM-innstillinger" -#: gui/launcher.cpp:121 +#: gui/launcher.cpp:145 msgid "~S~tart" msgstr "~S~tart" -#: gui/launcher.cpp:121 +#: gui/launcher.cpp:145 msgid "Start selected game" msgstr "Start valgt spill" -#: gui/launcher.cpp:124 +#: gui/launcher.cpp:148 msgid "~L~oad..." msgstr "~Å~pne..." -#: gui/launcher.cpp:124 +#: gui/launcher.cpp:148 msgid "Load saved game for selected game" msgstr "Åpne lagret spill for det valgte spillet" -#: gui/launcher.cpp:129 +#: gui/launcher.cpp:153 msgid "~A~dd Game..." msgstr "~L~egg til spill..." -#: gui/launcher.cpp:129 gui/launcher.cpp:136 +#: gui/launcher.cpp:153 gui/launcher.cpp:160 msgid "Hold Shift for Mass Add" msgstr "Hold Shift for å legge til flere" -#: gui/launcher.cpp:131 +#: gui/launcher.cpp:155 msgid "~E~dit Game..." msgstr "~R~ediger spill..." -#: gui/launcher.cpp:131 gui/launcher.cpp:138 +#: gui/launcher.cpp:155 gui/launcher.cpp:162 msgid "Change game options" msgstr "Endre spillinstillinger" -#: gui/launcher.cpp:133 +#: gui/launcher.cpp:157 msgid "~R~emove Game" msgstr "~F~jern spill" -#: gui/launcher.cpp:133 gui/launcher.cpp:140 +#: gui/launcher.cpp:157 gui/launcher.cpp:164 msgid "Remove game from the list. The game data files stay intact" msgstr "Fjern spill fra listen. Spilldataene forblir intakte" -#: gui/launcher.cpp:136 +#: gui/launcher.cpp:160 msgctxt "lowres" msgid "~A~dd Game..." msgstr "~L~egg til spill..." -#: gui/launcher.cpp:138 +#: gui/launcher.cpp:162 msgctxt "lowres" msgid "~E~dit Game..." msgstr "~R~ediger spill..." -#: gui/launcher.cpp:140 +#: gui/launcher.cpp:164 msgctxt "lowres" msgid "~R~emove Game" msgstr "~F~jern spill" -#: gui/launcher.cpp:148 +#: gui/launcher.cpp:172 msgid "Search in game list" msgstr "Sųk i spilliste" -#: gui/launcher.cpp:152 gui/launcher.cpp:750 +#: gui/launcher.cpp:176 gui/launcher.cpp:771 msgid "Search:" msgstr "Sųk:" -#: gui/launcher.cpp:176 engines/dialogs.cpp:115 engines/cruise/menu.cpp:214 -#: engines/mohawk/dialogs.cpp:103 engines/mohawk/riven.cpp:733 +#: gui/launcher.cpp:200 engines/dialogs.cpp:115 engines/cruise/menu.cpp:214 +#: engines/mohawk/dialogs.cpp:103 engines/mohawk/riven.cpp:734 #: engines/pegasus/pegasus.cpp:353 engines/tsage/scenes.cpp:601 msgid "Load game:" msgstr "Åpne spill:" -#: gui/launcher.cpp:176 engines/dialogs.cpp:115 +#: gui/launcher.cpp:200 engines/dialogs.cpp:115 #: backends/platform/wince/CEActionsPocket.cpp:267 #: backends/platform/wince/CEActionsSmartphone.cpp:231 #: engines/cruise/menu.cpp:214 engines/mohawk/dialogs.cpp:103 -#: engines/mohawk/riven.cpp:733 engines/parallaction/saveload.cpp:194 +#: engines/mohawk/riven.cpp:734 engines/parallaction/saveload.cpp:194 #: engines/pegasus/pegasus.cpp:353 engines/scumm/dialogs.cpp:185 #: engines/tsage/scenes.cpp:601 msgid "Load" msgstr "Åpne" -#: gui/launcher.cpp:285 +#: gui/launcher.cpp:306 msgid "" "Do you really want to run the mass game detector? This could potentially add " "a huge number of games." @@ -701,40 +702,40 @@ msgstr "" "Vil du virkelig kjųre flerspill-finneren? Dette kan potensielt legge til et " "stort antall spill." -#: gui/launcher.cpp:344 +#: gui/launcher.cpp:365 msgid "This directory cannot be used yet, it is being downloaded into!" msgstr "Denne mappa kan ikke brukes ennå, den blir lastet ned til!" -#: gui/launcher.cpp:394 +#: gui/launcher.cpp:415 msgid "Do you really want to remove this game configuration?" msgstr "Vil du virkelig fjerne denne spillkonfigurasjonen?" -#: gui/launcher.cpp:452 +#: gui/launcher.cpp:473 msgid "Do you want to load saved game?" msgstr "Vil du laste et lagret spill?" -#: gui/launcher.cpp:501 +#: gui/launcher.cpp:522 msgid "This game does not support loading games from the launcher." msgstr "Dette spillet stųtter ikke lasting av spill fra oppstarteren." -#: gui/launcher.cpp:505 +#: gui/launcher.cpp:526 msgid "ScummVM could not find any engine capable of running the selected game!" msgstr "" "ScummVM kunne ikke finne noen motor som kunne kjųre det valgte spillet!" -#: gui/launcher.cpp:556 +#: gui/launcher.cpp:577 msgid "ScummVM could not find any game in the specified directory!" msgstr "ScummVM kunne ikke finne noe spill i den valgte mappen!" -#: gui/launcher.cpp:569 +#: gui/launcher.cpp:590 msgid "Pick the game:" msgstr "Velg spill:" -#: gui/launcher.cpp:687 +#: gui/launcher.cpp:708 msgid "Mass Add..." msgstr "Legg til flere..." -#: gui/launcher.cpp:689 +#: gui/launcher.cpp:710 msgid "Record..." msgstr "" @@ -779,146 +780,146 @@ msgstr "Bytt til Spill" msgid "Fast replay" msgstr "Rask replay" -#: gui/options.cpp:112 common/updates.cpp:56 +#: gui/options.cpp:119 common/updates.cpp:56 msgid "Never" msgstr "Aldri" -#: gui/options.cpp:112 +#: gui/options.cpp:119 msgid "every 5 mins" msgstr "hvert 5. min" -#: gui/options.cpp:112 +#: gui/options.cpp:119 msgid "every 10 mins" msgstr "hvert 10. min" -#: gui/options.cpp:112 +#: gui/options.cpp:119 msgid "every 15 mins" msgstr "hvert 15. min" -#: gui/options.cpp:112 +#: gui/options.cpp:119 msgid "every 30 mins" msgstr "hvert 30. min" -#: gui/options.cpp:114 +#: gui/options.cpp:121 msgid "8 kHz" msgstr "8 kHz" -#: gui/options.cpp:114 +#: gui/options.cpp:121 msgid "11 kHz" msgstr "11 kHz" -#: gui/options.cpp:114 +#: gui/options.cpp:121 msgid "22 kHz" msgstr "22 kHz" -#: gui/options.cpp:114 +#: gui/options.cpp:121 msgid "44 kHz" msgstr "44 kHz" -#: gui/options.cpp:114 +#: gui/options.cpp:121 msgid "48 kHz" msgstr "48 kHz" -#: gui/options.cpp:291 gui/options.cpp:528 gui/options.cpp:629 -#: gui/options.cpp:699 gui/options.cpp:910 +#: gui/options.cpp:289 gui/options.cpp:552 gui/options.cpp:657 +#: gui/options.cpp:726 gui/options.cpp:937 msgctxt "soundfont" msgid "None" msgstr "Ingen" -#: gui/options.cpp:432 +#: gui/options.cpp:456 msgid "Failed to apply some of the graphic options changes:" msgstr "Klarte ikke å aktivere enkelte av endringene i grafikkinstillinger:" -#: gui/options.cpp:444 +#: gui/options.cpp:468 msgid "the video mode could not be changed." msgstr "videomodusen kunne ikke endres." -#: gui/options.cpp:450 +#: gui/options.cpp:474 msgid "the aspect ratio setting could not be changed" msgstr "aspektrate-innstillingen kunne ikke endres" -#: gui/options.cpp:456 +#: gui/options.cpp:480 msgid "the fullscreen setting could not be changed" msgstr "fullskjermsinnstillingen kunne ikke endres" -#: gui/options.cpp:462 +#: gui/options.cpp:486 #, fuzzy msgid "the filtering setting could not be changed" msgstr "fullskjermsinnstillingen kunne ikke endres" -#: gui/options.cpp:782 +#: gui/options.cpp:809 msgid "Graphics mode:" msgstr "Grafikkmodus:" -#: gui/options.cpp:796 +#: gui/options.cpp:823 msgid "Render mode:" msgstr "Tegnemodus:" -#: gui/options.cpp:796 gui/options.cpp:797 +#: gui/options.cpp:823 gui/options.cpp:824 msgid "Special dithering modes supported by some games" msgstr "Spesiel dithering-modus stųttet av enkelte spill" -#: gui/options.cpp:808 -#: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:2450 +#: gui/options.cpp:835 backends/graphics/openglsdl/openglsdl-graphics.cpp:615 +#: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:2460 msgid "Fullscreen mode" msgstr "Fullskjermsmodus" -#: gui/options.cpp:811 +#: gui/options.cpp:838 #, fuzzy msgid "Filter graphics" msgstr "Bruk fargegrafikk" -#: gui/options.cpp:811 +#: gui/options.cpp:838 msgid "Use linear filtering when scaling graphics" msgstr "" -#: gui/options.cpp:814 +#: gui/options.cpp:841 msgid "Aspect ratio correction" msgstr "Aspekt-rate korrigering" -#: gui/options.cpp:814 +#: gui/options.cpp:841 msgid "Correct aspect ratio for 320x200 games" msgstr "Korriger aspekt-rate for 320x200-spill" -#: gui/options.cpp:822 +#: gui/options.cpp:849 msgid "Preferred Device:" msgstr "Foretrukket enhet:" -#: gui/options.cpp:822 +#: gui/options.cpp:849 msgid "Music Device:" msgstr "Musikkenhet:" -#: gui/options.cpp:822 gui/options.cpp:824 +#: gui/options.cpp:849 gui/options.cpp:851 msgid "Specifies preferred sound device or sound card emulator" msgstr "Velger foretrukket lydenhet eller lydkort-emulator" -#: gui/options.cpp:822 gui/options.cpp:824 gui/options.cpp:825 +#: gui/options.cpp:849 gui/options.cpp:851 gui/options.cpp:852 msgid "Specifies output sound device or sound card emulator" msgstr "Velger ut-lydenhet eller lydkortemulator" -#: gui/options.cpp:824 +#: gui/options.cpp:851 msgctxt "lowres" msgid "Preferred Dev.:" msgstr "Foretrukket enh.:" -#: gui/options.cpp:824 +#: gui/options.cpp:851 msgctxt "lowres" msgid "Music Device:" msgstr "Musikkenhet:" -#: gui/options.cpp:851 +#: gui/options.cpp:878 msgid "AdLib emulator:" msgstr "AdLib-emulator:" -#: gui/options.cpp:851 gui/options.cpp:852 +#: gui/options.cpp:878 gui/options.cpp:879 msgid "AdLib is used for music in many games" msgstr "AdLib brukes til musikk i mange spill" -#: gui/options.cpp:862 +#: gui/options.cpp:889 msgid "Output rate:" msgstr "Utrate:" -#: gui/options.cpp:862 gui/options.cpp:863 +#: gui/options.cpp:889 gui/options.cpp:890 msgid "" "Higher value specifies better sound quality but may be not supported by your " "soundcard" @@ -926,60 +927,60 @@ msgstr "" "Hųyere verdier gir bedre lydkvalitet, men stųttes kanskje ikke av ditt " "lydkort " -#: gui/options.cpp:873 +#: gui/options.cpp:900 msgid "GM Device:" msgstr "GM-enhet:" -#: gui/options.cpp:873 +#: gui/options.cpp:900 msgid "Specifies default sound device for General MIDI output" msgstr "Velger standard lydenhet for General MIDI-utdata" -#: gui/options.cpp:884 +#: gui/options.cpp:911 msgid "Don't use General MIDI music" msgstr "Ikke bruk General MIDI-musikk" -#: gui/options.cpp:895 gui/options.cpp:957 +#: gui/options.cpp:922 gui/options.cpp:984 msgid "Use first available device" msgstr "Bruk fųrste tilgjengelige enhet" -#: gui/options.cpp:907 +#: gui/options.cpp:934 msgid "SoundFont:" msgstr "SoundFont:" -#: gui/options.cpp:907 gui/options.cpp:909 gui/options.cpp:910 +#: gui/options.cpp:934 gui/options.cpp:936 gui/options.cpp:937 msgid "SoundFont is supported by some audio cards, FluidSynth and Timidity" msgstr "SoundFont stųttes ikke av enkelte lydkort, FluidSynth og Timidity" -#: gui/options.cpp:909 +#: gui/options.cpp:936 msgctxt "lowres" msgid "SoundFont:" msgstr "SoundFont:" -#: gui/options.cpp:915 +#: gui/options.cpp:942 msgid "Mixed AdLib/MIDI mode" msgstr "Mikset AdLib/MIDI-modus" -#: gui/options.cpp:915 +#: gui/options.cpp:942 msgid "Use both MIDI and AdLib sound generation" msgstr "Bruk både MIDI- og AdLib- lydgenerering" -#: gui/options.cpp:918 +#: gui/options.cpp:945 msgid "MIDI gain:" msgstr "MIDI gain:" -#: gui/options.cpp:928 +#: gui/options.cpp:955 msgid "MT-32 Device:" msgstr "MT-32 Enhet:" -#: gui/options.cpp:928 +#: gui/options.cpp:955 msgid "Specifies default sound device for Roland MT-32/LAPC1/CM32l/CM64 output" msgstr "Velger standard lydenhet for Roland MT-32/LAPC1/CM32I/CM64-avspilling" -#: gui/options.cpp:933 +#: gui/options.cpp:960 msgid "True Roland MT-32 (disable GM emulation)" msgstr "Ekte Roland MT-32 (deaktiver GM-emulering)" -#: gui/options.cpp:933 gui/options.cpp:935 +#: gui/options.cpp:960 gui/options.cpp:962 msgid "" "Check if you want to use your real hardware Roland-compatible sound device " "connected to your computer" @@ -987,16 +988,16 @@ msgstr "" "Velg hvis du har et ekte Roland-kompatible lydkort tilkoblet maskinen, og " "vil bruke dette." -#: gui/options.cpp:935 +#: gui/options.cpp:962 msgctxt "lowres" msgid "True Roland MT-32 (no GM emulation)" msgstr "Ekte Roland MT-32 (deaktiver GM-emulering)" -#: gui/options.cpp:938 +#: gui/options.cpp:965 msgid "Roland GS Device (enable MT-32 mappings)" msgstr "Roland GS Modus (aktiver MT32-mapping)" -#: gui/options.cpp:938 +#: gui/options.cpp:965 msgid "" "Check if you want to enable patch mappings to emulate an MT-32 on a Roland " "GS device" @@ -1004,263 +1005,263 @@ msgstr "" "Aktiver hvis du vil slå på patch mappinger for å emulere en MT-32 eller " "Roland GS enhet" -#: gui/options.cpp:947 +#: gui/options.cpp:974 msgid "Don't use Roland MT-32 music" msgstr "Ikke bruk Roland MT-32-musikk" -#: gui/options.cpp:974 +#: gui/options.cpp:1001 msgid "Text and Speech:" msgstr "Tekst og Tale:" -#: gui/options.cpp:978 gui/options.cpp:988 +#: gui/options.cpp:1005 gui/options.cpp:1015 msgid "Speech" msgstr "Tale" -#: gui/options.cpp:979 gui/options.cpp:989 +#: gui/options.cpp:1006 gui/options.cpp:1016 msgid "Subtitles" msgstr "Undertekster" -#: gui/options.cpp:980 +#: gui/options.cpp:1007 msgid "Both" msgstr "Begge" -#: gui/options.cpp:982 +#: gui/options.cpp:1009 msgid "Subtitle speed:" msgstr "Teksthastighet:" -#: gui/options.cpp:984 +#: gui/options.cpp:1011 msgctxt "lowres" msgid "Text and Speech:" msgstr "Tekst og Tale:" -#: gui/options.cpp:988 +#: gui/options.cpp:1015 msgid "Spch" msgstr "Tale" -#: gui/options.cpp:989 +#: gui/options.cpp:1016 msgid "Subs" msgstr "Tekst" -#: gui/options.cpp:990 +#: gui/options.cpp:1017 msgctxt "lowres" msgid "Both" msgstr "Begge" -#: gui/options.cpp:990 +#: gui/options.cpp:1017 msgid "Show subtitles and play speech" msgstr "Vis undertekster, og spill av tale" -#: gui/options.cpp:992 +#: gui/options.cpp:1019 msgctxt "lowres" msgid "Subtitle speed:" msgstr "Underteksthastighet:" -#: gui/options.cpp:1008 +#: gui/options.cpp:1035 msgid "Music volume:" msgstr "Musikkvolum:" -#: gui/options.cpp:1010 +#: gui/options.cpp:1037 msgctxt "lowres" msgid "Music volume:" msgstr "Musikkvolum:" -#: gui/options.cpp:1017 +#: gui/options.cpp:1044 msgid "Mute All" msgstr "Demp alle" -#: gui/options.cpp:1020 +#: gui/options.cpp:1047 msgid "SFX volume:" msgstr "Lydeffektvolum:" -#: gui/options.cpp:1020 gui/options.cpp:1022 gui/options.cpp:1023 +#: gui/options.cpp:1047 gui/options.cpp:1049 gui/options.cpp:1050 msgid "Special sound effects volume" msgstr "Volum for spesielle lydeffekter" -#: gui/options.cpp:1022 +#: gui/options.cpp:1049 msgctxt "lowres" msgid "SFX volume:" msgstr "Lydeffektvolum:" -#: gui/options.cpp:1030 +#: gui/options.cpp:1057 msgid "Speech volume:" msgstr "Talevolum:" -#: gui/options.cpp:1032 +#: gui/options.cpp:1059 msgctxt "lowres" msgid "Speech volume:" msgstr "Talevolum:" -#: gui/options.cpp:1162 +#: gui/options.cpp:1257 msgid "FluidSynth Settings" msgstr "FluidSynth-instillinger" -#: gui/options.cpp:1193 +#: gui/options.cpp:1288 msgid "Theme Path:" msgstr "Temasti:" -#: gui/options.cpp:1195 +#: gui/options.cpp:1290 msgctxt "lowres" msgid "Theme Path:" msgstr "Temasti:" -#: gui/options.cpp:1201 gui/options.cpp:1203 gui/options.cpp:1204 +#: gui/options.cpp:1296 gui/options.cpp:1298 gui/options.cpp:1299 msgid "Specifies path to additional data used by all games or ScummVM" msgstr "Velger sti for ytterligere data brukt av alle spill eller ScummVM" -#: gui/options.cpp:1210 +#: gui/options.cpp:1305 msgid "Plugins Path:" msgstr "Pluginsti:" -#: gui/options.cpp:1212 +#: gui/options.cpp:1307 msgctxt "lowres" msgid "Plugins Path:" msgstr "Pluginsti:" -#: gui/options.cpp:1223 +#: gui/options.cpp:1318 msgctxt "lowres" msgid "Misc" msgstr "Div" -#: gui/options.cpp:1225 +#: gui/options.cpp:1320 msgid "Theme:" msgstr "Tema:" -#: gui/options.cpp:1229 +#: gui/options.cpp:1324 msgid "GUI Renderer:" msgstr "GUI-tegner:" -#: gui/options.cpp:1241 +#: gui/options.cpp:1336 msgid "Autosave:" msgstr "Autolagre:" -#: gui/options.cpp:1243 +#: gui/options.cpp:1338 msgctxt "lowres" msgid "Autosave:" msgstr "Autolagre:" -#: gui/options.cpp:1251 +#: gui/options.cpp:1346 msgid "Keys" msgstr "Taster" -#: gui/options.cpp:1258 +#: gui/options.cpp:1353 msgid "GUI Language:" msgstr "GUI-språk:" -#: gui/options.cpp:1258 +#: gui/options.cpp:1353 msgid "Language of ScummVM GUI" msgstr "Språk i ScummVM-GUIet" -#: gui/options.cpp:1286 +#: gui/options.cpp:1381 msgid "Update check:" msgstr "Oppdateringssjekk:" -#: gui/options.cpp:1286 +#: gui/options.cpp:1381 msgid "How often to check ScummVM updates" msgstr "Hvor ofte det skal sjekkes for ScummVM-oppdateringer" -#: gui/options.cpp:1298 +#: gui/options.cpp:1393 msgid "Check now" msgstr "Sjekk nå" -#: gui/options.cpp:1306 +#: gui/options.cpp:1401 msgid "Cloud" msgstr "Sky" -#: gui/options.cpp:1308 +#: gui/options.cpp:1403 msgctxt "lowres" msgid "Cloud" msgstr "Sky" -#: gui/options.cpp:1319 +#: gui/options.cpp:1408 msgid "Storage:" msgstr "Lagring:" -#: gui/options.cpp:1319 +#: gui/options.cpp:1408 msgid "Active cloud storage" msgstr "Aktiv skylagring" -#: gui/options.cpp:1326 gui/options.cpp:1877 +#: gui/options.cpp:1415 gui/options.cpp:1972 msgid "<none>" msgstr "<ingen>" -#: gui/options.cpp:1330 backends/platform/wii/options.cpp:114 +#: gui/options.cpp:1419 backends/platform/wii/options.cpp:114 msgid "Username:" msgstr "Brukernavn:" -#: gui/options.cpp:1330 +#: gui/options.cpp:1419 msgid "Username used by this storage" msgstr "Brukernavn for denne lagringsmåten" -#: gui/options.cpp:1333 +#: gui/options.cpp:1422 msgid "Used space:" msgstr "Brukt plass:" -#: gui/options.cpp:1333 +#: gui/options.cpp:1422 msgid "Space used by ScummVM's saved games on this storage" msgstr "Plass brukt av ScummVM's lagrede spill på denne lagringsmåten" -#: gui/options.cpp:1336 +#: gui/options.cpp:1425 msgid "Last sync time:" msgstr "Forrige synctidspunkt" -#: gui/options.cpp:1336 +#: gui/options.cpp:1425 msgid "When the last saved games sync for this storage occured" msgstr "Når forrige sync av lagrede spill til denne lagringsmåten skjedde." -#: gui/options.cpp:1339 gui/storagewizarddialog.cpp:71 +#: gui/options.cpp:1428 gui/storagewizarddialog.cpp:71 msgid "Connect" msgstr "Koble til" -#: gui/options.cpp:1339 +#: gui/options.cpp:1428 msgid "Open wizard dialog to connect your cloud storage account" msgstr "Åpne veiviserdialog for å koble til skylagringen din" -#: gui/options.cpp:1340 +#: gui/options.cpp:1429 msgid "Refresh" msgstr "Oppfrisk" -#: gui/options.cpp:1340 +#: gui/options.cpp:1429 msgid "Refresh current cloud storage information (username and usage)" msgstr "Oppfrisk gjeldende skylagringsinformasjon (brukernavn og bruk)" -#: gui/options.cpp:1341 +#: gui/options.cpp:1430 msgid "Download" msgstr "Last ned" -#: gui/options.cpp:1341 +#: gui/options.cpp:1430 msgid "Open downloads manager dialog" msgstr "Åpne nedlastingsbehandlerdialog" -#: gui/options.cpp:1343 +#: gui/options.cpp:1432 msgid "Run server" msgstr "Kjųr server" -#: gui/options.cpp:1343 +#: gui/options.cpp:1432 msgid "Run local webserver" msgstr "Kjųr lokal webserver" -#: gui/options.cpp:1344 gui/options.cpp:1987 +#: gui/options.cpp:1433 gui/options.cpp:2082 msgid "Not running" msgstr "Kjųrer ikke" -#: gui/options.cpp:1348 +#: gui/options.cpp:1437 msgid "/root/ Path:" msgstr "/root/ Sti:" -#: gui/options.cpp:1348 gui/options.cpp:1350 gui/options.cpp:1351 +#: gui/options.cpp:1437 gui/options.cpp:1439 gui/options.cpp:1440 msgid "Specifies which directory the Files Manager can access" msgstr "Angi mappe som filbehandleren skal ha tilgang til" -#: gui/options.cpp:1350 +#: gui/options.cpp:1439 msgctxt "lowres" msgid "/root/ Path:" msgstr "/root/ Sti:" -#: gui/options.cpp:1360 +#: gui/options.cpp:1449 msgid "Server's port:" msgstr "Serverport:" -#: gui/options.cpp:1360 +#: gui/options.cpp:1449 msgid "" "Which port is used by the server\n" "Auth with server is not available with non-default port" @@ -1268,68 +1269,68 @@ msgstr "" "Hvilken port som brukes av serveren\n" "Autentisering med server stųttes ikke med ikke-standard port" -#: gui/options.cpp:1520 -msgid "You have to restart ScummVM before your changes will take effect." -msgstr "Du må starte ScummVM på nytt for at endringene skal tre i kraft. " +#: gui/options.cpp:1462 +msgid "Apply" +msgstr "" -#: gui/options.cpp:1543 +#: gui/options.cpp:1628 msgid "Failed to change cloud storage!" msgstr "Klarte ikke å kontakte skylagring!" -#: gui/options.cpp:1546 +#: gui/options.cpp:1631 msgid "Another cloud storage is already active." msgstr "En annen skylagring er allerede aktiv" -#: gui/options.cpp:1584 +#: gui/options.cpp:1667 +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 "" +"Temaet du valgte stųtter ikke det aktive språket. Hvis du vil bruke dette " +"temaet, må du bytte til et annet språk fųrst." + +#: gui/options.cpp:1702 msgid "The chosen directory cannot be written to. Please select another one." msgstr "Den valgte mappen kan ikke skrives til. Vennligst velg en annen." -#: gui/options.cpp:1593 +#: gui/options.cpp:1711 msgid "Select directory for GUI themes" msgstr "Velg mappe for GUI-temaer" -#: gui/options.cpp:1603 +#: gui/options.cpp:1721 msgid "Select directory for extra files" msgstr "Velg mappe for ytterligere filer" -#: gui/options.cpp:1614 +#: gui/options.cpp:1732 msgid "Select directory for plugins" msgstr "Velg mappe for plugins" -#: gui/options.cpp:1626 +#: gui/options.cpp:1744 msgid "Select directory for Files Manager /root/" msgstr "Velg mappe for filbehandler /root/" -#: gui/options.cpp:1688 -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 "" -"Temaet du valgte stųtter ikke det aktive språket. Hvis du vil bruke dette " -"temaet, må du bytte til et annet språk fųrst." - -#: gui/options.cpp:1884 +#: gui/options.cpp:1979 #, c-format msgid "%llu bytes" msgstr "%llu bytes" -#: gui/options.cpp:1892 +#: gui/options.cpp:1987 msgid "<right now>" msgstr "<med en gang>" -#: gui/options.cpp:1894 +#: gui/options.cpp:1989 msgid "<never>" msgstr "<aldri>" -#: gui/options.cpp:1978 +#: gui/options.cpp:2073 msgid "Stop server" msgstr "Stopp server" -#: gui/options.cpp:1979 +#: gui/options.cpp:2074 msgid "Stop local webserver" msgstr "Stopp lokal webserver" -#: gui/options.cpp:2068 +#: gui/options.cpp:2163 msgid "" "Request failed.\n" "Check your Internet connection." @@ -1605,35 +1606,35 @@ msgstr "Fortsett" msgid "Clear value" msgstr "Tųm verdi" -#: base/main.cpp:250 +#: base/main.cpp:253 #, c-format msgid "Engine does not support debug level '%s'" msgstr "Motoren stųtter ikke debug-nivå '%s'" -#: base/main.cpp:324 +#: base/main.cpp:327 msgid "Menu" msgstr "Meny" -#: base/main.cpp:327 backends/platform/symbian/src/SymbianActions.cpp:45 +#: base/main.cpp:330 backends/platform/symbian/src/SymbianActions.cpp:45 #: backends/platform/wince/CEActionsPocket.cpp:45 #: backends/platform/wince/CEActionsSmartphone.cpp:46 msgid "Skip" msgstr "Hopp over" -#: base/main.cpp:330 backends/platform/symbian/src/SymbianActions.cpp:50 +#: base/main.cpp:333 backends/platform/symbian/src/SymbianActions.cpp:50 #: backends/platform/wince/CEActionsPocket.cpp:42 msgid "Pause" msgstr "Pause" -#: base/main.cpp:333 +#: base/main.cpp:336 msgid "Skip line" msgstr "Hopp over linje" -#: base/main.cpp:542 +#: base/main.cpp:547 msgid "Error running game:" msgstr "Problem ved kjųring av spill:" -#: base/main.cpp:589 +#: base/main.cpp:594 msgid "Could not find any engine capable of running the selected game" msgstr "Kunne ikke finne noen motor som kunne kjųre det valgte spillet" @@ -2008,11 +2009,11 @@ msgstr "FM Towns Lyd" msgid "PC-98 Audio" msgstr "PC-98 Lyd" -#: audio/softsynth/mt32.cpp:196 +#: audio/softsynth/mt32.cpp:197 msgid "Initializing MT-32 Emulator" msgstr "Initialiserer MT-32-Emulator" -#: audio/softsynth/mt32.cpp:434 +#: audio/softsynth/mt32.cpp:435 msgid "MT-32 Emulator" msgstr "MT-32 Emulator" @@ -2028,15 +2029,15 @@ msgstr "IBM PCjr Emulator" msgid "C64 Audio Emulator" msgstr "C64 Lydemulator" -#: backends/cloud/storage.cpp:210 +#: backends/cloud/storage.cpp:211 msgid "Saved games sync complete." msgstr "Sync av lagrede spill fullfųrt" -#: backends/cloud/storage.cpp:221 +#: backends/cloud/storage.cpp:222 msgid "Saved games sync was cancelled." msgstr "Syncing av lagrede spill avbrutt." -#: backends/cloud/storage.cpp:223 +#: backends/cloud/storage.cpp:224 msgid "" "Saved games sync failed.\n" "Check your Internet connection." @@ -2044,7 +2045,7 @@ msgstr "" "Sync av lagrede spill feilet.\n" "Sjekk internettilkoblingen din." -#: backends/cloud/storage.cpp:327 +#: backends/cloud/storage.cpp:328 #, c-format msgid "" "Download complete.\n" @@ -2053,11 +2054,11 @@ msgstr "" "Nedlasting fullfųrt.\n" "Klarte ikke laste ned %u filer." -#: backends/cloud/storage.cpp:329 +#: backends/cloud/storage.cpp:330 msgid "Download complete." msgstr "Nedlasting fullfųrt" -#: backends/cloud/storage.cpp:339 +#: backends/cloud/storage.cpp:340 msgid "Download failed." msgstr "Nedlasting feilet" @@ -2166,43 +2167,53 @@ msgstr "Sveip tre fingre til hųyre for å veksle" msgid "OpenGL" msgstr "OpenGL" -#: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:47 -#: backends/graphics/wincesdl/wincesdl-graphics.cpp:88 -#: backends/graphics/wincesdl/wincesdl-graphics.cpp:95 -msgid "Normal (no scaling)" -msgstr "Normal (ingen skalering)" +#: backends/graphics/openglsdl/openglsdl-graphics.cpp:617 +#: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:2462 +msgid "Windowed mode" +msgstr "Vindusmodus" -#: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:66 -msgctxt "lowres" -msgid "Normal (no scaling)" -msgstr "Normal (ingen skalering)" +#: backends/graphics/openglsdl/openglsdl-graphics.cpp:710 +#, c-format +msgid "Resolution: %dx%d" +msgstr "" -#: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:2329 +#: backends/graphics/openglsdl/openglsdl-graphics.cpp:731 +#: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:2338 msgid "Enabled aspect ratio correction" msgstr "Aspekt-rate korrigering aktivert" -#: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:2335 +#: backends/graphics/openglsdl/openglsdl-graphics.cpp:733 +#: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:2344 msgid "Disabled aspect ratio correction" msgstr "Aspekt-rate korrigering deaktivert" -#: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:2353 +#: backends/graphics/openglsdl/openglsdl-graphics.cpp:753 +#: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:2362 #, fuzzy msgid "Filtering enabled" msgstr "Klikking aktivert" -#: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:2355 +#: backends/graphics/openglsdl/openglsdl-graphics.cpp:755 +#: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:2364 #, fuzzy msgid "Filtering disabled" msgstr "Klikking deaktivert" -#: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:2407 +#: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:47 +#: backends/graphics/wincesdl/wincesdl-graphics.cpp:88 +#: backends/graphics/wincesdl/wincesdl-graphics.cpp:95 +msgid "Normal (no scaling)" +msgstr "Normal (ingen skalering)" + +#: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:66 +msgctxt "lowres" +msgid "Normal (no scaling)" +msgstr "Normal (ingen skalering)" + +#: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:2417 msgid "Active graphics filter:" msgstr "Aktivt grafikkfilter:" -#: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:2452 -msgid "Windowed mode" -msgstr "Vindusmodus" - #: backends/keymapper/remap-dialog.cpp:48 msgid "Keymap:" msgstr "Tastkobling:" @@ -3119,6 +3130,39 @@ msgstr "Hoved~m~eny" msgid "~W~ater Effect Enabled" msgstr "~V~anneffekt aktivert" +#: engines/mohawk/riven.cpp:150 +msgid "" +"You're missing a Riven executable. The Windows executable is 'riven.exe' or " +"'rivendmo.exe'. " +msgstr "" + +#: engines/mohawk/riven.cpp:151 +msgid "" +"Using the 'arcriven.z' installer file also works. In addition, you can use " +"the Mac 'Riven' executable." +msgstr "" + +#: engines/mohawk/riven.cpp:162 +msgid "" +"You're missing 'extras.mhk'. Using the 'arcriven.z' installer file also " +"works." +msgstr "" + +#: engines/mohawk/riven_external.cpp:213 +msgid "" +"Exploration beyond this point available only within the full version of\n" +"the game." +msgstr "" + +#: engines/mohawk/riven_external.cpp:655 +msgid "" +"At this point, the Riven Demo would\n" +"ask if you would like to open a web browser\n" +"to bring you to the Red Orb store to buy\n" +"the game. ScummVM cannot do that and\n" +"the site no longer exists." +msgstr "" + #: engines/mohawk/mohawk.cpp:61 msgid "The game is paused. Press any key to continue." msgstr "Spillet er satt på pause. Trykk en tast for å fortsette." @@ -4242,6 +4286,9 @@ msgstr "" "Bruk MPEG-video fra DVD-versjonen istedenfor AVI-versjonen med lavere " "opplųsning" +#~ msgid "You have to restart ScummVM before your changes will take effect." +#~ msgstr "Du må starte ScummVM på nytt for at endringene skal tre i kraft. " + #~ msgid "OpenGL (No filtering)" #~ msgstr "OpenGL (Ingen filtrering)" diff --git a/po/nl_NL.po b/po/nl_NL.po index 4241e8fab1..2d46550c5b 100644 --- a/po/nl_NL.po +++ b/po/nl_NL.po @@ -7,17 +7,18 @@ msgid "" msgstr "" "Project-Id-Version: ScummVM 1.9.0git\n" "Report-Msgid-Bugs-To: scummvm-devel@lists.scummvm.org\n" -"POT-Creation-Date: 2016-10-12 23:37+0100\n" -"PO-Revision-Date: 2016-10-09 21:57+0100\n" -"Last-Translator: Willem Jan Palenstijn <wjp@usecode.org>\n" +"POT-Creation-Date: 2016-11-05 12:43+0100\n" +"PO-Revision-Date: 2016-10-26 16:06+0200\n" +"Last-Translator: Ben Castricum <scummvm@bencastricum.nl>\n" "Language-Team: Ben Castricum <scummvm@bencastricum.nl>\n" "Language: Nederlands\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=iso-8859-1\n" "Content-Transfer-Encoding: 8bit\n" -"X-Generator: Poedit 1.5.5\n" +"X-Generator: Poedit 1.8.11\n" "X-Poedit-SourceCharset: iso-8859-1\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" +"X-Language-name: Nederlands\n" #: gui/about.cpp:94 #, c-format @@ -57,7 +58,7 @@ msgstr "Ga omhoog" #: gui/browser.cpp:75 gui/chooser.cpp:46 gui/editgamedialog.cpp:292 #: gui/editrecorddialog.cpp:67 gui/filebrowser-dialog.cpp:64 #: gui/fluidsynth-dialog.cpp:152 gui/KeysDialog.cpp:43 gui/massadd.cpp:95 -#: gui/options.cpp:1376 gui/predictivedialog.cpp:73 gui/recorderdialog.cpp:69 +#: gui/options.cpp:1461 gui/predictivedialog.cpp:73 gui/recorderdialog.cpp:69 #: gui/recorderdialog.cpp:155 gui/remotebrowser.cpp:59 #: gui/saveload-dialog.cpp:383 gui/saveload-dialog.cpp:443 #: gui/saveload-dialog.cpp:717 gui/saveload-dialog.cpp:1111 @@ -81,7 +82,7 @@ msgstr "Selecteer" msgid "Select directory where to download game data" msgstr "Selecteer map voor de te downloaden speldata" -#: gui/downloaddialog.cpp:49 gui/editgamedialog.cpp:472 gui/launcher.cpp:173 +#: gui/downloaddialog.cpp:49 gui/editgamedialog.cpp:470 gui/launcher.cpp:197 msgid "Select directory with game data" msgstr "Selecteer map met speldata" @@ -114,7 +115,7 @@ msgstr "Uw verbinding lijkt beperkt. Wilt u echt bestanden ermee downloaden?" #: gui/downloaddialog.cpp:118 gui/downloaddialog.cpp:152 #: gui/filebrowser-dialog.cpp:132 gui/fluidsynth-dialog.cpp:217 -#: gui/launcher.cpp:286 gui/launcher.cpp:394 gui/launcher.cpp:453 +#: gui/launcher.cpp:307 gui/launcher.cpp:415 gui/launcher.cpp:474 #: gui/storagewizarddialog.cpp:112 #: backends/events/symbiansdl/symbiansdl-events.cpp:186 #: backends/platform/wince/CEActionsPocket.cpp:326 @@ -126,7 +127,7 @@ msgstr "Ja" #: gui/downloaddialog.cpp:118 gui/downloaddialog.cpp:153 #: gui/filebrowser-dialog.cpp:132 gui/fluidsynth-dialog.cpp:217 -#: gui/launcher.cpp:286 gui/launcher.cpp:394 gui/launcher.cpp:453 +#: gui/launcher.cpp:307 gui/launcher.cpp:415 gui/launcher.cpp:474 #: gui/storagewizarddialog.cpp:112 #: backends/events/symbiansdl/symbiansdl-events.cpp:186 #: backends/platform/wince/CEActionsPocket.cpp:326 @@ -136,7 +137,7 @@ msgstr "Ja" msgid "No" msgstr "Nee" -#: gui/downloaddialog.cpp:136 gui/launcher.cpp:544 +#: gui/downloaddialog.cpp:136 gui/launcher.cpp:565 msgid "ScummVM couldn't open the specified directory!" msgstr "ScummVM kon de opgegeven map niet openen!" @@ -149,8 +150,8 @@ msgstr "" "met dezelfde naam." #: gui/downloaddialog.cpp:146 gui/editgamedialog.cpp:293 -#: gui/fluidsynth-dialog.cpp:153 gui/KeysDialog.cpp:42 gui/launcher.cpp:501 -#: gui/launcher.cpp:505 gui/massadd.cpp:92 gui/options.cpp:1377 +#: gui/fluidsynth-dialog.cpp:153 gui/KeysDialog.cpp:42 gui/launcher.cpp:522 +#: gui/launcher.cpp:526 gui/massadd.cpp:92 gui/options.cpp:1463 #: gui/saveload-dialog.cpp:1112 engines/engine.cpp:477 engines/engine.cpp:488 #: backends/platform/wii/options.cpp:47 #: backends/platform/wince/CELauncherDialog.cpp:54 @@ -235,8 +236,8 @@ msgstr "" "De taal van het spel. Dit verandert een Engels spel niet naar een " "Nederlandse." -#: gui/editgamedialog.cpp:151 gui/editgamedialog.cpp:165 gui/options.cpp:114 -#: gui/options.cpp:785 gui/options.cpp:798 gui/options.cpp:1261 +#: gui/editgamedialog.cpp:151 gui/editgamedialog.cpp:165 gui/options.cpp:121 +#: gui/options.cpp:812 gui/options.cpp:825 gui/options.cpp:1356 #: audio/null.cpp:41 msgid "<default>" msgstr "<standaard>" @@ -259,11 +260,11 @@ msgstr "Platform:" msgid "Engine" msgstr "Engine" -#: gui/editgamedialog.cpp:184 gui/options.cpp:1120 gui/options.cpp:1137 +#: gui/editgamedialog.cpp:184 gui/options.cpp:1147 gui/options.cpp:1232 msgid "Graphics" msgstr "Beeld" -#: gui/editgamedialog.cpp:184 gui/options.cpp:1120 gui/options.cpp:1137 +#: gui/editgamedialog.cpp:184 gui/options.cpp:1147 gui/options.cpp:1232 msgid "GFX" msgstr "GFX" @@ -276,7 +277,7 @@ msgctxt "lowres" msgid "Override global graphic settings" msgstr "Negeer algemene grafische instellingen" -#: gui/editgamedialog.cpp:196 gui/options.cpp:1143 +#: gui/editgamedialog.cpp:196 gui/options.cpp:1238 msgid "Audio" msgstr "Geluid" @@ -289,11 +290,11 @@ msgctxt "lowres" msgid "Override global audio settings" msgstr "Negeer algemene audio instellingen" -#: gui/editgamedialog.cpp:210 gui/options.cpp:1148 +#: gui/editgamedialog.cpp:210 gui/options.cpp:1243 msgid "Volume" msgstr "Volume" -#: gui/editgamedialog.cpp:212 gui/options.cpp:1150 +#: gui/editgamedialog.cpp:212 gui/options.cpp:1245 msgctxt "lowres" msgid "Volume" msgstr "Volume" @@ -307,7 +308,7 @@ msgctxt "lowres" msgid "Override global volume settings" msgstr "Negeer algemene volume instellingen" -#: gui/editgamedialog.cpp:226 gui/options.cpp:1158 +#: gui/editgamedialog.cpp:226 gui/options.cpp:1253 msgid "MIDI" msgstr "MIDI" @@ -320,7 +321,7 @@ msgctxt "lowres" msgid "Override global MIDI settings" msgstr "Negeer algemene MIDI instellingen" -#: gui/editgamedialog.cpp:241 gui/options.cpp:1168 +#: gui/editgamedialog.cpp:241 gui/options.cpp:1263 msgid "MT-32" msgstr "MT-32" @@ -333,11 +334,11 @@ msgctxt "lowres" msgid "Override global MT-32 settings" msgstr "Negeer algemene MT-32 instellingen" -#: gui/editgamedialog.cpp:255 gui/options.cpp:1175 +#: gui/editgamedialog.cpp:255 gui/options.cpp:1270 msgid "Paths" msgstr "Paden" -#: gui/editgamedialog.cpp:257 gui/options.cpp:1177 +#: gui/editgamedialog.cpp:257 gui/options.cpp:1272 msgctxt "lowres" msgid "Paths" msgstr "Paden" @@ -351,7 +352,7 @@ msgctxt "lowres" msgid "Game Path:" msgstr "Spel Pad:" -#: gui/editgamedialog.cpp:271 gui/options.cpp:1201 +#: gui/editgamedialog.cpp:271 gui/options.cpp:1296 msgid "Extra Path:" msgstr "Extra Pad:" @@ -360,56 +361,56 @@ msgstr "Extra Pad:" msgid "Specifies path to additional data used by the game" msgstr "Specificeer pad naar additionele data voor het spel" -#: gui/editgamedialog.cpp:273 gui/options.cpp:1203 +#: gui/editgamedialog.cpp:273 gui/options.cpp:1298 msgctxt "lowres" msgid "Extra Path:" msgstr "Extra Pad:" -#: gui/editgamedialog.cpp:280 gui/options.cpp:1185 +#: gui/editgamedialog.cpp:280 gui/options.cpp:1280 msgid "Save Path:" msgstr "Bewaar Pad:" #: gui/editgamedialog.cpp:280 gui/editgamedialog.cpp:282 -#: gui/editgamedialog.cpp:283 gui/options.cpp:1185 gui/options.cpp:1187 -#: gui/options.cpp:1188 +#: gui/editgamedialog.cpp:283 gui/options.cpp:1280 gui/options.cpp:1282 +#: gui/options.cpp:1283 msgid "Specifies where your saved games are put" msgstr "Bepaalt waar opgeslagen spellen worden bewaard." -#: gui/editgamedialog.cpp:282 gui/options.cpp:1187 +#: gui/editgamedialog.cpp:282 gui/options.cpp:1282 msgctxt "lowres" msgid "Save Path:" msgstr "Bewaar Pad:" -#: gui/editgamedialog.cpp:301 gui/editgamedialog.cpp:400 -#: gui/editgamedialog.cpp:459 gui/editgamedialog.cpp:520 gui/options.cpp:1196 -#: gui/options.cpp:1204 gui/options.cpp:1213 gui/options.cpp:1414 -#: gui/options.cpp:1420 gui/options.cpp:1428 gui/options.cpp:1451 -#: gui/options.cpp:1467 gui/options.cpp:1473 gui/options.cpp:1480 -#: gui/options.cpp:1488 gui/options.cpp:1640 gui/options.cpp:1643 -#: gui/options.cpp:1650 gui/options.cpp:1660 +#: gui/editgamedialog.cpp:301 gui/editgamedialog.cpp:398 +#: gui/editgamedialog.cpp:457 gui/editgamedialog.cpp:518 gui/options.cpp:1291 +#: gui/options.cpp:1299 gui/options.cpp:1308 gui/options.cpp:1488 +#: gui/options.cpp:1494 gui/options.cpp:1502 gui/options.cpp:1525 +#: gui/options.cpp:1554 gui/options.cpp:1560 gui/options.cpp:1567 +#: gui/options.cpp:1575 gui/options.cpp:1758 gui/options.cpp:1761 +#: gui/options.cpp:1768 gui/options.cpp:1778 msgctxt "path" msgid "None" msgstr "Geen" -#: gui/editgamedialog.cpp:306 gui/editgamedialog.cpp:406 -#: gui/editgamedialog.cpp:524 gui/options.cpp:1408 gui/options.cpp:1461 -#: gui/options.cpp:1646 backends/platform/wii/options.cpp:56 +#: gui/editgamedialog.cpp:306 gui/editgamedialog.cpp:404 +#: gui/editgamedialog.cpp:522 gui/options.cpp:1482 gui/options.cpp:1548 +#: gui/options.cpp:1764 backends/platform/wii/options.cpp:56 msgid "Default" msgstr "Standaard" -#: gui/editgamedialog.cpp:452 gui/options.cpp:1654 +#: gui/editgamedialog.cpp:450 gui/options.cpp:1772 msgid "Select SoundFont" msgstr "Selecteer SoundFont" -#: gui/editgamedialog.cpp:491 +#: gui/editgamedialog.cpp:489 msgid "Select additional game directory" msgstr "Selecteer additionele speldatamap" -#: gui/editgamedialog.cpp:504 gui/options.cpp:1577 +#: gui/editgamedialog.cpp:502 gui/options.cpp:1695 msgid "Select directory for saved games" msgstr "Selecteer map voor opgeslagen spellen" -#: gui/editgamedialog.cpp:510 +#: gui/editgamedialog.cpp:508 msgid "" "Saved games sync feature doesn't work with non-default directories. If you " "want your saved games to sync, use default directory." @@ -418,7 +419,7 @@ msgstr "" "mappen. Als u de opgeslagen spellen wilt synchroniseren, gebruik dan de " "standaard map." -#: gui/editgamedialog.cpp:536 +#: gui/editgamedialog.cpp:534 msgid "This game ID is already taken. Please choose another one." msgstr "Dit spel-ID is al in gebruik. Kies a.u.b. een andere." @@ -498,7 +499,7 @@ msgstr "Sinus" msgid "Triangle" msgstr "Driehoek" -#: gui/fluidsynth-dialog.cpp:138 gui/options.cpp:1221 +#: gui/fluidsynth-dialog.cpp:138 gui/options.cpp:1316 msgid "Misc" msgstr "Misc" @@ -548,15 +549,15 @@ msgstr "Sluiten" msgid "Mouse click" msgstr "Muisklik" -#: gui/gui-manager.cpp:126 base/main.cpp:337 +#: gui/gui-manager.cpp:126 base/main.cpp:340 msgid "Display keyboard" msgstr "Toon toetsenbord" -#: gui/gui-manager.cpp:130 base/main.cpp:341 +#: gui/gui-manager.cpp:130 base/main.cpp:344 msgid "Remap keys" msgstr "Toetsen opnieuw koppelen" -#: gui/gui-manager.cpp:133 base/main.cpp:344 engines/scumm/help.cpp:87 +#: gui/gui-manager.cpp:133 base/main.cpp:347 engines/scumm/help.cpp:87 msgid "Toggle fullscreen" msgstr "Volledig scherm in-/uitschakelen" @@ -590,112 +591,112 @@ msgstr "Druk op de te associėren toets" msgid "Choose an action to map" msgstr "Selecteer een actie om te koppelen" -#: gui/launcher.cpp:117 engines/dialogs.cpp:111 engines/mohawk/dialogs.cpp:98 +#: gui/launcher.cpp:141 engines/dialogs.cpp:111 engines/mohawk/dialogs.cpp:98 msgid "~Q~uit" msgstr "~S~toppen" -#: gui/launcher.cpp:117 backends/platform/sdl/macosx/appmenu_osx.mm:106 +#: gui/launcher.cpp:141 backends/platform/sdl/macosx/appmenu_osx.mm:106 msgid "Quit ScummVM" msgstr "Hiermee verlaat u ScummVM." -#: gui/launcher.cpp:118 +#: gui/launcher.cpp:142 msgid "A~b~out..." msgstr "O~v~er..." -#: gui/launcher.cpp:118 backends/platform/sdl/macosx/appmenu_osx.mm:80 +#: gui/launcher.cpp:142 backends/platform/sdl/macosx/appmenu_osx.mm:80 msgid "About ScummVM" msgstr "Geeft informatie over ScummVM." -#: gui/launcher.cpp:119 +#: gui/launcher.cpp:143 msgid "~O~ptions..." msgstr "~O~pties..." -#: gui/launcher.cpp:119 +#: gui/launcher.cpp:143 msgid "Change global ScummVM options" msgstr "Algemene ScummVM opties" -#: gui/launcher.cpp:121 +#: gui/launcher.cpp:145 msgid "~S~tart" msgstr "~S~tarten" -#: gui/launcher.cpp:121 +#: gui/launcher.cpp:145 msgid "Start selected game" msgstr "Start het geselecteerde spel." -#: gui/launcher.cpp:124 +#: gui/launcher.cpp:148 msgid "~L~oad..." msgstr "~L~aad Spel..." -#: gui/launcher.cpp:124 +#: gui/launcher.cpp:148 msgid "Load saved game for selected game" msgstr "Laad een eerder opgeslagen spel voor het geselecteerde spel." -#: gui/launcher.cpp:129 +#: gui/launcher.cpp:153 msgid "~A~dd Game..." msgstr "Spel ~T~oevoegen..." -#: gui/launcher.cpp:129 gui/launcher.cpp:136 +#: gui/launcher.cpp:153 gui/launcher.cpp:160 msgid "Hold Shift for Mass Add" msgstr "" "Houd Shift ingedrukt voor het toevoegen van grote hoeveelheden spellen." -#: gui/launcher.cpp:131 +#: gui/launcher.cpp:155 msgid "~E~dit Game..." msgstr "Spel ~B~ewerken..." -#: gui/launcher.cpp:131 gui/launcher.cpp:138 +#: gui/launcher.cpp:155 gui/launcher.cpp:162 msgid "Change game options" msgstr "Verander spel opties" -#: gui/launcher.cpp:133 +#: gui/launcher.cpp:157 msgid "~R~emove Game" msgstr "Spel ~V~erwijderen" -#: gui/launcher.cpp:133 gui/launcher.cpp:140 +#: gui/launcher.cpp:157 gui/launcher.cpp:164 msgid "Remove game from the list. The game data files stay intact" msgstr "" "Verwijder dit spel uit de lijst. De spel data bestanden blijven intact." -#: gui/launcher.cpp:136 +#: gui/launcher.cpp:160 msgctxt "lowres" msgid "~A~dd Game..." msgstr "~T~oevoegen..." -#: gui/launcher.cpp:138 +#: gui/launcher.cpp:162 msgctxt "lowres" msgid "~E~dit Game..." msgstr "~B~ewerken..." -#: gui/launcher.cpp:140 +#: gui/launcher.cpp:164 msgctxt "lowres" msgid "~R~emove Game" msgstr "~V~erwijderen" -#: gui/launcher.cpp:148 +#: gui/launcher.cpp:172 msgid "Search in game list" msgstr "Zoek in lijst met spellen" -#: gui/launcher.cpp:152 gui/launcher.cpp:750 +#: gui/launcher.cpp:176 gui/launcher.cpp:771 msgid "Search:" msgstr "Zoeken:" -#: gui/launcher.cpp:176 engines/dialogs.cpp:115 engines/cruise/menu.cpp:214 -#: engines/mohawk/dialogs.cpp:103 engines/mohawk/riven.cpp:733 +#: gui/launcher.cpp:200 engines/dialogs.cpp:115 engines/cruise/menu.cpp:214 +#: engines/mohawk/dialogs.cpp:103 engines/mohawk/riven.cpp:734 #: engines/pegasus/pegasus.cpp:353 engines/tsage/scenes.cpp:601 msgid "Load game:" msgstr "Laad spel:" -#: gui/launcher.cpp:176 engines/dialogs.cpp:115 +#: gui/launcher.cpp:200 engines/dialogs.cpp:115 #: backends/platform/wince/CEActionsPocket.cpp:267 #: backends/platform/wince/CEActionsSmartphone.cpp:231 #: engines/cruise/menu.cpp:214 engines/mohawk/dialogs.cpp:103 -#: engines/mohawk/riven.cpp:733 engines/parallaction/saveload.cpp:194 +#: engines/mohawk/riven.cpp:734 engines/parallaction/saveload.cpp:194 #: engines/pegasus/pegasus.cpp:353 engines/scumm/dialogs.cpp:185 #: engines/tsage/scenes.cpp:601 msgid "Load" msgstr "Laden" -#: gui/launcher.cpp:285 +#: gui/launcher.cpp:306 msgid "" "Do you really want to run the mass game detector? This could potentially add " "a huge number of games." @@ -703,41 +704,41 @@ msgstr "" "Wilt u echt de mass game detector draaien? Dit voegt potentieel een groot " "aantal spellen toe." -#: gui/launcher.cpp:344 +#: gui/launcher.cpp:365 msgid "This directory cannot be used yet, it is being downloaded into!" msgstr "Deze map kan nog niet gebruikt worden, er wordt al in gedownload!" -#: gui/launcher.cpp:394 +#: gui/launcher.cpp:415 msgid "Do you really want to remove this game configuration?" msgstr "Wilt u echt deze spelconfiguratie verwijderen?" -#: gui/launcher.cpp:452 +#: gui/launcher.cpp:473 msgid "Do you want to load saved game?" msgstr "Wilt u het opgeslagen spel laden?" -#: gui/launcher.cpp:501 +#: gui/launcher.cpp:522 msgid "This game does not support loading games from the launcher." msgstr "Dit spel ondersteunt het laden van spelen vanaf het startmenu niet." -#: gui/launcher.cpp:505 +#: gui/launcher.cpp:526 msgid "ScummVM could not find any engine capable of running the selected game!" msgstr "" "ScummVM heeft geen engine gevonden die in staat was het geselecteerde spel " "te spelen!" -#: gui/launcher.cpp:556 +#: gui/launcher.cpp:577 msgid "ScummVM could not find any game in the specified directory!" msgstr "ScummVM kon geen enkel spel vinden in de opgegeven map!" -#: gui/launcher.cpp:569 +#: gui/launcher.cpp:590 msgid "Pick the game:" msgstr "Kies het spel:" -#: gui/launcher.cpp:687 +#: gui/launcher.cpp:708 msgid "Mass Add..." msgstr "Mass Add..." -#: gui/launcher.cpp:689 +#: gui/launcher.cpp:710 msgid "Record..." msgstr "Opnemen..." @@ -784,146 +785,144 @@ msgstr "Schakel naar Spel" msgid "Fast replay" msgstr "Snelle herhaling" -#: gui/options.cpp:112 common/updates.cpp:56 +#: gui/options.cpp:119 common/updates.cpp:56 msgid "Never" msgstr "Nooit" -#: gui/options.cpp:112 +#: gui/options.cpp:119 msgid "every 5 mins" msgstr "elke 5 minuten" -#: gui/options.cpp:112 +#: gui/options.cpp:119 msgid "every 10 mins" msgstr "elke 10 minuten" -#: gui/options.cpp:112 +#: gui/options.cpp:119 msgid "every 15 mins" msgstr "elke 15 minuten" -#: gui/options.cpp:112 +#: gui/options.cpp:119 msgid "every 30 mins" msgstr "elke 30 minuten" -#: gui/options.cpp:114 +#: gui/options.cpp:121 msgid "8 kHz" msgstr "8 kHz" -#: gui/options.cpp:114 +#: gui/options.cpp:121 msgid "11 kHz" msgstr "11 kHz" -#: gui/options.cpp:114 +#: gui/options.cpp:121 msgid "22 kHz" msgstr "22 kHz" -#: gui/options.cpp:114 +#: gui/options.cpp:121 msgid "44 kHz" msgstr "44 kHz" -#: gui/options.cpp:114 +#: gui/options.cpp:121 msgid "48 kHz" msgstr "48 kHz" -#: gui/options.cpp:291 gui/options.cpp:528 gui/options.cpp:629 -#: gui/options.cpp:699 gui/options.cpp:910 +#: gui/options.cpp:289 gui/options.cpp:552 gui/options.cpp:657 +#: gui/options.cpp:726 gui/options.cpp:937 msgctxt "soundfont" msgid "None" msgstr "Geen" -#: gui/options.cpp:432 +#: gui/options.cpp:456 msgid "Failed to apply some of the graphic options changes:" msgstr "Sommige grafische opties konden niet worden toegepast:" -#: gui/options.cpp:444 +#: gui/options.cpp:468 msgid "the video mode could not be changed." msgstr "de videomodus kon niet veranderd worden." -#: gui/options.cpp:450 +#: gui/options.cpp:474 msgid "the aspect ratio setting could not be changed" msgstr "de pixelverhoudinginstelling kon niet veranderd worden" -#: gui/options.cpp:456 +#: gui/options.cpp:480 msgid "the fullscreen setting could not be changed" msgstr "de volledig-scherminstelling kon niet veranderd worden" -#: gui/options.cpp:462 -#, fuzzy +#: gui/options.cpp:486 msgid "the filtering setting could not be changed" -msgstr "de volledig-scherminstelling kon niet veranderd worden" +msgstr "de filterinstelling kon niet veranderd worden" -#: gui/options.cpp:782 +#: gui/options.cpp:809 msgid "Graphics mode:" msgstr "Grafische modus:" -#: gui/options.cpp:796 +#: gui/options.cpp:823 msgid "Render mode:" msgstr "Render modus:" -#: gui/options.cpp:796 gui/options.cpp:797 +#: gui/options.cpp:823 gui/options.cpp:824 msgid "Special dithering modes supported by some games" msgstr "Speciale ditheringmodi die door sommige games ondersteund worden." -#: gui/options.cpp:808 -#: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:2450 +#: gui/options.cpp:835 backends/graphics/openglsdl/openglsdl-graphics.cpp:615 +#: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:2460 msgid "Fullscreen mode" msgstr "Volledig-scherm modus" -#: gui/options.cpp:811 -#, fuzzy +#: gui/options.cpp:838 msgid "Filter graphics" -msgstr "Gebruik kleurenafbeeldingen" +msgstr "Filter afbeeldingen" -#: gui/options.cpp:811 +#: gui/options.cpp:838 msgid "Use linear filtering when scaling graphics" -msgstr "" +msgstr "Gebruik lineair filteren tijdens het schalen van afbeeldingen" -#: gui/options.cpp:814 +#: gui/options.cpp:841 msgid "Aspect ratio correction" msgstr "Pixelverhoudingcorrectie" -#: gui/options.cpp:814 +#: gui/options.cpp:841 msgid "Correct aspect ratio for 320x200 games" msgstr "Corrigeer de pixelverhouding voor 320x200 spellen." -#: gui/options.cpp:822 +#: gui/options.cpp:849 msgid "Preferred Device:" msgstr "Voorkeursapparaat:" -#: gui/options.cpp:822 +#: gui/options.cpp:849 msgid "Music Device:" msgstr "Muziekapparaat:" -#: gui/options.cpp:822 gui/options.cpp:824 +#: gui/options.cpp:849 gui/options.cpp:851 msgid "Specifies preferred sound device or sound card emulator" msgstr "Specificeert het voorkeurs geluidsapparaat of geluidskaartemulator" -#: gui/options.cpp:822 gui/options.cpp:824 gui/options.cpp:825 +#: gui/options.cpp:849 gui/options.cpp:851 gui/options.cpp:852 msgid "Specifies output sound device or sound card emulator" msgstr "Specificeert geluidsapparaat of geluidskaartemulator" -#: gui/options.cpp:824 +#: gui/options.cpp:851 msgctxt "lowres" msgid "Preferred Dev.:" msgstr "Voorkeursapparaat:" -#: gui/options.cpp:824 +#: gui/options.cpp:851 msgctxt "lowres" msgid "Music Device:" msgstr "Muziekapparaat:" -#: gui/options.cpp:851 +#: gui/options.cpp:878 msgid "AdLib emulator:" msgstr "AdLib emulator:" -#: gui/options.cpp:851 gui/options.cpp:852 +#: gui/options.cpp:878 gui/options.cpp:879 msgid "AdLib is used for music in many games" msgstr "AdLib word in vele spelen voor muziek gebruikt" -#: gui/options.cpp:862 +#: gui/options.cpp:889 msgid "Output rate:" msgstr "Output snelheid:" -#: gui/options.cpp:862 gui/options.cpp:863 +#: gui/options.cpp:889 gui/options.cpp:890 msgid "" "Higher value specifies better sound quality but may be not supported by your " "soundcard" @@ -931,63 +930,63 @@ msgstr "" "Hogere waarden geven betere geluidskwaliteit maar worden mogelijk niet " "ondersteund door uw geluidskaart." -#: gui/options.cpp:873 +#: gui/options.cpp:900 msgid "GM Device:" msgstr "GM Apparaat:" -#: gui/options.cpp:873 +#: gui/options.cpp:900 msgid "Specifies default sound device for General MIDI output" msgstr "Specificeert het standaard geluidsapparaat voor General MIDI" -#: gui/options.cpp:884 +#: gui/options.cpp:911 msgid "Don't use General MIDI music" msgstr "Geen General MIDI muziek gebruiken" -#: gui/options.cpp:895 gui/options.cpp:957 +#: gui/options.cpp:922 gui/options.cpp:984 msgid "Use first available device" msgstr "Gebruik eerst beschikbare apparaat" -#: gui/options.cpp:907 +#: gui/options.cpp:934 msgid "SoundFont:" msgstr "SoundFont:" -#: gui/options.cpp:907 gui/options.cpp:909 gui/options.cpp:910 +#: gui/options.cpp:934 gui/options.cpp:936 gui/options.cpp:937 msgid "SoundFont is supported by some audio cards, FluidSynth and Timidity" msgstr "" "SoundFont wordt ondersteund door FluidSynth en Timidity en sommige " "geluidskaarten." -#: gui/options.cpp:909 +#: gui/options.cpp:936 msgctxt "lowres" msgid "SoundFont:" msgstr "SoundFont:" -#: gui/options.cpp:915 +#: gui/options.cpp:942 msgid "Mixed AdLib/MIDI mode" msgstr "Gemengde AdLib/MIDI modus" -#: gui/options.cpp:915 +#: gui/options.cpp:942 msgid "Use both MIDI and AdLib sound generation" msgstr "Gebruik zowel MIDI als AdLib geluid" -#: gui/options.cpp:918 +#: gui/options.cpp:945 msgid "MIDI gain:" msgstr "MIDI gain:" -#: gui/options.cpp:928 +#: gui/options.cpp:955 msgid "MT-32 Device:" msgstr "MT-32 Apparaat:" -#: gui/options.cpp:928 +#: gui/options.cpp:955 msgid "Specifies default sound device for Roland MT-32/LAPC1/CM32l/CM64 output" msgstr "" "Specificeert het standaard geluidsapparaat voor Roland MT-32/LAPC1/CM32l/CM64" -#: gui/options.cpp:933 +#: gui/options.cpp:960 msgid "True Roland MT-32 (disable GM emulation)" msgstr "Waarheidsgetrouwe Roland MT-32 (GM emulatie uitschakelen)" -#: gui/options.cpp:933 gui/options.cpp:935 +#: gui/options.cpp:960 gui/options.cpp:962 msgid "" "Check if you want to use your real hardware Roland-compatible sound device " "connected to your computer" @@ -995,16 +994,16 @@ msgstr "" "Selecteer als u een hardware Roland-compatible geluidsapparaat gekoppeld aan " "uw computer wilt gebruiken" -#: gui/options.cpp:935 +#: gui/options.cpp:962 msgctxt "lowres" msgid "True Roland MT-32 (no GM emulation)" msgstr "Echte Roland MT-32 (geen GM emulatie)" -#: gui/options.cpp:938 +#: gui/options.cpp:965 msgid "Roland GS Device (enable MT-32 mappings)" msgstr "Roland GS Device (met MT-32 mappings)" -#: gui/options.cpp:938 +#: gui/options.cpp:965 msgid "" "Check if you want to enable patch mappings to emulate an MT-32 on a Roland " "GS device" @@ -1012,265 +1011,265 @@ msgstr "" "Selecteer dit als u patchmappings wilt om een MT-32 op een Roland GS " "apparaat te emuleren." -#: gui/options.cpp:947 +#: gui/options.cpp:974 msgid "Don't use Roland MT-32 music" msgstr "Geen Roland MT-32 muziek gebruiken" -#: gui/options.cpp:974 +#: gui/options.cpp:1001 msgid "Text and Speech:" msgstr "Spraak en/of tekst:" -#: gui/options.cpp:978 gui/options.cpp:988 +#: gui/options.cpp:1005 gui/options.cpp:1015 msgid "Speech" msgstr "Spraak" -#: gui/options.cpp:979 gui/options.cpp:989 +#: gui/options.cpp:1006 gui/options.cpp:1016 msgid "Subtitles" msgstr "Tekst" -#: gui/options.cpp:980 +#: gui/options.cpp:1007 msgid "Both" msgstr "Beide" -#: gui/options.cpp:982 +#: gui/options.cpp:1009 msgid "Subtitle speed:" msgstr "Snelheid tekst:" -#: gui/options.cpp:984 +#: gui/options.cpp:1011 msgctxt "lowres" msgid "Text and Speech:" msgstr "Spraak en/of text:" -#: gui/options.cpp:988 +#: gui/options.cpp:1015 msgid "Spch" msgstr "Sprk" -#: gui/options.cpp:989 +#: gui/options.cpp:1016 msgid "Subs" msgstr "Text" -#: gui/options.cpp:990 +#: gui/options.cpp:1017 msgctxt "lowres" msgid "Both" msgstr "Beide" -#: gui/options.cpp:990 +#: gui/options.cpp:1017 msgid "Show subtitles and play speech" msgstr "Toon tekst en speel spraak af" -#: gui/options.cpp:992 +#: gui/options.cpp:1019 msgctxt "lowres" msgid "Subtitle speed:" msgstr "Snelheid text:" -#: gui/options.cpp:1008 +#: gui/options.cpp:1035 msgid "Music volume:" msgstr "Muziek volume:" -#: gui/options.cpp:1010 +#: gui/options.cpp:1037 msgctxt "lowres" msgid "Music volume:" msgstr "Muziek volume:" -#: gui/options.cpp:1017 +#: gui/options.cpp:1044 msgid "Mute All" msgstr "Alles Dempen" -#: gui/options.cpp:1020 +#: gui/options.cpp:1047 msgid "SFX volume:" msgstr "SFX volume:" -#: gui/options.cpp:1020 gui/options.cpp:1022 gui/options.cpp:1023 +#: gui/options.cpp:1047 gui/options.cpp:1049 gui/options.cpp:1050 msgid "Special sound effects volume" msgstr "Volume voor speciale geluidseffecten" -#: gui/options.cpp:1022 +#: gui/options.cpp:1049 msgctxt "lowres" msgid "SFX volume:" msgstr "SFX volume:" -#: gui/options.cpp:1030 +#: gui/options.cpp:1057 msgid "Speech volume:" msgstr "Spraak volume:" -#: gui/options.cpp:1032 +#: gui/options.cpp:1059 msgctxt "lowres" msgid "Speech volume:" msgstr "Spraak volume:" -#: gui/options.cpp:1162 +#: gui/options.cpp:1257 msgid "FluidSynth Settings" msgstr "FluidSynth Instellingen" -#: gui/options.cpp:1193 +#: gui/options.cpp:1288 msgid "Theme Path:" msgstr "Thema Pad:" -#: gui/options.cpp:1195 +#: gui/options.cpp:1290 msgctxt "lowres" msgid "Theme Path:" msgstr "Thema Pad:" -#: gui/options.cpp:1201 gui/options.cpp:1203 gui/options.cpp:1204 +#: gui/options.cpp:1296 gui/options.cpp:1298 gui/options.cpp:1299 msgid "Specifies path to additional data used by all games or ScummVM" msgstr "" "Specificeert het pad for aanvullende data voor ScummVM zelf of de spellen." -#: gui/options.cpp:1210 +#: gui/options.cpp:1305 msgid "Plugins Path:" msgstr "Plugins Pad:" -#: gui/options.cpp:1212 +#: gui/options.cpp:1307 msgctxt "lowres" msgid "Plugins Path:" msgstr "Plugins Pad:" -#: gui/options.cpp:1223 +#: gui/options.cpp:1318 msgctxt "lowres" msgid "Misc" msgstr "Misc" -#: gui/options.cpp:1225 +#: gui/options.cpp:1320 msgid "Theme:" msgstr "Thema:" -#: gui/options.cpp:1229 +#: gui/options.cpp:1324 msgid "GUI Renderer:" msgstr "GUI Renderer:" -#: gui/options.cpp:1241 +#: gui/options.cpp:1336 msgid "Autosave:" msgstr "Autosave:" -#: gui/options.cpp:1243 +#: gui/options.cpp:1338 msgctxt "lowres" msgid "Autosave:" msgstr "Autosave:" -#: gui/options.cpp:1251 +#: gui/options.cpp:1346 msgid "Keys" msgstr "Toetsen" -#: gui/options.cpp:1258 +#: gui/options.cpp:1353 msgid "GUI Language:" msgstr "GUI Taal:" -#: gui/options.cpp:1258 +#: gui/options.cpp:1353 msgid "Language of ScummVM GUI" msgstr "Taal van de ScummVM GUI" -#: gui/options.cpp:1286 +#: gui/options.cpp:1381 msgid "Update check:" msgstr "Update controle:" -#: gui/options.cpp:1286 +#: gui/options.cpp:1381 msgid "How often to check ScummVM updates" msgstr "Hoe vaak checken op ScummVM updates" -#: gui/options.cpp:1298 +#: gui/options.cpp:1393 msgid "Check now" msgstr "Controleer nu" -#: gui/options.cpp:1306 +#: gui/options.cpp:1401 msgid "Cloud" msgstr "Cloud" -#: gui/options.cpp:1308 +#: gui/options.cpp:1403 msgctxt "lowres" msgid "Cloud" msgstr "Cloud" -#: gui/options.cpp:1319 +#: gui/options.cpp:1408 msgid "Storage:" msgstr "Opslag:" -#: gui/options.cpp:1319 +#: gui/options.cpp:1408 msgid "Active cloud storage" msgstr "Actieve cloud opslag" -#: gui/options.cpp:1326 gui/options.cpp:1877 +#: gui/options.cpp:1415 gui/options.cpp:1972 msgid "<none>" msgstr "<geen>" -#: gui/options.cpp:1330 backends/platform/wii/options.cpp:114 +#: gui/options.cpp:1419 backends/platform/wii/options.cpp:114 msgid "Username:" msgstr "Gebruikersnaam:" -#: gui/options.cpp:1330 +#: gui/options.cpp:1419 msgid "Username used by this storage" msgstr "Gebruikersnaam gebruikt voor deze opslag" -#: gui/options.cpp:1333 +#: gui/options.cpp:1422 msgid "Used space:" msgstr "Gebruikte ruimte:" -#: gui/options.cpp:1333 +#: gui/options.cpp:1422 msgid "Space used by ScummVM's saved games on this storage" msgstr "Ruimte in gebruikt door ScummVM's opgeslagen spellen op deze opslag" -#: gui/options.cpp:1336 +#: gui/options.cpp:1425 msgid "Last sync time:" msgstr "Laatste synchronisatie:" -#: gui/options.cpp:1336 +#: gui/options.cpp:1425 msgid "When the last saved games sync for this storage occured" msgstr "Wanneer de laatste synchronisatie voor deze opslag is geweest." -#: gui/options.cpp:1339 gui/storagewizarddialog.cpp:71 +#: gui/options.cpp:1428 gui/storagewizarddialog.cpp:71 msgid "Connect" msgstr "Verbinden" -#: gui/options.cpp:1339 +#: gui/options.cpp:1428 msgid "Open wizard dialog to connect your cloud storage account" msgstr "" "Open de Wizard dialoogvenster voor verbinden met uw cloud opslag account" -#: gui/options.cpp:1340 +#: gui/options.cpp:1429 msgid "Refresh" msgstr "Ververs" -#: gui/options.cpp:1340 +#: gui/options.cpp:1429 msgid "Refresh current cloud storage information (username and usage)" msgstr "Ververs de huidige opslag informatie (gebruikersnaam en gebruik)" -#: gui/options.cpp:1341 +#: gui/options.cpp:1430 msgid "Download" msgstr "Download" -#: gui/options.cpp:1341 +#: gui/options.cpp:1430 msgid "Open downloads manager dialog" msgstr "Open downloads manager dialoogvenster" -#: gui/options.cpp:1343 +#: gui/options.cpp:1432 msgid "Run server" msgstr "Start server" -#: gui/options.cpp:1343 +#: gui/options.cpp:1432 msgid "Run local webserver" msgstr "Draai lokale webserver" -#: gui/options.cpp:1344 gui/options.cpp:1987 +#: gui/options.cpp:1433 gui/options.cpp:2082 msgid "Not running" msgstr "Draait niet" -#: gui/options.cpp:1348 +#: gui/options.cpp:1437 msgid "/root/ Path:" msgstr "/root/ Pad:" -#: gui/options.cpp:1348 gui/options.cpp:1350 gui/options.cpp:1351 +#: gui/options.cpp:1437 gui/options.cpp:1439 gui/options.cpp:1440 msgid "Specifies which directory the Files Manager can access" msgstr "Bepaalt welke map de Bestanden Manager gebruiken mag" -#: gui/options.cpp:1350 +#: gui/options.cpp:1439 msgctxt "lowres" msgid "/root/ Path:" msgstr "/root/ Pad:" -#: gui/options.cpp:1360 +#: gui/options.cpp:1449 msgid "Server's port:" msgstr "Serverport:" -#: gui/options.cpp:1360 +#: gui/options.cpp:1449 msgid "" "Which port is used by the server\n" "Auth with server is not available with non-default port" @@ -1278,69 +1277,69 @@ msgstr "" "Welke port is gebruikt voor de server\n" "Auth met server is niet beschikbaar met een niet standaard port" -#: gui/options.cpp:1520 -msgid "You have to restart ScummVM before your changes will take effect." -msgstr "U dient ScummVM opnieuw op te starten om de wijzigingen te activeren." +#: gui/options.cpp:1462 +msgid "Apply" +msgstr "" -#: gui/options.cpp:1543 +#: gui/options.cpp:1628 msgid "Failed to change cloud storage!" msgstr "Veranderen van cloud opslag mislukt!" -#: gui/options.cpp:1546 +#: gui/options.cpp:1631 msgid "Another cloud storage is already active." msgstr "Er is al een andere cloud opslag actief." -#: gui/options.cpp:1584 +#: gui/options.cpp:1667 +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 "" +"Het thema dat u heeft geselecteerd ondersteunt uw gekozen taal niet. Als u " +"dit thema wilt gebruiken dient u eerst een andere taal te selecteren." + +#: gui/options.cpp:1702 msgid "The chosen directory cannot be written to. Please select another one." msgstr "" "Er kan niet worden geschreven in de gekozen map. Selecteer a.u.b. een andere." -#: gui/options.cpp:1593 +#: gui/options.cpp:1711 msgid "Select directory for GUI themes" msgstr "Selecteer map voor GUI themas" -#: gui/options.cpp:1603 +#: gui/options.cpp:1721 msgid "Select directory for extra files" msgstr "Selecteer map voor extra bestanden" -#: gui/options.cpp:1614 +#: gui/options.cpp:1732 msgid "Select directory for plugins" msgstr "Selecteer map voor plugins" -#: gui/options.cpp:1626 +#: gui/options.cpp:1744 msgid "Select directory for Files Manager /root/" msgstr "Selecteer map voor Bestanden Manager /root/" -#: gui/options.cpp:1688 -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 "" -"De thema die u heeft geselecteerd ondersteund uw gekozen taal niet. Als u " -"dit thema wilt gebruiken dient u eerst een andere taal te selecteren." - -#: gui/options.cpp:1884 +#: gui/options.cpp:1979 #, c-format msgid "%llu bytes" msgstr "%llu bytes" -#: gui/options.cpp:1892 +#: gui/options.cpp:1987 msgid "<right now>" msgstr "<nu>" -#: gui/options.cpp:1894 +#: gui/options.cpp:1989 msgid "<never>" msgstr "<nooit>" -#: gui/options.cpp:1978 +#: gui/options.cpp:2073 msgid "Stop server" msgstr "Stop server" -#: gui/options.cpp:1979 +#: gui/options.cpp:2074 msgid "Stop local webserver" msgstr "Stop lokale webserver" -#: gui/options.cpp:2068 +#: gui/options.cpp:2163 msgid "" "Request failed.\n" "Check your Internet connection." @@ -1591,7 +1590,7 @@ msgid "" "\n" "Would you like to enable this feature?" msgstr "" -"ScummVM ondersteund nu automatische updates.\n" +"ScummVM ondersteunt nu automatische updates.\n" "Hiervoor is wel internet toegang nodig.\n" "\n" "Wilt u deze functie inschakelen?" @@ -1612,35 +1611,35 @@ msgstr "Ga verder" msgid "Clear value" msgstr "Veld leegmaken" -#: base/main.cpp:250 +#: base/main.cpp:253 #, c-format msgid "Engine does not support debug level '%s'" msgstr "Engine ondersteunt debug level '%s' niet" -#: base/main.cpp:324 +#: base/main.cpp:327 msgid "Menu" msgstr "Menu" -#: base/main.cpp:327 backends/platform/symbian/src/SymbianActions.cpp:45 +#: base/main.cpp:330 backends/platform/symbian/src/SymbianActions.cpp:45 #: backends/platform/wince/CEActionsPocket.cpp:45 #: backends/platform/wince/CEActionsSmartphone.cpp:46 msgid "Skip" msgstr "Overslaan" -#: base/main.cpp:330 backends/platform/symbian/src/SymbianActions.cpp:50 +#: base/main.cpp:333 backends/platform/symbian/src/SymbianActions.cpp:50 #: backends/platform/wince/CEActionsPocket.cpp:42 msgid "Pause" msgstr "Pauze" -#: base/main.cpp:333 +#: base/main.cpp:336 msgid "Skip line" msgstr "Regel overslaan" -#: base/main.cpp:542 +#: base/main.cpp:547 msgid "Error running game:" msgstr "Fout tijdens het starten van spel:" -#: base/main.cpp:589 +#: base/main.cpp:594 msgid "Could not find any engine capable of running the selected game" msgstr "" "Kon geen engine vinden die in staat was het geselecteerde spel te spelen" @@ -1882,9 +1881,8 @@ msgid "Could not apply fullscreen setting." msgstr "Kon volledig-scherminstelling niet toepassen." #: engines/engine.cpp:373 -#, fuzzy msgid "Could not apply filtering setting." -msgstr "Kon volledig-scherminstelling niet toepassen." +msgstr "Filterinstelling kon niet toegepast worden." #: engines/engine.cpp:473 msgid "" @@ -2019,11 +2017,11 @@ msgstr "FM-Towns Geluid" msgid "PC-98 Audio" msgstr "PC-98 Geluid" -#: audio/softsynth/mt32.cpp:196 +#: audio/softsynth/mt32.cpp:197 msgid "Initializing MT-32 Emulator" msgstr "MT-32 Emulator initialiseren" -#: audio/softsynth/mt32.cpp:434 +#: audio/softsynth/mt32.cpp:435 msgid "MT-32 Emulator" msgstr "MT-32 Emulator" @@ -2039,15 +2037,15 @@ msgstr "IBM PCjr Emulator" msgid "C64 Audio Emulator" msgstr "C64 Audio Emulator" -#: backends/cloud/storage.cpp:210 +#: backends/cloud/storage.cpp:211 msgid "Saved games sync complete." msgstr "Klaar met synchronisatie van opgeslagen spellen." -#: backends/cloud/storage.cpp:221 +#: backends/cloud/storage.cpp:222 msgid "Saved games sync was cancelled." msgstr "Synchronisatie van opgeslagen spellen was geannuleerd." -#: backends/cloud/storage.cpp:223 +#: backends/cloud/storage.cpp:224 msgid "" "Saved games sync failed.\n" "Check your Internet connection." @@ -2055,7 +2053,7 @@ msgstr "" "Synchronisatie van opgeslagen spellen is mislukt.\n" "Controleer a.u.b. uw Internet verbinding." -#: backends/cloud/storage.cpp:327 +#: backends/cloud/storage.cpp:328 #, c-format msgid "" "Download complete.\n" @@ -2064,11 +2062,11 @@ msgstr "" "Download klaar.\n" "%u bestanden konden niet gedownload worden." -#: backends/cloud/storage.cpp:329 +#: backends/cloud/storage.cpp:330 msgid "Download complete." msgstr "Download klaar." -#: backends/cloud/storage.cpp:339 +#: backends/cloud/storage.cpp:340 msgid "Download failed." msgstr "Download mislukt." @@ -2177,43 +2175,51 @@ msgstr "Swipe drie vingers naar rechts om te schakelen." msgid "OpenGL" msgstr "OpenGL" -#: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:47 -#: backends/graphics/wincesdl/wincesdl-graphics.cpp:88 -#: backends/graphics/wincesdl/wincesdl-graphics.cpp:95 -msgid "Normal (no scaling)" -msgstr "Normaal (niet schalen)" +#: backends/graphics/openglsdl/openglsdl-graphics.cpp:617 +#: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:2462 +msgid "Windowed mode" +msgstr "Venstermodus" -#: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:66 -msgctxt "lowres" -msgid "Normal (no scaling)" -msgstr "Normaal (niet schalen)" +#: backends/graphics/openglsdl/openglsdl-graphics.cpp:710 +#, c-format +msgid "Resolution: %dx%d" +msgstr "" -#: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:2329 +#: backends/graphics/openglsdl/openglsdl-graphics.cpp:731 +#: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:2338 msgid "Enabled aspect ratio correction" msgstr "Pixelverhoudingcorrectie ingeschakeld" -#: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:2335 +#: backends/graphics/openglsdl/openglsdl-graphics.cpp:733 +#: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:2344 msgid "Disabled aspect ratio correction" msgstr "Pixelverhoudingcorrectie uitgeschakeld" -#: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:2353 -#, fuzzy +#: backends/graphics/openglsdl/openglsdl-graphics.cpp:753 +#: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:2362 msgid "Filtering enabled" -msgstr "Klikken Aangezet" +msgstr "Filteren aangezet" -#: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:2355 -#, fuzzy +#: backends/graphics/openglsdl/openglsdl-graphics.cpp:755 +#: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:2364 msgid "Filtering disabled" -msgstr "Klikken Uitgeschakeld" +msgstr "Filteren uitgeschakeld" + +#: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:47 +#: backends/graphics/wincesdl/wincesdl-graphics.cpp:88 +#: backends/graphics/wincesdl/wincesdl-graphics.cpp:95 +msgid "Normal (no scaling)" +msgstr "Normaal (niet schalen)" + +#: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:66 +msgctxt "lowres" +msgid "Normal (no scaling)" +msgstr "Normaal (niet schalen)" -#: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:2407 +#: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:2417 msgid "Active graphics filter:" msgstr "Actieve grafische filter:" -#: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:2452 -msgid "Windowed mode" -msgstr "Venstermodus" - #: backends/keymapper/remap-dialog.cpp:48 msgid "Keymap:" msgstr "Toetskoppeling:" @@ -3058,7 +3064,7 @@ msgstr "" "Het lijkt erop dat u een General MIDI apparaat gebruikt,\n" "maar het spel ondersteunt alleen Roland MT32 MIDI.\n" "We zullen proberen te Roland MT32 instrumenten te vertalen naar General MIDI " -"instrumenten. Het is mogelijk dat somige tracks niet goed klinken." +"instrumenten. Het is mogelijk dat sommige tracks niet goed klinken." #: engines/kyra/saveload_eob.cpp:557 #, c-format @@ -3137,6 +3143,39 @@ msgstr "~H~oofdmenu" msgid "~W~ater Effect Enabled" msgstr "~W~ater Effect Aangezet" +#: engines/mohawk/riven.cpp:150 +msgid "" +"You're missing a Riven executable. The Windows executable is 'riven.exe' or " +"'rivendmo.exe'. " +msgstr "" + +#: engines/mohawk/riven.cpp:151 +msgid "" +"Using the 'arcriven.z' installer file also works. In addition, you can use " +"the Mac 'Riven' executable." +msgstr "" + +#: engines/mohawk/riven.cpp:162 +msgid "" +"You're missing 'extras.mhk'. Using the 'arcriven.z' installer file also " +"works." +msgstr "" + +#: engines/mohawk/riven_external.cpp:213 +msgid "" +"Exploration beyond this point available only within the full version of\n" +"the game." +msgstr "" + +#: engines/mohawk/riven_external.cpp:655 +msgid "" +"At this point, the Riven Demo would\n" +"ask if you would like to open a web browser\n" +"to bring you to the Red Orb store to buy\n" +"the game. ScummVM cannot do that and\n" +"the site no longer exists." +msgstr "" + #: engines/mohawk/mohawk.cpp:61 msgid "The game is paused. Press any key to continue." msgstr "Spel is gepauzeerd. Druk op een toets om verder te gaan." @@ -4274,9 +4313,6 @@ msgstr "" "Gebruik de MPEG video van de DVD versie, in plaats van de lagere resolutie " "AVI" -#~ msgid "OpenGL (No filtering)" -#~ msgstr "OpenGL (geen filters)" - -#, fuzzy -#~ msgid "Specifies where Files Manager can access to" -#~ msgstr "Bepaalt waar opgeslagen spellen worden bewaard." +#~ msgid "You have to restart ScummVM before your changes will take effect." +#~ msgstr "" +#~ "U dient ScummVM opnieuw op te starten om de wijzigingen te activeren." diff --git a/po/nn_NO.po b/po/nn_NO.po index 9b64e2dbdc..43eec94064 100644 --- a/po/nn_NO.po +++ b/po/nn_NO.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: ScummVM 1.3.0svn\n" "Report-Msgid-Bugs-To: scummvm-devel@lists.scummvm.org\n" -"POT-Creation-Date: 2016-10-12 23:37+0100\n" +"POT-Creation-Date: 2016-11-05 12:43+0100\n" "PO-Revision-Date: 2016-02-26 00:37+0100\n" "Last-Translator: Einar Johan TrĆøan SĆømĆ„en <einarjohants@gmail.com>\n" "Language-Team: somaen <einarjohants@gmail.com>\n" @@ -18,6 +18,7 @@ msgstr "" "X-Poedit-SourceCharset: iso-8859-1\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: Poedit 1.8.7\n" +"X-Language-name: Norsk (nynorsk)\n" #: gui/about.cpp:94 #, c-format @@ -57,7 +58,7 @@ msgstr "Oppover" #: gui/browser.cpp:75 gui/chooser.cpp:46 gui/editgamedialog.cpp:292 #: gui/editrecorddialog.cpp:67 gui/filebrowser-dialog.cpp:64 #: gui/fluidsynth-dialog.cpp:152 gui/KeysDialog.cpp:43 gui/massadd.cpp:95 -#: gui/options.cpp:1376 gui/predictivedialog.cpp:73 gui/recorderdialog.cpp:69 +#: gui/options.cpp:1461 gui/predictivedialog.cpp:73 gui/recorderdialog.cpp:69 #: gui/recorderdialog.cpp:155 gui/remotebrowser.cpp:59 #: gui/saveload-dialog.cpp:383 gui/saveload-dialog.cpp:443 #: gui/saveload-dialog.cpp:717 gui/saveload-dialog.cpp:1111 @@ -82,7 +83,7 @@ msgstr "Vel" msgid "Select directory where to download game data" msgstr "Vel mappe med speldata" -#: gui/downloaddialog.cpp:49 gui/editgamedialog.cpp:472 gui/launcher.cpp:173 +#: gui/downloaddialog.cpp:49 gui/editgamedialog.cpp:470 gui/launcher.cpp:197 msgid "Select directory with game data" msgstr "Vel mappe med speldata" @@ -115,7 +116,7 @@ msgstr "" #: gui/downloaddialog.cpp:118 gui/downloaddialog.cpp:152 #: gui/filebrowser-dialog.cpp:132 gui/fluidsynth-dialog.cpp:217 -#: gui/launcher.cpp:286 gui/launcher.cpp:394 gui/launcher.cpp:453 +#: gui/launcher.cpp:307 gui/launcher.cpp:415 gui/launcher.cpp:474 #: gui/storagewizarddialog.cpp:112 #: backends/events/symbiansdl/symbiansdl-events.cpp:186 #: backends/platform/wince/CEActionsPocket.cpp:326 @@ -127,7 +128,7 @@ msgstr "Ja" #: gui/downloaddialog.cpp:118 gui/downloaddialog.cpp:153 #: gui/filebrowser-dialog.cpp:132 gui/fluidsynth-dialog.cpp:217 -#: gui/launcher.cpp:286 gui/launcher.cpp:394 gui/launcher.cpp:453 +#: gui/launcher.cpp:307 gui/launcher.cpp:415 gui/launcher.cpp:474 #: gui/storagewizarddialog.cpp:112 #: backends/events/symbiansdl/symbiansdl-events.cpp:186 #: backends/platform/wince/CEActionsPocket.cpp:326 @@ -137,7 +138,7 @@ msgstr "Ja" msgid "No" msgstr "Nei" -#: gui/downloaddialog.cpp:136 gui/launcher.cpp:544 +#: gui/downloaddialog.cpp:136 gui/launcher.cpp:565 msgid "ScummVM couldn't open the specified directory!" msgstr "ScummVM kunne ikkje åpne den velde mappa!" @@ -148,8 +149,8 @@ msgid "" msgstr "" #: gui/downloaddialog.cpp:146 gui/editgamedialog.cpp:293 -#: gui/fluidsynth-dialog.cpp:153 gui/KeysDialog.cpp:42 gui/launcher.cpp:501 -#: gui/launcher.cpp:505 gui/massadd.cpp:92 gui/options.cpp:1377 +#: gui/fluidsynth-dialog.cpp:153 gui/KeysDialog.cpp:42 gui/launcher.cpp:522 +#: gui/launcher.cpp:526 gui/massadd.cpp:92 gui/options.cpp:1463 #: gui/saveload-dialog.cpp:1112 engines/engine.cpp:477 engines/engine.cpp:488 #: backends/platform/wii/options.cpp:47 #: backends/platform/wince/CELauncherDialog.cpp:54 @@ -232,8 +233,8 @@ msgstr "" "Spelets språk. Dette vil ikkje gjere den spanske versjonen av spelet til ein " "engelsk versjon" -#: gui/editgamedialog.cpp:151 gui/editgamedialog.cpp:165 gui/options.cpp:114 -#: gui/options.cpp:785 gui/options.cpp:798 gui/options.cpp:1261 +#: gui/editgamedialog.cpp:151 gui/editgamedialog.cpp:165 gui/options.cpp:121 +#: gui/options.cpp:812 gui/options.cpp:825 gui/options.cpp:1356 #: audio/null.cpp:41 msgid "<default>" msgstr "<standard>" @@ -256,11 +257,11 @@ msgstr "Plattform:" msgid "Engine" msgstr "Motor" -#: gui/editgamedialog.cpp:184 gui/options.cpp:1120 gui/options.cpp:1137 +#: gui/editgamedialog.cpp:184 gui/options.cpp:1147 gui/options.cpp:1232 msgid "Graphics" msgstr "Grafikk" -#: gui/editgamedialog.cpp:184 gui/options.cpp:1120 gui/options.cpp:1137 +#: gui/editgamedialog.cpp:184 gui/options.cpp:1147 gui/options.cpp:1232 msgid "GFX" msgstr "GFX" @@ -273,7 +274,7 @@ msgctxt "lowres" msgid "Override global graphic settings" msgstr "Overstyr globale grafikkinstillingar" -#: gui/editgamedialog.cpp:196 gui/options.cpp:1143 +#: gui/editgamedialog.cpp:196 gui/options.cpp:1238 msgid "Audio" msgstr "Lyd" @@ -286,11 +287,11 @@ msgctxt "lowres" msgid "Override global audio settings" msgstr "Overstyr globale lydinstillingar" -#: gui/editgamedialog.cpp:210 gui/options.cpp:1148 +#: gui/editgamedialog.cpp:210 gui/options.cpp:1243 msgid "Volume" msgstr "Volum" -#: gui/editgamedialog.cpp:212 gui/options.cpp:1150 +#: gui/editgamedialog.cpp:212 gui/options.cpp:1245 msgctxt "lowres" msgid "Volume" msgstr "Volum" @@ -304,7 +305,7 @@ msgctxt "lowres" msgid "Override global volume settings" msgstr "Overstyr globale voluminstillingar" -#: gui/editgamedialog.cpp:226 gui/options.cpp:1158 +#: gui/editgamedialog.cpp:226 gui/options.cpp:1253 msgid "MIDI" msgstr "MIDI" @@ -317,7 +318,7 @@ msgctxt "lowres" msgid "Override global MIDI settings" msgstr "Overstyr globale MIDI-instillingar" -#: gui/editgamedialog.cpp:241 gui/options.cpp:1168 +#: gui/editgamedialog.cpp:241 gui/options.cpp:1263 msgid "MT-32" msgstr "MT-32" @@ -330,11 +331,11 @@ msgctxt "lowres" msgid "Override global MT-32 settings" msgstr "Overstyr globale MT-32-instillingar" -#: gui/editgamedialog.cpp:255 gui/options.cpp:1175 +#: gui/editgamedialog.cpp:255 gui/options.cpp:1270 msgid "Paths" msgstr "Stiar" -#: gui/editgamedialog.cpp:257 gui/options.cpp:1177 +#: gui/editgamedialog.cpp:257 gui/options.cpp:1272 msgctxt "lowres" msgid "Paths" msgstr "Stiar" @@ -348,7 +349,7 @@ msgctxt "lowres" msgid "Game Path:" msgstr "Spelsti:" -#: gui/editgamedialog.cpp:271 gui/options.cpp:1201 +#: gui/editgamedialog.cpp:271 gui/options.cpp:1296 msgid "Extra Path:" msgstr "Ekstrasti:" @@ -357,62 +358,62 @@ msgstr "Ekstrasti:" msgid "Specifies path to additional data used by the game" msgstr "Veljer sti til tilleggsdata nytta av spelet" -#: gui/editgamedialog.cpp:273 gui/options.cpp:1203 +#: gui/editgamedialog.cpp:273 gui/options.cpp:1298 msgctxt "lowres" msgid "Extra Path:" msgstr "Ekstrasti:" -#: gui/editgamedialog.cpp:280 gui/options.cpp:1185 +#: gui/editgamedialog.cpp:280 gui/options.cpp:1280 msgid "Save Path:" msgstr "Lagringssti:" #: gui/editgamedialog.cpp:280 gui/editgamedialog.cpp:282 -#: gui/editgamedialog.cpp:283 gui/options.cpp:1185 gui/options.cpp:1187 -#: gui/options.cpp:1188 +#: gui/editgamedialog.cpp:283 gui/options.cpp:1280 gui/options.cpp:1282 +#: gui/options.cpp:1283 msgid "Specifies where your saved games are put" msgstr "Veljer kor lagra spel vert lagra" -#: gui/editgamedialog.cpp:282 gui/options.cpp:1187 +#: gui/editgamedialog.cpp:282 gui/options.cpp:1282 msgctxt "lowres" msgid "Save Path:" msgstr "Lagringssti:" -#: gui/editgamedialog.cpp:301 gui/editgamedialog.cpp:400 -#: gui/editgamedialog.cpp:459 gui/editgamedialog.cpp:520 gui/options.cpp:1196 -#: gui/options.cpp:1204 gui/options.cpp:1213 gui/options.cpp:1414 -#: gui/options.cpp:1420 gui/options.cpp:1428 gui/options.cpp:1451 -#: gui/options.cpp:1467 gui/options.cpp:1473 gui/options.cpp:1480 -#: gui/options.cpp:1488 gui/options.cpp:1640 gui/options.cpp:1643 -#: gui/options.cpp:1650 gui/options.cpp:1660 +#: gui/editgamedialog.cpp:301 gui/editgamedialog.cpp:398 +#: gui/editgamedialog.cpp:457 gui/editgamedialog.cpp:518 gui/options.cpp:1291 +#: gui/options.cpp:1299 gui/options.cpp:1308 gui/options.cpp:1488 +#: gui/options.cpp:1494 gui/options.cpp:1502 gui/options.cpp:1525 +#: gui/options.cpp:1554 gui/options.cpp:1560 gui/options.cpp:1567 +#: gui/options.cpp:1575 gui/options.cpp:1758 gui/options.cpp:1761 +#: gui/options.cpp:1768 gui/options.cpp:1778 msgctxt "path" msgid "None" msgstr "Ingen" -#: gui/editgamedialog.cpp:306 gui/editgamedialog.cpp:406 -#: gui/editgamedialog.cpp:524 gui/options.cpp:1408 gui/options.cpp:1461 -#: gui/options.cpp:1646 backends/platform/wii/options.cpp:56 +#: gui/editgamedialog.cpp:306 gui/editgamedialog.cpp:404 +#: gui/editgamedialog.cpp:522 gui/options.cpp:1482 gui/options.cpp:1548 +#: gui/options.cpp:1764 backends/platform/wii/options.cpp:56 msgid "Default" msgstr "Standard" -#: gui/editgamedialog.cpp:452 gui/options.cpp:1654 +#: gui/editgamedialog.cpp:450 gui/options.cpp:1772 msgid "Select SoundFont" msgstr "Vel SoundFont" -#: gui/editgamedialog.cpp:491 +#: gui/editgamedialog.cpp:489 msgid "Select additional game directory" msgstr "Vel mappe med tileggsdata for spelet" -#: gui/editgamedialog.cpp:504 gui/options.cpp:1577 +#: gui/editgamedialog.cpp:502 gui/options.cpp:1695 msgid "Select directory for saved games" msgstr "Vel mappe for lagra spel" -#: gui/editgamedialog.cpp:510 +#: gui/editgamedialog.cpp:508 msgid "" "Saved games sync feature doesn't work with non-default directories. If you " "want your saved games to sync, use default directory." msgstr "" -#: gui/editgamedialog.cpp:536 +#: gui/editgamedialog.cpp:534 msgid "This game ID is already taken. Please choose another one." msgstr "Denne spel-IDen er allerede teken. Vęr vennleg og vel ein anna." @@ -492,7 +493,7 @@ msgstr "Sinus" msgid "Triangle" msgstr "Triangel" -#: gui/fluidsynth-dialog.cpp:138 gui/options.cpp:1221 +#: gui/fluidsynth-dialog.cpp:138 gui/options.cpp:1316 msgid "Misc" msgstr "Diverse" @@ -541,15 +542,15 @@ msgstr "Steng" msgid "Mouse click" msgstr "Musklikk" -#: gui/gui-manager.cpp:126 base/main.cpp:337 +#: gui/gui-manager.cpp:126 base/main.cpp:340 msgid "Display keyboard" msgstr "Syn Tastatur" -#: gui/gui-manager.cpp:130 base/main.cpp:341 +#: gui/gui-manager.cpp:130 base/main.cpp:344 msgid "Remap keys" msgstr "Omkople tastar" -#: gui/gui-manager.cpp:133 base/main.cpp:344 engines/scumm/help.cpp:87 +#: gui/gui-manager.cpp:133 base/main.cpp:347 engines/scumm/help.cpp:87 msgid "Toggle fullscreen" msgstr "Veksle fullskjerm" @@ -583,150 +584,150 @@ msgstr "Trykk tasten du vil kople" msgid "Choose an action to map" msgstr "Vel ei handling for kopling:" -#: gui/launcher.cpp:117 engines/dialogs.cpp:111 engines/mohawk/dialogs.cpp:98 +#: gui/launcher.cpp:141 engines/dialogs.cpp:111 engines/mohawk/dialogs.cpp:98 msgid "~Q~uit" msgstr "~A~vslutt" -#: gui/launcher.cpp:117 backends/platform/sdl/macosx/appmenu_osx.mm:106 +#: gui/launcher.cpp:141 backends/platform/sdl/macosx/appmenu_osx.mm:106 msgid "Quit ScummVM" msgstr "Avslutt ScummVM" -#: gui/launcher.cpp:118 +#: gui/launcher.cpp:142 msgid "A~b~out..." msgstr "~O~m..." -#: gui/launcher.cpp:118 backends/platform/sdl/macosx/appmenu_osx.mm:80 +#: gui/launcher.cpp:142 backends/platform/sdl/macosx/appmenu_osx.mm:80 msgid "About ScummVM" msgstr "Om ScummVM" -#: gui/launcher.cpp:119 +#: gui/launcher.cpp:143 msgid "~O~ptions..." msgstr "~V~al..." -#: gui/launcher.cpp:119 +#: gui/launcher.cpp:143 msgid "Change global ScummVM options" msgstr "Endre globale ScummVM-instillingar" -#: gui/launcher.cpp:121 +#: gui/launcher.cpp:145 msgid "~S~tart" msgstr "~S~tart" -#: gui/launcher.cpp:121 +#: gui/launcher.cpp:145 msgid "Start selected game" msgstr "Start det velde spelet" -#: gui/launcher.cpp:124 +#: gui/launcher.cpp:148 msgid "~L~oad..." msgstr "~Å~pne..." -#: gui/launcher.cpp:124 +#: gui/launcher.cpp:148 msgid "Load saved game for selected game" msgstr "Åpne eit lagra spel for the velde spelet" -#: gui/launcher.cpp:129 +#: gui/launcher.cpp:153 msgid "~A~dd Game..." msgstr "~L~egg til spel..." -#: gui/launcher.cpp:129 gui/launcher.cpp:136 +#: gui/launcher.cpp:153 gui/launcher.cpp:160 msgid "Hold Shift for Mass Add" msgstr "Hold Shift nede for å legge til fleire" -#: gui/launcher.cpp:131 +#: gui/launcher.cpp:155 msgid "~E~dit Game..." msgstr "~R~ediger spel..." -#: gui/launcher.cpp:131 gui/launcher.cpp:138 +#: gui/launcher.cpp:155 gui/launcher.cpp:162 msgid "Change game options" msgstr "Endre spelinstillingar" -#: gui/launcher.cpp:133 +#: gui/launcher.cpp:157 msgid "~R~emove Game" msgstr "~F~jern spel" -#: gui/launcher.cpp:133 gui/launcher.cpp:140 +#: gui/launcher.cpp:157 gui/launcher.cpp:164 msgid "Remove game from the list. The game data files stay intact" msgstr "Fjern spel frå lista. Speldataene forblir intakte" -#: gui/launcher.cpp:136 +#: gui/launcher.cpp:160 msgctxt "lowres" msgid "~A~dd Game..." msgstr "~L~egg til spel..." -#: gui/launcher.cpp:138 +#: gui/launcher.cpp:162 msgctxt "lowres" msgid "~E~dit Game..." msgstr "~R~ediger spel..." -#: gui/launcher.cpp:140 +#: gui/launcher.cpp:164 msgctxt "lowres" msgid "~R~emove Game" msgstr "~F~jern spel" -#: gui/launcher.cpp:148 +#: gui/launcher.cpp:172 msgid "Search in game list" msgstr "Sųk i spelliste" -#: gui/launcher.cpp:152 gui/launcher.cpp:750 +#: gui/launcher.cpp:176 gui/launcher.cpp:771 msgid "Search:" msgstr "Sųk:" -#: gui/launcher.cpp:176 engines/dialogs.cpp:115 engines/cruise/menu.cpp:214 -#: engines/mohawk/dialogs.cpp:103 engines/mohawk/riven.cpp:733 +#: gui/launcher.cpp:200 engines/dialogs.cpp:115 engines/cruise/menu.cpp:214 +#: engines/mohawk/dialogs.cpp:103 engines/mohawk/riven.cpp:734 #: engines/pegasus/pegasus.cpp:353 engines/tsage/scenes.cpp:601 msgid "Load game:" msgstr "Åpne spel:" -#: gui/launcher.cpp:176 engines/dialogs.cpp:115 +#: gui/launcher.cpp:200 engines/dialogs.cpp:115 #: backends/platform/wince/CEActionsPocket.cpp:267 #: backends/platform/wince/CEActionsSmartphone.cpp:231 #: engines/cruise/menu.cpp:214 engines/mohawk/dialogs.cpp:103 -#: engines/mohawk/riven.cpp:733 engines/parallaction/saveload.cpp:194 +#: engines/mohawk/riven.cpp:734 engines/parallaction/saveload.cpp:194 #: engines/pegasus/pegasus.cpp:353 engines/scumm/dialogs.cpp:185 #: engines/tsage/scenes.cpp:601 msgid "Load" msgstr "Åpne" -#: gui/launcher.cpp:285 +#: gui/launcher.cpp:306 msgid "" "Do you really want to run the mass game detector? This could potentially add " "a huge number of games." msgstr "" -#: gui/launcher.cpp:344 +#: gui/launcher.cpp:365 msgid "This directory cannot be used yet, it is being downloaded into!" msgstr "" -#: gui/launcher.cpp:394 +#: gui/launcher.cpp:415 msgid "Do you really want to remove this game configuration?" msgstr "Vil du verkeleg fjerne denne spelkonfigurasjonen?" -#: gui/launcher.cpp:452 +#: gui/launcher.cpp:473 msgid "Do you want to load saved game?" msgstr "Vil du laste det lagra spelet?" -#: gui/launcher.cpp:501 +#: gui/launcher.cpp:522 msgid "This game does not support loading games from the launcher." msgstr "Dette spelet stųttar ikkje åpning av lagra spel frå oppstartaren." -#: gui/launcher.cpp:505 +#: gui/launcher.cpp:526 msgid "ScummVM could not find any engine capable of running the selected game!" msgstr "" "ScummVM kunne ikkje finne nokon motor som var i stand til å kųyre det velde " "spelet!" -#: gui/launcher.cpp:556 +#: gui/launcher.cpp:577 msgid "ScummVM could not find any game in the specified directory!" msgstr "ScummVM kunne ikkje finne noko spel i den velde mappa!" -#: gui/launcher.cpp:569 +#: gui/launcher.cpp:590 msgid "Pick the game:" msgstr "Vel spelet:" -#: gui/launcher.cpp:687 +#: gui/launcher.cpp:708 msgid "Mass Add..." msgstr "Legg til fleire..." -#: gui/launcher.cpp:689 +#: gui/launcher.cpp:710 msgid "Record..." msgstr "" @@ -770,146 +771,146 @@ msgstr "Bytt til spel" msgid "Fast replay" msgstr "" -#: gui/options.cpp:112 common/updates.cpp:56 +#: gui/options.cpp:119 common/updates.cpp:56 msgid "Never" msgstr "Aldri" -#: gui/options.cpp:112 +#: gui/options.cpp:119 msgid "every 5 mins" msgstr "kvart 5. min" -#: gui/options.cpp:112 +#: gui/options.cpp:119 msgid "every 10 mins" msgstr "kvart 10. min" -#: gui/options.cpp:112 +#: gui/options.cpp:119 msgid "every 15 mins" msgstr "kvart 15. min" -#: gui/options.cpp:112 +#: gui/options.cpp:119 msgid "every 30 mins" msgstr "kvart 30. min" -#: gui/options.cpp:114 +#: gui/options.cpp:121 msgid "8 kHz" msgstr "8 kHz" -#: gui/options.cpp:114 +#: gui/options.cpp:121 msgid "11 kHz" msgstr "11 kHz" -#: gui/options.cpp:114 +#: gui/options.cpp:121 msgid "22 kHz" msgstr "22 kHz" -#: gui/options.cpp:114 +#: gui/options.cpp:121 msgid "44 kHz" msgstr "44 kHz" -#: gui/options.cpp:114 +#: gui/options.cpp:121 msgid "48 kHz" msgstr "48 kHz" -#: gui/options.cpp:291 gui/options.cpp:528 gui/options.cpp:629 -#: gui/options.cpp:699 gui/options.cpp:910 +#: gui/options.cpp:289 gui/options.cpp:552 gui/options.cpp:657 +#: gui/options.cpp:726 gui/options.cpp:937 msgctxt "soundfont" msgid "None" msgstr "Ingen" -#: gui/options.cpp:432 +#: gui/options.cpp:456 msgid "Failed to apply some of the graphic options changes:" msgstr "Klarte ikkje å aktivere nokre av grafikkvalendringane:" -#: gui/options.cpp:444 +#: gui/options.cpp:468 msgid "the video mode could not be changed." msgstr "Kunne ikkje endre videomodus." -#: gui/options.cpp:450 +#: gui/options.cpp:474 msgid "the aspect ratio setting could not be changed" msgstr "aspektrate-innstillinga kunne ikkje endrast" -#: gui/options.cpp:456 +#: gui/options.cpp:480 msgid "the fullscreen setting could not be changed" msgstr "Fullskjerminstillinga kunne ikkje endrast" -#: gui/options.cpp:462 +#: gui/options.cpp:486 #, fuzzy msgid "the filtering setting could not be changed" msgstr "Fullskjerminstillinga kunne ikkje endrast" -#: gui/options.cpp:782 +#: gui/options.cpp:809 msgid "Graphics mode:" msgstr "Grafikkmodus:" -#: gui/options.cpp:796 +#: gui/options.cpp:823 msgid "Render mode:" msgstr "Teiknemodus:" -#: gui/options.cpp:796 gui/options.cpp:797 +#: gui/options.cpp:823 gui/options.cpp:824 msgid "Special dithering modes supported by some games" msgstr "Spesielle dithering-modus som stųttast av nokre spel" -#: gui/options.cpp:808 -#: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:2450 +#: gui/options.cpp:835 backends/graphics/openglsdl/openglsdl-graphics.cpp:615 +#: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:2460 msgid "Fullscreen mode" msgstr "Fullskjermsmodus" -#: gui/options.cpp:811 +#: gui/options.cpp:838 #, fuzzy msgid "Filter graphics" msgstr "Grafikk" -#: gui/options.cpp:811 +#: gui/options.cpp:838 msgid "Use linear filtering when scaling graphics" msgstr "" -#: gui/options.cpp:814 +#: gui/options.cpp:841 msgid "Aspect ratio correction" msgstr "Aspekt-korrigering" -#: gui/options.cpp:814 +#: gui/options.cpp:841 msgid "Correct aspect ratio for 320x200 games" msgstr "Rett opp aspekt for 320x200 spel" -#: gui/options.cpp:822 +#: gui/options.cpp:849 msgid "Preferred Device:" msgstr "Fųretrukken eining:" -#: gui/options.cpp:822 +#: gui/options.cpp:849 msgid "Music Device:" msgstr "Musikkeining:" -#: gui/options.cpp:822 gui/options.cpp:824 +#: gui/options.cpp:849 gui/options.cpp:851 msgid "Specifies preferred sound device or sound card emulator" msgstr "" -#: gui/options.cpp:822 gui/options.cpp:824 gui/options.cpp:825 +#: gui/options.cpp:849 gui/options.cpp:851 gui/options.cpp:852 msgid "Specifies output sound device or sound card emulator" msgstr "" -#: gui/options.cpp:824 +#: gui/options.cpp:851 msgctxt "lowres" msgid "Preferred Dev.:" msgstr "" -#: gui/options.cpp:824 +#: gui/options.cpp:851 msgctxt "lowres" msgid "Music Device:" msgstr "Musikkeining:" -#: gui/options.cpp:851 +#: gui/options.cpp:878 msgid "AdLib emulator:" msgstr "AdLib emulator:" -#: gui/options.cpp:851 gui/options.cpp:852 +#: gui/options.cpp:878 gui/options.cpp:879 msgid "AdLib is used for music in many games" msgstr "AdLib nyttast til musikk i mange spel" -#: gui/options.cpp:862 +#: gui/options.cpp:889 msgid "Output rate:" msgstr "" -#: gui/options.cpp:862 gui/options.cpp:863 +#: gui/options.cpp:889 gui/options.cpp:890 msgid "" "Higher value specifies better sound quality but may be not supported by your " "soundcard" @@ -917,60 +918,60 @@ msgstr "" "Hųgare verdier gir betre lydkvalitet, men stųttast kanskje ikkje av " "lydkortet ditt" -#: gui/options.cpp:873 +#: gui/options.cpp:900 msgid "GM Device:" msgstr "GM Eining:" -#: gui/options.cpp:873 +#: gui/options.cpp:900 msgid "Specifies default sound device for General MIDI output" msgstr "Veljer standard lydeining for General MIDI avspeling" -#: gui/options.cpp:884 +#: gui/options.cpp:911 msgid "Don't use General MIDI music" msgstr "Ikkje nytt General MIDI musikk" -#: gui/options.cpp:895 gui/options.cpp:957 +#: gui/options.cpp:922 gui/options.cpp:984 msgid "Use first available device" msgstr "Nytt fųrste tilgjengelege eining" -#: gui/options.cpp:907 +#: gui/options.cpp:934 msgid "SoundFont:" msgstr "SoundFont:" -#: gui/options.cpp:907 gui/options.cpp:909 gui/options.cpp:910 +#: gui/options.cpp:934 gui/options.cpp:936 gui/options.cpp:937 msgid "SoundFont is supported by some audio cards, FluidSynth and Timidity" msgstr "SoundFont stųttast av enkelte lydkort, FluidSynth og Timidity" -#: gui/options.cpp:909 +#: gui/options.cpp:936 msgctxt "lowres" msgid "SoundFont:" msgstr "SoundFont:" -#: gui/options.cpp:915 +#: gui/options.cpp:942 msgid "Mixed AdLib/MIDI mode" msgstr "Blanda AdLib/MIDI-modus" -#: gui/options.cpp:915 +#: gui/options.cpp:942 msgid "Use both MIDI and AdLib sound generation" msgstr "Nytt båe MIDI og AdLib lydskaping" -#: gui/options.cpp:918 +#: gui/options.cpp:945 msgid "MIDI gain:" msgstr "MIDI gain:" -#: gui/options.cpp:928 +#: gui/options.cpp:955 msgid "MT-32 Device:" msgstr "MT-32 Eining:" -#: gui/options.cpp:928 +#: gui/options.cpp:955 msgid "Specifies default sound device for Roland MT-32/LAPC1/CM32l/CM64 output" msgstr "Veljer standard lydeining for Roland MT-32/LAPC1/CM32l/CM64 avspeling" -#: gui/options.cpp:933 +#: gui/options.cpp:960 msgid "True Roland MT-32 (disable GM emulation)" msgstr "Ekte Roland MT-32 (deaktiver GM-emulering)" -#: gui/options.cpp:933 gui/options.cpp:935 +#: gui/options.cpp:960 gui/options.cpp:962 msgid "" "Check if you want to use your real hardware Roland-compatible sound device " "connected to your computer" @@ -978,355 +979,355 @@ msgstr "" "Vel om du vil nytte din Roland-kompatible lydeining som du har tilkopla " "datamaskina di." -#: gui/options.cpp:935 +#: gui/options.cpp:962 msgctxt "lowres" msgid "True Roland MT-32 (no GM emulation)" msgstr "Ekte Roland MT-32 (ingen GS-emulering)" -#: gui/options.cpp:938 +#: gui/options.cpp:965 msgid "Roland GS Device (enable MT-32 mappings)" msgstr "" -#: gui/options.cpp:938 +#: gui/options.cpp:965 msgid "" "Check if you want to enable patch mappings to emulate an MT-32 on a Roland " "GS device" msgstr "" -#: gui/options.cpp:947 +#: gui/options.cpp:974 msgid "Don't use Roland MT-32 music" msgstr "Ikkje nytt Roland MT-32 musikk" -#: gui/options.cpp:974 +#: gui/options.cpp:1001 msgid "Text and Speech:" msgstr "Tekst og Tale:" -#: gui/options.cpp:978 gui/options.cpp:988 +#: gui/options.cpp:1005 gui/options.cpp:1015 msgid "Speech" msgstr "Tale" -#: gui/options.cpp:979 gui/options.cpp:989 +#: gui/options.cpp:1006 gui/options.cpp:1016 msgid "Subtitles" msgstr "Teksting" -#: gui/options.cpp:980 +#: gui/options.cpp:1007 msgid "Both" msgstr "Begge" -#: gui/options.cpp:982 +#: gui/options.cpp:1009 msgid "Subtitle speed:" msgstr "Undertekstfart:" -#: gui/options.cpp:984 +#: gui/options.cpp:1011 msgctxt "lowres" msgid "Text and Speech:" msgstr "Tekst og Tale:" -#: gui/options.cpp:988 +#: gui/options.cpp:1015 msgid "Spch" msgstr "Tale" -#: gui/options.cpp:989 +#: gui/options.cpp:1016 msgid "Subs" msgstr "Tekst" -#: gui/options.cpp:990 +#: gui/options.cpp:1017 msgctxt "lowres" msgid "Both" msgstr "Båe" -#: gui/options.cpp:990 +#: gui/options.cpp:1017 msgid "Show subtitles and play speech" msgstr "Vis teksting og spel av tale" -#: gui/options.cpp:992 +#: gui/options.cpp:1019 msgctxt "lowres" msgid "Subtitle speed:" msgstr "Undertekstfart:" -#: gui/options.cpp:1008 +#: gui/options.cpp:1035 msgid "Music volume:" msgstr "Musikkvolum:" -#: gui/options.cpp:1010 +#: gui/options.cpp:1037 msgctxt "lowres" msgid "Music volume:" msgstr "Musikkvolum:" -#: gui/options.cpp:1017 +#: gui/options.cpp:1044 msgid "Mute All" msgstr "Demp alle" -#: gui/options.cpp:1020 +#: gui/options.cpp:1047 msgid "SFX volume:" msgstr "Lydeffektvolum:" -#: gui/options.cpp:1020 gui/options.cpp:1022 gui/options.cpp:1023 +#: gui/options.cpp:1047 gui/options.cpp:1049 gui/options.cpp:1050 msgid "Special sound effects volume" msgstr "Spesiallydeffekt volum" -#: gui/options.cpp:1022 +#: gui/options.cpp:1049 msgctxt "lowres" msgid "SFX volume:" msgstr "Lydeffektvolum:" -#: gui/options.cpp:1030 +#: gui/options.cpp:1057 msgid "Speech volume:" msgstr "Talevolum:" -#: gui/options.cpp:1032 +#: gui/options.cpp:1059 msgctxt "lowres" msgid "Speech volume:" msgstr "Talevolum:" -#: gui/options.cpp:1162 +#: gui/options.cpp:1257 msgid "FluidSynth Settings" msgstr "FluidSynth instillingar" -#: gui/options.cpp:1193 +#: gui/options.cpp:1288 msgid "Theme Path:" msgstr "Temasti:" -#: gui/options.cpp:1195 +#: gui/options.cpp:1290 msgctxt "lowres" msgid "Theme Path:" msgstr "Temasti:" -#: gui/options.cpp:1201 gui/options.cpp:1203 gui/options.cpp:1204 +#: gui/options.cpp:1296 gui/options.cpp:1298 gui/options.cpp:1299 msgid "Specifies path to additional data used by all games or ScummVM" msgstr "" -#: gui/options.cpp:1210 +#: gui/options.cpp:1305 msgid "Plugins Path:" msgstr "Pluginsti:" -#: gui/options.cpp:1212 +#: gui/options.cpp:1307 msgctxt "lowres" msgid "Plugins Path:" msgstr "Pluginsti:" -#: gui/options.cpp:1223 +#: gui/options.cpp:1318 msgctxt "lowres" msgid "Misc" msgstr "Div" -#: gui/options.cpp:1225 +#: gui/options.cpp:1320 msgid "Theme:" msgstr "Tema:" -#: gui/options.cpp:1229 +#: gui/options.cpp:1324 msgid "GUI Renderer:" msgstr "GUI-teiknar:" -#: gui/options.cpp:1241 +#: gui/options.cpp:1336 msgid "Autosave:" msgstr "Autolagre:" -#: gui/options.cpp:1243 +#: gui/options.cpp:1338 msgctxt "lowres" msgid "Autosave:" msgstr "Autolagre:" -#: gui/options.cpp:1251 +#: gui/options.cpp:1346 msgid "Keys" msgstr "Tastar" -#: gui/options.cpp:1258 +#: gui/options.cpp:1353 msgid "GUI Language:" msgstr "GUI-språk:" -#: gui/options.cpp:1258 +#: gui/options.cpp:1353 msgid "Language of ScummVM GUI" msgstr "Språk i ScummVM-GUIet" -#: gui/options.cpp:1286 +#: gui/options.cpp:1381 msgid "Update check:" msgstr "" -#: gui/options.cpp:1286 +#: gui/options.cpp:1381 msgid "How often to check ScummVM updates" msgstr "" -#: gui/options.cpp:1298 +#: gui/options.cpp:1393 msgid "Check now" msgstr "" -#: gui/options.cpp:1306 +#: gui/options.cpp:1401 msgid "Cloud" msgstr "" -#: gui/options.cpp:1308 +#: gui/options.cpp:1403 msgctxt "lowres" msgid "Cloud" msgstr "" -#: gui/options.cpp:1319 +#: gui/options.cpp:1408 msgid "Storage:" msgstr "" -#: gui/options.cpp:1319 +#: gui/options.cpp:1408 msgid "Active cloud storage" msgstr "" -#: gui/options.cpp:1326 gui/options.cpp:1877 +#: gui/options.cpp:1415 gui/options.cpp:1972 msgid "<none>" msgstr "" -#: gui/options.cpp:1330 backends/platform/wii/options.cpp:114 +#: gui/options.cpp:1419 backends/platform/wii/options.cpp:114 msgid "Username:" msgstr "Brukarnamn:" -#: gui/options.cpp:1330 +#: gui/options.cpp:1419 msgid "Username used by this storage" msgstr "" -#: gui/options.cpp:1333 +#: gui/options.cpp:1422 msgid "Used space:" msgstr "" -#: gui/options.cpp:1333 +#: gui/options.cpp:1422 msgid "Space used by ScummVM's saved games on this storage" msgstr "" -#: gui/options.cpp:1336 +#: gui/options.cpp:1425 msgid "Last sync time:" msgstr "" -#: gui/options.cpp:1336 +#: gui/options.cpp:1425 msgid "When the last saved games sync for this storage occured" msgstr "" -#: gui/options.cpp:1339 gui/storagewizarddialog.cpp:71 +#: gui/options.cpp:1428 gui/storagewizarddialog.cpp:71 msgid "Connect" msgstr "" -#: gui/options.cpp:1339 +#: gui/options.cpp:1428 msgid "Open wizard dialog to connect your cloud storage account" msgstr "" -#: gui/options.cpp:1340 +#: gui/options.cpp:1429 msgid "Refresh" msgstr "" -#: gui/options.cpp:1340 +#: gui/options.cpp:1429 msgid "Refresh current cloud storage information (username and usage)" msgstr "" -#: gui/options.cpp:1341 +#: gui/options.cpp:1430 #, fuzzy msgid "Download" msgstr "Ned" -#: gui/options.cpp:1341 +#: gui/options.cpp:1430 msgid "Open downloads manager dialog" msgstr "" -#: gui/options.cpp:1343 +#: gui/options.cpp:1432 msgid "Run server" msgstr "" -#: gui/options.cpp:1343 +#: gui/options.cpp:1432 msgid "Run local webserver" msgstr "" -#: gui/options.cpp:1344 gui/options.cpp:1987 +#: gui/options.cpp:1433 gui/options.cpp:2082 #, fuzzy msgid "Not running" msgstr "Feil under kųyring av spel:" -#: gui/options.cpp:1348 +#: gui/options.cpp:1437 #, fuzzy msgid "/root/ Path:" msgstr "Ekstrasti:" -#: gui/options.cpp:1348 gui/options.cpp:1350 gui/options.cpp:1351 +#: gui/options.cpp:1437 gui/options.cpp:1439 gui/options.cpp:1440 #, fuzzy msgid "Specifies which directory the Files Manager can access" msgstr "Veljer kor lagra spel vert lagra" -#: gui/options.cpp:1350 +#: gui/options.cpp:1439 #, fuzzy msgctxt "lowres" msgid "/root/ Path:" msgstr "Ekstrasti:" -#: gui/options.cpp:1360 +#: gui/options.cpp:1449 #, fuzzy msgid "Server's port:" msgstr "Teinar:" -#: gui/options.cpp:1360 +#: gui/options.cpp:1449 msgid "" "Which port is used by the server\n" "Auth with server is not available with non-default port" msgstr "" -#: gui/options.cpp:1520 -msgid "You have to restart ScummVM before your changes will take effect." -msgstr "Du må starte ScummVM på nytt for at endringane skal tre i kraft." +#: gui/options.cpp:1462 +msgid "Apply" +msgstr "" -#: gui/options.cpp:1543 +#: gui/options.cpp:1628 #, fuzzy msgid "Failed to change cloud storage!" msgstr "Klarte ikkje lagre spel" -#: gui/options.cpp:1546 +#: gui/options.cpp:1631 msgid "Another cloud storage is already active." msgstr "" -#: gui/options.cpp:1584 +#: gui/options.cpp:1667 +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 "" +"Temaet du har valt stųttar ikkje det aktive språket. Om du vil nytte dette " +"temaet må du bytte til eit anna språk fųrst." + +#: gui/options.cpp:1702 msgid "The chosen directory cannot be written to. Please select another one." msgstr "Den velde mappa kan ikkje skrivast til. Vennlegst vel ein annan." -#: gui/options.cpp:1593 +#: gui/options.cpp:1711 msgid "Select directory for GUI themes" msgstr "Vel ei mappe for GUI-tema:" -#: gui/options.cpp:1603 +#: gui/options.cpp:1721 msgid "Select directory for extra files" msgstr "Vel ei mappe for ekstra filer" -#: gui/options.cpp:1614 +#: gui/options.cpp:1732 msgid "Select directory for plugins" msgstr "Vel ei mappe for plugins" -#: gui/options.cpp:1626 +#: gui/options.cpp:1744 #, fuzzy msgid "Select directory for Files Manager /root/" msgstr "Vel ei mappe for ekstra filer" -#: gui/options.cpp:1688 -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 "" -"Temaet du har valt stųttar ikkje det aktive språket. Om du vil nytte dette " -"temaet må du bytte til eit anna språk fųrst." - -#: gui/options.cpp:1884 +#: gui/options.cpp:1979 #, c-format msgid "%llu bytes" msgstr "" -#: gui/options.cpp:1892 +#: gui/options.cpp:1987 msgid "<right now>" msgstr "" -#: gui/options.cpp:1894 +#: gui/options.cpp:1989 #, fuzzy msgid "<never>" msgstr "Aldri" -#: gui/options.cpp:1978 +#: gui/options.cpp:2073 #, fuzzy msgid "Stop server" msgstr "Teinar:" -#: gui/options.cpp:1979 +#: gui/options.cpp:2074 msgid "Stop local webserver" msgstr "" -#: gui/options.cpp:2068 +#: gui/options.cpp:2163 msgid "" "Request failed.\n" "Check your Internet connection." @@ -1598,35 +1599,35 @@ msgstr "" msgid "Clear value" msgstr "Tųm verdi" -#: base/main.cpp:250 +#: base/main.cpp:253 #, c-format msgid "Engine does not support debug level '%s'" msgstr "Motoren stųttar ikkje debug-nivå '%s'" -#: base/main.cpp:324 +#: base/main.cpp:327 msgid "Menu" msgstr "Meny" -#: base/main.cpp:327 backends/platform/symbian/src/SymbianActions.cpp:45 +#: base/main.cpp:330 backends/platform/symbian/src/SymbianActions.cpp:45 #: backends/platform/wince/CEActionsPocket.cpp:45 #: backends/platform/wince/CEActionsSmartphone.cpp:46 msgid "Skip" msgstr "Hopp over" -#: base/main.cpp:330 backends/platform/symbian/src/SymbianActions.cpp:50 +#: base/main.cpp:333 backends/platform/symbian/src/SymbianActions.cpp:50 #: backends/platform/wince/CEActionsPocket.cpp:42 msgid "Pause" msgstr "Pause" -#: base/main.cpp:333 +#: base/main.cpp:336 msgid "Skip line" msgstr "Hopp over linje" -#: base/main.cpp:542 +#: base/main.cpp:547 msgid "Error running game:" msgstr "Feil under kųyring av spel:" -#: base/main.cpp:589 +#: base/main.cpp:594 msgid "Could not find any engine capable of running the selected game" msgstr "Kunne ikkje finne nokon motor som kunne kųyre det velde spelet." @@ -1999,11 +2000,11 @@ msgstr "FM-Towns Lyd" msgid "PC-98 Audio" msgstr "PC-98 Lyd" -#: audio/softsynth/mt32.cpp:196 +#: audio/softsynth/mt32.cpp:197 msgid "Initializing MT-32 Emulator" msgstr "Initialiserar MT-32 Emulator" -#: audio/softsynth/mt32.cpp:434 +#: audio/softsynth/mt32.cpp:435 msgid "MT-32 Emulator" msgstr "MT-32 Emulator" @@ -2019,34 +2020,34 @@ msgstr "IBM PCjr Emulator" msgid "C64 Audio Emulator" msgstr "C64 Lydemulator" -#: backends/cloud/storage.cpp:210 +#: backends/cloud/storage.cpp:211 #, fuzzy msgid "Saved games sync complete." msgstr "Sųk fullfųrt!" -#: backends/cloud/storage.cpp:221 +#: backends/cloud/storage.cpp:222 msgid "Saved games sync was cancelled." msgstr "" -#: backends/cloud/storage.cpp:223 +#: backends/cloud/storage.cpp:224 msgid "" "Saved games sync failed.\n" "Check your Internet connection." msgstr "" -#: backends/cloud/storage.cpp:327 +#: backends/cloud/storage.cpp:328 #, c-format msgid "" "Download complete.\n" "Failed to download %u files." msgstr "" -#: backends/cloud/storage.cpp:329 +#: backends/cloud/storage.cpp:330 #, fuzzy msgid "Download complete." msgstr "Sųk fullfųrt!" -#: backends/cloud/storage.cpp:339 +#: backends/cloud/storage.cpp:340 #, fuzzy msgid "Download failed." msgstr "Last fil:" @@ -2156,43 +2157,53 @@ msgstr "Sveip tre fingre til hųgre for å veksle" msgid "OpenGL" msgstr "OpenGL" -#: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:47 -#: backends/graphics/wincesdl/wincesdl-graphics.cpp:88 -#: backends/graphics/wincesdl/wincesdl-graphics.cpp:95 -msgid "Normal (no scaling)" -msgstr "Normal (ikkje skaler)" +#: backends/graphics/openglsdl/openglsdl-graphics.cpp:617 +#: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:2462 +msgid "Windowed mode" +msgstr "Vindusmodus" -#: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:66 -msgctxt "lowres" -msgid "Normal (no scaling)" -msgstr "Normal (ikkje skaler)" +#: backends/graphics/openglsdl/openglsdl-graphics.cpp:710 +#, c-format +msgid "Resolution: %dx%d" +msgstr "" -#: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:2329 +#: backends/graphics/openglsdl/openglsdl-graphics.cpp:731 +#: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:2338 msgid "Enabled aspect ratio correction" msgstr "Aspekt-korrigering aktivert" -#: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:2335 +#: backends/graphics/openglsdl/openglsdl-graphics.cpp:733 +#: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:2344 msgid "Disabled aspect ratio correction" msgstr "Aspekt-korrigering ikkje aktivert" -#: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:2353 +#: backends/graphics/openglsdl/openglsdl-graphics.cpp:753 +#: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:2362 #, fuzzy msgid "Filtering enabled" msgstr "Klikking aktivert" -#: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:2355 +#: backends/graphics/openglsdl/openglsdl-graphics.cpp:755 +#: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:2364 #, fuzzy msgid "Filtering disabled" msgstr "Klikking Deaktivert" -#: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:2407 +#: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:47 +#: backends/graphics/wincesdl/wincesdl-graphics.cpp:88 +#: backends/graphics/wincesdl/wincesdl-graphics.cpp:95 +msgid "Normal (no scaling)" +msgstr "Normal (ikkje skaler)" + +#: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:66 +msgctxt "lowres" +msgid "Normal (no scaling)" +msgstr "Normal (ikkje skaler)" + +#: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:2417 msgid "Active graphics filter:" msgstr "Aktivt grafikkfilter:" -#: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:2452 -msgid "Windowed mode" -msgstr "Vindusmodus" - #: backends/keymapper/remap-dialog.cpp:48 msgid "Keymap:" msgstr "Tastkopling:" @@ -3082,6 +3093,39 @@ msgstr "Hoved~m~eny" msgid "~W~ater Effect Enabled" msgstr "~V~anneffekt aktivert" +#: engines/mohawk/riven.cpp:150 +msgid "" +"You're missing a Riven executable. The Windows executable is 'riven.exe' or " +"'rivendmo.exe'. " +msgstr "" + +#: engines/mohawk/riven.cpp:151 +msgid "" +"Using the 'arcriven.z' installer file also works. In addition, you can use " +"the Mac 'Riven' executable." +msgstr "" + +#: engines/mohawk/riven.cpp:162 +msgid "" +"You're missing 'extras.mhk'. Using the 'arcriven.z' installer file also " +"works." +msgstr "" + +#: engines/mohawk/riven_external.cpp:213 +msgid "" +"Exploration beyond this point available only within the full version of\n" +"the game." +msgstr "" + +#: engines/mohawk/riven_external.cpp:655 +msgid "" +"At this point, the Riven Demo would\n" +"ask if you would like to open a web browser\n" +"to bring you to the Red Orb store to buy\n" +"the game. ScummVM cannot do that and\n" +"the site no longer exists." +msgstr "" + #: engines/mohawk/mohawk.cpp:61 #, fuzzy msgid "The game is paused. Press any key to continue." @@ -4189,6 +4233,9 @@ msgstr "" "Nytt MPEG video frå DVD-versjonen, framfor AVI-versjonen med lågare " "opplųysning" +#~ msgid "You have to restart ScummVM before your changes will take effect." +#~ msgstr "Du må starte ScummVM på nytt for at endringane skal tre i kraft." + #~ msgid "OpenGL (No filtering)" #~ msgstr "OpenGL (Ingen filtrering)" diff --git a/po/pl_PL.po b/po/pl_PL.po index c03a1b13b0..eda45ed79e 100644 --- a/po/pl_PL.po +++ b/po/pl_PL.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: ScummVM 1.3.0\n" "Report-Msgid-Bugs-To: scummvm-devel@lists.scummvm.org\n" -"POT-Creation-Date: 2016-10-12 23:37+0100\n" +"POT-Creation-Date: 2016-11-05 12:43+0100\n" "PO-Revision-Date: 2016-02-20 23:43+0100\n" "Last-Translator: Micha³ Zi±bkowski <mziab@o2.pl>\n" "Language-Team: Grajpopolsku.pl <grajpopolsku@gmail.com>\n" @@ -21,6 +21,7 @@ msgstr "" "X-Poedit-Basepath: .\n" "X-Poedit-Language: Polish\n" "X-Poedit-Country: POLAND\n" +"X-Language-name: Polski\n" #: gui/about.cpp:94 #, c-format @@ -60,7 +61,7 @@ msgstr "W górź" #: gui/browser.cpp:75 gui/chooser.cpp:46 gui/editgamedialog.cpp:292 #: gui/editrecorddialog.cpp:67 gui/filebrowser-dialog.cpp:64 #: gui/fluidsynth-dialog.cpp:152 gui/KeysDialog.cpp:43 gui/massadd.cpp:95 -#: gui/options.cpp:1376 gui/predictivedialog.cpp:73 gui/recorderdialog.cpp:69 +#: gui/options.cpp:1461 gui/predictivedialog.cpp:73 gui/recorderdialog.cpp:69 #: gui/recorderdialog.cpp:155 gui/remotebrowser.cpp:59 #: gui/saveload-dialog.cpp:383 gui/saveload-dialog.cpp:443 #: gui/saveload-dialog.cpp:717 gui/saveload-dialog.cpp:1111 @@ -85,7 +86,7 @@ msgstr "Wybierz" msgid "Select directory where to download game data" msgstr "Wybierz katalog z plikami gry" -#: gui/downloaddialog.cpp:49 gui/editgamedialog.cpp:472 gui/launcher.cpp:173 +#: gui/downloaddialog.cpp:49 gui/editgamedialog.cpp:470 gui/launcher.cpp:197 msgid "Select directory with game data" msgstr "Wybierz katalog z plikami gry" @@ -118,7 +119,7 @@ msgstr "" #: gui/downloaddialog.cpp:118 gui/downloaddialog.cpp:152 #: gui/filebrowser-dialog.cpp:132 gui/fluidsynth-dialog.cpp:217 -#: gui/launcher.cpp:286 gui/launcher.cpp:394 gui/launcher.cpp:453 +#: gui/launcher.cpp:307 gui/launcher.cpp:415 gui/launcher.cpp:474 #: gui/storagewizarddialog.cpp:112 #: backends/events/symbiansdl/symbiansdl-events.cpp:186 #: backends/platform/wince/CEActionsPocket.cpp:326 @@ -130,7 +131,7 @@ msgstr "Tak" #: gui/downloaddialog.cpp:118 gui/downloaddialog.cpp:153 #: gui/filebrowser-dialog.cpp:132 gui/fluidsynth-dialog.cpp:217 -#: gui/launcher.cpp:286 gui/launcher.cpp:394 gui/launcher.cpp:453 +#: gui/launcher.cpp:307 gui/launcher.cpp:415 gui/launcher.cpp:474 #: gui/storagewizarddialog.cpp:112 #: backends/events/symbiansdl/symbiansdl-events.cpp:186 #: backends/platform/wince/CEActionsPocket.cpp:326 @@ -140,7 +141,7 @@ msgstr "Tak" msgid "No" msgstr "Nie" -#: gui/downloaddialog.cpp:136 gui/launcher.cpp:544 +#: gui/downloaddialog.cpp:136 gui/launcher.cpp:565 msgid "ScummVM couldn't open the specified directory!" msgstr "ScummVM nie moæe otworzyę katalogu!" @@ -151,8 +152,8 @@ msgid "" msgstr "" #: gui/downloaddialog.cpp:146 gui/editgamedialog.cpp:293 -#: gui/fluidsynth-dialog.cpp:153 gui/KeysDialog.cpp:42 gui/launcher.cpp:501 -#: gui/launcher.cpp:505 gui/massadd.cpp:92 gui/options.cpp:1377 +#: gui/fluidsynth-dialog.cpp:153 gui/KeysDialog.cpp:42 gui/launcher.cpp:522 +#: gui/launcher.cpp:526 gui/massadd.cpp:92 gui/options.cpp:1463 #: gui/saveload-dialog.cpp:1112 engines/engine.cpp:477 engines/engine.cpp:488 #: backends/platform/wii/options.cpp:47 #: backends/platform/wince/CELauncherDialog.cpp:54 @@ -233,8 +234,8 @@ msgid "" "English" msgstr "Jźzyk gry. Nie zmieni to hiszpańskiej wersji gry w angielsk±." -#: gui/editgamedialog.cpp:151 gui/editgamedialog.cpp:165 gui/options.cpp:114 -#: gui/options.cpp:785 gui/options.cpp:798 gui/options.cpp:1261 +#: gui/editgamedialog.cpp:151 gui/editgamedialog.cpp:165 gui/options.cpp:121 +#: gui/options.cpp:812 gui/options.cpp:825 gui/options.cpp:1356 #: audio/null.cpp:41 msgid "<default>" msgstr "<domy¶lne>" @@ -257,11 +258,11 @@ msgstr "Platforma:" msgid "Engine" msgstr "Silnik" -#: gui/editgamedialog.cpp:184 gui/options.cpp:1120 gui/options.cpp:1137 +#: gui/editgamedialog.cpp:184 gui/options.cpp:1147 gui/options.cpp:1232 msgid "Graphics" msgstr "Grafika" -#: gui/editgamedialog.cpp:184 gui/options.cpp:1120 gui/options.cpp:1137 +#: gui/editgamedialog.cpp:184 gui/options.cpp:1147 gui/options.cpp:1232 msgid "GFX" msgstr "Grafika" @@ -274,7 +275,7 @@ msgctxt "lowres" msgid "Override global graphic settings" msgstr "Uæyj w³asnych ustawień grafiki" -#: gui/editgamedialog.cpp:196 gui/options.cpp:1143 +#: gui/editgamedialog.cpp:196 gui/options.cpp:1238 msgid "Audio" msgstr "D¼wiźk" @@ -287,11 +288,11 @@ msgctxt "lowres" msgid "Override global audio settings" msgstr "Uæyj w³asnych ustawień d¼wiźku" -#: gui/editgamedialog.cpp:210 gui/options.cpp:1148 +#: gui/editgamedialog.cpp:210 gui/options.cpp:1243 msgid "Volume" msgstr "G³o¶no¶ę" -#: gui/editgamedialog.cpp:212 gui/options.cpp:1150 +#: gui/editgamedialog.cpp:212 gui/options.cpp:1245 msgctxt "lowres" msgid "Volume" msgstr "G³o¶no¶ę" @@ -305,7 +306,7 @@ msgctxt "lowres" msgid "Override global volume settings" msgstr "Uæyj w³asnych ustawień g³o¶no¶ci" -#: gui/editgamedialog.cpp:226 gui/options.cpp:1158 +#: gui/editgamedialog.cpp:226 gui/options.cpp:1253 msgid "MIDI" msgstr "MIDI" @@ -318,7 +319,7 @@ msgctxt "lowres" msgid "Override global MIDI settings" msgstr "Uæyj w³asnych ustawień MIDI" -#: gui/editgamedialog.cpp:241 gui/options.cpp:1168 +#: gui/editgamedialog.cpp:241 gui/options.cpp:1263 msgid "MT-32" msgstr "MT-32" @@ -331,11 +332,11 @@ msgctxt "lowres" msgid "Override global MT-32 settings" msgstr "Uæyj w³asnych ustawień MT-32" -#: gui/editgamedialog.cpp:255 gui/options.cpp:1175 +#: gui/editgamedialog.cpp:255 gui/options.cpp:1270 msgid "Paths" msgstr "¦cieæki" -#: gui/editgamedialog.cpp:257 gui/options.cpp:1177 +#: gui/editgamedialog.cpp:257 gui/options.cpp:1272 msgctxt "lowres" msgid "Paths" msgstr "¦cieæki" @@ -349,7 +350,7 @@ msgctxt "lowres" msgid "Game Path:" msgstr "¦cieæka gry:" -#: gui/editgamedialog.cpp:271 gui/options.cpp:1201 +#: gui/editgamedialog.cpp:271 gui/options.cpp:1296 msgid "Extra Path:" msgstr "¦c. dodatków:" @@ -358,62 +359,62 @@ msgstr "¦c. dodatków:" msgid "Specifies path to additional data used by the game" msgstr "Okre¶la ¶cieækź dodatkowych danych gry" -#: gui/editgamedialog.cpp:273 gui/options.cpp:1203 +#: gui/editgamedialog.cpp:273 gui/options.cpp:1298 msgctxt "lowres" msgid "Extra Path:" msgstr "¦c. dodatków:" -#: gui/editgamedialog.cpp:280 gui/options.cpp:1185 +#: gui/editgamedialog.cpp:280 gui/options.cpp:1280 msgid "Save Path:" msgstr "¦cieæka zapisów:" #: gui/editgamedialog.cpp:280 gui/editgamedialog.cpp:282 -#: gui/editgamedialog.cpp:283 gui/options.cpp:1185 gui/options.cpp:1187 -#: gui/options.cpp:1188 +#: gui/editgamedialog.cpp:283 gui/options.cpp:1280 gui/options.cpp:1282 +#: gui/options.cpp:1283 msgid "Specifies where your saved games are put" msgstr "Okre¶la gdzie zapisywaę stan gry" -#: gui/editgamedialog.cpp:282 gui/options.cpp:1187 +#: gui/editgamedialog.cpp:282 gui/options.cpp:1282 msgctxt "lowres" msgid "Save Path:" msgstr "¦cieæka zapisów:" -#: gui/editgamedialog.cpp:301 gui/editgamedialog.cpp:400 -#: gui/editgamedialog.cpp:459 gui/editgamedialog.cpp:520 gui/options.cpp:1196 -#: gui/options.cpp:1204 gui/options.cpp:1213 gui/options.cpp:1414 -#: gui/options.cpp:1420 gui/options.cpp:1428 gui/options.cpp:1451 -#: gui/options.cpp:1467 gui/options.cpp:1473 gui/options.cpp:1480 -#: gui/options.cpp:1488 gui/options.cpp:1640 gui/options.cpp:1643 -#: gui/options.cpp:1650 gui/options.cpp:1660 +#: gui/editgamedialog.cpp:301 gui/editgamedialog.cpp:398 +#: gui/editgamedialog.cpp:457 gui/editgamedialog.cpp:518 gui/options.cpp:1291 +#: gui/options.cpp:1299 gui/options.cpp:1308 gui/options.cpp:1488 +#: gui/options.cpp:1494 gui/options.cpp:1502 gui/options.cpp:1525 +#: gui/options.cpp:1554 gui/options.cpp:1560 gui/options.cpp:1567 +#: gui/options.cpp:1575 gui/options.cpp:1758 gui/options.cpp:1761 +#: gui/options.cpp:1768 gui/options.cpp:1778 msgctxt "path" msgid "None" msgstr "Brak" -#: gui/editgamedialog.cpp:306 gui/editgamedialog.cpp:406 -#: gui/editgamedialog.cpp:524 gui/options.cpp:1408 gui/options.cpp:1461 -#: gui/options.cpp:1646 backends/platform/wii/options.cpp:56 +#: gui/editgamedialog.cpp:306 gui/editgamedialog.cpp:404 +#: gui/editgamedialog.cpp:522 gui/options.cpp:1482 gui/options.cpp:1548 +#: gui/options.cpp:1764 backends/platform/wii/options.cpp:56 msgid "Default" msgstr "Domy¶lnie" -#: gui/editgamedialog.cpp:452 gui/options.cpp:1654 +#: gui/editgamedialog.cpp:450 gui/options.cpp:1772 msgid "Select SoundFont" msgstr "Wybierz SoundFont" -#: gui/editgamedialog.cpp:491 +#: gui/editgamedialog.cpp:489 msgid "Select additional game directory" msgstr "Wybierz dodatkowy katalog gry" -#: gui/editgamedialog.cpp:504 gui/options.cpp:1577 +#: gui/editgamedialog.cpp:502 gui/options.cpp:1695 msgid "Select directory for saved games" msgstr "Wybierz katalog dla zapisów" -#: gui/editgamedialog.cpp:510 +#: gui/editgamedialog.cpp:508 msgid "" "Saved games sync feature doesn't work with non-default directories. If you " "want your saved games to sync, use default directory." msgstr "" -#: gui/editgamedialog.cpp:536 +#: gui/editgamedialog.cpp:534 msgid "This game ID is already taken. Please choose another one." msgstr "Identyfikator jest juæ zajźty. Wybierz inny." @@ -493,7 +494,7 @@ msgstr "Sinus" msgid "Triangle" msgstr "Trójk±t" -#: gui/fluidsynth-dialog.cpp:138 gui/options.cpp:1221 +#: gui/fluidsynth-dialog.cpp:138 gui/options.cpp:1316 msgid "Misc" msgstr "Róæne" @@ -542,15 +543,15 @@ msgstr "Zamknij" msgid "Mouse click" msgstr "Klikniźcie" -#: gui/gui-manager.cpp:126 base/main.cpp:337 +#: gui/gui-manager.cpp:126 base/main.cpp:340 msgid "Display keyboard" msgstr "Wy¶wietl klawiaturź" -#: gui/gui-manager.cpp:130 base/main.cpp:341 +#: gui/gui-manager.cpp:130 base/main.cpp:344 msgid "Remap keys" msgstr "Dostosuj klawisze" -#: gui/gui-manager.cpp:133 base/main.cpp:344 engines/scumm/help.cpp:87 +#: gui/gui-manager.cpp:133 base/main.cpp:347 engines/scumm/help.cpp:87 msgid "Toggle fullscreen" msgstr "W³±cz/wy³±cz pe³ny ekran" @@ -584,149 +585,149 @@ msgstr "Wci¶nij klawisz do przypisania" msgid "Choose an action to map" msgstr "Wybierz akcjź do przypisania" -#: gui/launcher.cpp:117 engines/dialogs.cpp:111 engines/mohawk/dialogs.cpp:98 +#: gui/launcher.cpp:141 engines/dialogs.cpp:111 engines/mohawk/dialogs.cpp:98 msgid "~Q~uit" msgstr "~Z~akończ" -#: gui/launcher.cpp:117 backends/platform/sdl/macosx/appmenu_osx.mm:106 +#: gui/launcher.cpp:141 backends/platform/sdl/macosx/appmenu_osx.mm:106 msgid "Quit ScummVM" msgstr "Zakończ ScummVM" -#: gui/launcher.cpp:118 +#: gui/launcher.cpp:142 msgid "A~b~out..." msgstr "I~n~formacje..." -#: gui/launcher.cpp:118 backends/platform/sdl/macosx/appmenu_osx.mm:80 +#: gui/launcher.cpp:142 backends/platform/sdl/macosx/appmenu_osx.mm:80 msgid "About ScummVM" msgstr "Ksi±æka ScummVM" -#: gui/launcher.cpp:119 +#: gui/launcher.cpp:143 msgid "~O~ptions..." msgstr "~O~pcje..." -#: gui/launcher.cpp:119 +#: gui/launcher.cpp:143 msgid "Change global ScummVM options" msgstr "Zmień ustawienia ScummVM" -#: gui/launcher.cpp:121 +#: gui/launcher.cpp:145 msgid "~S~tart" msgstr "~S~tart" -#: gui/launcher.cpp:121 +#: gui/launcher.cpp:145 msgid "Start selected game" msgstr "Rozpocznij wybran± grź" -#: gui/launcher.cpp:124 +#: gui/launcher.cpp:148 msgid "~L~oad..." msgstr "~W~czytaj..." -#: gui/launcher.cpp:124 +#: gui/launcher.cpp:148 msgid "Load saved game for selected game" msgstr "Wczytaj zapis wybranej gry" -#: gui/launcher.cpp:129 +#: gui/launcher.cpp:153 msgid "~A~dd Game..." msgstr "~D~odaj grź..." -#: gui/launcher.cpp:129 gui/launcher.cpp:136 +#: gui/launcher.cpp:153 gui/launcher.cpp:160 msgid "Hold Shift for Mass Add" msgstr "Przytrzymaj Shift, by dodawaę zbiorowo" -#: gui/launcher.cpp:131 +#: gui/launcher.cpp:155 msgid "~E~dit Game..." msgstr "~E~dytuj grź..." -#: gui/launcher.cpp:131 gui/launcher.cpp:138 +#: gui/launcher.cpp:155 gui/launcher.cpp:162 msgid "Change game options" msgstr "Zmień opcje gry" -#: gui/launcher.cpp:133 +#: gui/launcher.cpp:157 msgid "~R~emove Game" msgstr "~U~suń grź" -#: gui/launcher.cpp:133 gui/launcher.cpp:140 +#: gui/launcher.cpp:157 gui/launcher.cpp:164 msgid "Remove game from the list. The game data files stay intact" msgstr "Usuwa grź z listy. Pliki gry pozostaj± nietkniźte" -#: gui/launcher.cpp:136 +#: gui/launcher.cpp:160 msgctxt "lowres" msgid "~A~dd Game..." msgstr "~D~odaj grź..." -#: gui/launcher.cpp:138 +#: gui/launcher.cpp:162 msgctxt "lowres" msgid "~E~dit Game..." msgstr "~E~dytuj grź..." -#: gui/launcher.cpp:140 +#: gui/launcher.cpp:164 msgctxt "lowres" msgid "~R~emove Game" msgstr "~U~suń grź" -#: gui/launcher.cpp:148 +#: gui/launcher.cpp:172 msgid "Search in game list" msgstr "Wyszukaj grź na li¶cie" -#: gui/launcher.cpp:152 gui/launcher.cpp:750 +#: gui/launcher.cpp:176 gui/launcher.cpp:771 msgid "Search:" msgstr "Szukaj" -#: gui/launcher.cpp:176 engines/dialogs.cpp:115 engines/cruise/menu.cpp:214 -#: engines/mohawk/dialogs.cpp:103 engines/mohawk/riven.cpp:733 +#: gui/launcher.cpp:200 engines/dialogs.cpp:115 engines/cruise/menu.cpp:214 +#: engines/mohawk/dialogs.cpp:103 engines/mohawk/riven.cpp:734 #: engines/pegasus/pegasus.cpp:353 engines/tsage/scenes.cpp:601 msgid "Load game:" msgstr "Wczytaj grź:" -#: gui/launcher.cpp:176 engines/dialogs.cpp:115 +#: gui/launcher.cpp:200 engines/dialogs.cpp:115 #: backends/platform/wince/CEActionsPocket.cpp:267 #: backends/platform/wince/CEActionsSmartphone.cpp:231 #: engines/cruise/menu.cpp:214 engines/mohawk/dialogs.cpp:103 -#: engines/mohawk/riven.cpp:733 engines/parallaction/saveload.cpp:194 +#: engines/mohawk/riven.cpp:734 engines/parallaction/saveload.cpp:194 #: engines/pegasus/pegasus.cpp:353 engines/scumm/dialogs.cpp:185 #: engines/tsage/scenes.cpp:601 msgid "Load" msgstr "Wczytaj" -#: gui/launcher.cpp:285 +#: gui/launcher.cpp:306 msgid "" "Do you really want to run the mass game detector? This could potentially add " "a huge number of games." msgstr "" "Chcesz uruchomię masowy detektor gier? Moæe dodaę wiele tytu³ów do listy" -#: gui/launcher.cpp:344 +#: gui/launcher.cpp:365 msgid "This directory cannot be used yet, it is being downloaded into!" msgstr "" -#: gui/launcher.cpp:394 +#: gui/launcher.cpp:415 msgid "Do you really want to remove this game configuration?" msgstr "Na pewno chcesz usun±ę tź grź z konfiguracji?" -#: gui/launcher.cpp:452 +#: gui/launcher.cpp:473 msgid "Do you want to load saved game?" msgstr "Chcesz wczytaę zapis stanu gry?" -#: gui/launcher.cpp:501 +#: gui/launcher.cpp:522 msgid "This game does not support loading games from the launcher." msgstr "Ta gra nie wspiera wczytywania z launchera." -#: gui/launcher.cpp:505 +#: gui/launcher.cpp:526 msgid "ScummVM could not find any engine capable of running the selected game!" msgstr "ScummVM nie znalaz³ silnika zdolnego uruchomię wybran± grź!" -#: gui/launcher.cpp:556 +#: gui/launcher.cpp:577 msgid "ScummVM could not find any game in the specified directory!" msgstr "ScummVM nie znalaz³ æadnej gry w tym katalogu!" -#: gui/launcher.cpp:569 +#: gui/launcher.cpp:590 msgid "Pick the game:" msgstr "Wybierz grź:" -#: gui/launcher.cpp:687 +#: gui/launcher.cpp:708 msgid "Mass Add..." msgstr "Przeszukaj..." -#: gui/launcher.cpp:689 +#: gui/launcher.cpp:710 msgid "Record..." msgstr "Nagraj..." @@ -769,146 +770,146 @@ msgstr "Prze³±cz do gry" msgid "Fast replay" msgstr "Szybka powtórka" -#: gui/options.cpp:112 common/updates.cpp:56 +#: gui/options.cpp:119 common/updates.cpp:56 msgid "Never" msgstr "Nigdy" -#: gui/options.cpp:112 +#: gui/options.cpp:119 msgid "every 5 mins" msgstr "co 5 min" -#: gui/options.cpp:112 +#: gui/options.cpp:119 msgid "every 10 mins" msgstr "co 10 min" -#: gui/options.cpp:112 +#: gui/options.cpp:119 msgid "every 15 mins" msgstr "co 15 min" -#: gui/options.cpp:112 +#: gui/options.cpp:119 msgid "every 30 mins" msgstr "co 30 min" -#: gui/options.cpp:114 +#: gui/options.cpp:121 msgid "8 kHz" msgstr "8 kHz" -#: gui/options.cpp:114 +#: gui/options.cpp:121 msgid "11 kHz" msgstr "11 kHz" -#: gui/options.cpp:114 +#: gui/options.cpp:121 msgid "22 kHz" msgstr "22 kHz" -#: gui/options.cpp:114 +#: gui/options.cpp:121 msgid "44 kHz" msgstr "44 kHz" -#: gui/options.cpp:114 +#: gui/options.cpp:121 msgid "48 kHz" msgstr "48 kHz" -#: gui/options.cpp:291 gui/options.cpp:528 gui/options.cpp:629 -#: gui/options.cpp:699 gui/options.cpp:910 +#: gui/options.cpp:289 gui/options.cpp:552 gui/options.cpp:657 +#: gui/options.cpp:726 gui/options.cpp:937 msgctxt "soundfont" msgid "None" msgstr "Brak" -#: gui/options.cpp:432 +#: gui/options.cpp:456 msgid "Failed to apply some of the graphic options changes:" msgstr "Nie uda³o siź zastosowaę czź¶ci zmian opcji grafiki:" -#: gui/options.cpp:444 +#: gui/options.cpp:468 msgid "the video mode could not be changed." msgstr "nie uda³o siź zmienię trybu wideo." -#: gui/options.cpp:450 +#: gui/options.cpp:474 msgid "the aspect ratio setting could not be changed" msgstr "nie uda³o siź zmienię formatu obrazu" -#: gui/options.cpp:456 +#: gui/options.cpp:480 msgid "the fullscreen setting could not be changed" msgstr "nie uda³o siź zmienię trybu pe³noekranowego" -#: gui/options.cpp:462 +#: gui/options.cpp:486 #, fuzzy msgid "the filtering setting could not be changed" msgstr "nie uda³o siź zmienię trybu pe³noekranowego" -#: gui/options.cpp:782 +#: gui/options.cpp:809 msgid "Graphics mode:" msgstr "Tryb grafiki:" -#: gui/options.cpp:796 +#: gui/options.cpp:823 msgid "Render mode:" msgstr "Renderer:" -#: gui/options.cpp:796 gui/options.cpp:797 +#: gui/options.cpp:823 gui/options.cpp:824 msgid "Special dithering modes supported by some games" msgstr "Specjalne tryby ditheringu wspierane przez niektóre gry" -#: gui/options.cpp:808 -#: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:2450 +#: gui/options.cpp:835 backends/graphics/openglsdl/openglsdl-graphics.cpp:615 +#: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:2460 msgid "Fullscreen mode" msgstr "Pe³ny ekran" -#: gui/options.cpp:811 +#: gui/options.cpp:838 #, fuzzy msgid "Filter graphics" msgstr "Grafika" -#: gui/options.cpp:811 +#: gui/options.cpp:838 msgid "Use linear filtering when scaling graphics" msgstr "" -#: gui/options.cpp:814 +#: gui/options.cpp:841 msgid "Aspect ratio correction" msgstr "Korekcja formatu obrazu" -#: gui/options.cpp:814 +#: gui/options.cpp:841 msgid "Correct aspect ratio for 320x200 games" msgstr "Korekcja formatu obrazu dla gier 320x200" -#: gui/options.cpp:822 +#: gui/options.cpp:849 msgid "Preferred Device:" msgstr "Pref. urz±dzenie:" -#: gui/options.cpp:822 +#: gui/options.cpp:849 msgid "Music Device:" msgstr "Urz. muzyczne:" -#: gui/options.cpp:822 gui/options.cpp:824 +#: gui/options.cpp:849 gui/options.cpp:851 msgid "Specifies preferred sound device or sound card emulator" msgstr "Okre¶la preferowane urz±dzenie d¼wiźkowe lub emulator karty d¼wiźkowej" -#: gui/options.cpp:822 gui/options.cpp:824 gui/options.cpp:825 +#: gui/options.cpp:849 gui/options.cpp:851 gui/options.cpp:852 msgid "Specifies output sound device or sound card emulator" msgstr "Okre¶la wyj¶ciowe urz±dzenie d¼wiźkowe lub emulator karty d¼wiźkowej" -#: gui/options.cpp:824 +#: gui/options.cpp:851 msgctxt "lowres" msgid "Preferred Dev.:" msgstr "Pref. urz±dzenie:" -#: gui/options.cpp:824 +#: gui/options.cpp:851 msgctxt "lowres" msgid "Music Device:" msgstr "Urz. muzyczne:" -#: gui/options.cpp:851 +#: gui/options.cpp:878 msgid "AdLib emulator:" msgstr "Emulator AdLib:" -#: gui/options.cpp:851 gui/options.cpp:852 +#: gui/options.cpp:878 gui/options.cpp:879 msgid "AdLib is used for music in many games" msgstr "AdLib jest uæywany do muzyki w wielu grach" -#: gui/options.cpp:862 +#: gui/options.cpp:889 msgid "Output rate:" msgstr "Czźst. wyj.:" -#: gui/options.cpp:862 gui/options.cpp:863 +#: gui/options.cpp:889 gui/options.cpp:890 msgid "" "Higher value specifies better sound quality but may be not supported by your " "soundcard" @@ -916,63 +917,63 @@ msgstr "" "Wyæsze warto¶ci daj± lepsz± jako¶ę d¼wiźku, ale mog± byę nieobs³ugiwane " "przez twoj± kartź d¼wiźkow±" -#: gui/options.cpp:873 +#: gui/options.cpp:900 msgid "GM Device:" msgstr "Urz±dzenie GM:" -#: gui/options.cpp:873 +#: gui/options.cpp:900 msgid "Specifies default sound device for General MIDI output" msgstr "Okre¶la domy¶lne urz±dzenie d¼wiźkowe dla wyj¶cia General MIDI" -#: gui/options.cpp:884 +#: gui/options.cpp:911 msgid "Don't use General MIDI music" msgstr "Nie uæywaj muzyki General MIDI" -#: gui/options.cpp:895 gui/options.cpp:957 +#: gui/options.cpp:922 gui/options.cpp:984 msgid "Use first available device" msgstr "Uæyj pierwszego dostźpnego urz±dzenia" -#: gui/options.cpp:907 +#: gui/options.cpp:934 msgid "SoundFont:" msgstr "SoundFont:" -#: gui/options.cpp:907 gui/options.cpp:909 gui/options.cpp:910 +#: gui/options.cpp:934 gui/options.cpp:936 gui/options.cpp:937 msgid "SoundFont is supported by some audio cards, FluidSynth and Timidity" msgstr "" "SoundFont jest wspierany przez niektóre karty d¼wiźkowe, FluidSynth i " "Timidity" -#: gui/options.cpp:909 +#: gui/options.cpp:936 msgctxt "lowres" msgid "SoundFont:" msgstr "SoundFont:" -#: gui/options.cpp:915 +#: gui/options.cpp:942 msgid "Mixed AdLib/MIDI mode" msgstr "Tryb miksowanego AdLib/MIDI" -#: gui/options.cpp:915 +#: gui/options.cpp:942 msgid "Use both MIDI and AdLib sound generation" msgstr "Uæywaj obu generatorów d¼wiźku, MIDI i AdLib, jednocze¶nie" -#: gui/options.cpp:918 +#: gui/options.cpp:945 msgid "MIDI gain:" msgstr "Wzm. MIDI:" -#: gui/options.cpp:928 +#: gui/options.cpp:955 msgid "MT-32 Device:" msgstr "Urz±dzenie MT-32:" -#: gui/options.cpp:928 +#: gui/options.cpp:955 msgid "Specifies default sound device for Roland MT-32/LAPC1/CM32l/CM64 output" msgstr "" "Okre¶la domy¶lne urz±dzenie d¼wiźku dla wyj¶cia Roland MT-32/LAPC1/CM32l/CM64" -#: gui/options.cpp:933 +#: gui/options.cpp:960 msgid "True Roland MT-32 (disable GM emulation)" msgstr "Prawdziwy Roland MT-32 (wy³±cz emulacjź GM)" -#: gui/options.cpp:933 gui/options.cpp:935 +#: gui/options.cpp:960 gui/options.cpp:962 msgid "" "Check if you want to use your real hardware Roland-compatible sound device " "connected to your computer" @@ -980,16 +981,16 @@ msgstr "" "Zaznacz, je¶li chcesz uæywaę swojej prawdziwej karty kompatybilnej z Roland " "pod³±czonej do twojego komputera" -#: gui/options.cpp:935 +#: gui/options.cpp:962 msgctxt "lowres" msgid "True Roland MT-32 (no GM emulation)" msgstr "Prawdziwy Roland MT-32 (brak emulacji GM)" -#: gui/options.cpp:938 +#: gui/options.cpp:965 msgid "Roland GS Device (enable MT-32 mappings)" msgstr "Roland w trybie GS (w³±cz mapowanie MT-32)" -#: gui/options.cpp:938 +#: gui/options.cpp:965 msgid "" "Check if you want to enable patch mappings to emulate an MT-32 on a Roland " "GS device" @@ -997,340 +998,340 @@ msgstr "" "Zaznacz, je¶li chcesz w³±czyę ³atki mapowania pozwalaj±ce na emulacjź MT-32 " "na urz±dzeniu Roland GS" -#: gui/options.cpp:947 +#: gui/options.cpp:974 msgid "Don't use Roland MT-32 music" msgstr "Nie uæywaj muzyki Roland MT-32" -#: gui/options.cpp:974 +#: gui/options.cpp:1001 msgid "Text and Speech:" msgstr "Tekst i mowa:" -#: gui/options.cpp:978 gui/options.cpp:988 +#: gui/options.cpp:1005 gui/options.cpp:1015 msgid "Speech" msgstr "Mowa" -#: gui/options.cpp:979 gui/options.cpp:989 +#: gui/options.cpp:1006 gui/options.cpp:1016 msgid "Subtitles" msgstr "Napisy" -#: gui/options.cpp:980 +#: gui/options.cpp:1007 msgid "Both" msgstr "Oba" -#: gui/options.cpp:982 +#: gui/options.cpp:1009 msgid "Subtitle speed:" msgstr "Prźd. napisów:" -#: gui/options.cpp:984 +#: gui/options.cpp:1011 msgctxt "lowres" msgid "Text and Speech:" msgstr "Tekst i mowa:" -#: gui/options.cpp:988 +#: gui/options.cpp:1015 msgid "Spch" msgstr "Mowa" -#: gui/options.cpp:989 +#: gui/options.cpp:1016 msgid "Subs" msgstr "Napisy" -#: gui/options.cpp:990 +#: gui/options.cpp:1017 msgctxt "lowres" msgid "Both" msgstr "Oba" -#: gui/options.cpp:990 +#: gui/options.cpp:1017 msgid "Show subtitles and play speech" msgstr "Wy¶wietlaj napisy i odtwarzaj mowź" -#: gui/options.cpp:992 +#: gui/options.cpp:1019 msgctxt "lowres" msgid "Subtitle speed:" msgstr "Prźd. napisów:" -#: gui/options.cpp:1008 +#: gui/options.cpp:1035 msgid "Music volume:" msgstr "G³o¶no¶ę muzyki:" -#: gui/options.cpp:1010 +#: gui/options.cpp:1037 msgctxt "lowres" msgid "Music volume:" msgstr "G³o¶no¶ę muzyki:" -#: gui/options.cpp:1017 +#: gui/options.cpp:1044 msgid "Mute All" msgstr "Wycisz" -#: gui/options.cpp:1020 +#: gui/options.cpp:1047 msgid "SFX volume:" msgstr "G³. efekt. d¼w.:" -#: gui/options.cpp:1020 gui/options.cpp:1022 gui/options.cpp:1023 +#: gui/options.cpp:1047 gui/options.cpp:1049 gui/options.cpp:1050 msgid "Special sound effects volume" msgstr "G³o¶no¶ę efektów d¼w." -#: gui/options.cpp:1022 +#: gui/options.cpp:1049 msgctxt "lowres" msgid "SFX volume:" msgstr "G³. efekt. d¼w.:" -#: gui/options.cpp:1030 +#: gui/options.cpp:1057 msgid "Speech volume:" msgstr "G³o¶no¶ę mowy:" -#: gui/options.cpp:1032 +#: gui/options.cpp:1059 msgctxt "lowres" msgid "Speech volume:" msgstr "G³o¶no¶ę mowy:" -#: gui/options.cpp:1162 +#: gui/options.cpp:1257 msgid "FluidSynth Settings" msgstr "Ustawienia FluidSynth" -#: gui/options.cpp:1193 +#: gui/options.cpp:1288 msgid "Theme Path:" msgstr "¦cieæka stylu:" -#: gui/options.cpp:1195 +#: gui/options.cpp:1290 msgctxt "lowres" msgid "Theme Path:" msgstr "¦cieæka stylu:" -#: gui/options.cpp:1201 gui/options.cpp:1203 gui/options.cpp:1204 +#: gui/options.cpp:1296 gui/options.cpp:1298 gui/options.cpp:1299 msgid "Specifies path to additional data used by all games or ScummVM" msgstr "Okre¶la ¶cieækź dla dodatkowych danych dla wszystkich gier lub ScummVM" -#: gui/options.cpp:1210 +#: gui/options.cpp:1305 msgid "Plugins Path:" msgstr "¦cieæka wtyczek:" -#: gui/options.cpp:1212 +#: gui/options.cpp:1307 msgctxt "lowres" msgid "Plugins Path:" msgstr "¦cieæka wtyczek:" -#: gui/options.cpp:1223 +#: gui/options.cpp:1318 msgctxt "lowres" msgid "Misc" msgstr "Róæne" -#: gui/options.cpp:1225 +#: gui/options.cpp:1320 msgid "Theme:" msgstr "Styl:" -#: gui/options.cpp:1229 +#: gui/options.cpp:1324 msgid "GUI Renderer:" msgstr "Renderer interf.:" -#: gui/options.cpp:1241 +#: gui/options.cpp:1336 msgid "Autosave:" msgstr "Autozapis:" -#: gui/options.cpp:1243 +#: gui/options.cpp:1338 msgctxt "lowres" msgid "Autosave:" msgstr "Autozapis:" -#: gui/options.cpp:1251 +#: gui/options.cpp:1346 msgid "Keys" msgstr "Klawisze" -#: gui/options.cpp:1258 +#: gui/options.cpp:1353 msgid "GUI Language:" msgstr "Jźzyk interfejsu:" -#: gui/options.cpp:1258 +#: gui/options.cpp:1353 msgid "Language of ScummVM GUI" msgstr "Jźzyk interfejsu ScummVM" -#: gui/options.cpp:1286 +#: gui/options.cpp:1381 msgid "Update check:" msgstr "" -#: gui/options.cpp:1286 +#: gui/options.cpp:1381 msgid "How often to check ScummVM updates" msgstr "" -#: gui/options.cpp:1298 +#: gui/options.cpp:1393 msgid "Check now" msgstr "" -#: gui/options.cpp:1306 +#: gui/options.cpp:1401 msgid "Cloud" msgstr "" -#: gui/options.cpp:1308 +#: gui/options.cpp:1403 msgctxt "lowres" msgid "Cloud" msgstr "" -#: gui/options.cpp:1319 +#: gui/options.cpp:1408 msgid "Storage:" msgstr "" -#: gui/options.cpp:1319 +#: gui/options.cpp:1408 msgid "Active cloud storage" msgstr "" -#: gui/options.cpp:1326 gui/options.cpp:1877 +#: gui/options.cpp:1415 gui/options.cpp:1972 msgid "<none>" msgstr "" -#: gui/options.cpp:1330 backends/platform/wii/options.cpp:114 +#: gui/options.cpp:1419 backends/platform/wii/options.cpp:114 msgid "Username:" msgstr "Nazwa uæytkownika:" -#: gui/options.cpp:1330 +#: gui/options.cpp:1419 msgid "Username used by this storage" msgstr "" -#: gui/options.cpp:1333 +#: gui/options.cpp:1422 msgid "Used space:" msgstr "" -#: gui/options.cpp:1333 +#: gui/options.cpp:1422 msgid "Space used by ScummVM's saved games on this storage" msgstr "" -#: gui/options.cpp:1336 +#: gui/options.cpp:1425 msgid "Last sync time:" msgstr "" -#: gui/options.cpp:1336 +#: gui/options.cpp:1425 msgid "When the last saved games sync for this storage occured" msgstr "" -#: gui/options.cpp:1339 gui/storagewizarddialog.cpp:71 +#: gui/options.cpp:1428 gui/storagewizarddialog.cpp:71 msgid "Connect" msgstr "" -#: gui/options.cpp:1339 +#: gui/options.cpp:1428 msgid "Open wizard dialog to connect your cloud storage account" msgstr "" -#: gui/options.cpp:1340 +#: gui/options.cpp:1429 msgid "Refresh" msgstr "" -#: gui/options.cpp:1340 +#: gui/options.cpp:1429 msgid "Refresh current cloud storage information (username and usage)" msgstr "" -#: gui/options.cpp:1341 +#: gui/options.cpp:1430 #, fuzzy msgid "Download" msgstr "W dó³" -#: gui/options.cpp:1341 +#: gui/options.cpp:1430 msgid "Open downloads manager dialog" msgstr "" -#: gui/options.cpp:1343 +#: gui/options.cpp:1432 msgid "Run server" msgstr "" -#: gui/options.cpp:1343 +#: gui/options.cpp:1432 msgid "Run local webserver" msgstr "" -#: gui/options.cpp:1344 gui/options.cpp:1987 +#: gui/options.cpp:1433 gui/options.cpp:2082 #, fuzzy msgid "Not running" msgstr "B³±d podczas uruchamiania gry:" -#: gui/options.cpp:1348 +#: gui/options.cpp:1437 #, fuzzy msgid "/root/ Path:" msgstr "¦c. dodatków:" -#: gui/options.cpp:1348 gui/options.cpp:1350 gui/options.cpp:1351 +#: gui/options.cpp:1437 gui/options.cpp:1439 gui/options.cpp:1440 #, fuzzy msgid "Specifies which directory the Files Manager can access" msgstr "Okre¶la gdzie zapisywaę stan gry" -#: gui/options.cpp:1350 +#: gui/options.cpp:1439 #, fuzzy msgctxt "lowres" msgid "/root/ Path:" msgstr "¦c. dodatków:" -#: gui/options.cpp:1360 +#: gui/options.cpp:1449 #, fuzzy msgid "Server's port:" msgstr "Serwer:" -#: gui/options.cpp:1360 +#: gui/options.cpp:1449 msgid "" "Which port is used by the server\n" "Auth with server is not available with non-default port" msgstr "" -#: gui/options.cpp:1520 -msgid "You have to restart ScummVM before your changes will take effect." -msgstr "Musisz zrestartowaę ScummVM, by zmiany zosta³y uwzglźdnione." +#: gui/options.cpp:1462 +msgid "Apply" +msgstr "" -#: gui/options.cpp:1543 +#: gui/options.cpp:1628 #, fuzzy msgid "Failed to change cloud storage!" msgstr "Nie uda³o siź zapisaę stanu gry" -#: gui/options.cpp:1546 +#: gui/options.cpp:1631 msgid "Another cloud storage is already active." msgstr "" -#: gui/options.cpp:1584 +#: gui/options.cpp:1667 +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 "" +"Wybrany styl nie obs³uguje obecnego jźzyka. Je¶li chcesz go uæywaę, zmień " +"najpierw swój jźzyk." + +#: gui/options.cpp:1702 msgid "The chosen directory cannot be written to. Please select another one." msgstr "Ten katalog jest zabezpieczony przed zapisem. Wybierz inny." -#: gui/options.cpp:1593 +#: gui/options.cpp:1711 msgid "Select directory for GUI themes" msgstr "Wybierz katalog dla stylów GUI." -#: gui/options.cpp:1603 +#: gui/options.cpp:1721 msgid "Select directory for extra files" msgstr "Wybierz katalog dla dodatkowych plików" -#: gui/options.cpp:1614 +#: gui/options.cpp:1732 msgid "Select directory for plugins" msgstr "Wybierz katalog dla wtyczek" -#: gui/options.cpp:1626 +#: gui/options.cpp:1744 #, fuzzy msgid "Select directory for Files Manager /root/" msgstr "Wybierz katalog dla dodatkowych plików" -#: gui/options.cpp:1688 -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 "" -"Wybrany styl nie obs³uguje obecnego jźzyka. Je¶li chcesz go uæywaę, zmień " -"najpierw swój jźzyk." - -#: gui/options.cpp:1884 +#: gui/options.cpp:1979 #, c-format msgid "%llu bytes" msgstr "" -#: gui/options.cpp:1892 +#: gui/options.cpp:1987 msgid "<right now>" msgstr "" -#: gui/options.cpp:1894 +#: gui/options.cpp:1989 #, fuzzy msgid "<never>" msgstr "Nigdy" -#: gui/options.cpp:1978 +#: gui/options.cpp:2073 #, fuzzy msgid "Stop server" msgstr "Serwer:" -#: gui/options.cpp:1979 +#: gui/options.cpp:2074 msgid "Stop local webserver" msgstr "" -#: gui/options.cpp:2068 +#: gui/options.cpp:2163 msgid "" "Request failed.\n" "Check your Internet connection." @@ -1602,35 +1603,35 @@ msgstr "" msgid "Clear value" msgstr "Wyczy¶ę" -#: base/main.cpp:250 +#: base/main.cpp:253 #, c-format msgid "Engine does not support debug level '%s'" msgstr "Silnik nie wspiera poziomu debugowania '%s'" -#: base/main.cpp:324 +#: base/main.cpp:327 msgid "Menu" msgstr "Menu" -#: base/main.cpp:327 backends/platform/symbian/src/SymbianActions.cpp:45 +#: base/main.cpp:330 backends/platform/symbian/src/SymbianActions.cpp:45 #: backends/platform/wince/CEActionsPocket.cpp:45 #: backends/platform/wince/CEActionsSmartphone.cpp:46 msgid "Skip" msgstr "Pomiń" -#: base/main.cpp:330 backends/platform/symbian/src/SymbianActions.cpp:50 +#: base/main.cpp:333 backends/platform/symbian/src/SymbianActions.cpp:50 #: backends/platform/wince/CEActionsPocket.cpp:42 msgid "Pause" msgstr "Wstrzymaj" -#: base/main.cpp:333 +#: base/main.cpp:336 msgid "Skip line" msgstr "Pomiń liniź" -#: base/main.cpp:542 +#: base/main.cpp:547 msgid "Error running game:" msgstr "B³±d podczas uruchamiania gry:" -#: base/main.cpp:589 +#: base/main.cpp:594 msgid "Could not find any engine capable of running the selected game" msgstr "Nie uda³o siź znale¼ę silnika zdolnego do uruchomienia zaznaczonej gry" @@ -2001,11 +2002,11 @@ msgstr "D¼wiźk FM-Towns" msgid "PC-98 Audio" msgstr "D¼wiźk PC-98" -#: audio/softsynth/mt32.cpp:196 +#: audio/softsynth/mt32.cpp:197 msgid "Initializing MT-32 Emulator" msgstr "Inicjalizacja emulatora MT-32" -#: audio/softsynth/mt32.cpp:434 +#: audio/softsynth/mt32.cpp:435 msgid "MT-32 Emulator" msgstr "Emulator MT-32" @@ -2021,34 +2022,34 @@ msgstr "Emulator IBM PCjr" msgid "C64 Audio Emulator" msgstr "Emulator d¼wiźku C64" -#: backends/cloud/storage.cpp:210 +#: backends/cloud/storage.cpp:211 #, fuzzy msgid "Saved games sync complete." msgstr "Skanowanie zakończone!" -#: backends/cloud/storage.cpp:221 +#: backends/cloud/storage.cpp:222 msgid "Saved games sync was cancelled." msgstr "" -#: backends/cloud/storage.cpp:223 +#: backends/cloud/storage.cpp:224 msgid "" "Saved games sync failed.\n" "Check your Internet connection." msgstr "" -#: backends/cloud/storage.cpp:327 +#: backends/cloud/storage.cpp:328 #, c-format msgid "" "Download complete.\n" "Failed to download %u files." msgstr "" -#: backends/cloud/storage.cpp:329 +#: backends/cloud/storage.cpp:330 #, fuzzy msgid "Download complete." msgstr "Skanowanie zakończone!" -#: backends/cloud/storage.cpp:339 +#: backends/cloud/storage.cpp:340 #, fuzzy msgid "Download failed." msgstr "Wczytaj plik" @@ -2158,43 +2159,53 @@ msgstr "Przesuń trzema palcami, æeby zmienię." msgid "OpenGL" msgstr "OpenGL" -#: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:47 -#: backends/graphics/wincesdl/wincesdl-graphics.cpp:88 -#: backends/graphics/wincesdl/wincesdl-graphics.cpp:95 -msgid "Normal (no scaling)" -msgstr "Zwyk³y (bez skalowania)" +#: backends/graphics/openglsdl/openglsdl-graphics.cpp:617 +#: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:2462 +msgid "Windowed mode" +msgstr "Okno" -#: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:66 -msgctxt "lowres" -msgid "Normal (no scaling)" -msgstr "Zwyk³y (bez skalowania)" +#: backends/graphics/openglsdl/openglsdl-graphics.cpp:710 +#, c-format +msgid "Resolution: %dx%d" +msgstr "" -#: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:2329 +#: backends/graphics/openglsdl/openglsdl-graphics.cpp:731 +#: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:2338 msgid "Enabled aspect ratio correction" msgstr "W³±czono korekcjź formatu obrazu" -#: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:2335 +#: backends/graphics/openglsdl/openglsdl-graphics.cpp:733 +#: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:2344 msgid "Disabled aspect ratio correction" msgstr "Wy³±czono korekcjź formatu obrazu" -#: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:2353 +#: backends/graphics/openglsdl/openglsdl-graphics.cpp:753 +#: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:2362 #, fuzzy msgid "Filtering enabled" msgstr "Klikanie w³±czone" -#: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:2355 +#: backends/graphics/openglsdl/openglsdl-graphics.cpp:755 +#: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:2364 #, fuzzy msgid "Filtering disabled" msgstr "Klikanie wy³±czone" -#: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:2407 +#: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:47 +#: backends/graphics/wincesdl/wincesdl-graphics.cpp:88 +#: backends/graphics/wincesdl/wincesdl-graphics.cpp:95 +msgid "Normal (no scaling)" +msgstr "Zwyk³y (bez skalowania)" + +#: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:66 +msgctxt "lowres" +msgid "Normal (no scaling)" +msgstr "Zwyk³y (bez skalowania)" + +#: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:2417 msgid "Active graphics filter:" msgstr "Aktywny filtr graficzny:" -#: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:2452 -msgid "Windowed mode" -msgstr "Okno" - #: backends/keymapper/remap-dialog.cpp:48 msgid "Keymap:" msgstr "Klawisze:" @@ -3111,6 +3122,39 @@ msgstr "~M~enu g³ówne" msgid "~W~ater Effect Enabled" msgstr "~E~fekty wody w³±czone" +#: engines/mohawk/riven.cpp:150 +msgid "" +"You're missing a Riven executable. The Windows executable is 'riven.exe' or " +"'rivendmo.exe'. " +msgstr "" + +#: engines/mohawk/riven.cpp:151 +msgid "" +"Using the 'arcriven.z' installer file also works. In addition, you can use " +"the Mac 'Riven' executable." +msgstr "" + +#: engines/mohawk/riven.cpp:162 +msgid "" +"You're missing 'extras.mhk'. Using the 'arcriven.z' installer file also " +"works." +msgstr "" + +#: engines/mohawk/riven_external.cpp:213 +msgid "" +"Exploration beyond this point available only within the full version of\n" +"the game." +msgstr "" + +#: engines/mohawk/riven_external.cpp:655 +msgid "" +"At this point, the Riven Demo would\n" +"ask if you would like to open a web browser\n" +"to bring you to the Red Orb store to buy\n" +"the game. ScummVM cannot do that and\n" +"the site no longer exists." +msgstr "" + #: engines/mohawk/mohawk.cpp:61 #, fuzzy msgid "The game is paused. Press any key to continue." @@ -4241,6 +4285,9 @@ msgstr "Uæyj wideo MPEG w wysokiej rozdzielczo¶ci" msgid "Use MPEG video from the DVD version, instead of lower resolution AVI" msgstr "Uæyj wideo MPEG z wersji DVD zamiast AVI niæszej rozdzielczo¶ci" +#~ msgid "You have to restart ScummVM before your changes will take effect." +#~ msgstr "Musisz zrestartowaę ScummVM, by zmiany zosta³y uwzglźdnione." + #~ msgid "OpenGL (No filtering)" #~ msgstr "OpenGL (bez filtrowania)" diff --git a/po/pt_BR.po b/po/pt_BR.po index aadd15cfae..ef4cfd1655 100644 --- a/po/pt_BR.po +++ b/po/pt_BR.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: ScummVM 1.3.0svn\n" "Report-Msgid-Bugs-To: scummvm-devel@lists.scummvm.org\n" -"POT-Creation-Date: 2016-10-12 23:37+0100\n" +"POT-Creation-Date: 2016-11-05 12:43+0100\n" "PO-Revision-Date: 2011-10-21 21:30-0300\n" "Last-Translator: Saulo Benigno <saulobenigno@gmail.com>\n" "Language-Team: ScummBR (www.scummbr.com) <scummbr@yahoo.com.br>\n" @@ -19,6 +19,7 @@ msgstr "" "X-Poedit-Language: Portuguese\n" "X-Poedit-Country: BRAZIL\n" "X-Poedit-SourceCharset: iso-8859-1\n" +"X-Language-name: Portugues (Brasil)\n" #: gui/about.cpp:94 #, c-format @@ -59,7 +60,7 @@ msgstr "Acima" #: gui/browser.cpp:75 gui/chooser.cpp:46 gui/editgamedialog.cpp:292 #: gui/editrecorddialog.cpp:67 gui/filebrowser-dialog.cpp:64 #: gui/fluidsynth-dialog.cpp:152 gui/KeysDialog.cpp:43 gui/massadd.cpp:95 -#: gui/options.cpp:1376 gui/predictivedialog.cpp:73 gui/recorderdialog.cpp:69 +#: gui/options.cpp:1461 gui/predictivedialog.cpp:73 gui/recorderdialog.cpp:69 #: gui/recorderdialog.cpp:155 gui/remotebrowser.cpp:59 #: gui/saveload-dialog.cpp:383 gui/saveload-dialog.cpp:443 #: gui/saveload-dialog.cpp:717 gui/saveload-dialog.cpp:1111 @@ -84,7 +85,7 @@ msgstr "Escolher" msgid "Select directory where to download game data" msgstr "Selecione a pasta com os arquivos do jogo" -#: gui/downloaddialog.cpp:49 gui/editgamedialog.cpp:472 gui/launcher.cpp:173 +#: gui/downloaddialog.cpp:49 gui/editgamedialog.cpp:470 gui/launcher.cpp:197 msgid "Select directory with game data" msgstr "Selecione a pasta com os arquivos do jogo" @@ -117,7 +118,7 @@ msgstr "" #: gui/downloaddialog.cpp:118 gui/downloaddialog.cpp:152 #: gui/filebrowser-dialog.cpp:132 gui/fluidsynth-dialog.cpp:217 -#: gui/launcher.cpp:286 gui/launcher.cpp:394 gui/launcher.cpp:453 +#: gui/launcher.cpp:307 gui/launcher.cpp:415 gui/launcher.cpp:474 #: gui/storagewizarddialog.cpp:112 #: backends/events/symbiansdl/symbiansdl-events.cpp:186 #: backends/platform/wince/CEActionsPocket.cpp:326 @@ -129,7 +130,7 @@ msgstr "Sim" #: gui/downloaddialog.cpp:118 gui/downloaddialog.cpp:153 #: gui/filebrowser-dialog.cpp:132 gui/fluidsynth-dialog.cpp:217 -#: gui/launcher.cpp:286 gui/launcher.cpp:394 gui/launcher.cpp:453 +#: gui/launcher.cpp:307 gui/launcher.cpp:415 gui/launcher.cpp:474 #: gui/storagewizarddialog.cpp:112 #: backends/events/symbiansdl/symbiansdl-events.cpp:186 #: backends/platform/wince/CEActionsPocket.cpp:326 @@ -139,7 +140,7 @@ msgstr "Sim" msgid "No" msgstr "Nćo" -#: gui/downloaddialog.cpp:136 gui/launcher.cpp:544 +#: gui/downloaddialog.cpp:136 gui/launcher.cpp:565 msgid "ScummVM couldn't open the specified directory!" msgstr "ScummVM nćo conseguiu abrir a pasta especificada!" @@ -150,8 +151,8 @@ msgid "" msgstr "" #: gui/downloaddialog.cpp:146 gui/editgamedialog.cpp:293 -#: gui/fluidsynth-dialog.cpp:153 gui/KeysDialog.cpp:42 gui/launcher.cpp:501 -#: gui/launcher.cpp:505 gui/massadd.cpp:92 gui/options.cpp:1377 +#: gui/fluidsynth-dialog.cpp:153 gui/KeysDialog.cpp:42 gui/launcher.cpp:522 +#: gui/launcher.cpp:526 gui/massadd.cpp:92 gui/options.cpp:1463 #: gui/saveload-dialog.cpp:1112 engines/engine.cpp:477 engines/engine.cpp:488 #: backends/platform/wii/options.cpp:47 #: backends/platform/wince/CELauncherDialog.cpp:54 @@ -232,8 +233,8 @@ msgid "" "English" msgstr "Idioma do jogo. Isto nćo irį passar seu jogo Inglźs para Portuguźs" -#: gui/editgamedialog.cpp:151 gui/editgamedialog.cpp:165 gui/options.cpp:114 -#: gui/options.cpp:785 gui/options.cpp:798 gui/options.cpp:1261 +#: gui/editgamedialog.cpp:151 gui/editgamedialog.cpp:165 gui/options.cpp:121 +#: gui/options.cpp:812 gui/options.cpp:825 gui/options.cpp:1356 #: audio/null.cpp:41 msgid "<default>" msgstr "<padrćo>" @@ -257,11 +258,11 @@ msgstr "Sistema:" msgid "Engine" msgstr "Examinar" -#: gui/editgamedialog.cpp:184 gui/options.cpp:1120 gui/options.cpp:1137 +#: gui/editgamedialog.cpp:184 gui/options.cpp:1147 gui/options.cpp:1232 msgid "Graphics" msgstr "Grįficos" -#: gui/editgamedialog.cpp:184 gui/options.cpp:1120 gui/options.cpp:1137 +#: gui/editgamedialog.cpp:184 gui/options.cpp:1147 gui/options.cpp:1232 msgid "GFX" msgstr "GFX" @@ -274,7 +275,7 @@ msgctxt "lowres" msgid "Override global graphic settings" msgstr "Sobrepor configuraēćo global de grįficos" -#: gui/editgamedialog.cpp:196 gui/options.cpp:1143 +#: gui/editgamedialog.cpp:196 gui/options.cpp:1238 msgid "Audio" msgstr "Įudio" @@ -287,11 +288,11 @@ msgctxt "lowres" msgid "Override global audio settings" msgstr "Sobrepor configuraēćo global de įudio" -#: gui/editgamedialog.cpp:210 gui/options.cpp:1148 +#: gui/editgamedialog.cpp:210 gui/options.cpp:1243 msgid "Volume" msgstr "Volume" -#: gui/editgamedialog.cpp:212 gui/options.cpp:1150 +#: gui/editgamedialog.cpp:212 gui/options.cpp:1245 msgctxt "lowres" msgid "Volume" msgstr "Volume" @@ -305,7 +306,7 @@ msgctxt "lowres" msgid "Override global volume settings" msgstr "Sobrepor configuraēćo global de volume" -#: gui/editgamedialog.cpp:226 gui/options.cpp:1158 +#: gui/editgamedialog.cpp:226 gui/options.cpp:1253 msgid "MIDI" msgstr "MIDI" @@ -318,7 +319,7 @@ msgctxt "lowres" msgid "Override global MIDI settings" msgstr "Sobrepor configuraēćo global de MIDI" -#: gui/editgamedialog.cpp:241 gui/options.cpp:1168 +#: gui/editgamedialog.cpp:241 gui/options.cpp:1263 msgid "MT-32" msgstr "MT-32" @@ -331,11 +332,11 @@ msgctxt "lowres" msgid "Override global MT-32 settings" msgstr "Sobrepor configuraēćo global de MT-32" -#: gui/editgamedialog.cpp:255 gui/options.cpp:1175 +#: gui/editgamedialog.cpp:255 gui/options.cpp:1270 msgid "Paths" msgstr "Pastas" -#: gui/editgamedialog.cpp:257 gui/options.cpp:1177 +#: gui/editgamedialog.cpp:257 gui/options.cpp:1272 msgctxt "lowres" msgid "Paths" msgstr "Pastas" @@ -349,7 +350,7 @@ msgctxt "lowres" msgid "Game Path:" msgstr "Pasta do Jogo:" -#: gui/editgamedialog.cpp:271 gui/options.cpp:1201 +#: gui/editgamedialog.cpp:271 gui/options.cpp:1296 msgid "Extra Path:" msgstr "Pasta de Extras" @@ -358,62 +359,62 @@ msgstr "Pasta de Extras" msgid "Specifies path to additional data used by the game" msgstr "Especifique a pasta para dados utilizados no jogo" -#: gui/editgamedialog.cpp:273 gui/options.cpp:1203 +#: gui/editgamedialog.cpp:273 gui/options.cpp:1298 msgctxt "lowres" msgid "Extra Path:" msgstr "Pasta de Extras" -#: gui/editgamedialog.cpp:280 gui/options.cpp:1185 +#: gui/editgamedialog.cpp:280 gui/options.cpp:1280 msgid "Save Path:" msgstr "Pasta para Salvar" #: gui/editgamedialog.cpp:280 gui/editgamedialog.cpp:282 -#: gui/editgamedialog.cpp:283 gui/options.cpp:1185 gui/options.cpp:1187 -#: gui/options.cpp:1188 +#: gui/editgamedialog.cpp:283 gui/options.cpp:1280 gui/options.cpp:1282 +#: gui/options.cpp:1283 msgid "Specifies where your saved games are put" msgstr "Especifique onde guardar seus jogos salvos" -#: gui/editgamedialog.cpp:282 gui/options.cpp:1187 +#: gui/editgamedialog.cpp:282 gui/options.cpp:1282 msgctxt "lowres" msgid "Save Path:" msgstr "Pasta para Salvar" -#: gui/editgamedialog.cpp:301 gui/editgamedialog.cpp:400 -#: gui/editgamedialog.cpp:459 gui/editgamedialog.cpp:520 gui/options.cpp:1196 -#: gui/options.cpp:1204 gui/options.cpp:1213 gui/options.cpp:1414 -#: gui/options.cpp:1420 gui/options.cpp:1428 gui/options.cpp:1451 -#: gui/options.cpp:1467 gui/options.cpp:1473 gui/options.cpp:1480 -#: gui/options.cpp:1488 gui/options.cpp:1640 gui/options.cpp:1643 -#: gui/options.cpp:1650 gui/options.cpp:1660 +#: gui/editgamedialog.cpp:301 gui/editgamedialog.cpp:398 +#: gui/editgamedialog.cpp:457 gui/editgamedialog.cpp:518 gui/options.cpp:1291 +#: gui/options.cpp:1299 gui/options.cpp:1308 gui/options.cpp:1488 +#: gui/options.cpp:1494 gui/options.cpp:1502 gui/options.cpp:1525 +#: gui/options.cpp:1554 gui/options.cpp:1560 gui/options.cpp:1567 +#: gui/options.cpp:1575 gui/options.cpp:1758 gui/options.cpp:1761 +#: gui/options.cpp:1768 gui/options.cpp:1778 msgctxt "path" msgid "None" msgstr "Nenhum(a)" -#: gui/editgamedialog.cpp:306 gui/editgamedialog.cpp:406 -#: gui/editgamedialog.cpp:524 gui/options.cpp:1408 gui/options.cpp:1461 -#: gui/options.cpp:1646 backends/platform/wii/options.cpp:56 +#: gui/editgamedialog.cpp:306 gui/editgamedialog.cpp:404 +#: gui/editgamedialog.cpp:522 gui/options.cpp:1482 gui/options.cpp:1548 +#: gui/options.cpp:1764 backends/platform/wii/options.cpp:56 msgid "Default" msgstr "Padrćo" -#: gui/editgamedialog.cpp:452 gui/options.cpp:1654 +#: gui/editgamedialog.cpp:450 gui/options.cpp:1772 msgid "Select SoundFont" msgstr "Selecione o SoundFont" -#: gui/editgamedialog.cpp:491 +#: gui/editgamedialog.cpp:489 msgid "Select additional game directory" msgstr "Selecione a pasta adicional do jogo" -#: gui/editgamedialog.cpp:504 gui/options.cpp:1577 +#: gui/editgamedialog.cpp:502 gui/options.cpp:1695 msgid "Select directory for saved games" msgstr "Selecione a pasta para os jogos salvos" -#: gui/editgamedialog.cpp:510 +#: gui/editgamedialog.cpp:508 msgid "" "Saved games sync feature doesn't work with non-default directories. If you " "want your saved games to sync, use default directory." msgstr "" -#: gui/editgamedialog.cpp:536 +#: gui/editgamedialog.cpp:534 msgid "This game ID is already taken. Please choose another one." msgstr "Este código jį esta sendo utilizado. Por favor, escolha outro." @@ -497,7 +498,7 @@ msgstr "" msgid "Triangle" msgstr "" -#: gui/fluidsynth-dialog.cpp:138 gui/options.cpp:1221 +#: gui/fluidsynth-dialog.cpp:138 gui/options.cpp:1316 msgid "Misc" msgstr "Outros" @@ -546,15 +547,15 @@ msgstr "Fechar" msgid "Mouse click" msgstr "Clique do mouse" -#: gui/gui-manager.cpp:126 base/main.cpp:337 +#: gui/gui-manager.cpp:126 base/main.cpp:340 msgid "Display keyboard" msgstr "Mostrar teclado" -#: gui/gui-manager.cpp:130 base/main.cpp:341 +#: gui/gui-manager.cpp:130 base/main.cpp:344 msgid "Remap keys" msgstr "Remapear teclas" -#: gui/gui-manager.cpp:133 base/main.cpp:344 engines/scumm/help.cpp:87 +#: gui/gui-manager.cpp:133 base/main.cpp:347 engines/scumm/help.cpp:87 #, fuzzy msgid "Toggle fullscreen" msgstr "Habilita Tela Cheia" @@ -589,111 +590,111 @@ msgstr "Pressione a tecla para associar" msgid "Choose an action to map" msgstr "Selecione uma aēćo para mapear" -#: gui/launcher.cpp:117 engines/dialogs.cpp:111 engines/mohawk/dialogs.cpp:98 +#: gui/launcher.cpp:141 engines/dialogs.cpp:111 engines/mohawk/dialogs.cpp:98 msgid "~Q~uit" msgstr "~S~air" -#: gui/launcher.cpp:117 backends/platform/sdl/macosx/appmenu_osx.mm:106 +#: gui/launcher.cpp:141 backends/platform/sdl/macosx/appmenu_osx.mm:106 msgid "Quit ScummVM" msgstr "Sair do ScummVM" -#: gui/launcher.cpp:118 +#: gui/launcher.cpp:142 msgid "A~b~out..." msgstr "So~b~re..." -#: gui/launcher.cpp:118 backends/platform/sdl/macosx/appmenu_osx.mm:80 +#: gui/launcher.cpp:142 backends/platform/sdl/macosx/appmenu_osx.mm:80 msgid "About ScummVM" msgstr "Sobre o ScumnmVM" -#: gui/launcher.cpp:119 +#: gui/launcher.cpp:143 msgid "~O~ptions..." msgstr "~O~pēões" -#: gui/launcher.cpp:119 +#: gui/launcher.cpp:143 msgid "Change global ScummVM options" msgstr "Alterar opēões globais do ScummVM" -#: gui/launcher.cpp:121 +#: gui/launcher.cpp:145 msgid "~S~tart" msgstr "~I~niciar" -#: gui/launcher.cpp:121 +#: gui/launcher.cpp:145 msgid "Start selected game" msgstr "Iniciar jogo selecionado" -#: gui/launcher.cpp:124 +#: gui/launcher.cpp:148 msgid "~L~oad..." msgstr "~C~arregar" -#: gui/launcher.cpp:124 +#: gui/launcher.cpp:148 msgid "Load saved game for selected game" msgstr "Carregar jogo salvo do jogo selecionado" -#: gui/launcher.cpp:129 +#: gui/launcher.cpp:153 msgid "~A~dd Game..." msgstr "~A~dicionar Jogo..." -#: gui/launcher.cpp:129 gui/launcher.cpp:136 +#: gui/launcher.cpp:153 gui/launcher.cpp:160 msgid "Hold Shift for Mass Add" msgstr "Segure Shift para Multi-Adiēćo" -#: gui/launcher.cpp:131 +#: gui/launcher.cpp:155 msgid "~E~dit Game..." msgstr "~E~ditar Jogo..." -#: gui/launcher.cpp:131 gui/launcher.cpp:138 +#: gui/launcher.cpp:155 gui/launcher.cpp:162 msgid "Change game options" msgstr "Alterar opēões do jogo" -#: gui/launcher.cpp:133 +#: gui/launcher.cpp:157 msgid "~R~emove Game" msgstr "~R~emover Jogo" -#: gui/launcher.cpp:133 gui/launcher.cpp:140 +#: gui/launcher.cpp:157 gui/launcher.cpp:164 msgid "Remove game from the list. The game data files stay intact" msgstr "" "Remover jogo da lista. Os arquivos de dados do jogo permanecem intactos" -#: gui/launcher.cpp:136 +#: gui/launcher.cpp:160 msgctxt "lowres" msgid "~A~dd Game..." msgstr "~A~dicionar Jogo..." -#: gui/launcher.cpp:138 +#: gui/launcher.cpp:162 msgctxt "lowres" msgid "~E~dit Game..." msgstr "~E~ditar Jogo..." -#: gui/launcher.cpp:140 +#: gui/launcher.cpp:164 msgctxt "lowres" msgid "~R~emove Game" msgstr "~R~emover Jogo" -#: gui/launcher.cpp:148 +#: gui/launcher.cpp:172 msgid "Search in game list" msgstr "Pesquisar na lista de jogos" -#: gui/launcher.cpp:152 gui/launcher.cpp:750 +#: gui/launcher.cpp:176 gui/launcher.cpp:771 msgid "Search:" msgstr "Pesquisar:" -#: gui/launcher.cpp:176 engines/dialogs.cpp:115 engines/cruise/menu.cpp:214 -#: engines/mohawk/dialogs.cpp:103 engines/mohawk/riven.cpp:733 +#: gui/launcher.cpp:200 engines/dialogs.cpp:115 engines/cruise/menu.cpp:214 +#: engines/mohawk/dialogs.cpp:103 engines/mohawk/riven.cpp:734 #: engines/pegasus/pegasus.cpp:353 engines/tsage/scenes.cpp:601 msgid "Load game:" msgstr "Carregar jogo:" -#: gui/launcher.cpp:176 engines/dialogs.cpp:115 +#: gui/launcher.cpp:200 engines/dialogs.cpp:115 #: backends/platform/wince/CEActionsPocket.cpp:267 #: backends/platform/wince/CEActionsSmartphone.cpp:231 #: engines/cruise/menu.cpp:214 engines/mohawk/dialogs.cpp:103 -#: engines/mohawk/riven.cpp:733 engines/parallaction/saveload.cpp:194 +#: engines/mohawk/riven.cpp:734 engines/parallaction/saveload.cpp:194 #: engines/pegasus/pegasus.cpp:353 engines/scumm/dialogs.cpp:185 #: engines/tsage/scenes.cpp:601 msgid "Load" msgstr "Carregar" -#: gui/launcher.cpp:285 +#: gui/launcher.cpp:306 msgid "" "Do you really want to run the mass game detector? This could potentially add " "a huge number of games." @@ -701,42 +702,42 @@ msgstr "" "Vocź realmente deseja adicionar vįrios jogos ao mesmo tempo? Isso poderį " "resultar em uma adiēćo gigantesca de jogos." -#: gui/launcher.cpp:344 +#: gui/launcher.cpp:365 msgid "This directory cannot be used yet, it is being downloaded into!" msgstr "" -#: gui/launcher.cpp:394 +#: gui/launcher.cpp:415 msgid "Do you really want to remove this game configuration?" msgstr "Vocź deseja realmente remover a configuraēćo deste jogo?" -#: gui/launcher.cpp:452 +#: gui/launcher.cpp:473 #, fuzzy msgid "Do you want to load saved game?" msgstr "Vocź deseja carregar ou salvar o jogo?" -#: gui/launcher.cpp:501 +#: gui/launcher.cpp:522 msgid "This game does not support loading games from the launcher." msgstr "Este jogo nćo suporta abrir jogos a partir do menu principal." -#: gui/launcher.cpp:505 +#: gui/launcher.cpp:526 msgid "ScummVM could not find any engine capable of running the selected game!" msgstr "" "ScummVM nćo conseguiu encontrar qualquer programa capaz de rodar o jogo " "selecionado!" -#: gui/launcher.cpp:556 +#: gui/launcher.cpp:577 msgid "ScummVM could not find any game in the specified directory!" msgstr "ScummVM nćo encontrou nenhum jogo na pasta especificada!" -#: gui/launcher.cpp:569 +#: gui/launcher.cpp:590 msgid "Pick the game:" msgstr "Escolha o jogo:" -#: gui/launcher.cpp:687 +#: gui/launcher.cpp:708 msgid "Mass Add..." msgstr "Multi-Adiēćo..." -#: gui/launcher.cpp:689 +#: gui/launcher.cpp:710 msgid "Record..." msgstr "" @@ -785,146 +786,146 @@ msgstr "Trocar" msgid "Fast replay" msgstr "Modo rįpido" -#: gui/options.cpp:112 common/updates.cpp:56 +#: gui/options.cpp:119 common/updates.cpp:56 msgid "Never" msgstr "Nunca" -#: gui/options.cpp:112 +#: gui/options.cpp:119 msgid "every 5 mins" msgstr "a cada 5 mins" -#: gui/options.cpp:112 +#: gui/options.cpp:119 msgid "every 10 mins" msgstr "a cada 10 mins" -#: gui/options.cpp:112 +#: gui/options.cpp:119 msgid "every 15 mins" msgstr "a cada 15 mins" -#: gui/options.cpp:112 +#: gui/options.cpp:119 msgid "every 30 mins" msgstr "a cada 30 mins" -#: gui/options.cpp:114 +#: gui/options.cpp:121 msgid "8 kHz" msgstr "8 kHz" -#: gui/options.cpp:114 +#: gui/options.cpp:121 msgid "11 kHz" msgstr "11 kHz" -#: gui/options.cpp:114 +#: gui/options.cpp:121 msgid "22 kHz" msgstr "22 kHz" -#: gui/options.cpp:114 +#: gui/options.cpp:121 msgid "44 kHz" msgstr "44 kHz" -#: gui/options.cpp:114 +#: gui/options.cpp:121 msgid "48 kHz" msgstr "48 kHz" -#: gui/options.cpp:291 gui/options.cpp:528 gui/options.cpp:629 -#: gui/options.cpp:699 gui/options.cpp:910 +#: gui/options.cpp:289 gui/options.cpp:552 gui/options.cpp:657 +#: gui/options.cpp:726 gui/options.cpp:937 msgctxt "soundfont" msgid "None" msgstr "Nenhum(a)" -#: gui/options.cpp:432 +#: gui/options.cpp:456 msgid "Failed to apply some of the graphic options changes:" msgstr "Falha ao aplicar algumas mudanēas nas opēões de grįfico:" -#: gui/options.cpp:444 +#: gui/options.cpp:468 msgid "the video mode could not be changed." msgstr "o modo de vķdeo nćo pōde ser alterado." -#: gui/options.cpp:450 +#: gui/options.cpp:474 msgid "the aspect ratio setting could not be changed" msgstr "a configuraēćo de proporēćo nćo pōde ser mudada" -#: gui/options.cpp:456 +#: gui/options.cpp:480 msgid "the fullscreen setting could not be changed" msgstr "a configuraēćo de tela cheia nćo pōde ser mudada" -#: gui/options.cpp:462 +#: gui/options.cpp:486 #, fuzzy msgid "the filtering setting could not be changed" msgstr "a configuraēćo de tela cheia nćo pōde ser mudada" -#: gui/options.cpp:782 +#: gui/options.cpp:809 msgid "Graphics mode:" msgstr "Modo grįfico:" -#: gui/options.cpp:796 +#: gui/options.cpp:823 msgid "Render mode:" msgstr "Renderizaēćo" -#: gui/options.cpp:796 gui/options.cpp:797 +#: gui/options.cpp:823 gui/options.cpp:824 msgid "Special dithering modes supported by some games" msgstr "Modos especiais de dithering suportados por alguns jogos" -#: gui/options.cpp:808 -#: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:2450 +#: gui/options.cpp:835 backends/graphics/openglsdl/openglsdl-graphics.cpp:615 +#: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:2460 msgid "Fullscreen mode" msgstr "Modo Tela Cheia" -#: gui/options.cpp:811 +#: gui/options.cpp:838 #, fuzzy msgid "Filter graphics" msgstr "Grįficos" -#: gui/options.cpp:811 +#: gui/options.cpp:838 msgid "Use linear filtering when scaling graphics" msgstr "" -#: gui/options.cpp:814 +#: gui/options.cpp:841 msgid "Aspect ratio correction" msgstr "Correēćo de proporēćo" -#: gui/options.cpp:814 +#: gui/options.cpp:841 msgid "Correct aspect ratio for 320x200 games" msgstr "Correēćo de proporēćo para jogos 320x200" -#: gui/options.cpp:822 +#: gui/options.cpp:849 msgid "Preferred Device:" msgstr "Dispositivo pref.:" -#: gui/options.cpp:822 +#: gui/options.cpp:849 msgid "Music Device:" msgstr "Disp. de mśsica:" -#: gui/options.cpp:822 gui/options.cpp:824 +#: gui/options.cpp:849 gui/options.cpp:851 msgid "Specifies preferred sound device or sound card emulator" msgstr "Especifica o dispositivo de som preferido ou emulador de placa de som" -#: gui/options.cpp:822 gui/options.cpp:824 gui/options.cpp:825 +#: gui/options.cpp:849 gui/options.cpp:851 gui/options.cpp:852 msgid "Specifies output sound device or sound card emulator" msgstr "Especifica o dispositivo de saķda de som ou emulador de placa de som" -#: gui/options.cpp:824 +#: gui/options.cpp:851 msgctxt "lowres" msgid "Preferred Dev.:" msgstr "Dispositivo pref.:" -#: gui/options.cpp:824 +#: gui/options.cpp:851 msgctxt "lowres" msgid "Music Device:" msgstr "Dispositivo de mśsica:" -#: gui/options.cpp:851 +#: gui/options.cpp:878 msgid "AdLib emulator:" msgstr "Emulador AdLib:" -#: gui/options.cpp:851 gui/options.cpp:852 +#: gui/options.cpp:878 gui/options.cpp:879 msgid "AdLib is used for music in many games" msgstr "AdLib é utilizado para mśsica em vįrios jogos" -#: gui/options.cpp:862 +#: gui/options.cpp:889 msgid "Output rate:" msgstr "Taxa de saķda:" -#: gui/options.cpp:862 gui/options.cpp:863 +#: gui/options.cpp:889 gui/options.cpp:890 msgid "" "Higher value specifies better sound quality but may be not supported by your " "soundcard" @@ -932,62 +933,62 @@ msgstr "" "Maior valor especifica melhor qualidade de som, mas pode nćo ser suportado " "por sua placa de som" -#: gui/options.cpp:873 +#: gui/options.cpp:900 msgid "GM Device:" msgstr "Dispositivo GM:" -#: gui/options.cpp:873 +#: gui/options.cpp:900 msgid "Specifies default sound device for General MIDI output" msgstr "Especifique o dispositivo de som padrćo para a saķda General MIDI" -#: gui/options.cpp:884 +#: gui/options.cpp:911 msgid "Don't use General MIDI music" msgstr "Nćo usar mśsica General MIDI" -#: gui/options.cpp:895 gui/options.cpp:957 +#: gui/options.cpp:922 gui/options.cpp:984 msgid "Use first available device" msgstr "Usar o primeiro dispositivo disponķvel" -#: gui/options.cpp:907 +#: gui/options.cpp:934 msgid "SoundFont:" msgstr "SoundFont:" -#: gui/options.cpp:907 gui/options.cpp:909 gui/options.cpp:910 +#: gui/options.cpp:934 gui/options.cpp:936 gui/options.cpp:937 msgid "SoundFont is supported by some audio cards, FluidSynth and Timidity" msgstr "SoundFont é suportado por algumas placas de som, FluidSynth e Timidity" -#: gui/options.cpp:909 +#: gui/options.cpp:936 msgctxt "lowres" msgid "SoundFont:" msgstr "SoundFont:" -#: gui/options.cpp:915 +#: gui/options.cpp:942 msgid "Mixed AdLib/MIDI mode" msgstr "Mixar AdLib/MIDI" -#: gui/options.cpp:915 +#: gui/options.cpp:942 msgid "Use both MIDI and AdLib sound generation" msgstr "Usar MIDI e AdLib juntos na geraēćo de som" -#: gui/options.cpp:918 +#: gui/options.cpp:945 msgid "MIDI gain:" msgstr "Ganho MIDI:" -#: gui/options.cpp:928 +#: gui/options.cpp:955 msgid "MT-32 Device:" msgstr "Dispositivo MT-32:" -#: gui/options.cpp:928 +#: gui/options.cpp:955 msgid "Specifies default sound device for Roland MT-32/LAPC1/CM32l/CM64 output" msgstr "" "Especifique o dispositivo de som padrćo para a saķda Roland MT-32/LAPC1/" "CM32l/CM64" -#: gui/options.cpp:933 +#: gui/options.cpp:960 msgid "True Roland MT-32 (disable GM emulation)" msgstr "Roland MT-32 real (desligar emulaēćo GM)" -#: gui/options.cpp:933 gui/options.cpp:935 +#: gui/options.cpp:960 gui/options.cpp:962 msgid "" "Check if you want to use your real hardware Roland-compatible sound device " "connected to your computer" @@ -995,358 +996,358 @@ msgstr "" "Verifique se vocź quer usar o seu dispositivo de hardware de som compatķvel " "com Roland" -#: gui/options.cpp:935 +#: gui/options.cpp:962 msgctxt "lowres" msgid "True Roland MT-32 (no GM emulation)" msgstr "Roland MT-32 real (sem emulaēćo GM)" -#: gui/options.cpp:938 +#: gui/options.cpp:965 #, fuzzy msgid "Roland GS Device (enable MT-32 mappings)" msgstr "Roland MT-32 real (desligar emulaēćo GM)" -#: gui/options.cpp:938 +#: gui/options.cpp:965 msgid "" "Check if you want to enable patch mappings to emulate an MT-32 on a Roland " "GS device" msgstr "" -#: gui/options.cpp:947 +#: gui/options.cpp:974 msgid "Don't use Roland MT-32 music" msgstr "Nćo usar mśsica Roland MT-32" -#: gui/options.cpp:974 +#: gui/options.cpp:1001 msgid "Text and Speech:" msgstr "Texto e Voz:" -#: gui/options.cpp:978 gui/options.cpp:988 +#: gui/options.cpp:1005 gui/options.cpp:1015 msgid "Speech" msgstr "Voz" -#: gui/options.cpp:979 gui/options.cpp:989 +#: gui/options.cpp:1006 gui/options.cpp:1016 msgid "Subtitles" msgstr "Legendas" -#: gui/options.cpp:980 +#: gui/options.cpp:1007 msgid "Both" msgstr "Ambos" -#: gui/options.cpp:982 +#: gui/options.cpp:1009 msgid "Subtitle speed:" msgstr "Rapidez legendas:" -#: gui/options.cpp:984 +#: gui/options.cpp:1011 msgctxt "lowres" msgid "Text and Speech:" msgstr "Texto e Voz:" -#: gui/options.cpp:988 +#: gui/options.cpp:1015 msgid "Spch" msgstr "Voz" -#: gui/options.cpp:989 +#: gui/options.cpp:1016 msgid "Subs" msgstr "Legs" -#: gui/options.cpp:990 +#: gui/options.cpp:1017 msgctxt "lowres" msgid "Both" msgstr "Ambos" -#: gui/options.cpp:990 +#: gui/options.cpp:1017 msgid "Show subtitles and play speech" msgstr "Mostrar legenda e vozes (dublagem)" -#: gui/options.cpp:992 +#: gui/options.cpp:1019 msgctxt "lowres" msgid "Subtitle speed:" msgstr "Velocidade das legendas:" -#: gui/options.cpp:1008 +#: gui/options.cpp:1035 msgid "Music volume:" msgstr "Volume da Mśsica:" -#: gui/options.cpp:1010 +#: gui/options.cpp:1037 msgctxt "lowres" msgid "Music volume:" msgstr "Volume da Mśsica:" -#: gui/options.cpp:1017 +#: gui/options.cpp:1044 msgid "Mute All" msgstr "Mudo" -#: gui/options.cpp:1020 +#: gui/options.cpp:1047 msgid "SFX volume:" msgstr "Volume dos Sons:" -#: gui/options.cpp:1020 gui/options.cpp:1022 gui/options.cpp:1023 +#: gui/options.cpp:1047 gui/options.cpp:1049 gui/options.cpp:1050 msgid "Special sound effects volume" msgstr "Volume dos efeitos sonoros especiais" -#: gui/options.cpp:1022 +#: gui/options.cpp:1049 msgctxt "lowres" msgid "SFX volume:" msgstr "Volume dos Sons:" -#: gui/options.cpp:1030 +#: gui/options.cpp:1057 msgid "Speech volume:" msgstr "Volume da Voz:" -#: gui/options.cpp:1032 +#: gui/options.cpp:1059 msgctxt "lowres" msgid "Speech volume:" msgstr "Volume da Voz:" -#: gui/options.cpp:1162 +#: gui/options.cpp:1257 msgid "FluidSynth Settings" msgstr "" -#: gui/options.cpp:1193 +#: gui/options.cpp:1288 msgid "Theme Path:" msgstr "Pasta do Tema" -#: gui/options.cpp:1195 +#: gui/options.cpp:1290 msgctxt "lowres" msgid "Theme Path:" msgstr "Pasta do Tema" -#: gui/options.cpp:1201 gui/options.cpp:1203 gui/options.cpp:1204 +#: gui/options.cpp:1296 gui/options.cpp:1298 gui/options.cpp:1299 msgid "Specifies path to additional data used by all games or ScummVM" msgstr "" "Especifica a pasta para os dados adicionais usados por todos os jogos ou " "ScummVM" -#: gui/options.cpp:1210 +#: gui/options.cpp:1305 msgid "Plugins Path:" msgstr "Pasta de Plugins:" -#: gui/options.cpp:1212 +#: gui/options.cpp:1307 msgctxt "lowres" msgid "Plugins Path:" msgstr "Pasta de Plugins:" -#: gui/options.cpp:1223 +#: gui/options.cpp:1318 msgctxt "lowres" msgid "Misc" msgstr "Outros" -#: gui/options.cpp:1225 +#: gui/options.cpp:1320 msgid "Theme:" msgstr "Tema:" -#: gui/options.cpp:1229 +#: gui/options.cpp:1324 msgid "GUI Renderer:" msgstr "Renderizador GUI:" -#: gui/options.cpp:1241 +#: gui/options.cpp:1336 msgid "Autosave:" msgstr "Auto-Salvar:" -#: gui/options.cpp:1243 +#: gui/options.cpp:1338 msgctxt "lowres" msgid "Autosave:" msgstr "Auto-Salvar:" -#: gui/options.cpp:1251 +#: gui/options.cpp:1346 msgid "Keys" msgstr "Teclas" -#: gui/options.cpp:1258 +#: gui/options.cpp:1353 msgid "GUI Language:" msgstr "Idioma do GUI:" -#: gui/options.cpp:1258 +#: gui/options.cpp:1353 msgid "Language of ScummVM GUI" msgstr "Linguagem do ScummVM GUI" -#: gui/options.cpp:1286 +#: gui/options.cpp:1381 msgid "Update check:" msgstr "" -#: gui/options.cpp:1286 +#: gui/options.cpp:1381 msgid "How often to check ScummVM updates" msgstr "" -#: gui/options.cpp:1298 +#: gui/options.cpp:1393 msgid "Check now" msgstr "" -#: gui/options.cpp:1306 +#: gui/options.cpp:1401 msgid "Cloud" msgstr "" -#: gui/options.cpp:1308 +#: gui/options.cpp:1403 msgctxt "lowres" msgid "Cloud" msgstr "" -#: gui/options.cpp:1319 +#: gui/options.cpp:1408 msgid "Storage:" msgstr "" -#: gui/options.cpp:1319 +#: gui/options.cpp:1408 msgid "Active cloud storage" msgstr "" -#: gui/options.cpp:1326 gui/options.cpp:1877 +#: gui/options.cpp:1415 gui/options.cpp:1972 msgid "<none>" msgstr "" -#: gui/options.cpp:1330 backends/platform/wii/options.cpp:114 +#: gui/options.cpp:1419 backends/platform/wii/options.cpp:114 msgid "Username:" msgstr "Nome de usuįrio:" -#: gui/options.cpp:1330 +#: gui/options.cpp:1419 msgid "Username used by this storage" msgstr "" -#: gui/options.cpp:1333 +#: gui/options.cpp:1422 msgid "Used space:" msgstr "" -#: gui/options.cpp:1333 +#: gui/options.cpp:1422 msgid "Space used by ScummVM's saved games on this storage" msgstr "" -#: gui/options.cpp:1336 +#: gui/options.cpp:1425 msgid "Last sync time:" msgstr "" -#: gui/options.cpp:1336 +#: gui/options.cpp:1425 msgid "When the last saved games sync for this storage occured" msgstr "" -#: gui/options.cpp:1339 gui/storagewizarddialog.cpp:71 +#: gui/options.cpp:1428 gui/storagewizarddialog.cpp:71 msgid "Connect" msgstr "" -#: gui/options.cpp:1339 +#: gui/options.cpp:1428 msgid "Open wizard dialog to connect your cloud storage account" msgstr "" -#: gui/options.cpp:1340 +#: gui/options.cpp:1429 msgid "Refresh" msgstr "" -#: gui/options.cpp:1340 +#: gui/options.cpp:1429 msgid "Refresh current cloud storage information (username and usage)" msgstr "" -#: gui/options.cpp:1341 +#: gui/options.cpp:1430 #, fuzzy msgid "Download" msgstr "Baixo" -#: gui/options.cpp:1341 +#: gui/options.cpp:1430 msgid "Open downloads manager dialog" msgstr "" -#: gui/options.cpp:1343 +#: gui/options.cpp:1432 msgid "Run server" msgstr "" -#: gui/options.cpp:1343 +#: gui/options.cpp:1432 msgid "Run local webserver" msgstr "" -#: gui/options.cpp:1344 gui/options.cpp:1987 +#: gui/options.cpp:1433 gui/options.cpp:2082 #, fuzzy msgid "Not running" msgstr "Erro ao executar o jogo:" -#: gui/options.cpp:1348 +#: gui/options.cpp:1437 #, fuzzy msgid "/root/ Path:" msgstr "Pasta de Extras" -#: gui/options.cpp:1348 gui/options.cpp:1350 gui/options.cpp:1351 +#: gui/options.cpp:1437 gui/options.cpp:1439 gui/options.cpp:1440 #, fuzzy msgid "Specifies which directory the Files Manager can access" msgstr "Especifique onde guardar seus jogos salvos" -#: gui/options.cpp:1350 +#: gui/options.cpp:1439 #, fuzzy msgctxt "lowres" msgid "/root/ Path:" msgstr "Pasta de Extras" -#: gui/options.cpp:1360 +#: gui/options.cpp:1449 #, fuzzy msgid "Server's port:" msgstr "Servidor:" -#: gui/options.cpp:1360 +#: gui/options.cpp:1449 msgid "" "Which port is used by the server\n" "Auth with server is not available with non-default port" msgstr "" -#: gui/options.cpp:1520 -msgid "You have to restart ScummVM before your changes will take effect." -msgstr "Vocź tem que reiniciar o ScummVM para funcionar." +#: gui/options.cpp:1462 +msgid "Apply" +msgstr "" -#: gui/options.cpp:1543 +#: gui/options.cpp:1628 #, fuzzy msgid "Failed to change cloud storage!" msgstr "Falha ao salvar o jogo" -#: gui/options.cpp:1546 +#: gui/options.cpp:1631 msgid "Another cloud storage is already active." msgstr "" -#: gui/options.cpp:1584 +#: gui/options.cpp:1667 +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 "" +"O tema que vocź selecionou nćo suporta seu idioma atual. Se vocź quiser usar " +"este tema vocź precisa mudar para outro idioma." + +#: gui/options.cpp:1702 msgid "The chosen directory cannot be written to. Please select another one." msgstr "O diretório escolhido nćo pode ser usado. Por favor, selecione outro." -#: gui/options.cpp:1593 +#: gui/options.cpp:1711 msgid "Select directory for GUI themes" msgstr "Selecione a pasta para os temas da Interface de Uso Grįfico" -#: gui/options.cpp:1603 +#: gui/options.cpp:1721 msgid "Select directory for extra files" msgstr "Selecione a pasta para os arquivos extras" -#: gui/options.cpp:1614 +#: gui/options.cpp:1732 msgid "Select directory for plugins" msgstr "Selecione a pasta para os plugins" -#: gui/options.cpp:1626 +#: gui/options.cpp:1744 #, fuzzy msgid "Select directory for Files Manager /root/" msgstr "Selecione a pasta para os arquivos extras" -#: gui/options.cpp:1688 -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 "" -"O tema que vocź selecionou nćo suporta seu idioma atual. Se vocź quiser usar " -"este tema vocź precisa mudar para outro idioma." - -#: gui/options.cpp:1884 +#: gui/options.cpp:1979 #, c-format msgid "%llu bytes" msgstr "" -#: gui/options.cpp:1892 +#: gui/options.cpp:1987 msgid "<right now>" msgstr "" -#: gui/options.cpp:1894 +#: gui/options.cpp:1989 #, fuzzy msgid "<never>" msgstr "Nunca" -#: gui/options.cpp:1978 +#: gui/options.cpp:2073 #, fuzzy msgid "Stop server" msgstr "Servidor:" -#: gui/options.cpp:1979 +#: gui/options.cpp:2074 msgid "Stop local webserver" msgstr "" -#: gui/options.cpp:2068 +#: gui/options.cpp:2163 msgid "" "Request failed.\n" "Check your Internet connection." @@ -1629,35 +1630,35 @@ msgstr "" msgid "Clear value" msgstr "Limpar valor" -#: base/main.cpp:250 +#: base/main.cpp:253 #, c-format msgid "Engine does not support debug level '%s'" msgstr "Esse programa nćo suporta o nķvel de debug '%s'" -#: base/main.cpp:324 +#: base/main.cpp:327 msgid "Menu" msgstr "Menu" -#: base/main.cpp:327 backends/platform/symbian/src/SymbianActions.cpp:45 +#: base/main.cpp:330 backends/platform/symbian/src/SymbianActions.cpp:45 #: backends/platform/wince/CEActionsPocket.cpp:45 #: backends/platform/wince/CEActionsSmartphone.cpp:46 msgid "Skip" msgstr "Pular" -#: base/main.cpp:330 backends/platform/symbian/src/SymbianActions.cpp:50 +#: base/main.cpp:333 backends/platform/symbian/src/SymbianActions.cpp:50 #: backends/platform/wince/CEActionsPocket.cpp:42 msgid "Pause" msgstr "Pausar" -#: base/main.cpp:333 +#: base/main.cpp:336 msgid "Skip line" msgstr "Pula linha" -#: base/main.cpp:542 +#: base/main.cpp:547 msgid "Error running game:" msgstr "Erro ao executar o jogo:" -#: base/main.cpp:589 +#: base/main.cpp:594 msgid "Could not find any engine capable of running the selected game" msgstr "" "Nćo foi possķvel encontrar qualquer programa capaz de rodar o jogo " @@ -2039,11 +2040,11 @@ msgstr "Emulador FM Towns" msgid "PC-98 Audio" msgstr "Įudio" -#: audio/softsynth/mt32.cpp:196 +#: audio/softsynth/mt32.cpp:197 msgid "Initializing MT-32 Emulator" msgstr "Inicializando Emulador MT-32" -#: audio/softsynth/mt32.cpp:434 +#: audio/softsynth/mt32.cpp:435 msgid "MT-32 Emulator" msgstr "Emulador MT-32" @@ -2059,34 +2060,34 @@ msgstr "Emulador IBM PCjr" msgid "C64 Audio Emulator" msgstr "Emulador Som C64" -#: backends/cloud/storage.cpp:210 +#: backends/cloud/storage.cpp:211 #, fuzzy msgid "Saved games sync complete." msgstr "Busca completa!" -#: backends/cloud/storage.cpp:221 +#: backends/cloud/storage.cpp:222 msgid "Saved games sync was cancelled." msgstr "" -#: backends/cloud/storage.cpp:223 +#: backends/cloud/storage.cpp:224 msgid "" "Saved games sync failed.\n" "Check your Internet connection." msgstr "" -#: backends/cloud/storage.cpp:327 +#: backends/cloud/storage.cpp:328 #, c-format msgid "" "Download complete.\n" "Failed to download %u files." msgstr "" -#: backends/cloud/storage.cpp:329 +#: backends/cloud/storage.cpp:330 #, fuzzy msgid "Download complete." msgstr "Busca completa!" -#: backends/cloud/storage.cpp:339 +#: backends/cloud/storage.cpp:340 #, fuzzy msgid "Download failed." msgstr "Carregar jogo:" @@ -2199,43 +2200,53 @@ msgstr "" msgid "OpenGL" msgstr "Abrir" -#: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:47 -#: backends/graphics/wincesdl/wincesdl-graphics.cpp:88 -#: backends/graphics/wincesdl/wincesdl-graphics.cpp:95 -msgid "Normal (no scaling)" -msgstr "Normal (sem escala)" +#: backends/graphics/openglsdl/openglsdl-graphics.cpp:617 +#: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:2462 +msgid "Windowed mode" +msgstr "Modo janela" -#: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:66 -msgctxt "lowres" -msgid "Normal (no scaling)" -msgstr "Normal (sem escala)" +#: backends/graphics/openglsdl/openglsdl-graphics.cpp:710 +#, c-format +msgid "Resolution: %dx%d" +msgstr "" -#: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:2329 +#: backends/graphics/openglsdl/openglsdl-graphics.cpp:731 +#: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:2338 msgid "Enabled aspect ratio correction" msgstr "Correēćo de proporēćo habilitada" -#: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:2335 +#: backends/graphics/openglsdl/openglsdl-graphics.cpp:733 +#: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:2344 msgid "Disabled aspect ratio correction" msgstr "Correēćo de proporēćo desabilitada" -#: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:2353 +#: backends/graphics/openglsdl/openglsdl-graphics.cpp:753 +#: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:2362 #, fuzzy msgid "Filtering enabled" msgstr "Clicando Habilitado" -#: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:2355 +#: backends/graphics/openglsdl/openglsdl-graphics.cpp:755 +#: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:2364 #, fuzzy msgid "Filtering disabled" msgstr "Clicando Desabilitado" -#: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:2407 +#: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:47 +#: backends/graphics/wincesdl/wincesdl-graphics.cpp:88 +#: backends/graphics/wincesdl/wincesdl-graphics.cpp:95 +msgid "Normal (no scaling)" +msgstr "Normal (sem escala)" + +#: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:66 +msgctxt "lowres" +msgid "Normal (no scaling)" +msgstr "Normal (sem escala)" + +#: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:2417 msgid "Active graphics filter:" msgstr "Ativa os filtros grįficos" -#: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:2452 -msgid "Windowed mode" -msgstr "Modo janela" - #: backends/keymapper/remap-dialog.cpp:48 msgid "Keymap:" msgstr "Mapa de Teclas:" @@ -3160,6 +3171,39 @@ msgstr "~M~enu Principal ScummVM" msgid "~W~ater Effect Enabled" msgstr "Modo ~E~feitos de įgua ativado" +#: engines/mohawk/riven.cpp:150 +msgid "" +"You're missing a Riven executable. The Windows executable is 'riven.exe' or " +"'rivendmo.exe'. " +msgstr "" + +#: engines/mohawk/riven.cpp:151 +msgid "" +"Using the 'arcriven.z' installer file also works. In addition, you can use " +"the Mac 'Riven' executable." +msgstr "" + +#: engines/mohawk/riven.cpp:162 +msgid "" +"You're missing 'extras.mhk'. Using the 'arcriven.z' installer file also " +"works." +msgstr "" + +#: engines/mohawk/riven_external.cpp:213 +msgid "" +"Exploration beyond this point available only within the full version of\n" +"the game." +msgstr "" + +#: engines/mohawk/riven_external.cpp:655 +msgid "" +"At this point, the Riven Demo would\n" +"ask if you would like to open a web browser\n" +"to bring you to the Red Orb store to buy\n" +"the game. ScummVM cannot do that and\n" +"the site no longer exists." +msgstr "" + #: engines/mohawk/mohawk.cpp:61 #, fuzzy msgid "The game is paused. Press any key to continue." @@ -4291,6 +4335,9 @@ msgstr "" msgid "Use MPEG video from the DVD version, instead of lower resolution AVI" msgstr "" +#~ msgid "You have to restart ScummVM before your changes will take effect." +#~ msgstr "Vocź tem que reiniciar o ScummVM para funcionar." + #, fuzzy #~ msgid "Specifies where Files Manager can access to" #~ msgstr "Especifique onde guardar seus jogos salvos" diff --git a/po/ru_RU.po b/po/ru_RU.po index 8486dd4642..ba31a8f410 100644 --- a/po/ru_RU.po +++ b/po/ru_RU.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: ScummVM 1.8.0svn\n" "Report-Msgid-Bugs-To: scummvm-devel@lists.scummvm.org\n" -"POT-Creation-Date: 2016-10-12 23:37+0100\n" -"PO-Revision-Date: 2016-10-07 19:14+0300\n" +"POT-Creation-Date: 2016-11-05 12:43+0100\n" +"PO-Revision-Date: 2016-11-06 01:04+0200\n" "Last-Translator: Eugene Sandulenko <sev@scummvm.org>\n" "Language-Team: Russian\n" "Language: Russian\n" @@ -18,6 +18,7 @@ msgstr "" "Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" "%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" "X-Generator: Poedit 1.8.9\n" +"X-Language-name: Russian\n" #: gui/about.cpp:94 #, c-format @@ -57,7 +58,7 @@ msgstr "²ŅÕąå" #: gui/browser.cpp:75 gui/chooser.cpp:46 gui/editgamedialog.cpp:292 #: gui/editrecorddialog.cpp:67 gui/filebrowser-dialog.cpp:64 #: gui/fluidsynth-dialog.cpp:152 gui/KeysDialog.cpp:43 gui/massadd.cpp:95 -#: gui/options.cpp:1376 gui/predictivedialog.cpp:73 gui/recorderdialog.cpp:69 +#: gui/options.cpp:1461 gui/predictivedialog.cpp:73 gui/recorderdialog.cpp:69 #: gui/recorderdialog.cpp:155 gui/remotebrowser.cpp:59 #: gui/saveload-dialog.cpp:383 gui/saveload-dialog.cpp:443 #: gui/saveload-dialog.cpp:717 gui/saveload-dialog.cpp:1111 @@ -81,7 +82,7 @@ msgstr "²ėŃąŠāģ" msgid "Select directory where to download game data" msgstr "²ėŃÕąŲāÕ ŌŲąÕŚāŽąŲī ŌŪļ įŚŠēŲŅŠŻŲļ ŌŠŻŻėå ŲÓąė" -#: gui/downloaddialog.cpp:49 gui/editgamedialog.cpp:472 gui/launcher.cpp:173 +#: gui/downloaddialog.cpp:49 gui/editgamedialog.cpp:470 gui/launcher.cpp:197 msgid "Select directory with game data" msgstr "²ėŃÕąŲāÕ ŌŲąÕŚāŽąŲī į äŠŁŪŠÜŲ ŲÓąė" @@ -116,7 +117,7 @@ msgstr "" #: gui/downloaddialog.cpp:118 gui/downloaddialog.cpp:152 #: gui/filebrowser-dialog.cpp:132 gui/fluidsynth-dialog.cpp:217 -#: gui/launcher.cpp:286 gui/launcher.cpp:394 gui/launcher.cpp:453 +#: gui/launcher.cpp:307 gui/launcher.cpp:415 gui/launcher.cpp:474 #: gui/storagewizarddialog.cpp:112 #: backends/events/symbiansdl/symbiansdl-events.cpp:186 #: backends/platform/wince/CEActionsPocket.cpp:326 @@ -128,7 +129,7 @@ msgstr "“Š" #: gui/downloaddialog.cpp:118 gui/downloaddialog.cpp:153 #: gui/filebrowser-dialog.cpp:132 gui/fluidsynth-dialog.cpp:217 -#: gui/launcher.cpp:286 gui/launcher.cpp:394 gui/launcher.cpp:453 +#: gui/launcher.cpp:307 gui/launcher.cpp:415 gui/launcher.cpp:474 #: gui/storagewizarddialog.cpp:112 #: backends/events/symbiansdl/symbiansdl-events.cpp:186 #: backends/platform/wince/CEActionsPocket.cpp:326 @@ -138,7 +139,7 @@ msgstr "“Š" msgid "No" msgstr "½Õā" -#: gui/downloaddialog.cpp:136 gui/launcher.cpp:544 +#: gui/downloaddialog.cpp:136 gui/launcher.cpp:565 msgid "ScummVM couldn't open the specified directory!" msgstr "ScummVM ŻÕ ÜŽÖÕā ŽāŚąėāģ ćŚŠ×ŠŻŻćī ŌŲąÕŚāŽąŲī!" @@ -151,8 +152,8 @@ msgstr "" "įŽŌÕąÖŲā äŠŁŪ į āŠŚŲÜ ÖÕ ŲÜÕŻÕÜ." #: gui/downloaddialog.cpp:146 gui/editgamedialog.cpp:293 -#: gui/fluidsynth-dialog.cpp:153 gui/KeysDialog.cpp:42 gui/launcher.cpp:501 -#: gui/launcher.cpp:505 gui/massadd.cpp:92 gui/options.cpp:1377 +#: gui/fluidsynth-dialog.cpp:153 gui/KeysDialog.cpp:42 gui/launcher.cpp:522 +#: gui/launcher.cpp:526 gui/massadd.cpp:92 gui/options.cpp:1463 #: gui/saveload-dialog.cpp:1112 engines/engine.cpp:477 engines/engine.cpp:488 #: backends/platform/wii/options.cpp:47 #: backends/platform/wince/CELauncherDialog.cpp:54 @@ -236,8 +237,8 @@ msgid "" msgstr "" "Ļ×ėŚ ŲÓąė. ø×ÜÕŻÕŻŲÕ ķāŽŁ ŻŠįāąŽŁŚŲ ŻÕ ßąÕŅąŠāŲā ŲÓąć ŻŠ ŠŻÓŪŲŁįŚŽÜ Ņ ąćįįŚćī" -#: gui/editgamedialog.cpp:151 gui/editgamedialog.cpp:165 gui/options.cpp:114 -#: gui/options.cpp:785 gui/options.cpp:798 gui/options.cpp:1261 +#: gui/editgamedialog.cpp:151 gui/editgamedialog.cpp:165 gui/options.cpp:121 +#: gui/options.cpp:812 gui/options.cpp:825 gui/options.cpp:1356 #: audio/null.cpp:41 msgid "<default>" msgstr "<ߎ ćÜŽŪēŠŻŲī>" @@ -260,11 +261,11 @@ msgstr "æŪŠā䎹܊:" msgid "Engine" msgstr "“ŅŲÖŽŚ" -#: gui/editgamedialog.cpp:184 gui/options.cpp:1120 gui/options.cpp:1137 +#: gui/editgamedialog.cpp:184 gui/options.cpp:1147 gui/options.cpp:1232 msgid "Graphics" msgstr "³ąŠäŲŚŠ" -#: gui/editgamedialog.cpp:184 gui/options.cpp:1120 gui/options.cpp:1137 +#: gui/editgamedialog.cpp:184 gui/options.cpp:1147 gui/options.cpp:1232 msgid "GFX" msgstr "³ąä" @@ -277,7 +278,7 @@ msgctxt "lowres" msgid "Override global graphic settings" msgstr "æÕąÕŚąėāģ ÓŪŽŃŠŪģŻėÕ ćįāŠŻŽŅŚŲ ÓąŠäŲŚŲ" -#: gui/editgamedialog.cpp:196 gui/options.cpp:1143 +#: gui/editgamedialog.cpp:196 gui/options.cpp:1238 msgid "Audio" msgstr "°ćŌŲŽ" @@ -290,11 +291,11 @@ msgctxt "lowres" msgid "Override global audio settings" msgstr "æÕąÕŚąėāģ ÓŪŽŃŠŪģŻėÕ ćįāŠŻŽŅŚŲ ŠćŌŲŽ" -#: gui/editgamedialog.cpp:210 gui/options.cpp:1148 +#: gui/editgamedialog.cpp:210 gui/options.cpp:1243 msgid "Volume" msgstr "³ąŽÜŚŽįāģ" -#: gui/editgamedialog.cpp:212 gui/options.cpp:1150 +#: gui/editgamedialog.cpp:212 gui/options.cpp:1245 msgctxt "lowres" msgid "Volume" msgstr "³ąŽÜŚ" @@ -308,7 +309,7 @@ msgctxt "lowres" msgid "Override global volume settings" msgstr "æÕąÕŚąėāģ ÓŪŽŃŠŪģŻėÕ ćįāŠŻŽŅŚŲ ÓąŽÜŚŽįāŲ" -#: gui/editgamedialog.cpp:226 gui/options.cpp:1158 +#: gui/editgamedialog.cpp:226 gui/options.cpp:1253 msgid "MIDI" msgstr "MIDI" @@ -321,7 +322,7 @@ msgctxt "lowres" msgid "Override global MIDI settings" msgstr "æÕąÕŚąėāģ ÓŪŽŃŠŪģŻėÕ ćįāŠŻŽŅŚŲ MIDI" -#: gui/editgamedialog.cpp:241 gui/options.cpp:1168 +#: gui/editgamedialog.cpp:241 gui/options.cpp:1263 msgid "MT-32" msgstr "MT-32" @@ -334,11 +335,11 @@ msgctxt "lowres" msgid "Override global MT-32 settings" msgstr "æÕąÕŚąėāģ ÓŪŽŃŠŪģŻėÕ ćįāŠŻŽŅŚŲ MT-32" -#: gui/editgamedialog.cpp:255 gui/options.cpp:1175 +#: gui/editgamedialog.cpp:255 gui/options.cpp:1270 msgid "Paths" msgstr "æćāŲ" -#: gui/editgamedialog.cpp:257 gui/options.cpp:1177 +#: gui/editgamedialog.cpp:257 gui/options.cpp:1272 msgctxt "lowres" msgid "Paths" msgstr "æćāŲ" @@ -352,7 +353,7 @@ msgctxt "lowres" msgid "Game Path:" msgstr "³ŌÕ ŲÓąŠ:" -#: gui/editgamedialog.cpp:271 gui/options.cpp:1201 +#: gui/editgamedialog.cpp:271 gui/options.cpp:1296 msgid "Extra Path:" msgstr "“Žß. ßćāģ:" @@ -361,56 +362,56 @@ msgstr "“Žß. ßćāģ:" msgid "Specifies path to additional data used by the game" msgstr "ĆŚŠ×ėŅŠÕā ßćāģ Ś ŌŽßŽŪŻŲāÕŪģŻėÜ äŠŁŪŠÜ ŌŠŻŻėå ŌŪļ ŲÓąė" -#: gui/editgamedialog.cpp:273 gui/options.cpp:1203 +#: gui/editgamedialog.cpp:273 gui/options.cpp:1298 msgctxt "lowres" msgid "Extra Path:" msgstr "“Žß. ßćāģ:" -#: gui/editgamedialog.cpp:280 gui/options.cpp:1185 +#: gui/editgamedialog.cpp:280 gui/options.cpp:1280 msgid "Save Path:" msgstr "ĮŽåąŠŻÕŻŲļ ŲÓą:" #: gui/editgamedialog.cpp:280 gui/editgamedialog.cpp:282 -#: gui/editgamedialog.cpp:283 gui/options.cpp:1185 gui/options.cpp:1187 -#: gui/options.cpp:1188 +#: gui/editgamedialog.cpp:283 gui/options.cpp:1280 gui/options.cpp:1282 +#: gui/options.cpp:1283 msgid "Specifies where your saved games are put" msgstr "ĆŚŠ×ėŅŠÕā ßćāģ Ś įŽåąŠŻÕŻŲļÜ ŲÓąė" -#: gui/editgamedialog.cpp:282 gui/options.cpp:1187 +#: gui/editgamedialog.cpp:282 gui/options.cpp:1282 msgctxt "lowres" msgid "Save Path:" msgstr "æćāģ įŽåą:" -#: gui/editgamedialog.cpp:301 gui/editgamedialog.cpp:400 -#: gui/editgamedialog.cpp:459 gui/editgamedialog.cpp:520 gui/options.cpp:1196 -#: gui/options.cpp:1204 gui/options.cpp:1213 gui/options.cpp:1414 -#: gui/options.cpp:1420 gui/options.cpp:1428 gui/options.cpp:1451 -#: gui/options.cpp:1467 gui/options.cpp:1473 gui/options.cpp:1480 -#: gui/options.cpp:1488 gui/options.cpp:1640 gui/options.cpp:1643 -#: gui/options.cpp:1650 gui/options.cpp:1660 +#: gui/editgamedialog.cpp:301 gui/editgamedialog.cpp:398 +#: gui/editgamedialog.cpp:457 gui/editgamedialog.cpp:518 gui/options.cpp:1291 +#: gui/options.cpp:1299 gui/options.cpp:1308 gui/options.cpp:1488 +#: gui/options.cpp:1494 gui/options.cpp:1502 gui/options.cpp:1525 +#: gui/options.cpp:1554 gui/options.cpp:1560 gui/options.cpp:1567 +#: gui/options.cpp:1575 gui/options.cpp:1758 gui/options.cpp:1761 +#: gui/options.cpp:1768 gui/options.cpp:1778 msgctxt "path" msgid "None" msgstr "½Õ ×ŠŌŠŻ" -#: gui/editgamedialog.cpp:306 gui/editgamedialog.cpp:406 -#: gui/editgamedialog.cpp:524 gui/options.cpp:1408 gui/options.cpp:1461 -#: gui/options.cpp:1646 backends/platform/wii/options.cpp:56 +#: gui/editgamedialog.cpp:306 gui/editgamedialog.cpp:404 +#: gui/editgamedialog.cpp:522 gui/options.cpp:1482 gui/options.cpp:1548 +#: gui/options.cpp:1764 backends/platform/wii/options.cpp:56 msgid "Default" msgstr "æŽ ćÜŽŪēŠŻŲī" -#: gui/editgamedialog.cpp:452 gui/options.cpp:1654 +#: gui/editgamedialog.cpp:450 gui/options.cpp:1772 msgid "Select SoundFont" msgstr "²ėŃÕąŲāÕ SoundFont" -#: gui/editgamedialog.cpp:491 +#: gui/editgamedialog.cpp:489 msgid "Select additional game directory" msgstr "²ėŃÕąŲāÕ ŌŽßŽŪŻŲāÕŪģŻćī ŌŲąÕŚāŽąŲī ŲÓąė" -#: gui/editgamedialog.cpp:504 gui/options.cpp:1577 +#: gui/editgamedialog.cpp:502 gui/options.cpp:1695 msgid "Select directory for saved games" msgstr "²ėŃÕąŲāÕ ŌŲąÕŚāŽąŲī ŌŪļ įŽåąŠŻÕŻŲŁ" -#: gui/editgamedialog.cpp:510 +#: gui/editgamedialog.cpp:508 msgid "" "Saved games sync feature doesn't work with non-default directories. If you " "want your saved games to sync, use default directory." @@ -419,7 +420,7 @@ msgstr "" "µįŪŲ Ņė åŽāŲāÕ, ēāŽŃė ŅŠčŲ įŽåąŠŻÕŻŲļ ŲÓą įŲŻåąŽŻŲ×ŲąŽŅŠŪŲįģ, ŲįߎŪģ×ćŁāÕ " "ŌŲąÕŚāŽąŲī ߎ ćÜŽŪēŠŻŲī." -#: gui/editgamedialog.cpp:536 +#: gui/editgamedialog.cpp:534 msgid "This game ID is already taken. Please choose another one." msgstr "ĶāŽā ID ŲÓąė ćÖÕ ŲįߎŪģ×ćÕāįļ. æŽÖŠŪćŁįāŠ, ŅėŃÕąŲāÕ ŌąćÓŽŁ." @@ -499,7 +500,7 @@ msgstr "ĮŲŻćįŽŲŌŠ" msgid "Triangle" msgstr "ĀąÕćÓŽŪģŻŠļ" -#: gui/fluidsynth-dialog.cpp:138 gui/options.cpp:1221 +#: gui/fluidsynth-dialog.cpp:138 gui/options.cpp:1316 msgid "Misc" msgstr "ĄŠ×ŻŽÕ" @@ -549,15 +550,15 @@ msgstr "·ŠŚąėāģ" msgid "Mouse click" msgstr "ŗŪŲŚ Üėčģī" -#: gui/gui-manager.cpp:126 base/main.cpp:337 +#: gui/gui-manager.cpp:126 base/main.cpp:340 msgid "Display keyboard" msgstr "æŽŚŠ×Šāģ ŚŪŠŅŲŠāćąć" -#: gui/gui-manager.cpp:130 base/main.cpp:341 +#: gui/gui-manager.cpp:130 base/main.cpp:344 msgid "Remap keys" msgstr "æÕąÕŻŠ×ŻŠēŲāģ ŚŪŠŅŲčŲ" -#: gui/gui-manager.cpp:133 base/main.cpp:344 engines/scumm/help.cpp:87 +#: gui/gui-manager.cpp:133 base/main.cpp:347 engines/scumm/help.cpp:87 msgid "Toggle fullscreen" msgstr "æÕąÕŚŪīēÕŻŲÕ ŻŠ ŅÕįģ ķŚąŠŻ" @@ -591,110 +592,110 @@ msgstr "½ŠÖÜŲāÕ ŚŪŠŅŲčć ŌŪļ ŻŠ×ŻŠēÕŻŲļ" msgid "Choose an action to map" msgstr "²ėŃÕąŲāÕ ŌÕŁįāŅŲÕ ŌŪļ ŻŠ×ŻŠēÕŻŲļ" -#: gui/launcher.cpp:117 engines/dialogs.cpp:111 engines/mohawk/dialogs.cpp:98 +#: gui/launcher.cpp:141 engines/dialogs.cpp:111 engines/mohawk/dialogs.cpp:98 msgid "~Q~uit" msgstr "~²~ėåŽŌ" -#: gui/launcher.cpp:117 backends/platform/sdl/macosx/appmenu_osx.mm:106 +#: gui/launcher.cpp:141 backends/platform/sdl/macosx/appmenu_osx.mm:106 msgid "Quit ScummVM" msgstr "·ŠŅÕąčŲāģ ScummVM" -#: gui/launcher.cpp:118 +#: gui/launcher.cpp:142 msgid "A~b~out..." msgstr "¾ ß~ą~ŽÓąŠÜÜÕ..." -#: gui/launcher.cpp:118 backends/platform/sdl/macosx/appmenu_osx.mm:80 +#: gui/launcher.cpp:142 backends/platform/sdl/macosx/appmenu_osx.mm:80 msgid "About ScummVM" msgstr "¾ ßąŽÓąŠÜÜÕ ScummVM" -#: gui/launcher.cpp:119 +#: gui/launcher.cpp:143 msgid "~O~ptions..." msgstr "~½~ŠįāąŽŁŚŲ..." -#: gui/launcher.cpp:119 +#: gui/launcher.cpp:143 msgid "Change global ScummVM options" msgstr "ø×ÜÕŻŲāģ ÓŪŽŃŠŪģŻėÕ ŻŠįāąŽŁŚŲ ScummVM" -#: gui/launcher.cpp:121 +#: gui/launcher.cpp:145 msgid "~S~tart" msgstr "æ~ć~įŚ" -#: gui/launcher.cpp:121 +#: gui/launcher.cpp:145 msgid "Start selected game" msgstr "·ŠßćįāŲāģ ŅėŃąŠŻŻćī ŲÓąć" -#: gui/launcher.cpp:124 +#: gui/launcher.cpp:148 msgid "~L~oad..." msgstr "~·~ŠÓąć×Ųāģ..." -#: gui/launcher.cpp:124 +#: gui/launcher.cpp:148 msgid "Load saved game for selected game" msgstr "·ŠÓąć×Ųāģ įŽåąŻÕŻŲÕ ŌŪļ ŅėŃąŠŻŻŽŁ ŲÓąė" -#: gui/launcher.cpp:129 +#: gui/launcher.cpp:153 msgid "~A~dd Game..." msgstr "~“~ŽŃŠŅŲāģ ŲÓąć..." -#: gui/launcher.cpp:129 gui/launcher.cpp:136 +#: gui/launcher.cpp:153 gui/launcher.cpp:160 msgid "Hold Shift for Mass Add" msgstr "ĆŌÕąÖŲŅŠŁāÕ ŚŪŠŅŲčć Shift, ēāŽŃė ŌŽŃŠŅŲāģ ŻÕįŚŽŪģŚŽ ŲÓą" -#: gui/launcher.cpp:131 +#: gui/launcher.cpp:155 msgid "~E~dit Game..." msgstr "½~Š~įāąŽŁŚŲ ŲÓąė..." -#: gui/launcher.cpp:131 gui/launcher.cpp:138 +#: gui/launcher.cpp:155 gui/launcher.cpp:162 msgid "Change game options" msgstr "ø×ÜÕŻŲāģ ŻŠįāąŽŁŚŲ ŲÓąė" -#: gui/launcher.cpp:133 +#: gui/launcher.cpp:157 msgid "~R~emove Game" msgstr "~Ć~ŌŠŪŲāģ ŲÓąć" -#: gui/launcher.cpp:133 gui/launcher.cpp:140 +#: gui/launcher.cpp:157 gui/launcher.cpp:164 msgid "Remove game from the list. The game data files stay intact" msgstr "ĆŌŠŪŲāģ ŲÓąć Ų× įßŲįŚŠ. ½Õ ćŌŠŪļÕā ŲÓąć į ŻŽįŲāÕŪļ" -#: gui/launcher.cpp:136 +#: gui/launcher.cpp:160 msgctxt "lowres" msgid "~A~dd Game..." msgstr "~“~ŽŃ. ŲÓąć..." -#: gui/launcher.cpp:138 +#: gui/launcher.cpp:162 msgctxt "lowres" msgid "~E~dit Game..." msgstr "½~Š~į. ŲÓąė..." -#: gui/launcher.cpp:140 +#: gui/launcher.cpp:164 msgctxt "lowres" msgid "~R~emove Game" msgstr "~Ć~ŌŠŪŲāģ ŲÓąć" -#: gui/launcher.cpp:148 +#: gui/launcher.cpp:172 msgid "Search in game list" msgstr "æŽŲįŚ Ņ įßŲįŚÕ ŲÓą" -#: gui/launcher.cpp:152 gui/launcher.cpp:750 +#: gui/launcher.cpp:176 gui/launcher.cpp:771 msgid "Search:" msgstr "æŽŲįŚ:" -#: gui/launcher.cpp:176 engines/dialogs.cpp:115 engines/cruise/menu.cpp:214 -#: engines/mohawk/dialogs.cpp:103 engines/mohawk/riven.cpp:733 +#: gui/launcher.cpp:200 engines/dialogs.cpp:115 engines/cruise/menu.cpp:214 +#: engines/mohawk/dialogs.cpp:103 engines/mohawk/riven.cpp:734 #: engines/pegasus/pegasus.cpp:353 engines/tsage/scenes.cpp:601 msgid "Load game:" msgstr "·ŠÓąć×Ųāģ ŲÓąć:" -#: gui/launcher.cpp:176 engines/dialogs.cpp:115 +#: gui/launcher.cpp:200 engines/dialogs.cpp:115 #: backends/platform/wince/CEActionsPocket.cpp:267 #: backends/platform/wince/CEActionsSmartphone.cpp:231 #: engines/cruise/menu.cpp:214 engines/mohawk/dialogs.cpp:103 -#: engines/mohawk/riven.cpp:733 engines/parallaction/saveload.cpp:194 +#: engines/mohawk/riven.cpp:734 engines/parallaction/saveload.cpp:194 #: engines/pegasus/pegasus.cpp:353 engines/scumm/dialogs.cpp:185 #: engines/tsage/scenes.cpp:601 msgid "Load" msgstr "·ŠÓąć×Ųāģ" -#: gui/launcher.cpp:285 +#: gui/launcher.cpp:306 msgid "" "Do you really want to run the mass game detector? This could potentially add " "a huge number of games." @@ -702,41 +703,41 @@ msgstr "" "²ė ŌÕŁįāŅŲāÕŪģŻŽ åŽāŲāÕ ×ŠßćįāŲāģ ŌÕāÕŚāŽą ŅįÕå ŲÓą? ĶāŽ ßŽāÕŻęŲŠŪģŻŽ ÜŽÖÕā " "ŌŽŃŠŅŲāģ ŃŽŪģčŽÕ ŚŽŪŲēÕįāŅŽ ŲÓą." -#: gui/launcher.cpp:344 +#: gui/launcher.cpp:365 msgid "This directory cannot be used yet, it is being downloaded into!" msgstr "" "ĶāŠ ŌŲąÕŚāŽąŲļ ßŽŚŠ ŻÕ ÜŽÖÕā Ńėāģ ŲįߎŪģ×ŽŅŠŻŠ. ² ŻÕń įÕŁēŠį ׊ӹćÖŠīāįļ " "ŌŠŻŻėÕ!" -#: gui/launcher.cpp:394 +#: gui/launcher.cpp:415 msgid "Do you really want to remove this game configuration?" msgstr "²ė ŌÕŁįāŅŲāÕŪģŻŽ åŽāŲāÕ ćŌŠŪŲāģ ŻŠįāąŽŁŚŲ ŌŪļ ķāŽŁ ŲÓąė?" -#: gui/launcher.cpp:452 +#: gui/launcher.cpp:473 msgid "Do you want to load saved game?" msgstr "²ė åŽāŲāÕ ×ŠÓąć×Ųāģ ŲÓąć?" -#: gui/launcher.cpp:501 +#: gui/launcher.cpp:522 msgid "This game does not support loading games from the launcher." msgstr "ĶāŠ ŲÓąŠ ŻÕ ߎŌŌÕąÖŲŅŠÕā ׊ӹć׌ć įŽåąŠŻÕŻŲŁ ēÕąÕ× ÓŪŠŅŻŽÕ ÜÕŻī." -#: gui/launcher.cpp:505 +#: gui/launcher.cpp:526 msgid "ScummVM could not find any engine capable of running the selected game!" msgstr "ScummVM ŻÕ įÜŽÓ ŻŠŁāŲ ŌŅŲÖŽŚ ŌŪļ ׊ßćįŚŠ ŅėŃąŠŻŻŽŁ ŲÓąė!" -#: gui/launcher.cpp:556 +#: gui/launcher.cpp:577 msgid "ScummVM could not find any game in the specified directory!" msgstr "ScummVM ŻÕ ÜŽÖÕā ŻŠŁāŲ ŲÓąć Ņ ćŚŠ×ŠŻŻŽŁ ŌŲąÕŚāŽąŲŲ!" -#: gui/launcher.cpp:569 +#: gui/launcher.cpp:590 msgid "Pick the game:" msgstr "²ėŃÕąŲāÕ ŲÓąć:" -#: gui/launcher.cpp:687 +#: gui/launcher.cpp:708 msgid "Mass Add..." msgstr "¼ŻŽÓŽ ŲÓą..." -#: gui/launcher.cpp:689 +#: gui/launcher.cpp:710 msgid "Record..." msgstr "·ŠßŲįģ..." @@ -779,147 +780,145 @@ msgstr "æÕąÕŚŪīēŲāģįļ Ņ ŲÓąć" msgid "Fast replay" msgstr "±ėįāąŽÕ ŅŽįßąŽŲ×ŅÕŌÕŻŲÕ" -#: gui/options.cpp:112 common/updates.cpp:56 +#: gui/options.cpp:119 common/updates.cpp:56 msgid "Never" msgstr "½ŲŚŽÓŌŠ" -#: gui/options.cpp:112 +#: gui/options.cpp:119 msgid "every 5 mins" msgstr "ŚŠÖŌėÕ 5 ÜŲŻćā" -#: gui/options.cpp:112 +#: gui/options.cpp:119 msgid "every 10 mins" msgstr "ŚŠÖŌėÕ 10 ÜŲŻćā" -#: gui/options.cpp:112 +#: gui/options.cpp:119 msgid "every 15 mins" msgstr "ŚŠÖŌėÕ 15 ÜŲŻćā" -#: gui/options.cpp:112 +#: gui/options.cpp:119 msgid "every 30 mins" msgstr "ŚŠÖŌėÕ 30 ÜŲŻćā" -#: gui/options.cpp:114 +#: gui/options.cpp:121 msgid "8 kHz" msgstr "8 ڳę" -#: gui/options.cpp:114 +#: gui/options.cpp:121 msgid "11 kHz" msgstr "11 ڳę" -#: gui/options.cpp:114 +#: gui/options.cpp:121 msgid "22 kHz" msgstr "22 ڳę" -#: gui/options.cpp:114 +#: gui/options.cpp:121 msgid "44 kHz" msgstr "44 ڳę" -#: gui/options.cpp:114 +#: gui/options.cpp:121 msgid "48 kHz" msgstr "48 ڳę" -#: gui/options.cpp:291 gui/options.cpp:528 gui/options.cpp:629 -#: gui/options.cpp:699 gui/options.cpp:910 +#: gui/options.cpp:289 gui/options.cpp:552 gui/options.cpp:657 +#: gui/options.cpp:726 gui/options.cpp:937 msgctxt "soundfont" msgid "None" msgstr "½Õ ×ŠŌŠŻ" -#: gui/options.cpp:432 +#: gui/options.cpp:456 msgid "Failed to apply some of the graphic options changes:" msgstr "½Õ ćŌŠŪŽįģ ßąŲÜÕŻŲāģ Ų×ÜÕŻÕŻŲļ ŻÕŚŽāŽąėå ÓąŠäŲēÕįŚŲå ŻŠįāąŽÕŚ:" -#: gui/options.cpp:444 +#: gui/options.cpp:468 msgid "the video mode could not be changed." msgstr "ŅŲŌÕŽąÕÖŲÜ ŻÕ ÜŽÖÕā Ńėāģ Ų×ÜÕŻńŻ." -#: gui/options.cpp:450 +#: gui/options.cpp:474 msgid "the aspect ratio setting could not be changed" msgstr "ąÕÖŲÜ ŚŽąąÕŚāŲąŽŅŚŲ įŽŽāŻŽčÕŻŲļ įāŽąŽŻ ŻÕ ÜŽÖÕā Ńėāģ Ų×ÜÕŻńŻ" -#: gui/options.cpp:456 +#: gui/options.cpp:480 msgid "the fullscreen setting could not be changed" msgstr "ßŽŪŻŽķŚąŠŻŻėŁ ąÕÖŲÜ ŻÕ ÜŽÖÕā Ńėāģ Ų×ÜÕŻńŻ" -#: gui/options.cpp:462 -#, fuzzy +#: gui/options.cpp:486 msgid "the filtering setting could not be changed" -msgstr "ßŽŪŻŽķŚąŠŻŻėŁ ąÕÖŲÜ ŻÕ ÜŽÖÕā Ńėāģ Ų×ÜÕŻńŻ" +msgstr "ąÕÖŲÜ ÜŠįčāŠŃŲąŽŅŠŻŲļ ŻÕ ÜŽÖÕā Ńėāģ Ų×ÜÕŻńŻ" -#: gui/options.cpp:782 +#: gui/options.cpp:809 msgid "Graphics mode:" msgstr "³ąŠä. ąÕÖŲÜ:" -#: gui/options.cpp:796 +#: gui/options.cpp:823 msgid "Render mode:" msgstr "ĄÕÖŲÜ ąŠįāąŠ:" -#: gui/options.cpp:796 gui/options.cpp:797 +#: gui/options.cpp:823 gui/options.cpp:824 msgid "Special dithering modes supported by some games" msgstr "ĮßÕęŲŠŪģŻėÕ ąÕÖŲÜė ąÕŻŌÕąŲŻÓŠ, ߎŌŌÕąÖŲŅŠÕÜėÕ ŻÕŚŽāŽąėÜŲ ŲÓąŠÜŲ" -#: gui/options.cpp:808 -#: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:2450 +#: gui/options.cpp:835 backends/graphics/openglsdl/openglsdl-graphics.cpp:615 +#: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:2460 msgid "Fullscreen mode" msgstr "æŽŪŻŽķŚąŠŻŻėŁ ąÕÖŲÜ" -#: gui/options.cpp:811 -#, fuzzy +#: gui/options.cpp:838 msgid "Filter graphics" -msgstr "øįߎŪģ×ŽŅŠāģ ęŅÕāŻćī ÓąŠäŲŚć" +msgstr "¼ŠįčāŠŃŲąŽŅŠāģ ÓąŠäŲŚć" -#: gui/options.cpp:811 +#: gui/options.cpp:838 msgid "Use linear filtering when scaling graphics" -msgstr "" +msgstr "øįߎŪģ×ŽŅŠāģ ŪŲŻÕŁŻŽÕ ÜŠįčāŠŃŲąŽŅŠŻŲļ ŌŪļ ćŅÕŪŲēÕŻŲļ ąŠ×ąÕčÕŻŲļ" -#: gui/options.cpp:814 +#: gui/options.cpp:841 msgid "Aspect ratio correction" msgstr "ŗŽąąÕŚęŲļ įŽŽāŻŽčÕŻŲļ įāŽąŽŻ" -#: gui/options.cpp:814 +#: gui/options.cpp:841 msgid "Correct aspect ratio for 320x200 games" msgstr "ŗŽąąÕŚāŲąŽŅŠāģ įŽŽāŻŽčÕŻŲÕ įāŽąŽŻ ŌŪļ ŲÓą į ąŠ×ąÕčÕŻŲÕÜ 320x200" -#: gui/options.cpp:822 +#: gui/options.cpp:849 msgid "Preferred Device:" msgstr "æąÕŌߎēŲāŠÕÜŽÕ:" -#: gui/options.cpp:822 +#: gui/options.cpp:849 msgid "Music Device:" msgstr "·ŅćŚŽŅŽÕ ćįā-ŅŽ:" -#: gui/options.cpp:822 gui/options.cpp:824 +#: gui/options.cpp:849 gui/options.cpp:851 msgid "Specifies preferred sound device or sound card emulator" msgstr "" "ĆŚŠ×ėŅŠÕā ßąÕŌߎēŲāŠÕÜŽÕ ×ŅćŚŽŅŽÕ ćįāąŽŁįāŅŽ ŲŪŲ ķÜćŪļāŽą ×ŅćŚŽŅŽŁ ŚŠąāė" -#: gui/options.cpp:822 gui/options.cpp:824 gui/options.cpp:825 +#: gui/options.cpp:849 gui/options.cpp:851 gui/options.cpp:852 msgid "Specifies output sound device or sound card emulator" msgstr "ĆŚŠ×ėŅŠÕā ŅėåŽŌŻŽÕ ×ŅćŚŽŅŽÕ ćįāąŽŁįāŅŽ ŲŪŲ ķÜćŪļāŽą ×ŅćŚŽŅŽŁ ŚŠąāė" -#: gui/options.cpp:824 +#: gui/options.cpp:851 msgctxt "lowres" msgid "Preferred Dev.:" msgstr "æąÕŌߎēŲāŠÕÜŽÕ:" -#: gui/options.cpp:824 +#: gui/options.cpp:851 msgctxt "lowres" msgid "Music Device:" msgstr "·ŅćŚŽŅŽÕ ćįā-ŅŽ:" -#: gui/options.cpp:851 +#: gui/options.cpp:878 msgid "AdLib emulator:" msgstr "ĶÜćŪļāŽą AdLib:" -#: gui/options.cpp:851 gui/options.cpp:852 +#: gui/options.cpp:878 gui/options.cpp:879 msgid "AdLib is used for music in many games" msgstr "·ŅćŚŽŅŠļ ŚŠąāŠ AdLib ŲįߎŪģ×ćÕāįļ ÜŻŽÓŲÜŲ ŲÓąŠÜŲ" -#: gui/options.cpp:862 +#: gui/options.cpp:889 msgid "Output rate:" msgstr "ĒŠįāŽāŠ ×Ņ挊:" -#: gui/options.cpp:862 gui/options.cpp:863 +#: gui/options.cpp:889 gui/options.cpp:890 msgid "" "Higher value specifies better sound quality but may be not supported by your " "soundcard" @@ -927,64 +926,64 @@ msgstr "" "±¾ŪģčŲÕ ×ŻŠēÕŻŲļ ×ŠŌŠīā ŪćēčÕÕ ŚŠēÕįāŅŽ ×Ņ挊, ŽŌŻŠŚŽ ŽŻŲ ÜŽÓćā ŻÕ " "ߎŌŌÕąÖŲŅŠāģįļ ŅŠčÕŁ ×ŅćŚŽŅŽŁ ŚŠąāŽŁ" -#: gui/options.cpp:873 +#: gui/options.cpp:900 msgid "GM Device:" msgstr "ĆįāąŽŁįāŅŽ GM:" -#: gui/options.cpp:873 +#: gui/options.cpp:900 msgid "Specifies default sound device for General MIDI output" msgstr "ĆŚŠ×ėŅŠÕā ŅėåŽŌŻŽÕ ×ŅćŚŽŅŽÕ ćįāąŽŁįāŅŽ ŌŪļ MIDI" -#: gui/options.cpp:884 +#: gui/options.cpp:911 msgid "Don't use General MIDI music" msgstr "½Õ ŲįߎŪģ×ŽŅŠāģ Üć×ėŚć ŌŪļ General MIDI" -#: gui/options.cpp:895 gui/options.cpp:957 +#: gui/options.cpp:922 gui/options.cpp:984 msgid "Use first available device" msgstr "øįߎŪģ×ŽŅŠāģ ßÕąŅŽÕ ŌŽįāć߯ŽÕ ćįāąŽŁįāŅŽ" -#: gui/options.cpp:907 +#: gui/options.cpp:934 msgid "SoundFont:" msgstr "SoundFont:" -#: gui/options.cpp:907 gui/options.cpp:909 gui/options.cpp:910 +#: gui/options.cpp:934 gui/options.cpp:936 gui/options.cpp:937 msgid "SoundFont is supported by some audio cards, FluidSynth and Timidity" msgstr "" "SoundFont'ė ߎŌŌÕąÖŲŅŠīāįļ ŻÕŚŽāŽąėÜŲ ×Ņ挎ŅėÜŲ ŚŠąāŠÜŲ, FluidSynth Ų " "Timidity" -#: gui/options.cpp:909 +#: gui/options.cpp:936 msgctxt "lowres" msgid "SoundFont:" msgstr "SoundFont:" -#: gui/options.cpp:915 +#: gui/options.cpp:942 msgid "Mixed AdLib/MIDI mode" msgstr "ĮÜÕ芯ŻėŁ ąÕÖŲÜ AdLib/MIDI" -#: gui/options.cpp:915 +#: gui/options.cpp:942 msgid "Use both MIDI and AdLib sound generation" msgstr "øįߎŪģ×ŽŅŠāģ Ų MIDI, Ų AdLib ŌŪļ ÓÕŻÕąŠęŲŲ ×Ņ挊" -#: gui/options.cpp:918 +#: gui/options.cpp:945 msgid "MIDI gain:" msgstr "ĆįŲŪÕŻŲÕ MIDI:" -#: gui/options.cpp:928 +#: gui/options.cpp:955 msgid "MT-32 Device:" msgstr "Ćįāą. MT-32:" -#: gui/options.cpp:928 +#: gui/options.cpp:955 msgid "Specifies default sound device for Roland MT-32/LAPC1/CM32l/CM64 output" msgstr "" "ĆŚŠ×ėŅŠÕā ×ŅćŚŽŅŽÕ ćįāąŽŁįāŅŽ ߎ ćÜŽŪēŠŻŲī ŌŪļ ŅėŅŽŌŠ ŻŠ Roland MT-32/LAPC1/" "CM32l/CM64" -#: gui/options.cpp:933 +#: gui/options.cpp:960 msgid "True Roland MT-32 (disable GM emulation)" msgstr "½ŠįāŽļéŲŁ Roland MT-32 (׊߹ÕāŲāģ ķÜćŪļęŲī GM)" -#: gui/options.cpp:933 gui/options.cpp:935 +#: gui/options.cpp:960 gui/options.cpp:962 msgid "" "Check if you want to use your real hardware Roland-compatible sound device " "connected to your computer" @@ -992,16 +991,16 @@ msgstr "" "¾āÜÕāģāÕ, ÕįŪŲ ć ŅŠį ßŽŌŚŪīēÕŻŽ Roland-įŽŅÜÕįāŲÜŽÕ ×ŅćŚŽŅŽÕ ćįāąŽŁįāŅŽ Ų Ņė " "åŽāŲāÕ ÕÓŽ ŲįߎŪģ×ŽŅŠāģ" -#: gui/options.cpp:935 +#: gui/options.cpp:962 msgctxt "lowres" msgid "True Roland MT-32 (no GM emulation)" msgstr "½ŠįāŽļéŲŁ Roland MT-32 (ŃÕ× ķÜćŪļęŲŲ GM)" -#: gui/options.cpp:938 +#: gui/options.cpp:965 msgid "Roland GS Device (enable MT-32 mappings)" msgstr "ĆįāąŽŁįāŅŽ Roland GS (ąŠ×ąÕčŲāģ ÜŠßßŲŻÓ MT-32)" -#: gui/options.cpp:938 +#: gui/options.cpp:965 msgid "" "Check if you want to enable patch mappings to emulate an MT-32 on a Roland " "GS device" @@ -1009,265 +1008,265 @@ msgstr "" "¾āÜÕāģāÕ, ÕįŪŲ åŽāŲāÕ ąŠ×ąÕčŲāģ ÜŠßßŲŻÓ ŌŪļ ķÜćŪļęŲŲ MT-32 ŻŠ ćįāąŽŁįāŅÕ " "Roland GS" -#: gui/options.cpp:947 +#: gui/options.cpp:974 msgid "Don't use Roland MT-32 music" msgstr "½Õ ŲįߎŪģ×ŽŅŠāģ Üć×ėŚć ŌŪļ MT-32" -#: gui/options.cpp:974 +#: gui/options.cpp:1001 msgid "Text and Speech:" msgstr "ĀÕŚįā Ų Ž×ŅćēŚŠ:" -#: gui/options.cpp:978 gui/options.cpp:988 +#: gui/options.cpp:1005 gui/options.cpp:1015 msgid "Speech" msgstr "¾×ŅćēŚŠ" -#: gui/options.cpp:979 gui/options.cpp:989 +#: gui/options.cpp:1006 gui/options.cpp:1016 msgid "Subtitles" msgstr "ĮćŃāŲāąė" -#: gui/options.cpp:980 +#: gui/options.cpp:1007 msgid "Both" msgstr "¾ŃŠ" -#: gui/options.cpp:982 +#: gui/options.cpp:1009 msgid "Subtitle speed:" msgstr "ĮŚŽąŽįāģ āŲāąŽŅ:" -#: gui/options.cpp:984 +#: gui/options.cpp:1011 msgctxt "lowres" msgid "Text and Speech:" msgstr "ĀÕŚįā Ų Ž×ŅćēŚŠ:" -#: gui/options.cpp:988 +#: gui/options.cpp:1015 msgid "Spch" msgstr "¾×Ņ" -#: gui/options.cpp:989 +#: gui/options.cpp:1016 msgid "Subs" msgstr "ĮćŃ" -#: gui/options.cpp:990 +#: gui/options.cpp:1017 msgctxt "lowres" msgid "Both" msgstr "¾ŃŠ" -#: gui/options.cpp:990 +#: gui/options.cpp:1017 msgid "Show subtitles and play speech" msgstr "æŽŚŠ×ėŅŠāģ įćŃāŲāąė Ų ŅŽįßąŽŲ×ŅŽŌŲāģ ąÕēģ" -#: gui/options.cpp:992 +#: gui/options.cpp:1019 msgctxt "lowres" msgid "Subtitle speed:" msgstr "ĮŚŽąŽįāģ āŲāąŽŅ:" -#: gui/options.cpp:1008 +#: gui/options.cpp:1035 msgid "Music volume:" msgstr "³ąŽÜŚ. Üć×ėŚŲ:" -#: gui/options.cpp:1010 +#: gui/options.cpp:1037 msgctxt "lowres" msgid "Music volume:" msgstr "³ąŽÜŚ. Üć×ėŚŲ:" -#: gui/options.cpp:1017 +#: gui/options.cpp:1044 msgid "Mute All" msgstr "²ėŚŪ. Ņįń" -#: gui/options.cpp:1020 +#: gui/options.cpp:1047 msgid "SFX volume:" msgstr "³ąŽÜŚŽįāģ SFX:" -#: gui/options.cpp:1020 gui/options.cpp:1022 gui/options.cpp:1023 +#: gui/options.cpp:1047 gui/options.cpp:1049 gui/options.cpp:1050 msgid "Special sound effects volume" msgstr "³ąŽÜŚŽįāģ įßÕęŲŠŪģŻėå ×Ņ挎Ņėå ķääÕŚāŽŅ" -#: gui/options.cpp:1022 +#: gui/options.cpp:1049 msgctxt "lowres" msgid "SFX volume:" msgstr "³ąŽÜŚ. SFX:" -#: gui/options.cpp:1030 +#: gui/options.cpp:1057 msgid "Speech volume:" msgstr "³ąŽÜŚ. Ž×ŅćēŚŲ:" -#: gui/options.cpp:1032 +#: gui/options.cpp:1059 msgctxt "lowres" msgid "Speech volume:" msgstr "³ąŽÜŚ. Ž×ŅćēŚŲ:" -#: gui/options.cpp:1162 +#: gui/options.cpp:1257 msgid "FluidSynth Settings" msgstr "½ŠįāąŽŁŚŲ FluidSynth" -#: gui/options.cpp:1193 +#: gui/options.cpp:1288 msgid "Theme Path:" msgstr "æćāģ Ś āÕÜŠÜ:" -#: gui/options.cpp:1195 +#: gui/options.cpp:1290 msgctxt "lowres" msgid "Theme Path:" msgstr "³ŌÕ āÕÜė:" -#: gui/options.cpp:1201 gui/options.cpp:1203 gui/options.cpp:1204 +#: gui/options.cpp:1296 gui/options.cpp:1298 gui/options.cpp:1299 msgid "Specifies path to additional data used by all games or ScummVM" msgstr "" "ĆŚŠ×ėŅŠÕā ßćāģ Ś ŌŽßŽŪŻŲāÕŪģŻėÜ äŠŁŪŠÜ ŌŠŻŻėå, ŲįߎŪģ×ćÕÜėå ŅįÕÜŲ ŲÓąŠÜŲ " "ŪŲŃŽ ScummVM" -#: gui/options.cpp:1210 +#: gui/options.cpp:1305 msgid "Plugins Path:" msgstr "æćāģ Ś ßŪŠÓŲŻŠÜ:" -#: gui/options.cpp:1212 +#: gui/options.cpp:1307 msgctxt "lowres" msgid "Plugins Path:" msgstr "æćāģ Ś ßŪŠÓŲŻŠÜ:" -#: gui/options.cpp:1223 +#: gui/options.cpp:1318 msgctxt "lowres" msgid "Misc" msgstr "ĄŠ×ŻŽÕ" -#: gui/options.cpp:1225 +#: gui/options.cpp:1320 msgid "Theme:" msgstr "ĀÕÜŠ:" -#: gui/options.cpp:1229 +#: gui/options.cpp:1324 msgid "GUI Renderer:" msgstr "ĄŲįŽŅŠŪŚŠ GUI:" -#: gui/options.cpp:1241 +#: gui/options.cpp:1336 msgid "Autosave:" msgstr "°ŅāŽįŽåąŠŻÕŻŲÕ:" -#: gui/options.cpp:1243 +#: gui/options.cpp:1338 msgctxt "lowres" msgid "Autosave:" msgstr "°ŅāŽįŽåą.:" -#: gui/options.cpp:1251 +#: gui/options.cpp:1346 msgid "Keys" msgstr "ŗŪŠŅŲčŲ" -#: gui/options.cpp:1258 +#: gui/options.cpp:1353 msgid "GUI Language:" msgstr "Ļ×ėŚ GUI:" -#: gui/options.cpp:1258 +#: gui/options.cpp:1353 msgid "Language of ScummVM GUI" msgstr "Ļ×ėŚ ÓąŠäŲēÕįŚŽÓŽ ŲŻāÕąäÕŁįŠ ScummVM" -#: gui/options.cpp:1286 +#: gui/options.cpp:1381 msgid "Update check:" msgstr "æąŽŅÕąļāģ ŽŃŻŽŅŪÕŻŲļ:" -#: gui/options.cpp:1286 +#: gui/options.cpp:1381 msgid "How often to check ScummVM updates" msgstr "ŗŠŚ ēŠįāŽ ßąŽŅÕąļāģ ŽŃŻŽŅŪÕŻŲļ ScummVM" -#: gui/options.cpp:1298 +#: gui/options.cpp:1393 msgid "Check now" msgstr "æąŽŅÕąŲāģ įÕŁēŠį" -#: gui/options.cpp:1306 +#: gui/options.cpp:1401 msgid "Cloud" msgstr "¾ŃŪŠŚŽ" -#: gui/options.cpp:1308 +#: gui/options.cpp:1403 msgctxt "lowres" msgid "Cloud" msgstr "¾ŃŪŠŚŽ" -#: gui/options.cpp:1319 +#: gui/options.cpp:1408 msgid "Storage:" msgstr "¾ŃŪŠŚŽ:" -#: gui/options.cpp:1319 +#: gui/options.cpp:1408 msgid "Active cloud storage" msgstr "°ŚāŲŅŻŽÕ ŽŃŪŠēŻŽÕ åąŠŻŲŪŲéÕ" -#: gui/options.cpp:1326 gui/options.cpp:1877 +#: gui/options.cpp:1415 gui/options.cpp:1972 msgid "<none>" msgstr "<ŻÕā>" -#: gui/options.cpp:1330 backends/platform/wii/options.cpp:114 +#: gui/options.cpp:1419 backends/platform/wii/options.cpp:114 msgid "Username:" msgstr "æŽŪģ×ŽŅŠāÕŪģ:" -#: gui/options.cpp:1330 +#: gui/options.cpp:1419 msgid "Username used by this storage" msgstr "øÜļ ߎŪģ×ŽŅŠāÕŪļ Ņ ķāŽÜ ŽŃŪŠŚÕ" -#: gui/options.cpp:1333 +#: gui/options.cpp:1422 msgid "Used space:" msgstr "øįߎŪģ×ćÕÜėŁ ŽŃźńÜ" -#: gui/options.cpp:1333 +#: gui/options.cpp:1422 msgid "Space used by ScummVM's saved games on this storage" msgstr "¾ŃźńÜ, ׊ŻŲÜŠÕÜėŁ įŽåąŠŻÕŻŲļÜŲ ŲÓą ScummVM ŻŠ ķāŽÜ ŽŃŪŠŚÕ" -#: gui/options.cpp:1336 +#: gui/options.cpp:1425 msgid "Last sync time:" msgstr "æŽįŪÕŌŻļļ įŲŻåąŽŻŲ׊ęŲļ:" -#: gui/options.cpp:1336 +#: gui/options.cpp:1425 msgid "When the last saved games sync for this storage occured" msgstr "ŗŽÓŌŠ ßąŽŲ×ŅŽŌŲŪŠįģ ߎįŪÕŌŻļļ įŲŻåąŽŻŲ׊ęŲļ į ķāŲÜ ŽŃŪŠŚŽÜ" -#: gui/options.cpp:1339 gui/storagewizarddialog.cpp:71 +#: gui/options.cpp:1428 gui/storagewizarddialog.cpp:71 msgid "Connect" msgstr "æŽŌŚŪīēŲāģ" -#: gui/options.cpp:1339 +#: gui/options.cpp:1428 msgid "Open wizard dialog to connect your cloud storage account" msgstr "¾āŚąėŅŠÕā ŌŲŠŪŽÓ ŌŪļ ćįāŠŻŽŅŚŲ ßŽŌŚŪīēÕŻŲļ Ś ŽŃŪŠŚć" -#: gui/options.cpp:1340 +#: gui/options.cpp:1429 msgid "Refresh" msgstr "¾ŃŻŽŅŲāģ" -#: gui/options.cpp:1340 +#: gui/options.cpp:1429 msgid "Refresh current cloud storage information (username and usage)" msgstr "¾ŃŻŽŅŪļÕā āÕŚćéćī ŲŻäŽąÜŠęŲī ŽŃ ŽŃŪŠŚÕ (ŲÜļ ߎŪģ×ŽŅŠāÕŪļ Ų ŽŃźńÜ)" -#: gui/options.cpp:1341 +#: gui/options.cpp:1430 msgid "Download" msgstr "·ŠÓąć×Ųāģ" -#: gui/options.cpp:1341 +#: gui/options.cpp:1430 msgid "Open downloads manager dialog" msgstr "¾āŚąėŅŠÕā ÜÕŻÕŌÖÕą ׊ӹć׎Ś" -#: gui/options.cpp:1343 +#: gui/options.cpp:1432 msgid "Run server" msgstr "·ŠßćįāŲāģ įÕąŅÕą" -#: gui/options.cpp:1343 +#: gui/options.cpp:1432 msgid "Run local webserver" msgstr "·ŠßćįŚŠÕā ŪŽŚŠŪģŻėŁ ŅÕŃ-įÕąŅÕą" -#: gui/options.cpp:1344 gui/options.cpp:1987 +#: gui/options.cpp:1433 gui/options.cpp:2082 msgid "Not running" msgstr "½Õ ׊ßćéÕŻ" -#: gui/options.cpp:1348 +#: gui/options.cpp:1437 msgid "/root/ Path:" msgstr "ŗŽąŻÕŅŠļ ŌŲąÕŚāŽąŲļ:" -#: gui/options.cpp:1348 gui/options.cpp:1350 gui/options.cpp:1351 +#: gui/options.cpp:1437 gui/options.cpp:1439 gui/options.cpp:1440 msgid "Specifies which directory the Files Manager can access" msgstr "ĆŚŠ×ėŅŠÕā ßćāģ Ś ŌŲąÕŚāŽąŲŲ, ŚćŌŠ ŃćŌÕā ŲÜÕāģ ŌŽįāćß ¼ÕŻÕŌÖÕą äŠŁŪŽŅ" -#: gui/options.cpp:1350 +#: gui/options.cpp:1439 msgctxt "lowres" msgid "/root/ Path:" msgstr "ŗŽąÕŻģ:" -#: gui/options.cpp:1360 +#: gui/options.cpp:1449 msgid "Server's port:" msgstr "æŽąā įÕąŅÕąŠ:" -#: gui/options.cpp:1360 +#: gui/options.cpp:1449 msgid "" "Which port is used by the server\n" "Auth with server is not available with non-default port" @@ -1275,68 +1274,68 @@ msgstr "" "½ŽÜÕą ߎąāŠ, ŲįߎŪģ×ćÕÜėŁ įÕąŅÕąŽÜ\n" "ĆįāŠŻŽŅŪÕŻŲÕ ŌŽįāćߊ ąŠŃŽāŠÕā āŽŪģŚŽ į ߎąāŽÜ ߎ ćÜŽŪēŠŻŲī" -#: gui/options.cpp:1520 -msgid "You have to restart ScummVM before your changes will take effect." -msgstr "²ė ŌŽŪÖŻė ßÕąÕ׊ßćįāŲāģ ScummVM, ēāŽŃė ßąŲÜÕŻŲāģ Ų×ÜÕŻÕŻŲļ." +#: gui/options.cpp:1462 +msgid "Apply" +msgstr "æąŲÜÕŻŲāģ" -#: gui/options.cpp:1543 +#: gui/options.cpp:1628 msgid "Failed to change cloud storage!" msgstr "½Õ ćŌŠŪŽįģ įÜÕŻŲāģ ŽŃŪŠŚŽ!" -#: gui/options.cpp:1546 +#: gui/options.cpp:1631 msgid "Another cloud storage is already active." msgstr "ĆÖÕ ŠŚāŲŅŻŽ ŌąćÓŽÕ ŽŃŪŠēŻŽÕ åąŠŻŲŪŲéÕ." -#: gui/options.cpp:1584 +#: gui/options.cpp:1667 +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 "" +"ĀÕÜŠ, ŅėŃąŠŻŻŠļ ŅŠÜŲ, ŻÕ ߎŌŌÕąÖŲŅŠÕā āÕŚćéŲŁ ļ×ėŚ. µįŪŲ Ņė åŽāŲāÕ " +"ŲįߎŪģ×ŽŅŠāģ ķāć āÕÜć, ŅŠÜ ŻÕŽŃåŽŌŲÜŽ įŻŠēŠŪŠ ßÕąÕŚŪīēŲāģįļ ŻŠ ŌąćÓŽŁ ļ×ėŚ." + +#: gui/options.cpp:1702 msgid "The chosen directory cannot be written to. Please select another one." msgstr "½Õ ÜŽÓć ßŲįŠāģ Ņ ŅėŃąŠŻŻćī ŌŲąÕŚāŽąŲī. æŽÖŠŪćŁįāŠ, 挊ÖŲāÕ ŌąćÓćī." -#: gui/options.cpp:1593 +#: gui/options.cpp:1711 msgid "Select directory for GUI themes" msgstr "²ėŃÕąŲāÕ ŌŲąÕŚāŽąŲī ŌŪļ āÕÜ GUI" -#: gui/options.cpp:1603 +#: gui/options.cpp:1721 msgid "Select directory for extra files" msgstr "²ėŃÕąŲāÕ ŌŲąÕŚāŽąŲī į ŌŽßŽŪŻŲāÕŪģŻėÜŲ äŠŁŪŠÜŲ" -#: gui/options.cpp:1614 +#: gui/options.cpp:1732 msgid "Select directory for plugins" msgstr "²ėŃÕąŲāÕ ŌŲąÕŚāŽąŲī į ßŪŠÓŲŻŠÜŲ" -#: gui/options.cpp:1626 +#: gui/options.cpp:1744 msgid "Select directory for Files Manager /root/" msgstr "²ėŃÕąŲāÕ ŌŲąÕŚāŽąŲī ŌŪļ ŚŽąŻļ Ņ ¼ÕŻÕŌÖÕąÕ äŠŁŪŽŅ" -#: gui/options.cpp:1688 -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 "" -"ĀÕÜŠ, ŅėŃąŠŻŻŠļ ŅŠÜŲ, ŻÕ ߎŌŌÕąÖŲŅŠÕā āÕŚćéŲŁ ļ×ėŚ. µįŪŲ Ņė åŽāŲāÕ " -"ŲįߎŪģ×ŽŅŠāģ ķāć āÕÜć, ŅŠÜ ŻÕŽŃåŽŌŲÜŽ įŻŠēŠŪŠ ßÕąÕŚŪīēŲāģįļ ŻŠ ŌąćÓŽŁ ļ×ėŚ." - -#: gui/options.cpp:1884 +#: gui/options.cpp:1979 #, c-format msgid "%llu bytes" msgstr "%llu ŃŠŁā" -#: gui/options.cpp:1892 +#: gui/options.cpp:1987 msgid "<right now>" msgstr "<įÕŁēŠį>" -#: gui/options.cpp:1894 +#: gui/options.cpp:1989 msgid "<never>" msgstr "<ŻŲŚŽÓŌŠ>" -#: gui/options.cpp:1978 +#: gui/options.cpp:2073 msgid "Stop server" msgstr "¾įāŠŻŽŅŲāģ įÕąŅÕą" -#: gui/options.cpp:1979 +#: gui/options.cpp:2074 msgid "Stop local webserver" msgstr "¾įāŠŻŠŅŪŲŅŠÕā ŪŽŚŠŪģŻėŁ ŅÕŃ-įÕąŅÕą" -#: gui/options.cpp:2068 +#: gui/options.cpp:2163 msgid "" "Request failed.\n" "Check your Internet connection." @@ -1612,35 +1611,35 @@ msgstr "æąŽŌŽŪÖŲāģ" msgid "Clear value" msgstr "¾ēŲįāŲāģ ׯŠēÕŻŲÕ" -#: base/main.cpp:250 +#: base/main.cpp:253 #, c-format msgid "Engine does not support debug level '%s'" msgstr "“ŅŲÖŽŚ ŻÕ ߎŌŌÕąÖŲŅŠÕā 湎ŅÕŻģ ŽāŪŠŌŚŲ '%s'" -#: base/main.cpp:324 +#: base/main.cpp:327 msgid "Menu" msgstr "¼ÕŻī" -#: base/main.cpp:327 backends/platform/symbian/src/SymbianActions.cpp:45 +#: base/main.cpp:330 backends/platform/symbian/src/SymbianActions.cpp:45 #: backends/platform/wince/CEActionsPocket.cpp:45 #: backends/platform/wince/CEActionsSmartphone.cpp:46 msgid "Skip" msgstr "æąŽßćįāŲāģ" -#: base/main.cpp:330 backends/platform/symbian/src/SymbianActions.cpp:50 +#: base/main.cpp:333 backends/platform/symbian/src/SymbianActions.cpp:50 #: backends/platform/wince/CEActionsPocket.cpp:42 msgid "Pause" msgstr "æŠć׊" -#: base/main.cpp:333 +#: base/main.cpp:336 msgid "Skip line" msgstr "æąŽßćįāŲāģ įāąŽŚć" -#: base/main.cpp:542 +#: base/main.cpp:547 msgid "Error running game:" msgstr "¾čŲŃŚŠ ×ŠßćįŚŠ ŲÓąė:" -#: base/main.cpp:589 +#: base/main.cpp:594 msgid "Could not find any engine capable of running the selected game" msgstr "½Õ ÜŽÓć ŻŠŁāŲ ŌŅŲÖŽŚ ŌŪļ ׊ßćįŚŠ ŅėŃąŠŻŻŽŁ ŲÓąė" @@ -1880,9 +1879,8 @@ msgid "Could not apply fullscreen setting." msgstr "½Õ ÜŽÓć ßąŲÜÕŻŲāģ ßŽŪŻŽķŚąŠŻŻėŁ ąÕÖŲÜ." #: engines/engine.cpp:373 -#, fuzzy msgid "Could not apply filtering setting." -msgstr "½Õ ÜŽÓć ßąŲÜÕŻŲāģ ßŽŪŻŽķŚąŠŻŻėŁ ąÕÖŲÜ." +msgstr "½Õ ÜŽÓć ßąŲÜÕŻŲāģ ŻŠįāąŽŁŚŲ ÜŠįčāŠŃŲąŽŅŠŻŲļ." #: engines/engine.cpp:473 msgid "" @@ -2018,11 +2016,11 @@ msgstr "°ćŌŲŽ FM-Towns" msgid "PC-98 Audio" msgstr "°ćŌŲŽ PC-98" -#: audio/softsynth/mt32.cpp:196 +#: audio/softsynth/mt32.cpp:197 msgid "Initializing MT-32 Emulator" msgstr "½ŠįāąŠŲŅŠī ķÜćŪļāŽą MT-32" -#: audio/softsynth/mt32.cpp:434 +#: audio/softsynth/mt32.cpp:435 msgid "MT-32 Emulator" msgstr "ĶÜćŪļāŽą MT-32" @@ -2038,15 +2036,15 @@ msgstr "ĶÜćŪļāŽą IBM PCjr" msgid "C64 Audio Emulator" msgstr "ĶÜćŪļāŽą ×Ņ挊 C64" -#: backends/cloud/storage.cpp:210 +#: backends/cloud/storage.cpp:211 msgid "Saved games sync complete." msgstr "ĮŲŻåąŽŻŲ׊ęŲļ įŽåąŠŻÕŻŲŁ ŲÓą ׊ŅÕąčÕŻŠ." -#: backends/cloud/storage.cpp:221 +#: backends/cloud/storage.cpp:222 msgid "Saved games sync was cancelled." msgstr "ĮŲŻåąŽŻŲ׊ęŲļ įŽåąŠŻÕŻŲŁ ŲÓą ŃėŪŠ ßąÕąŅŠŻŠ." -#: backends/cloud/storage.cpp:223 +#: backends/cloud/storage.cpp:224 msgid "" "Saved games sync failed.\n" "Check your Internet connection." @@ -2054,7 +2052,7 @@ msgstr "" "¾čŲŃŚŠ įŲŻåąŽŻŲ׊ęŲŲ įŽåąŠŻÕŻŲŁ ŲÓą.\n" "æąŽŅÕąģāÕ ŅŠčÕ įŽÕŌŲŻÕŻŲÕ į øŻāÕąŻÕāŽÜ." -#: backends/cloud/storage.cpp:327 +#: backends/cloud/storage.cpp:328 #, c-format msgid "" "Download complete.\n" @@ -2063,11 +2061,11 @@ msgstr "" "·ŠÓąć×ŚŠ ×ŠŅÕąčÕŻŠ.\n" "½Õ ćŌŠŪŽįģ ׊ӹć×Ųāģ %u äŠŁŪŽŅ." -#: backends/cloud/storage.cpp:329 +#: backends/cloud/storage.cpp:330 msgid "Download complete." msgstr "·ŠÓąć×ŚŠ ×ŠŅÕąčÕŻŠ." -#: backends/cloud/storage.cpp:339 +#: backends/cloud/storage.cpp:340 msgid "Download failed." msgstr "¾čŲŃŚŠ ×ŠÓąć׌Ų." @@ -2176,43 +2174,51 @@ msgstr "æąŽŅÕŌŲāÕ āąÕÜļ ߊŪģęŠÜŲ ŻŠßąŠŅŽ ŌŪļ ßÕąÕŚŪīēÕŻŲļ." msgid "OpenGL" msgstr "OpenGL" -#: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:47 -#: backends/graphics/wincesdl/wincesdl-graphics.cpp:88 -#: backends/graphics/wincesdl/wincesdl-graphics.cpp:95 -msgid "Normal (no scaling)" -msgstr "±Õ× ćŅÕŪŲēÕŻŲļ" +#: backends/graphics/openglsdl/openglsdl-graphics.cpp:617 +#: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:2462 +msgid "Windowed mode" +msgstr "¾ŚŽŻŻėŁ ąÕÖŲÜ" -#: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:66 -msgctxt "lowres" -msgid "Normal (no scaling)" -msgstr "±Õ× ćŅÕŪŲēÕŻŲļ" +#: backends/graphics/openglsdl/openglsdl-graphics.cpp:710 +#, c-format +msgid "Resolution: %dx%d" +msgstr "ĄŠ×ąÕčÕŻŲÕ: %dx%d" -#: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:2329 +#: backends/graphics/openglsdl/openglsdl-graphics.cpp:731 +#: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:2338 msgid "Enabled aspect ratio correction" msgstr "ŗŽąąÕŚęŲļ įŽŽāŻŽčÕŻŲļ įāŽąŽŻ ŅŚŪīēÕŻŠ" -#: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:2335 +#: backends/graphics/openglsdl/openglsdl-graphics.cpp:733 +#: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:2344 msgid "Disabled aspect ratio correction" msgstr "ŗŽąąÕŚęŲļ įŽŽāŻŽčÕŻŲļ įāŽąŽŻ ŅėŚŪīēÕŻŠ" -#: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:2353 -#, fuzzy +#: backends/graphics/openglsdl/openglsdl-graphics.cpp:753 +#: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:2362 msgid "Filtering enabled" -msgstr "ÉÕŪēŚŲ ŅŚŪīēÕŻė" +msgstr "¼ŠįčāŠŃŲąŽŅŠŻŲÕ ŅŚŪīēÕŻŽ" -#: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:2355 -#, fuzzy +#: backends/graphics/openglsdl/openglsdl-graphics.cpp:755 +#: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:2364 msgid "Filtering disabled" -msgstr "ÉÕŪēŚŲ ŅėŚŪīēÕŻė" +msgstr "¼ŠįčāŠŃŲąŽŅŠŻŲÕ ŅėŚŪīēÕŻŽ" + +#: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:47 +#: backends/graphics/wincesdl/wincesdl-graphics.cpp:88 +#: backends/graphics/wincesdl/wincesdl-graphics.cpp:95 +msgid "Normal (no scaling)" +msgstr "±Õ× ćŅÕŪŲēÕŻŲļ" + +#: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:66 +msgctxt "lowres" +msgid "Normal (no scaling)" +msgstr "±Õ× ćŅÕŪŲēÕŻŲļ" -#: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:2407 +#: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:2417 msgid "Active graphics filter:" msgstr "°ŚāŲŅŻėŁ ÓąŠäŲēÕįŚŲŁ äŲŪģāą:" -#: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:2452 -msgid "Windowed mode" -msgstr "¾ŚŽŻŻėŁ ąÕÖŲÜ" - #: backends/keymapper/remap-dialog.cpp:48 msgid "Keymap:" msgstr "ĀŠŃŪŲęŠ ŚŪŠŅŲč:" @@ -3133,6 +3139,50 @@ msgstr "³ŪŠŅŻŽÕ ÜÕŻ~ī~" msgid "~W~ater Effect Enabled" msgstr "~Ķ~ääÕŚāė ŅŽŌė ŅŚŪīēÕŻė" +#: engines/mohawk/riven.cpp:150 +msgid "" +"You're missing a Riven executable. The Windows executable is 'riven.exe' or " +"'rivendmo.exe'. " +msgstr "" +"²ŠÜ ŻÕ åŅŠāŠÕā ŲįßŽŪŻŲÜŽÓŽ äŠŁŪŠ Riven. Windows-äŠŁŪ ŻŠ×ėŅŠÕāįļ 'riven.exe', " +"ŪŲŃŽ 'rivendmo.exe'." + +#: engines/mohawk/riven.cpp:151 +msgid "" +"Using the 'arcriven.z' installer file also works. In addition, you can use " +"the Mac 'Riven' executable." +msgstr "" +"øįߎŪģ×ŽŅŠŻŲÕ äŠŁŪŠ 'arcriven.z' āŠŚÖÕ ŌŽįāŠāŽēŻŽ. ŗąŽÜÕ āŽÓŽ, Ņė ÜŽÖÕāÕ " +"ŲįߎŪģ×ŽŅŠāģ ŲįßŽŪŻŲÜėŁ äŠŁŪ ŌŪļ ¼ŠŚŠ 'Riven'." + +#: engines/mohawk/riven.cpp:162 +msgid "" +"You're missing 'extras.mhk'. Using the 'arcriven.z' installer file also " +"works." +msgstr "" +"½Õ åŅŠāŠÕā äŠŁŪŠ 'extras.mhk'. ²ÜÕįāŽ ŻÕÓŽ ÜŽÖŻŽ ŲįߎŪģ×ŽŅŠāģ äŠŁŪ 'arcriven." +"z'." + +#: engines/mohawk/riven_external.cpp:213 +msgid "" +"Exploration beyond this point available only within the full version of\n" +"the game." +msgstr "" +"øįįŪÕŌŽŅŠŻŲÕ ŌŠŪÕÕ ŌŠŻŻŽÓŽ ßŽŪŽÖÕŻļ ŅŽ×ÜŽÖŻŽ āŽŪģŚŽ Ņ ßŽŪŻŽŁ ŅÕąįŲŲ ŲÓąė." + +#: engines/mohawk/riven_external.cpp:655 +msgid "" +"At this point, the Riven Demo would\n" +"ask if you would like to open a web browser\n" +"to bring you to the Red Orb store to buy\n" +"the game. ScummVM cannot do that and\n" +"the site no longer exists." +msgstr "" +"² ķāŽŁ āŽēŚÕ ŌÕÜŽ Riven ߎ߹ŽįŲŪŠ Ńė ŅŠį\n" +"ŽāŚąėāģ ŃąŠć×Õą Ų ßÕąÕŁāŲ Ņ ÜŠÓŠ×ŲŻ Red Orb.\n" +"ScummVM ŻÕ ćÜÕŻā ķāŽ ŌÕŪŠāģ, ŌŠ Ų ÜŠÓŠ×ŲŻ\n" +"ŃŽŪģčÕ ŻÕ įćéÕįāŅćÕā." + #: engines/mohawk/mohawk.cpp:61 msgid "The game is paused. Press any key to continue." msgstr "øÓąŠ ŽįāŠŻŽŅŪÕŻŠ. ½ŠÖÜŲāÕ ŪīŃćī ŚŻŽßŚć, ēāŽŃė ßąŽŌŽŪÖŲāģ." @@ -4270,5 +4320,8 @@ msgstr "" "øįߎŪģ×ŽŅŠāģ MPEG-ŅŲŌÕŽ Ų× DVD-ŅÕąįŲŲ ŅÜÕįāŽ ŅŲŌÕŽ ŻŲ׌ŽÓŽ ąŠ×ąÕčÕŻŲļ Ņ " "䎹܊āÕ AVI" +#~ msgid "You have to restart ScummVM before your changes will take effect." +#~ msgstr "²ė ŌŽŪÖŻė ßÕąÕ׊ßćįāŲāģ ScummVM, ēāŽŃė ßąŲÜÕŻŲāģ Ų×ÜÕŻÕŻŲļ." + #~ msgid "OpenGL (No filtering)" #~ msgstr "OpenGL (ŃÕ× äŲŪģāąŽŅ)" diff --git a/po/scummvm.pot b/po/scummvm.pot index 89c50f7197..58948420b0 100644 --- a/po/scummvm.pot +++ b/po/scummvm.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: ScummVM 1.10.0git\n" "Report-Msgid-Bugs-To: scummvm-devel@lists.scummvm.org\n" -"POT-Creation-Date: 2016-10-12 23:37+0100\n" +"POT-Creation-Date: 2016-11-05 12:43+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Language-Team: LANGUAGE <LL@li.org>\n" @@ -55,7 +55,7 @@ msgstr "" #: gui/browser.cpp:75 gui/chooser.cpp:46 gui/editgamedialog.cpp:292 #: gui/editrecorddialog.cpp:67 gui/filebrowser-dialog.cpp:64 #: gui/fluidsynth-dialog.cpp:152 gui/KeysDialog.cpp:43 gui/massadd.cpp:95 -#: gui/options.cpp:1376 gui/predictivedialog.cpp:73 gui/recorderdialog.cpp:69 +#: gui/options.cpp:1461 gui/predictivedialog.cpp:73 gui/recorderdialog.cpp:69 #: gui/recorderdialog.cpp:155 gui/remotebrowser.cpp:59 #: gui/saveload-dialog.cpp:383 gui/saveload-dialog.cpp:443 #: gui/saveload-dialog.cpp:717 gui/saveload-dialog.cpp:1111 @@ -79,7 +79,7 @@ msgstr "" msgid "Select directory where to download game data" msgstr "" -#: gui/downloaddialog.cpp:49 gui/editgamedialog.cpp:472 gui/launcher.cpp:173 +#: gui/downloaddialog.cpp:49 gui/editgamedialog.cpp:470 gui/launcher.cpp:197 msgid "Select directory with game data" msgstr "" @@ -112,7 +112,7 @@ msgstr "" #: gui/downloaddialog.cpp:118 gui/downloaddialog.cpp:152 #: gui/filebrowser-dialog.cpp:132 gui/fluidsynth-dialog.cpp:217 -#: gui/launcher.cpp:286 gui/launcher.cpp:394 gui/launcher.cpp:453 +#: gui/launcher.cpp:307 gui/launcher.cpp:415 gui/launcher.cpp:474 #: gui/storagewizarddialog.cpp:112 #: backends/events/symbiansdl/symbiansdl-events.cpp:186 #: backends/platform/wince/CEActionsPocket.cpp:326 @@ -124,7 +124,7 @@ msgstr "" #: gui/downloaddialog.cpp:118 gui/downloaddialog.cpp:153 #: gui/filebrowser-dialog.cpp:132 gui/fluidsynth-dialog.cpp:217 -#: gui/launcher.cpp:286 gui/launcher.cpp:394 gui/launcher.cpp:453 +#: gui/launcher.cpp:307 gui/launcher.cpp:415 gui/launcher.cpp:474 #: gui/storagewizarddialog.cpp:112 #: backends/events/symbiansdl/symbiansdl-events.cpp:186 #: backends/platform/wince/CEActionsPocket.cpp:326 @@ -134,7 +134,7 @@ msgstr "" msgid "No" msgstr "" -#: gui/downloaddialog.cpp:136 gui/launcher.cpp:544 +#: gui/downloaddialog.cpp:136 gui/launcher.cpp:565 msgid "ScummVM couldn't open the specified directory!" msgstr "" @@ -145,8 +145,8 @@ msgid "" msgstr "" #: gui/downloaddialog.cpp:146 gui/editgamedialog.cpp:293 -#: gui/fluidsynth-dialog.cpp:153 gui/KeysDialog.cpp:42 gui/launcher.cpp:501 -#: gui/launcher.cpp:505 gui/massadd.cpp:92 gui/options.cpp:1377 +#: gui/fluidsynth-dialog.cpp:153 gui/KeysDialog.cpp:42 gui/launcher.cpp:522 +#: gui/launcher.cpp:526 gui/massadd.cpp:92 gui/options.cpp:1463 #: gui/saveload-dialog.cpp:1112 engines/engine.cpp:477 engines/engine.cpp:488 #: backends/platform/wii/options.cpp:47 #: backends/platform/wince/CELauncherDialog.cpp:54 @@ -225,8 +225,8 @@ msgid "" "English" msgstr "" -#: gui/editgamedialog.cpp:151 gui/editgamedialog.cpp:165 gui/options.cpp:114 -#: gui/options.cpp:785 gui/options.cpp:798 gui/options.cpp:1261 +#: gui/editgamedialog.cpp:151 gui/editgamedialog.cpp:165 gui/options.cpp:121 +#: gui/options.cpp:812 gui/options.cpp:825 gui/options.cpp:1356 #: audio/null.cpp:41 msgid "<default>" msgstr "" @@ -249,11 +249,11 @@ msgstr "" msgid "Engine" msgstr "" -#: gui/editgamedialog.cpp:184 gui/options.cpp:1120 gui/options.cpp:1137 +#: gui/editgamedialog.cpp:184 gui/options.cpp:1147 gui/options.cpp:1232 msgid "Graphics" msgstr "" -#: gui/editgamedialog.cpp:184 gui/options.cpp:1120 gui/options.cpp:1137 +#: gui/editgamedialog.cpp:184 gui/options.cpp:1147 gui/options.cpp:1232 msgid "GFX" msgstr "" @@ -266,7 +266,7 @@ msgctxt "lowres" msgid "Override global graphic settings" msgstr "" -#: gui/editgamedialog.cpp:196 gui/options.cpp:1143 +#: gui/editgamedialog.cpp:196 gui/options.cpp:1238 msgid "Audio" msgstr "" @@ -279,11 +279,11 @@ msgctxt "lowres" msgid "Override global audio settings" msgstr "" -#: gui/editgamedialog.cpp:210 gui/options.cpp:1148 +#: gui/editgamedialog.cpp:210 gui/options.cpp:1243 msgid "Volume" msgstr "" -#: gui/editgamedialog.cpp:212 gui/options.cpp:1150 +#: gui/editgamedialog.cpp:212 gui/options.cpp:1245 msgctxt "lowres" msgid "Volume" msgstr "" @@ -297,7 +297,7 @@ msgctxt "lowres" msgid "Override global volume settings" msgstr "" -#: gui/editgamedialog.cpp:226 gui/options.cpp:1158 +#: gui/editgamedialog.cpp:226 gui/options.cpp:1253 msgid "MIDI" msgstr "" @@ -310,7 +310,7 @@ msgctxt "lowres" msgid "Override global MIDI settings" msgstr "" -#: gui/editgamedialog.cpp:241 gui/options.cpp:1168 +#: gui/editgamedialog.cpp:241 gui/options.cpp:1263 msgid "MT-32" msgstr "" @@ -323,11 +323,11 @@ msgctxt "lowres" msgid "Override global MT-32 settings" msgstr "" -#: gui/editgamedialog.cpp:255 gui/options.cpp:1175 +#: gui/editgamedialog.cpp:255 gui/options.cpp:1270 msgid "Paths" msgstr "" -#: gui/editgamedialog.cpp:257 gui/options.cpp:1177 +#: gui/editgamedialog.cpp:257 gui/options.cpp:1272 msgctxt "lowres" msgid "Paths" msgstr "" @@ -341,7 +341,7 @@ msgctxt "lowres" msgid "Game Path:" msgstr "" -#: gui/editgamedialog.cpp:271 gui/options.cpp:1201 +#: gui/editgamedialog.cpp:271 gui/options.cpp:1296 msgid "Extra Path:" msgstr "" @@ -350,62 +350,62 @@ msgstr "" msgid "Specifies path to additional data used by the game" msgstr "" -#: gui/editgamedialog.cpp:273 gui/options.cpp:1203 +#: gui/editgamedialog.cpp:273 gui/options.cpp:1298 msgctxt "lowres" msgid "Extra Path:" msgstr "" -#: gui/editgamedialog.cpp:280 gui/options.cpp:1185 +#: gui/editgamedialog.cpp:280 gui/options.cpp:1280 msgid "Save Path:" msgstr "" #: gui/editgamedialog.cpp:280 gui/editgamedialog.cpp:282 -#: gui/editgamedialog.cpp:283 gui/options.cpp:1185 gui/options.cpp:1187 -#: gui/options.cpp:1188 +#: gui/editgamedialog.cpp:283 gui/options.cpp:1280 gui/options.cpp:1282 +#: gui/options.cpp:1283 msgid "Specifies where your saved games are put" msgstr "" -#: gui/editgamedialog.cpp:282 gui/options.cpp:1187 +#: gui/editgamedialog.cpp:282 gui/options.cpp:1282 msgctxt "lowres" msgid "Save Path:" msgstr "" -#: gui/editgamedialog.cpp:301 gui/editgamedialog.cpp:400 -#: gui/editgamedialog.cpp:459 gui/editgamedialog.cpp:520 gui/options.cpp:1196 -#: gui/options.cpp:1204 gui/options.cpp:1213 gui/options.cpp:1414 -#: gui/options.cpp:1420 gui/options.cpp:1428 gui/options.cpp:1451 -#: gui/options.cpp:1467 gui/options.cpp:1473 gui/options.cpp:1480 -#: gui/options.cpp:1488 gui/options.cpp:1640 gui/options.cpp:1643 -#: gui/options.cpp:1650 gui/options.cpp:1660 +#: gui/editgamedialog.cpp:301 gui/editgamedialog.cpp:398 +#: gui/editgamedialog.cpp:457 gui/editgamedialog.cpp:518 gui/options.cpp:1291 +#: gui/options.cpp:1299 gui/options.cpp:1308 gui/options.cpp:1488 +#: gui/options.cpp:1494 gui/options.cpp:1502 gui/options.cpp:1525 +#: gui/options.cpp:1554 gui/options.cpp:1560 gui/options.cpp:1567 +#: gui/options.cpp:1575 gui/options.cpp:1758 gui/options.cpp:1761 +#: gui/options.cpp:1768 gui/options.cpp:1778 msgctxt "path" msgid "None" msgstr "" -#: gui/editgamedialog.cpp:306 gui/editgamedialog.cpp:406 -#: gui/editgamedialog.cpp:524 gui/options.cpp:1408 gui/options.cpp:1461 -#: gui/options.cpp:1646 backends/platform/wii/options.cpp:56 +#: gui/editgamedialog.cpp:306 gui/editgamedialog.cpp:404 +#: gui/editgamedialog.cpp:522 gui/options.cpp:1482 gui/options.cpp:1548 +#: gui/options.cpp:1764 backends/platform/wii/options.cpp:56 msgid "Default" msgstr "" -#: gui/editgamedialog.cpp:452 gui/options.cpp:1654 +#: gui/editgamedialog.cpp:450 gui/options.cpp:1772 msgid "Select SoundFont" msgstr "" -#: gui/editgamedialog.cpp:491 +#: gui/editgamedialog.cpp:489 msgid "Select additional game directory" msgstr "" -#: gui/editgamedialog.cpp:504 gui/options.cpp:1577 +#: gui/editgamedialog.cpp:502 gui/options.cpp:1695 msgid "Select directory for saved games" msgstr "" -#: gui/editgamedialog.cpp:510 +#: gui/editgamedialog.cpp:508 msgid "" "Saved games sync feature doesn't work with non-default directories. If you " "want your saved games to sync, use default directory." msgstr "" -#: gui/editgamedialog.cpp:536 +#: gui/editgamedialog.cpp:534 msgid "This game ID is already taken. Please choose another one." msgstr "" @@ -485,7 +485,7 @@ msgstr "" msgid "Triangle" msgstr "" -#: gui/fluidsynth-dialog.cpp:138 gui/options.cpp:1221 +#: gui/fluidsynth-dialog.cpp:138 gui/options.cpp:1316 msgid "Misc" msgstr "" @@ -533,15 +533,15 @@ msgstr "" msgid "Mouse click" msgstr "" -#: gui/gui-manager.cpp:126 base/main.cpp:337 +#: gui/gui-manager.cpp:126 base/main.cpp:340 msgid "Display keyboard" msgstr "" -#: gui/gui-manager.cpp:130 base/main.cpp:341 +#: gui/gui-manager.cpp:130 base/main.cpp:344 msgid "Remap keys" msgstr "" -#: gui/gui-manager.cpp:133 base/main.cpp:344 engines/scumm/help.cpp:87 +#: gui/gui-manager.cpp:133 base/main.cpp:347 engines/scumm/help.cpp:87 msgid "Toggle fullscreen" msgstr "" @@ -575,148 +575,148 @@ msgstr "" msgid "Choose an action to map" msgstr "" -#: gui/launcher.cpp:117 engines/dialogs.cpp:111 engines/mohawk/dialogs.cpp:98 +#: gui/launcher.cpp:141 engines/dialogs.cpp:111 engines/mohawk/dialogs.cpp:98 msgid "~Q~uit" msgstr "" -#: gui/launcher.cpp:117 backends/platform/sdl/macosx/appmenu_osx.mm:106 +#: gui/launcher.cpp:141 backends/platform/sdl/macosx/appmenu_osx.mm:106 msgid "Quit ScummVM" msgstr "" -#: gui/launcher.cpp:118 +#: gui/launcher.cpp:142 msgid "A~b~out..." msgstr "" -#: gui/launcher.cpp:118 backends/platform/sdl/macosx/appmenu_osx.mm:80 +#: gui/launcher.cpp:142 backends/platform/sdl/macosx/appmenu_osx.mm:80 msgid "About ScummVM" msgstr "" -#: gui/launcher.cpp:119 +#: gui/launcher.cpp:143 msgid "~O~ptions..." msgstr "" -#: gui/launcher.cpp:119 +#: gui/launcher.cpp:143 msgid "Change global ScummVM options" msgstr "" -#: gui/launcher.cpp:121 +#: gui/launcher.cpp:145 msgid "~S~tart" msgstr "" -#: gui/launcher.cpp:121 +#: gui/launcher.cpp:145 msgid "Start selected game" msgstr "" -#: gui/launcher.cpp:124 +#: gui/launcher.cpp:148 msgid "~L~oad..." msgstr "" -#: gui/launcher.cpp:124 +#: gui/launcher.cpp:148 msgid "Load saved game for selected game" msgstr "" -#: gui/launcher.cpp:129 +#: gui/launcher.cpp:153 msgid "~A~dd Game..." msgstr "" -#: gui/launcher.cpp:129 gui/launcher.cpp:136 +#: gui/launcher.cpp:153 gui/launcher.cpp:160 msgid "Hold Shift for Mass Add" msgstr "" -#: gui/launcher.cpp:131 +#: gui/launcher.cpp:155 msgid "~E~dit Game..." msgstr "" -#: gui/launcher.cpp:131 gui/launcher.cpp:138 +#: gui/launcher.cpp:155 gui/launcher.cpp:162 msgid "Change game options" msgstr "" -#: gui/launcher.cpp:133 +#: gui/launcher.cpp:157 msgid "~R~emove Game" msgstr "" -#: gui/launcher.cpp:133 gui/launcher.cpp:140 +#: gui/launcher.cpp:157 gui/launcher.cpp:164 msgid "Remove game from the list. The game data files stay intact" msgstr "" -#: gui/launcher.cpp:136 +#: gui/launcher.cpp:160 msgctxt "lowres" msgid "~A~dd Game..." msgstr "" -#: gui/launcher.cpp:138 +#: gui/launcher.cpp:162 msgctxt "lowres" msgid "~E~dit Game..." msgstr "" -#: gui/launcher.cpp:140 +#: gui/launcher.cpp:164 msgctxt "lowres" msgid "~R~emove Game" msgstr "" -#: gui/launcher.cpp:148 +#: gui/launcher.cpp:172 msgid "Search in game list" msgstr "" -#: gui/launcher.cpp:152 gui/launcher.cpp:750 +#: gui/launcher.cpp:176 gui/launcher.cpp:771 msgid "Search:" msgstr "" -#: gui/launcher.cpp:176 engines/dialogs.cpp:115 engines/cruise/menu.cpp:214 -#: engines/mohawk/dialogs.cpp:103 engines/mohawk/riven.cpp:733 +#: gui/launcher.cpp:200 engines/dialogs.cpp:115 engines/cruise/menu.cpp:214 +#: engines/mohawk/dialogs.cpp:103 engines/mohawk/riven.cpp:734 #: engines/pegasus/pegasus.cpp:353 engines/tsage/scenes.cpp:601 msgid "Load game:" msgstr "" -#: gui/launcher.cpp:176 engines/dialogs.cpp:115 +#: gui/launcher.cpp:200 engines/dialogs.cpp:115 #: backends/platform/wince/CEActionsPocket.cpp:267 #: backends/platform/wince/CEActionsSmartphone.cpp:231 #: engines/cruise/menu.cpp:214 engines/mohawk/dialogs.cpp:103 -#: engines/mohawk/riven.cpp:733 engines/parallaction/saveload.cpp:194 +#: engines/mohawk/riven.cpp:734 engines/parallaction/saveload.cpp:194 #: engines/pegasus/pegasus.cpp:353 engines/scumm/dialogs.cpp:185 #: engines/tsage/scenes.cpp:601 msgid "Load" msgstr "" -#: gui/launcher.cpp:285 +#: gui/launcher.cpp:306 msgid "" "Do you really want to run the mass game detector? This could potentially add " "a huge number of games." msgstr "" -#: gui/launcher.cpp:344 +#: gui/launcher.cpp:365 msgid "This directory cannot be used yet, it is being downloaded into!" msgstr "" -#: gui/launcher.cpp:394 +#: gui/launcher.cpp:415 msgid "Do you really want to remove this game configuration?" msgstr "" -#: gui/launcher.cpp:452 +#: gui/launcher.cpp:473 msgid "Do you want to load saved game?" msgstr "" -#: gui/launcher.cpp:501 +#: gui/launcher.cpp:522 msgid "This game does not support loading games from the launcher." msgstr "" -#: gui/launcher.cpp:505 +#: gui/launcher.cpp:526 msgid "ScummVM could not find any engine capable of running the selected game!" msgstr "" -#: gui/launcher.cpp:556 +#: gui/launcher.cpp:577 msgid "ScummVM could not find any game in the specified directory!" msgstr "" -#: gui/launcher.cpp:569 +#: gui/launcher.cpp:590 msgid "Pick the game:" msgstr "" -#: gui/launcher.cpp:687 +#: gui/launcher.cpp:708 msgid "Mass Add..." msgstr "" -#: gui/launcher.cpp:689 +#: gui/launcher.cpp:710 msgid "Record..." msgstr "" @@ -759,545 +759,545 @@ msgstr "" msgid "Fast replay" msgstr "" -#: gui/options.cpp:112 common/updates.cpp:56 +#: gui/options.cpp:119 common/updates.cpp:56 msgid "Never" msgstr "" -#: gui/options.cpp:112 +#: gui/options.cpp:119 msgid "every 5 mins" msgstr "" -#: gui/options.cpp:112 +#: gui/options.cpp:119 msgid "every 10 mins" msgstr "" -#: gui/options.cpp:112 +#: gui/options.cpp:119 msgid "every 15 mins" msgstr "" -#: gui/options.cpp:112 +#: gui/options.cpp:119 msgid "every 30 mins" msgstr "" -#: gui/options.cpp:114 +#: gui/options.cpp:121 msgid "8 kHz" msgstr "" -#: gui/options.cpp:114 +#: gui/options.cpp:121 msgid "11 kHz" msgstr "" -#: gui/options.cpp:114 +#: gui/options.cpp:121 msgid "22 kHz" msgstr "" -#: gui/options.cpp:114 +#: gui/options.cpp:121 msgid "44 kHz" msgstr "" -#: gui/options.cpp:114 +#: gui/options.cpp:121 msgid "48 kHz" msgstr "" -#: gui/options.cpp:291 gui/options.cpp:528 gui/options.cpp:629 -#: gui/options.cpp:699 gui/options.cpp:910 +#: gui/options.cpp:289 gui/options.cpp:552 gui/options.cpp:657 +#: gui/options.cpp:726 gui/options.cpp:937 msgctxt "soundfont" msgid "None" msgstr "" -#: gui/options.cpp:432 +#: gui/options.cpp:456 msgid "Failed to apply some of the graphic options changes:" msgstr "" -#: gui/options.cpp:444 +#: gui/options.cpp:468 msgid "the video mode could not be changed." msgstr "" -#: gui/options.cpp:450 +#: gui/options.cpp:474 msgid "the aspect ratio setting could not be changed" msgstr "" -#: gui/options.cpp:456 +#: gui/options.cpp:480 msgid "the fullscreen setting could not be changed" msgstr "" -#: gui/options.cpp:462 +#: gui/options.cpp:486 msgid "the filtering setting could not be changed" msgstr "" -#: gui/options.cpp:782 +#: gui/options.cpp:809 msgid "Graphics mode:" msgstr "" -#: gui/options.cpp:796 +#: gui/options.cpp:823 msgid "Render mode:" msgstr "" -#: gui/options.cpp:796 gui/options.cpp:797 +#: gui/options.cpp:823 gui/options.cpp:824 msgid "Special dithering modes supported by some games" msgstr "" -#: gui/options.cpp:808 -#: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:2450 +#: gui/options.cpp:835 backends/graphics/openglsdl/openglsdl-graphics.cpp:615 +#: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:2460 msgid "Fullscreen mode" msgstr "" -#: gui/options.cpp:811 +#: gui/options.cpp:838 msgid "Filter graphics" msgstr "" -#: gui/options.cpp:811 +#: gui/options.cpp:838 msgid "Use linear filtering when scaling graphics" msgstr "" -#: gui/options.cpp:814 +#: gui/options.cpp:841 msgid "Aspect ratio correction" msgstr "" -#: gui/options.cpp:814 +#: gui/options.cpp:841 msgid "Correct aspect ratio for 320x200 games" msgstr "" -#: gui/options.cpp:822 +#: gui/options.cpp:849 msgid "Preferred Device:" msgstr "" -#: gui/options.cpp:822 +#: gui/options.cpp:849 msgid "Music Device:" msgstr "" -#: gui/options.cpp:822 gui/options.cpp:824 +#: gui/options.cpp:849 gui/options.cpp:851 msgid "Specifies preferred sound device or sound card emulator" msgstr "" -#: gui/options.cpp:822 gui/options.cpp:824 gui/options.cpp:825 +#: gui/options.cpp:849 gui/options.cpp:851 gui/options.cpp:852 msgid "Specifies output sound device or sound card emulator" msgstr "" -#: gui/options.cpp:824 +#: gui/options.cpp:851 msgctxt "lowres" msgid "Preferred Dev.:" msgstr "" -#: gui/options.cpp:824 +#: gui/options.cpp:851 msgctxt "lowres" msgid "Music Device:" msgstr "" -#: gui/options.cpp:851 +#: gui/options.cpp:878 msgid "AdLib emulator:" msgstr "" -#: gui/options.cpp:851 gui/options.cpp:852 +#: gui/options.cpp:878 gui/options.cpp:879 msgid "AdLib is used for music in many games" msgstr "" -#: gui/options.cpp:862 +#: gui/options.cpp:889 msgid "Output rate:" msgstr "" -#: gui/options.cpp:862 gui/options.cpp:863 +#: gui/options.cpp:889 gui/options.cpp:890 msgid "" "Higher value specifies better sound quality but may be not supported by your " "soundcard" msgstr "" -#: gui/options.cpp:873 +#: gui/options.cpp:900 msgid "GM Device:" msgstr "" -#: gui/options.cpp:873 +#: gui/options.cpp:900 msgid "Specifies default sound device for General MIDI output" msgstr "" -#: gui/options.cpp:884 +#: gui/options.cpp:911 msgid "Don't use General MIDI music" msgstr "" -#: gui/options.cpp:895 gui/options.cpp:957 +#: gui/options.cpp:922 gui/options.cpp:984 msgid "Use first available device" msgstr "" -#: gui/options.cpp:907 +#: gui/options.cpp:934 msgid "SoundFont:" msgstr "" -#: gui/options.cpp:907 gui/options.cpp:909 gui/options.cpp:910 +#: gui/options.cpp:934 gui/options.cpp:936 gui/options.cpp:937 msgid "SoundFont is supported by some audio cards, FluidSynth and Timidity" msgstr "" -#: gui/options.cpp:909 +#: gui/options.cpp:936 msgctxt "lowres" msgid "SoundFont:" msgstr "" -#: gui/options.cpp:915 +#: gui/options.cpp:942 msgid "Mixed AdLib/MIDI mode" msgstr "" -#: gui/options.cpp:915 +#: gui/options.cpp:942 msgid "Use both MIDI and AdLib sound generation" msgstr "" -#: gui/options.cpp:918 +#: gui/options.cpp:945 msgid "MIDI gain:" msgstr "" -#: gui/options.cpp:928 +#: gui/options.cpp:955 msgid "MT-32 Device:" msgstr "" -#: gui/options.cpp:928 +#: gui/options.cpp:955 msgid "Specifies default sound device for Roland MT-32/LAPC1/CM32l/CM64 output" msgstr "" -#: gui/options.cpp:933 +#: gui/options.cpp:960 msgid "True Roland MT-32 (disable GM emulation)" msgstr "" -#: gui/options.cpp:933 gui/options.cpp:935 +#: gui/options.cpp:960 gui/options.cpp:962 msgid "" "Check if you want to use your real hardware Roland-compatible sound device " "connected to your computer" msgstr "" -#: gui/options.cpp:935 +#: gui/options.cpp:962 msgctxt "lowres" msgid "True Roland MT-32 (no GM emulation)" msgstr "" -#: gui/options.cpp:938 +#: gui/options.cpp:965 msgid "Roland GS Device (enable MT-32 mappings)" msgstr "" -#: gui/options.cpp:938 +#: gui/options.cpp:965 msgid "" "Check if you want to enable patch mappings to emulate an MT-32 on a Roland " "GS device" msgstr "" -#: gui/options.cpp:947 +#: gui/options.cpp:974 msgid "Don't use Roland MT-32 music" msgstr "" -#: gui/options.cpp:974 +#: gui/options.cpp:1001 msgid "Text and Speech:" msgstr "" -#: gui/options.cpp:978 gui/options.cpp:988 +#: gui/options.cpp:1005 gui/options.cpp:1015 msgid "Speech" msgstr "" -#: gui/options.cpp:979 gui/options.cpp:989 +#: gui/options.cpp:1006 gui/options.cpp:1016 msgid "Subtitles" msgstr "" -#: gui/options.cpp:980 +#: gui/options.cpp:1007 msgid "Both" msgstr "" -#: gui/options.cpp:982 +#: gui/options.cpp:1009 msgid "Subtitle speed:" msgstr "" -#: gui/options.cpp:984 +#: gui/options.cpp:1011 msgctxt "lowres" msgid "Text and Speech:" msgstr "" -#: gui/options.cpp:988 +#: gui/options.cpp:1015 msgid "Spch" msgstr "" -#: gui/options.cpp:989 +#: gui/options.cpp:1016 msgid "Subs" msgstr "" -#: gui/options.cpp:990 +#: gui/options.cpp:1017 msgctxt "lowres" msgid "Both" msgstr "" -#: gui/options.cpp:990 +#: gui/options.cpp:1017 msgid "Show subtitles and play speech" msgstr "" -#: gui/options.cpp:992 +#: gui/options.cpp:1019 msgctxt "lowres" msgid "Subtitle speed:" msgstr "" -#: gui/options.cpp:1008 +#: gui/options.cpp:1035 msgid "Music volume:" msgstr "" -#: gui/options.cpp:1010 +#: gui/options.cpp:1037 msgctxt "lowres" msgid "Music volume:" msgstr "" -#: gui/options.cpp:1017 +#: gui/options.cpp:1044 msgid "Mute All" msgstr "" -#: gui/options.cpp:1020 +#: gui/options.cpp:1047 msgid "SFX volume:" msgstr "" -#: gui/options.cpp:1020 gui/options.cpp:1022 gui/options.cpp:1023 +#: gui/options.cpp:1047 gui/options.cpp:1049 gui/options.cpp:1050 msgid "Special sound effects volume" msgstr "" -#: gui/options.cpp:1022 +#: gui/options.cpp:1049 msgctxt "lowres" msgid "SFX volume:" msgstr "" -#: gui/options.cpp:1030 +#: gui/options.cpp:1057 msgid "Speech volume:" msgstr "" -#: gui/options.cpp:1032 +#: gui/options.cpp:1059 msgctxt "lowres" msgid "Speech volume:" msgstr "" -#: gui/options.cpp:1162 +#: gui/options.cpp:1257 msgid "FluidSynth Settings" msgstr "" -#: gui/options.cpp:1193 +#: gui/options.cpp:1288 msgid "Theme Path:" msgstr "" -#: gui/options.cpp:1195 +#: gui/options.cpp:1290 msgctxt "lowres" msgid "Theme Path:" msgstr "" -#: gui/options.cpp:1201 gui/options.cpp:1203 gui/options.cpp:1204 +#: gui/options.cpp:1296 gui/options.cpp:1298 gui/options.cpp:1299 msgid "Specifies path to additional data used by all games or ScummVM" msgstr "" -#: gui/options.cpp:1210 +#: gui/options.cpp:1305 msgid "Plugins Path:" msgstr "" -#: gui/options.cpp:1212 +#: gui/options.cpp:1307 msgctxt "lowres" msgid "Plugins Path:" msgstr "" -#: gui/options.cpp:1223 +#: gui/options.cpp:1318 msgctxt "lowres" msgid "Misc" msgstr "" -#: gui/options.cpp:1225 +#: gui/options.cpp:1320 msgid "Theme:" msgstr "" -#: gui/options.cpp:1229 +#: gui/options.cpp:1324 msgid "GUI Renderer:" msgstr "" -#: gui/options.cpp:1241 +#: gui/options.cpp:1336 msgid "Autosave:" msgstr "" -#: gui/options.cpp:1243 +#: gui/options.cpp:1338 msgctxt "lowres" msgid "Autosave:" msgstr "" -#: gui/options.cpp:1251 +#: gui/options.cpp:1346 msgid "Keys" msgstr "" -#: gui/options.cpp:1258 +#: gui/options.cpp:1353 msgid "GUI Language:" msgstr "" -#: gui/options.cpp:1258 +#: gui/options.cpp:1353 msgid "Language of ScummVM GUI" msgstr "" -#: gui/options.cpp:1286 +#: gui/options.cpp:1381 msgid "Update check:" msgstr "" -#: gui/options.cpp:1286 +#: gui/options.cpp:1381 msgid "How often to check ScummVM updates" msgstr "" -#: gui/options.cpp:1298 +#: gui/options.cpp:1393 msgid "Check now" msgstr "" -#: gui/options.cpp:1306 +#: gui/options.cpp:1401 msgid "Cloud" msgstr "" -#: gui/options.cpp:1308 +#: gui/options.cpp:1403 msgctxt "lowres" msgid "Cloud" msgstr "" -#: gui/options.cpp:1319 +#: gui/options.cpp:1408 msgid "Storage:" msgstr "" -#: gui/options.cpp:1319 +#: gui/options.cpp:1408 msgid "Active cloud storage" msgstr "" -#: gui/options.cpp:1326 gui/options.cpp:1877 +#: gui/options.cpp:1415 gui/options.cpp:1972 msgid "<none>" msgstr "" -#: gui/options.cpp:1330 backends/platform/wii/options.cpp:114 +#: gui/options.cpp:1419 backends/platform/wii/options.cpp:114 msgid "Username:" msgstr "" -#: gui/options.cpp:1330 +#: gui/options.cpp:1419 msgid "Username used by this storage" msgstr "" -#: gui/options.cpp:1333 +#: gui/options.cpp:1422 msgid "Used space:" msgstr "" -#: gui/options.cpp:1333 +#: gui/options.cpp:1422 msgid "Space used by ScummVM's saved games on this storage" msgstr "" -#: gui/options.cpp:1336 +#: gui/options.cpp:1425 msgid "Last sync time:" msgstr "" -#: gui/options.cpp:1336 +#: gui/options.cpp:1425 msgid "When the last saved games sync for this storage occured" msgstr "" -#: gui/options.cpp:1339 gui/storagewizarddialog.cpp:71 +#: gui/options.cpp:1428 gui/storagewizarddialog.cpp:71 msgid "Connect" msgstr "" -#: gui/options.cpp:1339 +#: gui/options.cpp:1428 msgid "Open wizard dialog to connect your cloud storage account" msgstr "" -#: gui/options.cpp:1340 +#: gui/options.cpp:1429 msgid "Refresh" msgstr "" -#: gui/options.cpp:1340 +#: gui/options.cpp:1429 msgid "Refresh current cloud storage information (username and usage)" msgstr "" -#: gui/options.cpp:1341 +#: gui/options.cpp:1430 msgid "Download" msgstr "" -#: gui/options.cpp:1341 +#: gui/options.cpp:1430 msgid "Open downloads manager dialog" msgstr "" -#: gui/options.cpp:1343 +#: gui/options.cpp:1432 msgid "Run server" msgstr "" -#: gui/options.cpp:1343 +#: gui/options.cpp:1432 msgid "Run local webserver" msgstr "" -#: gui/options.cpp:1344 gui/options.cpp:1987 +#: gui/options.cpp:1433 gui/options.cpp:2082 msgid "Not running" msgstr "" -#: gui/options.cpp:1348 +#: gui/options.cpp:1437 msgid "/root/ Path:" msgstr "" -#: gui/options.cpp:1348 gui/options.cpp:1350 gui/options.cpp:1351 +#: gui/options.cpp:1437 gui/options.cpp:1439 gui/options.cpp:1440 msgid "Specifies which directory the Files Manager can access" msgstr "" -#: gui/options.cpp:1350 +#: gui/options.cpp:1439 msgctxt "lowres" msgid "/root/ Path:" msgstr "" -#: gui/options.cpp:1360 +#: gui/options.cpp:1449 msgid "Server's port:" msgstr "" -#: gui/options.cpp:1360 +#: gui/options.cpp:1449 msgid "" "Which port is used by the server\n" "Auth with server is not available with non-default port" msgstr "" -#: gui/options.cpp:1520 -msgid "You have to restart ScummVM before your changes will take effect." +#: gui/options.cpp:1462 +msgid "Apply" msgstr "" -#: gui/options.cpp:1543 +#: gui/options.cpp:1628 msgid "Failed to change cloud storage!" msgstr "" -#: gui/options.cpp:1546 +#: gui/options.cpp:1631 msgid "Another cloud storage is already active." msgstr "" -#: gui/options.cpp:1584 +#: gui/options.cpp:1667 +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 "" + +#: gui/options.cpp:1702 msgid "The chosen directory cannot be written to. Please select another one." msgstr "" -#: gui/options.cpp:1593 +#: gui/options.cpp:1711 msgid "Select directory for GUI themes" msgstr "" -#: gui/options.cpp:1603 +#: gui/options.cpp:1721 msgid "Select directory for extra files" msgstr "" -#: gui/options.cpp:1614 +#: gui/options.cpp:1732 msgid "Select directory for plugins" msgstr "" -#: gui/options.cpp:1626 +#: gui/options.cpp:1744 msgid "Select directory for Files Manager /root/" msgstr "" -#: gui/options.cpp:1688 -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 "" - -#: gui/options.cpp:1884 +#: gui/options.cpp:1979 #, c-format msgid "%llu bytes" msgstr "" -#: gui/options.cpp:1892 +#: gui/options.cpp:1987 msgid "<right now>" msgstr "" -#: gui/options.cpp:1894 +#: gui/options.cpp:1989 msgid "<never>" msgstr "" -#: gui/options.cpp:1978 +#: gui/options.cpp:2073 msgid "Stop server" msgstr "" -#: gui/options.cpp:1979 +#: gui/options.cpp:2074 msgid "Stop local webserver" msgstr "" -#: gui/options.cpp:2068 +#: gui/options.cpp:2163 msgid "" "Request failed.\n" "Check your Internet connection." @@ -1565,35 +1565,35 @@ msgstr "" msgid "Clear value" msgstr "" -#: base/main.cpp:250 +#: base/main.cpp:253 #, c-format msgid "Engine does not support debug level '%s'" msgstr "" -#: base/main.cpp:324 +#: base/main.cpp:327 msgid "Menu" msgstr "" -#: base/main.cpp:327 backends/platform/symbian/src/SymbianActions.cpp:45 +#: base/main.cpp:330 backends/platform/symbian/src/SymbianActions.cpp:45 #: backends/platform/wince/CEActionsPocket.cpp:45 #: backends/platform/wince/CEActionsSmartphone.cpp:46 msgid "Skip" msgstr "" -#: base/main.cpp:330 backends/platform/symbian/src/SymbianActions.cpp:50 +#: base/main.cpp:333 backends/platform/symbian/src/SymbianActions.cpp:50 #: backends/platform/wince/CEActionsPocket.cpp:42 msgid "Pause" msgstr "" -#: base/main.cpp:333 +#: base/main.cpp:336 msgid "Skip line" msgstr "" -#: base/main.cpp:542 +#: base/main.cpp:547 msgid "Error running game:" msgstr "" -#: base/main.cpp:589 +#: base/main.cpp:594 msgid "Could not find any engine capable of running the selected game" msgstr "" @@ -1938,11 +1938,11 @@ msgstr "" msgid "PC-98 Audio" msgstr "" -#: audio/softsynth/mt32.cpp:196 +#: audio/softsynth/mt32.cpp:197 msgid "Initializing MT-32 Emulator" msgstr "" -#: audio/softsynth/mt32.cpp:434 +#: audio/softsynth/mt32.cpp:435 msgid "MT-32 Emulator" msgstr "" @@ -1958,32 +1958,32 @@ msgstr "" msgid "C64 Audio Emulator" msgstr "" -#: backends/cloud/storage.cpp:210 +#: backends/cloud/storage.cpp:211 msgid "Saved games sync complete." msgstr "" -#: backends/cloud/storage.cpp:221 +#: backends/cloud/storage.cpp:222 msgid "Saved games sync was cancelled." msgstr "" -#: backends/cloud/storage.cpp:223 +#: backends/cloud/storage.cpp:224 msgid "" "Saved games sync failed.\n" "Check your Internet connection." msgstr "" -#: backends/cloud/storage.cpp:327 +#: backends/cloud/storage.cpp:328 #, c-format msgid "" "Download complete.\n" "Failed to download %u files." msgstr "" -#: backends/cloud/storage.cpp:329 +#: backends/cloud/storage.cpp:330 msgid "Download complete." msgstr "" -#: backends/cloud/storage.cpp:339 +#: backends/cloud/storage.cpp:340 msgid "Download failed." msgstr "" @@ -2092,39 +2092,49 @@ msgstr "" msgid "OpenGL" msgstr "" -#: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:47 -#: backends/graphics/wincesdl/wincesdl-graphics.cpp:88 -#: backends/graphics/wincesdl/wincesdl-graphics.cpp:95 -msgid "Normal (no scaling)" +#: backends/graphics/openglsdl/openglsdl-graphics.cpp:617 +#: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:2462 +msgid "Windowed mode" msgstr "" -#: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:66 -msgctxt "lowres" -msgid "Normal (no scaling)" +#: backends/graphics/openglsdl/openglsdl-graphics.cpp:710 +#, c-format +msgid "Resolution: %dx%d" msgstr "" -#: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:2329 +#: backends/graphics/openglsdl/openglsdl-graphics.cpp:731 +#: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:2338 msgid "Enabled aspect ratio correction" msgstr "" -#: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:2335 +#: backends/graphics/openglsdl/openglsdl-graphics.cpp:733 +#: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:2344 msgid "Disabled aspect ratio correction" msgstr "" -#: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:2353 +#: backends/graphics/openglsdl/openglsdl-graphics.cpp:753 +#: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:2362 msgid "Filtering enabled" msgstr "" -#: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:2355 +#: backends/graphics/openglsdl/openglsdl-graphics.cpp:755 +#: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:2364 msgid "Filtering disabled" msgstr "" -#: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:2407 -msgid "Active graphics filter:" +#: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:47 +#: backends/graphics/wincesdl/wincesdl-graphics.cpp:88 +#: backends/graphics/wincesdl/wincesdl-graphics.cpp:95 +msgid "Normal (no scaling)" msgstr "" -#: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:2452 -msgid "Windowed mode" +#: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:66 +msgctxt "lowres" +msgid "Normal (no scaling)" +msgstr "" + +#: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:2417 +msgid "Active graphics filter:" msgstr "" #: backends/keymapper/remap-dialog.cpp:48 @@ -3001,6 +3011,39 @@ msgstr "" msgid "~W~ater Effect Enabled" msgstr "" +#: engines/mohawk/riven.cpp:150 +msgid "" +"You're missing a Riven executable. The Windows executable is 'riven.exe' or " +"'rivendmo.exe'. " +msgstr "" + +#: engines/mohawk/riven.cpp:151 +msgid "" +"Using the 'arcriven.z' installer file also works. In addition, you can use " +"the Mac 'Riven' executable." +msgstr "" + +#: engines/mohawk/riven.cpp:162 +msgid "" +"You're missing 'extras.mhk'. Using the 'arcriven.z' installer file also " +"works." +msgstr "" + +#: engines/mohawk/riven_external.cpp:213 +msgid "" +"Exploration beyond this point available only within the full version of\n" +"the game." +msgstr "" + +#: engines/mohawk/riven_external.cpp:655 +msgid "" +"At this point, the Riven Demo would\n" +"ask if you would like to open a web browser\n" +"to bring you to the Red Orb store to buy\n" +"the game. ScummVM cannot do that and\n" +"the site no longer exists." +msgstr "" + #: engines/mohawk/mohawk.cpp:61 msgid "The game is paused. Press any key to continue." msgstr "" diff --git a/po/sv_SE.po b/po/sv_SE.po index 459abc5572..cf3abd7217 100644 --- a/po/sv_SE.po +++ b/po/sv_SE.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: ScummVM 1.5.0svn\n" "Report-Msgid-Bugs-To: scummvm-devel@lists.scummvm.org\n" -"POT-Creation-Date: 2016-10-12 23:37+0100\n" +"POT-Creation-Date: 2016-11-05 12:43+0100\n" "PO-Revision-Date: 2016-10-06 19:01+0200\n" "Last-Translator: Hampus Flink <hampus.flink@gmail.com>\n" "Language-Team: \n" @@ -18,6 +18,7 @@ msgstr "" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Poedit-SourceCharset: iso-8859-1\n" "X-Generator: Poedit 1.8.9\n" +"X-Language-name: Svenska\n" #: gui/about.cpp:94 #, c-format @@ -57,7 +58,7 @@ msgstr "Uppåt" #: gui/browser.cpp:75 gui/chooser.cpp:46 gui/editgamedialog.cpp:292 #: gui/editrecorddialog.cpp:67 gui/filebrowser-dialog.cpp:64 #: gui/fluidsynth-dialog.cpp:152 gui/KeysDialog.cpp:43 gui/massadd.cpp:95 -#: gui/options.cpp:1376 gui/predictivedialog.cpp:73 gui/recorderdialog.cpp:69 +#: gui/options.cpp:1461 gui/predictivedialog.cpp:73 gui/recorderdialog.cpp:69 #: gui/recorderdialog.cpp:155 gui/remotebrowser.cpp:59 #: gui/saveload-dialog.cpp:383 gui/saveload-dialog.cpp:443 #: gui/saveload-dialog.cpp:717 gui/saveload-dialog.cpp:1111 @@ -81,7 +82,7 @@ msgstr "Välj" msgid "Select directory where to download game data" msgstr "Välj katalogen där du vill ladda ner speldata" -#: gui/downloaddialog.cpp:49 gui/editgamedialog.cpp:472 gui/launcher.cpp:173 +#: gui/downloaddialog.cpp:49 gui/editgamedialog.cpp:470 gui/launcher.cpp:197 msgid "Select directory with game data" msgstr "Välj katalog med speldata" @@ -116,7 +117,7 @@ msgstr "" #: gui/downloaddialog.cpp:118 gui/downloaddialog.cpp:152 #: gui/filebrowser-dialog.cpp:132 gui/fluidsynth-dialog.cpp:217 -#: gui/launcher.cpp:286 gui/launcher.cpp:394 gui/launcher.cpp:453 +#: gui/launcher.cpp:307 gui/launcher.cpp:415 gui/launcher.cpp:474 #: gui/storagewizarddialog.cpp:112 #: backends/events/symbiansdl/symbiansdl-events.cpp:186 #: backends/platform/wince/CEActionsPocket.cpp:326 @@ -128,7 +129,7 @@ msgstr "Ja" #: gui/downloaddialog.cpp:118 gui/downloaddialog.cpp:153 #: gui/filebrowser-dialog.cpp:132 gui/fluidsynth-dialog.cpp:217 -#: gui/launcher.cpp:286 gui/launcher.cpp:394 gui/launcher.cpp:453 +#: gui/launcher.cpp:307 gui/launcher.cpp:415 gui/launcher.cpp:474 #: gui/storagewizarddialog.cpp:112 #: backends/events/symbiansdl/symbiansdl-events.cpp:186 #: backends/platform/wince/CEActionsPocket.cpp:326 @@ -138,7 +139,7 @@ msgstr "Ja" msgid "No" msgstr "Nej" -#: gui/downloaddialog.cpp:136 gui/launcher.cpp:544 +#: gui/downloaddialog.cpp:136 gui/launcher.cpp:565 msgid "ScummVM couldn't open the specified directory!" msgstr "ScummVM kunde inte öppna den valda katalogen!" @@ -151,8 +152,8 @@ msgstr "" "fil med samma namn." #: gui/downloaddialog.cpp:146 gui/editgamedialog.cpp:293 -#: gui/fluidsynth-dialog.cpp:153 gui/KeysDialog.cpp:42 gui/launcher.cpp:501 -#: gui/launcher.cpp:505 gui/massadd.cpp:92 gui/options.cpp:1377 +#: gui/fluidsynth-dialog.cpp:153 gui/KeysDialog.cpp:42 gui/launcher.cpp:522 +#: gui/launcher.cpp:526 gui/massadd.cpp:92 gui/options.cpp:1463 #: gui/saveload-dialog.cpp:1112 engines/engine.cpp:477 engines/engine.cpp:488 #: backends/platform/wii/options.cpp:47 #: backends/platform/wince/CELauncherDialog.cpp:54 @@ -237,8 +238,8 @@ msgstr "" "Spelets språk. Den här inställningen omvandlar inte din spanska spelversion " "till en engelsk" -#: gui/editgamedialog.cpp:151 gui/editgamedialog.cpp:165 gui/options.cpp:114 -#: gui/options.cpp:785 gui/options.cpp:798 gui/options.cpp:1261 +#: gui/editgamedialog.cpp:151 gui/editgamedialog.cpp:165 gui/options.cpp:121 +#: gui/options.cpp:812 gui/options.cpp:825 gui/options.cpp:1356 #: audio/null.cpp:41 msgid "<default>" msgstr "<standard>" @@ -261,11 +262,11 @@ msgstr "Plattform:" msgid "Engine" msgstr "Motor" -#: gui/editgamedialog.cpp:184 gui/options.cpp:1120 gui/options.cpp:1137 +#: gui/editgamedialog.cpp:184 gui/options.cpp:1147 gui/options.cpp:1232 msgid "Graphics" msgstr "Grafik" -#: gui/editgamedialog.cpp:184 gui/options.cpp:1120 gui/options.cpp:1137 +#: gui/editgamedialog.cpp:184 gui/options.cpp:1147 gui/options.cpp:1232 msgid "GFX" msgstr "GFX" @@ -278,7 +279,7 @@ msgctxt "lowres" msgid "Override global graphic settings" msgstr "Överskrid globala grafikinställningar" -#: gui/editgamedialog.cpp:196 gui/options.cpp:1143 +#: gui/editgamedialog.cpp:196 gui/options.cpp:1238 msgid "Audio" msgstr "Ljud" @@ -291,11 +292,11 @@ msgctxt "lowres" msgid "Override global audio settings" msgstr "Överskrid globala ljudinställningar" -#: gui/editgamedialog.cpp:210 gui/options.cpp:1148 +#: gui/editgamedialog.cpp:210 gui/options.cpp:1243 msgid "Volume" msgstr "Volym" -#: gui/editgamedialog.cpp:212 gui/options.cpp:1150 +#: gui/editgamedialog.cpp:212 gui/options.cpp:1245 msgctxt "lowres" msgid "Volume" msgstr "Volym" @@ -309,7 +310,7 @@ msgctxt "lowres" msgid "Override global volume settings" msgstr "Överskrid globala volyminställningar" -#: gui/editgamedialog.cpp:226 gui/options.cpp:1158 +#: gui/editgamedialog.cpp:226 gui/options.cpp:1253 msgid "MIDI" msgstr "MIDI" @@ -322,7 +323,7 @@ msgctxt "lowres" msgid "Override global MIDI settings" msgstr "Överskrid globala MIDI-inställningar" -#: gui/editgamedialog.cpp:241 gui/options.cpp:1168 +#: gui/editgamedialog.cpp:241 gui/options.cpp:1263 msgid "MT-32" msgstr "MT-32" @@ -335,11 +336,11 @@ msgctxt "lowres" msgid "Override global MT-32 settings" msgstr "Överskrid globala MT-32 inställningar" -#: gui/editgamedialog.cpp:255 gui/options.cpp:1175 +#: gui/editgamedialog.cpp:255 gui/options.cpp:1270 msgid "Paths" msgstr "Sökvägar" -#: gui/editgamedialog.cpp:257 gui/options.cpp:1177 +#: gui/editgamedialog.cpp:257 gui/options.cpp:1272 msgctxt "lowres" msgid "Paths" msgstr "Sökvägar" @@ -353,7 +354,7 @@ msgctxt "lowres" msgid "Game Path:" msgstr "Sökv. spel:" -#: gui/editgamedialog.cpp:271 gui/options.cpp:1201 +#: gui/editgamedialog.cpp:271 gui/options.cpp:1296 msgid "Extra Path:" msgstr "Sökv. extra:" @@ -362,56 +363,56 @@ msgstr "Sökv. extra:" msgid "Specifies path to additional data used by the game" msgstr "Bestämmer sökvägen till ytterligare data som spelet använder" -#: gui/editgamedialog.cpp:273 gui/options.cpp:1203 +#: gui/editgamedialog.cpp:273 gui/options.cpp:1298 msgctxt "lowres" msgid "Extra Path:" msgstr "Sökv. extra:" -#: gui/editgamedialog.cpp:280 gui/options.cpp:1185 +#: gui/editgamedialog.cpp:280 gui/options.cpp:1280 msgid "Save Path:" msgstr "Sökv. sparat:" #: gui/editgamedialog.cpp:280 gui/editgamedialog.cpp:282 -#: gui/editgamedialog.cpp:283 gui/options.cpp:1185 gui/options.cpp:1187 -#: gui/options.cpp:1188 +#: gui/editgamedialog.cpp:283 gui/options.cpp:1280 gui/options.cpp:1282 +#: gui/options.cpp:1283 msgid "Specifies where your saved games are put" msgstr "Bestämmer var dina spardata lagras" -#: gui/editgamedialog.cpp:282 gui/options.cpp:1187 +#: gui/editgamedialog.cpp:282 gui/options.cpp:1282 msgctxt "lowres" msgid "Save Path:" msgstr "Sökv. sparat:" -#: gui/editgamedialog.cpp:301 gui/editgamedialog.cpp:400 -#: gui/editgamedialog.cpp:459 gui/editgamedialog.cpp:520 gui/options.cpp:1196 -#: gui/options.cpp:1204 gui/options.cpp:1213 gui/options.cpp:1414 -#: gui/options.cpp:1420 gui/options.cpp:1428 gui/options.cpp:1451 -#: gui/options.cpp:1467 gui/options.cpp:1473 gui/options.cpp:1480 -#: gui/options.cpp:1488 gui/options.cpp:1640 gui/options.cpp:1643 -#: gui/options.cpp:1650 gui/options.cpp:1660 +#: gui/editgamedialog.cpp:301 gui/editgamedialog.cpp:398 +#: gui/editgamedialog.cpp:457 gui/editgamedialog.cpp:518 gui/options.cpp:1291 +#: gui/options.cpp:1299 gui/options.cpp:1308 gui/options.cpp:1488 +#: gui/options.cpp:1494 gui/options.cpp:1502 gui/options.cpp:1525 +#: gui/options.cpp:1554 gui/options.cpp:1560 gui/options.cpp:1567 +#: gui/options.cpp:1575 gui/options.cpp:1758 gui/options.cpp:1761 +#: gui/options.cpp:1768 gui/options.cpp:1778 msgctxt "path" msgid "None" msgstr "Ingen" -#: gui/editgamedialog.cpp:306 gui/editgamedialog.cpp:406 -#: gui/editgamedialog.cpp:524 gui/options.cpp:1408 gui/options.cpp:1461 -#: gui/options.cpp:1646 backends/platform/wii/options.cpp:56 +#: gui/editgamedialog.cpp:306 gui/editgamedialog.cpp:404 +#: gui/editgamedialog.cpp:522 gui/options.cpp:1482 gui/options.cpp:1548 +#: gui/options.cpp:1764 backends/platform/wii/options.cpp:56 msgid "Default" msgstr "Standard" -#: gui/editgamedialog.cpp:452 gui/options.cpp:1654 +#: gui/editgamedialog.cpp:450 gui/options.cpp:1772 msgid "Select SoundFont" msgstr "Välj SoundFont" -#: gui/editgamedialog.cpp:491 +#: gui/editgamedialog.cpp:489 msgid "Select additional game directory" msgstr "Välj en ytterligare spelkatalog" -#: gui/editgamedialog.cpp:504 gui/options.cpp:1577 +#: gui/editgamedialog.cpp:502 gui/options.cpp:1695 msgid "Select directory for saved games" msgstr "Välj katalog för spardata" -#: gui/editgamedialog.cpp:510 +#: gui/editgamedialog.cpp:508 msgid "" "Saved games sync feature doesn't work with non-default directories. If you " "want your saved games to sync, use default directory." @@ -419,7 +420,7 @@ msgstr "" "Synkfunktionen för sparade data fungerar endast med standardkataloger. Om du " "vill synka dina sparade data måste du använda standardkatalogen." -#: gui/editgamedialog.cpp:536 +#: gui/editgamedialog.cpp:534 msgid "This game ID is already taken. Please choose another one." msgstr "Detta ID-namn är upptaget. Var god välj ett annat." @@ -499,7 +500,7 @@ msgstr "Sinus" msgid "Triangle" msgstr "Triangel" -#: gui/fluidsynth-dialog.cpp:138 gui/options.cpp:1221 +#: gui/fluidsynth-dialog.cpp:138 gui/options.cpp:1316 msgid "Misc" msgstr "Diverse" @@ -550,15 +551,15 @@ msgstr "Stäng" msgid "Mouse click" msgstr "Musklick" -#: gui/gui-manager.cpp:126 base/main.cpp:337 +#: gui/gui-manager.cpp:126 base/main.cpp:340 msgid "Display keyboard" msgstr "Visa tangentbord" -#: gui/gui-manager.cpp:130 base/main.cpp:341 +#: gui/gui-manager.cpp:130 base/main.cpp:344 msgid "Remap keys" msgstr "Ställ in tangenter" -#: gui/gui-manager.cpp:133 base/main.cpp:344 engines/scumm/help.cpp:87 +#: gui/gui-manager.cpp:133 base/main.cpp:347 engines/scumm/help.cpp:87 msgid "Toggle fullscreen" msgstr "Fullskärmsläge" @@ -592,110 +593,110 @@ msgstr "Tryck på en tangent för att ställa in" msgid "Choose an action to map" msgstr "Välj en handling att ställa in" -#: gui/launcher.cpp:117 engines/dialogs.cpp:111 engines/mohawk/dialogs.cpp:98 +#: gui/launcher.cpp:141 engines/dialogs.cpp:111 engines/mohawk/dialogs.cpp:98 msgid "~Q~uit" msgstr "~A~vsluta" -#: gui/launcher.cpp:117 backends/platform/sdl/macosx/appmenu_osx.mm:106 +#: gui/launcher.cpp:141 backends/platform/sdl/macosx/appmenu_osx.mm:106 msgid "Quit ScummVM" msgstr "Avsluta ScummVM" -#: gui/launcher.cpp:118 +#: gui/launcher.cpp:142 msgid "A~b~out..." msgstr "O~m~..." -#: gui/launcher.cpp:118 backends/platform/sdl/macosx/appmenu_osx.mm:80 +#: gui/launcher.cpp:142 backends/platform/sdl/macosx/appmenu_osx.mm:80 msgid "About ScummVM" msgstr "Om ScummVM" -#: gui/launcher.cpp:119 +#: gui/launcher.cpp:143 msgid "~O~ptions..." msgstr "~I~nställningar..." -#: gui/launcher.cpp:119 +#: gui/launcher.cpp:143 msgid "Change global ScummVM options" msgstr "Redigera globala ScummVM-inställningar" -#: gui/launcher.cpp:121 +#: gui/launcher.cpp:145 msgid "~S~tart" msgstr "~S~tarta" -#: gui/launcher.cpp:121 +#: gui/launcher.cpp:145 msgid "Start selected game" msgstr "Starta det valda spelet" -#: gui/launcher.cpp:124 +#: gui/launcher.cpp:148 msgid "~L~oad..." msgstr "~L~adda..." -#: gui/launcher.cpp:124 +#: gui/launcher.cpp:148 msgid "Load saved game for selected game" msgstr "Ladda spardata för det valda spelet" -#: gui/launcher.cpp:129 +#: gui/launcher.cpp:153 msgid "~A~dd Game..." msgstr "Lä~g~g till spel..." -#: gui/launcher.cpp:129 gui/launcher.cpp:136 +#: gui/launcher.cpp:153 gui/launcher.cpp:160 msgid "Hold Shift for Mass Add" msgstr "Håll ned Skift för masstillägg" -#: gui/launcher.cpp:131 +#: gui/launcher.cpp:155 msgid "~E~dit Game..." msgstr "R~e~digera spel..." -#: gui/launcher.cpp:131 gui/launcher.cpp:138 +#: gui/launcher.cpp:155 gui/launcher.cpp:162 msgid "Change game options" msgstr "Redigera spelinställningarna" -#: gui/launcher.cpp:133 +#: gui/launcher.cpp:157 msgid "~R~emove Game" msgstr "~R~adera spel" -#: gui/launcher.cpp:133 gui/launcher.cpp:140 +#: gui/launcher.cpp:157 gui/launcher.cpp:164 msgid "Remove game from the list. The game data files stay intact" msgstr "Radera spelet från listan. Spelets datafiler påverkas inte." -#: gui/launcher.cpp:136 +#: gui/launcher.cpp:160 msgctxt "lowres" msgid "~A~dd Game..." msgstr "Lä~g~g till spel..." -#: gui/launcher.cpp:138 +#: gui/launcher.cpp:162 msgctxt "lowres" msgid "~E~dit Game..." msgstr "R~e~digera spel..." -#: gui/launcher.cpp:140 +#: gui/launcher.cpp:164 msgctxt "lowres" msgid "~R~emove Game" msgstr "~R~adera spel" -#: gui/launcher.cpp:148 +#: gui/launcher.cpp:172 msgid "Search in game list" msgstr "Sök i spellistan" -#: gui/launcher.cpp:152 gui/launcher.cpp:750 +#: gui/launcher.cpp:176 gui/launcher.cpp:771 msgid "Search:" msgstr "Sök:" -#: gui/launcher.cpp:176 engines/dialogs.cpp:115 engines/cruise/menu.cpp:214 -#: engines/mohawk/dialogs.cpp:103 engines/mohawk/riven.cpp:733 +#: gui/launcher.cpp:200 engines/dialogs.cpp:115 engines/cruise/menu.cpp:214 +#: engines/mohawk/dialogs.cpp:103 engines/mohawk/riven.cpp:734 #: engines/pegasus/pegasus.cpp:353 engines/tsage/scenes.cpp:601 msgid "Load game:" msgstr "Ladda spel:" -#: gui/launcher.cpp:176 engines/dialogs.cpp:115 +#: gui/launcher.cpp:200 engines/dialogs.cpp:115 #: backends/platform/wince/CEActionsPocket.cpp:267 #: backends/platform/wince/CEActionsSmartphone.cpp:231 #: engines/cruise/menu.cpp:214 engines/mohawk/dialogs.cpp:103 -#: engines/mohawk/riven.cpp:733 engines/parallaction/saveload.cpp:194 +#: engines/mohawk/riven.cpp:734 engines/parallaction/saveload.cpp:194 #: engines/pegasus/pegasus.cpp:353 engines/scumm/dialogs.cpp:185 #: engines/tsage/scenes.cpp:601 msgid "Load" msgstr "Ladda" -#: gui/launcher.cpp:285 +#: gui/launcher.cpp:306 msgid "" "Do you really want to run the mass game detector? This could potentially add " "a huge number of games." @@ -703,41 +704,41 @@ msgstr "" "Vill du verkligen använda mass-speldetektorn? Processen kan potentiellt " "lägga till ett enormt antal spel." -#: gui/launcher.cpp:344 +#: gui/launcher.cpp:365 msgid "This directory cannot be used yet, it is being downloaded into!" msgstr "" "Den här katalogen kan inte användas än, eftersom något laddas ner i den!" -#: gui/launcher.cpp:394 +#: gui/launcher.cpp:415 msgid "Do you really want to remove this game configuration?" msgstr "Vill du verkligen radera den här spelkonfigurationen?" -#: gui/launcher.cpp:452 +#: gui/launcher.cpp:473 msgid "Do you want to load saved game?" msgstr "Vill du ladda sparat spel?" -#: gui/launcher.cpp:501 +#: gui/launcher.cpp:522 msgid "This game does not support loading games from the launcher." msgstr "Det här spelet stöder inte laddning av spardata från launchern." -#: gui/launcher.cpp:505 +#: gui/launcher.cpp:526 msgid "ScummVM could not find any engine capable of running the selected game!" msgstr "" "ScummVM kunde inte hitta en motor kapabel till att köra det valda spelet!" -#: gui/launcher.cpp:556 +#: gui/launcher.cpp:577 msgid "ScummVM could not find any game in the specified directory!" msgstr "ScummVM kunde inte hitta några spel i den valda katalogen!" -#: gui/launcher.cpp:569 +#: gui/launcher.cpp:590 msgid "Pick the game:" msgstr "Välj spel:" -#: gui/launcher.cpp:687 +#: gui/launcher.cpp:708 msgid "Mass Add..." msgstr "Masstillägg..." -#: gui/launcher.cpp:689 +#: gui/launcher.cpp:710 msgid "Record..." msgstr "Spela in..." @@ -780,146 +781,146 @@ msgstr "Växla till spelet" msgid "Fast replay" msgstr "Snabb uppspelning" -#: gui/options.cpp:112 common/updates.cpp:56 +#: gui/options.cpp:119 common/updates.cpp:56 msgid "Never" msgstr "Aldrig" -#: gui/options.cpp:112 +#: gui/options.cpp:119 msgid "every 5 mins" msgstr "var 5:e minut" -#: gui/options.cpp:112 +#: gui/options.cpp:119 msgid "every 10 mins" msgstr "var 10:e minut" -#: gui/options.cpp:112 +#: gui/options.cpp:119 msgid "every 15 mins" msgstr "var 15:e minut" -#: gui/options.cpp:112 +#: gui/options.cpp:119 msgid "every 30 mins" msgstr "var 30:e minut" -#: gui/options.cpp:114 +#: gui/options.cpp:121 msgid "8 kHz" msgstr "8 kHz" -#: gui/options.cpp:114 +#: gui/options.cpp:121 msgid "11 kHz" msgstr "11 kHz" -#: gui/options.cpp:114 +#: gui/options.cpp:121 msgid "22 kHz" msgstr "22 kHz" -#: gui/options.cpp:114 +#: gui/options.cpp:121 msgid "44 kHz" msgstr "44 kHz" -#: gui/options.cpp:114 +#: gui/options.cpp:121 msgid "48 kHz" msgstr "48 kHz" -#: gui/options.cpp:291 gui/options.cpp:528 gui/options.cpp:629 -#: gui/options.cpp:699 gui/options.cpp:910 +#: gui/options.cpp:289 gui/options.cpp:552 gui/options.cpp:657 +#: gui/options.cpp:726 gui/options.cpp:937 msgctxt "soundfont" msgid "None" msgstr "Ingen" -#: gui/options.cpp:432 +#: gui/options.cpp:456 msgid "Failed to apply some of the graphic options changes:" msgstr "Kunde inte verkställa några av grafikinställningarna:" -#: gui/options.cpp:444 +#: gui/options.cpp:468 msgid "the video mode could not be changed." msgstr "videoläget kunde inte ändras." -#: gui/options.cpp:450 +#: gui/options.cpp:474 msgid "the aspect ratio setting could not be changed" msgstr "inställningen för bildförhållandet kunde inte ändras." -#: gui/options.cpp:456 +#: gui/options.cpp:480 msgid "the fullscreen setting could not be changed" msgstr "fullskärmsinställningen kunde inte ändras." -#: gui/options.cpp:462 +#: gui/options.cpp:486 #, fuzzy msgid "the filtering setting could not be changed" msgstr "fullskärmsinställningen kunde inte ändras." -#: gui/options.cpp:782 +#: gui/options.cpp:809 msgid "Graphics mode:" msgstr "Grafikläge:" -#: gui/options.cpp:796 +#: gui/options.cpp:823 msgid "Render mode:" msgstr "Renderingsläge:" -#: gui/options.cpp:796 gui/options.cpp:797 +#: gui/options.cpp:823 gui/options.cpp:824 msgid "Special dithering modes supported by some games" msgstr "Speciella gitterlägen stödda av vissa spel" -#: gui/options.cpp:808 -#: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:2450 +#: gui/options.cpp:835 backends/graphics/openglsdl/openglsdl-graphics.cpp:615 +#: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:2460 msgid "Fullscreen mode" msgstr "Fullskärmsläge" -#: gui/options.cpp:811 +#: gui/options.cpp:838 #, fuzzy msgid "Filter graphics" msgstr "Använd färggrafik" -#: gui/options.cpp:811 +#: gui/options.cpp:838 msgid "Use linear filtering when scaling graphics" msgstr "" -#: gui/options.cpp:814 +#: gui/options.cpp:841 msgid "Aspect ratio correction" msgstr "Korrektion av bildförhållande" -#: gui/options.cpp:814 +#: gui/options.cpp:841 msgid "Correct aspect ratio for 320x200 games" msgstr "Korrigerar bildförhållanden för 320x200-spel" -#: gui/options.cpp:822 +#: gui/options.cpp:849 msgid "Preferred Device:" msgstr "Föredragen enhet:" -#: gui/options.cpp:822 +#: gui/options.cpp:849 msgid "Music Device:" msgstr "Musikenhet:" -#: gui/options.cpp:822 gui/options.cpp:824 +#: gui/options.cpp:849 gui/options.cpp:851 msgid "Specifies preferred sound device or sound card emulator" msgstr "Bestämmer din föredragna emulator för ljudenhet eller ljudkort" -#: gui/options.cpp:822 gui/options.cpp:824 gui/options.cpp:825 +#: gui/options.cpp:849 gui/options.cpp:851 gui/options.cpp:852 msgid "Specifies output sound device or sound card emulator" msgstr "Bestämmer emulator för ljudenhet eller ljudkort" -#: gui/options.cpp:824 +#: gui/options.cpp:851 msgctxt "lowres" msgid "Preferred Dev.:" msgstr "Föredr. enhet:" -#: gui/options.cpp:824 +#: gui/options.cpp:851 msgctxt "lowres" msgid "Music Device:" msgstr "Musikenhet:" -#: gui/options.cpp:851 +#: gui/options.cpp:878 msgid "AdLib emulator:" msgstr "AdLib-emulator:" -#: gui/options.cpp:851 gui/options.cpp:852 +#: gui/options.cpp:878 gui/options.cpp:879 msgid "AdLib is used for music in many games" msgstr "AdLib används för musik i många spel" -#: gui/options.cpp:862 +#: gui/options.cpp:889 msgid "Output rate:" msgstr "Ljudfrekvens:" -#: gui/options.cpp:862 gui/options.cpp:863 +#: gui/options.cpp:889 gui/options.cpp:890 msgid "" "Higher value specifies better sound quality but may be not supported by your " "soundcard" @@ -927,61 +928,61 @@ msgstr "" "Ett högre värde betecknar bättre ljudkvalitet men stöds kanske inte av ditt " "ljudkort" -#: gui/options.cpp:873 +#: gui/options.cpp:900 msgid "GM Device:" msgstr "GM-enhet:" -#: gui/options.cpp:873 +#: gui/options.cpp:900 msgid "Specifies default sound device for General MIDI output" msgstr "Bestämmer standardenheten för General MIDI-uppspelning" -#: gui/options.cpp:884 +#: gui/options.cpp:911 msgid "Don't use General MIDI music" msgstr "Använd inte General MIDI-musik" -#: gui/options.cpp:895 gui/options.cpp:957 +#: gui/options.cpp:922 gui/options.cpp:984 msgid "Use first available device" msgstr "Använd första tillgängliga enhet" -#: gui/options.cpp:907 +#: gui/options.cpp:934 msgid "SoundFont:" msgstr "SoundFont:" -#: gui/options.cpp:907 gui/options.cpp:909 gui/options.cpp:910 +#: gui/options.cpp:934 gui/options.cpp:936 gui/options.cpp:937 msgid "SoundFont is supported by some audio cards, FluidSynth and Timidity" msgstr "SoundFont stöds endast av vissa ljudkort, FluidSynth och Timidity" -#: gui/options.cpp:909 +#: gui/options.cpp:936 msgctxt "lowres" msgid "SoundFont:" msgstr "SoundFont:" -#: gui/options.cpp:915 +#: gui/options.cpp:942 msgid "Mixed AdLib/MIDI mode" msgstr "Blandat AdLib/MIDI-läge" -#: gui/options.cpp:915 +#: gui/options.cpp:942 msgid "Use both MIDI and AdLib sound generation" msgstr "Använd både MIDI och AdLib för ljudgeneration" -#: gui/options.cpp:918 +#: gui/options.cpp:945 msgid "MIDI gain:" msgstr "MIDI gain:" -#: gui/options.cpp:928 +#: gui/options.cpp:955 msgid "MT-32 Device:" msgstr "MT-32 enhet:" -#: gui/options.cpp:928 +#: gui/options.cpp:955 msgid "Specifies default sound device for Roland MT-32/LAPC1/CM32l/CM64 output" msgstr "" "Bestämmer standardenheten för Roland MT-32/LAPC1/CM32I/CM64-uppspelning" -#: gui/options.cpp:933 +#: gui/options.cpp:960 msgid "True Roland MT-32 (disable GM emulation)" msgstr "Äkta Roland MT-32 (inaktivera GM-emulation)" -#: gui/options.cpp:933 gui/options.cpp:935 +#: gui/options.cpp:960 gui/options.cpp:962 msgid "" "Check if you want to use your real hardware Roland-compatible sound device " "connected to your computer" @@ -989,16 +990,16 @@ msgstr "" "Aktivera om du vill använda din verkliga Roland-kompatibla och dator-" "anslutna ljudenhet" -#: gui/options.cpp:935 +#: gui/options.cpp:962 msgctxt "lowres" msgid "True Roland MT-32 (no GM emulation)" msgstr "Äkta Roland MT-32 (ingen GM-emulation)" -#: gui/options.cpp:938 +#: gui/options.cpp:965 msgid "Roland GS Device (enable MT-32 mappings)" msgstr "Roland GS-enhet (aktivera MT-32 mappings)" -#: gui/options.cpp:938 +#: gui/options.cpp:965 msgid "" "Check if you want to enable patch mappings to emulate an MT-32 on a Roland " "GS device" @@ -1006,265 +1007,265 @@ msgstr "" "Aktivera om du vill använda patch mapping för att emulera en MT-32 på en " "Roland GS-enhet" -#: gui/options.cpp:947 +#: gui/options.cpp:974 msgid "Don't use Roland MT-32 music" msgstr "Använd inte Roland MT-32 musik" -#: gui/options.cpp:974 +#: gui/options.cpp:1001 msgid "Text and Speech:" msgstr "Undertext och tal:" -#: gui/options.cpp:978 gui/options.cpp:988 +#: gui/options.cpp:1005 gui/options.cpp:1015 msgid "Speech" msgstr "Tal" -#: gui/options.cpp:979 gui/options.cpp:989 +#: gui/options.cpp:1006 gui/options.cpp:1016 msgid "Subtitles" msgstr "Undertexter" -#: gui/options.cpp:980 +#: gui/options.cpp:1007 msgid "Both" msgstr "Båda" -#: gui/options.cpp:982 +#: gui/options.cpp:1009 msgid "Subtitle speed:" msgstr "Texthastighet:" -#: gui/options.cpp:984 +#: gui/options.cpp:1011 msgctxt "lowres" msgid "Text and Speech:" msgstr "Text och tal:" -#: gui/options.cpp:988 +#: gui/options.cpp:1015 msgid "Spch" msgstr "Tal" -#: gui/options.cpp:989 +#: gui/options.cpp:1016 msgid "Subs" msgstr "Text" -#: gui/options.cpp:990 +#: gui/options.cpp:1017 msgctxt "lowres" msgid "Both" msgstr "Båda" -#: gui/options.cpp:990 +#: gui/options.cpp:1017 msgid "Show subtitles and play speech" msgstr "Visa undertexter och spela upp tal" -#: gui/options.cpp:992 +#: gui/options.cpp:1019 msgctxt "lowres" msgid "Subtitle speed:" msgstr "Texthastighet:" -#: gui/options.cpp:1008 +#: gui/options.cpp:1035 msgid "Music volume:" msgstr "Musikvolym:" -#: gui/options.cpp:1010 +#: gui/options.cpp:1037 msgctxt "lowres" msgid "Music volume:" msgstr "Musikvolym:" -#: gui/options.cpp:1017 +#: gui/options.cpp:1044 msgid "Mute All" msgstr "Ljud av" -#: gui/options.cpp:1020 +#: gui/options.cpp:1047 msgid "SFX volume:" msgstr "SFX-volym:" -#: gui/options.cpp:1020 gui/options.cpp:1022 gui/options.cpp:1023 +#: gui/options.cpp:1047 gui/options.cpp:1049 gui/options.cpp:1050 msgid "Special sound effects volume" msgstr "Volym för specialeffekter" -#: gui/options.cpp:1022 +#: gui/options.cpp:1049 msgctxt "lowres" msgid "SFX volume:" msgstr "SFX-volym:" -#: gui/options.cpp:1030 +#: gui/options.cpp:1057 msgid "Speech volume:" msgstr "Talvolym:" -#: gui/options.cpp:1032 +#: gui/options.cpp:1059 msgctxt "lowres" msgid "Speech volume:" msgstr "Talvolym:" -#: gui/options.cpp:1162 +#: gui/options.cpp:1257 msgid "FluidSynth Settings" msgstr "FluidSynth inställningar" -#: gui/options.cpp:1193 +#: gui/options.cpp:1288 msgid "Theme Path:" msgstr "Sökv. tema:" -#: gui/options.cpp:1195 +#: gui/options.cpp:1290 msgctxt "lowres" msgid "Theme Path:" msgstr "Sökv. tema:" -#: gui/options.cpp:1201 gui/options.cpp:1203 gui/options.cpp:1204 +#: gui/options.cpp:1296 gui/options.cpp:1298 gui/options.cpp:1299 msgid "Specifies path to additional data used by all games or ScummVM" msgstr "" "Bestämmer sökväg till andra data som används av alla spel eller ScummVM" -#: gui/options.cpp:1210 +#: gui/options.cpp:1305 msgid "Plugins Path:" msgstr "Sökv. tillägg:" -#: gui/options.cpp:1212 +#: gui/options.cpp:1307 msgctxt "lowres" msgid "Plugins Path:" msgstr "Sökv. tillägg:" -#: gui/options.cpp:1223 +#: gui/options.cpp:1318 msgctxt "lowres" msgid "Misc" msgstr "Diverse" -#: gui/options.cpp:1225 +#: gui/options.cpp:1320 msgid "Theme:" msgstr "Tema:" -#: gui/options.cpp:1229 +#: gui/options.cpp:1324 msgid "GUI Renderer:" msgstr "GUI-rendering:" -#: gui/options.cpp:1241 +#: gui/options.cpp:1336 msgid "Autosave:" msgstr "Autospara:" -#: gui/options.cpp:1243 +#: gui/options.cpp:1338 msgctxt "lowres" msgid "Autosave:" msgstr "Autospara:" -#: gui/options.cpp:1251 +#: gui/options.cpp:1346 msgid "Keys" msgstr "Tangenter" -#: gui/options.cpp:1258 +#: gui/options.cpp:1353 msgid "GUI Language:" msgstr "GUI-språk:" -#: gui/options.cpp:1258 +#: gui/options.cpp:1353 msgid "Language of ScummVM GUI" msgstr "Språk för ScummVM:s användargränssnitt" -#: gui/options.cpp:1286 +#: gui/options.cpp:1381 msgid "Update check:" msgstr "Uppdateringskoll:" -#: gui/options.cpp:1286 +#: gui/options.cpp:1381 msgid "How often to check ScummVM updates" msgstr "Hur ofta ScummVM kollar efter uppdateringar" -#: gui/options.cpp:1298 +#: gui/options.cpp:1393 msgid "Check now" msgstr "Kolla nu" -#: gui/options.cpp:1306 +#: gui/options.cpp:1401 msgid "Cloud" msgstr "Moln" -#: gui/options.cpp:1308 +#: gui/options.cpp:1403 msgctxt "lowres" msgid "Cloud" msgstr "Moln" -#: gui/options.cpp:1319 +#: gui/options.cpp:1408 msgid "Storage:" msgstr "Lager:" -#: gui/options.cpp:1319 +#: gui/options.cpp:1408 msgid "Active cloud storage" msgstr "Aktivera molnlagring" -#: gui/options.cpp:1326 gui/options.cpp:1877 +#: gui/options.cpp:1415 gui/options.cpp:1972 msgid "<none>" msgstr "<ingen>" -#: gui/options.cpp:1330 backends/platform/wii/options.cpp:114 +#: gui/options.cpp:1419 backends/platform/wii/options.cpp:114 msgid "Username:" msgstr "Anv. namn:" -#: gui/options.cpp:1330 +#: gui/options.cpp:1419 msgid "Username used by this storage" msgstr "Användarnamn som används av detta lager" -#: gui/options.cpp:1333 +#: gui/options.cpp:1422 msgid "Used space:" msgstr "Utnyttjat utrymme:" -#: gui/options.cpp:1333 +#: gui/options.cpp:1422 msgid "Space used by ScummVM's saved games on this storage" msgstr "Utrymme som används av ScummVM:s sparade data på det här lagret" -#: gui/options.cpp:1336 +#: gui/options.cpp:1425 msgid "Last sync time:" msgstr "Senast synkad:" -#: gui/options.cpp:1336 +#: gui/options.cpp:1425 msgid "When the last saved games sync for this storage occured" msgstr "När sparade data synkades senast för det här lagret" -#: gui/options.cpp:1339 gui/storagewizarddialog.cpp:71 +#: gui/options.cpp:1428 gui/storagewizarddialog.cpp:71 msgid "Connect" msgstr "Anslut" -#: gui/options.cpp:1339 +#: gui/options.cpp:1428 msgid "Open wizard dialog to connect your cloud storage account" msgstr "Öppna anslutningsguiden för att ansluta ditt molnlagerkonto" -#: gui/options.cpp:1340 +#: gui/options.cpp:1429 msgid "Refresh" msgstr "Uppdatera" -#: gui/options.cpp:1340 +#: gui/options.cpp:1429 msgid "Refresh current cloud storage information (username and usage)" msgstr "" "Uppdaterar informationen om aktuellt molnlager (användarnamn och användning)" -#: gui/options.cpp:1341 +#: gui/options.cpp:1430 msgid "Download" msgstr "Nedladdning" -#: gui/options.cpp:1341 +#: gui/options.cpp:1430 msgid "Open downloads manager dialog" msgstr "Öppna fönstret för nedladdningshantering" -#: gui/options.cpp:1343 +#: gui/options.cpp:1432 msgid "Run server" msgstr "Starta server" -#: gui/options.cpp:1343 +#: gui/options.cpp:1432 msgid "Run local webserver" msgstr "Starta lokal webbserver" -#: gui/options.cpp:1344 gui/options.cpp:1987 +#: gui/options.cpp:1433 gui/options.cpp:2082 msgid "Not running" msgstr "Ej aktiv" -#: gui/options.cpp:1348 +#: gui/options.cpp:1437 msgid "/root/ Path:" msgstr "/root/-sökväg:" -#: gui/options.cpp:1348 gui/options.cpp:1350 gui/options.cpp:1351 +#: gui/options.cpp:1437 gui/options.cpp:1439 gui/options.cpp:1440 msgid "Specifies which directory the Files Manager can access" msgstr "Bestämmer vilken katalog filhanteraren har åtkomst till" -#: gui/options.cpp:1350 +#: gui/options.cpp:1439 msgctxt "lowres" msgid "/root/ Path:" msgstr "/root/-sökväg:" -#: gui/options.cpp:1360 +#: gui/options.cpp:1449 msgid "Server's port:" msgstr "Serverport:" -#: gui/options.cpp:1360 +#: gui/options.cpp:1449 msgid "" "Which port is used by the server\n" "Auth with server is not available with non-default port" @@ -1272,69 +1273,69 @@ msgstr "" "Vilken port används av servern\n" "Serverautorisering är endast tillgänglig med standardporten" -#: gui/options.cpp:1520 -msgid "You have to restart ScummVM before your changes will take effect." -msgstr "Du måste starta om ScummVM för att ändringarna ska få effekt." +#: gui/options.cpp:1462 +msgid "Apply" +msgstr "" -#: gui/options.cpp:1543 +#: gui/options.cpp:1628 msgid "Failed to change cloud storage!" msgstr "Kunde inte ändra molnlager!" -#: gui/options.cpp:1546 +#: gui/options.cpp:1631 msgid "Another cloud storage is already active." msgstr "Ett annat molnlager är redan aktivt." -#: gui/options.cpp:1584 +#: gui/options.cpp:1667 +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 "" +"Temat du valde stöder inte ditt språk. Om du vill använda det här temat " +"måste först byta till ett annat språk." + +#: gui/options.cpp:1702 msgid "The chosen directory cannot be written to. Please select another one." msgstr "" "Det går inte att skriva till den valda katalogen. Var god välj en annan." -#: gui/options.cpp:1593 +#: gui/options.cpp:1711 msgid "Select directory for GUI themes" msgstr "Välj katalog för GUI-teman" -#: gui/options.cpp:1603 +#: gui/options.cpp:1721 msgid "Select directory for extra files" msgstr "Välj katalog för extra filer" -#: gui/options.cpp:1614 +#: gui/options.cpp:1732 msgid "Select directory for plugins" msgstr "Välj katalog för tillägg" -#: gui/options.cpp:1626 +#: gui/options.cpp:1744 msgid "Select directory for Files Manager /root/" msgstr "Välj katalog för filhanterarens /root/" -#: gui/options.cpp:1688 -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 "" -"Temat du valde stöder inte ditt språk. Om du vill använda det här temat " -"måste först byta till ett annat språk." - -#: gui/options.cpp:1884 +#: gui/options.cpp:1979 #, c-format msgid "%llu bytes" msgstr "%llu bytes" -#: gui/options.cpp:1892 +#: gui/options.cpp:1987 msgid "<right now>" msgstr "<nu direkt>" -#: gui/options.cpp:1894 +#: gui/options.cpp:1989 msgid "<never>" msgstr "<aldrig>" -#: gui/options.cpp:1978 +#: gui/options.cpp:2073 msgid "Stop server" msgstr "Stoppa server" -#: gui/options.cpp:1979 +#: gui/options.cpp:2074 msgid "Stop local webserver" msgstr "Stoppa lokal webbserver" -#: gui/options.cpp:2068 +#: gui/options.cpp:2163 msgid "" "Request failed.\n" "Check your Internet connection." @@ -1611,35 +1612,35 @@ msgstr "Fortsätt" msgid "Clear value" msgstr "Töm sökfältet" -#: base/main.cpp:250 +#: base/main.cpp:253 #, c-format msgid "Engine does not support debug level '%s'" msgstr "Motorn stöder inte debug-nivå '%s'" -#: base/main.cpp:324 +#: base/main.cpp:327 msgid "Menu" msgstr "Meny" -#: base/main.cpp:327 backends/platform/symbian/src/SymbianActions.cpp:45 +#: base/main.cpp:330 backends/platform/symbian/src/SymbianActions.cpp:45 #: backends/platform/wince/CEActionsPocket.cpp:45 #: backends/platform/wince/CEActionsSmartphone.cpp:46 msgid "Skip" msgstr "Skippa" -#: base/main.cpp:330 backends/platform/symbian/src/SymbianActions.cpp:50 +#: base/main.cpp:333 backends/platform/symbian/src/SymbianActions.cpp:50 #: backends/platform/wince/CEActionsPocket.cpp:42 msgid "Pause" msgstr "Paus" -#: base/main.cpp:333 +#: base/main.cpp:336 msgid "Skip line" msgstr "Skippa rad" -#: base/main.cpp:542 +#: base/main.cpp:547 msgid "Error running game:" msgstr "Fel under körning av spel:" -#: base/main.cpp:589 +#: base/main.cpp:594 msgid "Could not find any engine capable of running the selected game" msgstr "Kunde inte hitta en motor kapabel till att köra det valda spelet" @@ -2014,11 +2015,11 @@ msgstr "FM Towns-ljud" msgid "PC-98 Audio" msgstr "PC-98 ljud" -#: audio/softsynth/mt32.cpp:196 +#: audio/softsynth/mt32.cpp:197 msgid "Initializing MT-32 Emulator" msgstr "Initialiserar MT-32 emulator" -#: audio/softsynth/mt32.cpp:434 +#: audio/softsynth/mt32.cpp:435 msgid "MT-32 Emulator" msgstr "MT-32 emulator" @@ -2034,15 +2035,15 @@ msgstr "IBM PCjr-emulator" msgid "C64 Audio Emulator" msgstr "C64 ljudemulator" -#: backends/cloud/storage.cpp:210 +#: backends/cloud/storage.cpp:211 msgid "Saved games sync complete." msgstr "Synkningen av sparade speldata är färdig." -#: backends/cloud/storage.cpp:221 +#: backends/cloud/storage.cpp:222 msgid "Saved games sync was cancelled." msgstr "Synkningen av sparade speldata avbröts." -#: backends/cloud/storage.cpp:223 +#: backends/cloud/storage.cpp:224 msgid "" "Saved games sync failed.\n" "Check your Internet connection." @@ -2050,18 +2051,18 @@ msgstr "" "Synkningen av sparade speldata misslyckades. Kontrollera din " "internetanslutning." -#: backends/cloud/storage.cpp:327 +#: backends/cloud/storage.cpp:328 #, c-format msgid "" "Download complete.\n" "Failed to download %u files." msgstr "Nedladdningen är färdig. Kunde inte ladda ner %u filer." -#: backends/cloud/storage.cpp:329 +#: backends/cloud/storage.cpp:330 msgid "Download complete." msgstr "Nedladdning färdig!" -#: backends/cloud/storage.cpp:339 +#: backends/cloud/storage.cpp:340 msgid "Download failed." msgstr "Nedladdningen misslyckades." @@ -2170,43 +2171,53 @@ msgstr "Svep åt höger med tre fingrar för att byta läge." msgid "OpenGL" msgstr "OpenGL" -#: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:47 -#: backends/graphics/wincesdl/wincesdl-graphics.cpp:88 -#: backends/graphics/wincesdl/wincesdl-graphics.cpp:95 -msgid "Normal (no scaling)" -msgstr "Normalt (ingen skalning)" +#: backends/graphics/openglsdl/openglsdl-graphics.cpp:617 +#: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:2462 +msgid "Windowed mode" +msgstr "Fönsterläge" -#: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:66 -msgctxt "lowres" -msgid "Normal (no scaling)" -msgstr "Normalt (ingen skalning)" +#: backends/graphics/openglsdl/openglsdl-graphics.cpp:710 +#, c-format +msgid "Resolution: %dx%d" +msgstr "" -#: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:2329 +#: backends/graphics/openglsdl/openglsdl-graphics.cpp:731 +#: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:2338 msgid "Enabled aspect ratio correction" msgstr "Korrektion av bildförhållande på" -#: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:2335 +#: backends/graphics/openglsdl/openglsdl-graphics.cpp:733 +#: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:2344 msgid "Disabled aspect ratio correction" msgstr "Korrektion av bildförhållande av" -#: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:2353 +#: backends/graphics/openglsdl/openglsdl-graphics.cpp:753 +#: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:2362 #, fuzzy msgid "Filtering enabled" msgstr "Klickning aktiverad" -#: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:2355 +#: backends/graphics/openglsdl/openglsdl-graphics.cpp:755 +#: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:2364 #, fuzzy msgid "Filtering disabled" msgstr "Klickning deaktiverad" -#: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:2407 +#: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:47 +#: backends/graphics/wincesdl/wincesdl-graphics.cpp:88 +#: backends/graphics/wincesdl/wincesdl-graphics.cpp:95 +msgid "Normal (no scaling)" +msgstr "Normalt (ingen skalning)" + +#: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:66 +msgctxt "lowres" +msgid "Normal (no scaling)" +msgstr "Normalt (ingen skalning)" + +#: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:2417 msgid "Active graphics filter:" msgstr "Aktivt grafikfilter:" -#: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:2452 -msgid "Windowed mode" -msgstr "Fönsterläge" - #: backends/keymapper/remap-dialog.cpp:48 msgid "Keymap:" msgstr "Tangenter:" @@ -3128,6 +3139,39 @@ msgstr "Huvud~m~eny" msgid "~W~ater Effect Enabled" msgstr "~V~atteneffekt aktiverad" +#: engines/mohawk/riven.cpp:150 +msgid "" +"You're missing a Riven executable. The Windows executable is 'riven.exe' or " +"'rivendmo.exe'. " +msgstr "" + +#: engines/mohawk/riven.cpp:151 +msgid "" +"Using the 'arcriven.z' installer file also works. In addition, you can use " +"the Mac 'Riven' executable." +msgstr "" + +#: engines/mohawk/riven.cpp:162 +msgid "" +"You're missing 'extras.mhk'. Using the 'arcriven.z' installer file also " +"works." +msgstr "" + +#: engines/mohawk/riven_external.cpp:213 +msgid "" +"Exploration beyond this point available only within the full version of\n" +"the game." +msgstr "" + +#: engines/mohawk/riven_external.cpp:655 +msgid "" +"At this point, the Riven Demo would\n" +"ask if you would like to open a web browser\n" +"to bring you to the Red Orb store to buy\n" +"the game. ScummVM cannot do that and\n" +"the site no longer exists." +msgstr "" + #: engines/mohawk/mohawk.cpp:61 msgid "The game is paused. Press any key to continue." msgstr "Spelet pausat. Tryck på valfri tangent för att fortsätta." @@ -4251,6 +4295,9 @@ msgid "Use MPEG video from the DVD version, instead of lower resolution AVI" msgstr "" "Använd högupplöst MPEG-video från DVD-versionen istället för lågupplöst AVI" +#~ msgid "You have to restart ScummVM before your changes will take effect." +#~ msgstr "Du måste starta om ScummVM för att ändringarna ska få effekt." + #~ msgid "OpenGL (No filtering)" #~ msgstr "OpenGL (ingen filtrering)" diff --git a/po/uk_UA.po b/po/uk_UA.po index c8b108bdb2..720ced64cd 100644 --- a/po/uk_UA.po +++ b/po/uk_UA.po @@ -8,8 +8,8 @@ msgid "" msgstr "" "Project-Id-Version: ScummVM 1.9.0git\n" "Report-Msgid-Bugs-To: scummvm-devel@lists.scummvm.org\n" -"POT-Creation-Date: 2016-10-12 23:37+0100\n" -"PO-Revision-Date: 2016-09-17 22:36+0200\n" +"POT-Creation-Date: 2016-11-05 12:43+0100\n" +"PO-Revision-Date: 2016-11-06 01:03+0200\n" "Last-Translator: Eugene Sandulenko <sev@scummvm.org>\n" "Language-Team: Ukrainian\n" "Language: Ukrainian\n" @@ -18,6 +18,7 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" "%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" +"X-Language-name: Ukrainian\n" #: gui/about.cpp:94 #, c-format @@ -57,7 +58,7 @@ msgstr "²ÓŽąć" #: gui/browser.cpp:75 gui/chooser.cpp:46 gui/editgamedialog.cpp:292 #: gui/editrecorddialog.cpp:67 gui/filebrowser-dialog.cpp:64 #: gui/fluidsynth-dialog.cpp:152 gui/KeysDialog.cpp:43 gui/massadd.cpp:95 -#: gui/options.cpp:1376 gui/predictivedialog.cpp:73 gui/recorderdialog.cpp:69 +#: gui/options.cpp:1461 gui/predictivedialog.cpp:73 gui/recorderdialog.cpp:69 #: gui/recorderdialog.cpp:155 gui/remotebrowser.cpp:59 #: gui/saveload-dialog.cpp:383 gui/saveload-dialog.cpp:443 #: gui/saveload-dialog.cpp:717 gui/saveload-dialog.cpp:1111 @@ -81,7 +82,7 @@ msgstr "²ŲŃąŠāŲ" msgid "Select directory where to download game data" msgstr "²ŲŃÕąöāģ ßŠßŚć ŚćŌŲ ×ŠŅŠŻāŠÖćŅŠāŲ äŠŁŪŲ ÓąŲ" -#: gui/downloaddialog.cpp:49 gui/editgamedialog.cpp:472 gui/launcher.cpp:173 +#: gui/downloaddialog.cpp:49 gui/editgamedialog.cpp:470 gui/launcher.cpp:197 msgid "Select directory with game data" msgstr "²ŲŃÕąöāģ ߊߌć × äŠŁŪŠÜŲ ÓąŲ" @@ -116,7 +117,7 @@ msgstr "" #: gui/downloaddialog.cpp:118 gui/downloaddialog.cpp:152 #: gui/filebrowser-dialog.cpp:132 gui/fluidsynth-dialog.cpp:217 -#: gui/launcher.cpp:286 gui/launcher.cpp:394 gui/launcher.cpp:453 +#: gui/launcher.cpp:307 gui/launcher.cpp:415 gui/launcher.cpp:474 #: gui/storagewizarddialog.cpp:112 #: backends/events/symbiansdl/symbiansdl-events.cpp:186 #: backends/platform/wince/CEActionsPocket.cpp:326 @@ -128,7 +129,7 @@ msgstr "ĀŠŚ" #: gui/downloaddialog.cpp:118 gui/downloaddialog.cpp:153 #: gui/filebrowser-dialog.cpp:132 gui/fluidsynth-dialog.cpp:217 -#: gui/launcher.cpp:286 gui/launcher.cpp:394 gui/launcher.cpp:453 +#: gui/launcher.cpp:307 gui/launcher.cpp:415 gui/launcher.cpp:474 #: gui/storagewizarddialog.cpp:112 #: backends/events/symbiansdl/symbiansdl-events.cpp:186 #: backends/platform/wince/CEActionsPocket.cpp:326 @@ -138,7 +139,7 @@ msgstr "ĀŠŚ" msgid "No" msgstr "½ö" -#: gui/downloaddialog.cpp:136 gui/launcher.cpp:544 +#: gui/downloaddialog.cpp:136 gui/launcher.cpp:565 msgid "ScummVM couldn't open the specified directory!" msgstr "ScummVM ŻÕ ÜŽÖÕ ŅöŌŚąŲāŲ ŅŚŠ×ŠŻć ߊߌć!" @@ -151,8 +152,8 @@ msgstr "" "ŻŠ×ŅŽī." #: gui/downloaddialog.cpp:146 gui/editgamedialog.cpp:293 -#: gui/fluidsynth-dialog.cpp:153 gui/KeysDialog.cpp:42 gui/launcher.cpp:501 -#: gui/launcher.cpp:505 gui/massadd.cpp:92 gui/options.cpp:1377 +#: gui/fluidsynth-dialog.cpp:153 gui/KeysDialog.cpp:42 gui/launcher.cpp:522 +#: gui/launcher.cpp:526 gui/massadd.cpp:92 gui/options.cpp:1463 #: gui/saveload-dialog.cpp:1112 engines/engine.cpp:477 engines/engine.cpp:488 #: backends/platform/wii/options.cpp:47 #: backends/platform/wince/CELauncherDialog.cpp:54 @@ -237,8 +238,8 @@ msgstr "" "¼ŽŅŠ ÓąŲ. ·ÜöŻŠ ęģŽÓŽ ŻŠŪŠčāćŅŠŻŻļ ŻÕ ßÕąÕāŅŽąŲāģ Óąć ŠŻÓŪöŁįģŚŽī ŻŠ " "挹Š÷ŻįģŚć" -#: gui/editgamedialog.cpp:151 gui/editgamedialog.cpp:165 gui/options.cpp:114 -#: gui/options.cpp:785 gui/options.cpp:798 gui/options.cpp:1261 +#: gui/editgamedialog.cpp:151 gui/editgamedialog.cpp:165 gui/options.cpp:121 +#: gui/options.cpp:812 gui/options.cpp:825 gui/options.cpp:1356 #: audio/null.cpp:41 msgid "<default>" msgstr "<׊ ćÜŽŅēŠŻŻļÜ>" @@ -261,11 +262,11 @@ msgstr "æŪŠā䎹܊:" msgid "Engine" msgstr "“ŅŲÖŽŚ" -#: gui/editgamedialog.cpp:184 gui/options.cpp:1120 gui/options.cpp:1137 +#: gui/editgamedialog.cpp:184 gui/options.cpp:1147 gui/options.cpp:1232 msgid "Graphics" msgstr "³ąŠäöŚŠ" -#: gui/editgamedialog.cpp:184 gui/options.cpp:1120 gui/options.cpp:1137 +#: gui/editgamedialog.cpp:184 gui/options.cpp:1147 gui/options.cpp:1232 msgid "GFX" msgstr "³ąä" @@ -278,7 +279,7 @@ msgctxt "lowres" msgid "Override global graphic settings" msgstr "æÕąÕŚąŲāŲ ÓŪŽŃŠŪģŻö ŻŠŪŠčāćŅŠŻŻļ ÓąŠäöŚŲ" -#: gui/editgamedialog.cpp:196 gui/options.cpp:1143 +#: gui/editgamedialog.cpp:196 gui/options.cpp:1238 msgid "Audio" msgstr "°ćŌöŽ" @@ -291,11 +292,11 @@ msgctxt "lowres" msgid "Override global audio settings" msgstr "æÕąÕŚąŲāŲ ÓŪŽŃŠŪģŻö ŻŠŪŠčāćŅŠŻŻļ ŠćŌöŽ" -#: gui/editgamedialog.cpp:210 gui/options.cpp:1148 +#: gui/editgamedialog.cpp:210 gui/options.cpp:1243 msgid "Volume" msgstr "³ćēŻöįāģ" -#: gui/editgamedialog.cpp:212 gui/options.cpp:1150 +#: gui/editgamedialog.cpp:212 gui/options.cpp:1245 msgctxt "lowres" msgid "Volume" msgstr "³ćēŻ." @@ -309,7 +310,7 @@ msgctxt "lowres" msgid "Override global volume settings" msgstr "æÕąÕŚąŲāŲ ÓŪŽŃŠŪģŻö ŻŠŪŠčāćŅŠŻŻļ ÓćēŻŽįāö" -#: gui/editgamedialog.cpp:226 gui/options.cpp:1158 +#: gui/editgamedialog.cpp:226 gui/options.cpp:1253 msgid "MIDI" msgstr "MIDI" @@ -322,7 +323,7 @@ msgctxt "lowres" msgid "Override global MIDI settings" msgstr "æÕąÕŚąŲāŲ ÓŪŽŃŠŪģŻö ŻŠŠčāćŅŠŻŻļ MIDI" -#: gui/editgamedialog.cpp:241 gui/options.cpp:1168 +#: gui/editgamedialog.cpp:241 gui/options.cpp:1263 msgid "MT-32" msgstr "MT-32" @@ -335,11 +336,11 @@ msgctxt "lowres" msgid "Override global MT-32 settings" msgstr "æÕąÕŚąŲāŲ ÓŪŽŃŠŪģŻö ŻŠŪŠčāćŅŠŻŻļ MT-32" -#: gui/editgamedialog.cpp:255 gui/options.cpp:1175 +#: gui/editgamedialog.cpp:255 gui/options.cpp:1270 msgid "Paths" msgstr "ČŪļåŲ" -#: gui/editgamedialog.cpp:257 gui/options.cpp:1177 +#: gui/editgamedialog.cpp:257 gui/options.cpp:1272 msgctxt "lowres" msgid "Paths" msgstr "ČŪļåŲ" @@ -353,7 +354,7 @@ msgctxt "lowres" msgid "Game Path:" msgstr "ČŪļå ŌŽ ÓąŲ:" -#: gui/editgamedialog.cpp:271 gui/options.cpp:1201 +#: gui/editgamedialog.cpp:271 gui/options.cpp:1296 msgid "Extra Path:" msgstr "“ŽŌŠāŚ. čŪļå:" @@ -362,56 +363,56 @@ msgstr "“ŽŌŠāŚ. čŪļå:" msgid "Specifies path to additional data used by the game" msgstr "²ŚŠ×ćō čŪļå ŌŽ ŌŽŌŠāŚŽŅŲå 䊣ŪöŅ ŌŠŻŲå ŌŪļ ÓąŲ" -#: gui/editgamedialog.cpp:273 gui/options.cpp:1203 +#: gui/editgamedialog.cpp:273 gui/options.cpp:1298 msgctxt "lowres" msgid "Extra Path:" msgstr "“ŽŌ. čŪļå:" -#: gui/editgamedialog.cpp:280 gui/options.cpp:1185 +#: gui/editgamedialog.cpp:280 gui/options.cpp:1280 msgid "Save Path:" msgstr "ČŪļå ×ŃÕą.:" #: gui/editgamedialog.cpp:280 gui/editgamedialog.cpp:282 -#: gui/editgamedialog.cpp:283 gui/options.cpp:1185 gui/options.cpp:1187 -#: gui/options.cpp:1188 +#: gui/editgamedialog.cpp:283 gui/options.cpp:1280 gui/options.cpp:1282 +#: gui/options.cpp:1283 msgid "Specifies where your saved games are put" msgstr "²ŚŠ×ćō čŪļå ŌŽ ×ŃÕąÕÖÕŻŲå įāŠŻöŅ öÓŽą" -#: gui/editgamedialog.cpp:282 gui/options.cpp:1187 +#: gui/editgamedialog.cpp:282 gui/options.cpp:1282 msgctxt "lowres" msgid "Save Path:" msgstr "ČŪļå ×ŃÕą.:" -#: gui/editgamedialog.cpp:301 gui/editgamedialog.cpp:400 -#: gui/editgamedialog.cpp:459 gui/editgamedialog.cpp:520 gui/options.cpp:1196 -#: gui/options.cpp:1204 gui/options.cpp:1213 gui/options.cpp:1414 -#: gui/options.cpp:1420 gui/options.cpp:1428 gui/options.cpp:1451 -#: gui/options.cpp:1467 gui/options.cpp:1473 gui/options.cpp:1480 -#: gui/options.cpp:1488 gui/options.cpp:1640 gui/options.cpp:1643 -#: gui/options.cpp:1650 gui/options.cpp:1660 +#: gui/editgamedialog.cpp:301 gui/editgamedialog.cpp:398 +#: gui/editgamedialog.cpp:457 gui/editgamedialog.cpp:518 gui/options.cpp:1291 +#: gui/options.cpp:1299 gui/options.cpp:1308 gui/options.cpp:1488 +#: gui/options.cpp:1494 gui/options.cpp:1502 gui/options.cpp:1525 +#: gui/options.cpp:1554 gui/options.cpp:1560 gui/options.cpp:1567 +#: gui/options.cpp:1575 gui/options.cpp:1758 gui/options.cpp:1761 +#: gui/options.cpp:1768 gui/options.cpp:1778 msgctxt "path" msgid "None" msgstr "½Õ ׊ŅŌŠŻŲŁ" -#: gui/editgamedialog.cpp:306 gui/editgamedialog.cpp:406 -#: gui/editgamedialog.cpp:524 gui/options.cpp:1408 gui/options.cpp:1461 -#: gui/options.cpp:1646 backends/platform/wii/options.cpp:56 +#: gui/editgamedialog.cpp:306 gui/editgamedialog.cpp:404 +#: gui/editgamedialog.cpp:522 gui/options.cpp:1482 gui/options.cpp:1548 +#: gui/options.cpp:1764 backends/platform/wii/options.cpp:56 msgid "Default" msgstr "·Š ćÜŽŅēŠŻŻļÜ" -#: gui/editgamedialog.cpp:452 gui/options.cpp:1654 +#: gui/editgamedialog.cpp:450 gui/options.cpp:1772 msgid "Select SoundFont" msgstr "²ŲŃÕąöāģ SoundFont" -#: gui/editgamedialog.cpp:491 +#: gui/editgamedialog.cpp:489 msgid "Select additional game directory" msgstr "²ŲŃÕąöāģ ŌŽŌŠāŚŽŅć ߊߌć ÓąŲ" -#: gui/editgamedialog.cpp:504 gui/options.cpp:1577 +#: gui/editgamedialog.cpp:502 gui/options.cpp:1695 msgid "Select directory for saved games" msgstr "²ŲŃÕąöāģ ߊߌć ŌŪļ ×ŃÕąÕÖÕŻŲå įāŠŻöŅ öÓŽą" -#: gui/editgamedialog.cpp:510 +#: gui/editgamedialog.cpp:508 msgid "" "Saved games sync feature doesn't work with non-default directories. If you " "want your saved games to sync, use default directory." @@ -419,7 +420,7 @@ msgstr "" "·ŠßŲį įāŠŻöŅ öÓŽą ßąŠęīō āöŪģŚŲ × ßŠßŚŽī ׊ ׊܎ŅēÕŻŻļÜ. ĻŚéŽ ŅŲ åŽēÕāÕ, éŽŃ " "ŅŠčö įāŠŻŲ öÓą įŲŻåąŽŻö×ćŅŠŪŲįļ, ŅŲŚŽąŲįāŽŅćŁāÕ ßŠßŚć ׊ ׊܎ŅēÕŻŻļÜ." -#: gui/editgamedialog.cpp:536 +#: gui/editgamedialog.cpp:534 msgid "This game ID is already taken. Please choose another one." msgstr "ĘÕŁ ID ÓąŲ ŅÖÕ ŅŲŚŽąŲįāŽŅćōāģįļ. ±ćŌģ ŪŠįŚŠ, ŅŲŃÕąöāģ öŻčŲŁ." @@ -499,7 +500,7 @@ msgstr "ĮŲŻćįŽ÷ŌŠ" msgid "Triangle" msgstr "ĀąŲŚćāŻŲŚ" -#: gui/fluidsynth-dialog.cpp:138 gui/options.cpp:1221 +#: gui/fluidsynth-dialog.cpp:138 gui/options.cpp:1316 msgid "Misc" msgstr "ĄöׯÕ" @@ -549,15 +550,15 @@ msgstr "·ŠŚąŲāŲ" msgid "Mouse click" msgstr "ŗŪöŚ ÜŲ茎ī" -#: gui/gui-manager.cpp:126 base/main.cpp:337 +#: gui/gui-manager.cpp:126 base/main.cpp:340 msgid "Display keyboard" msgstr "æŽŚŠ×ŠāŲ ŚŪŠŅöŠāćąć" -#: gui/gui-manager.cpp:130 base/main.cpp:341 +#: gui/gui-manager.cpp:130 base/main.cpp:344 msgid "Remap keys" msgstr "æÕąÕßąŲׯŠēŲāŲ ŚŪŠŅöčö" -#: gui/gui-manager.cpp:133 base/main.cpp:344 engines/scumm/help.cpp:87 +#: gui/gui-manager.cpp:133 base/main.cpp:347 engines/scumm/help.cpp:87 msgid "Toggle fullscreen" msgstr "æÕąÕÜŚŻćāŲ ßŽŅŻŽÕŚąŠŻŻŲŁ ąÕÖŲÜ" @@ -591,110 +592,110 @@ msgstr "½ŠāŲįŻöāģ ŚŪŠŅöčć ŌŪļ ßąŲׯŠēÕŻŻļ" msgid "Choose an action to map" msgstr "²ŲŃÕąöāģ Ōöī ŌŪļ ßąŲׯŠēÕŻŻļ" -#: gui/launcher.cpp:117 engines/dialogs.cpp:111 engines/mohawk/dialogs.cpp:98 +#: gui/launcher.cpp:141 engines/dialogs.cpp:111 engines/mohawk/dialogs.cpp:98 msgid "~Q~uit" msgstr "~²~ŲåöŌ" -#: gui/launcher.cpp:117 backends/platform/sdl/macosx/appmenu_osx.mm:106 +#: gui/launcher.cpp:141 backends/platform/sdl/macosx/appmenu_osx.mm:106 msgid "Quit ScummVM" msgstr "²ŲåöŌ ×ö ScummVM" -#: gui/launcher.cpp:118 +#: gui/launcher.cpp:142 msgid "A~b~out..." msgstr "æąŽ ß~ą~ŽÓąŠÜć..." -#: gui/launcher.cpp:118 backends/platform/sdl/macosx/appmenu_osx.mm:80 +#: gui/launcher.cpp:142 backends/platform/sdl/macosx/appmenu_osx.mm:80 msgid "About ScummVM" msgstr "æąŽ ScummVM" -#: gui/launcher.cpp:119 +#: gui/launcher.cpp:143 msgid "~O~ptions..." msgstr "~½~ŠŪŠčāćŅŠŻŻļ" -#: gui/launcher.cpp:119 +#: gui/launcher.cpp:143 msgid "Change global ScummVM options" msgstr "·ÜöŻŲāŲ ÓŪŽŃŠŪģŻö ŻŠŪŠčāćŅŠŻŻļ ScummVM" -#: gui/launcher.cpp:121 +#: gui/launcher.cpp:145 msgid "~S~tart" msgstr "·~Š~ßćįŚ" -#: gui/launcher.cpp:121 +#: gui/launcher.cpp:145 msgid "Start selected game" msgstr "·ŠßćįāŲāŲ ŅŲŃąŠŻć Óąć" -#: gui/launcher.cpp:124 +#: gui/launcher.cpp:148 msgid "~L~oad..." msgstr "~·~ŠŅŠŻāŠÖŲāŲ..." -#: gui/launcher.cpp:124 +#: gui/launcher.cpp:148 msgid "Load saved game for selected game" msgstr "·ŠŅŠŻāŠÖŲāŲ ×ŃÕąÕÖÕŻŲŁ įāŠŻ ŌŪļ ŅŲŃąŠŻŽ÷ ÓąŲ" -#: gui/launcher.cpp:129 +#: gui/launcher.cpp:153 msgid "~A~dd Game..." msgstr "~“~ŽŌŠāŲ Óąć..." -#: gui/launcher.cpp:129 gui/launcher.cpp:136 +#: gui/launcher.cpp:153 gui/launcher.cpp:160 msgid "Hold Shift for Mass Add" msgstr "ĆāąŲÜćŁāÕ ŚŪŠŅöčć Shift ŌŪļ āŽÓŽ, éŽŃ ŌŽŌŠāŲ ŌÕŚöŪģŚŠ öÓŽą" -#: gui/launcher.cpp:131 +#: gui/launcher.cpp:155 msgid "~E~dit Game..." msgstr "ĄÕŌŠ~Ó~ćŅŠāŲ Óąć" -#: gui/launcher.cpp:131 gui/launcher.cpp:138 +#: gui/launcher.cpp:155 gui/launcher.cpp:162 msgid "Change game options" msgstr "·ÜöŻŲāŲ ŻŠŪŠčāćŅŠŻŻļ ÓąŲ" -#: gui/launcher.cpp:133 +#: gui/launcher.cpp:157 msgid "~R~emove Game" msgstr "~²~ŲŌŠŪŲāŲ Óąć" -#: gui/launcher.cpp:133 gui/launcher.cpp:140 +#: gui/launcher.cpp:157 gui/launcher.cpp:164 msgid "Remove game from the list. The game data files stay intact" msgstr "²ŲŌŠŪŲāŲ Óąć ×ö įßŲįŚć. ½Õ ŅŲŌŠŪļō Óąć × ÖŽąįāŚŽÓŽ ŌŲįŚć" -#: gui/launcher.cpp:136 +#: gui/launcher.cpp:160 msgctxt "lowres" msgid "~A~dd Game..." msgstr "~“~ŽŌŠāŲ Óąć..." -#: gui/launcher.cpp:138 +#: gui/launcher.cpp:162 msgctxt "lowres" msgid "~E~dit Game..." msgstr "ĄÕŌŠ~Ó~. Óąć..." -#: gui/launcher.cpp:140 +#: gui/launcher.cpp:164 msgctxt "lowres" msgid "~R~emove Game" msgstr "~²~ŲŌŠŪŲāŲ Óąć" -#: gui/launcher.cpp:148 +#: gui/launcher.cpp:172 msgid "Search in game list" msgstr "æŽčćŚ ć įßŲįŚć öÓŽą" -#: gui/launcher.cpp:152 gui/launcher.cpp:750 +#: gui/launcher.cpp:176 gui/launcher.cpp:771 msgid "Search:" msgstr "æŽčćŚ:" -#: gui/launcher.cpp:176 engines/dialogs.cpp:115 engines/cruise/menu.cpp:214 -#: engines/mohawk/dialogs.cpp:103 engines/mohawk/riven.cpp:733 +#: gui/launcher.cpp:200 engines/dialogs.cpp:115 engines/cruise/menu.cpp:214 +#: engines/mohawk/dialogs.cpp:103 engines/mohawk/riven.cpp:734 #: engines/pegasus/pegasus.cpp:353 engines/tsage/scenes.cpp:601 msgid "Load game:" msgstr "·ŠŅŠŻāŠÖŲāŲ Óąć:" -#: gui/launcher.cpp:176 engines/dialogs.cpp:115 +#: gui/launcher.cpp:200 engines/dialogs.cpp:115 #: backends/platform/wince/CEActionsPocket.cpp:267 #: backends/platform/wince/CEActionsSmartphone.cpp:231 #: engines/cruise/menu.cpp:214 engines/mohawk/dialogs.cpp:103 -#: engines/mohawk/riven.cpp:733 engines/parallaction/saveload.cpp:194 +#: engines/mohawk/riven.cpp:734 engines/parallaction/saveload.cpp:194 #: engines/pegasus/pegasus.cpp:353 engines/scumm/dialogs.cpp:185 #: engines/tsage/scenes.cpp:601 msgid "Load" msgstr "·ŠŅŠŻāŠÖŲāŲ" -#: gui/launcher.cpp:285 +#: gui/launcher.cpp:306 msgid "" "Do you really want to run the mass game detector? This could potentially add " "a huge number of games." @@ -702,40 +703,40 @@ msgstr "" "ĒŲ ŅŲ ŌöŁįŻŽ åŽēÕāÕ ×ŠßćįāŲāŲ ßŽčćŚ ćįöå öÓŽą? ĘÕ ßŽāÕŻęöŁŻŽ ÜŽÖÕ ŌŽŌŠāŲ " "ŅÕŪŲŚć ŚöŪģŚöįāģ öÓŽą." -#: gui/launcher.cpp:344 +#: gui/launcher.cpp:365 msgid "This directory cannot be used yet, it is being downloaded into!" msgstr "Ęī ߊߌć éÕ ŻÕ ÜŽÖŻŠ ŅŲŚŽąŲįāŽŅćŅŠāŲ, Ņ ŻÕ÷ öŌÕ ×ŠŅŠŻāŠÖÕŻŻļ!" -#: gui/launcher.cpp:394 +#: gui/launcher.cpp:415 msgid "Do you really want to remove this game configuration?" msgstr "²Ų ŌöŁįŻŽ åŽēÕāÕ ŅŲŌŠŪŲāŲ ŻŠŪŠčāćŅŠŻŻļ ŌŪļ ęöō÷ ÓąŲ?" -#: gui/launcher.cpp:452 +#: gui/launcher.cpp:473 msgid "Do you want to load saved game?" msgstr "²Ų åŽēÕāÕ ×ŠŅŠŻāŠÖŲāŲ ×ŃÕąÕÖÕŻŲŁ įāŠŻ ÓąŲ?" -#: gui/launcher.cpp:501 +#: gui/launcher.cpp:522 msgid "This game does not support loading games from the launcher." msgstr "" "Ęļ ÓąŠ ŻÕ ßöŌāąŲÜćō ×ŠŅŠŻāŠÖÕŻŻļ ×ŃÕąÕÖÕŻŲå įāŠŻöŅ öÓŽą ēÕąÕ× ÓŽŪŽŅŻÕ ÜÕŻī." -#: gui/launcher.cpp:505 +#: gui/launcher.cpp:526 msgid "ScummVM could not find any engine capable of running the selected game!" msgstr "ScummVM ŻÕ ×ÜöÓ ×ŻŠŁāŲ ŌŅŲÖŽŚ ŌŪļ ׊ßćįŚć ŅŲŃąŠŻŽ÷ ÓąŲ!" -#: gui/launcher.cpp:556 +#: gui/launcher.cpp:577 msgid "ScummVM could not find any game in the specified directory!" msgstr "ScummVM ŻÕ ÜŽÖÕ ×ŻŠŁāŲ Óąć ć ŅŚŠ×ŠŻöŁ ßŠßęö!" -#: gui/launcher.cpp:569 +#: gui/launcher.cpp:590 msgid "Pick the game:" msgstr "²ŲŃÕąöāģ Óąć:" -#: gui/launcher.cpp:687 +#: gui/launcher.cpp:708 msgid "Mass Add..." msgstr "“ŽŌ. ŃŠÓŠāŽ..." -#: gui/launcher.cpp:689 +#: gui/launcher.cpp:710 msgid "Record..." msgstr "·ŠßŲį..." @@ -778,146 +779,144 @@ msgstr "æÕąÕŚŪīēŲāŲįļ ŻŠ Óąć" msgid "Fast replay" msgstr "ČŅŲŌŚÕ ŅöŌāŅŽąÕŻŻļ" -#: gui/options.cpp:112 common/updates.cpp:56 +#: gui/options.cpp:119 common/updates.cpp:56 msgid "Never" msgstr "½öŚŽŪŲ" -#: gui/options.cpp:112 +#: gui/options.cpp:119 msgid "every 5 mins" msgstr "ŚŽÖŻö 5 åŅ" -#: gui/options.cpp:112 +#: gui/options.cpp:119 msgid "every 10 mins" msgstr "ŚŽÖŻö 10 åŅ" -#: gui/options.cpp:112 +#: gui/options.cpp:119 msgid "every 15 mins" msgstr "ŚŽÖŻö 15 åŅ" -#: gui/options.cpp:112 +#: gui/options.cpp:119 msgid "every 30 mins" msgstr "ŚŽÖŻö 30 åŅ" -#: gui/options.cpp:114 +#: gui/options.cpp:121 msgid "8 kHz" msgstr "8 ڳę" -#: gui/options.cpp:114 +#: gui/options.cpp:121 msgid "11 kHz" msgstr "11 ڳę" -#: gui/options.cpp:114 +#: gui/options.cpp:121 msgid "22 kHz" msgstr "22 ڳę" -#: gui/options.cpp:114 +#: gui/options.cpp:121 msgid "44 kHz" msgstr "44 ڳę" -#: gui/options.cpp:114 +#: gui/options.cpp:121 msgid "48 kHz" msgstr "48 ڳę" -#: gui/options.cpp:291 gui/options.cpp:528 gui/options.cpp:629 -#: gui/options.cpp:699 gui/options.cpp:910 +#: gui/options.cpp:289 gui/options.cpp:552 gui/options.cpp:657 +#: gui/options.cpp:726 gui/options.cpp:937 msgctxt "soundfont" msgid "None" msgstr "½Õ ×ŠŌŠŻŲŁ" -#: gui/options.cpp:432 +#: gui/options.cpp:456 msgid "Failed to apply some of the graphic options changes:" msgstr "½Õ ŅŌŠŪŽįļ ׊įāŽįćŅŠāŲ ŌÕļŚö ×ö ×ÜöŻ ÓąŠäöēŻŲå ŻŠŪŠčāćŅŠŻģ:" -#: gui/options.cpp:444 +#: gui/options.cpp:468 msgid "the video mode could not be changed." msgstr "ŻÕ ŅŌŠŪŽįļ ×ÜöŻŲāŲ ÓąŠäöēŻŲŁ ąÕÖŲÜ." -#: gui/options.cpp:450 +#: gui/options.cpp:474 msgid "the aspect ratio setting could not be changed" msgstr "ŻÕ ŅŌŠŪŽįļ ×ÜöŻŲāŲ ąÕÖŲÜ ŚŽąÕŚęö÷ įßöŅŅöŌŻŽčÕŻŻļ įāŽąöŻ" -#: gui/options.cpp:456 +#: gui/options.cpp:480 msgid "the fullscreen setting could not be changed" msgstr "ŻÕ ŅŌŠŪŽįļ ×ÜöŻŲāŲ ąÕÖŲÜ ßŽŅŻŽÓŽ ÕŚąŠŻć" -#: gui/options.cpp:462 -#, fuzzy +#: gui/options.cpp:486 msgid "the filtering setting could not be changed" -msgstr "ŻÕ ŅŌŠŪŽįļ ×ÜöŻŲāŲ ąÕÖŲÜ ßŽŅŻŽÓŽ ÕŚąŠŻć" +msgstr "ŻÕ ŅŌŠŪŽįļ ×ÜöŻŲāŲ ąÕÖŲÜ äöŪģāąćŅŠŻŻļ" -#: gui/options.cpp:782 +#: gui/options.cpp:809 msgid "Graphics mode:" msgstr "³ąŠäöēŻ. ąÕÖŲÜ:" -#: gui/options.cpp:796 +#: gui/options.cpp:823 msgid "Render mode:" msgstr "ĄÕÖŲÜ ąŠįāąćŅ.:" -#: gui/options.cpp:796 gui/options.cpp:797 +#: gui/options.cpp:823 gui/options.cpp:824 msgid "Special dithering modes supported by some games" msgstr "ĮßÕęöŠŪģŻö ąÕÖŲÜŲ ąŠįāąćŅŠŻŻļ, ļŚö ßöŌāąŲÜćīāģ ŌÕļŚö öÓąŲ" -#: gui/options.cpp:808 -#: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:2450 +#: gui/options.cpp:835 backends/graphics/openglsdl/openglsdl-graphics.cpp:615 +#: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:2460 msgid "Fullscreen mode" msgstr "æŽŅŻŽÕŚąŠŻŻŲŁ ąÕÖŲÜ" -#: gui/options.cpp:811 -#, fuzzy +#: gui/options.cpp:838 msgid "Filter graphics" -msgstr "²ŲŚŽąŲįāŽŅćŅŠāŲ ŚŽŪģŽąŽŅć ÓąŠäöŚć" +msgstr "ÄöŪģąćŅŠŻŻļ ÓąŠäöŚŲ" -#: gui/options.cpp:811 +#: gui/options.cpp:838 msgid "Use linear filtering when scaling graphics" -msgstr "" +msgstr "²ŲŚŽąŲįāŽŅćŅŠāŲ ŪöŻöŁŻć äöŪģąŠęöļ ŌŪļ ×ŃöŪģčÕŻŻļ ÓąŠäöŚŲ" -#: gui/options.cpp:814 +#: gui/options.cpp:841 msgid "Aspect ratio correction" msgstr "ŗŽąÕŚęöļ įßöŅŅöŌŻŽčÕŻŻļ įāŽąöŻ" -#: gui/options.cpp:814 +#: gui/options.cpp:841 msgid "Correct aspect ratio for 320x200 games" msgstr "ŗŽąŲÓćŅŠāŲ įßöŅŅöŌŻŽčÕŻŻļ įāŽąöŻ ŌŪļ öÓŽą × ÓąŠäöŚŽī 320x200" -#: gui/options.cpp:822 +#: gui/options.cpp:849 msgid "Preferred Device:" msgstr "ĆßŽŌŽŃŠŻŲŁ ßąŲįāąöŁ:" -#: gui/options.cpp:822 +#: gui/options.cpp:849 msgid "Music Device:" msgstr "¼ć×Ųē. ßąŲįāąöŁ:" -#: gui/options.cpp:822 gui/options.cpp:824 +#: gui/options.cpp:849 gui/options.cpp:851 msgid "Specifies preferred sound device or sound card emulator" msgstr "²ŚŠ×ćō ćßŽŌŽŃŠŻŲŁ ×Ņ挎ŅŲŁ ßąŲįāąöŁ ŠŃŽ ÕÜćŪļāŽą ×ŅćŚŽŅŽ÷ ŚŠąāŲ" -#: gui/options.cpp:822 gui/options.cpp:824 gui/options.cpp:825 +#: gui/options.cpp:849 gui/options.cpp:851 gui/options.cpp:852 msgid "Specifies output sound device or sound card emulator" msgstr "²ŚŠ×ćō ŅŲåöŌŻŲŁ ×Ņ挎ŅŲŁ ßąŲįāąöŁ ŠŃŽ ÕÜćŪļāŽą ×ŅćŚŽŅŽ÷ ŚŠąāŲ" -#: gui/options.cpp:824 +#: gui/options.cpp:851 msgctxt "lowres" msgid "Preferred Dev.:" msgstr "ĆßŽŌŽŃ. ßąŲįāąöŁ:" -#: gui/options.cpp:824 +#: gui/options.cpp:851 msgctxt "lowres" msgid "Music Device:" msgstr "¼ć×ŲēŻŲŁ ßąŲįāąöŁ:" -#: gui/options.cpp:851 +#: gui/options.cpp:878 msgid "AdLib emulator:" msgstr "µÜćŪļāŽą AdLib:" -#: gui/options.cpp:851 gui/options.cpp:852 +#: gui/options.cpp:878 gui/options.cpp:879 msgid "AdLib is used for music in many games" msgstr "·ŅćŚŽŅŠ ŚŠąāŠ AdLib ŅŲŚŽąŲįāŽŅćōāģįļ ŃŠÓŠāģÜŠ öÓąŠÜŲ" -#: gui/options.cpp:862 +#: gui/options.cpp:889 msgid "Output rate:" msgstr "²ŲåöŌŻŠ ēŠįāŽāŠ:" -#: gui/options.cpp:862 gui/options.cpp:863 +#: gui/options.cpp:889 gui/options.cpp:890 msgid "" "Higher value specifies better sound quality but may be not supported by your " "soundcard" @@ -925,63 +924,63 @@ msgstr "" "²ÕŪŲŚö ׯŠēÕŻŻļ ×ŠŌŠīāģ ŚąŠéć ļŚöįāģ ×ŅćŚć, ßąŽāÕ ŅŽŻŲ ÜŽÖćāģ ŻÕ " "ßöŌāąŲÜćŅŠāŲįļ ŅŠčŽī ×ŅćŚŽŅŽī ŚŠąāŽī" -#: gui/options.cpp:873 +#: gui/options.cpp:900 msgid "GM Device:" msgstr "æąŲįāąöŁ GM:" -#: gui/options.cpp:873 +#: gui/options.cpp:900 msgid "Specifies default sound device for General MIDI output" msgstr "²ŚŠ×ćō ŅŲåöŌŻŲŁ ×Ņ挎ŅŲŁ ßąŲįāąöŁ ŌŪļ General MIDI" -#: gui/options.cpp:884 +#: gui/options.cpp:911 msgid "Don't use General MIDI music" msgstr "½Õ ŅŲŚŽąŲįāŽŅćŅŠāŲ Üć×ŲŚć General MIDI" -#: gui/options.cpp:895 gui/options.cpp:957 +#: gui/options.cpp:922 gui/options.cpp:984 msgid "Use first available device" msgstr "²ŲŚŽąŲįāŽŅćŅŠāŲ ßÕąčŲŁ ŻŠļŅŻŲŁ ßąŲįāąöŁ" -#: gui/options.cpp:907 +#: gui/options.cpp:934 msgid "SoundFont:" msgstr "SoundFont:" -#: gui/options.cpp:907 gui/options.cpp:909 gui/options.cpp:910 +#: gui/options.cpp:934 gui/options.cpp:936 gui/options.cpp:937 msgid "SoundFont is supported by some audio cards, FluidSynth and Timidity" msgstr "" "SoundFont ßöŌāąŲÜćōāģįļ ŌÕļŚŲÜŲ ×Ņ挎ŅŲÜŲ ŚŠąāŠÜŲ, FluidSynth āŠ Timidity" -#: gui/options.cpp:909 +#: gui/options.cpp:936 msgctxt "lowres" msgid "SoundFont:" msgstr "SoundFont:" -#: gui/options.cpp:915 +#: gui/options.cpp:942 msgid "Mixed AdLib/MIDI mode" msgstr "·ÜöčŠŻŲŁ ąÕÖŲÜ AdLib/MIDI" -#: gui/options.cpp:915 +#: gui/options.cpp:942 msgid "Use both MIDI and AdLib sound generation" msgstr "²ŲŚŽąŲįāŽŅćŅŠāŲ ö MIDI ö AdLib ŌŪļ ÓÕŻÕąŠęö÷ ×ŅćŚć" -#: gui/options.cpp:918 +#: gui/options.cpp:945 msgid "MIDI gain:" msgstr "æŽįŲŪÕŻŻļ MIDI:" -#: gui/options.cpp:928 +#: gui/options.cpp:955 msgid "MT-32 Device:" msgstr "æąŲįāąöŁ MT-32:" -#: gui/options.cpp:928 +#: gui/options.cpp:955 msgid "Specifies default sound device for Roland MT-32/LAPC1/CM32l/CM64 output" msgstr "" "²ŚŠ×ćō ×Ņ挎ŅŲŁ ßąŲįāąöŁ ×Š ćÜŽŅēŠŻŻļÜ ŌŪļ ŅŲŅŽŌć ŻŠ Roland MT-32/LAPC1/" "CM32l/CM64" -#: gui/options.cpp:933 +#: gui/options.cpp:960 msgid "True Roland MT-32 (disable GM emulation)" msgstr "ĮßąŠŅÖŻöŁ Roland MT-32 (ŅŲÜŚŻćāŲ ÕÜćŪļęŲī GM)" -#: gui/options.cpp:933 gui/options.cpp:935 +#: gui/options.cpp:960 gui/options.cpp:962 msgid "" "Check if you want to use your real hardware Roland-compatible sound device " "connected to your computer" @@ -989,16 +988,16 @@ msgstr "" "²öŌÜöāģāÕ, ļŚéŽ ć ŅŠį ßöŌŚŪīēÕŻŽ Roland-įćÜöįŻŲŁ ×Ņ挎ŅŲŁ ßąŲįāąöŁ ö ŅŲ " "åŽēÕāÕ ŁŽÓŽ ŅŲŚŽąŲįāŽŅćŅŠāŲ" -#: gui/options.cpp:935 +#: gui/options.cpp:962 msgctxt "lowres" msgid "True Roland MT-32 (no GM emulation)" msgstr "ĮßąŠŅÖŻöŁ Roland MT-32 (ŅŲÜŚŻćāŲ ÕÜćŪļęŲī GM)" -#: gui/options.cpp:938 +#: gui/options.cpp:965 msgid "Roland GS Device (enable MT-32 mappings)" msgstr "ĄÕÖŲÜ Roland GS (ŅŅöÜŚŻćāŲ ÜŠßŪÕŻŻļ MT-32)" -#: gui/options.cpp:938 +#: gui/options.cpp:965 msgid "" "Check if you want to enable patch mappings to emulate an MT-32 on a Roland " "GS device" @@ -1006,268 +1005,268 @@ msgstr "" "²öŌÜöāģāÕ, ļŚéŽ åŽēÕāÕ ŅŚŪīēŲāŲ ŪŠāŚŲ ŌŪļ öįāąćÜÕŻāöŅ ŌŪļ ÕÜćŪļęö÷ MT-32 ŻŠ " "Roland" -#: gui/options.cpp:947 +#: gui/options.cpp:974 msgid "Don't use Roland MT-32 music" msgstr "½Õ ŅŲŚŽąŲįāŽŅćŅŠāŲ Üć×ŲŚć ŌŪļ Roland MT-32" -#: gui/options.cpp:974 +#: gui/options.cpp:1001 msgid "Text and Speech:" msgstr "ĀÕŚįā ö Ž×ŅćēŚŠ:" -#: gui/options.cpp:978 gui/options.cpp:988 +#: gui/options.cpp:1005 gui/options.cpp:1015 msgid "Speech" msgstr "¾×ŅćēŚŠ" -#: gui/options.cpp:979 gui/options.cpp:989 +#: gui/options.cpp:1006 gui/options.cpp:1016 msgid "Subtitles" msgstr "ĮćŃāŲāąŲ" -#: gui/options.cpp:980 +#: gui/options.cpp:1007 msgid "Both" msgstr "²įÕ" -#: gui/options.cpp:982 +#: gui/options.cpp:1009 msgid "Subtitle speed:" msgstr "ČŅŲŌ. įćŃāŲāąöŅ:" -#: gui/options.cpp:984 +#: gui/options.cpp:1011 msgctxt "lowres" msgid "Text and Speech:" msgstr "ĀÕŚįā ö Ž×ŅćēŚŠ:" -#: gui/options.cpp:988 +#: gui/options.cpp:1015 msgid "Spch" msgstr "¾×Ņ" -#: gui/options.cpp:989 +#: gui/options.cpp:1016 msgid "Subs" msgstr "ĮćŃ" -#: gui/options.cpp:990 +#: gui/options.cpp:1017 msgctxt "lowres" msgid "Both" msgstr "²įÕ" -#: gui/options.cpp:990 +#: gui/options.cpp:1017 msgid "Show subtitles and play speech" msgstr "æŽŚŠ×ćŅŠāŲ įćŃāŲāąŲ ö ŅöŌāŅŽąīŅŠāŲ ÜŽŅć" -#: gui/options.cpp:992 +#: gui/options.cpp:1019 msgctxt "lowres" msgid "Subtitle speed:" msgstr "ČŅŲŌ. įćŃāŲāąöŅ:" -#: gui/options.cpp:1008 +#: gui/options.cpp:1035 msgid "Music volume:" msgstr "³ćēŻöįāģ Üć×ŲŚŲ:" -#: gui/options.cpp:1010 +#: gui/options.cpp:1037 msgctxt "lowres" msgid "Music volume:" msgstr "³ćēŻöįāģ Üć×ŲŚŲ:" -#: gui/options.cpp:1017 +#: gui/options.cpp:1044 msgid "Mute All" msgstr "²ŲÜŚŻćāŲ ŅįÕ" -#: gui/options.cpp:1020 +#: gui/options.cpp:1047 msgid "SFX volume:" msgstr "³ćēŻöįāģ ÕäÕŚāöŅ:" -#: gui/options.cpp:1020 gui/options.cpp:1022 gui/options.cpp:1023 +#: gui/options.cpp:1047 gui/options.cpp:1049 gui/options.cpp:1050 msgid "Special sound effects volume" msgstr "³ćēŻöįāģ įßÕęöŠŪģŻŲå ×Ņ挎ŅŲå ÕäÕŚāöŅ" -#: gui/options.cpp:1022 +#: gui/options.cpp:1049 msgctxt "lowres" msgid "SFX volume:" msgstr "³ćēŻ. ÕäÕŚāöŅ:" -#: gui/options.cpp:1030 +#: gui/options.cpp:1057 msgid "Speech volume:" msgstr "³ćēŻöįāģ Ž×ŅćēŚŲ:" -#: gui/options.cpp:1032 +#: gui/options.cpp:1059 msgctxt "lowres" msgid "Speech volume:" msgstr "³ćēŻ. Ž×ŅćēŚŲ:" -#: gui/options.cpp:1162 +#: gui/options.cpp:1257 msgid "FluidSynth Settings" msgstr "½ŠŪŠčāćŅŠŻŻļ FluidSynth" -#: gui/options.cpp:1193 +#: gui/options.cpp:1288 msgid "Theme Path:" msgstr "ČŪļå ŌŽ āÕÜ:" -#: gui/options.cpp:1195 +#: gui/options.cpp:1290 msgctxt "lowres" msgid "Theme Path:" msgstr "ČŪļå ŌŽ āÕÜ:" -#: gui/options.cpp:1201 gui/options.cpp:1203 gui/options.cpp:1204 +#: gui/options.cpp:1296 gui/options.cpp:1298 gui/options.cpp:1299 msgid "Specifies path to additional data used by all games or ScummVM" msgstr "" "²ŚŠ×ćō čŪļå ŌŽ ŌŽŌŠāŚŽŅŲå 䊣ŪöŅ ŌŠŻŲå, ļŚö ŅŲŚŽąŲįāŽŅćīāģįļ ćįöÜŠ öÓąŠÜŲ " "ŠŃŽ ScummVM" -#: gui/options.cpp:1210 +#: gui/options.cpp:1305 msgid "Plugins Path:" msgstr "ČŪļå ŌŽ ŅāćŪŚöŅ:" -#: gui/options.cpp:1212 +#: gui/options.cpp:1307 msgctxt "lowres" msgid "Plugins Path:" msgstr "ČŪļå ŌŽ ŅāćŪŚöŅ:" -#: gui/options.cpp:1223 +#: gui/options.cpp:1318 msgctxt "lowres" msgid "Misc" msgstr "ĄöׯÕ" -#: gui/options.cpp:1225 +#: gui/options.cpp:1320 msgid "Theme:" msgstr "ĀÕÜŠ:" -#: gui/options.cpp:1229 +#: gui/options.cpp:1324 msgid "GUI Renderer:" msgstr "ĄŠįāÕą. GUI:" -#: gui/options.cpp:1241 +#: gui/options.cpp:1336 msgid "Autosave:" msgstr "°ŅāŽ×ŃÕąÕÖÕŻŻļ:" -#: gui/options.cpp:1243 +#: gui/options.cpp:1338 msgctxt "lowres" msgid "Autosave:" msgstr "°ŅāŽ×ŃÕąÕÖ.:" -#: gui/options.cpp:1251 +#: gui/options.cpp:1346 msgid "Keys" msgstr "ŗŪŠŅöčö" -#: gui/options.cpp:1258 +#: gui/options.cpp:1353 msgid "GUI Language:" msgstr "¼ŽŅŠ öŻāÕąä.:" -#: gui/options.cpp:1258 +#: gui/options.cpp:1353 msgid "Language of ScummVM GUI" msgstr "¼ŽŅŠ ÓąŠäöēŻŽÓŽ öŻāÕąäÕŁįć ScummVM" -#: gui/options.cpp:1286 +#: gui/options.cpp:1381 msgid "Update check:" msgstr "æÕąÕŅöąļāŲ ŽŻŽŅŪÕŻŻļ:" -#: gui/options.cpp:1286 +#: gui/options.cpp:1381 msgid "How often to check ScummVM updates" msgstr "ĻŚ ēŠįāŽ ßÕąÕŅöąļāŲ ŽŻŽŅŪÕŻŻļ ScummVM" -#: gui/options.cpp:1298 +#: gui/options.cpp:1393 msgid "Check now" msgstr "æÕąÕŅöąŲāŲ ×ŠąŠ×" -#: gui/options.cpp:1306 +#: gui/options.cpp:1401 msgid "Cloud" msgstr "ÅÜŠąŠ" -#: gui/options.cpp:1308 +#: gui/options.cpp:1403 msgctxt "lowres" msgid "Cloud" msgstr "ÅÜŠąŠ" -#: gui/options.cpp:1319 +#: gui/options.cpp:1408 msgid "Storage:" msgstr "ĮÕąÕŌŽŅŲéÕ:" -#: gui/options.cpp:1319 +#: gui/options.cpp:1408 msgid "Active cloud storage" msgstr "°ŚāŲŅŻÕ åÜŠąŻÕ įÕąÕŌŽŅŲéÕ" -#: gui/options.cpp:1326 gui/options.cpp:1877 +#: gui/options.cpp:1415 gui/options.cpp:1972 msgid "<none>" msgstr "<ŻÕÜŠō>" -#: gui/options.cpp:1330 backends/platform/wii/options.cpp:114 +#: gui/options.cpp:1419 backends/platform/wii/options.cpp:114 msgid "Username:" msgstr "ŗŽąŲįāćŅŠē:" -#: gui/options.cpp:1330 +#: gui/options.cpp:1419 msgid "Username used by this storage" msgstr "ŗŽąŲįāćŅŠē ŌŪļ ęģŽÓŽ įÕąŌŽŅŲéŠ" -#: gui/options.cpp:1333 +#: gui/options.cpp:1422 msgid "Used space:" msgstr "²ŲŚŽąŲįāŠŻŲŁ ŽŃ'ōÜ" -#: gui/options.cpp:1333 +#: gui/options.cpp:1422 msgid "Space used by ScummVM's saved games on this storage" msgstr "" "¾Ń'ōÜ, ŅŲŚŽąŲįāŠŻŲŁ ŌŪļ ×ŃÕąÕÖÕŻŲå įāŠŻöŅ öÓŽą ScummVM ŻŠ ęģŽÜć įÕąÕŌŽŅŲéö" -#: gui/options.cpp:1336 +#: gui/options.cpp:1425 msgid "Last sync time:" msgstr "¾įāŠŻŻļ įŲŻåąŽŻŲ׊ęöļ:" -#: gui/options.cpp:1336 +#: gui/options.cpp:1425 msgid "When the last saved games sync for this storage occured" msgstr "ĒŠį, ŚŽŪŲ ŃćŪŽ ׹ŽŃŪÕŻŽ ŽįāŠŻŻī įŲŻåąŽŻŲ׊ęöī × ęŲÜ įÕąÕŌŽŅŲéÕÜ" -#: gui/options.cpp:1339 gui/storagewizarddialog.cpp:71 +#: gui/options.cpp:1428 gui/storagewizarddialog.cpp:71 msgid "Connect" msgstr "·ŠŪćēŲāŲįģ" -#: gui/options.cpp:1339 +#: gui/options.cpp:1428 msgid "Open wizard dialog to connect your cloud storage account" msgstr "" "ĄŽ×ߎēŠāŲ ŚąŽŚŲ ŌŪļ ׊ŪćēÕŻŻļ ŌŽ ŅŠčŽÓŽ ŽŃŪöŚŽŅŽÓŽ ׊įŽŃć ŻŠ åÜŠąŻŽÜć " "įÕąÕŌŽŅŲéö" -#: gui/options.cpp:1340 +#: gui/options.cpp:1429 msgid "Refresh" msgstr "æŽŻŽŅŲāŲ" -#: gui/options.cpp:1340 +#: gui/options.cpp:1429 msgid "Refresh current cloud storage information (username and usage)" msgstr "æŽŻŽŅŲāŲ ßŽāŽēŻö ŌŠŻö åÜŠąŻŽÓŽ įÕąÕŌŽŅŲéŠ (öÜ'ļ ŚŽąŲįāćŅŠēŠ āŠ ŽŃ'ōÜ)" -#: gui/options.cpp:1341 +#: gui/options.cpp:1430 msgid "Download" msgstr "·ŠŅŠŻāŠÖŲāŲ" -#: gui/options.cpp:1341 +#: gui/options.cpp:1430 msgid "Open downloads manager dialog" msgstr "²öŌŚąŲāŲ ŚÕąćŅŠŻŻļ ×ŠŅŠŻāŠÖÕŻŻļÜŲ" -#: gui/options.cpp:1343 +#: gui/options.cpp:1432 msgid "Run server" msgstr "·ŠßćįāŲāŲ įÕąŅÕą" -#: gui/options.cpp:1343 +#: gui/options.cpp:1432 msgid "Run local webserver" msgstr "·ŠßćįŚŠō ŪŽŚŅŠŪģŻŲŁ ŅÕŃ-įÕąŅÕą" -#: gui/options.cpp:1344 gui/options.cpp:1987 +#: gui/options.cpp:1433 gui/options.cpp:2082 msgid "Not running" msgstr "²ŲÜŚŻÕŻŽ" -#: gui/options.cpp:1348 +#: gui/options.cpp:1437 msgid "/root/ Path:" msgstr "ČŪļå /root/:" -#: gui/options.cpp:1348 gui/options.cpp:1350 gui/options.cpp:1351 +#: gui/options.cpp:1437 gui/options.cpp:1439 gui/options.cpp:1440 msgid "Specifies which directory the Files Manager can access" msgstr "²ŚŠ×ćō čŪļå ŌŽ ļŚŽÓŽ ÜŽÖŻŠ ÜŠāŲ ŌŽįāćß ēÕąÕ× ŗÕąćŅŠŻŻļ äŠŁŪŠÜŲ" -#: gui/options.cpp:1350 +#: gui/options.cpp:1439 msgctxt "lowres" msgid "/root/ Path:" msgstr "ŗŽąöŻŻŲŁ čŪļå:" -#: gui/options.cpp:1360 +#: gui/options.cpp:1449 msgid "Server's port:" msgstr "æŽąā įÕąŅÕąŠ:" -#: gui/options.cpp:1360 +#: gui/options.cpp:1449 msgid "" "Which port is used by the server\n" "Auth with server is not available with non-default port" @@ -1275,68 +1274,68 @@ msgstr "" "æŽąā, ŚŽāŽąėŁ ŃćŌÕā ŲįߎŪģ×ŽŅŠŻ įÕąŅÕąŽÜ\n" "°ćāÕŻāŲäŲŚŠęŲļ į įÕąŅÕąŽÜ ŌŽįāćßŻŠ āŽŪģŚŽ ŌŪļ ߎąāŠ ßŽ ćÜŽŪēŠŻŲī" -#: gui/options.cpp:1520 -msgid "You have to restart ScummVM before your changes will take effect." -msgstr "²Ų ߎŅŲŻŻö ßÕąÕ׊ßćįāŲāŲ ScummVM éŽŃ ׊įāŽįćŅŠāŲ ×ÜöŻŲ." +#: gui/options.cpp:1462 +msgid "Apply" +msgstr "·ŠįāŽįćŅŠāŲ" -#: gui/options.cpp:1543 +#: gui/options.cpp:1628 msgid "Failed to change cloud storage!" msgstr "½Õ ŅŌŠŪŽįļ ×ÜöŻŲāŲ ×ÜŠąŻÕ įÕąÕŌŽŅŲéÕ!" -#: gui/options.cpp:1546 +#: gui/options.cpp:1631 msgid "Another cloud storage is already active." msgstr "“ąćÓŽÕ ŽŃŪŠŚŽ ćÖÕ ŠŚāŲŅŻŽ." -#: gui/options.cpp:1584 +#: gui/options.cpp:1667 +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 "" +"²ŲŃąŠŻŠ āÕÜŠ ŻÕ ßöŌāąŲÜćō ߎāŽēŻć ÜŽŅć. ĻŚéŽ ŅŲ åŽēÕāÕ ŅŲŚŽąŲįāŽŅćŅŠāŲ ęī " +"āÕÜć, ߎāąöŃŻŽ Ņ ßÕąčć ēÕąÓć ×ÜöŻŲāŲ ÜŽŅć." + +#: gui/options.cpp:1702 msgid "The chosen directory cannot be written to. Please select another one." msgstr "½Õ ÜŽÖć ßŲįŠāŲ ć ŅŲŃąŠŻć ߊߌć. ±ćŌģ ŪŠįŚŠ, ŅŚŠÖöāģ öŻčć." -#: gui/options.cpp:1593 +#: gui/options.cpp:1711 msgid "Select directory for GUI themes" msgstr "²ŲŃÕąöāģ ߊߌć ŌŪļ āÕÜ GUI" -#: gui/options.cpp:1603 +#: gui/options.cpp:1721 msgid "Select directory for extra files" msgstr "²ŲŃÕąöāģ ߊߌć × ŌŽŌŠāŚŽŅŲÜŲ äŠŁŪŠÜŲ" -#: gui/options.cpp:1614 +#: gui/options.cpp:1732 msgid "Select directory for plugins" msgstr "²ŲŃÕąöāģ ߊߌć ×ö ŅāćŪŚŠÜŲ" -#: gui/options.cpp:1626 +#: gui/options.cpp:1744 msgid "Select directory for Files Manager /root/" msgstr "²ŲŃÕąöāģ ߊߌć /root/ ŌŪļ ŗÕąćŅŠŻŻļ äŠŁŪŠÜŲ" -#: gui/options.cpp:1688 -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 "" -"²ŲŃąŠŻŠ āÕÜŠ ŻÕ ßöŌāąŲÜćō ߎāŽēŻć ÜŽŅć. ĻŚéŽ ŅŲ åŽēÕāÕ ŅŲŚŽąŲįāŽŅćŅŠāŲ ęī " -"āÕÜć, ߎāąöŃŻŽ Ņ ßÕąčć ēÕąÓć ×ÜöŻŲāŲ ÜŽŅć." - -#: gui/options.cpp:1884 +#: gui/options.cpp:1979 #, c-format msgid "%llu bytes" msgstr "%llu ŃŠŁā" -#: gui/options.cpp:1892 +#: gui/options.cpp:1987 msgid "<right now>" msgstr "<׊ąŠ×>" -#: gui/options.cpp:1894 +#: gui/options.cpp:1989 msgid "<never>" msgstr "<ŻöŚŽŪŲ>" -#: gui/options.cpp:1978 +#: gui/options.cpp:2073 msgid "Stop server" msgstr "²ŲÜŚŻćāŲ įÕąŅÕą" -#: gui/options.cpp:1979 +#: gui/options.cpp:2074 msgid "Stop local webserver" msgstr "²ŲÜŚŻćāŲ ŪŽŚŠŪģŻŲŁ ŅÕŃ-įÕąŅÕą" -#: gui/options.cpp:2068 +#: gui/options.cpp:2163 msgid "" "Request failed.\n" "Check your Internet connection." @@ -1612,35 +1611,35 @@ msgstr "æąŽŌŽŅÖŲāŲ" msgid "Clear value" msgstr "¾ēŲįāŲāŲ ×ŻŠēÕŻŻļ" -#: base/main.cpp:250 +#: base/main.cpp:253 #, c-format msgid "Engine does not support debug level '%s'" msgstr "“ŅŲÖŽŚ ŻÕ ßöŌāąŲÜćō ąöŅÕŻģ ŅöŌŪŠŌŚŲ '%s'" -#: base/main.cpp:324 +#: base/main.cpp:327 msgid "Menu" msgstr "¼ÕŻī" -#: base/main.cpp:327 backends/platform/symbian/src/SymbianActions.cpp:45 +#: base/main.cpp:330 backends/platform/symbian/src/SymbianActions.cpp:45 #: backends/platform/wince/CEActionsPocket.cpp:45 #: backends/platform/wince/CEActionsSmartphone.cpp:46 msgid "Skip" msgstr "æąŽßćįāŲāŲ" -#: base/main.cpp:330 backends/platform/symbian/src/SymbianActions.cpp:50 +#: base/main.cpp:333 backends/platform/symbian/src/SymbianActions.cpp:50 #: backends/platform/wince/CEActionsPocket.cpp:42 msgid "Pause" msgstr "æŠć׊" -#: base/main.cpp:333 +#: base/main.cpp:336 msgid "Skip line" msgstr "æąŽßćįāŲāŲ ąļŌŽŚ" -#: base/main.cpp:542 +#: base/main.cpp:547 msgid "Error running game:" msgstr "æŽÜŲŪŚŠ ×ŠßćįŚć ÓąŲ:" -#: base/main.cpp:589 +#: base/main.cpp:594 msgid "Could not find any engine capable of running the selected game" msgstr "½Õ ÜŽÖć ×ŻŠŁāŲ ŌŅŲÖŽŚ ŌŪļ ׊ßćįŚć ŅŲŃąŠŻŽ÷ ÓąŲ" @@ -1878,9 +1877,8 @@ msgid "Could not apply fullscreen setting." msgstr "½Õ ŅŌŠŪŽįļ ׊įāŽįćŅŠāŲ ßŽŅŻŽÕŚąŠŻŻŲŁ ąÕÖŲÜ." #: engines/engine.cpp:373 -#, fuzzy msgid "Could not apply filtering setting." -msgstr "½Õ ŅŌŠŪŽįļ ׊įāŽįćŅŠāŲ ßŽŅŻŽÕŚąŠŻŻŲŁ ąÕÖŲÜ." +msgstr "½Õ ŅŌŠŪŽįļ ׊įāŽįćŅŠāŲ ąÕÖŲÜ äöŪģāąćŅŠŻŻļ." #: engines/engine.cpp:473 msgid "" @@ -2014,11 +2012,11 @@ msgstr "°ćŌöŽ FM-Towns" msgid "PC-98 Audio" msgstr "°ćŌöŽ PC-98" -#: audio/softsynth/mt32.cpp:196 +#: audio/softsynth/mt32.cpp:197 msgid "Initializing MT-32 Emulator" msgstr "½ŠŪŠčāŽŅćī ÕÜćŪļāŽą MT-32" -#: audio/softsynth/mt32.cpp:434 +#: audio/softsynth/mt32.cpp:435 msgid "MT-32 Emulator" msgstr "µÜćŪļāŽą MT-32" @@ -2034,15 +2032,15 @@ msgstr "µÜćŪļāŽą IBM PCjr" msgid "C64 Audio Emulator" msgstr "C64 °ćŌöŽ µÜćŪļāŽą" -#: backends/cloud/storage.cpp:210 +#: backends/cloud/storage.cpp:211 msgid "Saved games sync complete." msgstr "ĮŲŻåąŽŻŲ׊ęöī ×ŃÕąÕÖÕŻŲå įāŠŻöŅ ×ŠŚöŻēÕŻŽ!" -#: backends/cloud/storage.cpp:221 +#: backends/cloud/storage.cpp:222 msgid "Saved games sync was cancelled." msgstr "ĮŲŻåąŽŻŲ׊ęöī ×ŃÕąÕÖÕŻŲå įāŠŻöŅ ßąŲßŲŻÕŻŽ." -#: backends/cloud/storage.cpp:223 +#: backends/cloud/storage.cpp:224 msgid "" "Saved games sync failed.\n" "Check your Internet connection." @@ -2050,7 +2048,7 @@ msgstr "" "æŽÜŲŪŚŠ įŲŻåąŽŻŲ׊ęö÷ ×ŃÕąÕÖÕŻŲå įāŠŻöŅ.\n" "æÕąÕŅöąāÕ ŅŠčÕ ×'ōŌŻŠŻŻļ × öŻāÕąŻÕā." -#: backends/cloud/storage.cpp:327 +#: backends/cloud/storage.cpp:328 #, c-format msgid "" "Download complete.\n" @@ -2059,11 +2057,11 @@ msgstr "" "·ŠŅŠŻāŠÖÕŻŻļ ׊ŚöŻēÕŻŽ.\n" "½Õ ŅŌŠŪŽįļ ×ŠŅŠŻāŠÖŲāŲ %u 䊣ŪöŅ." -#: backends/cloud/storage.cpp:329 +#: backends/cloud/storage.cpp:330 msgid "Download complete." msgstr "·ŠŅŠŻāŠÖÕŻŻļ ׊ŚöŻēÕŻŽ." -#: backends/cloud/storage.cpp:339 +#: backends/cloud/storage.cpp:340 msgid "Download failed." msgstr "æŽÜŲŪŚŠ ×ŠŅŠŻāŠÖÕŻŻļ." @@ -2172,43 +2170,51 @@ msgstr "æąŽŅÕŌöāģ āąģŽÜŠ ßŠŪģęļÜö ŻŠßąŠŅŽ ŌŪļ ßÕąÕŚŪīēÕŻŻļ." msgid "OpenGL" msgstr "OpenGL" -#: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:47 -#: backends/graphics/wincesdl/wincesdl-graphics.cpp:88 -#: backends/graphics/wincesdl/wincesdl-graphics.cpp:95 -msgid "Normal (no scaling)" -msgstr "±Õ× ×ŃöŪģčÕŻŻļ" +#: backends/graphics/openglsdl/openglsdl-graphics.cpp:617 +#: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:2462 +msgid "Windowed mode" +msgstr "²öŚŽŻŻŲŁ ąÕÖŲÜ" -#: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:66 -msgctxt "lowres" -msgid "Normal (no scaling)" -msgstr "±Õ× ×ŃöŪģčÕŻŻļ" +#: backends/graphics/openglsdl/openglsdl-graphics.cpp:710 +#, c-format +msgid "Resolution: %dx%d" +msgstr "ĄŽ×ÓŠŪćÖÕŻŻļ %dx%d" -#: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:2329 +#: backends/graphics/openglsdl/openglsdl-graphics.cpp:731 +#: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:2338 msgid "Enabled aspect ratio correction" msgstr "ŗŽąÕŚęöī įßöŅŅöŌŻŽčÕŻŻļ įāŽąöŻ ćŅöÜŚŻÕŻŽ" -#: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:2335 +#: backends/graphics/openglsdl/openglsdl-graphics.cpp:733 +#: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:2344 msgid "Disabled aspect ratio correction" msgstr "ŗŽąÕŚęöī įßöŅŅöŌŻŽčÕŻŻļ įāŽąöŻ ŅŲÜŚŻÕŻŽ" -#: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:2353 -#, fuzzy +#: backends/graphics/openglsdl/openglsdl-graphics.cpp:753 +#: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:2362 msgid "Filtering enabled" -msgstr "ŗŪöŚŲ ćŅöÜŚŻÕŻŽ" +msgstr "ÄöŪģāąćŅŠŻŻļ ćŅöÜŚŻÕŻŽ" -#: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:2355 -#, fuzzy +#: backends/graphics/openglsdl/openglsdl-graphics.cpp:755 +#: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:2364 msgid "Filtering disabled" -msgstr "ŗŪöŚŲ ŅŲÜŚŻÕŻŽ" +msgstr "ÄöŪģāąćŅŠŻŻļ ŅŲÜŚŻÕŻŽ" -#: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:2407 +#: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:47 +#: backends/graphics/wincesdl/wincesdl-graphics.cpp:88 +#: backends/graphics/wincesdl/wincesdl-graphics.cpp:95 +msgid "Normal (no scaling)" +msgstr "±Õ× ×ŃöŪģčÕŻŻļ" + +#: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:66 +msgctxt "lowres" +msgid "Normal (no scaling)" +msgstr "±Õ× ×ŃöŪģčÕŻŻļ" + +#: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:2417 msgid "Active graphics filter:" msgstr "æŽāŽēŻŲŁ ÓąŠäöēŻŲŁ äöŪģāą:" -#: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:2452 -msgid "Windowed mode" -msgstr "²öŚŽŻŻŲŁ ąÕÖŲÜ" - #: backends/keymapper/remap-dialog.cpp:48 msgid "Keymap:" msgstr "¼ŠßŠ ŚŪŠŅöč:" @@ -3131,6 +3137,50 @@ msgstr "³ŽŪŽŅŻÕ ÜÕŻī" msgid "~W~ater Effect Enabled" msgstr "µäÕŚāŲ ŅŽŌŲ ćŅöÜŚŻÕŻŽ" +#: engines/mohawk/riven.cpp:150 +msgid "" +"You're missing a Riven executable. The Windows executable is 'riven.exe' or " +"'rivendmo.exe'. " +msgstr "" +"Ć ŅŠÜ ŻÕÜŠō 䊣Ūć ŌŪļ ŅŲŚŽŻŠŻŻļ Riven. ÄŠŁŪ ŅŲŚŽŻŠŻŻļ ŌŪļ Windows ÜŠō " +"ŻŠ×Ņć'riven.exe' ŠŃŽ 'rivendemo.exe'" + +#: engines/mohawk/riven.cpp:151 +msgid "" +"Using the 'arcriven.z' installer file also works. In addition, you can use " +"the Mac 'Riven' executable." +msgstr "" +"²ŲŚŽąŲįāŠŻŻļ 䊣Ūć 'arcriven.z' āŠŚŽÖ ō ßąŲßćįāŲÜŲÜ. ĀŠŚŽÖ ŅŲ ÜŽÖÕāÕ " +"ŅŲŚŽąŲįāŽŅćŅŠāŲäŠŁŪ 'Riven' ŌŪļ Mac." + +#: engines/mohawk/riven.cpp:162 +msgid "" +"You're missing 'extras.mhk'. Using the 'arcriven.z' installer file also " +"works." +msgstr "" +"Ć ŅŠį ŻÕÜŠō 䊣Ūć 'extras.mhk'. ²ŲŚŽąŲįāŠŻŻļ 䊣Ūć 'arcriven.z' āŠŚŽÖ " +"ŌŽįāŠāŻģŽ." + +#: engines/mohawk/riven_external.cpp:213 +msgid "" +"Exploration beyond this point available only within the full version of\n" +"the game." +msgstr "“ŽįŪöŌćŅŠŻŻļ ߎ׊ ęöōī ÜÕÖŽī ŌŽįāćßŻÕ āöŪģŚŲ ׊ ßŽŅŻŽ÷ ŅÕąįö÷ ÓąŲ." + +#: engines/mohawk/riven_external.cpp:655 +msgid "" +"At this point, the Riven Demo would\n" +"ask if you would like to open a web browser\n" +"to bring you to the Red Orb store to buy\n" +"the game. ScummVM cannot do that and\n" +"the site no longer exists." +msgstr "" +"½Š ęÕŁ ÜŽÜÕŻā ŌÕÜŽ Riven ŃŲ ×ŠßŲāŠŪŠ, ēŲ\n" +"ŅŲ Ń åŽāöŪŲ ŅöŌŚąŲāŲ ŅÕŃ-ŽÓŪļŌŠē ö ßÕąÕŻÕįāŲ\n" +"ŅŠį ć ÜŠÓŠ×ŲŻ Red Orb, ŠŃŲ ÜŠāŲ ÜŽÖŪŲŅöįāģ\n" +"ŚćßŲāŲ Óąć. ScummVM ׊ąŠ× ęÕ ŻÕ ŅÜöō ąŽŃŲāŲ,\n" +"ŽŚąöÜ āŽÓŽ, ęÕŁ ÜŠÓŠ×ŲŻ ŃöŪģčÕ ŻÕ ßąŠęīō." + #: engines/mohawk/mohawk.cpp:61 msgid "The game is paused. Press any key to continue." msgstr "¦Óąć ßąŲ×ćßŲŻÕŻŽ. ½ŠāŲįŻöāģ ŃćŌģ-ļŚć ŚŪŠŅöčć ŌŪļ ßąŽŌŽŅÖÕŻŻļ." @@ -4258,5 +4308,8 @@ msgstr "" "²ŲŚŽąŲįāŽŅćŅŠāŲ ŅöŌÕŽ MPEG × DVD-ŅÕąįö÷, ׊Üöįāģ 䊣ŪöŅ AVI × ŻöÖēŽī " "ąŽ×ŌöŪģŻŽī ×ŌŠāŻöįāī" +#~ msgid "You have to restart ScummVM before your changes will take effect." +#~ msgstr "²Ų ߎŅŲŻŻö ßÕąÕ׊ßćįāŲāŲ ScummVM éŽŃ ׊įāŽįćŅŠāŲ ×ÜöŻŲ." + #~ msgid "OpenGL (No filtering)" #~ msgstr "OpenGL (ŃÕ× äöŪģāąöŅ)" diff --git a/po/zh-Latn_CN.po b/po/zh-Latn_CN.po index feb1e59e1b..ff9a1ce82c 100644 --- a/po/zh-Latn_CN.po +++ b/po/zh-Latn_CN.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: ScummVM 1.9.0git\n" "Report-Msgid-Bugs-To: scummvm-devel@lists.scummvm.org\n" -"POT-Creation-Date: 2016-10-12 23:37+0100\n" +"POT-Creation-Date: 2016-11-05 12:43+0100\n" "PO-Revision-Date: 2016-03-15 04:09-0700\n" "Last-Translator: Chenbo Li <lichenbo1949@gmail.com>\n" "Language-Team: Chenbo Li <lichenbo1949@gmail.com>\n" @@ -16,6 +16,7 @@ msgstr "" "Content-Type: text/plain; charset=iso-8859-1\n" "Content-Transfer-Encoding: 8bit\n" "X-Generator: Poedit 1.8.7\n" +"X-Language-name: Chinese Pinyin (Mandarin)\n" #: gui/about.cpp:94 #, c-format @@ -55,7 +56,7 @@ msgstr "ShangYiJi" #: gui/browser.cpp:75 gui/chooser.cpp:46 gui/editgamedialog.cpp:292 #: gui/editrecorddialog.cpp:67 gui/filebrowser-dialog.cpp:64 #: gui/fluidsynth-dialog.cpp:152 gui/KeysDialog.cpp:43 gui/massadd.cpp:95 -#: gui/options.cpp:1376 gui/predictivedialog.cpp:73 gui/recorderdialog.cpp:69 +#: gui/options.cpp:1461 gui/predictivedialog.cpp:73 gui/recorderdialog.cpp:69 #: gui/recorderdialog.cpp:155 gui/remotebrowser.cpp:59 #: gui/saveload-dialog.cpp:383 gui/saveload-dialog.cpp:443 #: gui/saveload-dialog.cpp:717 gui/saveload-dialog.cpp:1111 @@ -80,7 +81,7 @@ msgstr "Xuanze" msgid "Select directory where to download game data" msgstr "Xuanze Youxi Shuju Mulu" -#: gui/downloaddialog.cpp:49 gui/editgamedialog.cpp:472 gui/launcher.cpp:173 +#: gui/downloaddialog.cpp:49 gui/editgamedialog.cpp:470 gui/launcher.cpp:197 msgid "Select directory with game data" msgstr "Xuanze Youxi Shuju Mulu" @@ -113,7 +114,7 @@ msgstr "" #: gui/downloaddialog.cpp:118 gui/downloaddialog.cpp:152 #: gui/filebrowser-dialog.cpp:132 gui/fluidsynth-dialog.cpp:217 -#: gui/launcher.cpp:286 gui/launcher.cpp:394 gui/launcher.cpp:453 +#: gui/launcher.cpp:307 gui/launcher.cpp:415 gui/launcher.cpp:474 #: gui/storagewizarddialog.cpp:112 #: backends/events/symbiansdl/symbiansdl-events.cpp:186 #: backends/platform/wince/CEActionsPocket.cpp:326 @@ -125,7 +126,7 @@ msgstr "Shi" #: gui/downloaddialog.cpp:118 gui/downloaddialog.cpp:153 #: gui/filebrowser-dialog.cpp:132 gui/fluidsynth-dialog.cpp:217 -#: gui/launcher.cpp:286 gui/launcher.cpp:394 gui/launcher.cpp:453 +#: gui/launcher.cpp:307 gui/launcher.cpp:415 gui/launcher.cpp:474 #: gui/storagewizarddialog.cpp:112 #: backends/events/symbiansdl/symbiansdl-events.cpp:186 #: backends/platform/wince/CEActionsPocket.cpp:326 @@ -135,7 +136,7 @@ msgstr "Shi" msgid "No" msgstr "Fou" -#: gui/downloaddialog.cpp:136 gui/launcher.cpp:544 +#: gui/downloaddialog.cpp:136 gui/launcher.cpp:565 msgid "ScummVM couldn't open the specified directory!" msgstr "ScummVM Wufa Dakai Zhiding Mulu!" @@ -146,8 +147,8 @@ msgid "" msgstr "" #: gui/downloaddialog.cpp:146 gui/editgamedialog.cpp:293 -#: gui/fluidsynth-dialog.cpp:153 gui/KeysDialog.cpp:42 gui/launcher.cpp:501 -#: gui/launcher.cpp:505 gui/massadd.cpp:92 gui/options.cpp:1377 +#: gui/fluidsynth-dialog.cpp:153 gui/KeysDialog.cpp:42 gui/launcher.cpp:522 +#: gui/launcher.cpp:526 gui/massadd.cpp:92 gui/options.cpp:1463 #: gui/saveload-dialog.cpp:1112 engines/engine.cpp:477 engines/engine.cpp:488 #: backends/platform/wii/options.cpp:47 #: backends/platform/wince/CELauncherDialog.cpp:54 @@ -229,8 +230,8 @@ msgid "" msgstr "" "Youxi de Yuyan. CiXiang buhui jiang Yige XibanyaYu Banben Zhuancheng Yingwen" -#: gui/editgamedialog.cpp:151 gui/editgamedialog.cpp:165 gui/options.cpp:114 -#: gui/options.cpp:785 gui/options.cpp:798 gui/options.cpp:1261 +#: gui/editgamedialog.cpp:151 gui/editgamedialog.cpp:165 gui/options.cpp:121 +#: gui/options.cpp:812 gui/options.cpp:825 gui/options.cpp:1356 #: audio/null.cpp:41 msgid "<default>" msgstr "<Moren>" @@ -253,11 +254,11 @@ msgstr "Pingtai:" msgid "Engine" msgstr "Yinqing" -#: gui/editgamedialog.cpp:184 gui/options.cpp:1120 gui/options.cpp:1137 +#: gui/editgamedialog.cpp:184 gui/options.cpp:1147 gui/options.cpp:1232 msgid "Graphics" msgstr "Tuxiang" -#: gui/editgamedialog.cpp:184 gui/options.cpp:1120 gui/options.cpp:1137 +#: gui/editgamedialog.cpp:184 gui/options.cpp:1147 gui/options.cpp:1232 msgid "GFX" msgstr "GFX" @@ -270,7 +271,7 @@ msgctxt "lowres" msgid "Override global graphic settings" msgstr "Fugai Quanju Tuxiang Shezhi" -#: gui/editgamedialog.cpp:196 gui/options.cpp:1143 +#: gui/editgamedialog.cpp:196 gui/options.cpp:1238 msgid "Audio" msgstr "Yinpin" @@ -283,11 +284,11 @@ msgctxt "lowres" msgid "Override global audio settings" msgstr "Fugai QUanju Yinpin Shezhi" -#: gui/editgamedialog.cpp:210 gui/options.cpp:1148 +#: gui/editgamedialog.cpp:210 gui/options.cpp:1243 msgid "Volume" msgstr "Yinliang" -#: gui/editgamedialog.cpp:212 gui/options.cpp:1150 +#: gui/editgamedialog.cpp:212 gui/options.cpp:1245 msgctxt "lowres" msgid "Volume" msgstr "YinLiang" @@ -301,7 +302,7 @@ msgctxt "lowres" msgid "Override global volume settings" msgstr "Fugai Quanju YinLiang Shezhi" -#: gui/editgamedialog.cpp:226 gui/options.cpp:1158 +#: gui/editgamedialog.cpp:226 gui/options.cpp:1253 msgid "MIDI" msgstr "MIDI" @@ -314,7 +315,7 @@ msgctxt "lowres" msgid "Override global MIDI settings" msgstr "Fugai Quanju MIDI Shezhi" -#: gui/editgamedialog.cpp:241 gui/options.cpp:1168 +#: gui/editgamedialog.cpp:241 gui/options.cpp:1263 msgid "MT-32" msgstr "MT-32" @@ -327,11 +328,11 @@ msgctxt "lowres" msgid "Override global MT-32 settings" msgstr "Fugai Quanju MT-32 Shezhi" -#: gui/editgamedialog.cpp:255 gui/options.cpp:1175 +#: gui/editgamedialog.cpp:255 gui/options.cpp:1270 msgid "Paths" msgstr "Lujing" -#: gui/editgamedialog.cpp:257 gui/options.cpp:1177 +#: gui/editgamedialog.cpp:257 gui/options.cpp:1272 msgctxt "lowres" msgid "Paths" msgstr "Lujing" @@ -345,7 +346,7 @@ msgctxt "lowres" msgid "Game Path:" msgstr "Youxi Lujing:" -#: gui/editgamedialog.cpp:271 gui/options.cpp:1201 +#: gui/editgamedialog.cpp:271 gui/options.cpp:1296 msgid "Extra Path:" msgstr "Qita Lujing:" @@ -354,62 +355,62 @@ msgstr "Qita Lujing:" msgid "Specifies path to additional data used by the game" msgstr "Zhiding Youxi Suoyong de Shuju de Cunfang Lujing" -#: gui/editgamedialog.cpp:273 gui/options.cpp:1203 +#: gui/editgamedialog.cpp:273 gui/options.cpp:1298 msgctxt "lowres" msgid "Extra Path:" msgstr "Qita Lujing:" -#: gui/editgamedialog.cpp:280 gui/options.cpp:1185 +#: gui/editgamedialog.cpp:280 gui/options.cpp:1280 msgid "Save Path:" msgstr "Baocun Lujing:" #: gui/editgamedialog.cpp:280 gui/editgamedialog.cpp:282 -#: gui/editgamedialog.cpp:283 gui/options.cpp:1185 gui/options.cpp:1187 -#: gui/options.cpp:1188 +#: gui/editgamedialog.cpp:283 gui/options.cpp:1280 gui/options.cpp:1282 +#: gui/options.cpp:1283 msgid "Specifies where your saved games are put" msgstr "Zhiding Nin Jiang Youxi Baocun Zai le Nali" -#: gui/editgamedialog.cpp:282 gui/options.cpp:1187 +#: gui/editgamedialog.cpp:282 gui/options.cpp:1282 msgctxt "lowres" msgid "Save Path:" msgstr "Baocun Lujing:" -#: gui/editgamedialog.cpp:301 gui/editgamedialog.cpp:400 -#: gui/editgamedialog.cpp:459 gui/editgamedialog.cpp:520 gui/options.cpp:1196 -#: gui/options.cpp:1204 gui/options.cpp:1213 gui/options.cpp:1414 -#: gui/options.cpp:1420 gui/options.cpp:1428 gui/options.cpp:1451 -#: gui/options.cpp:1467 gui/options.cpp:1473 gui/options.cpp:1480 -#: gui/options.cpp:1488 gui/options.cpp:1640 gui/options.cpp:1643 -#: gui/options.cpp:1650 gui/options.cpp:1660 +#: gui/editgamedialog.cpp:301 gui/editgamedialog.cpp:398 +#: gui/editgamedialog.cpp:457 gui/editgamedialog.cpp:518 gui/options.cpp:1291 +#: gui/options.cpp:1299 gui/options.cpp:1308 gui/options.cpp:1488 +#: gui/options.cpp:1494 gui/options.cpp:1502 gui/options.cpp:1525 +#: gui/options.cpp:1554 gui/options.cpp:1560 gui/options.cpp:1567 +#: gui/options.cpp:1575 gui/options.cpp:1758 gui/options.cpp:1761 +#: gui/options.cpp:1768 gui/options.cpp:1778 msgctxt "path" msgid "None" msgstr "Wu" -#: gui/editgamedialog.cpp:306 gui/editgamedialog.cpp:406 -#: gui/editgamedialog.cpp:524 gui/options.cpp:1408 gui/options.cpp:1461 -#: gui/options.cpp:1646 backends/platform/wii/options.cpp:56 +#: gui/editgamedialog.cpp:306 gui/editgamedialog.cpp:404 +#: gui/editgamedialog.cpp:522 gui/options.cpp:1482 gui/options.cpp:1548 +#: gui/options.cpp:1764 backends/platform/wii/options.cpp:56 msgid "Default" msgstr "Moren" -#: gui/editgamedialog.cpp:452 gui/options.cpp:1654 +#: gui/editgamedialog.cpp:450 gui/options.cpp:1772 msgid "Select SoundFont" msgstr "Xuanze SoundFont" -#: gui/editgamedialog.cpp:491 +#: gui/editgamedialog.cpp:489 msgid "Select additional game directory" msgstr "Xuanze Qita Youxi Mulu" -#: gui/editgamedialog.cpp:504 gui/options.cpp:1577 +#: gui/editgamedialog.cpp:502 gui/options.cpp:1695 msgid "Select directory for saved games" msgstr "Xuanze Youxi Baocun Mulu" -#: gui/editgamedialog.cpp:510 +#: gui/editgamedialog.cpp:508 msgid "" "Saved games sync feature doesn't work with non-default directories. If you " "want your saved games to sync, use default directory." msgstr "" -#: gui/editgamedialog.cpp:536 +#: gui/editgamedialog.cpp:534 msgid "This game ID is already taken. Please choose another one." msgstr "Ci Youxi ID Yi Bei Zhanyong. Qing Xuanze Qita Mingcheng" @@ -489,7 +490,7 @@ msgstr "Zhengxian" msgid "Triangle" msgstr "Sanjiaoxing" -#: gui/fluidsynth-dialog.cpp:138 gui/options.cpp:1221 +#: gui/fluidsynth-dialog.cpp:138 gui/options.cpp:1316 msgid "Misc" msgstr "Zaxiang" @@ -537,15 +538,15 @@ msgstr "Guanbi" msgid "Mouse click" msgstr "Shubiao Danji" -#: gui/gui-manager.cpp:126 base/main.cpp:337 +#: gui/gui-manager.cpp:126 base/main.cpp:340 msgid "Display keyboard" msgstr "Xianshi Jianpan" -#: gui/gui-manager.cpp:130 base/main.cpp:341 +#: gui/gui-manager.cpp:130 base/main.cpp:344 msgid "Remap keys" msgstr "Yingshe Jianwei" -#: gui/gui-manager.cpp:133 base/main.cpp:344 engines/scumm/help.cpp:87 +#: gui/gui-manager.cpp:133 base/main.cpp:347 engines/scumm/help.cpp:87 msgid "Toggle fullscreen" msgstr "Quanping Qiehuan" @@ -579,110 +580,110 @@ msgstr "Anxia Anjian lai Guanlian" msgid "Choose an action to map" msgstr "Xuanze yao Yingshe de Xingwei" -#: gui/launcher.cpp:117 engines/dialogs.cpp:111 engines/mohawk/dialogs.cpp:98 +#: gui/launcher.cpp:141 engines/dialogs.cpp:111 engines/mohawk/dialogs.cpp:98 msgid "~Q~uit" msgstr "~Q~Tuichu" -#: gui/launcher.cpp:117 backends/platform/sdl/macosx/appmenu_osx.mm:106 +#: gui/launcher.cpp:141 backends/platform/sdl/macosx/appmenu_osx.mm:106 msgid "Quit ScummVM" msgstr "Tuichu ScummVM" -#: gui/launcher.cpp:118 +#: gui/launcher.cpp:142 msgid "A~b~out..." msgstr "~b~Guanyu" -#: gui/launcher.cpp:118 backends/platform/sdl/macosx/appmenu_osx.mm:80 +#: gui/launcher.cpp:142 backends/platform/sdl/macosx/appmenu_osx.mm:80 msgid "About ScummVM" msgstr "Guanyu ScummVM" -#: gui/launcher.cpp:119 +#: gui/launcher.cpp:143 msgid "~O~ptions..." msgstr "~O~Xuanxiang" -#: gui/launcher.cpp:119 +#: gui/launcher.cpp:143 msgid "Change global ScummVM options" msgstr "Genggai ScummVM Quanju Shezhi" -#: gui/launcher.cpp:121 +#: gui/launcher.cpp:145 msgid "~S~tart" msgstr "~S~Kaishi" -#: gui/launcher.cpp:121 +#: gui/launcher.cpp:145 msgid "Start selected game" msgstr "Kaishi Xuanze de Youxi" -#: gui/launcher.cpp:124 +#: gui/launcher.cpp:148 msgid "~L~oad..." msgstr "~L~Jiazai" -#: gui/launcher.cpp:124 +#: gui/launcher.cpp:148 msgid "Load saved game for selected game" msgstr "Jiazai Xuanze Baocun de Youxi" -#: gui/launcher.cpp:129 +#: gui/launcher.cpp:153 msgid "~A~dd Game..." msgstr "~A~Tianjia Youxi ..." -#: gui/launcher.cpp:129 gui/launcher.cpp:136 +#: gui/launcher.cpp:153 gui/launcher.cpp:160 msgid "Hold Shift for Mass Add" msgstr "Anzhu Shift Lai Piliang Tianjia" -#: gui/launcher.cpp:131 +#: gui/launcher.cpp:155 msgid "~E~dit Game..." msgstr "~E~Bianji Youxi ..." -#: gui/launcher.cpp:131 gui/launcher.cpp:138 +#: gui/launcher.cpp:155 gui/launcher.cpp:162 msgid "Change game options" msgstr "Genggai Youxi Xuanxiang" -#: gui/launcher.cpp:133 +#: gui/launcher.cpp:157 msgid "~R~emove Game" msgstr "~R~Yichu Youxi" -#: gui/launcher.cpp:133 gui/launcher.cpp:140 +#: gui/launcher.cpp:157 gui/launcher.cpp:164 msgid "Remove game from the list. The game data files stay intact" msgstr "Cong Liebiao zhong YIchu Youxi. Baoliu Youxi Shuju Wenjian" -#: gui/launcher.cpp:136 +#: gui/launcher.cpp:160 msgctxt "lowres" msgid "~A~dd Game..." msgstr "~A~Tianjia Youxi ..." -#: gui/launcher.cpp:138 +#: gui/launcher.cpp:162 msgctxt "lowres" msgid "~E~dit Game..." msgstr "~E~Bianji Youxi ..." -#: gui/launcher.cpp:140 +#: gui/launcher.cpp:164 msgctxt "lowres" msgid "~R~emove Game" msgstr "~R~Yichu Youxi ..." -#: gui/launcher.cpp:148 +#: gui/launcher.cpp:172 msgid "Search in game list" msgstr "Zai Youxi Liebiao zhong Sousuo" -#: gui/launcher.cpp:152 gui/launcher.cpp:750 +#: gui/launcher.cpp:176 gui/launcher.cpp:771 msgid "Search:" msgstr "Sousuo:" -#: gui/launcher.cpp:176 engines/dialogs.cpp:115 engines/cruise/menu.cpp:214 -#: engines/mohawk/dialogs.cpp:103 engines/mohawk/riven.cpp:733 +#: gui/launcher.cpp:200 engines/dialogs.cpp:115 engines/cruise/menu.cpp:214 +#: engines/mohawk/dialogs.cpp:103 engines/mohawk/riven.cpp:734 #: engines/pegasus/pegasus.cpp:353 engines/tsage/scenes.cpp:601 msgid "Load game:" msgstr "Jiazai Youxi:" -#: gui/launcher.cpp:176 engines/dialogs.cpp:115 +#: gui/launcher.cpp:200 engines/dialogs.cpp:115 #: backends/platform/wince/CEActionsPocket.cpp:267 #: backends/platform/wince/CEActionsSmartphone.cpp:231 #: engines/cruise/menu.cpp:214 engines/mohawk/dialogs.cpp:103 -#: engines/mohawk/riven.cpp:733 engines/parallaction/saveload.cpp:194 +#: engines/mohawk/riven.cpp:734 engines/parallaction/saveload.cpp:194 #: engines/pegasus/pegasus.cpp:353 engines/scumm/dialogs.cpp:185 #: engines/tsage/scenes.cpp:601 msgid "Load" msgstr "Jiazai" -#: gui/launcher.cpp:285 +#: gui/launcher.cpp:306 msgid "" "Do you really want to run the mass game detector? This could potentially add " "a huge number of games." @@ -690,39 +691,39 @@ msgstr "" "Nin Queding yao Yunxing Youxi Piliang Jiance Ma? Zhe You Keneng Hui Zengjia " "Daliang Youxi." -#: gui/launcher.cpp:344 +#: gui/launcher.cpp:365 msgid "This directory cannot be used yet, it is being downloaded into!" msgstr "" -#: gui/launcher.cpp:394 +#: gui/launcher.cpp:415 msgid "Do you really want to remove this game configuration?" msgstr "Nin Zhende Xiangyao Yichu Zhege Youxi Peizhi?" -#: gui/launcher.cpp:452 +#: gui/launcher.cpp:473 msgid "Do you want to load saved game?" msgstr "Nin Yao Zairu Baocun de Youxi ma?" -#: gui/launcher.cpp:501 +#: gui/launcher.cpp:522 msgid "This game does not support loading games from the launcher." msgstr "Ci Youxi Bu Zhichi cong Jiazaiqi Zhong Jiazai Youxi." -#: gui/launcher.cpp:505 +#: gui/launcher.cpp:526 msgid "ScummVM could not find any engine capable of running the selected game!" msgstr "ScummVM Wufa Zhaodao Keyi Yunxing Ci Youxi de Yinqing!" -#: gui/launcher.cpp:556 +#: gui/launcher.cpp:577 msgid "ScummVM could not find any game in the specified directory!" msgstr "ScummVM zai Zhiding Mulu Zhong Wufa Zhaodao Renhe Youxi!" -#: gui/launcher.cpp:569 +#: gui/launcher.cpp:590 msgid "Pick the game:" msgstr "Xuanze Youxi:" -#: gui/launcher.cpp:687 +#: gui/launcher.cpp:708 msgid "Mass Add..." msgstr "PiLiang Zengjia ..." -#: gui/launcher.cpp:689 +#: gui/launcher.cpp:710 msgid "Record..." msgstr "Luxiang ..." @@ -765,146 +766,146 @@ msgstr "Qiehuan zhi Youxi" msgid "Fast replay" msgstr "Kuaisu Huitui" -#: gui/options.cpp:112 common/updates.cpp:56 +#: gui/options.cpp:119 common/updates.cpp:56 msgid "Never" msgstr "Yongbu" -#: gui/options.cpp:112 +#: gui/options.cpp:119 msgid "every 5 mins" msgstr "Mei 5 Fenzhong" -#: gui/options.cpp:112 +#: gui/options.cpp:119 msgid "every 10 mins" msgstr "Mei 10 Fenzhong" -#: gui/options.cpp:112 +#: gui/options.cpp:119 msgid "every 15 mins" msgstr "Mei 15 Fenzhong" -#: gui/options.cpp:112 +#: gui/options.cpp:119 msgid "every 30 mins" msgstr "Mei 30 Fenzhong" -#: gui/options.cpp:114 +#: gui/options.cpp:121 msgid "8 kHz" msgstr "8 kHz" -#: gui/options.cpp:114 +#: gui/options.cpp:121 msgid "11 kHz" msgstr "11 kHz" -#: gui/options.cpp:114 +#: gui/options.cpp:121 msgid "22 kHz" msgstr "22 kHz" -#: gui/options.cpp:114 +#: gui/options.cpp:121 msgid "44 kHz" msgstr "44 kHz" -#: gui/options.cpp:114 +#: gui/options.cpp:121 msgid "48 kHz" msgstr "48 kHz" -#: gui/options.cpp:291 gui/options.cpp:528 gui/options.cpp:629 -#: gui/options.cpp:699 gui/options.cpp:910 +#: gui/options.cpp:289 gui/options.cpp:552 gui/options.cpp:657 +#: gui/options.cpp:726 gui/options.cpp:937 msgctxt "soundfont" msgid "None" msgstr "Wu" -#: gui/options.cpp:432 +#: gui/options.cpp:456 msgid "Failed to apply some of the graphic options changes:" msgstr "Tuxing Xuanxiang Genggai Shibai:" -#: gui/options.cpp:444 +#: gui/options.cpp:468 msgid "the video mode could not be changed." msgstr "Shipin Moshi Wufa Genggai." -#: gui/options.cpp:450 +#: gui/options.cpp:474 msgid "the aspect ratio setting could not be changed" msgstr "Bili Xuanxiang Wufa Genggai" -#: gui/options.cpp:456 +#: gui/options.cpp:480 msgid "the fullscreen setting could not be changed" msgstr "Quanping Shezhi Wufa Genggai" -#: gui/options.cpp:462 +#: gui/options.cpp:486 #, fuzzy msgid "the filtering setting could not be changed" msgstr "Quanping Shezhi Wufa Genggai" -#: gui/options.cpp:782 +#: gui/options.cpp:809 msgid "Graphics mode:" msgstr "Tuxing Moshi:" -#: gui/options.cpp:796 +#: gui/options.cpp:823 msgid "Render mode:" msgstr "Xuanran Moshi:" -#: gui/options.cpp:796 gui/options.cpp:797 +#: gui/options.cpp:823 gui/options.cpp:824 msgid "Special dithering modes supported by some games" msgstr "Youxi Zhichi Teshu de Doudong Moshi" -#: gui/options.cpp:808 -#: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:2450 +#: gui/options.cpp:835 backends/graphics/openglsdl/openglsdl-graphics.cpp:615 +#: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:2460 msgid "Fullscreen mode" msgstr "Quanping Moshi" -#: gui/options.cpp:811 +#: gui/options.cpp:838 #, fuzzy msgid "Filter graphics" msgstr "Tuxiang" -#: gui/options.cpp:811 +#: gui/options.cpp:838 msgid "Use linear filtering when scaling graphics" msgstr "" -#: gui/options.cpp:814 +#: gui/options.cpp:841 msgid "Aspect ratio correction" msgstr "Bili Jiaozheng" -#: gui/options.cpp:814 +#: gui/options.cpp:841 msgid "Correct aspect ratio for 320x200 games" msgstr "320x200 Youxi Bili Jiaozheng" -#: gui/options.cpp:822 +#: gui/options.cpp:849 msgid "Preferred Device:" msgstr "Youxian Shebei:" -#: gui/options.cpp:822 +#: gui/options.cpp:849 msgid "Music Device:" msgstr "Yinyue Shebei:" -#: gui/options.cpp:822 gui/options.cpp:824 +#: gui/options.cpp:849 gui/options.cpp:851 msgid "Specifies preferred sound device or sound card emulator" msgstr "Zhiding Youxian Shengyin Shebei huo Shengka Moniqi" -#: gui/options.cpp:822 gui/options.cpp:824 gui/options.cpp:825 +#: gui/options.cpp:849 gui/options.cpp:851 gui/options.cpp:852 msgid "Specifies output sound device or sound card emulator" msgstr "Zhiding Shuchu Shengyin Shebei huo Shengka Moniqi" -#: gui/options.cpp:824 +#: gui/options.cpp:851 msgctxt "lowres" msgid "Preferred Dev.:" msgstr "Youxian Shebei:" -#: gui/options.cpp:824 +#: gui/options.cpp:851 msgctxt "lowres" msgid "Music Device:" msgstr "Yinyue Shebei:" -#: gui/options.cpp:851 +#: gui/options.cpp:878 msgid "AdLib emulator:" msgstr "AdLib Moniqi:" -#: gui/options.cpp:851 gui/options.cpp:852 +#: gui/options.cpp:878 gui/options.cpp:879 msgid "AdLib is used for music in many games" msgstr "AdLib bei Henduo Youxi Yonglai Bofang Yinyue" -#: gui/options.cpp:862 +#: gui/options.cpp:889 msgid "Output rate:" msgstr "Shuchu Malv:" -#: gui/options.cpp:862 gui/options.cpp:863 +#: gui/options.cpp:889 gui/options.cpp:890 msgid "" "Higher value specifies better sound quality but may be not supported by your " "soundcard" @@ -912,62 +913,62 @@ msgstr "" "Genggao de Shuxing Hui Tisheng Yinyue Zhiliang dan Youkeneng Nin de Shengka " "Buzhichi" -#: gui/options.cpp:873 +#: gui/options.cpp:900 msgid "GM Device:" msgstr "GM Shebei:" -#: gui/options.cpp:873 +#: gui/options.cpp:900 msgid "Specifies default sound device for General MIDI output" msgstr "Zhiding Tongyong MIDI Shuchu Moren Shengyin Shebei" -#: gui/options.cpp:884 +#: gui/options.cpp:911 msgid "Don't use General MIDI music" msgstr "Buyao Shiyong Tongyong MIDI Yinyue" -#: gui/options.cpp:895 gui/options.cpp:957 +#: gui/options.cpp:922 gui/options.cpp:984 msgid "Use first available device" msgstr "Shiyong Diyige keyong de Shebei" -#: gui/options.cpp:907 +#: gui/options.cpp:934 msgid "SoundFont:" msgstr "SoundFont:" -#: gui/options.cpp:907 gui/options.cpp:909 gui/options.cpp:910 +#: gui/options.cpp:934 gui/options.cpp:936 gui/options.cpp:937 msgid "SoundFont is supported by some audio cards, FluidSynth and Timidity" msgstr "Yixie Shengka Zhichi SoundFont, Biru FluidSynth He Timidity" -#: gui/options.cpp:909 +#: gui/options.cpp:936 msgctxt "lowres" msgid "SoundFont:" msgstr "SoundFont:" -#: gui/options.cpp:915 +#: gui/options.cpp:942 msgid "Mixed AdLib/MIDI mode" msgstr "Hunhe AdLib/MIDI Moshi" -#: gui/options.cpp:915 +#: gui/options.cpp:942 msgid "Use both MIDI and AdLib sound generation" msgstr "TongShi Shiyong MIDI He AdLib Shengyin Shengcheng" -#: gui/options.cpp:918 +#: gui/options.cpp:945 msgid "MIDI gain:" msgstr "MIDI gain:" -#: gui/options.cpp:928 +#: gui/options.cpp:955 msgid "MT-32 Device:" msgstr "MT-32 Shebei:" -#: gui/options.cpp:928 +#: gui/options.cpp:955 msgid "Specifies default sound device for Roland MT-32/LAPC1/CM32l/CM64 output" msgstr "" "QIng Zhiding Yongyu Roland MT-32/LAPC1/CM32I/CM64 Shuchu de Moren Shengyin " "Shebei" -#: gui/options.cpp:933 +#: gui/options.cpp:960 msgid "True Roland MT-32 (disable GM emulation)" msgstr "Zhen Roland MT-32 (Jinyong GM Moni)" -#: gui/options.cpp:933 gui/options.cpp:935 +#: gui/options.cpp:960 gui/options.cpp:962 msgid "" "Check if you want to use your real hardware Roland-compatible sound device " "connected to your computer" @@ -975,16 +976,16 @@ msgstr "" "Jiancha Shifou Nin Xiang Shiyong Lianjie Dao Jisuanji de Zhenshi de Yingjian " "Roland Jianrong Shengyin Shebei" -#: gui/options.cpp:935 +#: gui/options.cpp:962 msgctxt "lowres" msgid "True Roland MT-32 (no GM emulation)" msgstr "Zhen Roland MT-32 Shebei (Wu GM Moni)" -#: gui/options.cpp:938 +#: gui/options.cpp:965 msgid "Roland GS Device (enable MT-32 mappings)" msgstr "Roland GS Shebei (Qiyong MT-32 Yingshe)" -#: gui/options.cpp:938 +#: gui/options.cpp:965 msgid "" "Check if you want to enable patch mappings to emulate an MT-32 on a Roland " "GS device" @@ -992,340 +993,340 @@ msgstr "" "Jiancha Shifou Nin Xiang Qiyong patch Yingshe Lai Zai Roland GS Shebei " "Shangmian Moni MT-32" -#: gui/options.cpp:947 +#: gui/options.cpp:974 msgid "Don't use Roland MT-32 music" msgstr "Buyao Shiyong Roland MT-32 Yinyue" -#: gui/options.cpp:974 +#: gui/options.cpp:1001 msgid "Text and Speech:" msgstr "Wenzi he Yuyin:" -#: gui/options.cpp:978 gui/options.cpp:988 +#: gui/options.cpp:1005 gui/options.cpp:1015 msgid "Speech" msgstr "Yuyin" -#: gui/options.cpp:979 gui/options.cpp:989 +#: gui/options.cpp:1006 gui/options.cpp:1016 msgid "Subtitles" msgstr "Zimu" -#: gui/options.cpp:980 +#: gui/options.cpp:1007 msgid "Both" msgstr "Liangzhe" -#: gui/options.cpp:982 +#: gui/options.cpp:1009 msgid "Subtitle speed:" msgstr "Zimu Sudu:" -#: gui/options.cpp:984 +#: gui/options.cpp:1011 msgctxt "lowres" msgid "Text and Speech:" msgstr "Wenben he Yuyin:" -#: gui/options.cpp:988 +#: gui/options.cpp:1015 msgid "Spch" msgstr "Zimu" -#: gui/options.cpp:989 +#: gui/options.cpp:1016 msgid "Subs" msgstr "Yuyin" -#: gui/options.cpp:990 +#: gui/options.cpp:1017 msgctxt "lowres" msgid "Both" msgstr "Dou" -#: gui/options.cpp:990 +#: gui/options.cpp:1017 msgid "Show subtitles and play speech" msgstr "Xianshi Zimu Bing Bofang Yuyin" -#: gui/options.cpp:992 +#: gui/options.cpp:1019 msgctxt "lowres" msgid "Subtitle speed:" msgstr "Zimu Sudu" -#: gui/options.cpp:1008 +#: gui/options.cpp:1035 msgid "Music volume:" msgstr "Yinyue Yinliang:" -#: gui/options.cpp:1010 +#: gui/options.cpp:1037 msgctxt "lowres" msgid "Music volume:" msgstr "Yinyue Yinliang:" -#: gui/options.cpp:1017 +#: gui/options.cpp:1044 msgid "Mute All" msgstr "Quanbu Jinyin" -#: gui/options.cpp:1020 +#: gui/options.cpp:1047 msgid "SFX volume:" msgstr "Yinxiao Yinliang:" -#: gui/options.cpp:1020 gui/options.cpp:1022 gui/options.cpp:1023 +#: gui/options.cpp:1047 gui/options.cpp:1049 gui/options.cpp:1050 msgid "Special sound effects volume" msgstr "Texiao Yinliang" -#: gui/options.cpp:1022 +#: gui/options.cpp:1049 msgctxt "lowres" msgid "SFX volume:" msgstr "Yinxiao Yinliang:" -#: gui/options.cpp:1030 +#: gui/options.cpp:1057 msgid "Speech volume:" msgstr "Yuyin Yinliang:" -#: gui/options.cpp:1032 +#: gui/options.cpp:1059 msgctxt "lowres" msgid "Speech volume:" msgstr "Yuyin Yinliang:" -#: gui/options.cpp:1162 +#: gui/options.cpp:1257 msgid "FluidSynth Settings" msgstr "FluidSynth Xuanxiang" -#: gui/options.cpp:1193 +#: gui/options.cpp:1288 msgid "Theme Path:" msgstr "Zhuti Lujing:" -#: gui/options.cpp:1195 +#: gui/options.cpp:1290 msgctxt "lowres" msgid "Theme Path:" msgstr "Zhuti Lujing:" -#: gui/options.cpp:1201 gui/options.cpp:1203 gui/options.cpp:1204 +#: gui/options.cpp:1296 gui/options.cpp:1298 gui/options.cpp:1299 msgid "Specifies path to additional data used by all games or ScummVM" msgstr "Zhiding Suoyou Youxi huo ScummVM de Shuju Lujing" -#: gui/options.cpp:1210 +#: gui/options.cpp:1305 msgid "Plugins Path:" msgstr "Chajian Lujing:" -#: gui/options.cpp:1212 +#: gui/options.cpp:1307 msgctxt "lowres" msgid "Plugins Path:" msgstr "Chajian Lujing:" -#: gui/options.cpp:1223 +#: gui/options.cpp:1318 msgctxt "lowres" msgid "Misc" msgstr "Zaxiang" -#: gui/options.cpp:1225 +#: gui/options.cpp:1320 msgid "Theme:" msgstr "Zhuti:" -#: gui/options.cpp:1229 +#: gui/options.cpp:1324 msgid "GUI Renderer:" msgstr "Jiemian Xuanran:" -#: gui/options.cpp:1241 +#: gui/options.cpp:1336 msgid "Autosave:" msgstr "Zidong Baocun:" -#: gui/options.cpp:1243 +#: gui/options.cpp:1338 msgctxt "lowres" msgid "Autosave:" msgstr "Zidong Baocun:" -#: gui/options.cpp:1251 +#: gui/options.cpp:1346 msgid "Keys" msgstr "Guanjianzi" -#: gui/options.cpp:1258 +#: gui/options.cpp:1353 msgid "GUI Language:" msgstr "Jiemian Yuyan:" -#: gui/options.cpp:1258 +#: gui/options.cpp:1353 msgid "Language of ScummVM GUI" msgstr "ScummVM Jiemian Yuyan" -#: gui/options.cpp:1286 +#: gui/options.cpp:1381 msgid "Update check:" msgstr "" -#: gui/options.cpp:1286 +#: gui/options.cpp:1381 msgid "How often to check ScummVM updates" msgstr "" -#: gui/options.cpp:1298 +#: gui/options.cpp:1393 msgid "Check now" msgstr "" -#: gui/options.cpp:1306 +#: gui/options.cpp:1401 msgid "Cloud" msgstr "" -#: gui/options.cpp:1308 +#: gui/options.cpp:1403 msgctxt "lowres" msgid "Cloud" msgstr "" -#: gui/options.cpp:1319 +#: gui/options.cpp:1408 msgid "Storage:" msgstr "" -#: gui/options.cpp:1319 +#: gui/options.cpp:1408 msgid "Active cloud storage" msgstr "" -#: gui/options.cpp:1326 gui/options.cpp:1877 +#: gui/options.cpp:1415 gui/options.cpp:1972 msgid "<none>" msgstr "" -#: gui/options.cpp:1330 backends/platform/wii/options.cpp:114 +#: gui/options.cpp:1419 backends/platform/wii/options.cpp:114 msgid "Username:" msgstr "Yonghuming:" -#: gui/options.cpp:1330 +#: gui/options.cpp:1419 msgid "Username used by this storage" msgstr "" -#: gui/options.cpp:1333 +#: gui/options.cpp:1422 msgid "Used space:" msgstr "" -#: gui/options.cpp:1333 +#: gui/options.cpp:1422 msgid "Space used by ScummVM's saved games on this storage" msgstr "" -#: gui/options.cpp:1336 +#: gui/options.cpp:1425 msgid "Last sync time:" msgstr "" -#: gui/options.cpp:1336 +#: gui/options.cpp:1425 msgid "When the last saved games sync for this storage occured" msgstr "" -#: gui/options.cpp:1339 gui/storagewizarddialog.cpp:71 +#: gui/options.cpp:1428 gui/storagewizarddialog.cpp:71 msgid "Connect" msgstr "" -#: gui/options.cpp:1339 +#: gui/options.cpp:1428 msgid "Open wizard dialog to connect your cloud storage account" msgstr "" -#: gui/options.cpp:1340 +#: gui/options.cpp:1429 msgid "Refresh" msgstr "" -#: gui/options.cpp:1340 +#: gui/options.cpp:1429 msgid "Refresh current cloud storage information (username and usage)" msgstr "" -#: gui/options.cpp:1341 +#: gui/options.cpp:1430 #, fuzzy msgid "Download" msgstr "Xia" -#: gui/options.cpp:1341 +#: gui/options.cpp:1430 msgid "Open downloads manager dialog" msgstr "" -#: gui/options.cpp:1343 +#: gui/options.cpp:1432 msgid "Run server" msgstr "" -#: gui/options.cpp:1343 +#: gui/options.cpp:1432 msgid "Run local webserver" msgstr "" -#: gui/options.cpp:1344 gui/options.cpp:1987 +#: gui/options.cpp:1433 gui/options.cpp:2082 #, fuzzy msgid "Not running" msgstr "Youxi Yunxing Cuowu:" -#: gui/options.cpp:1348 +#: gui/options.cpp:1437 #, fuzzy msgid "/root/ Path:" msgstr "Qita Lujing:" -#: gui/options.cpp:1348 gui/options.cpp:1350 gui/options.cpp:1351 +#: gui/options.cpp:1437 gui/options.cpp:1439 gui/options.cpp:1440 #, fuzzy msgid "Specifies which directory the Files Manager can access" msgstr "Zhiding Nin Jiang Youxi Baocun Zai le Nali" -#: gui/options.cpp:1350 +#: gui/options.cpp:1439 #, fuzzy msgctxt "lowres" msgid "/root/ Path:" msgstr "Qita Lujing:" -#: gui/options.cpp:1360 +#: gui/options.cpp:1449 #, fuzzy msgid "Server's port:" msgstr "Fuwuqi:" -#: gui/options.cpp:1360 +#: gui/options.cpp:1449 msgid "" "Which port is used by the server\n" "Auth with server is not available with non-default port" msgstr "" -#: gui/options.cpp:1520 -msgid "You have to restart ScummVM before your changes will take effect." -msgstr "Nin Xuyao Chongqi ScummVM Lai Shi Genggai Shengxiao" +#: gui/options.cpp:1462 +msgid "Apply" +msgstr "" -#: gui/options.cpp:1543 +#: gui/options.cpp:1628 #, fuzzy msgid "Failed to change cloud storage!" msgstr "Wufa baocun Youxi" -#: gui/options.cpp:1546 +#: gui/options.cpp:1631 msgid "Another cloud storage is already active." msgstr "" -#: gui/options.cpp:1584 +#: gui/options.cpp:1667 +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 "" +"Nin Xuanze de Zhuti Bu Zhichi Xianzai de Yuyan. Qing Xian Qiehuan Dao Qita " +"Yuyan." + +#: gui/options.cpp:1702 msgid "The chosen directory cannot be written to. Please select another one." msgstr "Zhiding de Mulu Buneng Xieru. Qing Xuanze Qita de Mulu." -#: gui/options.cpp:1593 +#: gui/options.cpp:1711 msgid "Select directory for GUI themes" msgstr "Xuanze Jiemian Zhuti de Mulu" -#: gui/options.cpp:1603 +#: gui/options.cpp:1721 msgid "Select directory for extra files" msgstr "Xuanze QIta Wenjian Mulu" -#: gui/options.cpp:1614 +#: gui/options.cpp:1732 msgid "Select directory for plugins" msgstr "Xuanze Chajian Mulu" -#: gui/options.cpp:1626 +#: gui/options.cpp:1744 #, fuzzy msgid "Select directory for Files Manager /root/" msgstr "Xuanze QIta Wenjian Mulu" -#: gui/options.cpp:1688 -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 "" -"Nin Xuanze de Zhuti Bu Zhichi Xianzai de Yuyan. Qing Xian Qiehuan Dao Qita " -"Yuyan." - -#: gui/options.cpp:1884 +#: gui/options.cpp:1979 #, c-format msgid "%llu bytes" msgstr "" -#: gui/options.cpp:1892 +#: gui/options.cpp:1987 msgid "<right now>" msgstr "" -#: gui/options.cpp:1894 +#: gui/options.cpp:1989 #, fuzzy msgid "<never>" msgstr "Yongbu" -#: gui/options.cpp:1978 +#: gui/options.cpp:2073 #, fuzzy msgid "Stop server" msgstr "Fuwuqi:" -#: gui/options.cpp:1979 +#: gui/options.cpp:2074 msgid "Stop local webserver" msgstr "" -#: gui/options.cpp:2068 +#: gui/options.cpp:2163 msgid "" "Request failed.\n" "Check your Internet connection." @@ -1596,35 +1597,35 @@ msgstr "" msgid "Clear value" msgstr "Qingchu Zhi" -#: base/main.cpp:250 +#: base/main.cpp:253 #, c-format msgid "Engine does not support debug level '%s'" msgstr "Yinqing Buzhichi Tiaoshi Jibie ā%sā" -#: base/main.cpp:324 +#: base/main.cpp:327 msgid "Menu" msgstr "Caidan" -#: base/main.cpp:327 backends/platform/symbian/src/SymbianActions.cpp:45 +#: base/main.cpp:330 backends/platform/symbian/src/SymbianActions.cpp:45 #: backends/platform/wince/CEActionsPocket.cpp:45 #: backends/platform/wince/CEActionsSmartphone.cpp:46 msgid "Skip" msgstr "Tiaoguo" -#: base/main.cpp:330 backends/platform/symbian/src/SymbianActions.cpp:50 +#: base/main.cpp:333 backends/platform/symbian/src/SymbianActions.cpp:50 #: backends/platform/wince/CEActionsPocket.cpp:42 msgid "Pause" msgstr "Zanting" -#: base/main.cpp:333 +#: base/main.cpp:336 msgid "Skip line" msgstr "Tiaoguo Cihang" -#: base/main.cpp:542 +#: base/main.cpp:547 msgid "Error running game:" msgstr "Youxi Yunxing Cuowu:" -#: base/main.cpp:589 +#: base/main.cpp:594 msgid "Could not find any engine capable of running the selected game" msgstr "Wufa Zhaodao Shihe Yunxing Youxi de Yinqing" @@ -1998,11 +1999,11 @@ msgstr "FM-Towns Yinpin" msgid "PC-98 Audio" msgstr "PC-98 Yinpin" -#: audio/softsynth/mt32.cpp:196 +#: audio/softsynth/mt32.cpp:197 msgid "Initializing MT-32 Emulator" msgstr "Chushihua MT-32 Moniqi" -#: audio/softsynth/mt32.cpp:434 +#: audio/softsynth/mt32.cpp:435 msgid "MT-32 Emulator" msgstr "MT-32 Moniqi" @@ -2018,34 +2019,34 @@ msgstr "IBM PCjr Moniqi" msgid "C64 Audio Emulator" msgstr "C64 Yinpin Moniqi" -#: backends/cloud/storage.cpp:210 +#: backends/cloud/storage.cpp:211 #, fuzzy msgid "Saved games sync complete." msgstr "Saomiao Wancheng!" -#: backends/cloud/storage.cpp:221 +#: backends/cloud/storage.cpp:222 msgid "Saved games sync was cancelled." msgstr "" -#: backends/cloud/storage.cpp:223 +#: backends/cloud/storage.cpp:224 msgid "" "Saved games sync failed.\n" "Check your Internet connection." msgstr "" -#: backends/cloud/storage.cpp:327 +#: backends/cloud/storage.cpp:328 #, c-format msgid "" "Download complete.\n" "Failed to download %u files." msgstr "" -#: backends/cloud/storage.cpp:329 +#: backends/cloud/storage.cpp:330 #, fuzzy msgid "Download complete." msgstr "Saomiao Wancheng!" -#: backends/cloud/storage.cpp:339 +#: backends/cloud/storage.cpp:340 #, fuzzy msgid "Download failed." msgstr "Zairu Wenjian" @@ -2155,43 +2156,53 @@ msgstr "Xiangyou Huadong San Gen Shouzhi Qiehuan" msgid "OpenGL" msgstr "OpenGL" -#: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:47 -#: backends/graphics/wincesdl/wincesdl-graphics.cpp:88 -#: backends/graphics/wincesdl/wincesdl-graphics.cpp:95 -msgid "Normal (no scaling)" -msgstr "Putong" +#: backends/graphics/openglsdl/openglsdl-graphics.cpp:617 +#: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:2462 +msgid "Windowed mode" +msgstr "Chuangkou Moshi" -#: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:66 -msgctxt "lowres" -msgid "Normal (no scaling)" -msgstr "Putong" +#: backends/graphics/openglsdl/openglsdl-graphics.cpp:710 +#, c-format +msgid "Resolution: %dx%d" +msgstr "" -#: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:2329 +#: backends/graphics/openglsdl/openglsdl-graphics.cpp:731 +#: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:2338 msgid "Enabled aspect ratio correction" msgstr "Qiyong Bili Jiaozheng" -#: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:2335 +#: backends/graphics/openglsdl/openglsdl-graphics.cpp:733 +#: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:2344 msgid "Disabled aspect ratio correction" msgstr "Jinyong Bili Jiaozheng" -#: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:2353 +#: backends/graphics/openglsdl/openglsdl-graphics.cpp:753 +#: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:2362 #, fuzzy msgid "Filtering enabled" msgstr "Qidong Dianji" -#: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:2355 +#: backends/graphics/openglsdl/openglsdl-graphics.cpp:755 +#: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:2364 #, fuzzy msgid "Filtering disabled" msgstr "Jinyong Dianji" -#: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:2407 +#: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:47 +#: backends/graphics/wincesdl/wincesdl-graphics.cpp:88 +#: backends/graphics/wincesdl/wincesdl-graphics.cpp:95 +msgid "Normal (no scaling)" +msgstr "Putong" + +#: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:66 +msgctxt "lowres" +msgid "Normal (no scaling)" +msgstr "Putong" + +#: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:2417 msgid "Active graphics filter:" msgstr "Huodong de Tuxing Guolvqi:" -#: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:2452 -msgid "Windowed mode" -msgstr "Chuangkou Moshi" - #: backends/keymapper/remap-dialog.cpp:48 msgid "Keymap:" msgstr "Jianpan Yingshe:" @@ -3109,6 +3120,39 @@ msgstr "~M~Zhucaidan" msgid "~W~ater Effect Enabled" msgstr "~W~Qiyong Shuimian Xiaoguo" +#: engines/mohawk/riven.cpp:150 +msgid "" +"You're missing a Riven executable. The Windows executable is 'riven.exe' or " +"'rivendmo.exe'. " +msgstr "" + +#: engines/mohawk/riven.cpp:151 +msgid "" +"Using the 'arcriven.z' installer file also works. In addition, you can use " +"the Mac 'Riven' executable." +msgstr "" + +#: engines/mohawk/riven.cpp:162 +msgid "" +"You're missing 'extras.mhk'. Using the 'arcriven.z' installer file also " +"works." +msgstr "" + +#: engines/mohawk/riven_external.cpp:213 +msgid "" +"Exploration beyond this point available only within the full version of\n" +"the game." +msgstr "" + +#: engines/mohawk/riven_external.cpp:655 +msgid "" +"At this point, the Riven Demo would\n" +"ask if you would like to open a web browser\n" +"to bring you to the Red Orb store to buy\n" +"the game. ScummVM cannot do that and\n" +"the site no longer exists." +msgstr "" + #: engines/mohawk/mohawk.cpp:61 #, fuzzy msgid "The game is paused. Press any key to continue." @@ -4223,6 +4267,9 @@ msgstr "Shiyong Gaofenbianlv MPEG shipin" msgid "Use MPEG video from the DVD version, instead of lower resolution AVI" msgstr "Cong DVD Banben Zhong shiyong MPEG shipin, erfei Difenbianlv AVI" +#~ msgid "You have to restart ScummVM before your changes will take effect." +#~ msgstr "Nin Xuyao Chongqi ScummVM Lai Shi Genggai Shengxiao" + #~ msgid "OpenGL (No filtering)" #~ msgstr "OpenGL" |